]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
2
3 * range-op.cc (unsigned_singleton_p): Remove.
4 (operator_bitwise_and::remove_impossible_ranges): Remove.
5 (operator_bitwise_and::fold_range): Set nonzero bits. *
6 * value-range.cc (irange::get_nonzero_bits): Remove
7 legacy_mode_p assert.
8 (irange::dump_bitmasks): Remove legacy_mode_p check.
9
10 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
11
12 PR target/106253
13 * predict.h (insn_optimization_type): Declare.
14 * predict.cc (insn_optimization_type): New function.
15 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
16 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
17 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
18 * internal-fn.cc (unary_convert_direct): New macro.
19 (expand_convert_optab_fn): New function.
20 (expand_unary_convert_optab_fn): New macro.
21 (direct_unary_convert_optab_supported_p): Likewise.
22 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
23 convert_optab_handler.
24 * config/aarch64/aarch64-protos.h
25 (aarch64_builtin_vectorized_function): Delete.
26 * config/aarch64/aarch64-builtins.cc
27 (aarch64_builtin_vectorized_function): Delete.
28 * config/aarch64/aarch64.cc
29 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
30 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
31 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
32 optimize_insn_for_size_p test.
33
34 2022-07-12 Richard Biener <rguenther@suse.de>
35
36 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
37 Remove.
38 (vect_do_peeling): Do not call it, adjust comment.
39
40 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
41
42 * config/aarch64/aarch64-builtins.cc
43 (aarch64_builtin_vectorized_function): Remove handling of
44 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
45
46 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
47
48 PR tree-optimization/106234
49 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
50 cache value before recursively resolving it.
51
52 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
53
54 * config/i386/i386-features.h (scalar_chain): Add fields
55 insns_conv, n_sse_to_integer and n_integer_to_sse to this
56 parent class, moved from general_scalar_chain.
57 (scalar_chain::convert_compare): Protected method moved
58 from general_scalar_chain.
59 (mark_dual_mode_def): Make protected, not private virtual.
60 (scalar_chain:convert_op): New private virtual method.
61 (general_scalar_chain::general_scalar_chain): Simplify constructor.
62 (general_scalar_chain::~general_scalar_chain): Delete destructor.
63 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
64 n_integer_to_sse fields to parent class, scalar_chain.
65 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
66 (general_scalar_chain::convert_compare): Delete prototype.
67 (timode_scalar_chain::compute_convert_gain): Remove simplistic
68 implementation, convert to a method prototype.
69 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
70 (timode_scalar_chain::convert_op): Prototype new virtual method.
71 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
72 Allocate insns_conv and initialize n_sse_to_integer and
73 n_integer_to_sse fields in constructor.
74 (scalar_chain::scalar_chain): Free insns_conv in destructor.
75 (general_scalar_chain::general_scalar_chain): Delete
76 constructor, now defined in the class declaration.
77 (general_scalar_chain::~general_scalar_chain): Delete destructor.
78 (scalar_chain::mark_dual_mode_def): Renamed from
79 general_scalar_chain::mark_dual_mode_def.
80 (timode_scalar_chain::mark_dual_mode_def): Delete.
81 (scalar_chain::convert_compare): Renamed from
82 general_scalar_chain::convert_compare.
83 (timode_scalar_chain::compute_convert_gain): New method to
84 determine the gain from converting a TImode chain to V1TImode.
85 (timode_scalar_chain::convert_op): New method to convert an
86 operand from TImode to V1TImode.
87 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
88 on REG_EQUAL notes that were originally TImode (not CONST_INT).
89 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
90 (timode_mem_p): Helper predicate to check where operand is
91 memory reference with sufficient alignment for TImode STV.
92 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
93 to check whether COMPARE is convertible. Handle SET_DESTs that
94 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
95 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
96
97 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
98
99 PR tree-optimization/106250
100 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
101 argument to directly_supported_p.
102
103 2022-07-11 Richard Biener <rguenther@suse.de>
104
105 * tree-into-ssa.cc (update_ssa): Do not forcefully
106 re-compute dominance fast queries for TODO_update_ssa_no_phi.
107
108 2022-07-11 Richard Biener <rguenther@suse.de>
109
110 PR tree-optimization/106228
111 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
112 VUSE compute for the non-loop case.
113
114 2022-07-11 Richard Biener <rguenther@suse.de>
115
116 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
117 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
118 (rewrite_update_dom_walker::m_in_region_flag): New.
119 (rewrite_update_dom_walker::before_dom_children): If the region
120 to update is marked, STOP at exits.
121 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
122 to be updated.
123 (dump_update_ssa): Use bitmap_empty_p.
124 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
125 TODO_update_ssa_no_phi.
126 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
127 pending update_ssa to the caller.
128
129 2022-07-11 Richard Biener <rguenthert@suse.de>
130
131 PR target/105459
132 * config/i386/i386-options.cc (ix86_set_current_function):
133 Rebuild the target optimization node whenever necessary,
134 not only when the optimization node didn't change.
135
136 2022-07-11 Richard Biener <rguenther@suse.de>
137
138 PR tree-optimization/106228
139 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
140 set a VUSE operand on the emitted load.
141
142 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
143
144 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
145 verification against legacy value_range.
146 (gimple_ranger::register_inferred_ranges): Same.
147 (gimple_ranger::export_global_ranges): Rename update_global_range
148 to set_range_info.
149 * tree-core.h (struct range_info_def): Remove.
150 (struct irange_storage_slot): New.
151 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
152 (struct tree_ssa_name): Add vrange_storage support.
153 * tree-ssanames.cc (range_info_p): New.
154 (range_info_fits_p): New.
155 (range_info_alloc): New.
156 (range_info_free): New.
157 (range_info_get_range): New.
158 (range_info_set_range): New.
159 (set_range_info_raw): Remove.
160 (set_range_info): Adjust to use vrange_storage.
161 (set_nonzero_bits): Same.
162 (get_nonzero_bits): Same.
163 (duplicate_ssa_name_range_info): Remove overload taking
164 value_range_kind.
165 Rewrite tree overload to use vrange_storage.
166 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
167 * tree-ssanames.h (struct range_info_def): Remove.
168 (set_range_info): Adjust prototype to take vrange.
169 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
170 duplicate_ssa_name_range_info.
171 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
172 (SSA_NAME_RANGE_TYPE): Remove.
173 * value-query.cc (get_ssa_name_range_info): Adjust to use
174 vrange_storage.
175 (update_global_range): Remove.
176 (get_range_global): Remove as_a<irange>.
177 * value-query.h (update_global_range): Remove.
178 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
179 Rename update_global_range to set_range_info.
180 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
181 gcc_unreachable.
182
183 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
184
185 * value-range.cc (irange::operator=): Call verify_range.
186 (irange::irange_set): Normalize kind after everything else has
187 been set.
188 (irange::irange_set_anti_range): Same.
189 (irange::set): Same.
190 (irange::verify_range): Disallow nonzero masks for VARYING.
191 (irange::irange_union): Call verify_range.
192 Handle nonzero masks better.
193 (irange::irange_intersect): Same.
194 (irange::set_nonzero_bits): Calculate mask if either range has an
195 explicit mask.
196 (irange::intersect_nonzero_bits): Same.
197 (irange::union_nonzero_bits): Same.
198 (range_tests_nonzero_bits): New.
199 (range_tests): Call range_tests_nonzero_bits.
200 * value-range.h (class irange): Remove set_nonzero_bits method
201 with trees.
202 (irange::varying_compatible_p): Set nonzero mask.
203
204 2022-07-10 Xi Ruoyao <xry111@xry111.site>
205
206 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
207 the sign-extend of result in the RTL template.
208 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
209
210 2022-07-10 Xi Ruoyao <xry111@xry111.site>
211
212 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
213 Remove static, for use in the machine description file.
214 * config/loongarch/loongarch-protos.h:
215 (loongarch_check_zero_div_p): Add prototype.
216 * config/loongarch/loongarch.md (enabled): New attr.
217 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
218 idiv. Conditionally enable the alternatives using
219 loongarch_check_zero_div_p.
220 (<optab>di3_fake): Likewise.
221
222 2022-07-10 Xi Ruoyao <xry111@xry111.site>
223
224 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
225 instead of mul.d.
226
227 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
228
229 * value-range.cc (irange::irange_single_pair_union): Set
230 VR_VARYING when appropriate.
231
232 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
233
234 * stor-layout.cc (finalize_record_size): Extend warning message.
235
236 2022-07-09 Sam Feifer <sfeifer@redhat.com>
237
238 PR tree-optimization/98304
239 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
240
241 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
242
243 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
244 initializer and use clear_storage rather than copying the
245 NULs to the destination array.
246
247 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
248
249 * config/i386/i386.md (define_peephole2): Use match_operand of
250 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
251 (define_peephole2): Likewise.
252 (define_peephole2): Likewise...
253
254 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
255
256 * config/i386/i386-features.cc (convert_compare): Add support
257 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
258 by generating a pandn followed by ptest.
259 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
260 recent *testdi_not_doubleword comparison patterns.
261
262 2022-07-09 Tamar Christina <tamar.christina@arm.com>
263
264 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
265 indicate that the value is not undefined.
266
267 2022-07-09 Andrew Pinski <apinski@marvell.com>
268
269 PR tree-optimization/106087
270 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
271 to make sure the statement is only defining one operand.
272
273 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
274
275 PR preprocessor/91733
276 * input.cc (find_end_of_line): New helper function.
277 (file_cache_slot::get_next_line): Recognize \r as a line ending.
278 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
279 since \r will now be interpreted as a line-ending.
280
281 2022-07-08 Martin Liska <mliska@suse.cz>
282
283 PR sanitizer/106132
284 * opts.cc (finish_options): Use 2 calls to
285 report_conflicting_sanitizer_options.
286
287 2022-07-08 Richard Biener <rguenther@suse.de>
288
289 PR tree-optimization/106226
290 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
291 no SSA update is needed. Move virtual SSA update ...
292 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
293 via forced virtual renaming when TODO_update_ssa_only_virtuals
294 is queued.
295 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
296 when virtual SSA update is required.
297 (try_vectorize_loop_1): Adjust.
298 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
299 virtual renaming if the ABI forces an aggregate return
300 but the original call did not have a virtual definition.
301
302 2022-07-08 Martin Liska <mliska@suse.cz>
303
304 * toplev.cc (init_asm_output): Do not init asm_out_file.
305
306 2022-07-08 Tamar Christina <tamar.christina@arm.com>
307
308 PR tree-optimization/106063
309 * match.pd: Do not apply pattern after veclower is not supported.
310
311 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
312
313 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
314 'fn2' computation.
315
316 2022-07-08 Tamar Christina <tamar.christina@arm.com>
317
318 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
319 still undefined and if so emit a subreg move instead.
320 (store_integral_bit_field): Likewise.
321 (store_bit_field): Likewise.
322 * expr.h (write_complex_part): Likewise.
323 * expmed.h (store_bit_field): Add new parameter.
324 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
325 parameter.
326 (expand_ifn_atomic_compare_exchange): Likewise.
327 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
328 * emit-rtl.cc (validate_subreg): Likewise.
329 * expr.cc (emit_group_store): Likewise.
330 (copy_blkmode_from_reg): Likewise.
331 (copy_blkmode_to_reg): Likewise.
332 (clear_storage_hints): Likewise.
333 (write_complex_part): Likewise.
334 (emit_move_complex_parts): Likewise.
335 (expand_assignment): Likewise.
336 (store_expr): Likewise.
337 (store_field): Likewise.
338 (expand_expr_real_2): Likewise.
339 * ifcvt.cc (noce_emit_move_insn): Likewise.
340 * internal-fn.cc (expand_arith_set_overflow): Likewise.
341 (expand_arith_overflow_result_store): Likewise.
342 (expand_addsub_overflow): Likewise.
343 (expand_neg_overflow): Likewise.
344 (expand_mul_overflow): Likewise.
345 (expand_arith_overflow): Likewise.
346
347 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
348
349 PR target/106180
350 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
351 Rename from *sse2_cvtps2pd<mask_name>_1.
352 (vec_unpacks_lo_v4sf): Add handler for memory operand.
353
354 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
355
356 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
357 Modify fp_sp_offset and gp_sp_offset's calculation method,
358 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
359 or UNITS_PER_FP_REG.
360
361 2022-07-07 David Malcolm <dmalcolm@redhat.com>
362
363 * diagnostic-format-json.cc (json_from_location_range): Update for
364 removal of label_text::maybe_free in favor of automatic memory
365 management.
366 * diagnostic-format-sarif.cc
367 (sarif_builder::make_location_object): Likewise.
368 * diagnostic-show-locus.cc (struct pod_label_text): New.
369 (class line_label): Convert m_text from label_text to pod_label_text.
370 (layout::print_any_labels): Move "text" to the line_label.
371 * tree-diagnostic-path.cc (path_label::get_text): Update for
372 removal of label_text::maybe_free in favor of automatic memory
373 management.
374 (event_range::print): Likewise.
375 (default_tree_diagnostic_path_printer): Likewise.
376 (default_tree_make_json_for_path): Likewise.
377
378 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
379
380 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
381
382 2022-07-07 Richard Biener <rguenther@suse.de>
383
384 * tree-into-ssa.cc (iterating_old_ssa_names): New.
385 (add_new_name_mapping): Grow {new,old}_ssa_names separately
386 and only when actually needed. Assert we are not growing
387 the old_ssa_names set when iterating over it.
388 (update_ssa): Remove old_ssa_names copying and empty_p
389 query, note we are iterating over it and expect no set changes.
390
391 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
392
393 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
394 (prepare_target_image, main): Handle OpenMP 'requires'.
395 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
396 'GOMP_offload_unregister_ver'.
397
398 2022-07-07 Richard Biener <rguenther@suse.de>
399
400 PR target/106219
401 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
402 set DECL_PURE_P.
403
404 2022-07-07 Richard Biener <rguenther@suse.de>
405
406 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
407 number of LC PHIs inserted.
408 (add_exit_phis): Return whether any variable required
409 multiple LC PHI nodes.
410 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
411 when possible.
412
413 2022-07-07 Richard Biener <rguenther@suse.de>
414
415 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
416 the def loop exit block bitmap as argument instead of
417 re-computing it here.
418 (add_exit_phis_var): Adjust.
419 (loop_name_cmp): New function.
420 (add_exit_phis): Sort variables to insert LC PHI nodes
421 after definition loop, for each definition loop compute
422 the exit block bitmap once.
423 (get_loops_exit): Remove.
424 (rewrite_into_loop_closed_ssa_1): Do not pre-record
425 all loop exit blocks into bitmaps. Record loop exits
426 if required.
427
428 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
429
430 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
431 to handle the N32 ABI.
432 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
433 the macro, as it is not needed anymore.
434
435 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
436
437 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
438 '[...]_data'.
439 * config/nvptx/mkoffload.cc (process): Likewise.
440
441 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
442
443 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
444
445 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
446
447 * value-relation.cc (relation_to_code): New vector.
448 (relation_oracle::validate_relation): New.
449 (set_relation): Allow ssa1 == ssa2 to be registered.
450 * value-relation.h (validate_relation): New prototype.
451 (query_relation): Make internal variant protected.
452
453 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
454
455 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
456 for double word comparisons and tests (comparisons against zero).
457 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
458 and;cmp into andn;cmp $0 as a pre-reload splitter.
459 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
460 (*<any_or><dwi>3_doubleword): Likewise.
461
462 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
463 Hongtao Liu <hongtao.liu@intel.com>
464
465 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
466 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
467 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
468 and gen_ssse3_palignv1ti instead of TImode.
469 * config/i386/sse.md (SSESCALARMODE): Delete.
470 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
471 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
472 iterator instead of SSESCALARMODE.
473 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
474 using a single move instruction (if required).
475
476 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
477 Uroš Bizjak <ubizjak@gmail.com>
478
479 PR rtl-optimization/96692
480 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
481 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
482
483 2022-07-05 Richard Biener <rguenther@suse.de>
484
485 PR tree-optimization/106198
486 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
487 full LC SSA rewrite but only if any blocks changed loop
488 depth.
489
490 2022-07-05 Richard Biener <rguenther@suse.de>
491
492 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
493 (find_uses_to_rename_in_loop): Likewise.
494 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
495 uses.
496 (rewrite_into_loop_closed_ssa): Adjust.
497
498 2022-07-05 Richard Biener <rguenther@suse.de>
499
500 PR tree-optimization/106186
501 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
502 Properly handle virtual PHI nodes.
503
504 2022-07-05 Richard Biener <rguenther@suse.de>
505
506 PR tree-optimization/106196
507 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
508 handle aggregate returns of calls for VDEF updates.
509
510 2022-07-05 Richard Biener <rguenther@suse.de>
511
512 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
513 Maintain LC SSA.
514
515 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
516
517 * tree-vect-patterns.cc (vect_convert_input): Expect the input
518 type to be signed for optab_vector_mixed_sign. Update the vectype
519 at the same time as type.
520 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
521 available, try sdot instead.
522 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
523 (vect_model_reduction_cost): Model the cost of implementing usdot
524 using sdot.
525 (vectorizable_reduction): Likewise. Skip target support test
526 for lane reductions.
527 (vect_emulate_mixed_dot_prod): New function.
528 (vect_transform_reduction): Use it to emulate usdot via sdot.
529
530 2022-07-05 Richard Biener <rguenther@suse.de>
531
532 PR tree-optimization/106182
533 * loop-init.cc (fix_loop_structure): Return the number
534 of newly discovered plus the number of deleted loops.
535 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
536 variable name.
537
538 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
539
540 * gimple-range-fold.cc
541 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
542 call to SCEV for irange supported types.
543 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
544 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
545 * tree-ssa-dom.cc (cprop_operand): Same.
546
547 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
548
549 PR target/104489
550 * calls.cc (precompute_register_parameters): Allow promotion
551 of floating point values to be passed in wider integer modes
552 by calling new convert_float_to_wider_int.
553 (expand_call): Allow floating point results to be returned in
554 wider integer modes by calling new convert wider_int_to_float.
555 * cfgexpand.cc (expand_value_return): Allow backends to promote
556 a scalar floating point return value to a wider integer mode
557 by calling new convert_float_to_wider_int.
558 * expr.cc (convert_float_to_wider_int): New function.
559 (convert_wider_int_to_float): Likewise.
560 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
561 scalar FP PARM_DECLs to wider integer modes, by calling new
562 convert_wider_int_to_float.
563 * expr.h (convert_modes): Name arguments for improved documentation.
564 (convert_float_to_wider_int): Prototype new function here.
565 (convert_wider_int_to_float): Likewise.
566 * function.cc (assign_parm_setup_stack): Allow floating point
567 values to be passed on the stack as wider integer modes by
568 calling new convert_wider_int_to_float.
569
570 2022-07-04 Martin Jambor <mjambor@suse.cz>
571
572 PR tree-optimization/105860
573 * tree-sra.cc (build_reconstructed_reference): Start expr
574 traversal only just below the outermost union.
575
576 2022-07-04 Richard Biener <rguenther@suse.de>
577
578 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
579 and update virtual SSA form again. Assert we do so for
580 a known set of transforms only.
581 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
582 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
583 using load-lanes allow virtual SSA update.
584
585 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
586 Chung-Lin Tang <cltang@codesourcery.com>
587 Thomas Schwinge <thomas@codesourcery.com>
588
589 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
590 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
591 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
592 * config/nvptx/mkoffload.cc (process, main): Likewise.
593 * lto-cgraph.cc (omp_requires_to_name): New.
594 (input_offload_tables): Save omp_requires_mask.
595 (output_offload_tables): Read it, check for consistency,
596 save value for mkoffload.
597 * omp-low.cc (lower_omp_target): Force output_offloadtables
598 call for OMP_REQUIRES_TARGET_USED.
599
600 2022-07-04 Richard Biener <rguenther@suse.de>
601
602 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
603 no SSA update is needed instead of updating virtual SSA
604 form.
605 * tree-vect-stmts.cc (vectorizable_load): For hoisted
606 invariant load use the loop entry virtual use.
607 For emulated gather loads use the virtual use of the
608 original stmt like vect_finish_stmt_generation would do.
609
610 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
611
612 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
613 for direct circularity.
614
615 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
616
617 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
618 the language for vector types.
619
620 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
621
622 * value-range-storage.cc (irange_storage_slot::set_irange): Set
623 nonzero bits in irange.
624 (irange_storage_slot::get_irange): Get nonzero bits from irange.
625 * value-range.cc (irange::operator=): Set nonzero bits.
626 (irange::irange_set): Same.
627 (irange::irange_set_anti_range): Same.
628 (irange::set): Same.
629 (irange::verify_range): Same.
630 (irange::legacy_equal_p): Check nonzero bits.
631 (irange::equal_p): Same.
632 (irange::contains_p): Handle nonzero bits.
633 (irange::irange_union): Same.
634 (irange::irange_intersect): Same.
635 (irange::dump): Same.
636 (irange::set_nonzero_bits): New.
637 (irange::get_nonzero_bits): New.
638 (irange::intersect_nonzero_bits): New.
639 (irange::union_nonzero_bits): New.
640 (irange::dump_bitmasks): New.
641 * value-range.h (class irange): Add m_nonzero_mask.
642 (gt_ggc_mx): Handle nonzero bits.
643 (gt_pch_nx): Same.
644 (irange::set_undefined): Set nonzero bits.
645 (irange::set_varying): Same.
646 (irange::normalize_kind): Call set_undefined.
647
648 2022-07-04 Richard Biener <rguenther@suse.de>
649
650 * tree-ssa-loop-manip.h
651 (rewrite_virtuals_into_loop_closed_ssa): Remove.
652 (rewrite_into_loop_closed_ssa_1): Likewise.
653 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
654 Make static.
655 (rewrite_into_loop_closed_ssa): Remove loop overload,
656 always rewrite virtuals into LC SSA.
657 (check_loop_closed_ssa_bb): Also check virtuals.
658 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
659 LC PHIs when in LC SSA.
660 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
661 loop-closed SSA here, but ...
662 (tree_loop_unroll_and_jam): ... here once.
663 * tree-if-conv.cc (version_loop_for_if_conversion): Use
664 the cheaper TODO_update_ssa_no_phi.
665 * tree-loop-distribution.cc (version_loop_by_alias_check):
666 Likewise.
667 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
668 Likewise.
669 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
670 (tree_unswitch_outer_loop): Do not rewrite virtuals into
671 LC ssa.
672 * tree-parloops.cc (transform_to_exit_first_loop_alt):
673 Likewise.
674 (pass_parallelize_loops::execute): After finishing rewrite
675 into LC SSA again because we do not maintain it properly.
676
677 2022-07-04 Richard Biener <rguenther@suse.de>
678
679 PR tree-optimization/106055
680 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
681 we can propagate.
682
683 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
684
685 PR target/43618
686 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
687 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
688 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
689
690 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
691
692 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
693 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
694 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
695 with two arguments.
696 (find_unswitching_predicates_for_bb): Same.
697 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
698 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
699 * value-range.cc (irange::equal_p): Rename to...
700 (irange::operator==): ...this.
701 * value-range.h (irange::set): Remove.
702 (irange::operator==): Remove.
703 (irange::set_zero): Use set with two arguments.
704 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
705 (vr_values::extract_range_from_unary_expr): Same.
706 (check_for_binary_op_overflow): Same.
707 (bounds_of_var_in_loop): Same.
708
709 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
710
711 PR target/106022
712 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
713 New.
714 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
715 New.
716 * config/i386/mmx.md (V_16_32_64): New.
717 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
718 and 64-bit constant vector.
719 * config/i386/predicates.md (x86_64_const_vector_operand): New.
720
721 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
722
723 * gimple-range-cache.cc: Include value-range-storage.h.
724 * gimple-range-cache.h (class block_range_cache): Add "class" to
725 m_range_allocator.
726 * gimple-range-edge.cc
727 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
728 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
729 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
730 * gimple-range-edge.h: Add "class" to m_range_allocator.
731 * gimple-range-infer.cc
732 (infer_range_manager::infer_range_manager): Allocate allocator.
733 (infer_range_manager::~infer_range_manager): Free allocator.
734 (infer_range_manager::get_nonzero): Dereference allocator.
735 (infer_range_manager::add_range): Same.
736 * gimple-range-infer.h (class vrange_allocator): Add "class" to
737 m_range_allocator.
738 * value-range-storage.h (class vrange_allocator): Move from
739 value-range.h.
740 (class obstack_vrange_allocator): Same.
741 (class ggc_vrange_allocator): Same.
742 (vrange_allocator::alloc_vrange): Same.
743 (vrange_allocator::alloc_irange): Same.
744 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
745 (class obstack_vrange_allocator): Same.
746 (class ggc_vrange_allocator): Same.
747
748 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
749
750 * Makefile.in (OBJS): Add value-range-storage.o.
751 (GTFILES): Add value-range-storage.h.
752 * gengtype.cc (open_base_files): Add value-range-storage.h.
753 * value-range-storage.cc: New file.
754 * value-range-storage.h: New file.
755
756 2022-07-03 Xi Ruoyao <xry111@xry111.site>
757 Lulu Cheng <chenglulu@loongson.cn>
758
759 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
760 New static function.
761 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
762 of TARGET_CHECK_ZERO_DIV.
763 (loongarch_output_division): Likewise.
764 * common/config/loongarch/loongarch-common.cc
765 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
766 * doc/invoke.texi: Update to match the new behavior.
767
768 2022-07-03 Ian Lance Taylor <iant@golang.org>
769
770 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
771 statement if -fdelete-dead-exceptions.
772
773 2022-07-02 Tim Lange <mail@tim-lange.me>
774
775 PR analyzer/105900
776 * doc/invoke.texi: Added Wanalyzer-allocation-size.
777
778 2022-07-02 Immad Mir <mirimmad17@gmail.com>
779
780 PR analyzer/106003
781 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
782 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
783 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
784 -Wanalyzer-fd-use-after-close.
785
786 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
787
788 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
789 (trailing_wide_ints::set_precision): Add num_elements argument.
790 (trailing_wide_ints::extra_size): Same.
791
792 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
793
794 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
795 Use "r" constraint for operand 1.
796
797 2022-07-01 Richard Biener <rguenther@suse.de>
798
799 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
800 Do not look at interesting_blocks which is a copy of
801 blocks_to_update.
802 (update_ssa): Do not initialize it.
803 (pass_build_ssa::execute): Set interesting_blocks to NULL
804 after releasing it.
805
806 2022-07-01 Richard Biener <rguenther@suse.de>
807
808 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
809 back to using maybe_ne (off, -1).
810
811 2022-07-01 Richard Biener <rguenther@suse.de>
812
813 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
814 checking dominance check conditional on flag_checking.
815
816 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
817
818 * config/gcn/gcn-protos.h (print_operand_address): Remove register
819 keyword on 'rtx addr' argument.
820
821 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
822 Uroš Bizjak <ubizjak@gmail.com>
823
824 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
825 to post-reload define_insn_and_split.
826
827 2022-07-01 Jakub Jelinek <jakub@redhat.com>
828
829 PR middle-end/106144
830 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
831 emitting element for shift or if shift is 0 first element after start.
832 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
833 wi::shifted_mask with 0 start.
834
835 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
836
837 PR target/106122
838 * config/i386/i386.md (peephole2): Avoid generating pop %esp
839 when optimizing for size.
840
841 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
842 Uroš Bizjak <ubizjak@gmail.com>
843
844 * config/i386/i386.md (general_szext_operand): Add TImode
845 support using x86_64_hilo_general_operand predicate.
846 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
847 (*add<dwi>3_doubleword): Improved optimization of zero addition.
848 (and<mode>3): Use SDWIM mode iterator to add support for double
849 word bit-wise AND in TImode. Use force_reg when double word
850 immediate operand isn't x86_64_hilo_general_operand.
851 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
852 converted into a post-reload splitter.
853 (*andndi3_doubleword): Previous define_insn deleted.
854 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
855 TARGET_BMI that splits post-reload.
856 (*andn<mode>3_doubleword): New define_insn_and_split for
857 !TARGET_BMI, that lowers/splits before reload.
858 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
859 double word bit-wise XOR and bit-wise IOR in TImode. Use
860 force_reg when double word immediate operand isn't
861 x86_64_hilo_general_operand.
862 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
863 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
864 double word bit-wise NOT in TImode.
865 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
866 and converted into a post-reload splitter.
867
868 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
869
870 PR middle-end/105874
871 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
872 EXPAND_MEMORY for the expansion of the inner reference only
873 in the usual cases where a memory reference is required.
874
875 2022-07-01 Richard Biener <rguenther@suse.de>
876
877 PR tree-optimization/106131
878 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
879 zero when offsetting the read looking through an aggregate
880 copy.
881
882 2022-07-01 Martin Liska <mliska@suse.cz>
883
884 PR tree-optimization/106126
885 * gimple-if-to-switch.cc (struct condition_info): Save
886 has_side_effect.
887 (find_conditions): Parse all BBs.
888 (pass_if_to_switch::execute): Allow only side effects for first
889 BB.
890
891 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
892
893 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
894 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
895 OPTION_MASK_ISA2_AVX512BF16_UNSET and
896 OPTION_MASK_ISA2_AVX512FP16_UNSET.
897
898 2022-06-30 Joseph Myers <joseph@codesourcery.com>
899
900 PR lto/106129
901 * lto-wrapper.cc (find_option): Add argument start.
902 (merge_and_complain): Loop over existing_opt_index and
903 existing_opt2_index for Xassembler check. Update calls to
904 find_option.
905 (find_and_merge_options): Add argument first to determine whether
906 to merge options with those passed in *opts.
907 (run_gcc): Update calls to find_and_merge_options.
908
909 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
910
911 * gimple-range-cache.cc (block_range_cache::block_range_cache):
912 Rename vrange_allocator to obstack_vrange_allocator.
913 (ssa_global_cache::ssa_global_cache): Same.
914 * gimple-range-edge.h (class gimple_outgoing_range): Same.
915 * gimple-range-infer.h (class infer_range_manager): Same.
916 * value-range.h (class vrange_allocator): Make abstract.
917 (class obstack_vrange_allocator): Inherit from vrange_allocator.
918 (class ggc_vrange_allocator): New.
919
920 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
921 Uroš Bizjak <ubizjak@gmail.com>
922
923 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
924 provide gen_swapsi.
925 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
926 via new gen_<insn>32di2_doubleword below.
927 (<anyrotate>32di2_doubleword): New define_insn_and_split
928 that splits after reload as either a pair of move instructions
929 or an xchgl (using gen_swapsi).
930
931 2022-06-30 Richard Biener <rguenther@suse.de>
932
933 * domwalk.h (dom_walker::dom_walker): Update comment to
934 reflect reality and new special argument value for
935 bb_index_to_rpo.
936 * domwalk.cc (dom_walker::dom_walker): Recognize -1
937 bb_index_to_rpo.
938 * tree-into-ssa.cc
939 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
940 dom_walker to not use RPO.
941
942 2022-06-30 Martin Liska <mliska@suse.cz>
943
944 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
945 it is unused.
946
947 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
948
949 PR tree-optimization/106114
950 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
951 statement operands instead of GORI cache.
952
953 2022-06-30 Antoni Boucher <bouanto@zoho.com>
954
955 PR target/106095
956 * config/i386/sse.md: Fix asm generation.
957
958 2022-06-29 Sergei Trofimovich <siarheit@google.com>
959
960 PR c++/106102
961 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
962
963 2022-06-29 Joseph Myers <joseph@codesourcery.com>
964
965 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
966 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
967
968 2022-06-29 Richard Biener <rguenther@suse.de>
969
970 PR rtl-optimization/106082
971 * combine.cc (distribute_notes): Preserve notes when
972 they indicate a call doesn't perform a non-local goto.
973
974 2022-06-29 Richard Biener <rguenther@suse.de>
975
976 PR tree-optimization/106112
977 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
978 a constant operand according to its type.
979
980 2022-06-29 Martin Liska <mliska@suse.cz>
981
982 * doc/invoke.texi: Remove removed evrp-mode.
983
984 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
985
986 PR target/106097
987 * config/loongarch/loongarch.cc (loongarch_build_integer):
988 Remove undefined behavior from code.
989
990 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
991
992 * doc/sourcebuild.texi: Document new no_alignment_constraints
993 effective target check.
994
995 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
996
997 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
998 * flag-types.h (enum evrp_mode): Remove.
999 * params.opt: Remove --param=evrp-mode.
1000 * tree-vrp.cc (make_pass_early_vrp): New.
1001 (pass_vrp::execute): Call early VRP instance.
1002 * gimple-ssa-evrp-analyze.cc: Removed.
1003 * gimple-ssa-evrp-analyze.h: Removed.
1004 * gimple-ssa-evrp.cc: Removed.
1005
1006 2022-06-28 Alexandre Oliva <oliva@adacore.com>
1007
1008 * Makefile.in (TFLAGS): New.
1009 (GCC_FOR_TARGET): Add TFLAGS.
1010 (FLAGS_TO_PASS): Pass TFLAGS down.
1011
1012 2022-06-28 Richard Biener <rguenther@suse.de>
1013
1014 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
1015 call update_ssa.
1016
1017 2022-06-28 Richard Biener <rguenther@suse.de>
1018
1019 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
1020 mark_block_for_update.
1021 (update_ssa): Adjust.
1022
1023 2022-06-28 Xi Ruoyao <xry111@xry111.site>
1024
1025 PR target/106096
1026 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
1027 $r13 from SIBCALL_REGS.
1028 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
1029 Change $r13 to JIRL_REGS.
1030
1031 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
1032
1033 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
1034 irange::supports_p.
1035
1036 2022-06-28 Richard Biener <rguenther@suse.de>
1037
1038 PR middle-end/106053
1039 * match.pd ((T)a == (T)b): Avoid folding away sign
1040 changes in a comparison if we'd truncate to a boolean.
1041
1042 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
1043
1044 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
1045 iterator GPR with SImode, adjust the condition and output template,
1046 rename to ...
1047 (*rotlsi3_insert_4): ... this.
1048
1049 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1050
1051 * genmatch.cc: Add "final" and "override" to various vfunc
1052 implementations, removing redundant "virtual" as appropriate.
1053 * gensupport.cc: Likewise.
1054 * gimple-range-cache.h: Likewise.
1055 * ipa-icf-gimple.h: Likewise.
1056 * ipa-icf.h: Likewise.
1057 * read-md.h: Likewise.
1058 * read-rtl-function.cc: Likewise.
1059 * tree-ssa-loop-ch.cc: Likewise.
1060 * tree-ssa-sccvn.cc: Likewise.
1061
1062 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1063
1064 * config/i386/i386-features.h: Add "final" and "override" to
1065 scalar_chain vfunc implementations as appropriate.
1066
1067 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1068
1069 * tree-switch-conversion.h: Add "final" and "override" to cluster
1070 vfunc implementations as appropriate.
1071
1072 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1073
1074 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
1075 implementations as appropriate.
1076
1077 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1078
1079 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
1080 implementations, removing redundant "virtual" as appropriate.
1081 * gimple-ssa-strength-reduction.cc: Likewise.
1082 * ipa-prop.cc: Likewise.
1083 * rtl-ssa/blocks.cc: Likewise.
1084 * tree-into-ssa.cc: Likewise.
1085 * tree-ssa-dom.cc: Likewise.
1086 * tree-ssa-math-opts.cc: Likewise.
1087 * tree-ssa-phiopt.cc: Likewise.
1088 * tree-ssa-propagate.cc: Likewise.
1089 * tree-ssa-sccvn.cc: Likewise.
1090 * tree-ssa-strlen.cc: Likewise.
1091 * tree-ssa-uncprop.cc: Likewise.
1092
1093 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1094
1095 * adjust-alignment.cc: Add "final" and "override" to opt_pass
1096 vfunc implementations, removing redundant "virtual" as
1097 appropriate.
1098 * asan.cc: Likewise.
1099 * auto-inc-dec.cc: Likewise.
1100 * auto-profile.cc: Likewise.
1101 * bb-reorder.cc: Likewise.
1102 * cfgcleanup.cc: Likewise.
1103 * cfgexpand.cc: Likewise.
1104 * cfgrtl.cc: Likewise.
1105 * cgraphbuild.cc: Likewise.
1106 * combine-stack-adj.cc: Likewise.
1107 * combine.cc: Likewise.
1108 * compare-elim.cc: Likewise.
1109 * config/i386/i386-features.cc: Likewise.
1110 * coroutine-passes.cc: Likewise.
1111 * cprop.cc: Likewise.
1112 * cse.cc: Likewise.
1113 * dce.cc: Likewise.
1114 * df-core.cc: Likewise.
1115 * dse.cc: Likewise.
1116 * dwarf2cfi.cc: Likewise.
1117 * early-remat.cc: Likewise.
1118 * except.cc: Likewise.
1119 * final.cc: Likewise.
1120 * function.cc: Likewise.
1121 * fwprop.cc: Likewise.
1122 * gcse.cc: Likewise.
1123 * gimple-harden-conditionals.cc: Likewise.
1124 * gimple-if-to-switch.cc: Likewise.
1125 * gimple-isel.cc: Likewise.
1126 * gimple-laddress.cc: Likewise.
1127 * gimple-loop-interchange.cc: Likewise.
1128 * gimple-loop-jam.cc: Likewise.
1129 * gimple-loop-versioning.cc: Likewise.
1130 * gimple-low.cc: Likewise.
1131 * gimple-ssa-backprop.cc: Likewise.
1132 * gimple-ssa-evrp.cc: Likewise.
1133 * gimple-ssa-isolate-paths.cc: Likewise.
1134 * gimple-ssa-nonnull-compare.cc: Likewise.
1135 * gimple-ssa-split-paths.cc: Likewise.
1136 * gimple-ssa-store-merging.cc: Likewise.
1137 * gimple-ssa-strength-reduction.cc: Likewise.
1138 * gimple-ssa-warn-access.cc: Likewise.
1139 * gimple-ssa-warn-alloca.cc: Likewise.
1140 * gimple-ssa-warn-restrict.cc: Likewise.
1141 * gimple-warn-recursion.cc: Likewise.
1142 * graphite.cc: Likewise.
1143 * ifcvt.cc: Likewise.
1144 * init-regs.cc: Likewise.
1145 * ipa-comdats.cc: Likewise.
1146 * ipa-cp.cc: Likewise.
1147 * ipa-devirt.cc: Likewise.
1148 * ipa-fnsummary.cc: Likewise.
1149 * ipa-free-lang-data.cc: Likewise.
1150 * ipa-icf.cc: Likewise.
1151 * ipa-inline.cc: Likewise.
1152 * ipa-modref.cc: Likewise.
1153 * ipa-profile.cc: Likewise.
1154 * ipa-pure-const.cc: Likewise.
1155 * ipa-reference.cc: Likewise.
1156 * ipa-split.cc: Likewise.
1157 * ipa-sra.cc: Likewise.
1158 * ipa-visibility.cc: Likewise.
1159 * ipa.cc: Likewise.
1160 * ira.cc: Likewise.
1161 * jump.cc: Likewise.
1162 * loop-init.cc: Likewise.
1163 * lower-subreg.cc: Likewise.
1164 * mode-switching.cc: Likewise.
1165 * modulo-sched.cc: Likewise.
1166 * multiple_target.cc: Likewise.
1167 * omp-expand.cc: Likewise.
1168 * omp-low.cc: Likewise.
1169 * omp-oacc-kernels-decompose.cc: Likewise.
1170 * omp-oacc-neuter-broadcast.cc: Likewise.
1171 * omp-offload.cc: Likewise.
1172 * omp-simd-clone.cc: Likewise.
1173 * passes.cc: Likewise.
1174 * postreload-gcse.cc: Likewise.
1175 * postreload.cc: Likewise.
1176 * predict.cc: Likewise.
1177 * recog.cc: Likewise.
1178 * ree.cc: Likewise.
1179 * reg-stack.cc: Likewise.
1180 * regcprop.cc: Likewise.
1181 * reginfo.cc: Likewise.
1182 * regrename.cc: Likewise.
1183 * reorg.cc: Likewise.
1184 * sancov.cc: Likewise.
1185 * sanopt.cc: Likewise.
1186 * sched-rgn.cc: Likewise.
1187 * stack-ptr-mod.cc: Likewise.
1188 * store-motion.cc: Likewise.
1189 * tracer.cc: Likewise.
1190 * trans-mem.cc: Likewise.
1191 * tree-call-cdce.cc: Likewise.
1192 * tree-cfg.cc: Likewise.
1193 * tree-cfgcleanup.cc: Likewise.
1194 * tree-complex.cc: Likewise.
1195 * tree-eh.cc: Likewise.
1196 * tree-emutls.cc: Likewise.
1197 * tree-if-conv.cc: Likewise.
1198 * tree-into-ssa.cc: Likewise.
1199 * tree-loop-distribution.cc: Likewise.
1200 * tree-nrv.cc: Likewise.
1201 * tree-object-size.cc: Likewise.
1202 * tree-parloops.cc: Likewise.
1203 * tree-predcom.cc: Likewise.
1204 * tree-profile.cc: Likewise.
1205 * tree-sra.cc: Likewise.
1206 * tree-ssa-ccp.cc: Likewise.
1207 * tree-ssa-copy.cc: Likewise.
1208 * tree-ssa-dce.cc: Likewise.
1209 * tree-ssa-dom.cc: Likewise.
1210 * tree-ssa-dse.cc: Likewise.
1211 * tree-ssa-forwprop.cc: Likewise.
1212 * tree-ssa-ifcombine.cc: Likewise.
1213 * tree-ssa-loop-ch.cc: Likewise.
1214 * tree-ssa-loop-im.cc: Likewise.
1215 * tree-ssa-loop-ivcanon.cc: Likewise.
1216 * tree-ssa-loop-prefetch.cc: Likewise.
1217 * tree-ssa-loop-split.cc: Likewise.
1218 * tree-ssa-loop-unswitch.cc: Likewise.
1219 * tree-ssa-loop.cc: Likewise.
1220 * tree-ssa-math-opts.cc: Likewise.
1221 * tree-ssa-phiopt.cc: Likewise.
1222 * tree-ssa-phiprop.cc: Likewise.
1223 * tree-ssa-pre.cc: Likewise.
1224 * tree-ssa-reassoc.cc: Likewise.
1225 * tree-ssa-sccvn.cc: Likewise.
1226 * tree-ssa-sink.cc: Likewise.
1227 * tree-ssa-strlen.cc: Likewise.
1228 * tree-ssa-structalias.cc: Likewise.
1229 * tree-ssa-uncprop.cc: Likewise.
1230 * tree-ssa-uninit.cc: Likewise.
1231 * tree-ssanames.cc: Likewise.
1232 * tree-stdarg.cc: Likewise.
1233 * tree-switch-conversion.cc: Likewise.
1234 * tree-tailcall.cc: Likewise.
1235 * tree-vect-generic.cc: Likewise.
1236 * tree-vectorizer.cc: Likewise.
1237 * tree-vrp.cc: Likewise.
1238 * tsan.cc: Likewise.
1239 * ubsan.cc: Likewise.
1240 * var-tracking.cc: Likewise.
1241 * vtable-verify.cc: Likewise.
1242 * web.cc: Likewise.
1243
1244 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
1245
1246 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
1247 (jump): Likewise.
1248 (movdi_symbol_save_scc): Likewise.
1249
1250 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
1251
1252 PR rtl-optimization/7061
1253 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
1254
1255 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
1256
1257 PR tree-optimization/94026
1258 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
1259 (((X >> C1) & C2) eq/ne C3): Likewise.
1260
1261 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1262
1263 * statistics.cc: Include tree.h.
1264 (get_function_name): New function.
1265 (statistics_fini_pass_2): Call get_function_name instead of
1266 current_function_name.
1267 (statistics_counter_event): Call get_function_name instead of
1268 function_name.
1269 (statistics_histogram_event): Likewise.
1270
1271 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1272
1273 * config/xtensa/xtensa.md:
1274 Suppress unnecessary emitting nop insn in the split patterns for
1275 integer/FP constant synthesis, and add new peephole2 pattern that
1276 folds such synthesized additions.
1277
1278 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
1279
1280 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
1281 instead of evrp.
1282 (dom_jt_state::push): Remove m_evrp.
1283 (dom_jt_state::pop): Same.
1284 (dom_jt_state::record_ranges_from_stmt): Remove.
1285 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
1286 (class dom_jt_simplifier): Pass ranger to constructor.
1287 Inherit from hybrid_jt_simplifier.
1288 (dom_jt_simplifier::simplify): Convert to ranger.
1289 (pass_dominator::execute): Same.
1290 (all_uses_feed_or_dominated_by_stmt): New.
1291 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
1292 (dom_opt_dom_walker::before_dom_children): Call
1293 set_global_ranges_from_unreachable_edges.
1294 Do not call record_ranges_from_stmt.
1295 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
1296 (cprop_operand): Use int_range<> instead of value_range.
1297 (dom_opt_dom_walker::fold_cond): New.
1298 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
1299 cprop_into_stmt.
1300 Use fold_cond() instead of vrp_visit_cond_stmt().
1301 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
1302 pass state to simplifier.
1303 * vr-values.h (class vr_values): Make fold_cond public.
1304
1305 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
1306
1307 * common/config/tilegx/tilegx-common.cc: Removed.
1308 * common/config/tilepro/tilepro-common.cc: Removed.
1309 * config.gcc: Remove tilegx and tilepro entries.
1310 * config/tilegx/constraints.md: Removed.
1311 * config/tilegx/feedback.h: Removed.
1312 * config/tilegx/linux.h: Removed.
1313 * config/tilegx/mul-tables.cc: Removed.
1314 * config/tilegx/predicates.md: Removed.
1315 * config/tilegx/sync.md: Removed.
1316 * config/tilegx/t-tilegx: Removed.
1317 * config/tilegx/tilegx-builtins.h: Removed.
1318 * config/tilegx/tilegx-c.cc: Removed.
1319 * config/tilegx/tilegx-generic.md: Removed.
1320 * config/tilegx/tilegx-modes.def: Removed.
1321 * config/tilegx/tilegx-multiply.h: Removed.
1322 * config/tilegx/tilegx-opts.h: Removed.
1323 * config/tilegx/tilegx-protos.h: Removed.
1324 * config/tilegx/tilegx.cc: Removed.
1325 * config/tilegx/tilegx.h: Removed.
1326 * config/tilegx/tilegx.md: Removed.
1327 * config/tilegx/tilegx.opt: Removed.
1328 * config/tilepro/constraints.md: Removed.
1329 * config/tilepro/feedback.h: Removed.
1330 * config/tilepro/gen-mul-tables.cc: Removed.
1331 * config/tilepro/linux.h: Removed.
1332 * config/tilepro/mul-tables.cc: Removed.
1333 * config/tilepro/predicates.md: Removed.
1334 * config/tilepro/t-tilepro: Removed.
1335 * config/tilepro/tilepro-builtins.h: Removed.
1336 * config/tilepro/tilepro-c.cc: Removed.
1337 * config/tilepro/tilepro-generic.md: Removed.
1338 * config/tilepro/tilepro-modes.def: Removed.
1339 * config/tilepro/tilepro-multiply.h: Removed.
1340 * config/tilepro/tilepro-protos.h: Removed.
1341 * config/tilepro/tilepro.cc: Removed.
1342 * config/tilepro/tilepro.h: Removed.
1343 * config/tilepro/tilepro.md: Removed.
1344 * config/tilepro/tilepro.opt: Removed.
1345 * configure.ac: Remove tilegx and tilepro entries.
1346 * configure: Rebuilt.
1347 * doc/extend.texi: Remove tilegx and tilepro entries.
1348 * doc/install.texi: Remove tilegx and tilepro entries.
1349 * doc/invoke.texi: Remove tilegx and tilepro entries.
1350 * doc/md.texi: Remove tilegx and tilepro entries.
1351
1352 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
1353 Richard Biener <rguenther@suse.de>
1354
1355 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
1356 iteration over each basic block that was updated by the second
1357 iteration.
1358
1359 2022-06-24 Jason Merrill <jason@redhat.com>
1360
1361 PR c++/87729
1362 PR c++/20423
1363 * doc/invoke.texi: Document changes.
1364
1365 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
1366
1367 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
1368 condition to avoid overflow.
1369
1370 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1371
1372 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
1373 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
1374 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
1375 OPTION_MASK_PPC_GFXOPT.
1376 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
1377 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
1378 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
1379 * config/rs6000/rs6000-c.cc: Update comment.
1380 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
1381 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
1382 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
1383 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
1384 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
1385 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
1386 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
1387 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
1388 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
1389
1390 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1391
1392 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
1393 OPTION_MASK_MFCRF.
1394 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
1395 OPTION_MASK_MULTIPLE.
1396 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
1397 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
1398 OPTION_MASK_MFCRF.
1399 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
1400 OPTION_MASK_EABI.
1401 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
1402 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
1403 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
1404 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
1405 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
1406 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
1407 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
1408 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
1409 Replace with
1410 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
1411 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
1412 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
1413 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
1414 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
1415 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
1416 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
1417 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
1418 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
1419 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
1420 with OPTION_MASK_MULTIPLE.
1421 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
1422 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
1423 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
1424 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
1425 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
1426 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
1427 with OPTION_MASK_EABI.
1428
1429 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1430
1431 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
1432 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
1433 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
1434 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
1435 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
1436 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
1437 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
1438 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
1439 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
1440 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
1441 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
1442
1443 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1444
1445 * config/rs6000/rs6000-c.cc: Update comments.
1446 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
1447 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
1448 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
1449 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
1450 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
1451 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
1452 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
1453 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
1454 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
1455 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
1456 OPTION_MASK_MMA, OPTION_MASK_POWER10.
1457 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
1458 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
1459 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
1460 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
1461 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
1462
1463 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1464
1465 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
1466 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
1467 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
1468
1469 2022-06-24 Richard Biener <rguenther@suse.de>
1470
1471 PR middle-end/106070
1472 * match.pd (a != b ? a : b): Fix translation of
1473 operand_equal_for_comparison_p.
1474
1475 2022-06-24 Jan Hubicka <jh@suse.cz>
1476
1477 PR ipa/106057
1478 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
1479
1480 2022-06-24 Martin Liska <mliska@suse.cz>
1481
1482 PR middle-end/106059
1483 * profile-count.h: *= and /= operators need to modify this
1484 object.
1485
1486 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
1487 Uroš Bizjak <ubizjak@gmail.com>
1488
1489 PR target/105930
1490 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
1491 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
1492 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
1493
1494 2022-06-24 Alexandre Oliva <oliva@adacore.com>
1495
1496 * common.opt (nostdlib++): New.
1497 * doc/invoke.texi (-nostdlib++): Document it.
1498
1499 2022-06-24 Alexandre Oliva <oliva@adacore.com>
1500
1501 * doc/sourcebuild.texi (Environment attributes): Document
1502 two_plus_gigs.
1503
1504 2022-06-23 David Malcolm <dmalcolm@redhat.com>
1505
1506 * common.opt (fdiagnostics-show-rules): New option.
1507 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
1508 Fix up context->show_rules.
1509 * diagnostic-format-sarif.cc
1510 (diagnostic_output_format_init_sarif): Likewise.
1511 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
1512 (diagnostic_metadata::precanned_rule): New class.
1513 (diagnostic_metadata::add_rule): New.
1514 (diagnostic_metadata::get_num_rules): New.
1515 (diagnostic_metadata::get_rule): New.
1516 (diagnostic_metadata::m_rules): New field.
1517 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
1518 (print_any_rules): New.
1519 (diagnostic_report_diagnostic): Call it.
1520 * diagnostic.h (diagnostic_context::show_rules): New field.
1521 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
1522 * opts.cc (common_handle_option): Handle
1523 OPT_fdiagnostics_show_rules.
1524 * toplev.cc (general_init): Set up global_dc->show_rules.
1525
1526 2022-06-23 Martin Liska <mliska@suse.cz>
1527
1528 PR c++/106062
1529 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
1530 in order to initialize UBSAN built-ins.
1531
1532 2022-06-23 Martin Liska <mliska@suse.cz>
1533
1534 PR ipa/105600
1535 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
1536 Skip variables with body_removed.
1537
1538 2022-06-23 liuhongt <hongtao.liu@intel.com>
1539
1540 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
1541 reg_or_subregno.
1542 (sse4_2_pcmpistr): Ditto.
1543
1544 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
1545
1546 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
1547 typo.
1548 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
1549 * tree-switch-conversion.h: Likewise.
1550
1551 2022-06-22 Jason Merrill <jason@redhat.com>
1552
1553 PR c++/104642
1554 * common.opt: Add -funreachable-traps.
1555 * doc/invoke.texi (-funreachable-traps): Document it.
1556 * opts.cc (finish_options): Enable at -O0 or -Og.
1557 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
1558 (builtin_decl_unreachable, build_builtin_unreachable): New.
1559 * tree.h: Declare them.
1560 * ubsan.cc (sanitize_unreachable_fn): Factor out.
1561 (ubsan_instrument_unreachable): Use
1562 gimple_build_builtin_unreachable.
1563 * ubsan.h (sanitize_unreachable_fn): Declare.
1564 * gimple.cc (gimple_build_builtin_unreachable): New.
1565 * gimple.h: Declare it.
1566 * builtins.cc (expand_builtin_unreachable): Add assert.
1567 (fold_builtin_0): Call build_builtin_unreachable.
1568 * sanopt.cc: Don't run for just SANITIZE_RETURN
1569 or SANITIZE_UNREACHABLE when trapping.
1570 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
1571 unreachable functions.
1572 * gimple-fold.cc (gimple_fold_call)
1573 (gimple_get_virt_method_for_vtable)
1574 * ipa-fnsummary.cc (redirect_to_unreachable)
1575 * ipa-prop.cc (ipa_make_edge_direct_to_target)
1576 (ipa_impossible_devirt_target)
1577 * ipa.cc (walk_polymorphic_call_targets)
1578 * tree-cfg.cc (pass_warn_function_return::execute)
1579 (execute_fixup_cfg)
1580 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
1581 (unloop_loops)
1582 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
1583 Likewise.
1584
1585 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
1586
1587 PR tree-optimization/106019
1588 * tree-data-ref.cc (dr_may_alias_p): Try using the
1589 innermost_loop_behavior to disambiguate non-loop queries.
1590
1591 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
1592
1593 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
1594
1595 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1596
1597 * config/xtensa/xtensa.md (bswapsi2_internal):
1598 Enlarge the buffer that is obviously smaller than the template
1599 string given to sprintf().
1600
1601 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
1602 Marek Polacek <polacek@redhat.com>
1603 Segher Boessenkool <segher@kernel.crashing.org>
1604 Kewen Lin <linkw@linux.ibm.com>
1605
1606 PR target/105991
1607 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
1608 exact_log2 doesn't return -1 (or zero).
1609 (plus_xor): New code iterator.
1610 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
1611
1612 2022-06-21 Nathan Sidwell <nathan@acm.org>
1613
1614 * doc/invoke.texi (C++ Modules): Remove language-linkage
1615 as missing feature.
1616
1617 2022-06-21 Arjun Shankar <arjun@redhat.com>
1618
1619 PR tree-optimization/94899
1620 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
1621 0x80000000): New simplification.
1622
1623 2022-06-21 Jakub Jelinek <jakub@redhat.com>
1624
1625 PR rtl-optimization/106032
1626 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
1627 t may_trap_or_fault_p, even if it is cheap.
1628
1629 2022-06-21 Jakub Jelinek <jakub@redhat.com>
1630
1631 PR middle-end/106030
1632 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
1633 temp to expand_operands if mode has been promoted.
1634
1635 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
1636
1637 PR target/105740
1638 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
1639 condition bb.
1640
1641 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
1642
1643 PR tree-optimization/105736
1644 * tree-object-size.cc (addr_object_size): Return size_unknown
1645 when object offset computation returns an error.
1646
1647 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
1648
1649 PR target/105960
1650 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
1651 false if PIC register is used when calling ifunc functions.
1652
1653 2022-06-20 Richard Biener <rguenther@suse.de>
1654
1655 PR middle-end/106027
1656 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
1657 type of the prevailing comparison for the new comparison type.
1658 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
1659 to A < X && A >= Y folding.
1660
1661 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
1662
1663 PR tree-optimization/105940
1664 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
1665 slp_done_for_suggested_uf and adjust with it accordingly.
1666 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
1667 pass it down to vect_analyze_loop_2 for the initial analysis and
1668 applying suggested unroll factor.
1669 (vect_is_simple_reduction): Add parameter slp and adjust with it.
1670 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
1671 (vect_analyze_scalar_cycles): Likewise.
1672
1673 2022-06-20 Martin Liska <mliska@suse.cz>
1674
1675 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
1676 use them.
1677 (better_edge_p): Likewise.
1678 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
1679 * cfgloopmanip.cc (scale_loop_profile): Likewise.
1680 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
1681 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
1682 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
1683 * dojump.cc (do_compare_rtx_and_jump): Likewise.
1684 * final.cc (compute_alignments): Likewise.
1685 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
1686 (decide_about_value): Likewise.
1687 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
1688 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
1689 * modulo-sched.cc (sms_schedule): Likewise.
1690 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
1691 (expand_omp_ordered_sink): Likewise.
1692 (expand_omp_for_ordered_loops): Likewise.
1693 (expand_omp_for_static_nochunk): Likewise.
1694 * predict.cc (maybe_hot_count_p): Likewise.
1695 (probably_never_executed): Likewise.
1696 (set_even_probabilities): Likewise.
1697 (handle_missing_profiles): Likewise.
1698 (expensive_function_p): Likewise.
1699 * profile-count.h: Likewise.
1700 * profile.cc (compute_branch_probabilities): Likewise.
1701 * stmt.cc (emit_case_dispatch_table): Likewise.
1702 * symtab-thunks.cc (expand_thunk): Likewise.
1703 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
1704 * tree-ssa-sink.cc (select_best_block): Likewise.
1705 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
1706 (switch_decision_tree::balance_case_nodes): Likewise.
1707 (switch_decision_tree::emit_case_nodes): Likewise.
1708 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
1709
1710 2022-06-20 yulong <shiyulong@iscas.ac.cn>
1711
1712 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
1713 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
1714 of RISCV_BUILTIN.
1715 * config/riscv/riscv-ftypes.def (0): Remove unused.
1716 (1): New.
1717
1718 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1719
1720 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
1721 Consider relaxed MOVI instructions as L32R.
1722
1723 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1724
1725 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
1726 Use can_create_pseudo_p(), instead of using individual
1727 reload_in_progress and reload_completed.
1728 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
1729 the existing predicate function.
1730 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
1731 Use the standard RTX code predicate macros such as MEM_P,
1732 SYMBOL_REF_P and/or CONST_INT_P.
1733 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
1734 if callee-saved register, at the split patterns for indirect sibcall
1735 fixups.
1736
1737 2022-06-18 Jakub Jelinek <jakub@redhat.com>
1738
1739 * common.opt (flag_sanitize_trap): New variable.
1740 (fsanitize-trap=, fsanitize-trap): New options.
1741 (fsanitize-undefined-trap-on-error): Change into deprecated alias
1742 for -fsanitize-trap=all.
1743 * opts.h (struct sanitizer_opts_s): Add can_trap member.
1744 * opts.cc (finish_options): Complain about unsupported
1745 -fsanitize-trap= options.
1746 (sanitizer_opts): Add can_trap values to all entries.
1747 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
1748 options which have can_trap false.
1749 (parse_sanitizer_options): Add support for -fsanitize-trap=.
1750 For -fsanitize-trap=all, enable
1751 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
1752 -fsanitize-trap=vptr here.
1753 (common_handle_option): Handle OPT_fsanitize_trap_ and
1754 OPT_fsanitize_trap.
1755 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
1756 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
1757 flag_sanitize_undefined_trap_on_error.
1758 * gcc.cc (sanitize_spec_function): Use
1759 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
1760 and drop use of flag_sanitize_undefined_trap_on_error in
1761 "undefined" handling.
1762 * ubsan.cc (ubsan_instrument_unreachable): Use
1763 flag_sanitize_trap & SANITIZE_??? instead of
1764 flag_sanitize_undefined_trap_on_error.
1765 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
1766 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
1767 ubsan_build_overflow_builtin, instrument_bool_enum_load,
1768 ubsan_instrument_float_cast, instrument_nonnull_arg,
1769 instrument_nonnull_return, instrument_builtin): Likewise.
1770 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
1771 (-fsanitize-undefined-trap-on-error): Document as deprecated
1772 alias of -fsanitize-trap.
1773
1774 2022-06-18 Jakub Jelinek <jakub@redhat.com>
1775
1776 PR middle-end/105998
1777 * varasm.cc (narrowing_initializer_constant_valid_p): Check
1778 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
1779 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
1780
1781 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
1782
1783 PR tree-optimization/105835
1784 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
1785 Narrow integer multiplication by a zero_one_valued_p operand.
1786 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
1787 conversions inside COND_EXPR where both data operands are
1788 integer constants.
1789
1790 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1791
1792 * config/xtensa/constraints.md (Y):
1793 Change to include integer constants until reload begins.
1794 * config/xtensa/predicates.md (move_operand): Ditto.
1795 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
1796 Change to allow storing integer constants into litpool only after
1797 reload begins.
1798
1799 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1800
1801 PR target/105209
1802 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
1803 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
1804 (alpha_store_data_bypass_p_1): Ditto.
1805 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
1806 of generic store_data_bypass_p.
1807 (ev4_ist_c): Remove insn reservation.
1808
1809 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1810
1811 PR target/105970
1812 * config/i386/i386.cc (ix86_function_arg): Assert that
1813 the mode of pointer argumet is equal to ptr_mode, not Pmode.
1814
1815 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
1816
1817 PR target/105993
1818 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
1819 instead of REGNO comparisons in combine splitter.
1820
1821 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
1822
1823 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
1824 types.
1825
1826 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
1827
1828 * config/riscv/bitmanip.md: Supress warning.
1829
1830 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1831
1832 PR target/106004
1833 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
1834 Clear bits in the mask above bit 31.
1835
1836 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
1837
1838 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
1839 to avoid spilling trivial literals to the constant pool.
1840
1841 2022-06-16 David Malcolm <dmalcolm@redhat.com>
1842
1843 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
1844 auto_diagnostic_group to group any warning with its note.
1845 (maybe_warn_for_bound): Likewise.
1846 (check_access): Likewise.
1847 (warn_dealloc_offset): Likewise.
1848 (pass_waccess::maybe_warn_memmodel): Likewise.
1849 (pass_waccess::maybe_check_dealloc_call): Likewise.
1850 (pass_waccess::warn_invalid_pointer): Likewise.
1851 (pass_waccess::check_dangling_stores): Likewise.
1852
1853 2022-06-16 Jason Merrill <jason@redhat.com>
1854
1855 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
1856 opts_set->x_flag_sanitize.
1857
1858 2022-06-16 Jason Merrill <jason@redhat.com>
1859
1860 * flags.h (issue_strict_overflow_warning): Comment #endif.
1861
1862 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1863
1864 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
1865 was invaraint before, clear the invariant bit.
1866 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
1867 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
1868
1869 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
1870
1871 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
1872
1873 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1874
1875 PR tree-optimization/105983
1876 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
1877 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
1878 on non-equality comparisons.
1879
1880 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1881
1882 PR tree-optimization/105984
1883 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
1884 x > stype_max / cst || x < stype_min / cst): fold_convert @1
1885 to TREE_TYPE (@0) just once and test for negative divisor
1886 also on that folded constant instead of on @1.
1887
1888 2022-06-16 Jakub Jelinek <jakub@redhat.com>
1889
1890 PR middle-end/105951
1891 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
1892 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
1893 as last argument to the internal functions.
1894 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
1895 extra call argument to ifns. If expand_atomic_fetch_op fails for the
1896 lhs == NULL_TREE case, fall through into the optab code with
1897 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
1898 fails, construct a CALL_EXPR and expand that.
1899 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
1900 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
1901 expand that.
1902
1903 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
1904
1905 PR target/103316
1906 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
1907 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
1908 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
1909 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
1910 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
1911 for new Power10 V1TI instructions.
1912 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
1913 (vec_cmpu<mode><mode>): Likewise.
1914 (vector_nlt<mode>): Set mode iterator to VEC_IC.
1915 (vector_nltv1ti): Remove.
1916 (vector_gtu<mode>): Set mode iterator to VEC_IC.
1917 (vector_gtuv1ti): Remove.
1918 (vector_nltu<mode>): Set mode iterator to VEC_IC.
1919 (vector_nltuv1ti): Remove.
1920 (vector_geu<mode>): Set mode iterator to VEC_IC.
1921 (vector_ngt<mode>): Likewise.
1922 (vector_ngtv1ti): Remove.
1923 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
1924 (vector_ngtuv1ti): Remove.
1925 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
1926 (vector_gtu_v1ti_p): Remove.
1927 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
1928 (vrotlv1ti3): Remove.
1929 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
1930 (vashrv1ti3): Remove.
1931
1932 2022-06-16 Martin Liska <mliska@suse.cz>
1933
1934 * gengtype-state.cc (read_a_state_token): Do not skip extra
1935 character after escaped sequence.
1936
1937 2022-06-16 Martin Liska <mliska@suse.cz>
1938
1939 PR driver/105564
1940 * spellcheck.cc (test_find_closest_string): Add new test.
1941 * spellcheck.h (class best_match): Prefer a difference in
1942 trailing sign symbol.
1943
1944 2022-06-16 liuhongt <hongtao.liu@intel.com>
1945
1946 PR tree-optimization/53533
1947 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
1948 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
1949 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
1950
1951 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1952
1953 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
1954
1955 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1956
1957 * config/xtensa/predicates.md (reload_operand):
1958 New predicate.
1959 * config/xtensa/xtensa.md: New peephole2 pattern.
1960
1961 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1962
1963 * config/xtensa/xtensa.md (*round_up_to_even):
1964 New insn-and-split pattern.
1965 (*signed_ge_zero): Ditto.
1966
1967 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1968
1969 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
1970 xtensa_emit_sibcall): New prototypes.
1971 (xtensa_expand_epilogue): Add new argument that specifies whether
1972 or not sibling call.
1973 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
1974 New macro definition.
1975 (xtensa_prepare_expand_call): New function in order to share
1976 the common code.
1977 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
1978 New functions.
1979 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
1980 for sibling call handling.
1981 * config/xtensa/xtensa.md (call, call_value):
1982 Use xtensa_prepare_expand_call.
1983 (call_internal, call_value_internal):
1984 Add the condition in order to be disabled if sibling call.
1985 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
1986 (sibcall_internal, sibcall_value_internal): New insn patterns,
1987 and split ones in order to take care of the indirect sibcalls.
1988
1989 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1990
1991 * doc/invoke.texi: Document -mextra-l32r-costs= option.
1992
1993 2022-06-15 David Malcolm <dmalcolm@redhat.com>
1994
1995 PR analyzer/105962
1996 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
1997 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
1998 Extend -fdiagnostics-path-format=separate-events so that with
1999 -fdiagnostics-show-path-depths it prints fndecls as well as stack
2000 depths.
2001
2002 2022-06-15 David Malcolm <dmalcolm@redhat.com>
2003
2004 * value-relation.h: Add "final" and "override" to relation_oracle
2005 vfunc implementations as appropriate.
2006
2007 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2008
2009 PR middle-end/105975
2010 Revert everything apart from the expand_fn_using_insn and
2011 expand_direct_optab_fn changes from:
2012 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
2013 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
2014 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
2015 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
2016 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
2017 member variable.
2018 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
2019 (direct_internal_fn_p): Also return true for internal functions
2020 that map directly to instructions defined target-insns.def.
2021 (direct_internal_fn): Adjust comment accordingly.
2022 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
2023 (vectorizable_optab2): New local macros.
2024 (not_direct): Initialize directly_mapped.
2025 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
2026 (gather_load_direct, len_load_direct, mask_store_direct)
2027 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
2028 (vec_cond_direct, scatter_store_direct, len_store_direct)
2029 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
2030 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
2031 (while_direct, fold_extract_direct, fold_left_direct)
2032 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
2033 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
2034 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
2035 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
2036 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
2037 (direct_internal_fn_types): Handle functions that map to instructions
2038 defined in target-insns.def.
2039 (direct_internal_fn_types): Likewise.
2040 (direct_internal_fn_supported_p): Likewise.
2041 (internal_fn_expanders): Likewise.
2042 (expand_fn_using_insn): New function,
2043 split out and adapted from...
2044 (expand_direct_optab_fn): ...here.
2045 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
2046 (expand_GOMP_SIMT_EXIT): Likewise.
2047 (expand_GOMP_SIMT_LANE): Likewise.
2048 (expand_GOMP_SIMT_LAST_LANE): Likewise.
2049 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
2050 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
2051 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
2052 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
2053
2054 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
2055
2056 PR target/105981
2057 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
2058 to first_reg and second_reg respectively. Initialize them correctly
2059 when generating big-endian code.
2060
2061 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
2062
2063 PR target/105974
2064 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
2065
2066 2022-06-15 Richard Biener <rguenther@suse.de>
2067
2068 PR tree-optimization/105971
2069 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
2070 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
2071 to leak less surprising alias results.
2072
2073 2022-06-15 Richard Biener <rguenther@suse.de>
2074
2075 PR tree-optimization/105969
2076 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
2077 by zero in overflow check.
2078
2079 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2080
2081 PR tree-optimization/105254
2082 PR tree-optimization/105940
2083 Revert:
2084 * config/aarch64/aarch64.cc
2085 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
2086 loop_vec_info as argument. Restrict the unroll factor to values
2087 that divide the VF.
2088 (aarch64_vector_costs::finish_cost): Update call accordingly.
2089
2090 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2091
2092 * read-rtl.cc (find_int): Substitute symbolic constants
2093 before converting the string to an integer.
2094
2095 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
2096 Richard Biener <rguenther@suse.de>
2097
2098 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
2099 left shifts by a constant when the result is truncated, and the
2100 shift constant is well-defined.
2101 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
2102 support for rotations of signed integer types, by lowering
2103 using unsigned vector shifts.
2104
2105 2022-06-15 liuhongt <hongtao.liu@intel.com>
2106
2107 PR target/105953
2108 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
2109 operands[3].
2110
2111 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
2112
2113 PR rtl-optimization/105041
2114 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
2115
2116 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
2117
2118 * config/rs6000/vsx.md (VS_scalar): Delete.
2119 (rest of file): Adjust.
2120
2121 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
2122
2123 PR ipa/105739
2124 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
2125
2126 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2127
2128 * config/riscv/bitmanip.md: Add split to handle opportunities
2129 for slli + sh[123]add.uw
2130
2131 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2132
2133 * config/riscv/predicates.md (consecutive_bits_operand):
2134 Implement new predicate.
2135
2136 2022-06-14 Richard Biener <rguenther@suse.de>
2137
2138 PR tree-optimization/105946
2139 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
2140 Do not look at arguments not specified in the function call.
2141
2142 2022-06-14 Richard Biener <rguenther@suse.de>
2143
2144 PR middle-end/105965
2145 * match.pd (view_convert CONSTRUCTOR): Handle single-element
2146 CTOR case.
2147
2148 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
2149
2150 * warning-control.cc (copy_warning) [generic version]: Do not erase
2151 the warning data of the destination location when the no-warning
2152 bit is not set on the source.
2153 (copy_warning) [tree version]: Return early if TO is equal to FROM.
2154 (copy_warning) [gimple version]: Likewise.
2155
2156 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
2157
2158 PR tree-optimization/105940
2159 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
2160 applying suggested_unroll_factor after start_over.
2161
2162 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2163
2164 * config/xtensa/predicates.md (shifted_mask_operand):
2165 New predicate.
2166 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
2167 New insn-and-split pattern.
2168 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
2169 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
2170 *masktrue_const_shifted_mask): Ditto.
2171
2172 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2173
2174 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
2175
2176 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2177
2178 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
2179 Remove the first argument.
2180 (xtensa_emit_bit_branch): Remove it because now called only from the
2181 output statement of *bittrue insn pattern.
2182 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
2183 argument 'p_invert', and make so that the condition is reversed by
2184 itself as needed.
2185 (xtensa_expand_conditional_branch): Share the common path, and remove
2186 condition inversion code.
2187 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
2188 "false side" pattern.
2189 (xtensa_emit_bit_branch): Remove it because of the abovementioned
2190 reason, and move the function body to *bittrue insn pattern.
2191 * config/xtensa/xtensa.md (*bittrue): Transplant the output
2192 statement from removed xtensa_emit_bit_branch().
2193 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
2194 insn patterns.
2195
2196 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2197
2198 * config/xtensa/predicates.md (logical_shift_operator,
2199 xtensa_shift_per_byte_operator): New predicates.
2200 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
2201 New prototype.
2202 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
2203 New helper function for funnel shift patterns.
2204 * config/xtensa/xtensa.md (ior_op): New code iterator.
2205 (*ashlsi3_1): Replace with new split pattern.
2206 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
2207 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
2208 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
2209 in order to omit unnecessary bitwise AND operation.
2210 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
2211 *shlrd_per_byte_<code>_omit_AND):
2212 New insn patterns for funnel shifts.
2213
2214 2022-06-13 Jason Merrill <jason@redhat.com>
2215
2216 * tree-cfg.cc (pass_warn_function_return::execute): Also check
2217 BUILT_IN_TRAP.
2218
2219 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
2220
2221 * config/riscv/riscv.md (length): Remove the explicit setting
2222 for "fcmp".
2223
2224 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
2225
2226 * common/config/i386/cpuinfo.h (get_available_features): Require
2227 AVX for F16C and VAES.
2228
2229 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
2230
2231 PR target/105927
2232 * config/i386/predicates.md (register_no_elim_operand):
2233 Return true for subreg of a memory operand.
2234
2235 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
2236
2237 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
2238 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
2239 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
2240 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
2241 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
2242 member variable.
2243 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
2244 (direct_internal_fn_p): Also return true for internal functions
2245 that map directly to instructions defined target-insns.def.
2246 (direct_internal_fn): Adjust comment accordingly.
2247 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
2248 (vectorizable_optab2): New local macros.
2249 (not_direct): Initialize directly_mapped.
2250 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
2251 (gather_load_direct, len_load_direct, mask_store_direct)
2252 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
2253 (vec_cond_direct, scatter_store_direct, len_store_direct)
2254 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
2255 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
2256 (while_direct, fold_extract_direct, fold_left_direct)
2257 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
2258 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
2259 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
2260 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
2261 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
2262 (direct_internal_fn_types): Handle functions that map to instructions
2263 defined in target-insns.def.
2264 (direct_internal_fn_types): Likewise.
2265 (direct_internal_fn_supported_p): Likewise.
2266 (internal_fn_expanders): Likewise.
2267
2268 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
2269
2270 * internal-fn.cc (expand_fn_using_insn): New function,
2271 split out and adapted from...
2272 (expand_direct_optab_fn): ...here.
2273 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
2274 (expand_GOMP_SIMT_EXIT): Likewise.
2275 (expand_GOMP_SIMT_LANE): Likewise.
2276 (expand_GOMP_SIMT_LAST_LANE): Likewise.
2277 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
2278 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
2279 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
2280 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
2281
2282 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2283
2284 * omp-expand.cc (expand_omp_target): Remap user provided
2285 device clause arguments, -1 to -2 and -2 to -3, either
2286 at compile time if constant, or at runtime.
2287
2288 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
2289
2290 * common.opt (finstrument-functions): Set explicit value.
2291 (-finstrument-functions-once): New option.
2292 * doc/invoke.texi (Program Instrumentation Options): Document it.
2293 * gimplify.cc (build_instrumentation_call): New static function.
2294 (gimplify_function_tree): Call it to emit the instrumentation calls
2295 if -finstrument-functions[-once] is specified.
2296
2297 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
2298
2299 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
2300 * gimple.h (gimple_set_location): Do not copy warning data from
2301 the previous location when it is UNKNOWN_LOCATION.
2302 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
2303
2304 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2305
2306 PR target/105911
2307 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
2308 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
2309 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
2310 operands[3] unmodified.
2311
2312 2022-06-12 Simon Wright <simon@pushface.org>
2313
2314 PR target/104871
2315 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
2316 version is darwin20 (macOS 11) or greater, truncate the version to the
2317 major number.
2318
2319 2022-06-12 Mark Mentovai <mark@mentovai.com>
2320
2321 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
2322
2323 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2324
2325 PR target/96463
2326 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
2327 (svld1rq_impl::fold): Define.
2328 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
2329 op_mode and op_vec_flags.
2330 (aarch64_evpc_reencode): Initialize newd.op_mode and
2331 newd.op_vec_flags.
2332 (aarch64_evpc_sve_dup): New function.
2333 (aarch64_expand_vec_perm_const_1): Gate existing calls to
2334 aarch64_evpc_* functions under d->vmode == d->op_mode,
2335 and call aarch64_evpc_sve_dup.
2336 (aarch64_vectorize_vec_perm_const): Remove assert
2337 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
2338 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
2339 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
2340 constant.
2341
2342 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2343
2344 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
2345 New prototype.
2346 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
2347 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
2348 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
2349 New backend functions that process the abovementioned logic.
2350 (xtensa_emit_move_sequence): Revert the previous changes.
2351 * config/xtensa/xtensa.md: New split patterns for integer
2352 and floating-point, as the frontend part.
2353
2354 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2355
2356 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
2357 for ABS and NEG, add missing case for BSWAP and CLRSB, and
2358 double the costs for integer divisions using libfuncs if
2359 optimizing for speed, in order to take advantage of fast constant
2360 division by multiplication.
2361 (TARGET_INSN_COST): New macro definition.
2362 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
2363 calculating relative costs of a RTL insns, for both of speed and
2364 size.
2365 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
2366 the attribute "length" that depends on TARGET_DENSITY.
2367 (define_asm_attributes, blockage, frame_blockage): Add missing
2368 attributes.
2369 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
2370 dependent option, however, preparatory work for now.
2371
2372 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2373
2374 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
2375 Pass through the block length / loop count conditions if
2376 zero-overhead looping is configured and active,
2377
2378 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2379
2380 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
2381 Split into individual signedness, in order to use libcall
2382 "__umulsidi3" but not the other.
2383 (<u>mulhisi3): Merge into one by using code iterator.
2384 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
2385
2386 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
2387
2388 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
2389 not generate block copies with vector pair instructions if we are
2390 tuning for power10.
2391
2392 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
2393
2394 PR rtl-optimization/7061
2395 * expr.cc (emit_group_store): For groups that consist of a single
2396 scalar integer register that hold a complex mode value, use
2397 gen_lowpart to generate a SUBREG to "view_convert" to the complex
2398 mode. For modes of different sizes, first convert to an integer
2399 mode of the appropriate size.
2400
2401 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2402
2403 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
2404
2405 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2406
2407 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
2408 New insn_and_split pattern.
2409
2410 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2411
2412 * config/xtensa/xtensa.md (one_cmplsi2):
2413 Rearrange as an insn_and_split pattern.
2414
2415 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2416
2417 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
2418
2419 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
2420
2421 * config/rs6000/rs6000.md (FP_ISA3): Delete.
2422 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
2423 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
2424 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
2425 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
2426 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
2427 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
2428 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
2429 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
2430
2431 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
2432
2433 * config/riscv/riscv.md
2434 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
2435 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
2436 rather than space with FSFLAGS.
2437
2438 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
2439
2440 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
2441 omp_discover_declare_target_fn_r): Don't walk reverse-offload
2442 target regions.
2443
2444 2022-06-09 Jakub Jelinek <jakub@redhat.com>
2445
2446 * doc/invoke.texi (-Waddress): Fix a typo in small example.
2447 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
2448
2449 2022-06-09 Cui,Lili <lili.cui@intel.com>
2450
2451 PR target/105493
2452 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
2453 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
2454 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
2455 (icelake_cost): Ditto.
2456 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
2457 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
2458 {8, 8, 8, 10, 15}.
2459
2460 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
2461
2462 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
2463 and ior insns to one rotate and mask insn.
2464 (define_split for bswapdi register): Likewise.
2465
2466 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
2467
2468 PR middle-end/105874
2469 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
2470 variable tem_modifier for calculating the expand_modifier enum to
2471 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
2472
2473 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
2474
2475 PR target/105879
2476 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
2477 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
2478 'gen_highpart' bitwise semantics and fix order of highpart and
2479 lowpart depending on target endianness.
2480
2481 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
2482
2483 * config/arm/arm-cpus.in (star-mc1): New cpu.
2484 * config/arm/arm-tables.opt: Regenerate.
2485 * config/arm/arm-tune.md: Regenerate.
2486 * doc/invoke.texi: Update docs.
2487
2488 2022-06-08 liuhongt <hongtao.liu@intel.com>
2489
2490 PR target/105513
2491 PR target/105504
2492 * config/i386/i386.md (*movsi_internal): Change alternative
2493 from *v to ?v.
2494 (*movdi_internal): Ditto.
2495 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
2496 to ?r.
2497 (*vec_extractv4sf_mem): Ditto.
2498 (*vec_extracthf): Ditto.
2499
2500 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
2501
2502 PR target/105090
2503 * config/arm/arm.cc (arm_bfi_1_p): New function.
2504 (arm_bfi_p): New function.
2505 (arm_rtx_costs_internal): Add costs for BFI idioms.
2506 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
2507 * config/arm/constraints.md (Dj): New constraint.
2508 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
2509 (insv_zero): Convert to an insn with a split.
2510 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
2511
2512 2022-06-07 liuhongt <hongtao.liu@intel.com>
2513
2514 PR target/105854
2515 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
2516 from Yv to Yw.
2517
2518 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
2519
2520 PR middle-end/105853
2521 PR target/105856
2522 * calls.cc (load_register_parameters): Call store_constructor
2523 and int_expr_size directly instead of expanding via expand_expr.
2524 * expr.cc (static void store_constructor): Don't prototype here.
2525 (static HOST_WIDE_INT int_expr_size): Likewise.
2526 (store_constructor): No longer static.
2527 (int_expr_size): Likewise, no longer static.
2528 * expr.h (store_constructor): Prototype here.
2529 (int_expr_size): Prototype here.
2530
2531 2022-06-07 Jan Beulich <jbeulich@suse.com>
2532
2533 Revert:
2534 2022-06-03 Jan Beulich <jbeulich@suse.com>
2535
2536 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
2537 * configure.ac: Check for objcopy, producing
2538 ORIGINAL_OBJCOPY_FOR_TARGET.
2539 * configure: Update accordingly.
2540 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
2541 Handle objcopy.
2542
2543 2022-06-07 Jakub Jelinek <jakub@redhat.com>
2544
2545 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
2546 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
2547 Adjust clause printing style depending on
2548 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
2549
2550 2022-06-07 Jan Beulich <jbeulich@suse.com>
2551
2552 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
2553 Change type.
2554 * config/i386/i386-builtin-types.def: New function type
2555 (V4DI, V32QI, V32QI).
2556 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
2557 V4DI_FTYPE_V32QI_V32QI.
2558
2559 2022-06-07 Jan Beulich <jbeulich@suse.com>
2560
2561 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
2562 into account for reg-only insns.
2563
2564 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
2565
2566 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
2567 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
2568 TARGET_CMOVE's (scalar integer) conditional moves.
2569 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
2570 from its equivalent (canonical) pxor;pand;pxor sequence.
2571
2572 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
2573
2574 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
2575 parameter ORDER.
2576
2577 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
2578
2579 * config.in: Regenerate.
2580 * configure: Regenerate.
2581 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
2582
2583 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
2584
2585 PR middle-end/95126
2586 * calls.cc (load_register_parameters): When loading a suitable
2587 immediate_const_ctor_p VAR_DECL into a single word_mode register,
2588 construct it directly in a pseudo rather than read it (by parts)
2589 from memory.
2590 * expr.cc (int_expr_size): Make tree argument a const_tree.
2591 (immediate_const_ctor_p): Helper predicate. Return true for
2592 simple constructors that may be materialized in a register.
2593 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
2594 VAR_DECL with a suitable immediate_const_ctor_p constructor
2595 use store_constructor to materialize it directly in a pseudo.
2596 * expr.h (immediate_const_ctor_p): Prototype here.
2597 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
2598 VALUE argument from tree to const_tree.
2599 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
2600 prototype.
2601
2602 2022-06-04 Jakub Jelinek <jakub@redhat.com>
2603
2604 PR target/105825
2605 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
2606 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
2607 bits of mask aren't all set, use operands[2] mode for the AND
2608 operation instead of always SImode.
2609
2610 2022-06-03 Jakub Jelinek <jakub@redhat.com>
2611
2612 PR middle-end/30314
2613 PR middle-end/105777
2614 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
2615 x > stype_max / cst || x < stype_min / cst): New simplification.
2616
2617 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2618
2619 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
2620 Value_Range.
2621 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
2622 * value-range.h (Value_Range::Value_Range): Implement copy
2623 constructor for Value_Range.
2624
2625 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2626
2627 * value-range.h (struct vrange_traits): Remove.
2628 (is_a): Rewrite without vrange_traits.
2629 (as_a): Same.
2630
2631 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2632
2633 * value-range.cc (vrange::contains_p): Implement.
2634 (vrange::type): Return void.
2635 (vrange::supports_type_p): Implement.
2636 (irange::fits_p): Same.
2637 (vrange::set_undefined): Same.
2638 (irange::set_nonnegative): Same.
2639 (vrange::set_varying): Same.
2640 (vrange::union_): Same.
2641 (unsupported_range::set): Move to vrange.
2642 (unsupported_range::type): Move to vrange.
2643 (vrange::intersect): Implement for varying and undefined.
2644 (vrange::zero_p): Implement.
2645 (unsupported_range::supports_type_p): Move to vrange.
2646 (vrange::nonzero_p): Implement.
2647 (unsupported_range::set_undefined): Move to vrange.
2648 (unsupported_range::set_varying): Same.
2649 (unsupported_range::dump): Same.
2650 (unsupported_range::union_): Same. Implement for varying and
2651 undefined.
2652 (unsupported_range::intersect): Move to vrange.
2653 (unsupported_range::zero_p): Same.
2654 (unsupported_range::nonzero_p): Same.
2655 (unsupported_range::set_nonzero): Same.
2656 (unsupported_range::set_zero): Same.
2657 (unsupported_range::set_nonnegative): Same.
2658 (unsupported_range::fits_p): Same.
2659 * value-range.h (class vrange): Remove abstract markers for most
2660 methods.
2661 (class unsupported_range): Remove most methods as they will now be
2662 inherited from vrange.
2663
2664 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
2665
2666 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
2667 an object level supports_type_p for irange and a static
2668 Value_Range::supports_type_p.
2669 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
2670 (fold_using_range::range_of_address): Same.
2671 (fold_using_range::range_of_builtin_call): Same.
2672 * gimple-range-fold.h (gimple_range_type): Same.
2673 (gimple_range_ssa_p): Same.
2674 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
2675 Same.
2676 (path_range_query::range_of_stmt): Same.
2677 (path_range_query::add_to_imports): Same.
2678 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
2679 (gimple_ranger::export_global_ranges): Same.
2680 * gimple-ssa-evrp-analyze.cc
2681 (evrp_range_analyzer::record_ranges_from_phis): Same.
2682 * range-op.cc (range_operator::wi_fold): Same.
2683 (range_operator::fold_range): Same.
2684 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
2685 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
2686 (evaluate_control_stmt_using_entry_checks): Same.
2687 * tree-ssa-threadedge.cc
2688 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
2689 * tree-vrp.cc (supported_types_p): Same.
2690 * value-query.cc (range_query::value_of_expr): Same.
2691 (range_query::value_on_edge): Same.
2692 (range_query::value_of_stmt): Same.
2693 (range_query::get_tree_range): Same.
2694 (get_range_global): Same.
2695 (global_range_query::range_of_expr): Same.
2696 * value-range-equiv.h (class value_range_equiv): Same.
2697 * value-range.cc (irange::supports_type_p): Same.
2698 (unsupported_range::supports_type_p): Same.
2699 * value-range.h (enum value_range_discriminator): Same.
2700 (Value_Range::init): Same.
2701 (Value_Range::supports_type_p): Same.
2702 (irange::supports_type_p): Same.
2703 (irange::supports_p): Same.
2704 (vrange::supports_type_p): Same.
2705 (vrange_allocator::alloc_vrange): Same.
2706
2707 2022-06-03 Jan Beulich <jbeulich@suse.com>
2708
2709 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
2710 * configure.ac: Check for objcopy, producing
2711 ORIGINAL_OBJCOPY_FOR_TARGET.
2712 * configure: Update accordingly.
2713 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
2714 Handle objcopy.
2715
2716 2022-06-03 Jan Beulich <jbeulich@suse.com>
2717
2718 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
2719 (*mmx_psadbw): New. Mark as commutative.
2720 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
2721 (*<sse2_avx2>_psadbw): New. Mark as commutative.
2722
2723 2022-06-03 Alexandre Oliva <oliva@adacore.com>
2724
2725 PR tree-optimization/105665
2726 PR tree-optimization/100810
2727 * tree-ssa-loop-ivopts.cc
2728 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
2729 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
2730 (find_ssa_undef): Check precomputed flag and intervening uses.
2731 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
2732
2733 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2734
2735 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
2736 tree-logical-location.o.
2737 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
2738 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
2739 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
2740 (sarif-stderr, sarif-file): New enum values.
2741 * diagnostic-client-data-hooks.h: New file.
2742 * diagnostic-format-sarif.cc: New file.
2743 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
2744 (enum diagnostic_event::noun): New enum.
2745 (enum diagnostic_event::property): New enum.
2746 (struct diagnostic_event::meaning): New struct.
2747 (diagnostic_event::get_logical_location): New vfunc.
2748 (diagnostic_event::get_meaning): New vfunc.
2749 (simple_diagnostic_event::get_logical_location): New vfunc impl.
2750 (simple_diagnostic_event::get_meaning): New vfunc impl.
2751 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
2752 (diagnostic_initialize): Initialize m_client_data_hooks.
2753 (diagnostic_finish): Clean up m_client_data_hooks.
2754 (diagnostic_event::meaning::dump_to_pp): New.
2755 (diagnostic_event::meaning::maybe_get_verb_str): New.
2756 (diagnostic_event::meaning::maybe_get_noun_str): New.
2757 (diagnostic_event::meaning::maybe_get_property_str): New.
2758 (get_cwe_url): Make non-static.
2759 (diagnostic_output_format_init): Handle
2760 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
2761 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
2762 * diagnostic.h (enum diagnostics_output_format): Add
2763 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
2764 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
2765 (class diagnostic_client_data_hooks): New forward decl.
2766 (class logical_location): New forward decl.
2767 (diagnostic_context::m_client_data_hooks): New field.
2768 (diagnostic_output_format_init_sarif_stderr): New decl.
2769 (diagnostic_output_format_init_sarif_file): New decl.
2770 (get_cwe_url): New decl.
2771 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
2772 sarif-file.
2773 * doc/sourcebuild.texi (Scan a particular file): Add
2774 scan-sarif-file and scan-sarif-file-not.
2775 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
2776 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
2777 (LANG_HOOKS_INITIALIZER): Add
2778 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
2779 * langhooks.cc (lhd_get_sarif_source_language): New.
2780 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
2781 * logical-location.h: New file.
2782 * plugin.cc (struct for_each_plugin_closure): New.
2783 (for_each_plugin_cb): New.
2784 (for_each_plugin): New.
2785 * plugin.h (for_each_plugin): New decl.
2786 * tree-diagnostic-client-data-hooks.cc: New file.
2787 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
2788 (tree_diagnostics_defaults): Populate m_client_data_hooks.
2789 * tree-logical-location.cc: New file.
2790 * tree-logical-location.h: New file.
2791
2792 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2793
2794 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
2795 to description.
2796 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
2797 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
2798 (diagnostics_output_format): Add json-stderr and json-file.
2799 * diagnostic-format-json.cc (json_flush_to_file): New.
2800 (json_final_cb): Convert to...
2801 (json_flush_to_file): ...this, ...
2802 (json_stderr_final_cb): ...this, and...
2803 (json_file_final_cb): ...this.
2804 (diagnostic_output_format_init): Move to diagnostic.cc.
2805 (json_output_base_file_name): New.
2806 (diagnostic_output_format_init_json): New.
2807 (diagnostic_output_format_init_json_stderr): New.
2808 (diagnostic_output_format_init_json_file): New.
2809 * diagnostic.cc (diagnostic_output_format_init): Move here from
2810 diagnostic-format-json.cc; update for changes to enum.
2811 * diagnostic.h (enum diagnostics_output_format): Rename
2812 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
2813 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
2814 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
2815 (diagnostic_output_format_init): Add base_file_name param.
2816 (diagnostic_output_format_init_json_stderr): New decl.
2817 (diagnostic_output_format_init_json_file): New dec.
2818 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
2819 "json-file". Rewrite so that the existing "json" is a synonym of
2820 "json-stderr".
2821 * gcc.cc (driver_handle_option): Pass dump_base_name to
2822 diagnostic_output_format_init.
2823 * opts.cc (common_handle_option): Likewise.
2824
2825 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2826
2827 * json.cc (string::print): Fix escaping of '\'.
2828
2829 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
2830
2831 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
2832 (-1 << 31) for the single-bit case, when operating on (1 << 31)
2833 in SImode.
2834 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
2835 any single-bit value, moving the special case for (1 << 31) to
2836 riscv_build_integer_1 (in riscv.c).
2837
2838 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
2839
2840 PR target/105791
2841 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
2842 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
2843
2844 2022-06-02 Jakub Jelinek <jakub@redhat.com>
2845
2846 PR target/105778
2847 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
2848 from AND and its operands and just verify operands[2] has HImode,
2849 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
2850 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
2851 just throw away the masking. Use force_reg before calling
2852 gen_lowpart.
2853 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
2854 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
2855 just throw away the masking.
2856 (*ashl<mode>3_doubleword): Rename to ...
2857 (ashl<mode>3_doubleword): ... this.
2858 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
2859 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2860 Use force_reg before calling gen_lowpart.
2861 (*<insn><mode>3_mask): Likewise.
2862 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
2863 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
2864 case just throw away the masking. Use force_reg before calling
2865 gen_lowpart.
2866 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
2867 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
2868 throw away the masking.
2869 (*<insn><mode>3_doubleword): Rename to ...
2870 (<insn><mode>3_doubleword): ... this.
2871 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
2872 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2873 Use force_reg before calling gen_lowpart.
2874 (splitter after it): Remove :SI from AND and its operands and just
2875 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
2876 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
2877 operands and just verify operands[1] has HImode, SImode or for
2878 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
2879 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
2880 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
2881 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
2882
2883 2022-06-02 Richard Biener <rguenther@suse.de>
2884
2885 PR tree-optimization/101668
2886 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
2887 for vector types with compatible lane types.
2888 (vect_build_slp_tree_2): Deal with this.
2889 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
2890 special cases without VEC_PERM.
2891 (vectorizable_slp_permutation): Select the operand vector
2892 type and relax requirements. Handle identity permutes
2893 with mismatching operand types.
2894 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
2895 permutes for op_mode == mode.
2896
2897 2022-06-02 Richard Biener <rguenther@suse.de>
2898
2899 PR tree-optimization/105802
2900 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
2901 Make sure to also compute the range in the type of the switch index.
2902
2903 2022-06-01 David Seifert <soap@gentoo.org>
2904
2905 PR plugins/95648
2906 * configure: Regenerate.
2907
2908 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
2909
2910 PR rtl-optimization/105638
2911 * df-core.cc (df_find_single_def_src): Moved and renamed from
2912 find_single_def_src in loop-iv.cc. Change the argument to rtx
2913 and use rtx_equal_p. Return null for partial or conditional
2914 defs.
2915 * df.h (df_find_single_def_src): New prototype.
2916 * dse.cc (record_store): Use the constant source if the source
2917 register is set only once.
2918 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
2919 (replace_single_def_regs): Replace find_single_def_src with
2920 df_find_single_def_src.
2921
2922 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
2923
2924 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
2925 selected_tune.
2926 (explicit_arch): Rename to selected_arch.
2927 (x_aarch64_override_tune_string): Remove.
2928 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
2929 (aarch64_override_tune_string): Add Save so it gets saved/restored.
2930 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
2931 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
2932 (processor): Remove archtecture_version field.
2933 (selected_arch): Remove global.
2934 (selected_cpu): Remove global.
2935 (selected_tune): Remove global.
2936 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
2937 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
2938 (aarch64_override_options): Further simplify code to only set
2939 selected_arch and selected_tune globals.
2940 (aarch64_option_save): Remove now that target options are saved.
2941 (aarch64_option_restore): Remove redundant target option restores.
2942 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
2943 AARCH64_ISA_V9.
2944 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
2945 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
2946 (aarch64_ra_sign_key): Remove.
2947
2948 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2949
2950 PR middle-end/30314
2951 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
2952 x > ~(utype)0 / cst): New simplification.
2953
2954 2022-06-01 Richard Biener <rguenther@suse.de>
2955
2956 PR tree-optimization/105786
2957 * tree-loop-distribution.cc
2958 (loop_distribution::transform_reduction_loop): Only do strlen
2959 replacement for integer type reductions.
2960
2961 2022-06-01 Jakub Jelinek <jakub@redhat.com>
2962
2963 PR tree-optimization/105770
2964 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
2965 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
2966
2967 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
2968
2969 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
2970 (sbr_vector::sbr_vector): Same.
2971 (sbr_vector::grow): Same.
2972 (sbr_vector::set_bb_range): Same.
2973 (sbr_vector::get_bb_range): Same.
2974 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
2975 (sbr_sparse_bitmap::set_bb_range): Same.
2976 (sbr_sparse_bitmap::get_bb_range): Same.
2977 (block_range_cache::set_bb_range): Same.
2978 (block_range_cache::get_bb_range): Same.
2979 (block_range_cache::dump): Same.
2980 (ssa_global_cache::get_global_range): Same.
2981 (ssa_global_cache::set_global_range): Same.
2982 (ssa_global_cache::clear): Same.
2983 (ssa_global_cache::dump): Same.
2984 (ranger_cache::get_global_range): Same.
2985 (ranger_cache::set_global_range): Same.
2986 (ranger_cache::range_of_def): Same.
2987 (ranger_cache::entry_range): Same.
2988 (ranger_cache::exit_range): Same.
2989 (ranger_cache::edge_range): Same.
2990 (ranger_cache::range_of_expr): Same.
2991 (ranger_cache::range_on_edge): Same.
2992 (ranger_cache::block_range): Same.
2993 (ranger_cache::propagate_cache): Same.
2994 (ranger_cache::fill_block_cache): Same.
2995 (ranger_cache::range_from_dom): Same.
2996 * gimple-range-cache.h: Same.
2997 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
2998 Same.
2999 (gimple_outgoing_range::switch_edge_range): Same.
3000 (gimple_outgoing_range::edge_range_p): Same.
3001 * gimple-range-edge.h: Same.
3002 * gimple-range-fold.cc (fur_source::get_operand): Same.
3003 (fur_source::get_phi_operand): Same.
3004 (fur_edge::get_operand): Same.
3005 (fur_edge::get_phi_operand): Same.
3006 (fur_stmt::get_operand): Same.
3007 (fur_stmt::get_phi_operand): Same.
3008 (fur_list::fur_list): Same.
3009 (fur_list::get_operand): Same.
3010 (fur_list::get_phi_operand): Same.
3011 (fold_range): Same.
3012 (adjust_imagpart_expr): Same.
3013 (adjust_realpart_expr): Same.
3014 (gimple_range_adjustment): Same.
3015 (fold_using_range::fold_stmt): Same.
3016 (fold_using_range::range_of_range_op): Same.
3017 (fold_using_range::range_of_address): Same.
3018 (fold_using_range::range_of_phi): Same.
3019 (fold_using_range::range_of_call): Same.
3020 (fold_using_range::range_of_builtin_call): Same.
3021 (fold_using_range::range_of_builtin_int_call): Same.
3022 (fold_using_range::range_of_cond_expr): Same.
3023 (fur_source::register_outgoing_edges): Same.
3024 * gimple-range-fold.h (fold_range): Same.
3025 (gimple_range_type): Same.
3026 (gimple_range_ssa_p): Same.
3027 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
3028 (gimple_range_calc_op2): Same.
3029 (gori_compute::compute_operand_range_switch): Same.
3030 (gori_compute::compute_operand_range): Same.
3031 (gori_compute::logical_combine): Same.
3032 (gori_compute::compute_logical_operands): Same.
3033 (gori_compute::compute_operand1_range): Same.
3034 (gori_compute::compute_operand2_range): Same.
3035 (gori_compute::compute_operand1_and_operand2_range): Same.
3036 (gori_compute::outgoing_edge_range_p): Same.
3037 (gori_compute::condexpr_adjust): Same.
3038 * gimple-range-gori.h (gimple_range_calc_op1): Same.
3039 (gimple_range_calc_op2): Same.
3040 * gimple-range-path.cc (path_range_query::get_cache): Same.
3041 (path_range_query::set_cache): Same.
3042 (path_range_query::range_on_path_entry): Same.
3043 (path_range_query::internal_range_of_expr): Same.
3044 (path_range_query::range_of_expr): Same.
3045 (path_range_query::ssa_range_in_phi): Same.
3046 (path_range_query::range_defined_in_block): Same.
3047 (path_range_query::compute_ranges_in_phis): Same.
3048 (path_range_query::compute_ranges_in_block): Same.
3049 (path_range_query::add_to_imports): Same.
3050 (path_range_query::range_of_stmt): Same.
3051 * gimple-range-path.h: Same.
3052 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
3053 (gimple_infer_range::~side_effect_manager): Same.
3054 (gimple_infer_range::get_nonzero): Same.
3055 (gimple_infer_range::maybe_adjust_range): Same.
3056 (gimple_infer_range::add_range): Same.
3057 * gimple-range-infer.h: Same.
3058 * gimple-range-tests.cc: Same.
3059 * gimple-range-trace.cc (range_tracer::trailer): Same.
3060 (debug_seed_ranger): Same.
3061 * gimple-range-trace.h: Same.
3062 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
3063 (gimple_ranger::range_on_entry): Same.
3064 (gimple_ranger::range_on_exit): Same.
3065 (gimple_ranger::range_on_edge): Same.
3066 (gimple_ranger::fold_range_internal): Same.
3067 (gimple_ranger::range_of_stmt): Same.
3068 (gimple_ranger::prefill_name): Same.
3069 (gimple_ranger::prefill_stmt_dependencies): Same.
3070 (gimple_ranger::export_global_ranges): Same.
3071 (gimple_ranger::dump_bb): Same.
3072 * gimple-range.h: Same.
3073 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
3074 (memmodel_to_uhwi): Same.
3075 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
3076 (determine_value_range): Same.
3077 (record_nonwrapping_iv): Same.
3078 (infer_loop_bounds_from_signedness): Same.
3079 (scev_var_range_cant_overflow): Same.
3080 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
3081 * value-query.cc (range_query::range_on_edge): Same.
3082 (range_query::range_of_stmt): Same.
3083 (range_query::value_of_expr): Same.
3084 (range_query::value_on_edge): Same.
3085 (range_query::value_of_stmt): Same.
3086 (range_query::get_tree_range): Same.
3087 (update_global_range): Same.
3088 (get_range_global): Same.
3089 (gimple_range_global): Same.
3090 (global_range_query::range_of_expr): Same.
3091 (range_query::query_relation): Same.
3092 * value-query.h (gimple_range_global): Same.
3093 (update_global_range): Same.
3094 * vr-values.cc (vr_values::range_of_expr): Same.
3095 (bounds_of_var_in_loop): Same.
3096 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
3097 * vr-values.h (class vr_values): Same.
3098 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
3099
3100 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3101
3102 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
3103 vrange allocator.
3104 (sbr_vector::grow): Same.
3105 (sbr_vector::set_bb_range): Same.
3106 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
3107 (sbr_sparse_bitmap::set_bb_range): Same.
3108 (block_range_cache::~block_range_cache): Same.
3109 (block_range_cache::set_bb_range): Same.
3110 (ssa_global_cache::ssa_global_cache): Same.
3111 (ssa_global_cache::~ssa_global_cache): Same.
3112 (ssa_global_cache::set_global_range): Same.
3113 * gimple-range-cache.h (block_range_cache): Same.
3114 (ssa_global_cache): Same.
3115 * gimple-range-edge.cc
3116 (gimple_outgoing_range::calc_switch_ranges): Same.
3117 * gimple-range-edge.h (gimple_outgoing_range): Same.
3118 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
3119 Same.
3120 (infer_range_manager::add_range): Same.
3121 * gimple-range-infer.h (class infer_range_manager): Same.
3122 * value-range.h (class irange_allocator): Rename to...
3123 (class vrange_allocator): ...this.
3124 (irange_allocator::irange_allocator): New.
3125 (vrange_allocator::vrange_allocator): New.
3126 (irange_allocator::~irange_allocator): New.
3127 (vrange_allocator::~vrange_allocator): New.
3128 (irange_allocator::get_memory): Rename to...
3129 (vrange_allocator::alloc): ...this.
3130 (vrange_allocator::alloc_vrange): Rename from...
3131 (irange_allocator::allocate): ...this.
3132 (vrange_allocator::alloc_irange): New.
3133
3134 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3135
3136 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
3137 vrange and convert range_op_handler function calls to use the
3138 identically named object.
3139 * gimple-range-fold.cc (gimple_range_operand1): Same.
3140 (gimple_range_operand2): Same.
3141 (fold_using_range::fold_stmt): Same.
3142 (fold_using_range::range_of_range_op): Same.
3143 (fold_using_range::range_of_builtin_ubsan_call): Same.
3144 (fold_using_range::relation_fold_and_or): Same.
3145 (fur_source::register_outgoing_edges): Same.
3146 * gimple-range-fold.h (gimple_range_handler): Remove.
3147 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
3148 (gimple_range_calc_op2): Same.
3149 (range_def_chain::get_def_chain): Same.
3150 (gori_compute::compute_operand_range): Same.
3151 (gori_compute::condexpr_adjust): Same.
3152 * gimple-range.cc (gimple_ranger::prefill_name): Same.
3153 (gimple_ranger::prefill_stmt_dependencies): Same.
3154 * range-op.cc (get_bool_state): Same.
3155 (class operator_equal): Add using clause.
3156 (class operator_not_equal): Same.
3157 (class operator_lt): Same.
3158 (class operator_le): Same.
3159 (class operator_gt): Same.
3160 (class operator_ge): Same.
3161 (class operator_plus): Same.
3162 (class operator_minus): Same.
3163 (class operator_mult): Same.
3164 (class operator_exact_divide): Same.
3165 (class operator_lshift): Same.
3166 (class operator_rshift): Same.
3167 (class operator_cast): Same.
3168 (class operator_logical_and): Same.
3169 (class operator_bitwise_and): Same.
3170 (class operator_logical_or): Same.
3171 (class operator_bitwise_or): Same.
3172 (class operator_bitwise_xor): Same.
3173 (class operator_trunc_mod): Same.
3174 (class operator_logical_not): Same.
3175 (class operator_bitwise_not): Same.
3176 (class operator_cst): Same.
3177 (class operator_identity): Same.
3178 (class operator_unknown): Same.
3179 (class operator_abs): Same.
3180 (class operator_negate): Same.
3181 (class operator_addr_expr): Same.
3182 (class pointer_or_operator): Same.
3183 (operator_plus::op1_range): Adjust for vrange.
3184 (operator_minus::op1_range): Same.
3185 (operator_mult::op1_range): Same.
3186 (operator_cast::op1_range): Same.
3187 (operator_bitwise_not::fold_range): Same.
3188 (operator_negate::fold_range): Same.
3189 (range_op_handler): Rename to...
3190 (get_handler): ...this.
3191 (range_op_handler::range_op_handler): New.
3192 (range_op_handler::fold_range): New.
3193 (range_op_handler::op1_range): New.
3194 (range_op_handler::op2_range): New.
3195 (range_op_handler::lhs_op1_relation): New.
3196 (range_op_handler::lhs_op2_relation): New.
3197 (range_op_handler::op1_op2_relation): New.
3198 (range_cast): Adjust for vrange.
3199 * range-op.h (range_op_handler): Remove function.
3200 (range_cast): Adjust for vrange.
3201 (class range_op_handler): New.
3202 (get_bool_state): Adjust for vrange.
3203 (empty_range_varying): Same.
3204 (relop_early_resolve): Same.
3205 * tree-data-ref.cc (compute_distributive_range): Same.
3206 * tree-vrp.cc (get_range_op_handler): Remove.
3207 (range_fold_binary_symbolics_p): Use range_op_handler class
3208 instead of get_range_op_handler.
3209 (range_fold_unary_symbolics_p): Same.
3210 (range_fold_binary_expr): Same.
3211 (range_fold_unary_expr): Same.
3212 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
3213
3214 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3215
3216 * gimple-range-fold.h (gimple_range_type): Check type before
3217 calling supports_type_p.
3218 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
3219 * value-query.cc (range_query::get_tree_range): Same.
3220 * value-range.cc (Value_Range::lower_bound): New.
3221 (Value_Range::upper_bound): New.
3222 (Value_Range::dump): New.
3223 * value-range.h (class Value_Range): New.
3224 (irange::supports_type_p): Do not check if type is non-zero.
3225
3226 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3227
3228 * value-range-equiv.cc (value_range_equiv::set): New.
3229 * value-range-equiv.h (class value_range_equiv): Make set method
3230 virtual.
3231 Remove default bitmap argument from set method.
3232 * value-range.cc (vrange::contains_p): New.
3233 (vrange::singleton_p): New.
3234 (vrange::operator=): New.
3235 (vrange::operator==): New.
3236 (irange::fits_p): Move to .cc file.
3237 (irange::set_nonnegative): New.
3238 (unsupported_range::unsupported_range): New.
3239 (unsupported_range::set): New.
3240 (unsupported_range::type): New.
3241 (unsupported_range::set_undefined): New.
3242 (unsupported_range::set_varying): New.
3243 (unsupported_range::dump): New.
3244 (unsupported_range::union_): New.
3245 (unsupported_range::intersect): New.
3246 (unsupported_range::zero_p): New.
3247 (unsupported_range::nonzero_p): New.
3248 (unsupported_range::set_nonzero): New.
3249 (unsupported_range::set_zero): New.
3250 (unsupported_range::set_nonnegative): New.
3251 (unsupported_range::fits_p): New.
3252 (irange::set): Call irange::set_undefined.
3253 (irange::verify_range): Check discriminator field.
3254 (irange::dump): Dump [irange] marker.
3255 (irange::debug): Move to...
3256 (vrange::debug): ...here.
3257 (dump_value_range): Accept vrange.
3258 (debug): Same.
3259 * value-range.h (enum value_range_discriminator): New.
3260 (class vrange): New.
3261 (class unsupported_range): New.
3262 (struct vrange_traits): New.
3263 (is_a): New.
3264 (as_a): New.
3265 (class irange): Inherit from vrange.
3266 (dump_value_range): Adjust for vrange.
3267 (irange::kind): Rename to...
3268 (vrange::kind): ...this.
3269 (irange::varying_p): Rename to...
3270 (vrange::varying_p): ...this.
3271 (irange::undefined_p): Rename to...
3272 (vrange::undefined_p): ...this.
3273 (irange::irange): Set discriminator.
3274 (irange::union_): Convert to irange before passing to irange
3275 method.
3276 (irange::intersect): Same.
3277 (vrange::supports_type_p): New.
3278 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
3279 NULL bitmap argument to value_range_equiv::set.
3280 (vr_values::extract_range_basic): Same.
3281
3282 2022-06-01 Richard Biener <rguenther@suse.de>
3283
3284 PR tree-optimization/105763
3285 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
3286 Check gimple_range_ssa_p.
3287
3288 2022-05-31 Jason Merrill <jason@redhat.com>
3289
3290 * Makefile.in (TAGS): Look at libcpp/*.cc.
3291
3292 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
3293
3294 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
3295 Prefix mode names with E_.
3296
3297 2022-05-31 Alan Modra <amodra@gmail.com>
3298
3299 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
3300 spelling of DW_AT_namelist_item.
3301
3302 2022-05-31 Jakub Jelinek <jakub@redhat.com>
3303
3304 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
3305 allow var to be private in the outer context.
3306 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
3307 to build_outer_var_ref.
3308
3309 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3310
3311 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
3312 tieable with DImode on TARGET_64BIT, and SCmode tieable with
3313 V2SFmode, and DCmode with V2DFmode.
3314
3315 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3316
3317 PR rtl-optimization/101617
3318 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
3319 special case (indicated by negate_cc_compare_p) to generate a
3320 -1/0 mask using neg;sbb.
3321 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
3322 to generate an *x86_neg<mode>_ccc instruction.
3323 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
3324 generate a *x86_mov<mode>cc_0_m1_neg instruction.
3325
3326 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3327
3328 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
3329 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
3330 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
3331
3332 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3333
3334 PR target/70321
3335 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
3336 DI mode equality/inequality using XOR here. Instead generate a
3337 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
3338 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
3339 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
3340 (general_scalar_chain::convert_compare): New function to convert
3341 scalar equality/inequality comparison into vector operations.
3342 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
3343 new convert_compare helper method.
3344 (convertible_comparion_p): Update to match doubleword COMPARE
3345 of two register, memory or integer constant operands.
3346 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
3347 Prototype/declare member function here.
3348 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
3349 only allow new doubleword modes for EQ and NE operators.
3350 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
3351 doubleword comparison into a pair of XORs followed by an IOR to
3352 set the (zero) flags register, optimizing the XORs if possible.
3353 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
3354 iterator; V_AVX is (currently) only used by ptest.
3355 (sse4_1 mode attribute): Update to support V1TI and V2TI.
3356
3357 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
3358
3359 * config/i386/i386.md: Remove constraints when used with
3360 const_int_operand, const0_operand, const_1_operand, constm1_operand,
3361 const8_operand, const128_operand, const248_operand, const123_operand,
3362 const2367_operand, const1248_operand, const359_operand,
3363 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3364 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3365 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3366 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3367 const_0_to_255_mul_8_operand, const_1_to_31_operand,
3368 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3369 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3370 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3371 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3372 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3373 const_24_to_27_operand and const_28_to_31_operand.
3374 * config/i386/mmx.md: Ditto.
3375 * config/i386/sse.md: Ditto.
3376 * config/i386/subst.md: Ditto.
3377 * config/i386/sync.md: Ditto.
3378
3379 2022-05-30 Jan Beulich <jbeulich@suse.com>
3380
3381 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
3382 arguments.
3383
3384 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3385
3386 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
3387
3388 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
3389
3390 PR target/105599
3391 * config/darwin.h: Move versions-specific handling of multiply_defined
3392 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
3393
3394 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
3395
3396 PR other/82383
3397 * doc/sourcebuild.texi: Add entries for the c++tools,
3398 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
3399 and libsanitizer directories. Remove entry for boehm-gc.
3400 Fix alphabetization for libquadmath.
3401
3402 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
3403
3404 * config/avr/avr-mcus.def: Add device definitions.
3405 * doc/avr-mmcu.texi: Corresponding changes.
3406 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
3407 device prefix.
3408 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
3409 from leaking into cc1.
3410
3411 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
3412
3413 PR target/103722
3414 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
3415 is special) for various scenarios.
3416
3417 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
3418
3419 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
3420 describing this macro.
3421
3422 2022-05-27 Richard Biener <rguenther@suse.de>
3423
3424 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
3425
3426 2022-05-27 Martin Jambor <mjambor@suse.cz>
3427
3428 PR ipa/105639
3429 * ipa-prop.cc (propagate_controlled_uses): Check type of the
3430 constant before adding a LOAD reference.
3431
3432 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3433
3434 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
3435 to OMP_CLAUSE_ENTER.
3436 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
3437 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
3438 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
3439 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
3440 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
3441 "to" instead of "enter".
3442 * tree-nested.cc (convert_nonlocal_omp_clauses,
3443 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
3444 OMP_CLAUSE_TO_DECLARE.
3445
3446 2022-05-27 Richard Biener <rguenther@suse.de>
3447
3448 PR tree-optimization/105726
3449 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
3450 Constrain array-of-flexarray case more.
3451
3452 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3453
3454 PR sanitizer/105729
3455 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
3456 to (X &) z + w if -fsanitize=null during GENERIC folding.
3457
3458 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
3459
3460 * match.pd (match_zero_one_valued_p): New predicate.
3461 (mult @0 @1): Use zero_one_valued_p for optimization to the
3462 expression "bit_and @0 @1".
3463 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
3464 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
3465 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
3466 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
3467 Remove three redundant transforms obsoleted by the three above.
3468
3469 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
3470
3471 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
3472 to split a combined "and;cmp" sequence into "not;test".
3473
3474 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3475
3476 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
3477 (bswapsi2_internal): Revise the template and condition, and add
3478 detection code for preceding the same insn in order to omit a
3479 "SSAI 8" instruction of the latter.
3480 (bswapdi2): Suppress built-in insn expansion with the corresponding
3481 library call when optimizing for size.
3482
3483 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3484
3485 * config/xtensa/xtensa-protos.h
3486 (xtensa_expand_block_set_unrolled_loop,
3487 xtensa_expand_block_set_small_loop): New prototypes.
3488 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
3489 xtensa_expand_block_set_unrolled_loop,
3490 xtensa_expand_block_set_small_loop): New functions.
3491 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
3492 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
3493
3494 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3495
3496 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
3497 Make instruction counting more accurate, and simplify emitting insns.
3498
3499 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3500
3501 * config/xtensa/constraints.md (M, O): Use the macro.
3502 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
3503 sext_fldsz_operand): Ditto.
3504 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
3505 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
3506 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
3507 xtensa_expand_prologue): Ditto.
3508 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
3509
3510 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3511
3512 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
3513 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
3514 Ditto.
3515
3516 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
3517
3518 * gimple-range-cache.cc: Adjust comments.
3519 * gimple-range-infer.cc: Adjust comments.
3520 * gimple-range-infer.h: Adjust comments.
3521 * gimple-range.cc: Adjust comments.
3522
3523 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
3524
3525 * Makefile.in (OBJS): Use gimple-range-infer.o.
3526 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
3527 (ranger_cache::range_from_dom): Rename var side_effect to infer.
3528 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
3529 * gimple-range-cache.h: Include gimple-range-infer.h.
3530 (class ranger_cache): Adjust prototypes, use infer_range_manager.
3531 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
3532 (gimple_infer_range::*): Rename from stmt_side_effects.
3533 (infer_range_manager::*): Rename from side_effect_manager.
3534 * gimple-range-side-effect.cc: Rename.
3535 * gimple-range-side-effect.h: Rename.
3536 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
3537 (class gimple_infer_range): Rename from stmt_side_effects.
3538 (class infer_range_manager): Rename from side_effect_manager.
3539 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
3540 from register_side_effects.
3541 * gimple-range.h (register_inferred_ranges): Adjust prototype.
3542 * range-op.h: Adjust comment.
3543 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
3544 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
3545
3546 2022-05-25 Simon Cook <simon.cook@embecosm.com>
3547
3548 * config/riscv/arch-canonicalize: Only add mafd extension if
3549 base was rv32/rv64g.
3550
3551 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
3552
3553 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
3554
3555 2022-05-25 Jakub Jelinek <jakub@redhat.com>
3556
3557 PR sanitizer/105714
3558 * asan.cc (has_stmt_been_instrumented_p): For assignments which
3559 are both stores and loads, return true only if both destination
3560 and source have been instrumented.
3561
3562 2022-05-25 Martin Liska <mliska@suse.cz>
3563 Richard Biener <rguenther@suse.de>
3564
3565 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
3566 * params.opt (max-unswitch-level): Remove.
3567 * doc/invoke.texi (max-unswitch-level): Likewise.
3568 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
3569 gimplified expressions.
3570 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
3571 (tree_may_unswitch_on): Rename to ...
3572 (find_unswitching_predicates_for_bb): ... this and handle
3573 switch statements.
3574 (get_predicates_for_bb): Likewise.
3575 (set_predicates_for_bb): Likewise.
3576 (init_loop_unswitch_info): Likewise.
3577 (tree_ssa_unswitch_loops): Prepare stuff before calling
3578 tree_unswitch_single_loop.
3579 (tree_unswitch_single_loop): Rework the function using
3580 pre-computed predicates and with a per original loop cost model.
3581 (merge_last): New.
3582 (add_predicate_to_path): Likewise.
3583 (find_range_for_lhs): Likewise.
3584 (simplify_using_entry_checks): Rename to ...
3585 (evaluate_control_stmt_using_entry_checks): ... this, handle
3586 switch statements and improve simplifications using ranger.
3587 (simplify_loop_version): Rework using
3588 evaluate_control_stmt_using_entry_checks.
3589 (evaluate_bbs): New.
3590 (evaluate_loop_insns_for_predicate): Likewise.
3591 (tree_unswitch_loop): Adjust to allow switch statements and
3592 pass in the edge to unswitch.
3593 (clean_up_after_unswitching): New.
3594 (pass_tree_unswitch::execute): Pass down fun.
3595
3596 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
3597
3598 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
3599 counts for the epilog loop.
3600
3601 2022-05-24 Martin Sebor <msebor@redhat.com>
3602 Richard Biener <rguenther@suse.de>
3603
3604 PR middle-end/105604
3605 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
3606 (get_origin_and_offset_r): Remove null handling. Handle variable array
3607 sizes.
3608 (get_origin_and_offset): Handle null argument here. Simplify.
3609 (alias_offset): Update comment.
3610 * pointer-query.cc (field_at_offset): Update comment. Handle members
3611 of variable-length types.
3612
3613 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3614
3615 * target.def (vec_perm_const): Define new parameter op_mode and
3616 update doc.
3617 * doc/tm.texi: Regenerate.
3618 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
3619 vec_perm_const hook to add new parameter op_mode and return false
3620 if result and operand modes do not match.
3621 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
3622 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
3623 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
3624 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
3625 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
3626 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
3627 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
3628 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
3629 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
3630 prototype.
3631 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
3632 (ashrv2di3): Likewise.
3633 * optabs.cc (expand_vec_perm_const): Likewise.
3634 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
3635 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
3636 op_mode and pass it to vec_perm_const hook.
3637 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
3638 * match.pd (vec_perm X Y CST): Likewise.
3639 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
3640 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
3641 (vect_grouped_load_supported): Likewise.
3642 (vect_shift_permute_load_chain): Likewise.
3643 * tree-vect-generic.cc (lower_vec_perm): Likewise.
3644 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
3645 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
3646 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
3647 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
3648 (vect_transform_slp_perm_load): Likewise.
3649 (vectorizable_slp_permutation): Likewise.
3650 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
3651 (vectorizable_bswap): Likewise.
3652 (scan_store_can_perm_p): Likewise.
3653 (vect_gen_perm_mask_checked): Likewise.
3654
3655 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
3656
3657 PR target/104816
3658 * config/i386/i386.opt: Remove Undocumented.
3659 * doc/invoke.texi: Document -mcet-switch.
3660
3661 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3662
3663 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
3664 * config/gcn/gcn-opts.h (enum gcn_isa): New.
3665 (TARGET_GCN3): Use enum gcn_isa.
3666 (TARGET_GCN3_PLUS): Likewise.
3667 (TARGET_GCN5): Likewise.
3668 (TARGET_GCN5_PLUS): Likewise.
3669 (TARGET_CDNA1): New.
3670 (TARGET_CDNA1_PLUS): New.
3671 (TARGET_CDNA2): New.
3672 (TARGET_CDNA2_PLUS): New.
3673 (TARGET_M0_LDS_LIMIT): New.
3674 (TARGET_PACKED_WORK_ITEMS): New.
3675 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
3676 (gcn_option_override): Recognise CDNA ISA variants.
3677 (gcn_omp_device_kind_arch_isa): Support gfx90a.
3678 (gcn_expand_prologue): Make m0 init optional.
3679 Add support for packed work items.
3680 (output_file_start): Support gfx90a.
3681 (gcn_hsa_declare_function_name): Support gfx90a metadata.
3682 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
3683 __CDNA2__.
3684 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
3685 (<su>mulsi3_highpart_imm): Likewise.
3686 (<su>mulsidi3): Likewise.
3687 (<su>mulsidi3_imm): Likewise.
3688 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
3689 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
3690 (main): Support gfx90a.
3691 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
3692 * config/gcn/t-omp-device: Add gfx90a isa.
3693
3694 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3695
3696 * config.in: Regenerate.
3697 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
3698 (X_900): Delete.
3699 (X_906): Delete.
3700 (X_908): Delete.
3701 (S_FIJI): Delete.
3702 (S_900): Delete.
3703 (S_906): Delete.
3704 (S_908): Delete.
3705 (NO_XNACK): New macro.
3706 (NO_SRAM_ECC): New macro.
3707 (SRAMOPT): Keep only v4 variant.
3708 (HSACO3_SELECT_OPT): Delete.
3709 (DRIVER_SELF_SPECS): Delete.
3710 (ASM_SPEC): Remove LLVM 9 support.
3711 * config/gcn/gcn-valu.md
3712 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
3713 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
3714 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
3715 (print_operand_address): Remove assembler bug workaround.
3716 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
3717 (EF_AMDGPU_SRAM_ECC_V3): Delete.
3718 (SET_XNACK_ON): Delete v3 variants.
3719 (SET_XNACK_OFF): Delete v3 variants.
3720 (TEST_XNACK): Delete v3 variants.
3721 (SET_SRAM_ECC_ON): Delete v3 variants.
3722 (SET_SRAM_ECC_ANY): Delete v3 variants.
3723 (SET_SRAM_ECC_OFF): Delete v3 variants.
3724 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
3725 (TEST_SRAM_ECC_ANY): Delete v3 variants.
3726 (TEST_SRAM_ECC_ON): Delete v3 variants.
3727 (copy_early_debug_info): Remove v3 support.
3728 (main): Remove v3 support.
3729 * configure: Regenerate.
3730 * configure.ac: Replace all GCN feature checks with a version check.
3731
3732 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3733
3734 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
3735 i.e. a double word negation of a zero extended operand, to
3736 neg;sbb.
3737
3738 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3739
3740 PR tree-optimization/105668
3741 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
3742 V1TImode, just like V2DImode.
3743 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
3744 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
3745 (vcond_mask_v2div2di): Delete.
3746 (vcond_mask_v1tiv1ti): New define_expand.
3747
3748 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
3749
3750 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
3751 to strncmp for strings of length one.
3752
3753 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
3754
3755 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
3756 prefetch instructions.
3757 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
3758 Extensions.
3759 (RISCV_ATYPE_SI): New.
3760 (RISCV_ATYPE_DI): New.
3761 * config/riscv/riscv-ftypes.def (0): New.
3762 (1): New.
3763 * config/riscv/riscv.md (riscv_clean_<mode>): New.
3764 (riscv_flush_<mode>): New.
3765 (riscv_inval_<mode>): New.
3766 (riscv_zero_<mode>): New.
3767 (prefetch): New.
3768 (riscv_prefetchi_<mode>): New.
3769 * config/riscv/riscv-cmo.def: New file.
3770
3771 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
3772
3773 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
3774 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
3775 (MASK_ZICBOM): New.
3776 (MASK_ZICBOP): New.
3777 (TARGET_ZICBOZ): New.
3778 (TARGET_ZICBOM): New.
3779 (TARGET_ZICBOP): New.
3780 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
3781
3782 2022-05-24 David Malcolm <dmalcolm@redhat.com>
3783
3784 * tree-vect-slp-patterns.cc: Add "final" and "override" to
3785 vect_pattern::build impls as appropriate.
3786
3787 2022-05-24 David Malcolm <dmalcolm@redhat.com>
3788
3789 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
3790 implementations, removing redundant "virtual" as appropriate.
3791 * ipa-fnsummary.h: Likewise.
3792 * ipa-modref.cc: Likewise.
3793 * ipa-param-manipulation.cc: Likewise.
3794 * ipa-profile.cc: Likewise.
3795 * ipa-prop.h: Likewise.
3796 * ipa-pure-const.cc: Likewise.
3797 * ipa-reference.cc: Likewise.
3798 * ipa-sra.cc: Likewise.
3799 * symbol-summary.h: Likewise.
3800 * symtab-thunks.cc: Likewise.
3801
3802 2022-05-24 Martin Liska <mliska@suse.cz>
3803
3804 Revert:
3805 2022-05-24 Martin Liska <mliska@suse.cz>
3806
3807 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3808 warning.
3809
3810 2022-05-24 Martin Liska <mliska@suse.cz>
3811
3812 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
3813 warning.
3814
3815 2022-05-24 Bruno Haible <bruno@clisp.org>
3816
3817 PR other/105527
3818 * doc/install.texi (Configuration): Add more details about --with-zstd.
3819 Document --with-zstd-include and --with-zstd-lib
3820
3821 2022-05-24 Richard Biener <rguenther@suse.de>
3822
3823 PR middle-end/105711
3824 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
3825 and use it.
3826 (extract_bit_field_1): Pass down the mode of op0 to
3827 extract_bit_field_as_subreg.
3828
3829 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
3830
3831 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
3832 fmv_cost.
3833 (rocket_tune_info): Add default fmv_cost 8.
3834 (sifive_7_tune_info): Ditto.
3835 (thead_c906_tune_info): Ditto.
3836 (optimize_size_tune_info): Ditto.
3837 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
3838
3839 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3840
3841 PR c/105378
3842 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
3843 builtin.
3844 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
3845 clause but no depend clauses.
3846 * omp-expand.cc (expand_taskwait_call): Use
3847 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
3848 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
3849
3850 2022-05-24 Richard Biener <rguenther@suse.de>
3851
3852 PR tree-optimization/100221
3853 * tree-ssa-dse.cc (contains_phi_arg): New function.
3854 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
3855
3856 2022-05-24 Richard Biener <rguenther@suse.de>
3857
3858 PR tree-optimization/105629
3859 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
3860 a sign-extending conversion.
3861
3862 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
3863
3864 PR target/105627
3865 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
3866 be a debug insn.
3867 (union_uses): Skip debug use_insn.
3868
3869 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
3870
3871 * config/riscv/predicates.md (const_0_operand): Remove
3872 const_double.
3873 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
3874 CONST_DOUBLE.
3875 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
3876
3877 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
3878
3879 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
3880 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
3881 (cpu_indicator_init): Handle Zhaoxin processors.
3882 * common/config/i386/i386-common.cc: Add lujiazui.
3883 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
3884 VENDOR_ZHAOXIN.
3885 (enum processor_types): Add ZHAOXIN_FAM7H.
3886 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
3887 * config.gcc: Add lujiazui.
3888 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
3889 Signatures for zhaoxin
3890 (signature_SHANGHAI_ecx): Ditto.
3891 (signature_SHANGHAI_edx): Ditto.
3892 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
3893 -march=native recognize lujiazui processors.
3894 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
3895 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
3896 * config/i386/i386.h (enum processor_type): Ditto.
3897 * config/i386/i386.md: Add lujiazui.
3898 * config/i386/x86-tune-costs.h (struct processor_costs): Add
3899 lujiazui costs.
3900 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
3901 (ix86_adjust_cost): Ditto.
3902 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
3903 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
3904 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
3905 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
3906 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
3907 (X86_TUNE_MOVX): Ditto.
3908 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
3909 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
3910 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
3911 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
3912 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
3913 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
3914 (X86_TUNE_USE_LEAVE): Ditto.
3915 (X86_TUNE_PUSH_MEMORY): Ditto.
3916 (X86_TUNE_LCP_STALL): Ditto.
3917 (X86_TUNE_USE_INCDEC): Ditto.
3918 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
3919 (X86_TUNE_OPT_AGU): Ditto.
3920 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
3921 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
3922 (X86_TUNE_USE_SAHF): Ditto.
3923 (X86_TUNE_USE_BT): Ditto.
3924 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
3925 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
3926 (X86_TUNE_AVOID_MFENCE): Ditto.
3927 (X86_TUNE_EXPAND_ABS): Ditto.
3928 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
3929 (X86_TUNE_USE_FFREEP): Ditto.
3930 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
3931 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
3932 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
3933 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
3934 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
3935 * doc/extend.texi: Add details about lujiazui.
3936 * doc/invoke.texi: Add details about lujiazui.
3937 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
3938
3939 2022-05-23 Martin Liska <mliska@suse.cz>
3940
3941 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
3942
3943 2022-05-23 Richard Biener <rguenther@suse.de>
3944
3945 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
3946 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
3947
3948 2022-05-23 Richard Biener <rguenther@suse.de>
3949
3950 * gimple-expr.cc (is_gimple_condexpr): Remove.
3951 * gimple-expr.h (is_gimple_condexpr): Likewise.
3952 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
3953 * tree-if-conv.cc (set_bb_predicate): Likewie.
3954 (add_to_predicate_list): Likewise.
3955 (gen_phi_arg_condition): Likewise.
3956 (predicate_scalar_phi): Likewise.
3957 (predicate_statements): Likewise.
3958
3959 2022-05-23 Richard Biener <rguenther@suse.de>
3960
3961 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
3962 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
3963 as is_gimple_val.
3964 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
3965 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
3966 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
3967 Build the condition of the COND_EXPR separately.
3968 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
3969 * tree-vect-generic.cc (expand_vector_condition): Likewise.
3970 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
3971 Likewise.
3972 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
3973 * tree-vect-patterns.cc: Add comment indicating we are
3974 building invalid COND_EXPRs and why.
3975 * omp-expand.cc (expand_omp_simd): Gimplify the condition
3976 to the COND_EXPR separately.
3977 (expand_omp_atomic_cas): Note part that should be unreachable
3978 now.
3979 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
3980 condition for valid replacements.
3981 * tree-if-conv.cc (predicate_bbs): Simulate previous
3982 re-folding of the condition in folded COND_EXPRs which
3983 is necessary because of unfolded GIMPLE_CONDs in the IL
3984 as in for example gcc.dg/fold-bopcond-1.c.
3985 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
3986 Handle that the comparison is now in the def stmt of
3987 the select operand. Required by gcc.dg/pr104526.c.
3988
3989 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
3990
3991 PR fortran/104949
3992 * langhooks-def.h (lhd_omp_array_size): New.
3993 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
3994 (LANG_HOOKS_DECLS): Add it.
3995 * langhooks.cc (lhd_omp_array_size): New.
3996 * langhooks.h (struct lang_hooks_for_decls): Add hook.
3997 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
3998 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
3999
4000 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
4001
4002 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
4003 XOR/IOR case. Account for two instructions for double-word
4004 operations. In case of vector pandn, account for single
4005 instruction. Likewise for integer andn with TARGET_BMI.
4006 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
4007 <case NEG>: Double-word negation requires 3 instructions.
4008
4009 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
4010
4011 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
4012 Fix "K" extension prefix to be placed before "J".
4013 * config/riscv/arch-canonicalize: Likewise.
4014
4015 2022-05-23 liuhongt <hongtao.liu@intel.com>
4016
4017 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
4018 <-> mask cost from 5 to 6.
4019 (icelake_cost): Ditto.
4020
4021 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
4022
4023 * config/aarch64/aarch64.md
4024 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
4025 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
4026 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
4027 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
4028 (one_cmpl_<optab><mode>2): Likewise.
4029 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
4030 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
4031 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
4032 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
4033 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
4034 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
4035 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
4036 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
4037 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
4038 (rolsi3_insn_uxtw): New pattern.
4039 * config/aarch64/iterators.md (SHIFT): Add rotate left.
4040 (SHIFT_no_rotate): Add new iterator.
4041 (SHIFT:shift): Print rotate left as ror.
4042 (is_rotl): Add test for left rotate.
4043
4044 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
4045
4046 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
4047 processing. Add support for architectural extensions.
4048 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
4049 AARCH64_CPU_DEFAULT_FLAGS.
4050 (TARGET_CPU_NBITS): Remove.
4051 (TARGET_CPU_MASK): Remove.
4052 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
4053 (get_tune_cpu): Assert CPU is always valid.
4054 (get_arch): Assert architecture is always valid.
4055 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
4056 (aarch64_option_restore): Remove unnecessary checks on tune.
4057
4058 2022-05-20 David Malcolm <dmalcolm@redhat.com>
4059
4060 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
4061 "FINAL" and "OVERRIDE" with "final" and "override".
4062 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
4063 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
4064 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
4065 * diagnostic-path.h: Likewise.
4066 * digraph.cc: Likewise.
4067 * gcc-rich-location.h: Likewise.
4068 * gimple-array-bounds.cc: Likewise.
4069 * gimple-loop-versioning.cc: Likewise.
4070 * gimple-range-cache.cc: Likewise.
4071 * gimple-range-cache.h: Likewise.
4072 * gimple-range-fold.cc: Likewise.
4073 * gimple-range-fold.h: Likewise.
4074 * gimple-range-tests.cc: Likewise.
4075 * gimple-range.h: Likewise.
4076 * gimple-ssa-evrp.cc: Likewise.
4077 * input.cc: Likewise.
4078 * json.h: Likewise.
4079 * read-rtl-function.cc: Likewise.
4080 * tree-complex.cc: Likewise.
4081 * tree-diagnostic-path.cc: Likewise.
4082 * tree-ssa-ccp.cc: Likewise.
4083 * tree-ssa-copy.cc: Likewise.
4084 * tree-vrp.cc: Likewise.
4085 * value-query.h: Likewise.
4086 * vr-values.h: Likewise.
4087
4088 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
4089
4090 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
4091 target_memcpy_rect_async to omp_runtime_apis array.
4092
4093 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4094
4095 * doc/sourcebuild.texi (Decimal floating point attributes): Document
4096 dfp_bid effective-target.
4097
4098 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4099
4100 * config/aarch64/aarch64.cc
4101 (aarch64_split_128bit_move): Handle DFP modes.
4102 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
4103 (aarch64_classify_address): Likewise.
4104 (aarch64_legitimize_address_displacement): Likewise.
4105 (aarch64_reinterpret_float_as_int): Likewise.
4106 (aarch64_float_const_zero_rtx_p): Likewise.
4107 (aarch64_can_const_movi_rtx_p): Likewise.
4108 (aarch64_anchor_offset): Likewise.
4109 (aarch64_secondary_reload): Likewise.
4110 (aarch64_rtx_costs): Likewise.
4111 (aarch64_legitimate_constant_p): Likewise.
4112 (aarch64_gimplify_va_arg_expr): Likewise.
4113 (aapcs_vfp_sub_candidate): Likewise.
4114 (aarch64_vfp_is_call_or_return_candidate): Likewise.
4115 (aarch64_output_scalar_simd_mov_immediate): Likewise.
4116 (aarch64_gen_adjusted_ldpstp): Likewise.
4117 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
4118 * config/aarch64/aarch64.md
4119 (movsf_aarch64): Use SFD iterator and rename into
4120 mov<mode>_aarch64.
4121 (movdf_aarch64): Use DFD iterator and rename into
4122 mov<mode>_aarch64.
4123 (movtf_aarch64): Use TFD iterator and rename into
4124 mov<mode>_aarch64.
4125 (split pattern for move TF mode): Use TFD iterator.
4126 * config/aarch64/iterators.md
4127 (GPF_TF_F16_MOV): Add DFP modes.
4128 (SFD, DFD, TFD): New iterators.
4129 (GPF_TF): Add DFP modes.
4130 (TX, DX, DX2): Likewise.
4131
4132 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4133
4134 * configure: Regenerate.
4135
4136 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
4137
4138 PR middle-end/98865
4139 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
4140 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
4141 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
4142
4143 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
4144
4145 * config/rs6000/rs6000-builtins.def: Rephrase
4146 to remove RS6000_BTC_SPECIAL from comment.
4147 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
4148 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
4149 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
4150 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
4151 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
4152 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
4153 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
4154 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
4155 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
4156 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
4157 RS6000_BTM_ALWAYS): Delete.
4158
4159 2022-05-19 Richard Biener <rguenther@suse.de>
4160
4161 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
4162 computation of the new value.
4163
4164 2022-05-19 Richard Biener <rguenther@suse.de>
4165
4166 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
4167 (add_to_value): Use get_expression_id.
4168 (bitmap_insert_into_set): Likewise.
4169 (bitmap_value_insert_into_set): Likewise.
4170
4171 2022-05-19 David Malcolm <dmalcolm@redhat.com>
4172
4173 * doc/invoke.texi (-fanalyzer-checker=): Add
4174 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
4175 the list of analyzer warnings disabled by
4176 -fanalyzer-checker=taint.
4177
4178 2022-05-19 Jakub Jelinek <jakub@redhat.com>
4179
4180 PR debug/105630
4181 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
4182 global vars without symtab node even when they have DECL_RTL
4183 set.
4184
4185 2022-05-19 Jakub Jelinek <jakub@redhat.com>
4186
4187 PR c/105635
4188 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
4189 doesn't have pointer or reference type.
4190
4191 2022-05-18 Marek Polacek <polacek@redhat.com>
4192
4193 PR c/105131
4194 * doc/invoke.texi: Document -Wenum-int-mismatch.
4195
4196 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
4197
4198 * config/i386/gnu-user-common.h (defined): Only define
4199 TARGET_CAN_SPLIT_STACK for glibc targets.
4200 * config/i386/gnu.h (defined): Ditto.
4201
4202 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
4203
4204 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
4205 is wider than word_mode, a multiplication costs three word_mode
4206 multiplications and two word_mode additions.
4207
4208 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
4209
4210 * config/i386/i386.md (define_split): Split *andsi_1
4211 and *andn_si_ccno after reload with -Oz.
4212
4213 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
4214
4215 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
4216 Output reason for failure to dump file.
4217 (scop_detection::harmful_loop_in_region): Likewise.
4218 (scop_detection::graphite_can_represent_expr): Likewise.
4219 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
4220 (scop_detection::stmt_simple_for_scop_p): Likewise.
4221 (print_sese_loop_numbers): New function.
4222 (scop_detection::add_scop): Use from here.
4223
4224 2022-05-18 liuhongt <hongtao.liu@intel.com>
4225
4226 PR middle-end/103462
4227 * match.pd (bitwise_induction_p): New match.
4228 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
4229 Declare.
4230 (analyze_and_compute_bitwise_induction_effect): New function.
4231 (enum bit_op_kind): New enum.
4232 (final_value_replacement_loop): Enhanced to handle bitwise
4233 induction.
4234
4235 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
4236
4237 PR target/95737
4238 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
4239
4240 2022-05-18 liuhongt <hongtao.liu@intel.com>
4241
4242 PR target/104375
4243 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
4244 define_insn.
4245
4246 2022-05-18 liuhongt <hongtao.liu@intel.com>
4247
4248 PR target/104610
4249 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
4250 for QImode when code is EQ or NE.
4251 * config/i386/i386.md (cbranchoi4): New expander.
4252
4253 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
4254 Segher Boessenkool <segher@kernel.crashing.org>
4255
4256 PR target/105556
4257 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
4258 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
4259 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
4260 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
4261 Update other operands accordingly.
4262
4263 2022-05-17 Marek Polacek <polacek@redhat.com>
4264
4265 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
4266
4267 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
4268
4269 PR target/99685
4270 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
4271 register count when not splitting IEEE 128-bit Complex.
4272
4273 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4274
4275 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
4276 target inside target if inner is reverse offload.
4277
4278 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4279
4280 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
4281 * config/nvptx/mkoffload.cc (process): Likewise.
4282
4283 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
4284
4285 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
4286 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
4287 (non_null_ref::~non_null_ref): Delete.
4288 (non_null_ref::set_nonnull): Delete.
4289 (non_null_ref::non_null_deref_p): Delete.
4290 (non_null_ref::process_name): Delete.
4291 (ranger_cache::ranger_cache): Initialize m_exit object.
4292 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
4293 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
4294 (ranger_cache::update_to_nonnull): Delete.
4295 (non_null_loadstore): Delete.
4296 (ranger_cache::block_apply_nonnull): Delete.
4297 (ranger_cache::apply_side_effects): New.
4298 * gimple-range-cache.h (class non_null_ref): Delete.
4299 (non_null_ref::adjust_range): Delete.
4300 (class ranger_cache): Adjust prototypes, add side effect manager.
4301 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
4302 side effect manager for queries.
4303 (path_range_query::adjust_for_non_null_uses): Ditto.
4304 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
4305 * gimple-range-side-effect.cc: New.
4306 * gimple-range-side-effect.h: New.
4307 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
4308 (gimple_ranger::range_of_expr): Check def block for override value.
4309 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
4310 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
4311 (gimple_ranger::register_side_effects): Call apply_side_effects.
4312 (enable_ranger): Update contructor.
4313 * gimple-range.h (class gimple_ranger): Update prototype.
4314 (enable_ranger): Update prototype.
4315 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
4316
4317 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
4318
4319 PR c++/105169
4320 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
4321 * varasm.cc (switch_to_comdat_section): New
4322 (handle_vtv_comdat_section): Call switch_to_comdat_section.
4323 * varasm.h: Declare switch_to_comdat_section.
4324
4325 2022-05-17 Richard Biener <rguenther@suse.de>
4326
4327 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
4328 not clear bb->aux of the copied blocks.
4329
4330 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
4331
4332 PR tree-optimization/105458
4333 * value-relation.cc (path_oracle::register_relation): Merge, then check
4334 for equivalence.
4335
4336 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
4337
4338 PR target/105624
4339 Revert:
4340 * config/i386/i386.md: Remove constraints when used with
4341 const_int_operand, const0_operand, const_1_operand, constm1_operand,
4342 const8_operand, const128_operand, const248_operand, const123_operand,
4343 const2367_operand, const1248_operand, const359_operand,
4344 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
4345 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
4346 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
4347 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
4348 const_0_to_255_mul_8_operand, const_1_to_31_operand,
4349 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
4350 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
4351 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
4352 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
4353 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
4354 const_24_to_27_operand and const_28_to_31_operand.
4355 * config/i386/mmx.md: Ditto.
4356 * config/i386/sse.md: Ditto.
4357 * config/i386/subst.md: Ditto.
4358 * config/i386/sync.md: Ditto.
4359
4360 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
4361
4362 * diagnostic.cc: Don't advise to call 'abort' instead of
4363 'internal_error'.
4364 * system.h: Advise to call 'internal_error' instead of 'abort' or
4365 'fancy_abort'.
4366
4367 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
4368
4369 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
4370 a reference to a variable which does not exist.
4371 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
4372 in comment.
4373
4374 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
4375
4376 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
4377 (isl_id_for_parameter): ... this new function name.
4378 (build_scop_context): Adjust function use.
4379
4380 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4381
4382 PR target/105602
4383 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
4384 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
4385
4386 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4387
4388 * tree-core.h (enum omp_clause_depend_kind): Add
4389 OMP_CLAUSE_DEPEND_INOUTSET.
4390 * tree-pretty-print.cc (dump_omp_clause): Handle
4391 OMP_CLAUSE_DEPEND_INOUTSET.
4392 * gimplify.cc (gimplify_omp_depend): Likewise.
4393 * omp-low.cc (lower_depend_clauses): Likewise.
4394
4395 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4396
4397 PR target/105613
4398 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
4399 andv4si3 only for EQ, for NE use iorv4si3 instead.
4400
4401 2022-05-17 Richard Biener <rguenther@suse.de>
4402
4403 PR tree-optimization/105618
4404 * tree-ssa-sink.cc (statement_sink_location): For virtual
4405 PHI uses ignore those defining the used virtual operand.
4406
4407 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4408
4409 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
4410 hanlde -> handle. Fix up comment formatting.
4411
4412 2022-05-17 liuhongt <hongtao.liu@intel.com>
4413
4414 PR target/105033
4415 * config/i386/sse.md (*vec_concatv4si): Extend to ..
4416 (*vec_concat<mode>): .. V16QI and V8HImode.
4417 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
4418 (*vec_concatv8hi_permt2): Ditto.
4419
4420 2022-05-17 liuhongt <hongtao.liu@intel.com>
4421
4422 PR tree-optimization/105591
4423 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
4424 vec_perm_expr index.
4425
4426 2022-05-16 Jason Merrill <jason@redhat.com>
4427
4428 PR c/105492
4429 * attribs.cc (decl_attributes): Fix broken typedefs here.
4430
4431 2022-05-16 David Malcolm <dmalcolm@redhat.com>
4432
4433 PR analyzer/105103
4434 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
4435 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
4436 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
4437 -Wanalyzer-va-list-use-after-va-end.
4438
4439 2022-05-16 Richard Biener <rguenther@suse.de>
4440
4441 * gimple-match.h (gimple_build): Move code_helper overloads ...
4442 * gimple-fold.h (gimple_build): ... here.
4443 (gimple_build): Transition to new worker API. Provide
4444 overloads from sequence-based API.
4445 (gimple_convert): Likewise.
4446 (gimple_convert_to_ptrofftype): Likewise.
4447 (gimple_build_vector_from_val): Likewise.
4448 (gimple_build_vector): Likewise.
4449 (gimple_build_round_up): Likewise.
4450 * gimple-fold.cc (gimple_build_insert_seq): New helper.
4451 (gimple_build): Use it. Transition combined_fn and code_helper
4452 API parts.
4453 (gimple_convert): Transition to new worker API.
4454 (gimple_convert_to_ptrofftype): Likewise.
4455 (gimple_build_vector_from_val): Likewise.
4456 (gimple_build_vector): Likewise.
4457 (gimple_build_round_up): Likewise.
4458
4459 2022-05-16 Richard Biener <rguenther@suse.de>
4460
4461 * gimple-match.h (code_helper): Move class ...
4462 * tree.h (code_helper): ... here.
4463
4464 2022-05-16 Martin Liska <mliska@suse.cz>
4465
4466 * opts-global.cc (write_langs): Add comment.
4467
4468 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
4469
4470 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
4471 instead of a bitwise negation.
4472 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
4473
4474 2022-05-16 Martin Liska <mliska@suse.cz>
4475
4476 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
4477 (decls_mismatched_attributes): Likewise.
4478 * builtins.cc (c_strlen): Likewise.
4479 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
4480 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
4481 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
4482 (aarch64_init_simd_builtin_types): Likewise.
4483 (aarch64_init_builtin_rsqrt): Likewise.
4484 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
4485 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
4486 (arm_init_simd_builtin_types): Likewise.
4487 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
4488 (c_prefix): Likewise.
4489 (main): Likewise.
4490 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
4491 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
4492 * config/gcn/mkoffload.cc (process_obj): Likewise.
4493 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
4494 (fold_builtin_cpu): Likewise.
4495 * config/m32c/m32c.cc (PUSHM_N): Likewise.
4496 * config/nvptx/mkoffload.cc (process): Likewise.
4497 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
4498 * config/s390/s390.cc (NR_C_MODES): Likewise.
4499 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
4500 (create_insn_code_compression_table): Likewise.
4501 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
4502 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
4503 * dwarf2out.cc (ARRAY_SIZE): Likewise.
4504 * genhooks.cc (emit_documentation): Likewise.
4505 (emit_init_macros): Likewise.
4506 * gimple-ssa-sprintf.cc (format_floating): Likewise.
4507 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
4508 * godump.cc (keyword_hash_init): Likewise.
4509 * hash-table.cc (hash_table_higher_prime_index): Likewise.
4510 * input.cc (for_each_line_table_case): Likewise.
4511 * ipa-free-lang-data.cc (free_lang_data): Likewise.
4512 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
4513 * optc-save-gen.awk: Likewise.
4514 * spellcheck.cc (test_metric_conditions): Likewise.
4515 * tree-vect-slp-patterns.cc (sizeof): Likewise.
4516 (ARRAY_SIZE): Likewise.
4517 * tree.cc (build_common_tree_nodes): Likewise.
4518
4519 2022-05-16 Martin Liska <mliska@suse.cz>
4520
4521 * opts-global.cc (write_langs): Allocate at least one byte.
4522
4523 2022-05-16 Richard Biener <rguenther@suse.de>
4524
4525 * match.pd (A cmp B ? A : B -> min/max): New patterns
4526 carried over from fold_cond_expr_with_comparison.
4527
4528 2022-05-16 liuhongt <hongtao.liu@intel.com>
4529
4530 PR target/105587
4531 * config/i386/i386-expand.cc
4532 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
4533 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
4534
4535 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
4536
4537 * config/i386/i386.md: Remove constraints when used with
4538 const_int_operand, const0_operand, const_1_operand, constm1_operand,
4539 const8_operand, const128_operand, const248_operand, const123_operand,
4540 const2367_operand, const1248_operand, const359_operand,
4541 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
4542 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
4543 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
4544 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
4545 const_0_to_255_mul_8_operand, const_1_to_31_operand,
4546 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
4547 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
4548 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
4549 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
4550 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
4551 const_24_to_27_operand and const_28_to_31_operand.
4552 * config/i386/mmx.md: Ditto.
4553 * config/i386/sse.md: Ditto.
4554 * config/i386/subst.md: Ditto.
4555 * config/i386/sync.md: Ditto.
4556
4557 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
4558 Uroš Bizjak <ubizjak@gmail.com>
4559
4560 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
4561 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
4562 by a pshufd and pand.
4563 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
4564 vector equality as a V2DImode vector comparison (see above),
4565 followed by a pshufd and pand.
4566
4567 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
4568
4569 PR tree-optimization/83907
4570 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
4571 for memset with an constant char value.
4572 (handle_store): Improved handling of stores with a first byte
4573 of zero, but not storing_all_zeros_p.
4574
4575 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
4576 Manolis Tsamis <manolis.tsamis@vrull.eu>
4577
4578 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
4579 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
4580 * doc/sourcebuild.texi: add documentation for RISC-V specific
4581 test target keywords
4582
4583 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4584
4585 PR tree-optimization/105597
4586 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
4587 of the lhs and make sure it is not undefined.
4588
4589 2022-05-13 Sebastian Pop <spop@amazon.com>
4590
4591 PR target/105162
4592 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
4593 of str array.
4594 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
4595 memmodel_from_int and handle MEMMODEL_SYNC_*.
4596 (DEF0): Add __aarch64_*_sync functions.
4597
4598 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4599
4600 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
4601 enumerated values.
4602 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
4603 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
4604 new VREL enumerated values.
4605 (*::lhs_op2_relation): Ditto.
4606 (*::op1_op2_relation): Ditto.
4607 (*::fold_range): Use new VREL enumerated values.
4608 (minus_op1_op2_relation_effect): Ditto.
4609 (range_relational_tests): Ditto.
4610 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
4611 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
4612 relation_kind.
4613 (*_op1_op2_relation): Return relation_kind.
4614 (relop_early_resolve): Use VREL_UNDEFINED.
4615 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
4616 * value-relation.cc (VREL_LAST): Change enumerated value.
4617 (vrel_range_assert): Delete.
4618 (print_relation): Remove range assert.
4619 (rr_negate_table): Adjust table to use new enumerated values..
4620 (relation_negate): Remove range assert.
4621 (rr_swap_table): Adjust.
4622 (relation_swap): Remove range assert.
4623 (rr_intersect_table): Adjust.
4624 (relation_intersect): Remove range assert.
4625 (rr_union_table): Adjust.
4626 (relation_union): Remove range assert.
4627 (rr_transitive_table): Adjust.
4628 (relation_transitive): Remove range assert.
4629 (equiv_oracle::query_relation): Use new VREL enumerated values.
4630 (equiv_oracle::register_relation): Ditto.
4631 (relation_oracle::register_stmt): Ditto.
4632 (dom_oracle::set_one_relation): Ditto.
4633 (dom_oracle::register_transitives): Ditto.
4634 (dom_oracle::query_relation): Ditto.
4635 (path_oracle::register_relation): Ditto.
4636 (path_oracle::query_relation): Ditto.
4637 * value-relation.h (enum relation_kind_t): New relation_kind.
4638 (*_op1_op2_relation): Adjust prototypes.
4639
4640 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4641
4642 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
4643 * value-range.cc (irange::legacy_verbose_union_): Add return value.
4644 (irange::irange_single_pair_union): New.
4645 (irange::irange_union): Add return value.
4646 * value-range.h (class irange): Adjust prototypes.
4647
4648 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4649
4650 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
4651 (irange::irange_contains_p): New.
4652 (irange::irange_intersect): Add return value.
4653 * value-range.h (class irange): Adjust prototypes.
4654
4655 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4656
4657 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
4658 had_global value instead.
4659
4660 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4661
4662 PR tree-optimization/104547
4663 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
4664 the op1/op2 relation to the relation call.
4665 * range-op.cc (*::lhs_op1_relation): Add param.
4666 (*::lhs_op2_relation): Ditto.
4667 (operator_minus::lhs_op1_relation): New.
4668 (range_relational_tests): Add relation param.
4669 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
4670
4671 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4672
4673 * gimple-range.cc (gimple_ranger::register_side_effects): First check
4674 if the DEF should be exported as a global.
4675 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
4676 which will export globals.
4677 (execute_ranger_vrp): Remove call to export_global_ranges.
4678
4679 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4680
4681 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
4682
4683 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
4684
4685 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
4686 worlist truncated.
4687 (ranger_cache::entry_range): Add rfd_mode parameter.
4688 (ranger_cache::exit_range): Ditto.
4689 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
4690 (ranger_cache::range_of_expr): Adjust call to entry_range.
4691 (ranger_cache::range_on_edge): Split to edge_range and call.
4692 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
4693 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
4694 mutiple predecessors.
4695 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
4696 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
4697 prototypes.
4698
4699 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4700
4701 * gimple-harden-conditionals.cc: Include sbitmap.h.
4702 (pass_harden_conditional_branches::execute): Skip new blocks.
4703 (pass_harden_compares::execute): Likewise.
4704
4705 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
4706
4707 PR target/105463
4708 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
4709 mve_memory_operand.
4710 (*movmisalign<mode>_mve_load): Likewise.
4711 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
4712 form...
4713 (@movmisalign<mode>): ... thus. Use generic predicates and then
4714 rework operands if they are not valid. For MVE rework to a
4715 narrower element size if the alignment is not high enough.
4716
4717 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
4718
4719 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
4720 when there is no write-back. Fix use when strict is true.
4721
4722 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4723
4724 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
4725 definition.
4726
4727 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4728
4729 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
4730 extzvsi_internal): Rename from extv, extv_internal, extzv and
4731 extzv_internal, respectively.
4732
4733 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
4734
4735 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
4736 is the same on the LHS and RHS before rewriting one with the model
4737 of the other.
4738
4739 2022-05-13 Richard Biener <rguenther@suse.de>
4740
4741 * gimple-fold.cc (gimple_build): Adjust for new
4742 main API.
4743 * gimple-fold.h (gimple_build): New main APIs with
4744 iterator, insert direction and iterator update.
4745 (gimple_build): New forwarder template.
4746 (clear_padding_type_may_have_padding_p): Remove.
4747 (clear_type_padding_in_mask): Likewise.
4748 (arith_overflowed_p): Likewise.
4749 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
4750 (clear_type_padding_in_mask): Likewise.
4751 (arith_overflowed_p): Likewise.
4752 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
4753 (gimplify_build2): Likewise.
4754 (gimplify_build1): Likewise.
4755 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
4756 compare stmt.
4757 * gengtype.cc (open_base_files): Re-order includes.
4758 * builtins.cc: Re-order gimple-fold.h include.
4759 * calls.cc: Likewise.
4760 * cgraphbuild.cc: Likewise.
4761 * cgraphunit.cc: Likewise.
4762 * config/rs6000/rs6000-builtin.cc: Likewise.
4763 * config/rs6000/rs6000-call.cc: Likewise.
4764 * config/rs6000/rs6000.cc: Likewise.
4765 * config/s390/s390.cc: Likewise.
4766 * expr.cc: Likewise.
4767 * fold-const.cc: Likewise.
4768 * function-tests.cc: Likewise.
4769 * gimple-match-head.cc: Likewise.
4770 * gimple-range-fold.cc: Likewise.
4771 * gimple-ssa-evrp-analyze.cc: Likewise.
4772 * gimple-ssa-evrp.cc: Likewise.
4773 * gimple-ssa-sprintf.cc: Likewise.
4774 * gimple-ssa-warn-access.cc: Likewise.
4775 * gimplify.cc: Likewise.
4776 * graphite-isl-ast-to-gimple.cc: Likewise.
4777 * ipa-cp.cc: Likewise.
4778 * ipa-devirt.cc: Likewise.
4779 * ipa-prop.cc: Likewise.
4780 * omp-low.cc: Likewise.
4781 * pointer-query.cc: Likewise.
4782 * range-op.cc: Likewise.
4783 * tree-cfg.cc: Likewise.
4784 * tree-if-conv.cc: Likewise.
4785 * tree-inline.cc: Likewise.
4786 * tree-object-size.cc: Likewise.
4787 * tree-ssa-ccp.cc: Likewise.
4788 * tree-ssa-dom.cc: Likewise.
4789 * tree-ssa-forwprop.cc: Likewise.
4790 * tree-ssa-ifcombine.cc: Likewise.
4791 * tree-ssa-loop-ivcanon.cc: Likewise.
4792 * tree-ssa-math-opts.cc: Likewise.
4793 * tree-ssa-pre.cc: Likewise.
4794 * tree-ssa-propagate.cc: Likewise.
4795 * tree-ssa-reassoc.cc: Likewise.
4796 * tree-ssa-sccvn.cc: Likewise.
4797 * tree-ssa-strlen.cc: Likewise.
4798 * tree-ssa.cc: Likewise.
4799 * value-pointer-equiv.cc: Likewise.
4800 * vr-values.cc: Likewise.
4801
4802 2022-05-13 Alexandre Oliva <oliva@adacore.com>
4803
4804 PR rtl-optimization/105455
4805 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
4806 probabilities for newly-conditional edges.
4807
4808 2022-05-13 liuhongt <hongtao.liu@intel.com>
4809
4810 PR tree-optimization/102583
4811 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
4812 contiguous stride in the VEC_PERM_EXPR.
4813
4814 2022-05-12 Richard Biener <rguenther@suse.de>
4815
4816 PR rtl-optimization/105577
4817 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
4818 edges before running fast DCE via df_analyze.
4819
4820 2022-05-12 Richard Biener <rguenther@suse.de>
4821
4822 PR tree-optimization/105562
4823 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
4824 against all CLOBBER defs if there's not an obvious must-alias
4825 and we are not doing redundant store elimination.
4826 (vn_walk_cb_data::redundant_store_removal_p): New field.
4827 (vn_reference_lookup_pieces): Initialize it.
4828 (vn_reference_lookup): Add argument to specify if we are
4829 doing redundant store removal.
4830 (eliminate_dom_walker::eliminate_stmt): Specify we do.
4831 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
4832
4833 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
4834
4835 PR target/104371
4836 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
4837 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
4838 New define_split pattern.
4839
4840 2022-05-12 Jakub Jelinek <jakub@redhat.com>
4841
4842 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
4843 if null_pointer_node.
4844 (gimplify_scan_omp_clauses): Likewise.
4845 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
4846 as omp_all_memory.
4847
4848 2022-05-11 Patrick Palka <ppalka@redhat.com>
4849
4850 * tree.h (TREE_VEC_BEGIN): Define.
4851 (TREE_VEC_END): Correct 'length' member access.
4852 (class tree_vec_range): Define.
4853
4854 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4855
4856 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
4857
4858 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4859
4860 * config/rs6000/rs6000.md: Use d instead of <Ff>.
4861
4862 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
4863
4864 * config/rs6000/constraints.md (register_constraint "f"): Use
4865 RS6000_CONSTRAINT_d.
4866 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
4867 RS6000_CONSTRAINT_f.
4868 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
4869 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
4870 RS6000_CONSTRAINT_d.
4871
4872 2022-05-11 Richard Biener <rguenther@suse.de>
4873
4874 * gimple-fold.h (gimple_build): Use variadic template
4875 functions for the gimple_build API forwarders without
4876 location_t argument.
4877
4878 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
4879
4880 PR middle-end/70090
4881 * asan.cc (initialize_sanitizer_builtins): Register
4882 __builtin_dynamic_object_size if necessary.
4883
4884 2022-05-11 Richard Biener <rguenther@suse.de>
4885
4886 PR rtl-optimization/105559
4887 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
4888 for non-debug insns.
4889
4890 2022-05-11 Richard Biener <rguenther@suse.de>
4891
4892 * generic-match-head.cc: Include tree-eh.h.
4893 * match.pd ((cond ...) cmp X): New simplification inspired
4894 by fold_binary_op_with_conditional_arg.
4895 (eq/ne (cmp ...) true/false): Likewise.
4896
4897 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
4898
4899 * doc/install.texi: Don't document '--with-hsa-runtime',
4900 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
4901
4902 2022-05-11 Martin Liska <mliska@suse.cz>
4903
4904 PR other/105527
4905 * doc/install.texi: Document the configure option --with-zstd.
4906
4907 2022-05-11 Martin Liska <mliska@suse.cz>
4908
4909 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
4910 compute index in cpu_features2.
4911 (set_cpu_feature): Likewise.
4912 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
4913 loop for cpu_features2 and use NOP_EXPRs.
4914
4915 2022-05-11 Richard Biener <rguenther@suse.de>
4916
4917 PR bootstrap/105551
4918 * opts.cc (finish_options): Also disable var-tracking if
4919 !DWARF2_DEBUGGING_INFO.
4920
4921 2022-05-11 liuhongt <hongtao.liu@intel.com>
4922
4923 PR target/104915
4924 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
4925 pre_reload define_insn_and_split.
4926 (*vec_setv2di_0_zero_extendhi_1): Ditto.
4927 (*vec_set<mode>_0_zero_extendsi): Ditto.
4928 (*vec_setv2di_0_zero_extendsi_1): Ditto.
4929 (ssewvecmode): New mode attr.
4930 (ssewvecmodelower): Ditto.
4931 (ssepackmodelower): Ditto.
4932
4933 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
4934
4935 * config/rs6000/constraints.md (register constraint v): Use
4936 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
4937
4938 2022-05-11 Martin Liska <mliska@suse.cz>
4939
4940 PR target/105355
4941 * config/riscv/riscv.opt: Remove Separate from
4942 -msmall-data-limit=.
4943 * optc-gen.awk: Report error for the described situation.
4944 * gcc.cc: Use Separate syntax.
4945 * opts.cc (gen_command_line_string): Change option name.
4946
4947 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
4948
4949 PR target/105414
4950 * match.pd (minmax): Skip constant folding for fmin/fmax when both
4951 arguments are sNaN or one is sNaN and another is NaN.
4952
4953 2022-05-10 Jakub Jelinek <jakub@redhat.com>
4954
4955 PR tree-optimization/105528
4956 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
4957 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
4958
4959 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
4960
4961 * doc/md.texi (Defining Mode Iterators): Correct example replacement
4962 text.
4963
4964 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
4965
4966 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
4967 constants.
4968 (fmin<mode>3, fmax<mode>3): New insns.
4969
4970 2022-05-10 Richard Biener <rguenther@suse.de>
4971
4972 * tree-if-conv.cc (fold_build_cond_expr): Use
4973 match-and-simplify to simplify the condition.
4974 (ifcvt_follow_ssa_use_edges): Remove.
4975 (predicate_scalar_phi): Use follow_all_ssa_edges.
4976
4977 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
4978
4979 PR middle-end/100400
4980 * omp-oacc-kernels-decompose.cc
4981 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
4982 call 'internal_error'.
4983
4984 2022-05-10 Richard Biener <rguenther@suse.de>
4985
4986 PR middle-end/105537
4987 * toplev.cc (process_options): Move flag_var_tracking
4988 handling ...
4989 * opts.cc (finish_options): ... here.
4990
4991 2022-05-10 Martin Liska <mliska@suse.cz>
4992
4993 * basic-block.h (struct basic_block_d): Use void *
4994 instead PTR.
4995 * cfgloop.h: Likewise.
4996 * cgraph.h: Likewise.
4997 * gengtype-state.cc (state_ident_by_name): Likewise.
4998 (record_type): Likewise.
4999 (read_state_already_seen_type): Likewise.
5000 * gengtype.cc (dump_type): Likewise.
5001 (input_file_by_name): Likewise.
5002 (main): Likewise.
5003 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
5004 * ipa-utils.h (struct ipa_dfs_info): Likewise.
5005 * plugin.cc (htab_hash_plugin): Likewise.
5006
5007 2022-05-10 Richard Biener <rguenther@suse.de>
5008
5009 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
5010 API with !GENERATOR_FILE.
5011 * opts.cc (global_options): Poison.
5012 (global_options_set): Likewise.
5013 (finish_options): Refer to options via opts.
5014
5015 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
5016 Roger Sayle <roger@nextmovesoftware.com>
5017
5018 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
5019 alternative when optimizing for size and the immediate operand is
5020 const_0_to_127_operand.
5021 (*andqi_2_maybe_si): Likewise.
5022 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
5023
5024 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
5025
5026 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
5027 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
5028 can't be negative.
5029
5030 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
5031
5032 PR target/105292
5033 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
5034 true only for 8-byte vector modes.
5035
5036 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
5037
5038 PR middle-end/70090
5039 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
5040 (instrument_object_size): Get dynamic object size expression.
5041
5042 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
5043
5044 PR preprocessor/101168
5045 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
5046 Avoid empty identifier.
5047
5048 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
5049
5050 PR target/101891
5051 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
5052 as a generic MMX mode instead of V4HImode.
5053 (zero_all_mm_registers): Use SET to zero instead of MOV for
5054 zeroing scratch registers.
5055 (ix86_zero_call_used_regs): Likewise.
5056
5057 2022-05-09 liuhongt <hongtao.liu@intel.com>
5058
5059 PR target/105354
5060 * config/i386/i386-expand.cc
5061 (expand_vec_perm_pslldq_psrldq_por): New function.
5062 (ix86_expand_vec_perm_const_1): Try
5063 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
5064 4/5-instruction sequence.
5065
5066 2022-05-09 Martin Liška <mliska@suse.cz>
5067
5068 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
5069 * system.h (STATIC_ASSERT): Define as static_assert for C++
5070 and fallback to array index in C.
5071
5072 2022-05-09 Richard Biener <rguenther@suse.de>
5073
5074 PR tree-optimization/105517
5075 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
5076 offset can be represented in the POINTER_PLUS_EXPR IL.
5077 (vn_reference_insert): Likewise.
5078 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
5079
5080 2022-05-09 Richard Biener <rguenther@suse.de>
5081
5082 * match.pd: Remove #if GIMPLE guards around ! using patterns.
5083
5084 2022-05-09 liuhongt <hongtao.liu@intel.com>
5085
5086 PR target/105072
5087 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
5088 New define_insn.
5089 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
5090 define_insn_and_split.
5091
5092 2022-05-09 Alex Coplan <alex.coplan@arm.com>
5093
5094 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
5095 symtab state is PARSING.
5096
5097 2022-05-09 Martin Liska <mliska@suse.cz>
5098
5099 * system.h (LIKELY): Define.
5100 (UNLIKELY): Likewise.
5101 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
5102 macros.
5103 * dse.cc (set_position_unneeded): Likewise.
5104 (set_all_positions_unneeded): Likewise.
5105 (any_positions_needed_p): Likewise.
5106 (all_positions_needed_p): Likewise.
5107 * expmed.cc (flip_storage_order): Likewise.
5108 * genmatch.cc (dt_simplify::gen_1): Likewise.
5109 * ggc-common.cc (gt_pch_save): Likewise.
5110 * print-rtl.cc: Likewise.
5111 * rtl-iter.h (T>::array_type::~array_type): Likewise.
5112 (T>::next): Likewise.
5113 * rtl-ssa/internals.inl: Likewise.
5114 * rtl-ssa/member-fns.inl: Likewise.
5115 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
5116 (rtx_properties::try_to_add_dest): Likewise.
5117 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
5118 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
5119 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
5120 * sort.cc (likely): Likewise.
5121 (mergesort): Likewise.
5122 * wide-int.h (wi::eq_p): Likewise.
5123 (wi::ltu_p): Likewise.
5124 (wi::cmpu): Likewise.
5125 (wi::bit_and): Likewise.
5126 (wi::bit_and_not): Likewise.
5127 (wi::bit_or): Likewise.
5128 (wi::bit_or_not): Likewise.
5129 (wi::bit_xor): Likewise.
5130 (wi::add): Likewise.
5131 (wi::sub): Likewise.
5132
5133 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
5134
5135 * config/riscv/arch-canonicalize: Handle g correctly.
5136
5137 2022-05-07 Marek Polacek <polacek@redhat.com>
5138
5139 PR c++/101833
5140 PR c++/47634
5141 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
5142
5143 2022-05-06 Jason Merrill <jason@redhat.com>
5144
5145 * diagnostic-color.cc: Add fnname and targs color entries.
5146 * doc/invoke.texi: Document them.
5147
5148 2022-05-06 Jason Merrill <jason@redhat.com>
5149
5150 * vec.h (vec::iterate): Fix comment.
5151
5152 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
5153
5154 PR target/102059
5155 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
5156 and -mpower10-fusion options for inlining purposes.
5157
5158 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
5159
5160 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
5161
5162 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
5163
5164 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
5165 omp_runtime_apis array.
5166
5167 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
5168
5169 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
5170 (scan_sharing_clauses): Check a restriction on allocate clause.
5171
5172 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
5173
5174 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
5175 and ORDERED clause conflict errors. Add check for GRAINSIZE and
5176 NUM_TASKS on TASKLOOP.
5177
5178 2022-05-05 Martin Liska <mliska@suse.cz>
5179
5180 * genautomata.cc (create_composed_state): Remove dead code.
5181 * graphite-poly.cc (print_pdrs): Likewise.
5182 * lto-wrapper.cc (run_gcc): Likewise.
5183 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
5184 Likewise.
5185
5186 2022-05-05 Martin Liska <mliska@suse.cz>
5187
5188 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
5189 PROF_*.
5190 (gimple_gen_time_profiler): Likewise.
5191
5192 2022-05-05 Martin Liska <mliska@suse.cz>
5193
5194 * value-prof.cc (stream_out_histogram_value): Remove sanity
5195 checking.
5196
5197 2022-05-05 Richard Biener <rguenther@suse.de>
5198
5199 PR tree-optimization/104162
5200 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
5201 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
5202 becomes invariant.
5203 (vn_reference_insert): Likewise.
5204
5205 2022-05-05 Richard Biener <rguenther@suse.de>
5206
5207 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
5208 to real_value field.
5209 (tree_real_cst::value): Add real_value field.
5210 * tree.h (TREE_REAL_CST_PTR): Adjust.
5211 * tree.cc (build_real): Remove separate allocation.
5212 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
5213 Likewise.
5214
5215 2022-05-05 Richard Biener <rguenther@suse.de>
5216
5217 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
5218 divisions with undefined overflow unconditionally.
5219 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
5220 overflow to defined.
5221
5222 2022-05-05 Richard Biener <rguenther@suse.de>
5223
5224 PR tree-optimization/105484
5225 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
5226 whether the CFG changed.
5227 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
5228
5229 2022-05-05 Richard Biener <rguenther@suse.de>
5230
5231 PR tree-optimization/104595
5232 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
5233 COND_EXPR do not fail if check_bool_pattern returns false.
5234
5235 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
5236
5237 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
5238 item that is in an outer data-sharing clause.
5239
5240 2022-05-04 Richard Biener <rguenther@suse.de>
5241
5242 PR tree-optimization/104658
5243 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
5244 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
5245 type on nodes we promote.
5246 (vectorizable_bb_reduc_epilogue): Deal with externalized
5247 root.
5248 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
5249 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
5250
5251 2022-05-04 Richard Biener <rguenther@suse.de>
5252
5253 PR tree-optimization/103116
5254 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
5255 case we need peeling for gaps even though GROUP_GAP is zero.
5256
5257 2022-05-04 Martin Liska <mliska@suse.cz>
5258
5259 * gengtype-state.cc (read_a_state_token): Remove dead code.
5260 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
5261
5262 2022-05-04 Richard Biener <rguenther@suse.de>
5263
5264 * gimplify.cc (gimplify_init_constructor): First gimplify,
5265 then simplify the result to a VECTOR_CST.
5266
5267 2022-05-04 Jakub Jelinek <jakub@redhat.com>
5268
5269 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
5270 element at the end of insn_conditions.
5271 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
5272 ARRAY_SIZE (insn_conditions).
5273
5274 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
5275
5276 PR target/104662
5277 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
5278 vector of booleans and MVE is not enabled.
5279
5280 2022-05-04 Richard Biener <rguenther@suse.de>
5281
5282 PR debug/105158
5283 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
5284 Move debug stmts to the predecessor if moving to the
5285 destination is not possible.
5286 (remove_forwarder_block): Adjust.
5287 (remove_forwarder_block_with_phi): Likewise.
5288
5289 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
5290
5291 PR tree-optimization/102950
5292 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
5293 determine bounds of bitwise operations on signed types.
5294 (operator_bitwise_and::wi_fold): Call the above function.
5295 (operator_bitwise_or::wi_fold): Likewise.
5296 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
5297 result can't be zero if the operands can't be equal.
5298
5299 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
5300
5301 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
5302 protocol class methods linker-visible.
5303
5304 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
5305
5306 PR target/105079
5307 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
5308 define_insn_and_split pattern.
5309
5310 2022-05-03 Richard Biener <rguenther@suse.de>
5311
5312 PR middle-end/105083
5313 * tree-scalar-evolution.cc (scev_initialize): Verify we
5314 have appropriate loop state.
5315 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
5316 loop init and finalization.
5317
5318 2022-05-03 Richard Biener <rguenther@suse.de>
5319
5320 PR middle-end/105461
5321 * opts.cc (finish_options): Match the condition to
5322 disable flag_var_tracking to that of process_options.
5323
5324 2022-05-03 Richard Biener <rguenther@suse.de>
5325
5326 * opts.cc: #undef OPTIONS_SET_P.
5327 (finish_options): Use opts_set instead of OPTIONS_SET_P.
5328
5329 2022-05-03 Richard Biener <rguenther@suse.de>
5330
5331 PR tree-optimization/105394
5332 * tree-vect-generic.cc (expand_vector_condition): Adjust
5333 comp_width for non-integer mode masks as well.
5334
5335 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
5336
5337 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
5338 omp_runtime_apis array.
5339
5340 2022-05-02 Richard Biener <rguenther@suse.de>
5341
5342 * tree-scalar-evolution.cc (expression_expensive_p):
5343 Never consider mismatched calls as cheap.
5344
5345 2022-05-02 Richard Biener <rguenther@suse.de>
5346
5347 PR tree-optimization/104240
5348 * tree-vect-slp.cc (op1_op0_map): New.
5349 (vect_get_operand_map): Handle compares.
5350 (vect_build_slp_tree_1): Support swapped operands for
5351 tcc_comparison.
5352
5353 2022-05-02 Jakub Jelinek <jakub@redhat.com>
5354
5355 PR debug/105415
5356 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
5357 if there is no symtab node for the VAR_DECL.
5358
5359 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5360
5361 * gcov-io.cc (gcov_rewrite): Clear the file error status.
5362
5363 2022-05-02 Richard Biener <rguenther@suse.de>
5364
5365 PR tree-optimization/105437
5366 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
5367 case where last_stmt alters control flow.
5368
5369 2022-05-02 Richard Biener <rguenther@suse.de>
5370
5371 * dojump.cc (do_jump): Use CASE_CONVERT.
5372 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
5373
5374 2022-05-02 Jakub Jelinek <jakub@redhat.com>
5375
5376 * system.h: Include initializer_list.
5377
5378 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
5379
5380 * config/rs6000/constraints.md (Y constraint): Fix comment.
5381
5382 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
5383
5384 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
5385 VR_RANGE before passing a piecewise range to set_range_info_raw.
5386
5387 2022-04-30 Patrick Palka <ppalka@redhat.com>
5388
5389 * gengtype.cc (adjust_field_tree_exp): Remove.
5390 (adjust_field_type): Don't handle the "tree_exp" special attribute.
5391 * tree-core.h (struct tree_exp): Remove "special" and "desc"
5392 attributes. Add "length" attribute.
5393
5394 2022-04-29 Martin Jambor <mjambor@suse.cz>
5395
5396 PR ipa/100413
5397 * cgraph.cc (cgraph_node::remove): Release body of the node this
5398 is clone_of if appropriate.
5399
5400 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
5401
5402 PR target/51954
5403 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
5404
5405 2022-04-29 Richard Biener <rguenther@suse.de>
5406
5407 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
5408 (canonicalize_cond_expr_cond): Move here from gimple.cc,
5409 allow both COND_EXPR and GIMPLE_COND forms.
5410 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
5411 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
5412 * gimple.h (canonicalize_cond_expr_cond): Likewise.
5413 * gimple-loop-versioning.cc (loop_versioning::version_loop):
5414 Use is_gimple_condexpr_for_cond.
5415 * tree-parloops.cc (gen_parallel_loop): Likewise.
5416 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
5417 a proper cond expr after canonicalize_cond_expr_cond.
5418 Use is_gimple_condexpr_for_cond where appropriate.
5419 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
5420 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
5421
5422 2022-04-29 Richard Biener <rguenther@suse.de>
5423
5424 * gimple-iterator.h (gsi_after_labels): Add overload for
5425 gimple_seq.
5426 (gsi_start_1): Rename to gsi_start and take a reference.
5427 (gsi_last_1): Likewise.
5428 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
5429 * omp-low.cc (lower_rec_input_clauses): Likewise.
5430 (lower_omp_scan): Likewise.
5431
5432 2022-04-29 Richard Biener <rguenther@suse.de>
5433
5434 PR tree-optimization/105431
5435 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
5436 (powi_as_mults): Use absu_hwi.
5437 (gimple_expand_builtin_powi): Remove now pointless n != -n
5438 check.
5439
5440 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5441
5442 * range-op.cc (empty_range_varying): Move to range-op.h.
5443 (range_true): Move to range.h.
5444 (range_false): Same.
5445 (range_true_and_false): Same.
5446 (enum bool_range_state): Move to range-op.h.
5447 (relop_early_resolve): Same.
5448 (operator_equal::op1_op2_relation): Abstract code to...
5449 (equal_op1_op2_relation): ...here.
5450 (operator_not_equal::op1_op2_relation): Abstract code to...
5451 (not_equal_op1_op2_relation): ...here.
5452 (operator_lt::op1_op2_relation): Abstract code to...
5453 (lt_op1_op2_relation): ...here.
5454 (operator_le::op1_op2_relation): Abstract code to...
5455 (le_op1_op2_relation): ...here.
5456 (operator_gt::op1_op2_relation): Abstract code to...
5457 (gt_op1_op2_relation): ...here.
5458 (operator_ge::op1_op2_relation): Abstract code to...
5459 (ge_op1_op2_relation): ...here.
5460 (class range_op_table): Move to range-op.h.
5461 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
5462 (not_equal_op1_op2_relation): Same.
5463 (lt_op1_op2_relation): Same.
5464 (le_op1_op2_relation): Same.
5465 (gt_op1_op2_relation): Same.
5466 (ge_op1_op2_relation): Same.
5467 (enum bool_range_state): Same.
5468 (get_bool_state): Same.
5469 (empty_range_varying): Same.
5470 (relop_early_resolve): Same.
5471 (class range_op_table): Same.
5472 * range.h (range_true): Same.
5473 (range_false): Same.
5474 (range_true_and_false): Same.
5475
5476 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5477
5478 * gimple-fold.cc (size_must_be_zero_p): Use reference
5479 instead of pointer
5480 * gimple-ssa-evrp-analyze.cc
5481 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
5482 intersect to legacy_verbose_intersect.
5483 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
5484 of pointer.
5485 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
5486 instead of value_range_equiv.
5487 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
5488 instead of pointer.
5489 (find_case_label_range): Same.
5490 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
5491 (value_range_equiv::legacy_verbose_intersect): ...this.
5492 (value_range_equiv::union_): Rename to...
5493 (value_range_equiv::legacy_verbose_union_): ...this.
5494 * value-range-equiv.h (class value_range_equiv): Rename union and
5495 intersect to legacy_verbose_{intersect,union}.
5496 * value-range.cc (irange::union_): Rename to...
5497 (irange::legacy_verbose_union_): ...this.
5498 (irange::intersect): Rename to...
5499 (irange::legacy_verbose_intersect): ...this.
5500 * value-range.h (irange::union_): Rename union_ to
5501 legacy_verbose_union.
5502 (irange::intersect): Rename intersect to legacy_verbose_intersect.
5503 * vr-values.cc (vr_values::update_value_range): Same.
5504 (vr_values::extract_range_for_var_from_comparison_expr): Same.
5505 (vr_values::extract_range_from_cond_expr): Rename union_ to
5506 legacy_verbose_union.
5507 (vr_values::extract_range_from_phi_node): Same.
5508
5509 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5510
5511 * gimple-ssa-evrp-analyze.cc
5512 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
5513 that take a range.
5514 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
5515 * ipa-prop.cc (ipcp_update_vr): Same.
5516 * tree-inline.cc (remap_ssa_name): Same.
5517 * tree-ssa-copy.cc (fini_copy_prop): Same.
5518 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
5519 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
5520 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
5521 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
5522 * tree-ssa-strlen.cc (set_strlen_range): Same.
5523 (strlen_pass::handle_builtin_string_cmp): Same.
5524 * tree-ssanames.cc (set_range_info): Make static.
5525 (duplicate_ssa_name_range_info): Make static and add a new variant
5526 calling the static.
5527 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
5528 (duplicate_ssa_name_range_info): Remove version taking a
5529 range_info_def and replace with a version taking SSA names.
5530 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
5531 that take a range.
5532 (vect_do_peeling): Same.
5533 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
5534 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
5535
5536 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5537
5538 * value-range.h (irange::irange): Use set_undefined.
5539
5540 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5541
5542 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
5543 irange::intersect (wide_int, wide_int).
5544 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
5545 (adjust_imagpart_expr): Same.
5546 * value-range.h (irange::intersect (wide_int, wide_int)): Make
5547 private.
5548
5549 2022-04-29 Richard Biener <rguenther@suse.de>
5550
5551 PR tree-optimization/104322
5552 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
5553
5554 2022-04-29 Richard Biener <rguenther@suse.de>
5555
5556 PR middle-end/105376
5557 * tree.cc (build_real): Special case dconst* arguments
5558 for decimal floating point types.
5559
5560 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5561
5562 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
5563 Environments): New section.
5564
5565 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5566
5567 * doc/gcov-tool.texi: Document merge-stream subcommand.
5568 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
5569 subcommand of gcov-tool.
5570 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
5571 (print_merge_stream_usage_message): New.
5572 (merge_stream_usage): Likewise.
5573 (do_merge_stream): Likewise.
5574 (print_usage): Call print_merge_stream_usage_message().
5575 (main): Call do_merge_stream() to execute merge-stream subcommand.
5576
5577 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5578
5579 * gcov-io.cc (gcov_file_error): New enum.
5580 (gcov_var): Use gcov_file_error enum for the error member.
5581 (gcov_open): Use GCOV_FILE_NO_ERROR.
5582 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
5583 (gcov_write): Likewise.
5584 (gcov_write_unsigned): Likewise.
5585 (gcov_write_string): Likewise.
5586 (gcov_read_bytes): Set error code if EOF is reached.
5587 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
5588
5589 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5590
5591 * gcov-io.cc (GCOV_MODE_STDIN): Define.
5592 (gcov_position): For gcov-tool, return calculated position if file is
5593 stdin.
5594 (gcov_open): For gcov-tool, use stdin if filename is NULL.
5595 (gcov_close): For gcov-tool, do not close stdin.
5596 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
5597 (gcov_sync): For gcov-tool, discard input if file is stdin.
5598
5599 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5600
5601 * doc/invoke.texi (fprofile-info-section): Mention
5602 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
5603 standard language. Fix minor example code issues.
5604 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
5605
5606 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5607
5608 * gcov-io.cc (gcov_seek): Make it static.
5609 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
5610
5611 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5612
5613 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
5614 (gcov_output_files): Open files for reading and writing.
5615
5616 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5617
5618 * gcov-io.cc (gcov_open): Always use the mode parameter.
5619 * gcov-io.h (gcov_open): Declare it unconditionally.
5620
5621 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
5622
5623 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
5624 (profile_merge): Allow merging of directories which contain no profile
5625 files.
5626
5627 2022-04-28 David Malcolm <dmalcolm@redhat.com>
5628
5629 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
5630 fpath.txt output.
5631
5632 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5633
5634 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
5635 temporary only if out overlaps compare_op, not when it overlaps
5636 op0 or op1.
5637
5638 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5639
5640 PR lto/105399
5641 * cgraph.cc (cgraph_node::verify_node): Don't verify
5642 semantic_interposition flag against
5643 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
5644
5645 2022-04-28 Jakub Jelinek <jakub@redhat.com>
5646
5647 PR target/105331
5648 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
5649 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
5650 of it.
5651
5652 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
5653
5654 * doc/install.texi (Configuration): Remove misleading text
5655 around LE PowerPC Linux multilibs.
5656
5657 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5658
5659 PR d/103528
5660 * doc/install.texi (Tools/packages necessary for building GCC)
5661 (GDC): Document libphobos requirement.
5662 (Host/target specific installation notes for GCC, *-*-solaris2*):
5663 Document libphobos and GDC specifics.
5664
5665 2022-04-28 Richard Biener <rguenther@suse.de>
5666
5667 PR tree-optimization/105219
5668 * tree-vect-loop.cc (vect_transform_loop): Disable
5669 special code narrowing the vectorized epilogue max
5670 iterations when peeling for alignment or gaps was in effect.
5671
5672 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
5673
5674 * config/loongarch/loongarch.cc
5675 (loongarch_flatten_aggregate_field): Ignore empty fields for
5676 RECORD_TYPE.
5677
5678 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
5679
5680 * config/loongarch/loongarch.md: Add fdiv define_expand template,
5681 then generate floating-point division and floating-point reciprocal
5682 instructions.
5683
5684 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
5685
5686 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
5687 to PLV instruction templates.
5688
5689 2022-04-27 Richard Biener <rguenther@suse.de>
5690
5691 PR middle-end/104492
5692 * gimple-ssa-warn-access.cc
5693 (pass_waccess::warn_invalid_pointer): Exclude equality compare
5694 diagnostics for all kind of invalidations.
5695 (pass_waccess::check_dangling_uses): Fix post-dominator query.
5696 (pass_waccess::check_pointer_uses): Likewise.
5697
5698 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
5699
5700 PR target/102024
5701 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
5702 prototype.
5703 * config/s390/s390.cc (s390_single_field_struct_p): New function.
5704 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
5705 (s390_function_arg_float): Likewise.
5706
5707 2022-04-27 Jakub Jelinek <jakub@redhat.com>
5708
5709 PR sanitizer/105396
5710 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
5711 where offset is bigger than off but smaller than m_prev_offset + 32
5712 bits by pushing one or more 0 bytes. Sink the
5713 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
5714 all cases to the end of the function.
5715
5716 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
5717
5718 PR target/105271
5719 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
5720 stanza.
5721
5722 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
5723
5724 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
5725 data-share memory exhausted" error more verbose.
5726
5727 2022-04-26 Martin Liska <mliska@suse.cz>
5728
5729 PR lto/105364
5730 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
5731 (run_gcc): Parse OPT_fdiagnostics_urls_.
5732 (main): Initialize global_dc.
5733
5734 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5735
5736 PR rtl-optimization/105314
5737 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
5738 operand is equal to if_info->x, instead use the non-zero operand
5739 as one of the operands of AND with if_info->x as target.
5740
5741 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5742
5743 PR tree-optimization/105374
5744 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
5745 !fold_convertible_p rather than assuming fold_convert must succeed.
5746
5747 2022-04-26 Jakub Jelinek <jakub@redhat.com>
5748
5749 PR target/105367
5750 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
5751 el_mode == DFmode ? double_type_node : float_type_node instead of
5752 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
5753
5754 2022-04-25 David Malcolm <dmalcolm@redhat.com>
5755
5756 PR analyzer/104308
5757 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
5758 the location of new_stmt in all places that don't already set it,
5759 whether explicitly, or via a call to gsi_replace.
5760
5761 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
5762
5763 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
5764
5765 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
5766
5767 PR tree-optimization/105276
5768 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
5769 existing global range with calculated value.
5770
5771 2022-04-25 Richard Biener <rguenther@suse.de>
5772
5773 PR tree-optimization/105368
5774 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
5775
5776 2022-04-25 Richard Biener <rguenther@suse.de>
5777
5778 PR tree-optimization/100810
5779 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
5780 (find_ssa_undef): New function.
5781 (add_candidate_1): Avoid adding derived candidates with
5782 undefined SSA names and mark the original ones.
5783 (determine_group_iv_cost_generic): Reject rewriting
5784 uses with a different IV when that involves undefined SSA names.
5785
5786 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
5787
5788 PR target/89125
5789 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
5790 bsd_libc_has_function.
5791 * targhooks.cc (bsd_libc_has_function): New function.
5792 Expand the supported math functions to inclue C99 libm.
5793 * targhooks.h (bsd_libc_has_function): New Prototype.
5794
5795 2022-04-25 Richard Biener <rguenther@suse.de>
5796
5797 PR rtl-optimization/105231
5798 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
5799 with landing pad > 0 is from i3. Put any REG_EH_REGION note
5800 on i3 or drop it if the insn can not trap.
5801 (try_combine): Ensure that we can merge REG_EH_REGION notes
5802 with non-call exceptions. Ensure we are not splitting a
5803 trapping part of an insn with non-call exceptions when there
5804 is any REG_EH_REGION note to preserve.
5805
5806 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
5807
5808 PR target/105339
5809 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
5810 Add parentheses for parameters and djust format.
5811 (_mm512_mask_scalef_round_pd): Ditto.
5812 (_mm512_maskz_scalef_round_pd): Ditto.
5813 (_mm512_scalef_round_ps): Ditto.
5814 (_mm512_mask_scalef_round_ps): Ditto.
5815 (_mm512_maskz_scalef_round_ps): Ditto.
5816 (_mm_scalef_round_sd): Use _mm_undefined_pd.
5817 (_mm_scalef_round_ss): Use _mm_undefined_ps.
5818 (_mm_mask_scalef_round_sd): New macro.
5819 (_mm_mask_scalef_round_ss): Ditto.
5820 (_mm_maskz_scalef_round_sd): Ditto.
5821 (_mm_maskz_scalef_round_ss): Ditto.
5822
5823 2022-04-23 Jakub Jelinek <jakub@redhat.com>
5824
5825 PR target/105338
5826 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
5827 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
5828 cases.
5829
5830 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
5831
5832 PR target/105334
5833 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
5834 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
5835 (pack<mode>_hard for FMOVE128): ... this...
5836 (pack<mode>_soft for FMOVE128): ... and this.
5837
5838 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
5839
5840 * doc/extend.texi: Correct "This" to "These".
5841
5842 2022-04-22 Jakub Jelinek <jakub@redhat.com>
5843
5844 PR rtl-optimization/105333
5845 * rtlanal.cc (replace_rtx): Use simplify_subreg or
5846 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
5847 CONST_INT_P.
5848
5849 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
5850
5851 PR target/103197
5852 PR target/102146
5853 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
5854 the "Z" alternatives in {l,st}{f,xs}iwzx.
5855 (zero_extendhi<mode>2 for EXTHI): Ditto.
5856 (zero_extendsi<mode>2 for EXTSI): Ditto.
5857 (*movsi_internal1): Ditto.
5858 (*mov<mode>_internal1 for QHI): Ditto.
5859 (movsd_hardfloat): Ditto.
5860
5861 2022-04-21 Martin Liska <mliska@suse.cz>
5862
5863 * configure.ac: Enable compressed debug sections for mold
5864 linker.
5865 * configure: Regenerate.
5866
5867 2022-04-21 Jakub Jelinek <jakub@redhat.com>
5868
5869 PR debug/105203
5870 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
5871 on DEBUG_INSNs.
5872
5873 2022-04-20 Richard Biener <rguenther@suse.de>
5874
5875 PR tree-optimization/104912
5876 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
5877 the cost model check to a separate BB to make sure it is
5878 checked first and not combined with other version checks.
5879
5880 2022-04-20 Richard Biener <rguenther@suse.de>
5881
5882 PR tree-optimization/105312
5883 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
5884 VCOND and VCONDU for EQ and NE.
5885
5886 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
5887
5888 PR ipa/103818
5889 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
5890 poly_offset_int to avoid overflow.
5891 (modref_access_node::update2): likewise.
5892
5893 2022-04-20 Jakub Jelinek <jakub@redhat.com>
5894
5895 PR ipa/105306
5896 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
5897 to opt_for_fn (decl, flag_semantic_interposition).
5898 * cgraphclones.cc (cgraph_node::create_clone): Copy over
5899 semantic_interposition flag.
5900
5901 2022-04-19 Sergei Trofimovich <siarheit@google.com>
5902
5903 PR gcov-profile/105282
5904 * value-prof.cc (stream_out_histogram_value): Allow negative counts
5905 on HIST_TYPE_INDIR_CALL.
5906
5907 2022-04-19 Jakub Jelinek <jakub@redhat.com>
5908
5909 PR target/105257
5910 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
5911 use gen_raw_REG instead of gen_rtx_REG and copy over also
5912 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
5913
5914 2022-04-19 Richard Biener <rguenther@suse.de>
5915
5916 PR tree-optimization/104010
5917 PR tree-optimization/103941
5918 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
5919 we run into stmts in patterns continue walking those
5920 for uses outside of the vectorized region instead of
5921 marking the lane live.
5922
5923 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5924
5925 * doc/install.texi <CRIS>: Remove references to removed websites and
5926 adjust for cris-*-elf being the only remaining toolchain.
5927
5928 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
5929
5930 * doc/invoke.texi <CRIS>: Remove references to options for removed
5931 subtarget cris-axis-linux-gnu and tweak wording accordingly.
5932
5933 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
5934
5935 * doc/install.texi (Specific): Adjust mingw-w64 download link.
5936
5937 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
5938
5939 * config/i386/smmintrin.h: Correct target pragma from sse4.1
5940 and sse4.2 to crc32 for crc32 intrinsics.
5941
5942 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5943
5944 PR debug/105089
5945 * ctfc.cc (ctf_dvd_ignore_insert): New function.
5946 (ctf_dvd_ignore_lookup): Likewise.
5947 (ctf_add_variable): Keep track of non-defining decl DIEs.
5948 (new_ctf_container): Initialize the new hash-table.
5949 (ctfc_delete_container): Empty hash-table.
5950 * ctfc.h (struct ctf_container): Add new hash-table.
5951 (ctf_dvd_ignore_lookup): New declaration.
5952 (ctf_add_variable): Add additional argument.
5953 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
5954 record for non-defining decl for which a defining decl exists
5955 in the same TU.
5956 (ctf_preprocess): Defer updating the number of global objts
5957 until here.
5958 (output_ctf_header): Use ctfc_vars_list_count as some CTF
5959 variables may not make it to the final output.
5960 (output_ctf_vars): Likewise.
5961 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
5962 if this is known to be a non-defining decl DIE.
5963
5964 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
5965
5966 * ctfc.h (struct ctf_container): Introduce a new member.
5967 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
5968 variable.
5969
5970 2022-04-14 Jakub Jelinek <jakub@redhat.com>
5971
5972 PR target/105247
5973 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
5974 or rotates by VOIDmode constant integer shift count use word_mode
5975 for the operand if int_mode is narrower than word.
5976
5977 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
5978
5979 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
5980 (s390_get_unit_mask): Likewise.
5981 (s390_is_fpd): Likewise.
5982 (s390_is_fxd): Likewise.
5983 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
5984 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
5985 Add z16.
5986 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
5987 Likewise.
5988 * config/s390/3931.md: New file.
5989
5990 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
5991
5992 PR tree-optimization/105254
5993 * config/aarch64/aarch64.cc
5994 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
5995 loop_vec_info as argument. Restrict the unroll factor to values
5996 that divide the VF.
5997 (aarch64_vector_costs::finish_cost): Update call accordingly.
5998
5999 2022-04-13 Richard Biener <rguenther@suse.de>
6000
6001 PR tree-optimization/105263
6002 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
6003 negates in multiplication chains with DFP.
6004
6005 2022-04-13 Jakub Jelinek <jakub@redhat.com>
6006
6007 PR middle-end/105253
6008 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
6009 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
6010 comparisons or tree_nop_conversion_p checks.
6011
6012 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
6013
6014 PR target/103069
6015 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
6016 Add missing set to target_val at pause label.
6017
6018 2022-04-13 Jakub Jelinek <jakub@redhat.com>
6019
6020 PR target/105234
6021 * attribs.cc (decl_attributes): Don't set
6022 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
6023 NULL.
6024
6025 2022-04-13 Richard Biener <rguenther@suse.de>
6026
6027 PR tree-optimization/105250
6028 * fold-const.cc (fold_convertible_p): Revert
6029 r12-7979-geaaf77dd85c333, instead check for size equality
6030 of the vector types involved.
6031
6032 2022-04-13 Richard Biener <rguenther@suse.de>
6033
6034 Revert:
6035 2022-04-13 Richard Biener <rguenther@suse.de>
6036
6037 PR tree-optimization/104912
6038 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
6039 the cost model check to a separate BB to make sure it is
6040 checked first and not combined with other version checks.
6041
6042 2022-04-13 Richard Biener <rguenther@suse.de>
6043
6044 PR tree-optimization/104912
6045 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
6046 the cost model check to a separate BB to make sure it is
6047 checked first and not combined with other version checks.
6048
6049 2022-04-13 Jakub Jelinek <jakub@redhat.com>
6050
6051 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
6052
6053 2022-04-12 Antoni Boucher <bouanto@zoho.com>
6054
6055 PR jit/104072
6056 * reginfo.cc: New functions (clear_global_regs_cache,
6057 reginfo_cc_finalize) to avoid an issue where compiling the same
6058 code multiple times gives an error about assigning the same
6059 register to 2 global variables.
6060 * rtl.h: New function (reginfo_cc_finalize).
6061 * toplev.cc: Call it.
6062
6063 2022-04-12 Antoni Boucher <bouanto@zoho.com>
6064
6065 PR jit/104071
6066 * toplev.cc: Call the new function tree_cc_finalize in
6067 toplev::finalize.
6068 * tree.cc: New functions (clear_nonstandard_integer_type_cache
6069 and tree_cc_finalize) to clear the cache of non-standard integer
6070 types to avoid having issues with some optimizations of
6071 bitcast where the SSA_NAME will have a size of a cached
6072 integer type that should have been invalidated, causing a
6073 comparison of integer constant to fail.
6074 * tree.h: New function (tree_cc_finalize).
6075
6076 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6077
6078 PR target/97348
6079 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
6080 * config/nvptx/nvptx.opt (misa): Adjust comment.
6081
6082 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6083
6084 Revert:
6085 2022-03-03 Tom de Vries <tdevries@suse.de>
6086
6087 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6088
6089 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6090
6091 Revert:
6092 2022-03-31 Tom de Vries <tdevries@suse.de>
6093
6094 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
6095
6096 2022-04-12 Richard Biener <rguenther@suse.de>
6097
6098 PR ipa/104303
6099 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
6100 include local escaped memory as obviously necessary stores.
6101
6102 2022-04-12 Richard Biener <rguenther@suse.de>
6103
6104 PR tree-optimization/105235
6105 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
6106 return whether the CFG changed.
6107 (execute_cse_sincos_1): Adjust.
6108
6109 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
6110
6111 PR target/104144
6112 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
6113 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
6114 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
6115 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
6116 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
6117 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
6118 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
6119
6120 2022-04-12 Richard Biener <rguenther@suse.de>
6121
6122 PR tree-optimization/105232
6123 * tree.cc (component_ref_size): Bail out for too large
6124 or non-constant sizes.
6125
6126 2022-04-12 Richard Biener <rguenther@suse.de>
6127
6128 PR tree-optimization/105226
6129 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
6130 we can split the exit of an outer loop we choose to version.
6131
6132 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6133
6134 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
6135 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
6136 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
6137 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
6138 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
6139 Formatting fix.
6140 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
6141
6142 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6143
6144 PR target/105214
6145 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
6146 do_pending_stack_adjust.
6147
6148 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6149
6150 PR rtl-optimization/105211
6151 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
6152 fails for TREE_TYPE (arg), retry it with
6153 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
6154 fails, emit call normally.
6155
6156 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
6157
6158 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
6159 * config.gcc: Add z16 as march/mtune switch.
6160 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
6161 Recognize z16 with -march=native.
6162 * config/s390/s390-opts.h (enum processor_type): Rename
6163 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
6164 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
6165 (PROCESSOR_3931_Z16): ... throughout the file.
6166 (s390_processor processor_table): Add z16 as cpu string.
6167 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
6168 PF_Z16.
6169 (TARGET_CPU_ARCH14): Rename to ...
6170 (TARGET_CPU_Z16): ... this.
6171 (TARGET_CPU_ARCH14_P): Rename to ...
6172 (TARGET_CPU_Z16_P): ... this.
6173 (TARGET_ARCH14): Rename to ...
6174 (TARGET_Z16): ... this.
6175 (TARGET_ARCH14_P): Rename to ...
6176 (TARGET_Z16_P): ... this.
6177 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
6178 check TARGET_Z16 instead of TARGET_ARCH14.
6179 * config/s390/s390.opt: Add z16 to processor_type.
6180 * doc/invoke.texi: Document z16 and arch14.
6181
6182 2022-04-12 chenglulu <chenglulu@loongson.cn>
6183
6184 * config/loongarch/loongarch.cc: Fix bug for
6185 tmpdir-g++.dg-struct-layout-1/t033.
6186
6187 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
6188
6189 PR target/104894
6190 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
6191 to longcall functions.
6192
6193 2022-04-11 Jason Merrill <jason@redhat.com>
6194
6195 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
6196
6197 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
6198
6199 PR target/105213
6200 PR target/103623
6201 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
6202
6203 2022-04-11 Jakub Jelinek <jakub@redhat.com>
6204
6205 PR tree-optimization/105218
6206 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
6207 more than one predecessor or phi's bb more than 2 predecessors,
6208 reset phi result uses instead of adding a debug temp.
6209
6210 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
6211
6212 PR target/104853
6213 * config.gcc: Pass -misa-spec to arch-canonicalize and
6214 multilib-generator.
6215 * config/riscv/arch-canonicalize: Adding -misa-spec option.
6216 (SUPPORTED_ISA_SPEC): New.
6217 (arch_canonicalize): New argument `isa_spec`.
6218 Handle multiple ISA spec versions.
6219 * config/riscv/multilib-generator: Adding -misa-spec option.
6220
6221 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
6222
6223 * config/riscv/arch-canonicalize: Add TODO item.
6224 (IMPLIED_EXT): Sync.
6225 (arch_canonicalize): Checking until no change.
6226
6227 2022-04-11 Tamar Christina <tamar.christina@arm.com>
6228
6229 PR target/105197
6230 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
6231 not masked.
6232
6233 2022-04-11 Jason Merrill <jason@redhat.com>
6234
6235 PR c++/100370
6236 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
6237 deref == -1.
6238
6239 2022-04-11 Jakub Jelinek <jakub@redhat.com>
6240
6241 PR tree-optimization/104639
6242 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
6243 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
6244 into x != cst3.
6245
6246 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
6247
6248 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
6249 sign bit of the source ends up in CC.
6250
6251 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
6252
6253 PR ipa/103376
6254 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
6255 flag.
6256
6257 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
6258
6259 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
6260 nondeterministic and side_effects flags.
6261
6262 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
6263
6264 PR target/105157
6265 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
6266 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
6267 (TARGET_CPU_MASK): Likewise.
6268 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
6269 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
6270 (aarch64_get_arch): Likewise.
6271 (aarch64_override_options): Use TARGET_CPU_NBITS.
6272
6273 2022-04-08 Richard Biener <rguenther@suse.de>
6274
6275 PR tree-optimization/105198
6276 * tree-predcom.cc (find_looparound_phi): Check whether
6277 the found memory location of the entry value is clobbered
6278 inbetween the value we want to use and loop entry.
6279
6280 2022-04-08 Jakub Jelinek <jakub@redhat.com>
6281
6282 PR tree-optimization/105189
6283 * fold-const.cc (make_range_step): Fix up handling of
6284 (unsigned) x +[low, -] ranges for signed x if low fits into
6285 typeof (x).
6286
6287 2022-04-08 Richard Biener <rguenther@suse.de>
6288
6289 PR tree-optimization/105175
6290 * tree-vect-stmts.cc (vectorizable_operation): Suppress
6291 -Wvector-operation-performance if using emulated vectors.
6292 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
6293 -Wvector-operation-performance when suppressed.
6294 (expand_vector_parallel): Likewise.
6295 (expand_vector_comparison): Likewise.
6296 (expand_vector_condition): Likewise.
6297 (lower_vec_perm): Likewise.
6298 (expand_vector_conversion): Likewise.
6299
6300 2022-04-07 Tamar Christina <tamar.christina@arm.com>
6301
6302 PR target/104409
6303 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
6304 (aarch64_general_init_builtins): Move LS64 code.
6305 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
6306 arm_acle.h
6307 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
6308 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
6309
6310 2022-04-07 Richard Biener <rguenther@suse.de>
6311 Jan Hubicka <hubicka@ucw.cz>
6312
6313 PR ipa/104303
6314 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
6315 ref_may_alias_global_p, ref_may_alias_global_p,
6316 stmt_may_clobber_global_p, pt_solution_includes_global): Add
6317 bool parameters indicating whether escaped locals should be
6318 considered global.
6319 * tree-ssa-structalias.cc (pt_solution_includes_global):
6320 When the new escaped_nonlocal_p flag is true also consider
6321 pt->vars_contains_escaped.
6322 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
6323 Pass down new escaped_nonlocal_p flag.
6324 (ref_may_alias_global_p): Likewise.
6325 (stmt_may_clobber_global_p): Likewise.
6326 (ref_may_alias_global_p_1): Likewise. For decls also
6327 query the escaped solution if true.
6328 (ref_may_access_global_memory_p): Remove.
6329 (modref_may_conflict): Use ref_may_alias_global_p with
6330 escaped locals considered global.
6331 (ref_maybe_used_by_stmt_p): Adjust.
6332 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
6333 Likewise.
6334 * tree-ssa-dse.cc (dse_classify_store): Likewise.
6335 * trans-mem.cc (thread_private_new_memory): Likewise, but
6336 consider escaped locals global.
6337 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
6338
6339 2022-04-07 Richard Biener <rguenther@suse.de>
6340
6341 PR tree-optimization/105185
6342 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
6343 modref query again.
6344
6345 2022-04-07 Tamar Christina <tamar.christina@arm.com>
6346
6347 PR target/104049
6348 * config/aarch64/aarch64-simd.md
6349 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
6350 (reduc_plus_scal_<mode>): ... This.
6351 (reduc_plus_scal_v4sf): Moved.
6352 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
6353 (reduc_plus_scal_v2si): ... This.
6354
6355 2022-04-07 Jakub Jelinek <jakub@redhat.com>
6356
6357 PR tree-optimization/102586
6358 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
6359 langhook.
6360 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
6361 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
6362 * gimple-fold.cc (clear_padding_type): Use ftype instead of
6363 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
6364 name try the lang_hooks.types.classtype_as_base langhook and
6365 if it returns non-NULL, use that instead of ftype for recursive call.
6366
6367 2022-04-07 Jakub Jelinek <jakub@redhat.com>
6368
6369 PR tree-optimization/105150
6370 * tree.cc (tree_builtin_call_types_compatible_p): New function.
6371 (get_call_combined_fn): Use it.
6372
6373 2022-04-07 Richard Biener <rguenther@suse.de>
6374
6375 PR middle-end/105165
6376 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
6377 _Complex outputs.
6378
6379 2022-04-07 liuhongt <hongtao.liu@intel.com>
6380
6381 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
6382 Removed.
6383 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
6384 for mask_applied.
6385 (<code><mode>3<mask_name>): Ditto.
6386 (*<code><mode>3<mask_name>): Ditto.
6387 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
6388 real instruction.
6389 (VFB_512): Ditto.
6390 (VFB): Ditto.
6391
6392 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6393
6394 PR rtl-optimization/104985
6395 * combine.cc (struct undo): Add where.regno member.
6396 (do_SUBST_MODE): Rename to ...
6397 (subst_mode): ... this. Change first argument from rtx * into int,
6398 operate on regno_reg_rtx[regno] and save regno into where.regno.
6399 (SUBST_MODE): Remove.
6400 (try_combine): Use subst_mode instead of SUBST_MODE, change first
6401 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
6402 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
6403 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
6404 instead of *undo->where.r.
6405 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
6406 argument from regno_reg_rtx[whatever] to whatever.
6407
6408 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6409
6410 PR target/105069
6411 * config/sh/sh.opt (mdiv=): Add Save.
6412
6413 2022-04-06 Martin Liska <mliska@suse.cz>
6414
6415 PR driver/105096
6416 * common.opt: Document properly based on what it does.
6417 * gcc.cc (display_help): Unify with what we have in common.opt.
6418 * opts.cc (common_handle_option): Do not print undocumented
6419 options.
6420
6421 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
6422
6423 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
6424 cxx17_empty_base_field_p fields and set an indicator.
6425 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
6426 (mips_function_value_1): Inform psABI change about C++17 empty
6427 bases.
6428
6429 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6430
6431 PR tree-optimization/105150
6432 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
6433 builtin_decl_explicit here...
6434 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
6435 here.
6436
6437 2022-04-06 Richard Biener <rguenther@suse.de>
6438
6439 PR tree-optimization/105173
6440 * tree-ssa-reassoc.cc (find_insert_point): Get extra
6441 insert_before output argument and compute it.
6442 (insert_stmt_before_use): Adjust.
6443 (rewrite_expr_tree): Likewise.
6444
6445 2022-04-06 Richard Biener <rguenther@suse.de>
6446
6447 PR ipa/105166
6448 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
6449 out for non-pointer arguments.
6450
6451 2022-04-06 Richard Biener <rguenther@suse.de>
6452
6453 PR tree-optimization/105163
6454 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
6455 negated abnormals.
6456
6457 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6458
6459 PR tree-optimization/105150
6460 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
6461 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
6462 preferrably on builtin_decl_explicit decl rather than fndecl.
6463 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
6464 gimple_builtin_call_types_compatible_p here.
6465
6466 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
6467
6468 PR tree-optimization/103761
6469 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
6470 the ncopies parameter with an slp_node parameter. Calculate the
6471 number of vectors based on it and vectype. Rename lambda to
6472 group_memory_nvectors.
6473 (vectorizable_store, vectorizable_load): Update calls accordingly.
6474
6475 2022-04-06 Martin Liska <mliska@suse.cz>
6476
6477 * doc/invoke.texi: Document it.
6478
6479 2022-04-06 Richard Biener <rguenther@suse.de>
6480
6481 PR tree-optimization/105148
6482 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
6483 2 and 3 of ARRAY_REFs.
6484
6485 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
6486
6487 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
6488 (*andnottf3): Replace with...
6489 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
6490
6491 2022-04-06 Richard Biener <rguenther@suse.de>
6492
6493 PR tree-optimization/105142
6494 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
6495 basic-block parameter.
6496 (maybe_fold_or_comparisons): Likewise.
6497 * gimple-fold.cc (follow_outer_ssa_edges): New.
6498 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
6499 when an outer condition basic-block is specified.
6500 (and_comparisons_1, and_var_with_comparison,
6501 and_var_with_comparison_1, or_comparisons_1,
6502 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
6503 down the outer condition basic-block.
6504 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
6505 basic-block of the outer condition.
6506
6507 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
6508
6509 PR target/105002
6510 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
6511 comparison codes UNLT/UNLE/UNGT/UNGE.
6512
6513 2022-04-05 David Malcolm <dmalcolm@redhat.com>
6514
6515 * doc/extend.texi (Common Function Attributes): Document that
6516 'access' does not imply 'nonnull'.
6517
6518 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
6519
6520 PR target/105139
6521 * config/i386/mmx.md (*movv2qi_internal):
6522 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
6523
6524 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6525
6526 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
6527 define_expand and turn operands 0 and 1 from REGs to MEMs.
6528 (*aarch64_cpymemdi): New pattern.
6529 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
6530 from a REG to a MEM.
6531 (*aarch64_setmemdi): New pattern.
6532 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
6533 copy_to_mode_reg on all three registers. Replace the original
6534 MEM addresses rather than creating wild reads and writes.
6535 (aarch64_expand_setmem_mops): Likewise for the size and for the
6536 destination memory and address.
6537
6538 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6539
6540 PR target/103147
6541 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
6542 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
6543 from aarch64_simd_switcher.
6544 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
6545 New variable.
6546 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
6547 (register_tuple_type): Add more asserts. Expect the alignment
6548 of the structure to be subject to flag_pack_struct and
6549 maximum_field_alignment. Set aarch64_simd_tuple_modes.
6550 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
6551 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
6552 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
6553 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
6554 while calling aarch64_init_simd_builtins.
6555 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
6556 (sve_switcher::~sve_switcher): Remove code now performed by
6557 aarch64_simd_switcher.
6558
6559 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
6560
6561 PR target/104897
6562 * config/aarch64/aarch64-sve-builtins.cc
6563 (function_resolver::infer_vector_or_tuple_type): Use error_n
6564 for "%d vectors" messages.
6565
6566 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
6567
6568 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
6569 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
6570 current clause.
6571
6572 2022-04-05 Richard Biener <rguenther@suse.de>
6573
6574 PR c/105151
6575 * passes.def (pass_walloca): Move early instance into
6576 pass_build_ssa_passes to make SSA form available.
6577
6578 2022-04-05 liuhongt <hongtao.liu@intel.com>
6579
6580 PR target/101908
6581 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
6582 function
6583 (ix86_reorg): Call ix86_split_stlf_stall_load.
6584 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
6585 param.
6586
6587 2022-04-05 Alexandre Oliva <oliva@adacore.com>
6588
6589 * targhooks.cc (default_zero_call_used_regs): Attempt to group
6590 regs that the target refuses to use in their natural modes.
6591 (zcur_select_mode_rtx): New.
6592 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
6593 (hard_regno_max_nregs): Define.
6594 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
6595
6596 2022-04-04 Alex Coplan <alex.coplan@arm.com>
6597
6598 * doc/match-and-simplify.texi: Fix typos.
6599
6600 2022-04-04 Jakub Jelinek <jakub@redhat.com>
6601
6602 PR target/105144
6603 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
6604 only if configured with --enable-maintainer-mode, otherwise compare
6605 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
6606 if they differ, emit a message and fail.
6607
6608 2022-04-04 Jakub Jelinek <jakub@redhat.com>
6609
6610 PR target/105144
6611 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
6612 * config/aarch64/aarch64-tune.md: Regenerated.
6613
6614 2022-04-04 Richard Biener <rguenther@suse.de>
6615
6616 PR tree-optimization/105132
6617 * tree-vect-stmts.cc (vectorizable_operation): Check that
6618 the input vectors have the same number of elements.
6619
6620 2022-04-04 Richard Biener <rguenther@suse.de>
6621
6622 PR middle-end/105140
6623 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
6624
6625 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
6626
6627 PR target/104987
6628 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
6629 (delay slot descripts): Use different delay slot description when
6630 the insn as the "bbi" attribute.
6631 (bbi, bbin patterns): Set the bbi attribute to yes.
6632
6633 2022-04-03 Jakub Jelinek <jakub@redhat.com>
6634
6635 PR target/105123
6636 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
6637 using word as target for expand_simple_binop when doing ASHIFT and
6638 IOR.
6639
6640 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
6641
6642 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
6643 NULL before dereferencing it.
6644
6645 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
6646
6647 * config/i386/i386.cc (zero_all_st_registers): Return the value of
6648 num_of_st.
6649 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
6650 the return value of zero_all_st_registers.
6651 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
6652 * function.cc (gen_call_used_regs_seq): Add an assertion.
6653 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
6654
6655 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
6656
6657 PR target/102024
6658 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
6659 fields, and inform if it causes a psABI change.
6660
6661 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
6662
6663 PR target/102024
6664 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
6665 zero-width bit-fields and set up an indicator.
6666 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
6667 (mips_function_value_1): Diagnose when the presense of a C++
6668 zero-width bit-field changes function returning in GCC 12.
6669
6670 2022-04-01 Jakub Jelinek <jakub@redhat.com>
6671
6672 PR tree-optimization/104645
6673 * tree-ssa-phiopt.cc (value_replacement): If assign has
6674 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
6675 statement with constant evaluation.
6676
6677 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
6678
6679 * config/mips/mips.cc (mips_expand_prologue):
6680 IPL is 8bit for MCU ASE.
6681
6682 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
6683
6684 PR target/104004
6685 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
6686 (MTFSB0): Likewise.
6687 (MTFSB1): Likewise.
6688 (SET_FPSCR_RN): Likewise.
6689 (SET_FPSCR_DRN): Mark nosoft and no32bit.
6690
6691 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
6692
6693 * doc/options.texi (Option file format): Clarifications around
6694 option definition records' help texts.
6695
6696 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
6697
6698 * optc-gen.awk <END>: Fix "Multiple different help strings" error
6699 diagnostic.
6700
6701 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
6702
6703 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
6704 determine_suggested_unroll_factor and m_has_avg.
6705 (determine_suggested_unroll_factor): New function.
6706 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
6707 to set m_nosve_pattern.
6708 (aarch64_vector_costs::finish_costs): Use
6709 determine_suggested_unroll_factor.
6710 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
6711 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
6712
6713 2022-03-31 Martin Jambor <mjambor@suse.cz>
6714
6715 PR ipa/103083
6716 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
6717 (ipa_get_jf_ancestor_keep_null): New function.
6718 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
6719 ancestor function.
6720 (compute_complex_assign_jump_func): Pass false to keep_null
6721 parameter of ipa_set_ancestor_jf.
6722 (compute_complex_ancestor_jump_func): Pass true to keep_null
6723 parameter of ipa_set_ancestor_jf.
6724 (update_jump_functions_after_inlining): Carry over keep_null from the
6725 original ancestor jump-function or merge them.
6726 (ipa_write_jump_function): Stream keep_null flag.
6727 (ipa_read_jump_function): Likewise.
6728 (ipa_print_node_jump_functions_for_edge): Print the new flag.
6729 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
6730 member function known_nonzero_p.
6731 (ipcp_bits_lattice::known_nonzero_p): New.
6732 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
6733 observe it.
6734 (ipcp_bits_lattice::meet_with): Likewise.
6735 (propagate_bits_across_jump_function): Simplify. Pass true in
6736 drop_all_ones when it is necessary.
6737 (propagate_aggs_across_jump_function): Take care of keep_null
6738 flag.
6739 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
6740 jump functions.
6741
6742 2022-03-31 Martin Jambor <mjambor@suse.cz>
6743
6744 PR ipa/102513
6745 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
6746 which do not fit the known value_range.
6747
6748 2022-03-31 Martin Jambor <mjambor@suse.cz>
6749
6750 PR ipa/103171
6751 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
6752 always when an ADDR_EXPR constant is known to reach a load because
6753 of inlining, not just when removing an ADDR reference.
6754
6755 2022-03-31 Richard Biener <rguenther@suse.de>
6756
6757 PR tree-optimization/105109
6758 * tree-ssa.cc (execute_update_addresses_taken): Suppress
6759 diagnostics on the load of the other complex component.
6760
6761 2022-03-31 Tom de Vries <tdevries@suse.de>
6762
6763 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
6764
6765 2022-03-31 Richard Biener <rguenther@suse.de>
6766
6767 PR rtl-optimization/105091
6768 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
6769 bases.
6770
6771 2022-03-31 Richard Biener <rguenther@suse.de>
6772
6773 Revert:
6774 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
6775
6776 PR target/102125
6777 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
6778 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
6779
6780 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
6781
6782 * gcov-io.cc (gcov_read_string): Reword documentation comment.
6783
6784 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
6785
6786 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
6787 stanza.
6788 (NEG_V4SF): Likewise.
6789 (NEG_V4SI): Likewise.
6790 (NEG_V8HI): Likewise.
6791 (NEG_V2DF): Move to [vsx] stanza.
6792 (NEG_V2DI): Likewise.
6793
6794 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
6795
6796 PR middle-end/105032
6797 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
6798
6799 2022-03-30 Tom de Vries <tdevries@suse.de>
6800 Tobias Burnus <tobias@codesourcery.com>
6801
6802 * doc/invoke.texi (march): Document __PTX_SM__.
6803 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
6804 __PTX_ISA_VERSION_MINOR__.
6805
6806 2022-03-30 Jakub Jelinek <jakub@redhat.com>
6807
6808 PR sanitizer/105093
6809 * ubsan.cc (instrument_object_size): If t is equal to inner and
6810 is a decl other than global var, punt. When emitting call to
6811 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
6812
6813 2022-03-30 Jakub Jelinek <jakub@redhat.com>
6814
6815 PR tree-optimization/105094
6816 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
6817 bitsize <= 0 rather than just == 0.
6818
6819 2022-03-30 Tom de Vries <tdevries@suse.de>
6820
6821 * doc/invoke.texi (misa, mptx): Update.
6822 (march, march-map): Add.
6823
6824 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
6825
6826 * opt-functions.awk (n_args): New function.
6827 (lang_enabled_by): Merge function into...
6828 * optc-gen.awk <END>: ... sole user here.
6829 Improve diagnostics.
6830
6831 2022-03-29 Marek Polacek <polacek@redhat.com>
6832 Jakub Jelinek <jakub@redhat.com>
6833
6834 PR middle-end/103597
6835 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
6836 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
6837 (gimplify_cond_expr): Set UNUSED_LABEL_P.
6838 * tree.h (UNUSED_LABEL_P): New.
6839
6840 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
6841
6842 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
6843 be any VSX register.
6844
6845 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6846
6847 PR target/102024
6848 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
6849 zero-sized bit-fields. Detect cases where a warning may be needed.
6850 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
6851 zero-sized bit-field has caused parameter passing to change.
6852
6853 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6854
6855 PR target/102024
6856 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
6857 bit-fields. Detect cases where a warning may be needed.
6858 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
6859 a zero-sized bit-field has caused parameter passing to change.
6860
6861 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
6862
6863 PR target/96882
6864 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
6865 ARM_PCS_AAPCS_LOCAL.
6866
6867 2022-03-29 Tom de Vries <tdevries@suse.de>
6868
6869 PR target/104857
6870 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
6871 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
6872 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
6873 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
6874
6875 2022-03-29 Tom de Vries <tdevries@suse.de>
6876
6877 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
6878 is ignored.
6879
6880 2022-03-29 Tom de Vries <tdevries@suse.de>
6881
6882 PR target/104714
6883 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
6884
6885 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
6886
6887 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
6888 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
6889 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
6890 (TARGET_USE_GATHER_4PARTS): New macro.
6891 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
6892 (X86_TUNE_USE_GATHER_4PARTS): New tune
6893
6894 2022-03-29 Tom de Vries <tdevries@suse.de>
6895
6896 * config/nvptx/nvptx.opt (march): Add alias of misa.
6897
6898 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6899 Lulu Cheng <chenglulu@loongson.cn>
6900
6901 * doc/install.texi: Add LoongArch options section.
6902 * doc/invoke.texi: Add LoongArch options section.
6903 * doc/md.texi: Add LoongArch options section.
6904
6905 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6906 Lulu Cheng <chenglulu@loongson.cn>
6907
6908 * config/loongarch/loongarch-c.cc
6909
6910 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6911 Lulu Cheng <chenglulu@loongson.cn>
6912
6913 * config/loongarch/larchintrin.h: New file.
6914 * config/loongarch/loongarch-builtins.cc: New file.
6915
6916 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6917 Lulu Cheng <chenglulu@loongson.cn>
6918
6919 * config/host-linux.cc: Add LoongArch support.
6920 * config/loongarch/loongarch-protos.h: New file.
6921 * config/loongarch/loongarch-tune.h: Likewise.
6922 * config/loongarch/loongarch.cc: Likewise.
6923 * config/loongarch/loongarch.h: Likewise.
6924
6925 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6926 Lulu Cheng <chenglulu@loongson.cn>
6927
6928 * config/loongarch/constraints.md: New file.
6929 * config/loongarch/generic.md: New file.
6930 * config/loongarch/la464.md: New file.
6931 * config/loongarch/loongarch-ftypes.def: New file.
6932 * config/loongarch/loongarch-modes.def: New file.
6933 * config/loongarch/loongarch.md: New file.
6934 * config/loongarch/predicates.md: New file.
6935 * config/loongarch/sync.md: New file.
6936
6937 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6938 Lulu Cheng <chenglulu@loongson.cn>
6939
6940 * configure: Regenerate file.
6941
6942 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
6943 Lulu Cheng <chenglulu@loongson.cn>
6944
6945 * common/config/loongarch/loongarch-common.cc: New file.
6946 * config/loongarch/genopts/genstr.sh: New file.
6947 * config/loongarch/genopts/loongarch-strings: New file.
6948 * config/loongarch/genopts/loongarch.opt.in: New file.
6949 * config/loongarch/loongarch-str.h: New file.
6950 * config/loongarch/gnu-user.h: New file.
6951 * config/loongarch/linux.h: New file.
6952 * config/loongarch/loongarch-cpu.cc: New file.
6953 * config/loongarch/loongarch-cpu.h: New file.
6954 * config/loongarch/loongarch-def.c: New file.
6955 * config/loongarch/loongarch-def.h: New file.
6956 * config/loongarch/loongarch-driver.cc: New file.
6957 * config/loongarch/loongarch-driver.h: New file.
6958 * config/loongarch/loongarch-opts.cc: New file.
6959 * config/loongarch/loongarch-opts.h: New file.
6960 * config/loongarch/loongarch.opt: New file.
6961 * config/loongarch/t-linux: New file.
6962 * config/loongarch/t-loongarch: New file.
6963 * config.gcc: Add LoongArch support.
6964 * configure.ac: Add LoongArch support.
6965
6966 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
6967
6968 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
6969 typo.
6970
6971 2022-03-29 Richard Biener <rguenther@suse.de>
6972
6973 PR tree-optimization/105080
6974 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
6975 loops and SCEV.
6976
6977 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
6978
6979 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
6980 (output_ctf_vars): Likewise.
6981
6982 2022-03-28 Jason Merrill <jason@redhat.com>
6983
6984 PR c++/59426
6985 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
6986
6987 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
6988
6989 PR target/105068
6990 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
6991 "Yw" in clobber.
6992
6993 2022-03-28 Tom de Vries <tdevries@suse.de>
6994
6995 PR target/104818
6996 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
6997 * config/nvptx/nvptx-gen.opt: Regenerate.
6998 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
6999 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
7000 gen-opt.sh.
7001
7002 2022-03-28 David Malcolm <dmalcolm@redhat.com>
7003
7004 PR analyzer/104308
7005 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
7006 to loads then stores, set the location of the new load stmt.
7007
7008 2022-03-28 Richard Biener <rguenther@suse.de>
7009
7010 PR tree-optimization/105070
7011 * tree-switch-conversion.h
7012 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
7013 argument.
7014 * tree-switch-conversion.cc
7015 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
7016 cond with location.
7017 (bit_test_cluster::emit): Annotate all generated expressions
7018 with location.
7019
7020 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
7021
7022 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
7023
7024 2022-03-28 liuhongt <hongtao.liu@intel.com>
7025
7026 PR target/105066
7027 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
7028 alternative 4 from sse4_noavx to noavx.
7029
7030 2022-03-28 Jakub Jelinek <jakub@redhat.com>
7031
7032 PR tree-optimization/105056
7033 * tree-predcom.cc (component::component): Initialize also comp_step.
7034
7035 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
7036
7037 PR target/105068
7038 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
7039 "Yw".
7040
7041 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
7042
7043 PR middle-end/104885
7044 * calls.cc (mark_stack_region_used): Check that the region
7045 is within the allocated size of stack_usage_map.
7046
7047 2022-03-26 Jakub Jelinek <jakub@redhat.com>
7048
7049 PR rtl-optimization/103775
7050 * recog.cc (check_invalid_inc_dec): New function.
7051 (insn_invalid_p): Return 1 if REG_INC operand overlaps
7052 any stored REGs.
7053
7054 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
7055
7056 PR target/105058
7057 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
7058 (aes<aesklvariant>u8): Likewise.
7059
7060 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
7061
7062 PR target/105052
7063 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
7064 Replace "Yv" with "x".
7065 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
7066 (ssse3_psign<mode>3): Likewise.
7067
7068 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
7069
7070 * reload.cc (find_reloads): Align comment with code where
7071 considering the intersection of register classes then tweaking the
7072 regclass for the current alternative or rejecting it.
7073
7074 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
7075
7076 PR target/104882
7077 Revert
7078 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
7079
7080 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
7081 (mve_vec_unpack<US>_hi_<mode>): Delete.
7082 (@mve_vec_pack_trunc_lo_<mode>): Delete.
7083 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
7084 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
7085 from vec-common.md.
7086 (vec_unpack<US>_lo_<mode>): Likewise.
7087 (vec_pack_trunc_<mode>): Rename from
7088 neon_quad_vec_pack_trunc_<mode>.
7089 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
7090 (vec_unpack<US>_lo_<mode>): Delete.
7091 (vec_pack_trunc_<mode>): Delete.
7092
7093 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
7094
7095 PR middle-end/104971
7096 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
7097 regs to clear remove_p flag.
7098
7099 2022-03-25 Richard Biener <rguenther@suse.de>
7100
7101 PR tree-optimization/105053
7102 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
7103 the correct live-out stmt for a reduction chain.
7104
7105 2022-03-25 Richard Biener <rguenther@suse.de>
7106
7107 PR middle-end/105049
7108 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
7109 CONSTRUCTOR first elements.
7110
7111 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
7112
7113 PR analyzer/103533
7114 * doc/invoke.texi (Static Analyzer Options): Move
7115 @ignore block after @gccoptlist's '}' for 'make pdf'.
7116
7117 2022-03-25 David Malcolm <dmalcolm@redhat.com>
7118
7119 PR analyzer/104954
7120 * doc/invoke.texi (Static Analyzer Options): Add
7121 -fdump-analyzer-untracked.
7122
7123 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
7124
7125 PR analyzer/103533
7126 * doc/invoke.texi: Document that enabling taint analyzer
7127 checker disables some warnings from `-fanalyzer`.
7128
7129 2022-03-24 Alexandre Oliva <oliva@adacore.com>
7130
7131 PR debug/104564
7132 * gimple-harden-conditionals.cc (detach_value): Keep temps
7133 anonymous.
7134
7135 2022-03-24 Alexandre Oliva <oliva@adacore.com>
7136
7137 PR middle-end/104975
7138 * gimple-harden-conditionals.cc
7139 (pass_harden_compares::execute): Force split in case of
7140 multiple edges.
7141
7142 2022-03-24 Jakub Jelinek <jakub@redhat.com>
7143
7144 PR c++/105035
7145 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
7146 field0 or field1 is not a FIELD_DECL, return false.
7147
7148 2022-03-24 Richard Biener <rguenther@suse.de>
7149
7150 * tree-predcom.cc (chain::chain): Add CTOR.
7151 (component::component): Likewise.
7152 (pcom_worker::release_chain): Use delete.
7153 (release_components): Likewise.
7154 (pcom_worker::filter_suitable_components): Likewise.
7155 (pcom_worker::split_data_refs_to_components): Use new.
7156 (make_invariant_chain): Likewise.
7157 (make_rooted_chain): Likewise.
7158 (pcom_worker::combine_chains): Likewise.
7159 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
7160 Make sure to release previously constructed scalar_results.
7161 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
7162 for vec_offsets.
7163 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
7164 Release m_flag_set_edges.
7165
7166 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
7167
7168 PR tree-optimization/104970
7169 * tree-object-size.cc (parm_object_size): Restrict size
7170 computation scenarios to explicit access attributes.
7171
7172 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
7173
7174 PR target/104967
7175 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
7176 function types.
7177
7178 2022-03-23 Richard Biener <rguenther@suse.de>
7179
7180 PR target/102125
7181 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
7182 use of movmisalign when either the source or destination
7183 decl is properly aligned.
7184
7185 2022-03-23 Richard Biener <rguenther@suse.de>
7186
7187 PR rtl-optimization/105028
7188 * ira-color.cc (form_threads_from_copies): Remove unnecessary
7189 copying of the sorted_copies tail.
7190
7191 2022-03-23 Martin Liska <mliska@suse.cz>
7192
7193 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
7194 Use %qs in format.
7195 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
7196 Reword the error message.
7197
7198 2022-03-23 liuhongt <hongtao.liu@intel.com>
7199
7200 PR target/104976
7201 * config/i386/sse.md (ssePSmodelower): New.
7202 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
7203 lowpart_subreg to avoid NULL_RTX.
7204 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
7205 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
7206 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
7207 <avx512>_<complexopname>_<mode>_mask<round_name>,
7208 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
7209 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
7210 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
7211 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
7212 float<floatunssuffix><mode>v4hf2,
7213 float<floatunssuffix>v2div2hf2,
7214 fix<fixunssuffix>_truncv4hf<mode>2,
7215 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
7216 extendv2hfv2df2,
7217 trunc<mode>v4hf2,truncv2dfv2hf2,
7218 *avx512bw_permvar_truncv16siv16hi_1,
7219 *avx512bw_permvar_truncv16siv16hi_1_hf,
7220 *avx512f_permvar_truncv8siv8hi_1,
7221 *avx512f_permvar_truncv8siv8hi_1_hf,
7222 *avx512f_vpermvar_truncv8div8si_1,
7223 *avx512f_permvar_truncv32hiv32qi_1,
7224 *avx512f_permvar_truncv16hiv16qi_1,
7225 *avx512f_permvar_truncv4div4si_1,
7226 *avx512f_pshufb_truncv8hiv8qi_1,
7227 *avx512f_pshufb_truncv4siv4hi_1,
7228 *avx512f_pshufd_truncv2div2si_1,
7229 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
7230 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
7231
7232 2022-03-22 Tom de Vries <tdevries@suse.de>
7233
7234 PR target/104925
7235 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
7236 Use % as register prefix.
7237
7238 2022-03-22 Tom de Vries <tdevries@suse.de>
7239
7240 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
7241 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
7242 mexperimental.
7243
7244 2022-03-22 Tom de Vries <tdevries@suse.de>
7245
7246 * config/nvptx/nvptx.opt (mexperimental): New option.
7247
7248 2022-03-22 Tom de Vries <tdevries@suse.de>
7249
7250 PR target/104957
7251 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
7252 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
7253 for alias.
7254 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
7255 (nvptx_asm_output_def_from_decls): New function.
7256 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
7257 gcc_unreachable ().
7258 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
7259 nvptx_asm_output_def_from_decls.
7260 * config/nvptx/nvptx.opt (malias): New opt.
7261
7262 2022-03-22 Tom de Vries <tdevries@suse.de>
7263
7264 PR target/104916
7265 PR target/104783
7266 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
7267 sync (or uniform warp check for mptx < 6.0).
7268
7269 2022-03-22 Richard Biener <rguenther@suse.de>
7270
7271 PR tree-optimization/105012
7272 * tree-if-conv.cc (ifcvt_local_dce): Only call
7273 dse_classify_store when we have a VDEF.
7274
7275 2022-03-22 Martin Liska <mliska@suse.cz>
7276
7277 PR target/104902
7278 * config/nvptx/nvptx.cc (handle_ptx_version_option):
7279 Fix option wrapping in an error message.
7280
7281 2022-03-22 Martin Liska <mliska@suse.cz>
7282
7283 PR target/104903
7284 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
7285 Wrap const keyword.
7286
7287 2022-03-22 Martin Liska <mliska@suse.cz>
7288
7289 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
7290 name.
7291
7292 2022-03-22 Martin Liska <mliska@suse.cz>
7293
7294 PR target/104898
7295 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
7296 Use %qs instead of (%qs).
7297
7298 2022-03-22 Martin Liska <mliska@suse.cz>
7299
7300 PR target/104898
7301 * config/i386/i386-options.cc (ix86_option_override_internal):
7302 Use '%qs' instead of '(%qs)'.
7303
7304 2022-03-22 Martin Liska <mliska@suse.cz>
7305
7306 PR target/104898
7307 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
7308 Use 'qs' and remove usage '(%qs)'.
7309 (aarch64_handle_attr_cpu): Likewise.
7310 (aarch64_handle_attr_tune): Likewise.
7311 (aarch64_handle_attr_isa_flags): Likewise.
7312
7313 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7314 Andre Vieira <andre.simoesdiasvieira@arm.com>
7315
7316 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
7317 struct.
7318 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
7319 cost.
7320 (neoverse512tvb_tunings): Likewise.
7321
7322 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7323 Andre Vieira <andre.simoesdiasvieira@arm.com>
7324
7325 * config/aarch64/aarch64.cc (demeter_addrcost_table,
7326 demeter_regmove_cost, demeter_advsimd_vector_cost,
7327 demeter_sve_vector_cost, demeter_scalar_issue_info,
7328 demeter_advsimd_issue_info, demeter_sve_issue_info,
7329 demeter_vec_issue_info, demeter_vector_cost,
7330 demeter_tunings): New tuning structs.
7331 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
7332 tuning.
7333 * config/aarch64/aarch64-cores.def: Add entry for demeter.
7334 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
7335
7336 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7337 Andre Vieira <andre.simoesdiasvieira@arm.com>
7338
7339 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
7340 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
7341 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
7342 tunings to use cpu_memmov_cost struct.
7343
7344 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7345 Andre Vieira <andre.simoesdiasvieira@arm.com>
7346
7347 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
7348 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
7349 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
7350 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
7351 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
7352 (neoversen2_tunings): Use new structs and update tuning flags.
7353 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
7354 tuning.
7355
7356 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
7357
7358 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
7359 bit.
7360
7361 2022-03-22 liuhongt <hongtao.liu@intel.com>
7362
7363 PR target/104982
7364 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
7365 following splitter to reversed condition.
7366
7367 2022-03-22 Jakub Jelinek <jakub@redhat.com>
7368
7369 PR rtl-optimization/104989
7370 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
7371 sorry for passing too large argument, instead set sibcall_failure
7372 for pass == 0, or a new normal_failure flag otherwise. If
7373 normal_failure is set, don't assert all stack has been deallocated
7374 at the end and throw away the whole insn sequence.
7375
7376 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
7377
7378 * print-tree.cc: Change array length
7379
7380 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
7381
7382 PR target/104978
7383 * config/i386/sse.md
7384 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
7385 Use avx512f_movsf_mask instead of vmovaps or vblend, and
7386 force_reg before lowpart_subreg.
7387 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
7388
7389 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
7390
7391 PR target/105000
7392 * common/config/i386/i386-common.cc
7393 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
7394 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
7395
7396 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
7397
7398 PR target/104998
7399 * common/config/i386/cpuinfo.h (get_available_features): Pass
7400 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
7401 bit_AESKLE is set.
7402
7403 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
7404
7405 PR middle-end/104869
7406 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
7407 (clobber_group::next_clobber): Likewise.
7408 (def_lookup::prev_def): Rename to...
7409 (def_lookup::last_def_of_prev_group): ...this.
7410 (def_lookup::next_def): Rename to...
7411 (def_lookup::first_def_of_next_group): ...this.
7412 (def_lookup::matching_or_prev_def): Rename to...
7413 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
7414 (def_lookup::matching_or_next_def): Rename to...
7415 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
7416 (def_lookup::prev_def): New function, taking the lookup insn as
7417 argument.
7418 (def_lookup::next_def): Likewise.
7419 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
7420 (def_lookup::last_def_of_prev_group): ...this.
7421 (def_lookup::next_def): Rename to...
7422 (def_lookup::first_def_of_next_group): ...this.
7423 (def_lookup::matching_or_prev_def): Rename to...
7424 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
7425 (def_lookup::matching_or_next_def): Rename to...
7426 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
7427 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
7428 above renaming.
7429 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
7430 (clobber_group::next_clobber): Likewise.
7431 (def_lookup::prev_def): Likewise.
7432 (def_lookup::next_def): Likewise.
7433 (function_info::make_use_available): Pass the lookup insn to
7434 def_lookup::prev_def and def_lookup::next_def.
7435
7436 2022-03-21 Martin Liska <mliska@suse.cz>
7437
7438 * doc/invoke.texi: Document min-pagesize parameter.
7439
7440 2022-03-21 Richard Biener <rguenther@suse.de>
7441
7442 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
7443 we are estimating niter of loop.
7444
7445 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
7446
7447 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
7448 Update flag name and mask name.
7449 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
7450 misc macro for vector extensions.
7451 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
7452 (MASK_VECTOR_ELEN_32): ... this.
7453 (MASK_VECTOR_EEW_64): Rename to ...
7454 (MASK_VECTOR_ELEN_64): ... this.
7455 (MASK_VECTOR_EEW_FP_32): Rename to ...
7456 (MASK_VECTOR_ELEN_FP_32): ... this.
7457 (MASK_VECTOR_EEW_FP_64): Rename to ...
7458 (MASK_VECTOR_ELEN_FP_64): ... this.
7459 (TARGET_VECTOR_ELEN_32): New.
7460 (TARGET_VECTOR_ELEN_64): Ditto.
7461 (TARGET_VECTOR_ELEN_FP_32): Ditto.
7462 (TARGET_VECTOR_ELEN_FP_64): Ditto.
7463 (TARGET_MIN_VLEN): Ditto.
7464 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
7465 (riscv_vector_elen_flags): ... this.
7466
7467 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
7468
7469 PR target/104977
7470 * config/i386/sse.md
7471 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
7472 Correct round operand for intel dialect.
7473
7474 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
7475
7476 * diagnostic.cc (diagnostic_cc_tests): Rename to...
7477 (c_diagnostic_cc_tests): ...this.
7478 * opt-problem.cc (opt_problem_cc_tests): Rename to...
7479 (c_opt_problem_cc_tests): ...this.
7480 * selftest-run-tests.cc (selftest::run_tests): No longer run
7481 opt_problem_cc_tests or diagnostic_cc_tests.
7482 * selftest.h (diagnostic_cc_tests): Remove declaration.
7483 (opt_problem_cc_tests): Likewise.
7484
7485 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
7486
7487 PR jit/63854
7488 * hash-traits.h (struct typed_const_free_remove): New.
7489 (struct free_string_hash): New.
7490 * pass_manager.h: Use free_string_hash.
7491 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
7492 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
7493
7494 2022-03-19 Jakub Jelinek <jakub@redhat.com>
7495
7496 PR middle-end/104971
7497 * config/i386/i386-expand.cc
7498 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
7499 don't push/pop anything and just return const0_rtx.
7500
7501 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
7502
7503 PR rtl-optimization/104961
7504 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
7505
7506 2022-03-18 Jason Merrill <jason@redhat.com>
7507
7508 * tree.h (IDENTIFIER_LENGTH): Add comment.
7509
7510 2022-03-18 Jakub Jelinek <jakub@redhat.com>
7511
7512 PR middle-end/99578
7513 PR middle-end/100680
7514 PR tree-optimization/100834
7515 * params.opt (--param=min-pagesize=): New parameter.
7516 * pointer-query.cc
7517 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
7518 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
7519 of zero for pointer constants equal or larger than min-pagesize.
7520
7521 2022-03-18 Tom de Vries <tdevries@suse.de>
7522
7523 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
7524 Set gfor location only when dealing with a OMP_TASKLOOP.
7525
7526 2022-03-18 Tom de Vries <tdevries@suse.de>
7527
7528 * gimplify.cc (gimplify_omp_for): Set taskloop location.
7529
7530 2022-03-18 Tom de Vries <tdevries@suse.de>
7531
7532 PR target/104952
7533 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
7534 is executed unconditionally.
7535
7536 2022-03-18 liuhongt <hongtao.liu@intel.com>
7537
7538 PR target/104974
7539 * config/i386/i386.md (*movhi_internal): Set attr type from HI
7540 to HF for alternative 12 under TARGET_AVX512FP16.
7541
7542 2022-03-18 Cui,Lili <lili.cui@intel.com>
7543
7544 PR target/104963
7545 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
7546 * doc/invoke.texi: Update documents for Intel sapphirerapids.
7547
7548 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
7549
7550 PR target/86722
7551 PR tree-optimization/90356
7552 * config/i386/i386.md (*movtf_internal): Don't guard
7553 standard_sse_constant_p clause by optimize_function_for_size_p.
7554 (*movdf_internal): Likewise.
7555 (*movsf_internal): Likewise.
7556
7557 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
7558
7559 PR tree-optimization/102943
7560 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
7561 dominators and apply intermediary outgoing edge ranges.
7562
7563 2022-03-17 Richard Biener <rguenther@suse.de>
7564
7565 PR tree-optimization/104960
7566 * passes.def: Add pass parameter to pass_sink_code, mark
7567 last one to unsplit edges.
7568 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
7569 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
7570 when we need to unsplit edges.
7571
7572 2022-03-17 Jakub Jelinek <jakub@redhat.com>
7573
7574 PR middle-end/103984
7575 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
7576 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
7577 and asan unpoisioning, then append the temporary sequence and
7578 finally the TARGET_EXPR_CLEANUP clobbers.
7579
7580 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7581
7582 * config/i386/sse.md: Delete corrupt character/typo.
7583
7584 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7585
7586 PR target/94680
7587 * config/i386/sse.md (sse2_movq128): New define_expand to
7588 preserve previous named instruction.
7589 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
7590 generalized to VI8F_128 (both V2DI and V2DF).
7591
7592 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
7593
7594 PR tree-optimization/104941
7595 * tree-object-size.cc (size_for_offset): Make useless conversion
7596 check lighter and assign result of fold_convert to OFFSET.
7597
7598 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
7599
7600 PR target/104890
7601 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
7602 pushing target("general-regs-only").
7603
7604 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
7605
7606 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
7607 Add version info for zk, zks and zkn.
7608
7609 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
7610
7611 * common/config/riscv/riscv-common.cc
7612 (riscv_combine_info): New.
7613 (riscv_subset_list::handle_combine_ext): Combine back into zk to
7614 maintain the canonical order in isa strings.
7615 (riscv_subset_list::parse): Ditto.
7616 * config/riscv/riscv-subset.h (handle_combine_ext): New.
7617
7618 2022-03-16 Richard Biener <rguenther@suse.de>
7619
7620 PR tree-optimization/102008
7621 * passes.def: Move the added code sinking pass before the
7622 preceeding phiopt pass.
7623
7624 2022-03-16 Patrick Palka <ppalka@redhat.com>
7625
7626 PR c++/96780
7627 * doc/invoke.texi (C++ Dialect Options): Document
7628 -ffold-simple-inlines.
7629
7630 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
7631
7632 PR tree-optimization/104942
7633 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
7634
7635 2022-03-16 Jakub Jelinek <jakub@redhat.com>
7636
7637 PR target/104910
7638 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
7639 imm rtx.
7640
7641 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7642 Richard Biener <rguenther@suse.de>
7643
7644 * gimple-match-head.cc (single_use): Implement inline using a
7645 single loop.
7646
7647 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
7648
7649 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
7650 instead of HONOR_NANS.
7651 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
7652 this can't trap/signal.
7653
7654 2022-03-16 liuhongt <hongtao.liu@intel.com>
7655
7656 PR target/104946
7657 * config/i386/i386-builtin.def (BDESC): Add
7658 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
7659 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
7660 __builtin_ia32_blendvpd w/o sse4.2
7661
7662 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
7663
7664 PR target/104923
7665 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
7666 acceptable MEM addresses.
7667
7668 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7669
7670 PR target/91229
7671 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
7672 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
7673 to warning calls.
7674
7675 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7676
7677 PR target/104890
7678 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
7679 instead of general-regs-only.
7680
7681 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
7682 Marc Glisse <marc.glisse@inria.fr>
7683 Richard Biener <rguenther@suse.de>
7684
7685 PR tree-optimization/101895
7686 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
7687 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
7688
7689 2022-03-15 Jakub Jelinek <jakub@redhat.com>
7690
7691 PR rtl-optimization/104814
7692 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
7693 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
7694
7695 2022-03-15 Martin Sebor <msebor@redhat.com>
7696
7697 PR middle-end/104436
7698 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
7699 Check for warning suppression. Avoid by-value arguments transformed
7700 into by-transparent-reference.
7701
7702 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
7703 Uroš Bizjak <ubizjak@gmail.com>
7704
7705 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
7706 transformation when *zero_extend<mode>si2 is not available.
7707
7708 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
7709
7710 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
7711 * config/mips/mips.cc (mips_option_override): Make
7712 -fsanitize=address imply -fasynchronous-unwind-tables. This is
7713 needed by libasan for stack backtrace on MIPS.
7714 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
7715
7716 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7717
7718 PR debug/104778
7719 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
7720 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
7721 call simplified the first operand into VOIDmode constant.
7722
7723 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7724
7725 PR tree-optimization/102586
7726 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
7727 argument type should be pointer to trivially-copyable type unless it
7728 is address of a variable or parameter.
7729
7730 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7731
7732 PR target/99754
7733 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
7734 first rather than last element of the vector, use __m32_u to do
7735 a really unaligned load, use just 0 instead of (int)0.
7736 (_mm_loadu_si16): Put loaded value into first rather than last
7737 element of the vector, use __m16_u to do a really unaligned load,
7738 use just 0 instead of (short)0.
7739
7740 2022-03-14 Jakub Jelinek <jakub@redhat.com>
7741
7742 PR other/104899
7743 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
7744 in diagnostic message - cannott -> cannot. Use %< and %> around
7745 names of attribute. Avoid too long line.
7746 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
7747 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
7748
7749 2022-03-14 liuhongt <hongtao.liu@intel.com>
7750
7751 PR target/104666
7752 * config/i386/i386-expand.cc
7753 (ix86_check_builtin_isa_match): New func.
7754 (ix86_expand_builtin): Move code to
7755 ix86_check_builtin_isa_match and call it.
7756 * config/i386/i386-protos.h
7757 (ix86_check_builtin_isa_match): Declare.
7758 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
7759 builtin into gimple when isa mismatches.
7760
7761 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
7762
7763 * doc/invoke.texi: Fix typos.
7764 * doc/tm.texi.in: Remove duplicated word.
7765 * doc/tm.texi: Regenerate.
7766
7767 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
7768
7769 PR target/104829
7770 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
7771 "ppc" and "ppc64" based on rs6000_cpu.
7772
7773 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7774
7775 PR middle-end/100280
7776 PR middle-end/104892
7777 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
7778 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
7779
7780 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7781
7782 PR middle-end/100280
7783 PR middle-end/104086
7784 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
7785 Mark variables used in 'present' clauses as addressable.
7786 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
7787 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
7788
7789 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
7790
7791 PR other/65095
7792 * tree-core.h (user_omp_claus_code_name): Declare function.
7793 * tree.cc (user_omp_clause_code_name): New function.
7794
7795 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
7796
7797 PR middle-end/98420
7798 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
7799 (the defaut) or -fno-signed-zeros.
7800
7801 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
7802
7803 PR target/104868
7804 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
7805 moving from a GPR register to an Altivec register.
7806
7807 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7808
7809 PR tree-optimization/98335
7810 * config/i386/i386.md (peephole2): Eliminate redundant insv.
7811 Combine movl followed by movb. Transform xorl followed by
7812 a suitable movb or movw into the equivalent movz[bw]l.
7813
7814 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
7815 Richard Biener <rguenther@suse.de>
7816
7817 PR tree-optimization/98335
7818 * builtins.cc (get_object_alignment_2): Export.
7819 * builtins.h (get_object_alignment_2): Likewise.
7820 * tree-ssa-alias.cc (ao_ref_alignment): New.
7821 * tree-ssa-alias.h (ao_ref_alignment): Declare.
7822 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
7823 to align head/tail, writing more bytes but using fewer store insns.
7824
7825 2022-03-11 Richard Biener <rguenther@suse.de>
7826
7827 PR tree-optimization/104880
7828 * tree-ssa.cc (execute_update_address_taken): Remember if we
7829 optimistically made something not addressable and
7830 prepare to undo it.
7831
7832 2022-03-11 Richard Biener <rguenther@suse.de>
7833
7834 PR target/104762
7835 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
7836 cost the first lane of SSE pieces as inserts for vec_construct.
7837
7838 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
7839
7840 PR c++/84964
7841 * calls.cc (expand_call): Ignore stack adjustments after sorry.
7842
7843 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
7844
7845 PR target/103074
7846 * lra-constraints.cc (split_reg): Set up
7847 check_and_force_assignment_correctness_p when splitting hard
7848 register live range.
7849
7850 2022-03-10 Martin Jambor <mjambor@suse.cz>
7851
7852 PR ipa/104813
7853 * ipa-cp.cc (create_specialized_node): Move removal of
7854 self-recursive calls from callers vector before refrence
7855 adjustments.
7856
7857 2022-03-10 Richard Biener <rguenther@suse.de>
7858
7859 PR tree-optimization/102943
7860 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
7861 Make a bitmap_head.
7862 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
7863 to tree view.
7864 (sbr_sparse_bitmap::set_bb_range): Adjust.
7865 (sbr_sparse_bitmap::get_bb_range): Likewise.
7866
7867 2022-03-10 Richard Biener <rguenther@suse.de>
7868
7869 PR tree-optimization/102943
7870 * tree-ssa-dom.cc (back_propagate_equivalences): Only
7871 populate the dominance bitmap if fast queries are not
7872 available. Use a tree view bitmap.
7873 (record_temporary_equivalences): Cache the dominance bitmap
7874 across all equivalences on the edge.
7875
7876 2022-03-10 Tom de Vries <tdevries@suse.de>
7877
7878 PR target/104840
7879 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
7880 of false,true.
7881
7882 2022-03-10 Tom de Vries <tdevries@suse.de>
7883
7884 PR target/104783
7885 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
7886 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
7887 (nvptx_get_unisimt_outside_simt_predicate): New function.
7888 (predicate_insn): New function, factored out of ...
7889 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
7890 * config/nvptx/nvptx.h (struct machine_function): Add
7891 unisimt_outside_simt_predicate field.
7892 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
7893 (define_insn "nvptx_uniform_warp_check"): Make predicable.
7894
7895 2022-03-10 Tom de Vries <tdevries@suse.de>
7896
7897 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
7898 result.
7899
7900 2022-03-10 Tom de Vries <tdevries@suse.de>
7901
7902 PR target/104815
7903 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
7904 modifier.
7905 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
7906
7907 2022-03-10 Tom de Vries <tdevries@suse.de>
7908
7909 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
7910 Emit atom.and.b64 instead of atom.b64.and.
7911
7912 2022-03-10 Tom de Vries <tdevries@suse.de>
7913
7914 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
7915 (MULTILIB_OPTIONS): ... here.
7916
7917 2022-03-10 Tom de Vries <tdevries@suse.de>
7918
7919 PR target/104758
7920 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
7921 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
7922
7923 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
7924
7925 PR middle-end/90115
7926 PR middle-end/102330
7927 PR middle-end/104774
7928 * omp-low.cc (oacc_privatization_candidate_p)
7929 (oacc_privatization_scan_clause_chain)
7930 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
7931 Analyze 'lookup_decl'-translated DECL.
7932
7933 2022-03-10 Jakub Jelinek <jakub@redhat.com>
7934
7935 PR target/99708
7936 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
7937 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
7938 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
7939 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
7940 "**NULL**" if type_node is NULL first. Handle
7941 ieee128_float_type_node.
7942 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
7943 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
7944 ieee128_float_type_node to NULL rather than long_double_type_node if
7945 they aren't supported. Do support __ibm128 even if
7946 !TARGET_FLOAT128_TYPE when long double is double double.
7947 (rs6000_expand_builtin): Error if bif_is_ibm128 and
7948 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
7949 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
7950 for it.
7951 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
7952 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
7953 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
7954 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
7955 Formatting fix.
7956 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
7957 (struct attrinfo): Add isibm128 member.
7958 (TYPE_MAP_SIZE): Remove.
7959 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
7960 ibm128_float_type_node only if it is non-NULL, otherwise fall back
7961 to long_double_type_node. Remove "pif" entry.
7962 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
7963 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
7964 (write_type_node): Use sizeof type_map / sizeof type_map[0]
7965 instead of TYPE_MAP_SIZE.
7966 (write_bif_static_init): Handle isibm128.
7967 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
7968 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
7969 attribute.
7970
7971 2022-03-09 Richard Biener <rguenther@suse.de>
7972
7973 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
7974 with non-decl operand, avoiding a copy.
7975
7976 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7977
7978 PR target/104781
7979 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
7980
7981 2022-03-09 Richard Biener <rguenther@suse.de>
7982
7983 PR middle-end/104786
7984 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
7985 for VLAs without an upper size bound.
7986
7987 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
7988
7989 PR tree-optimization/104851
7990 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
7991 error.
7992
7993 2022-03-09 Jakub Jelinek <jakub@redhat.com>
7994
7995 PR c/104711
7996 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
7997 is enabled by it only for C++11 to C++17 rather than for C++03 or
7998 later.
7999 (-Wshift-negative-value): Similarly (except here we stated
8000 that it is enabled for C++11 or later).
8001
8002 2022-03-09 Jakub Jelinek <jakub@redhat.com>
8003
8004 PR rtl-optimization/104839
8005 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
8006 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
8007 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
8008 instead of incorrect 0 in SUBREG_PROMOTED_SET.
8009
8010 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
8011
8012 PR target/104842
8013 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
8014 value before adding an offset.
8015
8016 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
8017
8018 * config/arm/arm-builtins.cc
8019 (arm_binop_none_none_unone_qualifiers): Delete.
8020 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
8021
8022 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
8023
8024 PR translation/104552
8025 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
8026 the PCH out of memory error message punctuation and wording.
8027
8028 2022-03-08 Marek Polacek <polacek@redhat.com>
8029
8030 PR rtl-optimization/104777
8031 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
8032 ASM_OPERANDS_LABEL_VEC has at least one element.
8033
8034 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
8035
8036 PR target/104781
8037 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
8038 stack realignment or regparm nested function with EH return.
8039
8040 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
8041
8042 PR target/104790
8043 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
8044 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
8045 register for non widening loads or narrowing stores.
8046
8047 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
8048
8049 PR translation/104552
8050 * params.opt: Fix typo.
8051
8052 2022-03-08 Richard Biener <rguenther@suse.de>
8053
8054 PR tree-optimization/84201
8055 * params.opt (-param=vect-induction-float): Add.
8056 * doc/invoke.texi (vect-induction-float): Document.
8057 * tree-vect-loop.cc (vectorizable_induction): Honor
8058 param_vect_induction_float.
8059
8060 2022-03-08 Martin Jambor <mjambor@suse.cz>
8061
8062 PR translation/104552
8063 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
8064 "that" in the description.
8065
8066 2022-03-08 Richard Biener <rguenther@suse.de>
8067
8068 PR tree-optimization/104825
8069 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
8070 guard modref get_ao_ref on a pointer typed argument.
8071
8072 2022-03-08 liuhongt <hongtao.liu@intel.com>
8073
8074 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
8075 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
8076
8077 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
8078
8079 * doc/invoke.texi (C++ Modules): Remove anachronism.
8080
8081 2022-03-07 Martin Liska <mliska@suse.cz>
8082
8083 PR middle-end/104381
8084 * opts.cc (finish_options): If debug info is disabled
8085 (debug_info_level) and -fvar-tracking is unset, disable it.
8086
8087 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8088
8089 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
8090 * config/riscv/riscv.cc: Likewise.
8091 * config/darwin.h: Likewise.
8092 * config/i386/i386.cc: Likewise.
8093 * config/aarch64/thunderx3t110.md: Likewise.
8094 * config/aarch64/fractional-cost.h: Likewise.
8095 * config/vax/vax.cc: Likewise.
8096 * config/rs6000/pcrel-opt.md: Likewise.
8097 * config/rs6000/predicates.md: Likewise.
8098 * ctfc.h: Likewise.
8099 * tree-ssa-uninit.cc: Likewise.
8100 * value-relation.h: Likewise.
8101 * gimple-range-gori.cc: Likewise.
8102 * ipa-polymorphic-call.cc: Likewise.
8103 * pointer-query.cc: Likewise.
8104 * ipa-sra.cc: Likewise.
8105 * internal-fn.cc: Likewise.
8106 * varasm.cc: Likewise.
8107 * gimple-ssa-warn-access.cc: Likewise.
8108
8109 2022-03-07 Martin Liska <mliska@suse.cz>
8110
8111 PR target/104794
8112 * config/arm/arm.cc (arm_option_override_internal): Add missing
8113 space.
8114
8115 2022-03-07 Richard Biener <rguenther@suse.de>
8116
8117 PR tree-optimization/104782
8118 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
8119 Re-instantiate r10-5979 fix, add comment.
8120
8121 2022-03-07 Martin Liska <mliska@suse.cz>
8122
8123 PR target/104797
8124 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
8125 parenthesis from built-in name.
8126
8127 2022-03-07 Martin Liska <mliska@suse.cz>
8128
8129 PR target/104794
8130 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
8131 of options in error messages.
8132 (arm_option_reconfigure_globals): Likewise.
8133
8134 2022-03-07 Martin Liska <mliska@suse.cz>
8135
8136 PR target/104794
8137 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
8138 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
8139 have only range [0,32].
8140
8141 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8142
8143 PR target/104775
8144 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
8145 S constraint instead of T in the last alternative.
8146
8147 2022-03-07 Martin Liska <mliska@suse.cz>
8148
8149 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
8150 message.
8151
8152 2022-03-07 Martin Liska <mliska@suse.cz>
8153
8154 PR translation/90148
8155 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
8156 quote to a proper place.
8157 * plugin.cc (default_plugin_dir_name): Likewise.
8158
8159 2022-03-07 Martin Liska <mliska@suse.cz>
8160
8161 PR target/99297
8162 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
8163 string.
8164
8165 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8166
8167 PR target/104779
8168 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
8169 define_expand pattern. Rename define_insn to ...
8170 (*avx512dq_mul<mode>3<mask_name>): ... this.
8171 (<code><mode>3_mask): New any_logic define_expand pattern.
8172 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
8173 (*<code><mode>3<mask_name>): ... this.
8174
8175 2022-03-05 Jakub Jelinek <jakub@redhat.com>
8176
8177 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
8178 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
8179
8180 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
8181 Uroš Bizjak <ubizjak@gmail.com>
8182
8183 PR testsuite/104732
8184 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
8185 Include DI mode unconditionally.
8186 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
8187 i.e. always split on !TARGET_64BIT.
8188 (*<any_or>di3_doubleword): Likewise.
8189 (*one_cmpldi2_doubleword): Likewise.
8190 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
8191 (<any_or><mode>3 expander): Likewise.
8192 (one_cmpl<mode>2 expander): Likewise.
8193
8194 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
8195
8196 PR target/104698
8197 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
8198 (mtvsrdd_diti_w1): Delete.
8199 (extendditi2): Convert from define_expand to
8200 define_insn_and_split. Replace with code to deal with both GPR
8201 registers and with altivec registers.
8202
8203 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
8204
8205 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
8206 bit. Handle most older CPUs.
8207
8208 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
8209
8210 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
8211 avoid a mismatch with DECL_MD_FUNCTION_CODE().
8212
8213 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
8214
8215 PR target/104117
8216 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
8217 (@machopic_low_<mode>): New.
8218 * config/rs6000/predicates.md (macho_pic_address): New.
8219 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
8220 apply the TLS processing to Darwin.
8221 * lra-constraints.cc (process_address_1): Revert the changes
8222 in r12-7209.
8223
8224 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
8225
8226 PR target/87496
8227 PR target/104208
8228 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
8229 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
8230 -mlong-double-128.
8231 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
8232 from here...
8233 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
8234 ... to here.
8235
8236 2022-03-04 Jakub Jelinek <jakub@redhat.com>
8237
8238 PR middle-end/104529
8239 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
8240 on automatic objects which will be runtime initialized.
8241
8242 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8243
8244 PR middle-end/100280
8245 PR middle-end/104132
8246 PR middle-end/104133
8247 * omp-low.cc (task_shared_vars): Rename to
8248 'make_addressable_vars'. Adjust all users.
8249 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
8250 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
8251
8252 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8253
8254 PR middle-end/100280
8255 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
8256 * tree-core.h: Document it.
8257 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
8258 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
8259 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
8260 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
8261 'TREE_ADDRESSABLE'.
8262
8263 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8264
8265 PR middle-end/100280
8266 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
8267 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
8268 '[...]' declared in block made addressable".
8269
8270 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8271
8272 PR middle-end/100400
8273 PR middle-end/103836
8274 PR middle-end/104061
8275 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
8276 Catch 'GIMPLE_DEBUG'.
8277
8278 2022-03-04 Jakub Jelinek <jakub@redhat.com>
8279
8280 PR c/104627
8281 * tree.cc (warn_deprecated_use): For types prefer to use node
8282 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
8283 NULL.
8284
8285 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
8286
8287 PR target/104704
8288 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
8289 a pseudo register.
8290
8291 2022-03-03 Martin Sebor <msebor@redhat.com>
8292
8293 PR middle-end/104761
8294 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
8295 mark_dfs_back_edges.
8296
8297 2022-03-03 Martin Liska <mliska@suse.cz>
8298
8299 * configure.ac: Use linker plug-in by default.
8300 * configure: Regenerate.
8301
8302 2022-03-03 Martin Liska <mliska@suse.cz>
8303
8304 * configure.ac: Now ld.mold support LTO plugin API, use it.
8305 * configure: Regenerate.
8306
8307 2022-03-03 Tom de Vries <tdevries@suse.de>
8308
8309 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
8310
8311 2022-03-03 Tom de Vries <tdevries@suse.de>
8312
8313 PR target/104758
8314 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
8315
8316 2022-03-03 Tom de Vries <tdevries@suse.de>
8317
8318 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
8319
8320 2022-03-03 Jakub Jelinek <jakub@redhat.com>
8321
8322 PR middle-end/104757
8323 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
8324 gimplify_omp_for.
8325 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
8326 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
8327
8328 2022-03-03 Jakub Jelinek <jakub@redhat.com>
8329
8330 PR middle-end/104558
8331 * calls.cc (store_one_arg): When not calling emit_push_insn
8332 because size_rtx is const0_rtx, call at least anti_adjust_stack
8333 on arg->locate.alignment_pad if !argblock and the alignment might
8334 be non-zero.
8335
8336 2022-03-02 Alexandre Oliva <oliva@adacore.com>
8337
8338 * lra-constraints.cc (undo_optional_reloads): Recognize and
8339 drop insns of multi-word move sequences, tolerate removal
8340 iteration on an already-removed clobber, and refuse to
8341 substitute original pseudos into clobbers.
8342
8343 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
8344
8345 PR middle-end/102276
8346 * common.opt (-Wtrivial-auto-var-init): New option.
8347 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
8348 (-ftrivial-auto-var-init): Update option;
8349 * gimplify.cc (emit_warn_switch_unreachable): New function.
8350 (warn_switch_unreachable_r): Rename to ...
8351 (warn_switch_unreachable_and_auto_init_r): This.
8352 (maybe_warn_switch_unreachable): Rename to ...
8353 (maybe_warn_switch_unreachable_and_auto_init): This.
8354 (gimplify_switch_expr): Update calls to renamed function.
8355
8356 2022-03-02 Richard Biener <rguenther@suse.de>
8357
8358 PR rtl-optimization/104686
8359 * ira-color.cc (object_conflicts_with_allocno_p): New function
8360 using a bitvector test instead of iterating when possible.
8361 (allocnos_conflict_p): Choose the best allocno to iterate over
8362 object conflicts.
8363 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
8364 last.
8365
8366 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8367
8368 * cfg.cc (dump_edge_info): Dump goto_locus if present.
8369
8370 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8371
8372 PR rtl-optimization/104589
8373 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
8374 INSN_LOCATION comparison with goto_locus.
8375
8376 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8377
8378 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
8379 strlen_pass::before_dom_children): Comment spelling fixes.
8380
8381 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8382
8383 * ipa-modref-tree.cc (modref_access_node::contains,
8384 modref_access_node::closer_pair_p, modref_access_node::insert,
8385 modref_access_node::insert_kill): Comment spelling fixes.
8386 * ipa-modref.cc: Likewise.
8387 (modref_summary::finalize, ignore_nondeterminism_p,
8388 class modref_access_analysis,
8389 modref_access_analysis::set_side_effects,
8390 modref_access_analysis::set_nondeterministic,
8391 modref_access_analysis::record_global_memory_load,
8392 modref_access_analysis::propagate, modref_access_analysis::analyze,
8393 struct escape_point, class modref_lattice, modref_lattice::merge,
8394 modref_lattice::merge_deref, class modref_eaf_analysis,
8395 modref_eaf_analysis::merge_call_lhs_flags,
8396 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
8397 modref_eaf_analysis::record_escape_points, remap_kills,
8398 update_escape_summary, remove_useless_summaries,
8399 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
8400 Likewise.
8401 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
8402 Likewise.
8403 * ipa-modref-tree.h (enum modref_special_parms,
8404 struct modref_access_node): Likewise.
8405
8406 2022-03-01 Jakub Jelinek <jakub@redhat.com>
8407
8408 PR tree-optimization/104715
8409 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
8410 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
8411 of a call if gimple_call_return_arg is equal to ptr, not just when it
8412 is non-NULL.
8413
8414 2022-03-01 Jakub Jelinek <jakub@redhat.com>
8415
8416 * gimple-ssa-warn-access.cc (warn_string_no_nul,
8417 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
8418 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
8419 pass_waccess::check_alloca, pass_waccess::check_strcat,
8420 memmodel_to_uhwi, fntype_argno_type,
8421 pass_waccess::maybe_check_access_sizes,
8422 pass_waccess::check_call_access,
8423 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
8424 Comment spelling fixes.
8425
8426 2022-03-01 Richard Biener <rguenther@suse.de>
8427
8428 PR tree-optimization/104716
8429 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
8430 Check if we can copy the loop.
8431
8432 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
8433
8434 PR middle-end/104721
8435 * cfgexpand.cc (expand_gimple_basic_block): Clear
8436 currently_expanding_gimple_stmt when returning inside the loop.
8437
8438 2022-03-01 Martin Liska <mliska@suse.cz>
8439
8440 PR ipa/104533
8441 * multiple_target.cc (get_attr_len): Move to tree.c.
8442 (expand_target_clones): Remove single value checking.
8443 * tree.cc (get_target_clone_attr_len): New fn.
8444 * tree.h (get_target_clone_attr_len): Likewise.
8445
8446 2022-03-01 Martin Liska <mliska@suse.cz>
8447
8448 PR gcov-profile/104677
8449 * doc/invoke.texi: Document more .gcda file name generation.
8450
8451 2022-03-01 Tom de Vries <tdevries@suse.de>
8452
8453 PR target/102429
8454 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
8455 * config/nvptx/nvptx.md
8456 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
8457 New predicate.
8458 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
8459 Use nvptx_register_or_complex_di_df_register_operand.
8460
8461 2022-03-01 Tom de Vries <tdevries@suse.de>
8462
8463 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
8464 * config/nvptx/gen-copyright.sh: New file.
8465 * config/nvptx/gen-h.sh: New file.
8466 * config/nvptx/gen-opt.sh: New file.
8467 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
8468 (TARGET_SM75, TARGET_SM80): Move ...
8469 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
8470 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
8471 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
8472 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
8473 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
8474
8475 2022-03-01 Tom de Vries <tdevries@suse.de>
8476
8477 * config/nvptx/gen-omp-device-properties.sh: New file.
8478 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
8479
8480 2022-03-01 Tom de Vries <tdevries@suse.de>
8481
8482 * config/nvptx/nvptx-sm.def: New file.
8483 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
8484 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
8485 * config/nvptx/nvptx.cc (sm_version_to_string)
8486 (nvptx_omp_device_kind_arch_isa): Same.
8487
8488 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
8489
8490 PR rtl-optimization/104154
8491 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
8492 comparison ifcvt passed us.
8493
8494 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
8495
8496 PR target/104664
8497 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
8498 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
8499
8500 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
8501
8502 PR tree-optimization/91384
8503 * config/i386/i386.md (peephole2): Eliminate final testl insn
8504 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
8505 transforming using *negsi_2 for the negation.
8506
8507 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
8508 Eric Botcazou <ebotcazou@adacore.com>
8509
8510 PR middle-end/80270
8511 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
8512 register, copy it to a pseudo before calling simplify_gen_subreg.
8513
8514 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
8515
8516 PR rtl-optimization/104637
8517 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
8518 as possible on one subpass.
8519
8520 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
8521
8522 PR middle-end/104550
8523 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
8524 created uses.
8525
8526 2022-02-28 Martin Liska <mliska@suse.cz>
8527
8528 PR ipa/104648
8529 * main.cc (main): Use flag_checking instead of CHECKING_P
8530 and run toplev::finalize only if there is not error seen.
8531
8532 2022-02-28 Richard Biener <rguenther@suse.de>
8533
8534 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
8535
8536 2022-02-28 Richard Biener <rguenther@suse.de>
8537
8538 PR tree-optimization/104700
8539 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
8540 into ...
8541 (find_or_generate_expression): ... here, simplifying code.
8542
8543 2022-02-28 Tom de Vries <tdevries@suse.de>
8544
8545 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
8546 PTX_VERSION_default.
8547 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
8548 PTX_VERSION_default.
8549 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
8550
8551 2022-02-28 Richard Biener <rguenther@suse.de>
8552
8553 PR rtl-optimization/104686
8554 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
8555 skipping bits that are zero.
8556 (ira_object_conflict_iter_cond): Likewise.
8557
8558 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
8559
8560 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
8561 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
8562 char to avoid error when using ~enum as parameter.
8563 (_mm512_mask_ternarylogic_epi64): Likewise.
8564 (_mm512_maskz_ternarylogic_epi64): Likewise.
8565 (_mm512_ternarylogic_epi32): Likewise.
8566 (_mm512_mask_ternarylogic_epi32): Likewise.
8567 (_mm512_maskz_ternarylogic_epi32): Likewise.
8568 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
8569 Adjust imm param type to unsigned char.
8570 (_mm256_mask_ternarylogic_epi64): Likewise.
8571 (_mm256_maskz_ternarylogic_epi64): Likewise.
8572 (_mm256_ternarylogic_epi32): Likewise.
8573 (_mm256_mask_ternarylogic_epi32): Likewise.
8574 (_mm256_maskz_ternarylogic_epi32): Likewise.
8575 (_mm_ternarylogic_epi64): Likewise.
8576 (_mm_mask_ternarylogic_epi64): Likewise.
8577 (_mm_maskz_ternarylogic_epi64): Likewise.
8578 (_mm_ternarylogic_epi32): Likewise.
8579 (_mm_mask_ternarylogic_epi32): Likewise.
8580 (_mm_maskz_ternarylogic_epi32): Likewise.
8581
8582 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8583 Marc Glisse <marc.glisse@inria.fr>
8584
8585 PR tree-optimization/104675
8586 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
8587 Restrict simplifications to INTEGRAL_TYPE_P.
8588
8589 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8590
8591 PR target/104681
8592 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
8593
8594 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
8595
8596 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
8597 comparison is not valid.
8598 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
8599 (movdicc): Likewise.
8600 (movsfcc): Likewise.
8601 (movdfcc): Likewise.
8602
8603 2022-02-25 Richard Biener <rguenther@suse.de>
8604
8605 PR tree-optimization/103037
8606 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
8607 (vn_nary_length_from_stmt): Likewise.
8608 (init_vn_nary_op_from_stmt): Likewise.
8609 (vn_nary_op_compute_hash): Likewise.
8610 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
8611 (vn_nary_length_from_stmt): Likewise.
8612 (init_vn_nary_op_from_stmt): Likewise.
8613 (vn_nary_op_compute_hash): Likewise.
8614 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
8615 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
8616 (re-)compute the hash value and if the expression is not
8617 found allocate it from pre_expr_obstack.
8618 (phi_translate_1): Do not insert the NARY found in the
8619 VN tables but build a PRE expression from the valueized
8620 NARY with the value-id we eventually found.
8621 (find_or_generate_expression): Assert we have an entry
8622 for constant values.
8623 (compute_avail): Insert not valueized expressions into
8624 EXP_GEN using the value-id from the VN tables.
8625 (init_pre): Allocate pre_expr_obstack.
8626 (fini_pre): Free pre_expr_obstack.
8627
8628 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8629
8630 PR target/104674
8631 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
8632 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
8633 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
8634
8635 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8636
8637 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
8638
8639 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8640
8641 PR middle-end/104679
8642 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
8643
8644 2022-02-25 Jakub Jelinek <jakub@redhat.com>
8645
8646 PR tree-optimization/104675
8647 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
8648 COMPLEX_TYPE.
8649
8650 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8651
8652 PR target/104121
8653 PR target/103302
8654 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
8655
8656 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8657
8658 PR middle-end/104540
8659 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
8660 dw_cfi_cfa_loc.
8661
8662 2022-02-25 Alexandre Oliva <oliva@adacore.com>
8663
8664 PR tree-optimization/103856
8665 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
8666 eh edge to be requested through an extra parameter.
8667 (pass_harden_compares::execute): Copy PHI args in the EH dest
8668 block for the new EH edge added for the inverted compare.
8669
8670 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
8671
8672 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
8673 of position independence that -mcmodel=medany affords.
8674
8675 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
8676
8677 PR target/104656
8678 * configure.ac: --disable-gcov if targetting bpf-*.
8679 * configure: Regenerate.
8680
8681 2022-02-24 Richard Biener <rguenther@suse.de>
8682
8683 PR tree-optimization/104676
8684 * tree-loop-distribution.cc (loop_distribution::execute):
8685 Do a full scev_reset.
8686
8687 2022-02-24 Jakub Jelinek <jakub@redhat.com>
8688
8689 PR tree-optimization/104601
8690 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
8691 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
8692 vuse value number.
8693
8694 2022-02-24 Tom de Vries <tdevries@suse.de>
8695 Tobias Burnus <tobias@codesourcery.com>
8696
8697 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
8698 sm_70, sm_75 and sm_80.
8699 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
8700
8701 2022-02-24 Tom de Vries <tdevries@suse.de>
8702
8703 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
8704 "rotrsi3"): New define_insn.
8705
8706 2022-02-24 Tom de Vries <tdevries@suse.de>
8707
8708 * config/nvptx/nvptx.cc (gen_comment): Use
8709 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
8710
8711 2022-02-24 liuhongt <hongtao.liu@intel.com>
8712
8713 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
8714 isa attr of alternative 2 from avx to avx512vl.
8715
8716 2022-02-23 Richard Biener <rguenther@suse.de>
8717 Jakub Jelinek <jakub@redhat.com>
8718
8719 PR tree-optimization/104644
8720 * doc/match-and-simplify.texi: Amend ! documentation.
8721 * genmatch.cc (expr::gen_transform): Code-generate ! support
8722 for GENERIC.
8723 (parser::parse_expr): Allow ! for GENERIC.
8724 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
8725 bswap.
8726
8727 2022-02-23 Richard Biener <rguenther@suse.de>
8728
8729 PR tree-optimization/101636
8730 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
8731 vector type of the node.
8732 (vect_slp_analyze_operations): Make sure the CTOR
8733 is vectorized with an expected type.
8734 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
8735
8736 2022-02-23 Jakub Jelinek <jakub@redhat.com>
8737
8738 PR c/104633
8739 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
8740 Don't warn about calls to corresponding builtin from extern inline
8741 gnu_inline wrappers.
8742
8743 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
8744
8745 PR target/104489
8746 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
8747
8748 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
8749
8750 PR target/100757
8751 PR target/101325
8752 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
8753 typo.
8754
8755 2022-02-23 Cui,Lili <lili.cui@intel.com>
8756
8757 * doc/invoke.texi: Update documents for Intel architectures.
8758
8759 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
8760
8761 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
8762 bootstrap.
8763
8764 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
8765
8766 * omp-low.cc (omp_build_component_ref): Move function...
8767 * omp-general.cc (omp_build_component_ref): ... here. Remove
8768 'static'.
8769 * omp-general.h (omp_build_component_ref): Declare function.
8770 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
8771 function.
8772 (build_receiver_ref, build_sender_ref): Call
8773 'omp_build_component_ref' instead.
8774
8775 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
8776
8777 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
8778 simplify. Adjust all users.
8779
8780 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
8781
8782 PR target/88134
8783 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
8784 atomic_update_decl): Add GTY markup.
8785
8786 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8787
8788 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
8789
8790 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8791
8792 PR target/100757
8793 PR target/101325
8794 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
8795 predicate.
8796 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
8797 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
8798 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
8799 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
8800 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
8801 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
8802 * config/arm/mve.md: Use VxBI instead of HI.
8803
8804 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8805
8806 PR target/100757
8807 PR target/101325
8808 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
8809 qualifier.
8810 (STRSBU_P_QUALIFIERS): Likewise.
8811 (LDRGBS_Z_QUALIFIERS): Likewise.
8812 (LDRGBU_Z_QUALIFIERS): Likewise.
8813 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
8814 (LDRGBWBS_Z_QUALIFIERS): Likewise.
8815 (LDRGBWBU_Z_QUALIFIERS): Likewise.
8816 (STRSBWBS_P_QUALIFIERS): Likewise.
8817 (STRSBWBU_P_QUALIFIERS): Likewise.
8818 * config/arm/mve.md: Use VxBI instead of HI.
8819
8820 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8821
8822 PR target/100757
8823 PR target/101325
8824 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
8825 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
8826 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8827 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8828 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8829 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8830 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
8831 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
8832 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
8833 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
8834 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
8835 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8836 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8837 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
8838 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
8839 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
8840 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8841 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8842 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8843 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8844 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
8845 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
8846 (STRS_P_QUALIFIERS): Use predicate qualifier.
8847 (STRU_P_QUALIFIERS): Likewise.
8848 (STRSU_P_QUALIFIERS): Likewise.
8849 (STRSS_P_QUALIFIERS): Likewise.
8850 (LDRGS_Z_QUALIFIERS): Likewise.
8851 (LDRGU_Z_QUALIFIERS): Likewise.
8852 (LDRS_Z_QUALIFIERS): Likewise.
8853 (LDRU_Z_QUALIFIERS): Likewise.
8854 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
8855 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
8856 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
8857 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
8858 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
8859 * config/arm/mve.md: Use MVE_VPRED instead of HI.
8860
8861 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8862
8863 PR target/100757
8864 PR target/101325
8865 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
8866 Delete.
8867 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
8868 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
8869 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
8870 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
8871 predicated qualifiers.
8872 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
8873 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
8874
8875 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8876
8877 PR target/100757
8878 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
8879 (arm_expand_vector_compare): Update prototype.
8880 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
8881 (arm_vector_mode_supported_p): Add support for VxBI modes.
8882 (arm_expand_vector_compare): Remove useless generation of vpsel.
8883 (arm_expand_vcond): Fix select operands.
8884 (arm_get_mask_mode): New.
8885 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
8886 (vec_cmpu<mode><MVE_vpred>): New.
8887 (vcond_mask_<mode><MVE_vpred>): New.
8888 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
8889 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
8890 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
8891 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
8892 and disable for MVE.
8893 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
8894
8895 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8896
8897 PR target/100757
8898 PR target/101325
8899 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
8900 (BINOP_PRED_NONE_NONE_QUALIFIERS)
8901 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
8902 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
8903 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
8904 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
8905 modes.
8906 (arm_mode_to_pred_mode): New.
8907 (arm_expand_vector_compare): Use the right VxBI mode instead of
8908 HI.
8909 (arm_expand_vcond): Likewise.
8910 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
8911 (mve_bool_vec_to_const): New.
8912 (neon_make_constant): Call mve_bool_vec_to_const when needed.
8913 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
8914 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
8915 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
8916 (vpselq_s, vpselq_f): Use new predicated qualifiers.
8917 * config/arm/constraints.md (DB): New.
8918 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
8919 (MVE_VPRED, MVE_vpred): New attribute iterators.
8920 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
8921 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
8922 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
8923 (@mve_vpselq_<supf>v2di): Define separately.
8924 (mov<mode>): New expander for VxBI modes.
8925 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
8926 MVE_7_HI iterator and add support for DB constraint.
8927
8928 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8929 Richard Sandiford <richard.sandiford@arm.com>
8930
8931 PR target/100757
8932 PR target/101325
8933 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
8934 VNx2BI): Update definition.
8935 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
8936 simd types.
8937 (arm_init_builtin): Map predicate vectors arguments to HImode.
8938 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
8939 rtx. Move return value to HImode rtx.
8940 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
8941 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
8942 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
8943 Pred2x8_t,Pred4x4_t): New.
8944 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
8945 * genmodes.cc (mode_data): Add boolean field.
8946 (blank_mode): Initialize it.
8947 (make_complex_modes): Fix handling of boolean modes.
8948 (make_vector_modes): Likewise.
8949 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
8950 (make_vector_bool_mode): Likewise.
8951 (BOOL_MODE): New.
8952 (make_bool_mode): New.
8953 (emit_insn_modes_h): Fix generation of boolean modes.
8954 (emit_class_narrowest_mode): Likewise.
8955 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
8956 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
8957 define BImode.
8958 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
8959 Fix handling of constm1_rtx for VECTOR_BOOL.
8960 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
8961 (native_decode_vector_rtx): Likewise.
8962 (test_vector_ops_duplicate): Skip vec_merge test
8963 with vectors of booleans.
8964 * varasm.cc (output_constant_pool_2): Likewise.
8965
8966 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8967
8968 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
8969 for operand 1.
8970
8971 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8972
8973 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
8974
8975 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
8976
8977 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
8978 (REG_CLASS_NAMES): Likewise.
8979 (REG_CLASS_CONTENTS): Likewise.
8980 (CLASS_MAX_NREGS): Handle VPR.
8981 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
8982
8983 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8984 Tom de Vries <tdevries@suse.de>
8985
8986 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
8987 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
8988 Likewise.
8989 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
8990
8991 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
8992 Tom de Vries <tdevries@suse.de>
8993
8994 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
8995 * doc/invoke.texi (-mptx): Update for new values and defaults.
8996
8997 2022-02-22 Tom de Vries <tdevries@suse.de>
8998
8999 * config/nvptx/nvptx.cc (gen_comment): New function.
9000 (workaround_uninit_method_1, workaround_uninit_method_2)
9001 (workaround_uninit_method_3): : Use gen_comment.
9002 * config/nvptx/nvptx.opt (mptx-comment): New option.
9003
9004 2022-02-22 Richard Biener <rguenther@suse.de>
9005
9006 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
9007 for a splat.
9008
9009 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
9010 Richard Biener <rguenther@suse.de>
9011
9012 * fold-const.cc (ctor_single_nonzero_element): New function to
9013 return the single non-zero element of a (vector) constructor.
9014 * fold-const.h (ctor_single_nonzero_element): Prototype here.
9015 * match.pd (reduc (constructor@0)): Simplify reductions of a
9016 constructor containing a single non-zero element.
9017 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
9018 reductions of vector operations of the same operator with
9019 constant vector operands.
9020
9021 2022-02-22 Jakub Jelinek <jakub@redhat.com>
9022
9023 PR tree-optimization/104604
9024 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
9025 Only check if gimple_assign_rhs1 is COMPLEX_CST if
9026 gimple_assign_rhs_code is COMPLEX_CST.
9027
9028 2022-02-22 Jakub Jelinek <jakub@redhat.com>
9029
9030 PR target/104612
9031 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
9032 on input operands before calling lowpart_subreg on it. For output
9033 operand, use a vmode pseudo as destination and then move its lowpart
9034 subreg into operands[0] if lowpart_subreg fails on dest.
9035 (ix86_expand_xorsign): Likewise.
9036
9037 2022-02-22 Richard Biener <rguenther@suse.de>
9038
9039 PR tree-optimization/104582
9040 PR target/99881
9041 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
9042 Cost GPR to vector register moves for integer vector construction.
9043
9044 2022-02-22 Richard Biener <rguenther@suse.de>
9045
9046 PR tree-optimization/104582
9047 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
9048 (vector_costs::add_stmt_cost): Add SLP node parameter.
9049 (dump_stmt_cost): Likewise.
9050 (add_stmt_cost): Likewise, new overload and adjust.
9051 (add_stmt_costs): Adjust.
9052 (record_stmt_cost): New overload.
9053 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
9054 (vector_costs::add_stmt_cost): Adjust.
9055 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
9056 Adjust.
9057 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
9058 the SLP node for costing.
9059 (vectorizable_slp_permutation): Likewise.
9060 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
9061 new overloads.
9062 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
9063 Adjust.
9064 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
9065 Adjust.
9066 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
9067 Adjust.
9068 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
9069
9070 2022-02-22 Richard Biener <rguenther@suse.de>
9071
9072 PR tree-optimization/104582
9073 * tree-vectorizer.h (add_stmt_cost): New overload.
9074 (record_stmt_cost): Likewise.
9075 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
9076 Use add_stmt_costs.
9077 (vect_get_known_peeling_cost): Use new overloads.
9078 (vect_estimate_min_profitable_iters): Likewise. Consistently
9079 use scalar_stmt for costing versioning checks.
9080 * tree-vect-stmts.cc (record_stmt_cost): New overload.
9081
9082 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
9083
9084 PR target/103069
9085 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
9086 Split atomic fetch and loop part.
9087 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
9088 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
9089 prototype.
9090 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
9091 expander under TARGET_RELAX_CMPXCHG_LOOP.
9092 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
9093
9094 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
9095
9096 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
9097 Change wb_candidate[12] to wb_push_candidate[12].
9098 (aarch64_layout_frame): Likewise, and
9099 change callee_adjust when scs is enabled.
9100 (aarch64_save_callee_saves):
9101 Change wb_candidate[12] to wb_push_candidate[12].
9102 (aarch64_restore_callee_saves):
9103 Change wb_candidate[12] to wb_pop_candidate[12].
9104 (aarch64_get_separate_components):
9105 Change wb_candidate[12] to wb_push_candidate[12].
9106 (aarch64_expand_prologue): Push x30 onto SCS before it's
9107 pushed onto stack.
9108 (aarch64_expand_epilogue): Pop x30 frome SCS, while
9109 preventing it from being popped from the regular stack again.
9110 (aarch64_override_options_internal): Add SCS compile option check.
9111 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
9112 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
9113 wb_pop_candidate[12], and rename wb_candidate[12] to
9114 wb_push_candidate[12].
9115 * config/aarch64/aarch64.md (scs_push): New template.
9116 (scs_pop): Likewise.
9117 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
9118 * doc/tm.texi: Regenerate.
9119 * doc/tm.texi.in: Add hook have_shadow_call_stack.
9120 * flag-types.h (enum sanitize_code):
9121 Add SANITIZE_SHADOW_CALL_STACK.
9122 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
9123 and exclude SANITIZE_SHADOW_CALL_STACK.
9124 * target.def: New hook.
9125 * toplev.cc (process_options): Add SCS compile option check.
9126 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
9127
9128 2022-02-21 Tom de Vries <tdevries@suse.de>
9129
9130 PR target/104440
9131 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
9132 (workaround_uninit_method_2, workaround_uninit_method_3)
9133 (workaround_uninit): New function.
9134 (nvptx_reorg): Use workaround_uninit.
9135 * config/nvptx/nvptx.opt (minit-regs): New option.
9136
9137 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
9138
9139 PR rtl-optimization/104498
9140 * alias.cc (compare_base_symbol_refs): Correct distance computation
9141 when swapping x and y.
9142
9143 2022-02-21 Andrew Pinski <apinski@marvell.com>
9144
9145 PR c/104506
9146 * tree-ssa.cc (tree_ssa_useless_type_conversion):
9147 Check the inner type before calling useless_type_conversion_p.
9148
9149 2022-02-19 Tom de Vries <tdevries@suse.de>
9150
9151 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
9152 * config/nvptx/nvptx.md
9153 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
9154 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
9155 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
9156 (define_expand "atomic_store<mode>"): Handle rename. Use
9157 nvptx_atomic_store instead of atomic_exchange.
9158
9159 2022-02-19 Tom de Vries <tdevries@suse.de>
9160
9161 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
9162 insns with atomic attribute. Assert that all handled insns are
9163 PARALLELs.
9164 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
9165 Set atomic attribute to false.
9166
9167 2022-02-19 Tom de Vries <tdevries@suse.de>
9168
9169 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
9170 type to bool.
9171 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
9172 nvptx_warpsync, if necessary.
9173
9174 2022-02-19 Jakub Jelinek <jakub@redhat.com>
9175
9176 PR sanitizer/102656
9177 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
9178 known to be within bounds, treat it like automatic variables.
9179 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
9180 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
9181 it addressable.
9182
9183 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
9184
9185 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
9186 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
9187 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
9188 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
9189 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
9190 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
9191 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
9192 power10_sched_reorder): Likewise.
9193 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
9194 gen_addadd): Likewise
9195 * config/rs6000/fusion.md: Regenerate.
9196
9197 2022-02-18 Jakub Jelinek <jakub@redhat.com>
9198
9199 PR target/104257
9200 PR target/104598
9201 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
9202 rather than __posix_memalign.
9203
9204 2022-02-18 Richard Biener <rguenther@suse.de>
9205
9206 PR target/104581
9207 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
9208 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
9209 of calling ix86_avx_u128_mode_source which would eventually
9210 have returned AVX_U128_ANY in some very special case.
9211
9212 2022-02-18 Richard Biener <rguenther@suse.de>
9213
9214 PR tree-optimization/96881
9215 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
9216 CLOBBER handling.
9217 (control_parents_preserved_p): New function.
9218 (eliminate_unnecessary_stmts): Check that we preserved control
9219 parents before retaining a CLOBBER.
9220 (perform_tree_ssa_dce): Pass down aggressive flag
9221 to eliminate_unnecessary_stmts.
9222
9223 2022-02-17 Jason Merrill <jason@redhat.com>
9224
9225 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
9226 on TYPE_MAIN_VARIANT.
9227
9228 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
9229
9230 PR target/104257
9231 * config/rs6000/bmi2intrin.h: Uglify local variables.
9232 * config/rs6000/emmintrin.h: Likewise.
9233 * config/rs6000/mm_malloc.h: Likewise.
9234 * config/rs6000/mmintrin.h: Likewise.
9235 * config/rs6000/pmmintrin.h: Likewise.
9236 * config/rs6000/smmintrin.h: Likewise.
9237 * config/rs6000/tmmintrin.h: Likewise.
9238 * config/rs6000/xmmintrin.h: Likewise.
9239
9240 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
9241
9242 PR target/104335
9243 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
9244 if the expected comparison's first operand is of mode MODE_CC.
9245
9246 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
9247
9248 PR rtl-optimization/104447
9249 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
9250 hard reg set by lra_no_alloc_regs.
9251
9252 2022-02-17 liuhongt <hongtao.liu@intel.com>
9253
9254 PR tree-optimization/104551
9255 PR tree-optimization/103771
9256 * match.pd (cond_expr_convert_p): Add types_match check when
9257 convert is extension.
9258 * tree-vect-patterns.cc
9259 (gimple_cond_expr_convert_p): Adjust comments.
9260 (vect_recog_cond_expr_convert_pattern): Ditto.
9261
9262 2022-02-17 Jakub Jelinek <jakub@redhat.com>
9263
9264 PR debug/104557
9265 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
9266 if expr has VOIDmode.
9267
9268 2022-02-17 liuhongt <hongtao.liu@intel.com>
9269
9270 * config/i386/cpuid.h (bit_MPX): Removed.
9271 (bit_BNDREGS): Ditto.
9272 (bit_BNDCSR): Ditto.
9273
9274 2022-02-17 Michael Meissner <meissner@the-meissners.org>
9275
9276 PR target/99708
9277 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
9278 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
9279 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
9280 is created.
9281
9282 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
9283
9284 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
9285 range_compatible_p instead of direct type comparison.
9286
9287 2022-02-16 Jakub Jelinek <jakub@redhat.com>
9288
9289 PR rtl-optimization/104544
9290 * combine.cc (try_combine): When looking for insn whose links
9291 should be updated from i3 to i2, don't stop on debug insns, instead
9292 skip over them.
9293
9294 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
9295
9296 PR target/100056
9297 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
9298 * config/aarch64/aarch64.md: Extend the PR100056 patterns
9299 to handle plus in the same way as ior, if the operands have
9300 no set bits in common.
9301
9302 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
9303
9304 PR tree-optimization/104526
9305 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
9306 new routine.
9307 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
9308 of dependency chain if there isn't one.
9309 (gori_compute::condexpr_adjust): New.
9310 * gimple-range-gori.h (class gori_compute): New prototype.
9311
9312 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9313
9314 PR target/100874
9315 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
9316 Declare.
9317 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
9318 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
9319
9320 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9321
9322 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
9323 (vect_scalar_ops_slice_hash): Likewise.
9324 (vect_scalar_ops_slice::op): New function.
9325 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
9326 (vect_scalar_ops_slice_hash::hash): Likewise.
9327 (vect_scalar_ops_slice_hash::equal): Likewise.
9328 (vect_prologue_cost_for_slp): Check for duplicate vectors.
9329 * config/aarch64/aarch64.cc
9330 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
9331 (aarch64_aligned_constant_offset_p): New function.
9332 (aarch64_stp_sequence_cost): Likewise.
9333 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
9334 (aarch64_vector_costs::finish_cost): Likewise.
9335
9336 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9337
9338 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
9339 use after free.
9340
9341 2022-02-15 Richard Biener <rguenther@suse.de>
9342
9343 PR tree-optimization/104543
9344 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
9345 come after the inner loop.
9346
9347 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9348
9349 PR target/104536
9350 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
9351 cannot instead of can%'t in diagnostics. Formatting fixes.
9352
9353 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9354
9355 PR middle-end/104522
9356 * fold-const.h (native_interpret_real): Declare.
9357 * fold-const.cc (native_interpret_real): No longer static. Don't
9358 perform MODE_COMPOSITE_P verification here.
9359 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
9360 for all modes.
9361 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
9362 instead of native_interpret_expr.
9363 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
9364 and comparison verification for all FLOAT_MODE_P modes, not just
9365 MODE_COMPOSITE_P.
9366
9367 2022-02-15 Richard Biener <rguenther@suse.de>
9368
9369 PR tree-optimization/104519
9370 * fold-const.cc (multiple_of_p): Remove never true condition.
9371 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
9372 the appropriate types for determining whether the difference
9373 of final and base is a multiple of the step.
9374
9375 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9376
9377 PR debug/104517
9378 * omp-low.cc (task_cpyfns): New variable.
9379 (delete_omp_context): Don't call finalize_task_copyfn from here.
9380 (create_task_copyfn): Push task_stmt into task_cpyfns.
9381 (execute_lower_omp): Call finalize_task_copyfn here on entries from
9382 task_cpyfns vector and release the vector.
9383
9384 2022-02-14 Martin Sebor <msebor@redhat.com>
9385
9386 PR middle-end/104355
9387 * doc/invoke.texi (-Warray-bounds): Update documentation.
9388
9389 2022-02-14 Michael Meissner <meissner@the-meissners.org>
9390
9391 PR target/104253
9392 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
9393 conversion functions used to convert IFmode types.
9394
9395 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
9396
9397 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
9398
9399 2022-02-14 Richard Biener <rguenther@suse.de>
9400
9401 PR tree-optimization/104528
9402 * tree-ssa.h (find_released_ssa_name): Declare.
9403 * tree-ssa.cc (find_released_ssa_name): Export.
9404 * cfgloop.cc (verify_loop_structure): Look for released
9405 SSA names in loops nb_iterations.
9406 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
9407 estimates.
9408
9409 2022-02-14 Richard Biener <rguenther@suse.de>
9410
9411 PR tree-optimization/104511
9412 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
9413 touching DFP <-> FP conversions.
9414
9415 2022-02-14 Richard Biener <rguenther@suse.de>
9416
9417 PR middle-end/104497
9418 * gimplify.cc (gimplify_compound_lval): Make sure the
9419 base is a non-register if needed and possible.
9420
9421 2022-02-13 liuhongt <hongtao.liu@intel.com>
9422
9423 PR target/103771
9424 * match.pd (cond_expr_convert_p): New match.
9425 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
9426 (vect_recog_cond_expr_convert_pattern): New.
9427
9428 2022-02-12 Jakub Jelinek <jakub@redhat.com>
9429
9430 PR sanitizer/104449
9431 * asan.cc: Include tree-eh.h.
9432 (handle_builtin_alloca): Handle the case when __builtin_alloca or
9433 __builtin_alloca_with_align can throw.
9434
9435 2022-02-12 Jakub Jelinek <jakub@redhat.com>
9436
9437 PR target/104502
9438 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
9439 and AVX512VL isn't available, move operands[1] to operands[0] first.
9440
9441 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
9442
9443 PR target/79754
9444 * config/i386/i386.cc (type_natural_mode):
9445 Skip decimal float vector modes.
9446
9447 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
9448 Vladimir Makarov <vmakarov@redhat.com>
9449
9450 PR target/104117
9451 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
9452 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
9453 emitting PIC code.
9454 (legitimate_lo_sum_address_p): Likewise.
9455 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
9456 load from an invalid lo_sum address.
9457
9458 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9459
9460 PR tree-optimization/104499
9461 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
9462 of convert.
9463
9464 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9465
9466 * tree.cc (build_common_builtin_nodes): Fix up formatting in
9467 __builtin_clear_padding decl creation.
9468 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
9469 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
9470 argument rather than in 3rd argument.
9471 (gimplify_call_expr): Likewise. Fix up comment formatting.
9472 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
9473 2 arguments instead of 3, take for_auto_init from the value
9474 of 2nd argument.
9475
9476 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
9477
9478 PR rtl-optimization/104400
9479 * lra-constraints.cc (process_alt_operands): Don't make union of
9480 this_alternative_exclude_start_hard_regs when reg class in insn
9481 alternative covers other reg classes in the same alternative.
9482
9483 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9484
9485 PR middle-end/104446
9486 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
9487 operands.
9488
9489 2022-02-11 Richard Biener <rguenther@suse.de>
9490
9491 PR middle-end/104496
9492 * internal-fn.cc (vectorized_internal_fn_supported_p):
9493 Bail out for integer mode vector types.
9494
9495 2022-02-11 Jakub Jelinek <jakub@redhat.com>
9496
9497 PR rtl-optimization/104459
9498 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
9499 moving DEBUG_INSNs between bbs.
9500
9501 2022-02-11 liuhongt <hongtao.liu@intel.com>
9502
9503 PR tree-optimization/104479
9504 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
9505 for the dest of uncond_op.
9506
9507 2022-02-11 Tom de Vries <tdevries@suse.de>
9508
9509 PR target/104456
9510 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
9511 insn.
9512
9513 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
9514
9515 PR middle-end/100775
9516 * function.cc (gen_call_used_regs_seq): Call
9517 df_update_exit_block_uses when updating df.
9518
9519 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
9520
9521 PR target/104469
9522 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
9523 Change operand 1 constraint to register_operand.
9524
9525 2022-02-10 Richard Biener <rguenther@suse.de>
9526
9527 PR tree-optimization/104373
9528 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
9529 walk kind.
9530 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
9531 walk kind as argument.
9532 (run_rpo_vn): Adjust.
9533 (pass_fre::execute): Likewise.
9534 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
9535 blocks not reachable.
9536 (execute_late_warn_uninitialized): Mark all edges as
9537 executable.
9538 (execute_early_warn_uninitialized): Use VN to compute
9539 executable edges.
9540 (pass_data_early_warn_uninitialized): Enable a dump file,
9541 change dump name to warn_uninit.
9542
9543 2022-02-10 Richard Biener <rguenther@suse.de>
9544
9545 PR middle-end/104467
9546 * match.pd (vector extract simplification): Multiply the
9547 number of CTOR elements with the number of element elements.
9548
9549 2022-02-10 Richard Biener <rguenther@suse.de>
9550
9551 PR tree-optimization/104466
9552 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
9553 for the MR_DEPENDENCE checks as intended.
9554
9555 2022-02-10 Tom de Vries <tdevries@suse.de>
9556
9557 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
9558 define_insn.
9559 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
9560 TARGET_SM70.
9561 (define_c_enum "unspecv"): Add UNSPECV_ST.
9562
9563 2022-02-10 Tom de Vries <tdevries@suse.de>
9564
9565 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
9566 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
9567 (nvptx_mem_maybe_shared_p): New function.
9568 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
9569 define_expand.
9570
9571 2022-02-10 Tom de Vries <tdevries@suse.de>
9572
9573 PR target/97005
9574 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
9575 driver JIT bug by using sub.s16 instead of sub.u16.
9576
9577 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9578
9579 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
9580 floating point constants as operands 1 and/or 2.
9581
9582 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9583
9584 PR target/104345
9585 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
9586 (sel_false<mode>): Likewise.
9587 (define_code_iterator eqne): New code iterator for EQ and NE.
9588 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
9589 the negation of a selp instruction.
9590 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
9591 the bitwise not of a selp instruction.
9592 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
9593
9594 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9595
9596 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
9597 in machine description.
9598 (logic): Move code attribute earlier in machine description.
9599 (ilogic): New code attribute, like logic but "ior" for IOR.
9600 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
9601 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
9602 (<ilogic>bi3): New define_insn for BI mode logic operations.
9603 (define_split): Lower logic operations from integer modes to
9604 BI mode predicate operations.
9605
9606 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9607
9608 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
9609 (one_cmplbi2): New define_insn for not.pred.
9610 (mulditi3): New define_expand for signed widening multiply.
9611 (umulditi3): New define_expand for unsigned widening multiply.
9612 (smul<mode>3_highpart): New define_insn for signed highpart mult.
9613 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
9614 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
9615 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
9616 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
9617 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
9618 (*setcc<mode>_from_not_bi): New define_insn.
9619 (*setcc_isinf<mode>): New define_insn for testp.infinite.
9620 (isinf<mode>2): New define_expand.
9621
9622 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9623
9624 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
9625 (setcc<mode>_from_bi): Additionally support QImode.
9626 (extendbi<mode>2): Additionally support QImode.
9627 (zero_extendbi<mode>2): Additionally support QImode.
9628 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
9629 iterators for signed and unsigned, binary and unary operations.
9630 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
9631 expanders to perform QImode operations using SImode instructions.
9632 (cstoreqi4): New define_expand.
9633 (*ext_truncsi2_qi): New define_insn.
9634 (*zext_truncsi2_qi): New define_insn.
9635
9636 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
9637
9638 * config/nvptx/nvptx.md (*cmpf): New define_insn.
9639 (cstorehf4): New define_expand.
9640 (fmahf4): New define_insn.
9641 (neghf2): New define_insn.
9642 (abshf2): New define_insn.
9643
9644 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
9645
9646 * doc/install.texi (Specific): Change the www.bitwizard.nl
9647 reference to use https.
9648
9649 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
9650
9651 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
9652 OMP_CLAUSE_HAS_DEVICE_ADDR
9653 and handle array sections.
9654 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
9655 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
9656 (lower_omp_target): Same.
9657 * tree-core.h (enum omp_clause_code): Same.
9658 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
9659 (convert_local_omp_clauses): Same.
9660 * tree-pretty-print.cc (dump_omp_clause): Same.
9661 * tree.cc: Same.
9662
9663 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
9664
9665 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
9666 that will result in direct recursive calls.
9667
9668 2022-02-10 Andrew Pinski <apinski@marvell.com>
9669
9670 PR target/104474
9671 * config/aarch64/aarch64.cc
9672 (aarch64_sve_expand_vector_init_handle_trailing_constants):
9673 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
9674
9675 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
9676
9677 PR target/104462
9678 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
9679 Also include OPTION_MASK_ISA2_AVX2_UNSET.
9680
9681 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
9682
9683 PR target/104458
9684 * config/i386/i386-expand.cc (ix86_split_idivmod):
9685 Force operands[2] and operands[3] into a register..
9686
9687 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
9688
9689 PR target/97040
9690 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
9691 (*v850_fnmssf4): Renamed from fnmssf4
9692
9693 2022-02-09 Ian Lance Taylor <iant@golang.org>
9694
9695 * godump.cc (go_force_record_alignment): Really name the alignment
9696 field "_" (complete 2021-12-29 change).
9697
9698 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
9699
9700 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
9701 function prototype.
9702 (VREPLACE_UN_UV4SI): Likewise.
9703 (VREPLACE_UN_V2DF): Likewise.
9704 (VREPLACE_UN_V2DI): Likewise.
9705 (VREPLACE_UN_V4SF): Likewise.
9706 (VREPLACE_UN_V4SI): Likewise.
9707 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
9708 function prototypes.
9709 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
9710 (vreplace_un_<mode>): New define_insn.
9711
9712 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9713
9714 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
9715 (VDBL): Handle SF.
9716 (single_wx, single_type, single_dtype, dblq): New mode attributes.
9717 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
9718 from VDC to VDCSIF.
9719 (store_pair_lanes<mode>): Likewise.
9720 (*aarch64_combine_internal<mode>): Likewise.
9721 (*aarch64_combine_internal_be<mode>): Likewise.
9722 (*aarch64_combinez<mode>): Likewise.
9723 (*aarch64_combinez_be<mode>): Likewise.
9724 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
9725 8-byte modes for ADDR_QUERY_LDP_STP_N.
9726 (aarch64_print_operand): Likewise for %y.
9727
9728 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9729
9730 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
9731 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
9732 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
9733 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
9734 (vec_pack_trunc_<mode>): Take general_operand elements and use
9735 aarch64_combine rather than move_lo/hi_quad to combine them.
9736 (vec_pack_trunc_df): Likewise.
9737
9738 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9739
9740 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
9741 Delete.
9742 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
9743 to...
9744 (*aarch64_combinez<mode>): ...this.
9745 (@aarch64_combinez_be<mode>): Rename to...
9746 (*aarch64_combinez_be<mode>): ...this.
9747 (@aarch64_vec_concat<mode>): New expander.
9748 (aarch64_combine<mode>): Use it.
9749 (@aarch64_simd_combine<mode>): Delete.
9750 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
9751 (aarch64_expand_vector_init): Use aarch64_vec_concat.
9752
9753 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9754
9755 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
9756 New predicate.
9757 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
9758 (*aarch64_combine_internal_be<mode>): New patterns.
9759
9760 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9761
9762 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
9763 (move_lo_quad_internal_be_<mode>): Delete.
9764 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
9765
9766 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9767
9768 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
9769 Declare.
9770 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
9771 aarch64_mergeable_load_pair_p instead of inline check.
9772 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
9773 (aarch64_check_consecutive_mems): Allow the reversed parameter
9774 to be null.
9775 (aarch64_mergeable_load_pair_p): New function.
9776
9777 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9778
9779 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
9780 element to be an aarch64_simd_nonimmediate_operand.
9781
9782 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
9783
9784 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
9785 aarch64_simd_nonimmediate_operand instead of
9786 aarch64_simd_general_operand.
9787 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
9788 general_operand.
9789 (@aarch64_combinez_be<mode>): Likewise.
9790
9791 2022-02-09 Richard Biener <rguenther@suse.de>
9792
9793 PR middle-end/104464
9794 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
9795 throwing check to after unproblematic replacement.
9796
9797 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
9798
9799 PR tree-optimization/104420
9800 * match.pd (mult @0 real_zerop): Tweak conditions for constant
9801 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
9802
9803 2022-02-09 Jakub Jelinek <jakub@redhat.com>
9804
9805 PR debug/104407
9806 * dwarf2out.cc (mangle_referenced_decls): New function.
9807 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
9808 early_dwarf. Instead walk the initializer and try to mangle vars or
9809 functions referenced from it.
9810
9811 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
9812
9813 PR tree-optimization/104288
9814 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
9815 (non_null_ref::adjust_range): Move to header.
9816 (ranger_cache::range_of_def): Don't check non-null.
9817 (ranger_cache::entry_range): Don't check non-null.
9818 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
9819 (ranger_cache::update_to_nonnull): New.
9820 (non_null_loadstore): New.
9821 (ranger_cache::block_apply_nonnull): New.
9822 * gimple-range-cache.h (class non_null_ref): Update prototypes.
9823 (non_null_ref::adjust_range): Move to here and inline.
9824 (class ranger_cache): Update prototypes.
9825 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
9826 not search dominators.
9827 (path_range_query::adjust_for_non_null_uses): Ditto.
9828 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
9829 def overrides. Do not check nonnull.
9830 (gimple_ranger::range_on_entry): Check dominators for nonnull.
9831 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
9832 (gimple_ranger::register_side_effects): New.
9833 * gimple-range.h (gimple_ranger::register_side_effects): New.
9834 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
9835
9836 2022-02-09 Richard Biener <rguenther@suse.de>
9837
9838 PR tree-optimization/104445
9839 PR tree-optimization/102832
9840 * optabs-query.h (can_vec_extract): New.
9841 * optabs-query.cc (can_vec_extract): Likewise.
9842 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
9843 we can extract a hi/lo part from the larger vector, rework
9844 check iteration from larger to smaller sizes.
9845
9846 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
9847
9848 PR target/35513
9849 PR target/100593
9850 * config/i386/gnu-property.cc: Include "i386-protos.h".
9851 (file_end_indicate_exec_stack_and_gnu_property): Generate
9852 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
9853 nodirect_extern_access attribute.
9854 * config/i386/i386-options.cc
9855 (handle_nodirect_extern_access_attribute): New function.
9856 (ix86_attribute_table): Add nodirect_extern_access attribute.
9857 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
9858 bool argument.
9859 (ix86_has_no_direct_extern_access): New.
9860 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
9861 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
9862 call operand. Force non-call load from GOT for
9863 -mno-direct-extern-access or nodirect_extern_access attribute.
9864 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
9865 for -mno-direct-extern-access or nodirect_extern_access attribute.
9866 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
9867 for call operand.
9868 (asm_preferred_eh_data_format): Use PC-relative format for
9869 -mno-direct-extern-access to avoid copy relocation. Check
9870 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
9871 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
9872 true for -mno-direct-extern-access or nodirect_extern_access
9873 attribute. Don't treat protected data as extern and avoid copy
9874 relocation on common symbol with -mno-direct-extern-access or
9875 nodirect_extern_access attribute.
9876 (ix86_reloc_rw_mask): New to avoid copy relocation for
9877 -mno-direct-extern-access.
9878 (TARGET_ASM_RELOC_RW_MASK): New.
9879 * config/i386/i386.opt: Add -mdirect-extern-access.
9880 * doc/extend.texi: Document nodirect_extern_access attribute.
9881 * doc/invoke.texi: Document -m[no-]direct-extern-access.
9882
9883 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
9884
9885 PR target/104441
9886 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
9887 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
9888 Call ix86_avx_u128_mode_source to check mode for each component
9889 of source operand.
9890
9891 2022-02-09 liuhongt <hongtao.liu@intel.com>
9892
9893 PR target/104451
9894 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
9895 operands[2] from SImode to QImode.
9896
9897 2022-02-09 Richard Biener <rguenther@suse.de>
9898
9899 PR middle-end/104450
9900 * gimple-isel.cc: Pass cfun around.
9901 (+gimple_expand_vec_cond_expr): Do not combine a throwing
9902 comparison with the select.
9903
9904 2022-02-09 Richard Biener <rguenther@suse.de>
9905
9906 PR target/104453
9907 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
9908 folding for NULL LHS.
9909
9910 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9911
9912 PR rtl-optimization/104198
9913 PR rtl-optimization/104153
9914 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
9915 using it directly. Rework comparison handling and always
9916 perform a second pass.
9917
9918 2022-02-08 Jakub Jelinek <jakub@redhat.com>
9919
9920 PR target/102140
9921 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
9922 split1 pass has finished already.
9923
9924 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
9925
9926 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
9927 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
9928 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
9929 (vmsumcud): New define_insn.
9930
9931 2022-02-08 Tom de Vries <tdevries@suse.de>
9932
9933 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
9934 * config/nvptx/nvptx.h (TARGET_SM70): Define.
9935
9936 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9937
9938 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
9939 on condition.
9940 * config/s390/s390.md: Use paradoxical subreg.
9941
9942 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
9943
9944 * combine.cc (reg_subword_p): Check for paradoxical subreg.
9945
9946 2022-02-08 Tom de Vries <tdevries@suse.de>
9947
9948 PR target/104283
9949 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
9950 and PTX_VERSION_4_2.
9951 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
9952 (default_ptx_version_option, ptx_version_to_string)
9953 (sm_version_to_string, handle_ptx_version_option): New function.
9954 (nvptx_option_override): Call handle_ptx_version_option.
9955 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
9956 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
9957 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
9958 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
9959
9960 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9961
9962 * doc/install.texi (Configuration): Document `--with-isa-spec='
9963 RISC-V option.
9964 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
9965 option.
9966 (RISC-V Options): Document it.
9967
9968 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
9969
9970 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
9971
9972 2022-02-08 Tom de Vries <tdevries@suse.de>
9973
9974 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
9975
9976 2022-02-08 Tom de Vries <tdevries@suse.de>
9977
9978 PR target/104364
9979 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
9980 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
9981 change is validated.
9982 (nvptx_mem_local_p): New function.
9983 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
9984 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
9985 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
9986 non-atomic, non-predicable define_insn, factored out of ...
9987 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
9988 Make predicable again.
9989 (define_expand "atomic_compare_and_swap<mode>"): Use
9990 atomic_compare_and_swap<mode>_1_local.
9991
9992 2022-02-08 liuhongt <hongtao.liu@intel.com>
9993
9994 PR rtl-optimization/104059
9995 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
9996 for a more expensive reg-reg move.
9997
9998 2022-02-07 Tamar Christina <tamar.christina@arm.com>
9999
10000 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
10001 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
10002 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
10003 (usdot_laneq, sudot_laneq): New.
10004 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
10005 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
10006
10007 2022-02-07 Tamar Christina <tamar.christina@arm.com>
10008
10009 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
10010 vdot_laneq_s32, vdotq_laneq_s32): New.
10011 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
10012 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
10013 (<sup>dot_prod<vsi2qi>): Re-order rtl.
10014 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
10015 (neon_<sup>dot_laneq<vsi2qi>): New.
10016
10017 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
10018
10019 PR target/104327
10020 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
10021 if always_inline is set. Don't inline when tune differs without
10022 always_inline.
10023
10024 2022-02-07 Richard Biener <rguenther@suse.de>
10025
10026 PR middle-end/104402
10027 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
10028 compares are not valid.
10029 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
10030 check is_gimple_condexpr.
10031
10032 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
10033
10034 PR target/103627
10035 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
10036 hunk affecting VSX and ALTIVEC to appropriate place.
10037
10038 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
10039
10040 PR target/103627
10041 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
10042 MMA if !TARGET_VSX.
10043
10044 2022-02-06 Jakub Jelinek <jakub@redhat.com>
10045
10046 PR c++/89074
10047 PR c++/104033
10048 * fold-const.h (folding_initializer): Adjust comment.
10049 (folding_cxx_constexpr): Declare.
10050 * fold-const.cc (folding_initializer): Adjust comment.
10051 (folding_cxx_constexpr): New variable.
10052 (address_compare): Restrict the decl vs. STRING_CST
10053 or vice versa or STRING_CST vs. STRING_CST or
10054 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
10055 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
10056 assume non-aliased functions have non-zero size and have different
10057 addresses. For folding_cxx_constexpr, punt on comparisons of start
10058 of some object and end of another one, regardless whether it is a decl
10059 or string literal. Also punt for folding_cxx_constexpr on
10060 STRING_CST vs. STRING_CST comparisons if the two literals could be
10061 overlapping.
10062
10063 2022-02-05 Jakub Jelinek <jakub@redhat.com>
10064
10065 PR tree-optimization/104389
10066 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
10067 honored.
10068
10069 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
10070
10071 * configure.ac: Fix detection for zifencei support.
10072 * configure: Regenerate.
10073
10074 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
10075
10076 PR target/104219
10077 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
10078 (all_defaults): Add isa_spec.
10079 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
10080
10081 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
10082
10083 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
10084 parameters instead of arglist and nargs. Simplify accordingly. Remove
10085 unnecessary test for argument count mismatch.
10086 (resolve_vec_cmpne): Likewise.
10087 (resolve_vec_adde_sube): Likewise.
10088 (resolve_vec_addec_subec): Likewise.
10089 (altivec_resolve_overloaded_builtin): Move overload special handling
10090 after the gathering of arguments into args[] and types[] and the test
10091 for correct number of arguments. Don't perform the test for correct
10092 number of arguments for certain special cases. Call the other special
10093 cases with args and types instead of arglist and nargs.
10094
10095 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
10096
10097 PR target/100808
10098 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
10099 3.1): Provide consistent type names. Remove unnecessary semicolons.
10100 Fix bad line breaks.
10101
10102 2022-02-04 Jakub Jelinek <jakub@redhat.com>
10103
10104 PR target/104380
10105 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
10106 adjust mangling of __builtin*printf_chk.
10107
10108 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
10109
10110 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
10111
10112 2022-02-04 Richard Biener <rguenther@suse.de>
10113 Bin Cheng <bin.cheng@linux.alibaba.com>
10114
10115 PR tree-optimization/100499
10116 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
10117 to true.
10118 * fold-const.cc (multiple_of_p): Likewise. Honor it for
10119 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
10120 switching to false for conversions.
10121 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
10122 claim the outermost expression does not wrap when calling
10123 multiple_of_p. Refactor the check done to check the
10124 original IV, avoiding a bias that might wrap.
10125
10126 2022-02-04 Richard Biener <rguenther@suse.de>
10127
10128 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
10129 handling.
10130
10131 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
10132
10133 PR debug/104366
10134 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
10135 (dwarf2out_early_finish): Likewise.
10136
10137 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
10138
10139 PR tree-optimization/104356
10140 * match.pd (X / bool_range_Y is X): Add guard.
10141 (X / X is one): Likewise.
10142 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
10143 (X / -X is -1): Likewise.
10144 (1 / X -> X == 1): Likewise.
10145
10146 2022-02-04 Richard Biener <rguenther@suse.de>
10147
10148 PR tree-optimization/103641
10149 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
10150 Pass the vector mode to choose_mult_variant.
10151
10152 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
10153
10154 PR rtl-optimization/101885
10155 * combine.cc (try_combine): When splitting a parallel into two
10156 sequential sets, check not only that the first doesn't clobber
10157 the second but also that the second doesn't clobber the first.
10158
10159 2022-02-04 Richard Biener <rguenther@suse.de>
10160
10161 PR middle-end/90348
10162 PR middle-end/104092
10163 * tree-core.h (clobber_kind): New enum.
10164 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
10165 * tree.h (CLOBBER_KIND): Add.
10166 (build_clobber): Add clobber kind argument, defaulted to
10167 CLOBBER_UNDEF.
10168 * tree.cc (build_clobber): Likewise.
10169 * gimple.h (gimple_clobber_p): New overload with specified kind.
10170 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
10171 CLOBBER_KIND.
10172 * tree-streamer-out.cc (streamer_write_tree_bitfields):
10173 Likewise.
10174 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
10175 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
10176 with CLOBBER_EOL.
10177 (gimplify_target_expr): Likewise.
10178 * tree-inline.cc (expand_call_inline): Likewise.
10179 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
10180 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
10181 CLOBBER_EOL clobbers as ending lifetime of storage.
10182
10183 2022-02-04 Martin Sebor <msebor@redhat.com>
10184
10185 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
10186 cleanup.
10187
10188 2022-02-03 Martin Sebor <msebor@redhat.com>
10189
10190 PR middle-end/104260
10191 * passes.def (pass_warn_access): Adjust pass placement.
10192
10193 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
10194
10195 PR target/104362
10196 * config/i386/i386.cc (find_drap_reg): For 32bit targets
10197 return DI_REG if function uses __builtin_eh_return.
10198
10199 2022-02-03 Martin Sebor <msebor@redhat.com>
10200
10201 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
10202 (pass_wrestrict::m_ptr_qry): New member.
10203 (wrestrict_walk): Rename...
10204 (pass_wrestrict::check_block): ...to this.
10205 (pass_wrestrict::execute): Set up and tear down pointer_query and
10206 ranger.
10207 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
10208 (builtin_access::builtin_access): Same.
10209 (builtin_access::m_ptr_qry): New member.
10210 (check_call): Rename...
10211 (pass_wrestrict::check_call): ...to this.
10212 (check_bounds_or_overlap): Change argument.
10213 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
10214
10215 2022-02-03 Martin Sebor <msebor@redhat.com>
10216
10217 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
10218 Define ctor.
10219 (array_bounds_checker::get_value_range): Use new member.
10220 (array_bounds_checker::check_mem_ref): Same.
10221 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
10222 Outline ctor.
10223 (array_bounds_checker::m_ptr_query): New member.
10224
10225 2022-02-03 Martin Sebor <msebor@redhat.com>
10226
10227 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
10228 pointer_query cache.
10229 * pointer-query.cc (pointer_query::pointer_query): Remove cache
10230 argument. Zero-initialize new cache member.
10231 (pointer_query::get_ref): Replace cache pointer with direct access.
10232 (pointer_query::put_ref): Same.
10233 (pointer_query::flush_cache): Same.
10234 (pointer_query::dump): Same.
10235 * pointer-query.h (class pointer_query): Remove cache argument from
10236 ctor. Change cache pointer to cache subobject member.
10237 * tree-ssa-strlen.cc: Remove pointer_query cache.
10238
10239 2022-02-03 Martin Sebor <msebor@redhat.com>
10240
10241 PR tree-optimization/104119
10242 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
10243 (format_none): Same.
10244 (format_percent): Same.
10245 (format_integer): Same.
10246 (format_floating): Same.
10247 (get_string_length): Same.
10248 (format_character): Same.
10249 (format_string): Same.
10250 (format_plain): Same.
10251 (format_directive): Same.
10252 (compute_format_length): Same.
10253 (handle_printf_call): Same.
10254 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
10255 get_maxbound.
10256 (get_range_strlen_phi): Same.
10257 (get_maxbound): New function.
10258 (strlen_pass::get_len_or_size): Adjust to parameter change.
10259 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
10260
10261 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10262
10263 PR target/103686
10264 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
10265 test for !rs6000_fold_gimple.
10266 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
10267 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
10268
10269 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10270
10271 PR target/95082
10272 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
10273 endianness for vclzlsbb and vctzlsbb.
10274 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
10275 default pattern and indicate a different pattern will be used for
10276 big endian.
10277 (VCLZLSBB_V4SI): Likewise.
10278 (VCLZLSBB_V8HI): Likewise.
10279 (VCTZLSBB_V16QI): Likewise.
10280 (VCTZLSBB_V4SI): Likewise.
10281 (VCTZLSBB_V8HI): Likewise.
10282
10283 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10284
10285 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
10286 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
10287 from other files.
10288 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
10289 rs6000-builtin.cc.
10290 (cpu_supports_info): Likewise.
10291 (rs6000_type_string): Likewise.
10292 (altivec_expand_predicate_builtin): Likewise.
10293 (rs6000_htm_spr_icode): Likewise.
10294 (altivec_expand_vec_init_builtin): Likewise.
10295 (get_element_number): Likewise.
10296 (altivec_expand_vec_set_builtin): Likewise.
10297 (altivec_expand_vec_ext_builtin): Likewise.
10298 (rs6000_invalid_builtin): Likewise.
10299 (rs6000_fold_builtin): Likewise.
10300 (fold_build_vec_cmp): Likewise.
10301 (fold_compare_helper): Likewise.
10302 (map_to_integral_tree_type): Likewise.
10303 (fold_mergehl_helper): Likewise.
10304 (fold_mergeeo_helper): Likewise.
10305 (rs6000_builtin_valid_without_lhs): Likewise.
10306 (rs6000_builtin_is_supported): Likewise.
10307 (rs6000_gimple_fold_mma_builtin): Likewise.
10308 (rs6000_gimple_fold_builtin): Likewise.
10309 (rs6000_expand_ldst_mask): Likewise.
10310 (cpu_expand_builtin): Likewise.
10311 (elemrev_icode): Likewise.
10312 (ldv_expand_builtin): Likewise.
10313 (lxvrse_expand_builtin): Likewise.
10314 (lxvrze_expand_builtin): Likewise.
10315 (stv_expand_builtin): Likewise.
10316 (mma_expand_builtin): Likewise.
10317 (htm_spr_num): Likewise.
10318 (htm_expand_builtin): Likewise.
10319 (rs6000_expand_builtin): Likewise.
10320 (rs6000_vector_type): Likewise.
10321 (rs6000_init_builtins): Likewise. Remove initialization of
10322 builtin_mode_to_type entries.
10323 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
10324 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
10325 external declaration.
10326 (rs6000_builtin_md_vectorized_function): Likewise.
10327 (rs6000_builtin_reciprocal): Likewise.
10328 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
10329 (rs6000_builtin_types): Likewise.
10330 (builtin_mode_to_type): Remove.
10331 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
10332 static qualifier.
10333 (rs6000_builtin_md_vectorized_function): Likewise.
10334 (rs6000_builtin_reciprocal): Likewise.
10335 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
10336 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
10337
10338 2022-02-03 Richard Biener <rguenther@suse.de>
10339
10340 PR debug/104337
10341 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
10342 together via DECL_ABSTRACT_ORIGIN.
10343
10344 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10345
10346 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
10347 message for RES_BITS case.
10348
10349 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
10350
10351 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
10352
10353 2022-02-03 Jakub Jelinek <jakub@redhat.com>
10354
10355 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
10356 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
10357
10358 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
10359
10360 * cfganal.cc (verify_marked_backedges): New.
10361 * cfganal.h (verify_marked_backedges): New.
10362 * gimple-range-path.cc (path_range_query::path_range_query):
10363 Verify freshness of back edges.
10364 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
10365 mark_dfs_back_edges.
10366 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
10367 path_range_query construction after backedges have been
10368 updated.
10369
10370 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
10371
10372 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
10373 VALL to VALL_F16.
10374
10375 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
10376
10377 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
10378 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
10379 of VALL_F16MOV.
10380
10381 2022-02-03 Martin Liska <mliska@suse.cz>
10382
10383 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
10384 Change subject and object in the error message.
10385 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
10386 Likewise.
10387
10388 2022-02-03 Martin Liska <mliska@suse.cz>
10389
10390 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
10391 Use the error message for i386 target.
10392
10393 2022-02-03 Jakub Jelinek <jakub@redhat.com>
10394
10395 PR tree-optimization/104334
10396 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
10397 and rh_range type to widest_int and subtract in widest_int. Remove
10398 ov_rh, ov_lh and sign vars, always perform comparisons as signed
10399 and use >, < and == operators for it.
10400
10401 2022-02-03 Martin Sebor <msebor@redhat.com>
10402
10403 * common.opt (-Wuse-after-free): Correct typos.
10404
10405 2022-02-02 David Malcolm <dmalcolm@redhat.com>
10406
10407 PR analyzer/104270
10408 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
10409 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
10410 -ftrivial-auto-var-init= doesn't suppress warnings.
10411
10412 2022-02-02 Martin Liska <mliska@suse.cz>
10413
10414 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
10415
10416 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
10417
10418 PR target/94372
10419 * config/or1k/linux.h (CPP_SPEC): Define.
10420
10421 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10422
10423 PR tree-optimization/102819
10424 PR tree-optimization/103169
10425 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
10426 canonical order.
10427
10428 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10429
10430 PR tree-optimization/102819
10431 PR tree-optimization/103169
10432 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
10433 canonical order.
10434 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
10435
10436 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10437
10438 PR tree-optimization/102819
10439 PR tree-optimization/103169
10440 * doc/md.texi: Update docs for cfms, cfma.
10441 * tree-data-ref.h (same_data_refs): Accept optional offset.
10442 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
10443 patterns.
10444 (vect_normalize_conj_loc): Remove.
10445 (is_eq_or_top): Change to take two nodes.
10446 (enum _conj_status, compatible_complex_nodes_p,
10447 vect_validate_multiplication): New.
10448 (class complex_add_pattern, complex_add_pattern::matches,
10449 complex_add_pattern::recognize, class complex_mul_pattern,
10450 complex_mul_pattern::recognize, class complex_fms_pattern,
10451 complex_fms_pattern::recognize, class complex_operations_pattern,
10452 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
10453 new cache.
10454 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
10455 cache and use new validation code.
10456 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
10457 vect_analyze_slp): Pass along cache.
10458 (compatible_calls_p): Expose.
10459 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
10460 slp_compat_nodes_map_t): New.
10461 (class vect_pattern): Update signatures include new cache.
10462
10463 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10464
10465 * config/cris/cris.cc (cris_preferred_reload_class): Reject
10466 "eliminated" registers and small-enough constants unless
10467 reloaded into a class that is a subset of GENERAL_REGS.
10468 * config/cris/cris.md (attribute "cpu_variant"): New.
10469 (attribute "enabled"): Conditionalize on a matching attribute
10470 cpu_variant, if specified.
10471 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
10472 memory, add cpu-variant-enabled variants for "r" alternatives on
10473 the far side of the "x" alternatives, preferring the "x" ones
10474 only for variants where MOF is present (in addition to SRP).
10475
10476 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10477
10478 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
10479 extra cost for ALL_REGS.
10480
10481 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10482
10483 * config/cris/constraints.md (define_register_constraint "b"): Now
10484 GENERAL_REGS.
10485 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
10486 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
10487 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
10488 and SPEC_GENNONACR_REGS.
10489 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
10490 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
10491
10492 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10493
10494 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
10495 Conditionalize on (sub-)register operands or operand 1 being 0.
10496
10497 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
10498
10499 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
10500 (MUL_BUG_ASM_DEFAULT): New macro.
10501 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
10502 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
10503 accordingly.
10504
10505 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
10506
10507 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
10508 to 10 for AutoFDO.
10509
10510 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
10511
10512 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
10513
10514 2022-02-01 Andrew Pinski <apinski@marvell.com>
10515
10516 * doc/install.texi:
10517
10518 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
10519
10520 * config/s390/s390.cc (s390_code_end): Do not switch back to
10521 code section.
10522
10523 2022-02-01 Jakub Jelinek <jakub@redhat.com>
10524
10525 PR target/104323
10526 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
10527 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
10528 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
10529 GTY((user)) for struct bifdata and struct ovlddata. Instead add
10530 GTY((skip(""))) to members with pointer and enum types that don't need
10531 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
10532 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
10533 (write_extern_fntype, write_fntype): Remove.
10534 (write_fntype_init): Emit the fntype vars as automatic vars instead
10535 of file scope ones.
10536 (write_header_file): Don't iterate with write_extern_fntype.
10537 (write_init_file): Don't iterate with write_fntype. Don't emit
10538 gt_ggc_mx and gt_pch_nx definitions.
10539
10540 2022-02-01 Jason Merrill <jason@redhat.com>
10541
10542 * tree.h (struct tree_vec_map_cache_hasher): Move from...
10543 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
10544
10545 2022-02-01 Tom de Vries <tdevries@suse.de>
10546
10547 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
10548 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
10549 UNSPECV_UNIFORM_WARP_CHECK.
10550 (define_insn "nvptx_uniform_warp_check"): New define_insn.
10551
10552 2022-02-01 Tom de Vries <tdevries@suse.de>
10553
10554 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
10555 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
10556 UNSPECV_WARPSYNC.
10557 (define_insn "nvptx_warpsync"): New define_insn.
10558
10559 2022-02-01 Tom de Vries <tdevries@suse.de>
10560
10561 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
10562
10563 2022-02-01 Tom de Vries <tdevries@suse.de>
10564
10565 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
10566 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
10567 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
10568 insn for TARGET_PTX_6_0.
10569
10570 2022-02-01 Tom de Vries <tdevries@suse.de>
10571
10572 PR target/100428
10573 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
10574 insn.
10575
10576 2022-02-01 Tom de Vries <tdevries@suse.de>
10577
10578 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
10579 (define_insn "atomic_exchange<mode>")
10580 (define_insn "atomic_fetch_add<mode>")
10581 (define_insn "atomic_fetch_addsf")
10582 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
10583 if memory operands is frame-relative.
10584
10585 2022-02-01 Tom de Vries <tdevries@suse.de>
10586
10587 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
10588 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
10589 (VOID): New macro.
10590 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
10591 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
10592 NVPTX_BUILTIN_MEMBAR_CTA.
10593 (nvptx_lockfull_update): Add level parameter. Emit barriers.
10594 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
10595 nvptx_lockfull_update.
10596 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
10597 UNSPECV_MEMBAR_GL.
10598 (define_expand "nvptx_membar_gl"): New expand.
10599 (define_insn "*nvptx_membar_gl"): New insn.
10600
10601 2022-02-01 Martin Liska <mliska@suse.cz>
10602
10603 * doc/install.texi: Remove option for GCC < 4.8.
10604
10605 2022-02-01 Jakub Jelinek <jakub@redhat.com>
10606
10607 PR middle-end/104307
10608 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
10609 stmts to uses vector, just set vec_cond_expr_only to false for
10610 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
10611 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
10612 like non-VEC_COND_EXPRs.
10613
10614 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
10615
10616 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
10617 (VEC_BLENDV): Likewise.
10618 (VEC_BPERM): Likewise.
10619 (VEC_CFUGE): Likewise.
10620 (VEC_CIPHER_BE): Likewise.
10621 (VEC_CIPHERLAST_BE): Likewise.
10622 (VEC_CLRL): Likewise.
10623 (VEC_CLRR): Likewise.
10624 (VEC_CMPNEZ): Likewise.
10625 (VEC_CNTLZ): Likewise.
10626 (VEC_CNTLZM): Likewise.
10627 (VEC_CNTTZM): Likewise.
10628 (VEC_CNTLZ_LSBB): Likewise.
10629 (VEC_CNTM): Likewise.
10630 (VEC_CNTTZ): Likewise.
10631 (VEC_CNTTZ_LSBB): Likewise.
10632 (VEC_CONVERT_4F32_8F16): Likewise.
10633 (VEC_DIV): Likewise.
10634 (VEC_DIVE): Likewise.
10635 (VEC_EQV): Likewise.
10636 (VEC_EXPANDM): Likewise.
10637 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
10638 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
10639 (VEC_EXTRACTH): Likewise.
10640 (VEC_EXTRACTL): Likewise.
10641 (VEC_EXTRACTM): Likewise.
10642 (VEC_EXTRACT4B): Likewise.
10643 (VEC_EXTULX): Likewise.
10644 (VEC_EXTURX): Likewise.
10645 (VEC_FIRSTMATCHINDEX): Likewise.
10646 (VEC_FIRSTMACHOREOSINDEX): Likewise.
10647 (VEC_FIRSTMISMATCHINDEX): Likewise.
10648 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
10649 (VEC_GB): Likewise.
10650 (VEC_GENBM): Likewise.
10651 (VEC_GENHM): Likewise.
10652 (VEC_GENWM): Likewise.
10653 (VEC_GENDM): Likewise.
10654 (VEC_GENQM): Likewise.
10655 (VEC_GENPCVM): Likewise.
10656 (VEC_GNB): Likewise.
10657 (VEC_INSERTH): Likewise.
10658 (VEC_INSERTL): Likewise.
10659 (VEC_INSERT4B): Likewise.
10660 (VEC_LXVL): Likewise.
10661 (VEC_MERGEE): Likewise.
10662 (VEC_MERGEO): Likewise.
10663 (VEC_MOD): Likewise.
10664 (VEC_MSUB): Likewise.
10665 (VEC_MULH): Likewise.
10666 (VEC_NAND): Likewise.
10667 (VEC_NCIPHER_BE): Likewise.
10668 (VEC_NCIPHERLAST_BE): Likewise.
10669 (VEC_NEARBYINT): Likewise.
10670 (VEC_NMADD): Likewise.
10671 (VEC_ORC): Likewise.
10672 (VEC_PDEP): Likewise.
10673 (VEC_PERMX): Likewise.
10674 (VEC_PEXT): Likewise.
10675 (VEC_POPCNT): Likewise.
10676 (VEC_PARITY_LSBB): Likewise.
10677 (VEC_REPLACE_ELT): Likewise.
10678 (VEC_REPLACE_UN): Likewise.
10679 (VEC_REVB): Likewise.
10680 (VEC_RINT): Likewise.
10681 (VEC_RLMI): Likewise.
10682 (VEC_RLNM): Likewise.
10683 (VEC_SBOX_BE): Likewise.
10684 (VEC_SIGNEXTI): Likewise.
10685 (VEC_SIGNEXTLL): Likewise.
10686 (VEC_SIGNEXTQ): Likewise.
10687 (VEC_SLDB): Likewise.
10688 (VEC_SLV): Likewise.
10689 (VEC_SPLATI): Likewise.
10690 (VEC_SPLATID): Likewise.
10691 (VEC_SPLATI_INS): Likewise.
10692 (VEC_SQRT): Likewise.
10693 (VEC_SRDB): Likewise.
10694 (VEC_SRV): Likewise.
10695 (VEC_STRIL): Likewise.
10696 (VEC_STRIL_P): Likewise.
10697 (VEC_STRIR): Likewise.
10698 (VEC_STRIR_P): Likewise.
10699 (VEC_STXVL): Likewise.
10700 (VEC_TERNARYLOGIC): Likewise.
10701 (VEC_TEST_LSBB_ALL_ONES): Likewise.
10702 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
10703 (VEC_VEE): Likewise.
10704 (VEC_VES): Likewise.
10705 (VEC_VIE): Likewise.
10706 (VEC_VPRTYB): Likewise.
10707 (VEC_VSCEEQ): Likewise.
10708 (VEC_VSCEGT): Likewise.
10709 (VEC_VSCELT): Likewise.
10710 (VEC_VSCEUO): Likewise.
10711 (VEC_VSEE): Likewise.
10712 (VEC_VSES): Likewise.
10713 (VEC_VSIE): Likewise.
10714 (VEC_VSTDC): Likewise.
10715 (VEC_VSTDCN): Likewise.
10716 (VEC_VTDC): Likewise.
10717 (VEC_XL): Likewise.
10718 (VEC_XL_BE): Likewise.
10719 (VEC_XL_LEN_R): Likewise.
10720 (VEC_XL_SEXT): Likewise.
10721 (VEC_XL_ZEXT): Likewise.
10722 (VEC_XST): Likewise.
10723 (VEC_XST_BE): Likewise.
10724 (VEC_XST_LEN_R): Likewise.
10725 (VEC_XST_TRUNC): Likewise.
10726 (VEC_XXPERMDI): Likewise.
10727 (VEC_XXSLDWI): Likewise.
10728 (VEC_TSTSFI_EQ_DD): Likewise.
10729 (VEC_TSTSFI_EQ_TD): Likewise.
10730 (VEC_TSTSFI_GT_DD): Likewise.
10731 (VEC_TSTSFI_GT_TD): Likewise.
10732 (VEC_TSTSFI_LT_DD): Likewise.
10733 (VEC_TSTSFI_LT_TD): Likewise.
10734 (VEC_TSTSFI_OV_DD): Likewise.
10735 (VEC_TSTSFI_OV_TD): Likewise.
10736 (VEC_VADDCUQ): Likewise.
10737 (VEC_VADDECUQ): Likewise.
10738 (VEC_VADDEUQM): Likewise.
10739 (VEC_VADDUDM): Likewise.
10740 (VEC_VADDUQM): Likewise.
10741 (VEC_VBPERMQ): Likewise.
10742 (VEC_VCLZB): Likewise.
10743 (VEC_VCLZD): Likewise.
10744 (VEC_VCLZH): Likewise.
10745 (VEC_VCLZW): Likewise.
10746 (VEC_VCTZB): Likewise.
10747 (VEC_VCTZD): Likewise.
10748 (VEC_VCTZH): Likewise.
10749 (VEC_VCTZW): Likewise.
10750 (VEC_VEEDP): Likewise.
10751 (VEC_VEESP): Likewise.
10752 (VEC_VESDP): Likewise.
10753 (VEC_VESSP): Likewise.
10754 (VEC_VIEDP): Likewise.
10755 (VEC_VIESP): Likewise.
10756 (VEC_VPKSDSS): Likewise.
10757 (VEC_VPKSDUS): Likewise.
10758 (VEC_VPKUDUM): Likewise.
10759 (VEC_VPKUDUS): Likewise.
10760 (VEC_VPOPCNT): Likewise.
10761 (VEC_VPOPCNTB): Likewise.
10762 (VEC_VPOPCNTD): Likewise.
10763 (VEC_VPOPCNTH): Likewise.
10764 (VEC_VPOPCNTW): Likewise.
10765 (VEC_VPRTYBD): Likewise.
10766 (VEC_VPRTYBQ): Likewise.
10767 (VEC_VPRTYBW): Likewise.
10768 (VEC_VRLD): Likewise.
10769 (VEC_VSLD): Likewise.
10770 (VEC_VSRAD): Likewise.
10771 (VEC_VSRD): Likewise.
10772 (VEC_VSTDCDP): Likewise.
10773 (VEC_VSTDCNDP): Likewise.
10774 (VEC_VSTDCNQP): Likewise.
10775 (VEC_VSTDCNSP): Likewise.
10776 (VEC_VSTDCQP): Likewise.
10777 (VEC_VSTDCSP): Likewise.
10778 (VEC_VSUBECUQ): Likewise.
10779 (VEC_VSUBEUQM): Likewise.
10780 (VEC_VSUBUDM): Likewise.
10781 (VEC_VSUBUQM): Likewise.
10782 (VEC_VTDCDP): Likewise.
10783 (VEC_VTDCSP): Likewise.
10784 (VEC_VUPKHSW): Likewise.
10785 (VEC_VUPKLSW): Likewise.
10786
10787 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
10788
10789 PR rtl-optimization/101260
10790 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
10791 copy_regno.
10792
10793 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
10794
10795 PR middle-end/95115
10796 * fold-const.cc (const_binop): Do not fold NaN result from
10797 non-NaN operands.
10798
10799 2022-02-01 Tom de Vries <tdevries@suse.de>
10800
10801 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
10802 -ftree-loop-distribute-patterns.
10803 (loop_distribution::execute): Don't call transform_reduction_loop for
10804 -fno-tree-loop-distribute-patterns.
10805
10806 2022-01-31 Andrew Pinski <apinski@marvell.com>
10807
10808 * fold-const.h (operand_compare::operand_equal_p):
10809 Fix comment about OEP_* flags.
10810
10811 2022-01-31 Jakub Jelinek <jakub@redhat.com>
10812
10813 PR target/104298
10814 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
10815 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
10816 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
10817 if not already defined.
10818
10819 2022-01-31 Martin Sebor <msebor@redhat.com>
10820
10821 PR middle-end/104232
10822 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
10823 Handle PHIs. Add a synonymous overload.
10824 (pass_waccess::check_pointer_uses): Call pointers_related_p.
10825
10826 2022-01-31 Richard Biener <rguenther@suse.de>
10827
10828 PR tree-optimization/100499
10829 * fold-const.cc (multiple_of_p): Pass the correct type of
10830 the expression to the recursive invocation of multiple_of_p
10831 for conversions and use CASE_CONVERT.
10832
10833 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
10834
10835 PR target/104189
10836 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
10837
10838 2022-01-31 Richard Biener <rguenther@suse.de>
10839
10840 PR tree-optimization/100499
10841 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
10842 on poly-ints instead of multiple_of_p.
10843 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
10844 (non_rewritable_mem_ref_base): Likewise.
10845 (non_rewritable_lvalue_p): Likewise.
10846 (execute_update_addresses_taken): Likewise.
10847
10848 2022-01-29 Jakub Jelinek <jakub@redhat.com>
10849 Andrew Pinski <apinski@marvell.com>
10850
10851 PR tree-optimization/104279
10852 PR tree-optimization/104280
10853 PR tree-optimization/104281
10854 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
10855 boolean_type_node and convert to type. Formatting fixes.
10856
10857 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
10858
10859 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
10860
10861 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
10862
10863 PR tree-optimization/103514
10864 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
10865 (a & b) == (a ^ b) -> !(a | b): New optimization.
10866
10867 2022-01-28 Marek Polacek <polacek@redhat.com>
10868
10869 * doc/invoke.texi: Update -Wbidi-chars documentation.
10870
10871 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
10872
10873 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
10874
10875 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
10876
10877 PR tree-optimization/95424
10878 * match.pd: Simplify 1 / X where X is an integer.
10879
10880 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10881
10882 PR tree-optimization/104263
10883 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
10884 cfun->can_throw_non_call_exceptions && cfun->eh test whether
10885 last non-debug stmt in the bb is store_valid_for_store_merging_p
10886 rather than last stmt.
10887
10888 2022-01-28 Martin Liska <mliska@suse.cz>
10889
10890 * diagnostic.cc (diagnostic_action_after_output): Remove extra
10891 newline.
10892
10893 2022-01-28 Martin Liska <mliska@suse.cz>
10894
10895 * config/rs6000/host-darwin.cc (segv_crash_handler):
10896 Do not use leading capital letter.
10897 (segv_handler): Likewise.
10898 * ipa-sra.cc (verify_splitting_accesses): Likewise.
10899 * varasm.cc (get_section): Likewise.
10900
10901 2022-01-28 Richard Biener <rguenther@suse.de>
10902
10903 PR tree-optimization/104267
10904 * tree-vect-stmts.cc (vectorizable_call): Properly use the
10905 per-argument determined vector type for externals and
10906 invariants.
10907
10908 2022-01-28 Richard Biener <rguenther@suse.de>
10909
10910 PR tree-optimization/104263
10911 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
10912 Purge edges also when !cfun->has_nonlocal_label
10913 and !cfun->calls_setjmp.
10914
10915 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
10916
10917 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
10918 attributes.
10919
10920 2022-01-28 Jakub Jelinek <jakub@redhat.com>
10921
10922 PR lto/104237
10923 * cfgrtl.cc (loc_equal): New function.
10924 (unique_locus_on_edge_between_p): Use it.
10925
10926 2022-01-28 Richard Biener <rguenther@suse.de>
10927
10928 * cfganal.h (mark_dfs_back_edges): Provide API with struct
10929 function argument.
10930 * cfganal.cc (mark_dfs_back_edges): Take a struct function
10931 to work on, add a wrapper passing cfun.
10932 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
10933 uses with fun which is already passed.
10934 (draw_cfg_edges): Likewise.
10935 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
10936 for fun != cfun.
10937
10938 2022-01-27 Patrick Palka <ppalka@redhat.com>
10939
10940 PR c++/99895
10941 * tree.cc (build_call_vec): Add const to second parameter.
10942 * tree.h (build_call_vec): Likewise.
10943
10944 2022-01-27 Martin Liska <mliska@suse.cz>
10945
10946 PR web/104254
10947 * diagnostic.cc (diagnostic_initialize):
10948 Initialize report_bug flag.
10949 (diagnostic_action_after_output):
10950 Explain that -freport-bug option can be used for pre-processed
10951 file creation. Make the message shorter.
10952 (error_recursion): Rename Internal to internal.
10953 * diagnostic.h (struct diagnostic_context): New field.
10954 * opts.cc (common_handle_option): Init the field here.
10955
10956 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
10957
10958 PR target/103702
10959 * config/rs6000/rs6000.cc
10960 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
10961 assertion with early return.
10962
10963 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
10964
10965 PR middle-end/103642
10966 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
10967 for non-pointer or non-reference-to-pointer cases.
10968
10969 2022-01-27 Jakub Jelinek <jakub@redhat.com>
10970
10971 PR tree-optimization/104196
10972 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
10973 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
10974 return NULL and emit needed stmts before and after stmt.
10975 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
10976 pick as operand_entry that will hold the merged test the one feeding
10977 earliest condition, ensure that by swapping range->idx with some
10978 other range's idx if needed. If seq is non-NULL, don't actually swap
10979 it but instead rewrite stmts with undefined overflow in between
10980 the two locations.
10981 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
10982 corresponding condition even if they have non-NULL ops[]->op.
10983 Formatting fix.
10984
10985 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10986
10987 PR target/104239
10988 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
10989 asm.
10990 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
10991 before for loop instead of for init clause.
10992 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
10993
10994 2022-01-26 Jakub Jelinek <jakub@redhat.com>
10995
10996 PR target/104239
10997 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
10998 _X86INTRIN_H_INCLUDED and adjust #error wording.
10999 * config/rs6000/bmi2intrin.h: Likewise.
11000
11001 2022-01-26 Jakub Jelinek <jakub@redhat.com>
11002
11003 PR debug/104194
11004 * dwarf2out.cc (long_double_as_float128): New function.
11005 (modified_type_die): For powerpc64le IEEE 754 quad long double
11006 and complex long double emit those as DW_TAG_typedef to
11007 _Float128 or complex _Float128 base type.
11008
11009 2022-01-26 Marek Polacek <polacek@redhat.com>
11010
11011 PR target/104213
11012 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
11013 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
11014
11015 2022-01-26 Martin Liska <mliska@suse.cz>
11016
11017 * ipa-modref-tree.cc (modref_access_node::update):
11018 Remove "--param param=foo" with "--param foo".
11019 (modref_access_node::insert): Likewise.
11020 (modref_access_node::insert_kill): Likewise.
11021 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
11022 (struct modref_base_node): Likewise.
11023 (struct modref_tree): Likewise.
11024
11025 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
11026
11027 PR target/94193
11028 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
11029 predicate check.
11030
11031 2022-01-25 Martin Sebor <msebor@redhat.com>
11032
11033 PR tree-optimization/104203
11034 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
11035 TV_WARN_ACCESS.
11036 * pointer-query.cc (access_ref::merge_ref): Change return type.
11037 Convert failure to a conservative success.
11038 (access_ref::get_ref): Adjust to the change above. Short-circuit
11039 PHI evaluation after first failure turned into conservative success.
11040 * pointer-query.h (access_ref::merge_ref): Change return type.
11041 * timevar.def (TV_WARN_ACCESS): New timer variable.
11042
11043 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
11044
11045 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
11046
11047 2022-01-25 Richard Biener <rguenther@suse.de>
11048
11049 PR tree-optimization/104214
11050 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
11051 stronger guarantees for relational pointer compares when
11052 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
11053 BASE0 + STEP0 - STEP1 cmp BASE1.
11054
11055 2022-01-25 Jakub Jelinek <jakub@redhat.com>
11056
11057 PR target/104172
11058 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
11059 declare.
11060 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
11061 ieee128_mangling_gcc_8_1): Remove.
11062 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
11063 (rs6000_mangle_type): Return "u9__ieee128" instead of
11064 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
11065 (rs6000_globalize_decl_name): Remove.
11066 * config/rs6000/rs6000-call.cc (init_cumulative_args,
11067 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
11068
11069 2022-01-24 Martin Sebor <msebor@redhat.com>
11070
11071 * pointer-query.cc (pointer_query::dump): Remove duplicate
11072 block.
11073
11074 2022-01-24 Marek Polacek <polacek@redhat.com>
11075
11076 PR preprocessor/104030
11077 * doc/invoke.texi: Update documentation for -Wbidi-chars.
11078
11079 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
11080
11081 PR target/94193
11082 * builtins.cc (expand_builtin_fegetround): New function.
11083 (expand_builtin_feclear_feraise_except): New function.
11084 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
11085 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
11086 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
11087 (feclearexceptsi): New Pattern.
11088 (feraiseexceptsi): New Pattern.
11089 * doc/extend.texi: Add a new introductory paragraph about the
11090 new builtins.
11091 * doc/md.texi: (fegetround@var{m}): Document new optab.
11092 (feclearexcept@var{m}): Document new optab.
11093 (feraiseexcept@var{m}): Document new optab.
11094 * optabs.def (fegetround_optab): New optab.
11095 (feclearexcept_optab): New optab.
11096 (feraiseexcept_optab): New optab.
11097
11098 2022-01-24 Richard Biener <rguenther@suse.de>
11099 Jiufu Guo <guojiufu@linux.ibm.com>
11100
11101 PR tree-optimization/100740
11102 PR tree-optimization/101508
11103 PR tree-optimization/101972
11104 PR tree-optimization/102131
11105 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
11106 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
11107 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
11108
11109 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11110
11111 PR sanitizer/104158
11112 * opt-functions.awk (var_set): Handle EnumBitSet property.
11113 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
11114 specified.
11115 * opts.h (enum cl_enum_var_value): New type.
11116 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
11117 Handle CLEV_BITSET.
11118 (cmdline_handle_error): Handle CLEV_BITSET.
11119 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
11120 * doc/options.texi (EnumBitSet): Document.
11121 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
11122 EnumSet.
11123 (trace-pc, trace-cmp): Drop Set properties.
11124
11125 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11126
11127 PR sanitizer/104158
11128 * common.opt (flag_sanitize_coverage): Remove Variable entry.
11129 (fsanitize-coverage=): Remove RejectNegative property, add
11130 Var(flag_sanitize_coverage) and EnumSet properties.
11131 (trace-pc): Add Set(1) property.
11132 (trace-cmp): Add Set(2) property.
11133 * opts.cc (common_handle_option): Don't handle
11134 OPT_fsanitize_coverage_.
11135
11136 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11137
11138 PR sanitizer/104158
11139 * opt-functions.awk (var_set): Handle EnumSet property.
11140 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
11141 specified.
11142 * opt-read.awk: Handle Set property.
11143 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
11144 (struct cl_decoded_option): Mention enum in value description.
11145 Add mask member.
11146 (set_option): Add mask argument defaulted to 0.
11147 * opts.cc (test_enum_sets): New function.
11148 (opts_cc_tests): Call it.
11149 * opts-common.cc (enum_arg_to_value): Change return argument
11150 from bool to int, on success return index into the cl_enum_arg
11151 array, on failure -1. Add len argument, if non-0, use strncmp
11152 instead of strcmp.
11153 (opt_enum_arg_to_value): Adjust caller.
11154 (decode_cmdline_option): Handle EnumSet represented as
11155 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
11156 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
11157 (handle_option): Pass decoded->mask to set_options last argument.
11158 (generate_option): Clear decoded->mask.
11159 (generate_option_input_file): Likewise.
11160 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
11161 (set_option): Add mask argument, use it for CLVC_ENUM.
11162 (control_warning_option): Adjust enum_arg_to_value caller.
11163 * doc/options.texi: Document Set and EnumSet properties.
11164
11165 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11166
11167 PR bootstrap/104170
11168 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11169 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11170 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11171 using OPTION_*_P macros.
11172 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11173 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11174 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11175 using OPTION_*_P macros.
11176 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11177 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11178 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11179 using OPTION_*_P macros.
11180 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11181 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11182 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11183 using OPTION_*_P macros.
11184 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
11185 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
11186 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
11187 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
11188 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
11189 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
11190 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
11191 otherwise assume if (true).
11192
11193 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
11194
11195 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
11196 Skip zicsr and zifencei if I-ext is 2.0.
11197
11198 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
11199
11200 * config.gcc: Modify default isa_spec version.
11201
11202 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
11203
11204 PR tree-optimization/102087
11205 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
11206 Correct PLUS result type.
11207
11208 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
11209
11210 PR target/104188
11211 * config/i386/predicates.md (bcst_mem_operand): Also check mode
11212 of memory broadcast.
11213
11214 2022-01-23 Andrew Pinski <apinski@marvell.com>
11215
11216 PR target/64821
11217 * config/aarch64/aarch64-builtins.cc
11218 (aarch64_general_gimple_fold_builtin): Handle
11219 __builtin_aarch64_sqrt* and simplify into SQRT internal
11220 function.
11221
11222 2022-01-22 Jakub Jelinek <jakub@redhat.com>
11223
11224 PR other/104176
11225 * opts-global.cc (handle_common_deferred_options): Quote
11226 --enable-plugin in diagnostics to avoid -Werror=format-diag.
11227
11228 2022-01-21 Michael Meissner <meissner@the-meissners.org>
11229
11230 PR target/104136
11231 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
11232 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
11233 * config/rs6000/rs6000.md (prefixed attribute): Delete section
11234 that sets the prefixed attribute for xxspltiw, xxspltidp, and
11235 xxsplti32dx instructions.
11236 (movsf_hardfloat): Explicitly set the prefixed attribute
11237 when xxspltiw and xxspltidp instructions are generated.
11238 (mov<mode>_hardfloat32): Likewise.
11239 (mov<mode>_hardfloat64): Likewise.
11240 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
11241 prefixed attribute for xxspltiw and xxspltidp instructions.
11242 (vsx_mov<mode>_32bit): Likewise.
11243
11244 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
11245
11246 PR bootstrap/104170
11247 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
11248 Return true only on glibc.
11249 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
11250 Revert commit c163647ffbc.
11251 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
11252
11253 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
11254
11255 * common/config/s390/s390-common.cc (s390_supports_split_stack):
11256 Only support split-stack on glibc targets.
11257 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
11258 * config/i386/gnu.h (defined): Ditto.
11259
11260 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
11261
11262 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
11263 vector float and vector double.
11264
11265 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
11266
11267 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
11268 Fix mention of ifunc in string.
11269
11270 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
11271
11272 PR middle-end/104140
11273 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
11274 operands of the widening multiplication are either both signed or
11275 both unsigned, and abort the conversion if mismatched.
11276 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
11277 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
11278 signedness.
11279 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
11280 integer types with the same precision and signedness.
11281 (WIDEN_MULT_EXPR): Document that operands must have integer types
11282 with the same precision, but possibly differing signedness.
11283 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
11284 riscv_current_subset_list returning a NULL pointer (empty list).
11285
11286 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
11287
11288 PR target/103676
11289 * ira.h (struct target_ira): Add member
11290 x_ira_exclude_class_mode_regs.
11291 (ira_exclude_class_mode_regs): New macro.
11292 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
11293 move from here ...
11294 * lra-int.h: ... to here.
11295 (lra_create_new_reg_with_unique_value): Add arg
11296 exclude_start_hard_regs.
11297 (class lra_reg): Add member exclude_start_hard_regs.
11298 * lra-assigns.cc (find_hard_regno_for_1): Setup
11299 impossible_start_hard_regs from exclude_start_hard_regs.
11300 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
11301 it lra_create_new_reg[_with_unique_value].
11302 (match_reload): Ditto.
11303 (check_and_process_move): Pass NULL
11304 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
11305 (goal_alt_exclude_start_hard_regs): New static variable.
11306 (process_addr_reg, simplify_operand_subreg): Pass NULL
11307 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
11308 and get_reload_reg.
11309 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
11310 Use this_alternative_exclude_start_hard_regs additionally to find
11311 winning operand alternative.
11312 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
11313 exclude_start_hard_regs to lra_create_new_reg.
11314 (process_address_1, emit_inc): Ditto.
11315 (curr_insn_transform): Pass exclude_start_hard_regs value to
11316 lra_create_new_reg, get_reload_reg, match_reload.
11317 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
11318 to lra_create_new_reg.
11319 (process_invariant_for_inheritance): Ditto.
11320 * lra-remat.cc (update_scratch_ops): Ditto.
11321 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
11322 exclude_start_hard_regs. Setup the corresponding member of
11323 lra reg info.
11324 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
11325 to lra_create_new_reg_with_unique_value.
11326 (initialize_lra_reg_info_element): Initialize member
11327 exclude_start_hard_regs.
11328 (get_scratch_reg): Pass NULL to lra_create_new_reg.
11329 * ira.cc (setup_prohibited_class_mode_regs): Rename to
11330 setup_prohibited_and_exclude_class_mode_regs and calculate
11331 ira_exclude_class_mode_regs.
11332
11333 2022-01-21 Martin Liska <mliska@suse.cz>
11334
11335 * configure.ac: Detect ld_is_mold and use it for
11336 comdat_group=yes and gcc_cv_ld_hidden=yes.
11337 * configure: Regenerate.
11338
11339 2022-01-21 Richard Biener <rguenther@suse.de>
11340
11341 PR tree-optimization/100089
11342 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
11343 of if-converted loops with unvectorized COND_EXPRs for
11344 all but the unlimited cost models.
11345
11346 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
11347
11348 * config/arm/arm-opts.h (enum stack_protector_guard): New.
11349 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
11350 New.
11351 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
11352 (arm_option_override_internal): Handle and put in error checks.
11353 for stack protector guard options.
11354 (arm_option_reconfigure_globals): Likewise.
11355 (arm_stack_protect_tls_canary_mem): New.
11356 (arm_stack_protect_guard): New.
11357 * config/arm/arm.md (stack_protect_set): New.
11358 (stack_protect_set_tls): Likewise.
11359 (stack_protect_test): Likewise.
11360 (stack_protect_test_tls): Likewise.
11361 (reload_tp_hard): Likewise.
11362 * config/arm/arm.opt (-mstack-protector-guard): New
11363 (-mstack-protector-guard-offset): New.
11364 * doc/invoke.texi: Document new options.
11365
11366 2022-01-21 Richard Biener <rguenther@suse.de>
11367
11368 PR tree-optimization/104156
11369 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
11370 Collect and reset debug stmts with out-of-loop uses when
11371 hoisting guards.
11372 (find_loop_guard): Adjust.
11373 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
11374 (used_outside_loop_p): Push debug uses to a vector of
11375 debug stmts to reset.
11376 (hoist_guard): Adjust -fopt-info category.
11377
11378 2022-01-21 Richard Biener <rguenther@suse.de>
11379
11380 PR tree-optimization/104152
11381 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
11382 can_duplicate_and_interleave_p check.
11383
11384 2022-01-21 Jakub Jelinek <jakub@redhat.com>
11385
11386 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
11387 Avoid passing var to warning_at when the format string doesn't
11388 refer to it.
11389
11390 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
11391
11392 PR tree-optimization/103721
11393 * gimple-range-path.cc
11394 (path_range_query::relations_may_be_invalidated): New.
11395 (path_range_query::compute_ranges_in_block): Reset relations if
11396 they may be invalidated.
11397 (path_range_query::maybe_register_phi_relation): Exit if relations
11398 may be invalidated on incoming edge.
11399 (path_range_query::compute_phi_relations): Pass incoming PHI edge
11400 to maybe_register_phi_relation.
11401 * gimple-range-path.h (relations_may_be_invalidated): New.
11402 (maybe_register_phi_relation): Pass edge instead of tree.
11403 * tree-ssa-threadbackward.cc (back_threader::back_threader):
11404 Mark DFS edges.
11405 * value-relation.cc (path_oracle::path_oracle): Call
11406 mark_dfs_back_edges.
11407 (path_oracle::register_relation): Add SSA names to m_registered
11408 bitmap.
11409 (path_oracle::reset_path): Clear m_registered bitmap.
11410 * value-relation.h (path_oracle::set_root_oracle): New.
11411
11412 2022-01-21 Jakub Jelinek <jakub@redhat.com>
11413
11414 PR rtl-optimization/102478
11415 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
11416 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
11417 would be needed.
11418
11419 2022-01-20 Richard Biener <rguenther@suse.de>
11420
11421 PR middle-end/100786
11422 * gimple-fold.cc (get_symbol_constant_value): Only return
11423 values of compatible type to the symbol.
11424
11425 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
11426
11427 * value-relation.cc (relation_oracle::valid_equivs): Query and add
11428 if valid members of a set.
11429 (equiv_oracle::register_equiv): Call valid_equivs rather than
11430 bitmap direct operations.
11431 (path_oracle::register_equiv): Ditto.
11432 * value-relation.h (relation_oracle::valid_equivs): New prototype.
11433
11434 2022-01-20 Richard Biener <rguenther@suse.de>
11435
11436 PR target/100784
11437 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
11438 LHS before folding __builtin_ia32_shufpd and friends.
11439
11440 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11441
11442 * config/arm/crypto.md (aes_op_protect): Allow moves from core
11443 registers and from memory.
11444 (aes_op_protect_misalign_load): New pattern.
11445 (aes_op_protect_neon_vld1v16qi): New pattern.
11446
11447 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11448
11449 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
11450 New pattern.
11451 (aarch32_crypto_aese_fused_protected): Likewise.
11452 (aarch32_crypto_aesd_fused_protected): Likewise.
11453
11454 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11455
11456 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
11457 to define_expand. Add mitigation for the Cortex-A AES erratum
11458 when enabled.
11459 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
11460 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
11461 (aes_op_protect): New pattern.
11462 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
11463
11464 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11465
11466 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
11467 (ALL_QUIRKS): Add it.
11468 (cortex-a57, cortex-a72): Enable it.
11469 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
11470 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
11471 option.
11472 (mfix-cortex-a72-aes-1655431): New option alias.
11473 * config/arm/arm.cc (arm_option_override): Handle default settings
11474 for AES erratum switch.
11475 * doc/invoke.texi (Arm Options): Document new options.
11476
11477 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11478
11479 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
11480 <crypto_mode> rather than hard-coding the mode.
11481 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
11482 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
11483 (*aarch32_crypto_aese_fused): Likewise.
11484 (*aarch32_crypto_aesd_fused): Likewise.
11485 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
11486 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
11487 (crypto_sha1h_lb): Likewise.
11488 (crypto_vmullp64): Likewise.
11489 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
11490 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
11491
11492 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11493
11494 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
11495 iterator to pattern name to disambiguate.
11496 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
11497 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
11498 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
11499 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
11500 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
11501
11502 2022-01-20 Martin Liska <mliska@suse.cz>
11503
11504 PR bootstrap/104135
11505 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
11506 * rtl.cc: Partially disable -Wformat-diag for RTL checking
11507 error messages.
11508
11509 2022-01-20 Jakub Jelinek <jakub@redhat.com>
11510
11511 PR debug/103874
11512 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
11513 block_num > 0, index entry even if !have_multiple_function_sections.
11514
11515 2022-01-20 liuhongt <hongtao.liu@intel.com>
11516
11517 PR target/103771
11518 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
11519 integral mode mask pack by multi steps which takes
11520 vec_pack_sbool_trunc_optab as start when elements number is
11521 less than BITS_PER_UNITS.
11522
11523 2022-01-20 Richard Biener <rguenther@suse.de>
11524
11525 PR tree-optimization/104114
11526 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
11527 single element vector decomposition.
11528
11529 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11530
11531 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
11532 (noce_convert_multiple_sets): Call function a second time if we can
11533 improve the first try.
11534
11535 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11536
11537 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
11538 reversed comparison.
11539 (try_emit_cmove_seq): New function to facilitate creating a cmov
11540 sequence.
11541 (noce_convert_multiple_sets): Create two sequences and use the less
11542 expensive one.
11543
11544 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11545
11546 * rtl.h (struct rtx_comparison): New struct that holds an rtx
11547 comparison.
11548 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
11549 single parameters.
11550 (rs6000_emit_swsqrt): Likewise.
11551 * expmed.cc (expand_sdiv_pow2): Likewise.
11552 (emit_store_flag): Likewise.
11553 * expr.cc (expand_cond_expr_using_cmove): Likewise.
11554 (expand_expr_real_2): Likewise.
11555 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
11556 parameters.
11557 * optabs.cc (emit_conditional_move_1): New function.
11558 (expand_doubleword_shift_condmove): Use struct.
11559 (emit_conditional_move): Use struct and allow to call directly
11560 without going through preparation steps.
11561 * optabs.h (emit_conditional_move): Use struct.
11562
11563 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11564
11565 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
11566 (noce_process_if_block): Use potential costs.
11567
11568 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11569
11570 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
11571 (bb_ok_for_noce_convert_multiple_sets): Likewise.
11572
11573 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
11574
11575 * ifcvt.cc (need_cmov_or_rewire): New function.
11576 (noce_convert_multiple_sets): Call it.
11577
11578 2022-01-19 David Malcolm <dmalcolm@redhat.com>
11579
11580 * attribs.cc (attribute_c_tests): Rename to...
11581 (attribs_cc_tests): ...this.
11582 * bitmap.cc (bitmap_c_tests): Rename to...
11583 (bitmap_cc_tests): ...this.
11584 * cgraph.cc (cgraph_c_finalize): Rename to...
11585 (cgraph_cc_finalize): ...this.
11586 (cgraph_c_tests): Rename to...
11587 (cgraph_cc_tests): ...this.
11588 * cgraph.h (cgraph_c_finalize): Rename to...
11589 (cgraph_cc_finalize): ...this.
11590 (cgraphunit_c_finalize): Rename to...
11591 (cgraphunit_cc_finalize): ...this.
11592 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
11593 (cgraphunit_cc_finalize): ...this.
11594 * convert.cc (convert_c_tests): Rename to...
11595 (convert_cc_tests): ...this.
11596 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
11597 (dbgcnt_cc_tests): ...this.
11598 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
11599 (diagnostic_show_locus_cc_tests): ...this.
11600 * diagnostic.cc (diagnostic_c_tests): Rename to...
11601 (diagnostic_cc_tests): ...this.
11602 * dumpfile.cc (dumpfile_c_tests): Rename to...
11603 (dumpfile_cc_tests): ...this.
11604 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
11605 (dwarf2out_cc_finalize): ...this.
11606 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
11607 (dwarf2out_cc_finalize): ...this.
11608 * edit-context.cc (edit_context_c_tests): Rename to...
11609 (edit_context_cc_tests): ...this.
11610 * et-forest.cc (et_forest_c_tests): Rename to...
11611 (et_forest_cc_tests): ...this.
11612 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
11613 (fibonacci_heap_cc_tests): ...this.
11614 * fold-const.cc (fold_const_c_tests): Rename to...
11615 (fold_const_cc_tests): ...this.
11616 * function-tests.cc (function_tests_c_tests): Rename to...
11617 (function_tests_cc_tests): ...this.
11618 * gcse.cc (gcse_c_finalize): Rename to...
11619 (gcse_cc_finalize): ...this.
11620 * gcse.h (gcse_c_finalize): Rename to...
11621 (gcse_cc_finalize): ...this.
11622 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
11623 (ggc_tests_cc_tests): ...this.
11624 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
11625 (store_merging_cc_tests): ...this.
11626 * gimple.cc (gimple_c_tests): Rename to...
11627 (gimple_cc_tests): ...this.
11628 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
11629 (hash_map_tests_cc_tests): ...this.
11630 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
11631 (hash_set_tests_cc_tests): ...this.
11632 * input.cc (input_c_tests): Rename to...
11633 (input_cc_tests): ...this.
11634 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
11635 (ipa_cp_cc_finalize): ...this.
11636 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
11637 (ipa_fnsummary_cc_finalize): ...this.
11638 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
11639 (ipa_fnsummary_cc_finalize): ...this.
11640 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
11641 (ipa_modref_tree_cc_tests): ...this.
11642 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
11643 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
11644 (ipa_modref_cc_finalize): ...this.
11645 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
11646 (ipa_modref_cc_finalize): ...this.
11647 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
11648 (ipa_cp_cc_finalize): ...this.
11649 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
11650 (ipa_reference_cc_finalize): ...this.
11651 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
11652 (ipa_reference_cc_finalize): ...this.
11653 * ira-costs.cc (ira_costs_c_finalize): Rename to...
11654 (ira_costs_cc_finalize): ...this.
11655 * ira.h (ira_costs_c_finalize): Rename to...
11656 (ira_costs_cc_finalize): ...this.
11657 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
11658 (opt_suggestions_cc_tests): ...this.
11659 * opts.cc (opts_c_tests): Rename to...
11660 (opts_cc_tests): ...this.
11661 * predict.cc (predict_c_tests): Rename to...
11662 (predict_cc_tests): ...this.
11663 * pretty-print.cc (pretty_print_c_tests): Rename to...
11664 (pretty_print_cc_tests): ...this.
11665 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
11666 (read_rtl_function_cc_tests): ...this.
11667 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
11668 (rtl_tests_cc_tests): ...this.
11669 * sbitmap.cc (sbitmap_c_tests): Rename to...
11670 (sbitmap_cc_tests): ...this.
11671 * selftest-run-tests.cc (selftest::run_tests): Update calls for
11672 _c_ to _cc_ function renamings; fix names of attribs and
11673 opt-suggestions tests.
11674 * selftest.cc (selftest_c_tests): Rename to...
11675 (selftest_cc_tests): ...this.
11676 * selftest.h (attribute_c_tests): Rename to...
11677 (attribs_cc_tests): ...this.
11678 (bitmap_c_tests): Rename to...
11679 (bitmap_cc_tests): ...this.
11680 (cgraph_c_tests): Rename to...
11681 (cgraph_cc_tests): ...this.
11682 (convert_c_tests): Rename to...
11683 (convert_cc_tests): ...this.
11684 (diagnostic_c_tests): Rename to...
11685 (diagnostic_cc_tests): ...this.
11686 (diagnostic_show_locus_c_tests): Rename to...
11687 (diagnostic_show_locus_cc_tests): ...this.
11688 (dumpfile_c_tests): Rename to...
11689 (dumpfile_cc_tests): ...this.
11690 (edit_context_c_tests): Rename to...
11691 (edit_context_cc_tests): ...this.
11692 (et_forest_c_tests): Rename to...
11693 (et_forest_cc_tests): ...this.
11694 (fibonacci_heap_c_tests): Rename to...
11695 (fibonacci_heap_cc_tests): ...this.
11696 (fold_const_c_tests): Rename to...
11697 (fold_const_cc_tests): ...this.
11698 (function_tests_c_tests): Rename to...
11699 (function_tests_cc_tests): ...this.
11700 (ggc_tests_c_tests): Rename to...
11701 (ggc_tests_cc_tests): ...this.
11702 (gimple_c_tests): Rename to...
11703 (gimple_cc_tests): ...this.
11704 (hash_map_tests_c_tests): Rename to...
11705 (hash_map_tests_cc_tests): ...this.
11706 (hash_set_tests_c_tests): Rename to...
11707 (hash_set_tests_cc_tests): ...this.
11708 (input_c_tests): Rename to...
11709 (input_cc_tests): ...this.
11710 (opts_c_tests): Rename to...
11711 (opts_cc_tests): ...this.
11712 (predict_c_tests): Rename to...
11713 (predict_cc_tests): ...this.
11714 (pretty_print_c_tests): Rename to...
11715 (pretty_print_cc_tests): ...this.
11716 (read_rtl_function_c_tests): Rename to...
11717 (read_rtl_function_cc_tests): ...this.
11718 (rtl_tests_c_tests): Rename to...
11719 (rtl_tests_cc_tests): ...this.
11720 (sbitmap_c_tests): Rename to...
11721 (sbitmap_cc_tests): ...this.
11722 (selftest_c_tests): Rename to...
11723 (selftest_cc_tests): ...this.
11724 (simplify_rtx_c_tests): Rename to...
11725 (simplify_rtx_cc_tests): ...this.
11726 (spellcheck_c_tests): Rename to...
11727 (spellcheck_cc_tests): ...this.
11728 (spellcheck_tree_c_tests): Rename to...
11729 (spellcheck_tree_cc_tests): ...this.
11730 (sreal_c_tests): Rename to...
11731 (sreal_cc_tests): ...this.
11732 (store_merging_c_tests): Rename to...
11733 (store_merging_cc_tests): ...this.
11734 (tree_c_tests): Rename to...
11735 (tree_cc_tests): ...this.
11736 (tree_cfg_c_tests): Rename to...
11737 (tree_cfg_cc_tests): ...this.
11738 (typed_splay_tree_c_tests): Rename to...
11739 (typed_splay_tree_cc_tests): ...this.
11740 (vec_c_tests): Rename to...
11741 (vec_cc_tests): ...this.
11742 (vec_perm_indices_c_tests): Rename to...
11743 (vec_perm_indices_cc_tests): ..this.
11744 (opt_proposer_c_tests): Rename to...
11745 (opt_suggestions_cc_tests): ...this.
11746 (dbgcnt_c_tests): Rename to...
11747 (dbgcnt_cc_tests): ...this.
11748 (ipa_modref_tree_c_tests): Rename to...
11749 (ipa_modref_tree_cc_tests): ...this.
11750 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
11751 (simplify_rtx_cc_tests): ...this.
11752 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
11753 (spellcheck_tree_cc_tests): ...this.
11754 * spellcheck.cc (spellcheck_c_tests): Rename to...
11755 (spellcheck_cc_tests): ...this.
11756 * sreal.cc (sreal_c_tests): Rename to...
11757 (sreal_cc_tests): ...this.
11758 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
11759 function renamings.
11760 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
11761 (tree_cfg_cc_tests): ...this.
11762 * tree.cc (tree_c_tests): Rename to...
11763 (tree_cc_tests): ...this.
11764 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
11765 (typed_splay_tree_cc_tests): ...this.
11766 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
11767 (vec_perm_indices_cc_tests): ...this.
11768 * vec.cc (vec_c_tests): Rename to...
11769 (vec_cc_tests): ...this.
11770
11771 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
11772
11773 PR tree-optimization/103997
11774 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
11775 vectorization.
11776
11777 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11778
11779 PR middle-end/102860
11780 * match.pd (x %[fl] y -> x % y): New simplification for
11781 unsigned integral types.
11782 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
11783 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
11784
11785 2022-01-19 Richard Biener <rguenther@suse.de>
11786
11787 PR tree-optimization/104112
11788 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
11789 for required intermediate vector types.
11790
11791 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11792
11793 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
11794
11795 2022-01-19 Martin Liska <mliska@suse.cz>
11796
11797 * configure.ac: Remove -Wno-error=format-diag.
11798 * configure: Regenerate.
11799
11800 2022-01-19 Martin Liska <mliska@suse.cz>
11801
11802 * config/riscv/riscv.cc (riscv_handle_type_attribute):
11803 Update one -Wformat-diag string in warning message.
11804
11805 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11806
11807 PR middle-end/104103
11808 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
11809 .ASAN_MARK calls.
11810
11811 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11812
11813 PR c++/89074
11814 * fold-const.cc (address_compare): Consider different STRING_CSTs
11815 with the same lengths that memcmp the same as equal, not different.
11816
11817 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11818
11819 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
11820 {%0}.
11821
11822 2022-01-19 Martin Liska <mliska@suse.cz>
11823 Thomas Schwinge <thomas@codesourcery.com>
11824
11825 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
11826 warning messages.
11827
11828 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
11829
11830 PR target/104090
11831 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
11832 rs6000_cpu.
11833
11834 2022-01-19 Jakub Jelinek <jakub@redhat.com>
11835
11836 PR target/104104
11837 * config/i386/sse.md
11838 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
11839 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
11840 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
11841 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
11842 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
11843 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
11844 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
11845 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
11846 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
11847
11848 2022-01-19 Martin Sebor <msebor@redhat.com>
11849
11850 PR middle-end/104069
11851 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
11852 an unknown result as documented.
11853
11854 2022-01-18 Andrew Pinski <apinski@marvell.com>
11855
11856 * ipa-split.cc (visit_bb): Fix comment before the
11857 warning/error attribute checking code.
11858
11859 2022-01-18 David Faust <david.faust@oracle.com>
11860
11861 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
11862 for base strtab offset yet as it may change.
11863 (output_asm_btfext_core_reloc): Do so here instead.
11864 (output_btfext_core_sections): Likewise.
11865
11866 2022-01-18 David Faust <david.faust@oracle.com>
11867
11868 * config/bpf/coreout.cc (output_btfext_header): Account for
11869 4-byte record size in core_relo_len.
11870 (output_btfext_core_sections): Only write record size once.
11871 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
11872 member.
11873
11874 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
11875
11876 * common/config/riscv/riscv-common.cc
11877 (riscv_subset_list::parse_multiletter_ext): Move pointer
11878 arithmetic ahead of `free'.
11879
11880 2022-01-18 Jason Merrill <jason@redhat.com>
11881
11882 PR c++/104007
11883 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
11884 context.
11885
11886 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
11887
11888 PR middle-end/103163
11889 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
11890 (init_emit_once): ...not here.
11891
11892 2022-01-18 Martin Liska <mliska@suse.cz>
11893
11894 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
11895 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
11896 * config/arc/arc.md: Likewise.
11897 * config/avr/avr.cc (avr_section_type_flags): Likewise.
11898 * config/bfin/bfin.cc (bfin_option_override): Likewise.
11899 (bfin_handle_longcall_attribute): Likewise.
11900 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
11901 * config/frv/frv.cc (frv_expand_builtin): Likewise.
11902 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
11903 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
11904 (iq2000_print_operand_address): Likewise.
11905 (iq2000_print_operand): Likewise.
11906 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
11907 (m32c_pragma_address): Likewise.
11908 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
11909 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
11910 (mips_set_compression_mode): Likewise.
11911 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
11912 (mmix_print_operand): Likewise.
11913 (mmix_output_shiftvalue_op_from_str): Likewise.
11914 (mmix_output_shifted_value): Likewise.
11915 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
11916 * config/msp430/msp430.cc (msp430_option_override): Likewise.
11917 (msp430_attr): Likewise.
11918 (msp430_expand_delay_cycles): Likewise.
11919 (msp430_expand_builtin): Likewise.
11920 * config/rs6000/aix73.h: Likewise.
11921 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
11922 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
11923 (valid_psw_flag): Likewise.
11924 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
11925 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
11926 (xstormy16_expand_builtin_va_start): Likewise.
11927 (xstormy16_handle_below100_attribute): Likewise.
11928
11929 2022-01-18 Martin Liska <mliska@suse.cz>
11930
11931 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
11932 warning.
11933 (vms_pragma_standard): Likewise.
11934 (vms_pragma_extern_prefix): Likewise.
11935
11936 2022-01-18 Martin Liska <mliska@suse.cz>
11937
11938 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
11939 (print_operand_address): Likewise.
11940 (xtensa_multibss_section_type_flags): Likewise.
11941
11942 2022-01-18 Martin Liska <mliska@suse.cz>
11943
11944 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
11945 wording of an error message.
11946
11947 2022-01-18 Martin Liska <mliska@suse.cz>
11948
11949 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
11950 warning.
11951 (ghs_pragma_section): Likewise.
11952 (ghs_pragma_interrupt): Likewise.
11953 (ghs_pragma_starttda): Likewise.
11954 (ghs_pragma_startsda): Likewise.
11955 (ghs_pragma_startzda): Likewise.
11956 (ghs_pragma_endtda): Likewise.
11957 (ghs_pragma_endsda): Likewise.
11958 (ghs_pragma_endzda): Likewise.
11959
11960 2022-01-18 Martin Liska <mliska@suse.cz>
11961
11962 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
11963 Fix warnings.
11964 * config/nds32/nds32-intrinsic.md: Likewise.
11965 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
11966 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
11967 (nds32_insert_attributes): Likewise.
11968
11969 2022-01-18 Martin Liska <mliska@suse.cz>
11970
11971 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
11972 keyword.
11973 * config/nvptx/nvptx.md: Remove trailing dot.
11974
11975 2022-01-18 Martin Liska <mliska@suse.cz>
11976
11977 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
11978 Wrap keywords with quotes and remove trailing dots.
11979 (riscv_subset_list::parsing_subset_version): Likewise.
11980 (riscv_subset_list::parse_std_ext): Likewise.
11981 (riscv_subset_list::parse_multiletter_ext): Likewise.
11982 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
11983
11984 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
11985
11986 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
11987 argument suggested_unroll_factor.
11988 (vect_analyze_loop_costing): Likewise.
11989 (_loop_vec_info::_loop_vec_info): Initialize new member
11990 suggested_unroll_factor.
11991 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
11992 main loop use partial vectors.
11993 (vect_analyze_loop_2): Pass and use new argument
11994 suggested_unroll_factor.
11995 (vect_analyze_loop_1): Change to intialize local
11996 suggested_unroll_factor and use it.
11997 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
11998 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
11999 suggested_unroll_factor.
12000 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
12001 (vector_costs::suggested_unroll_factor): New getter function.
12002 (finish_cost): Set return argument suggested_unroll_factor.
12003
12004 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
12005
12006 PR tree-optimization/104038
12007 * doc/invoke.texi (relation-block-limit): New.
12008 * params.opt (relation-block-limit): New.
12009 * value-relation.cc (dom_oracle::register_relation): Check for NULL
12010 record before invoking transitive registery.
12011 (dom_oracle::set_one_relation): Check limit before creating record.
12012 (dom_oracle::register_transitives): Stop when no record created.
12013 * value-relation.h (relation_chain_head::m_num_relations): New.
12014
12015 2022-01-18 Richard Biener <rguenther@suse.de>
12016
12017 PR ipa/103989
12018 * ipa-inline.cc (inline_small_functions): Do not enqueue call
12019 edges originating in functions compiled with -Og.
12020
12021 2022-01-18 Richard Biener <rguenther@suse.de>
12022
12023 PR ipa/103989
12024 * passes.def (pass_all_optimizations_g): Remove pass_modref
12025 and pass_local_pure_const.
12026
12027 2022-01-18 Martin Liska <mliska@suse.cz>
12028
12029 * config/s390/s390.cc: Fix -Wformat-diag warnings.
12030
12031 2022-01-18 Martin Liska <mliska@suse.cz>
12032
12033 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
12034 keyword in quotes.
12035 (s390_resolve_overloaded_builtin): Remove trailing dot.
12036 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
12037 (s390_expand_builtin): Remove trailing dot.
12038 (s390_emit_prologue): Likewise, use semicolon.
12039 (s390_option_override_internal): Update keyword.
12040 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
12041
12042 2022-01-18 Martin Liska <mliska@suse.cz>
12043
12044 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
12045 keywords and use %qs instead of %<%s%>.
12046
12047 2022-01-18 Richard Biener <rguenther@suse.de>
12048
12049 PR tree-optimization/103987
12050 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
12051 query with a pointer check.
12052
12053 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
12054
12055 PR target/104005
12056 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
12057 When using MEM_EXPR, require the base to be a decl.
12058
12059 2022-01-18 Richard Biener <rguenther@suse.de>
12060
12061 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
12062 avoid padding.
12063 * function.h (struct function): Likewise.
12064
12065 2022-01-18 Arnaud Charlet <charlet@adacore.com>
12066
12067 * doc/install.texi: Update prerequisites for GNAT
12068
12069 2022-01-18 Andrew Pinski <apinski@marvell.com>
12070
12071 PR tree-optimization/101941
12072 * ipa-split.cc (visit_bb): Disallow function calls where
12073 the function has either error or warning attribute.
12074
12075 2022-01-18 Richard Biener <rguenther@suse.de>
12076
12077 PR tree-optimization/104064
12078 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
12079 DR_INIT fits in a signed HWI, represent the difference from the
12080 first DR in unsigned.
12081
12082 2022-01-17 Martin Liska <mliska@suse.cz>
12083
12084 * Makefile.in: Rename .c names to .cc.
12085 * config.gcc: Likewise.
12086 * configure: Regenerate. Likewise.
12087 * configure.ac: Likewise.
12088 * gengtype.cc (set_gc_used): Likewise.
12089 (source_dot_c_frul): Likewise.
12090 (source_dot_cc_frul): Likewise.
12091 (struct file_rule_st): Likewise.
12092 (close_output_files): Likewise.
12093 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
12094
12095 2022-01-17 Martin Liska <mliska@suse.cz>
12096
12097 * Makefile.in: Rename .c names to .cc.
12098 * alias.h: Likewise.
12099 * asan.cc: Likewise.
12100 * auto-profile.h: Likewise.
12101 * basic-block.h (struct basic_block_d): Likewise.
12102 * btfout.cc: Likewise.
12103 * builtins.cc (expand_builtin_longjmp): Likewise.
12104 (validate_arg): Likewise.
12105 (access_ref::offset_bounded): Likewise.
12106 * caller-save.cc (reg_restore_code): Likewise.
12107 (setup_save_areas): Likewise.
12108 * calls.cc (initialize_argument_information): Likewise.
12109 (expand_call): Likewise.
12110 (emit_library_call_value_1): Likewise.
12111 * cfg-flags.def (RTL): Likewise.
12112 (SIBCALL): Likewise.
12113 (CAN_FALLTHRU): Likewise.
12114 * cfganal.cc (post_order_compute): Likewise.
12115 * cfgcleanup.cc (try_simplify_condjump): Likewise.
12116 (merge_blocks_move_predecessor_nojumps): Likewise.
12117 (merge_blocks_move_successor_nojumps): Likewise.
12118 (merge_blocks_move): Likewise.
12119 (old_insns_match_p): Likewise.
12120 (try_crossjump_bb): Likewise.
12121 * cfgexpand.cc (expand_gimple_stmt): Likewise.
12122 * cfghooks.cc (split_block_before_cond_jump): Likewise.
12123 (profile_record_check_consistency): Likewise.
12124 * cfghooks.h: Likewise.
12125 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
12126 (rtl_can_merge_blocks): Likewise.
12127 (try_redirect_by_replacing_jump): Likewise.
12128 (make_pass_outof_cfg_layout_mode): Likewise.
12129 (cfg_layout_can_merge_blocks_p): Likewise.
12130 * cgraph.cc (release_function_body): Likewise.
12131 (cgraph_node::get_fun): Likewise.
12132 * cgraph.h (struct cgraph_node): Likewise.
12133 (asmname_hasher::equal): Likewise.
12134 (cgraph_inline_failed_type): Likewise.
12135 (thunk_adjust): Likewise.
12136 (dump_callgraph_transformation): Likewise.
12137 (record_references_in_initializer): Likewise.
12138 (ipa_discover_variable_flags): Likewise.
12139 * cgraphclones.cc (GTY): Likewise.
12140 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
12141 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
12142 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
12143 * collect2.cc (maybe_run_lto_and_relink): Likewise.
12144 * combine-stack-adj.cc: Likewise.
12145 * combine.cc (setup_incoming_promotions): Likewise.
12146 (combine_simplify_rtx): Likewise.
12147 (count_rtxs): Likewise.
12148 * common.opt: Likewise.
12149 * common/config/aarch64/aarch64-common.cc: Likewise.
12150 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
12151 * common/config/avr/avr-common.cc: Likewise.
12152 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
12153 * conditions.h: Likewise.
12154 * config.gcc: Likewise.
12155 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
12156 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
12157 (aarch64_get_extension_string_for_isa_flags): Likewise.
12158 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
12159 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
12160 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
12161 (aarch64_option_valid_attribute_p): Likewise.
12162 (aarch64_short_vector_p): Likewise.
12163 (aarch64_float_const_representable_p): Likewise.
12164 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
12165 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
12166 (GTY): Likewise.
12167 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
12168 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
12169 * config/aarch64/t-aarch64: Likewise.
12170 * config/aarch64/x-aarch64: Likewise.
12171 * config/aarch64/x-darwin: Likewise.
12172 * config/alpha/alpha-protos.h: Likewise.
12173 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
12174 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
12175 (enum reg_class): Likewise.
12176 * config/alpha/alpha.md: Likewise.
12177 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
12178 * config/alpha/x-alpha: Likewise.
12179 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
12180 * config/arc/arc.cc (ARC_OPT): Likewise.
12181 (arc_ccfsm_advance): Likewise.
12182 (arc_arg_partial_bytes): Likewise.
12183 (conditionalize_nonjump): Likewise.
12184 * config/arc/arc.md: Likewise.
12185 * config/arc/builtins.def: Likewise.
12186 * config/arc/t-arc: Likewise.
12187 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
12188 (arm_pragma_target_parse): Likewise.
12189 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
12190 (arm_cpu_cpp_builtins): Likewise.
12191 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
12192 (shift_op): Likewise.
12193 (thumb2_final_prescan_insn): Likewise.
12194 (arm_final_prescan_insn): Likewise.
12195 (arm_asm_output_labelref): Likewise.
12196 (arm_small_register_classes_for_mode_p): Likewise.
12197 * config/arm/arm.h: Likewise.
12198 * config/arm/arm.md: Likewise.
12199 * config/arm/driver-arm.cc: Likewise.
12200 * config/arm/symbian.h: Likewise.
12201 * config/arm/t-arm: Likewise.
12202 * config/arm/thumb1.md: Likewise.
12203 * config/arm/x-arm: Likewise.
12204 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
12205 * config/avr/avr-fixed.md: Likewise.
12206 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
12207 * config/avr/avr-mcus.def: Likewise.
12208 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
12209 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
12210 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
12211 * config/avr/avr.cc (avr_option_override): Likewise.
12212 (avr_build_builtin_va_list): Likewise.
12213 (avr_mode_dependent_address_p): Likewise.
12214 (avr_function_arg_advance): Likewise.
12215 (avr_asm_output_aligned_decl_common): Likewise.
12216 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
12217 (SUPPORTS_INIT_PRIORITY): Likewise.
12218 * config/avr/avr.md: Likewise.
12219 * config/avr/builtins.def: Likewise.
12220 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
12221 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
12222 (main): Likewise.
12223 * config/avr/t-avr: Likewise.
12224 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
12225 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
12226 * config/bpf/bpf.h (enum reg_class): Likewise.
12227 * config/bpf/t-bpf: Likewise.
12228 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
12229 * config/cr16/cr16-protos.h: Likewise.
12230 * config/cris/cris.cc (cris_address_cost): Likewise.
12231 (cris_side_effect_mode_ok): Likewise.
12232 (cris_init_machine_status): Likewise.
12233 (cris_emit_movem_store): Likewise.
12234 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
12235 (enum reg_class): Likewise.
12236 (struct cum_args): Likewise.
12237 * config/cris/cris.opt: Likewise.
12238 * config/cris/sync.md: Likewise.
12239 * config/csky/csky.cc (csky_expand_prologue): Likewise.
12240 * config/darwin-c.cc: Likewise.
12241 * config/darwin-f.cc: Likewise.
12242 * config/darwin-sections.def (zobj_const_section): Likewise.
12243 * config/darwin.cc (output_objc_section_asm_op): Likewise.
12244 (fprintf): Likewise.
12245 * config/darwin.h (GTY): Likewise.
12246 * config/elfos.h: Likewise.
12247 * config/epiphany/epiphany-sched.md: Likewise.
12248 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
12249 * config/epiphany/epiphany.h (GTY): Likewise.
12250 (NO_FUNCTION_CSE): Likewise.
12251 * config/epiphany/mode-switch-use.cc: Likewise.
12252 * config/epiphany/predicates.md: Likewise.
12253 * config/epiphany/t-epiphany: Likewise.
12254 * config/fr30/fr30-protos.h: Likewise.
12255 * config/frv/frv-protos.h: Likewise.
12256 * config/frv/frv.cc (TLS_BIAS): Likewise.
12257 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
12258 * config/ft32/ft32-protos.h: Likewise.
12259 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
12260 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
12261 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
12262 * config/gcn/t-gcn-hsa: Likewise.
12263 * config/gcn/t-omp-device: Likewise.
12264 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
12265 (same_cmp_following_p): Likewise.
12266 * config/h8300/h8300.cc (F): Likewise.
12267 * config/h8300/h8300.h (struct cum_arg): Likewise.
12268 (BRANCH_COST): Likewise.
12269 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
12270 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
12271 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
12272 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
12273 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
12274 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
12275 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
12276 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
12277 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
12278 (ix86_register_pragmas): Likewise.
12279 (ix86_d_has_stdcall_convention): Likewise.
12280 (i386_pe_seh_init_sections): Likewise.
12281 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
12282 (ix86_function_value_regno_p): Likewise.
12283 (ix86_compute_frame_layout): Likewise.
12284 (legitimize_pe_coff_symbol): Likewise.
12285 (output_pic_addr_const): Likewise.
12286 * config/i386/i386.h (defined): Likewise.
12287 (host_detect_local_cpu): Likewise.
12288 (CONSTANT_ADDRESS_P): Likewise.
12289 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
12290 (struct machine_frame_state): Likewise.
12291 * config/i386/i386.md: Likewise.
12292 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
12293 * config/i386/mmx.md: Likewise.
12294 * config/i386/sse.md: Likewise.
12295 * config/i386/t-cygming: Likewise.
12296 * config/i386/t-djgpp: Likewise.
12297 * config/i386/t-gnu-property: Likewise.
12298 * config/i386/t-i386: Likewise.
12299 * config/i386/t-intelmic: Likewise.
12300 * config/i386/t-omp-device: Likewise.
12301 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
12302 (i386_pe_adjust_class_at_definition): Likewise.
12303 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
12304 (i386_pe_mangle_decl_assembler_name): Likewise.
12305 (i386_pe_encode_section_info): Likewise.
12306 * config/i386/x-cygwin: Likewise.
12307 * config/i386/x-darwin: Likewise.
12308 * config/i386/x-i386: Likewise.
12309 * config/i386/x-mingw32: Likewise.
12310 * config/i386/x86-tune-sched-core.cc: Likewise.
12311 * config/i386/x86-tune.def: Likewise.
12312 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
12313 * config/ia64/freebsd.h: Likewise.
12314 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
12315 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
12316 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
12317 (ia64_secondary_reload_class): Likewise.
12318 (bundling): Likewise.
12319 * config/ia64/ia64.h: Likewise.
12320 * config/ia64/ia64.md: Likewise.
12321 * config/ia64/predicates.md: Likewise.
12322 * config/ia64/sysv4.h: Likewise.
12323 * config/ia64/t-ia64: Likewise.
12324 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
12325 * config/iq2000/iq2000.md: Likewise.
12326 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
12327 (if): Likewise.
12328 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
12329 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
12330 * config/m32c/t-m32c: Likewise.
12331 * config/m32r/m32r-protos.h: Likewise.
12332 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
12333 * config/m32r/m32r.h: Likewise.
12334 * config/m32r/m32r.md: Likewise.
12335 * config/m68k/m68k-isas.def: Likewise.
12336 * config/m68k/m68k-microarchs.def: Likewise.
12337 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
12338 (m68k_epilogue_uses): Likewise.
12339 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
12340 (m68k_sched_adjust_cost): Likewise.
12341 (m68k_sched_md_init): Likewise.
12342 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
12343 (enum m68k_function_kind): Likewise.
12344 * config/m68k/m68k.md: Likewise.
12345 * config/m68k/m68kemb.h: Likewise.
12346 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
12347 * config/mcore/mcore-protos.h: Likewise.
12348 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
12349 (mcore_expand_prolog): Likewise.
12350 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
12351 * config/mcore/mcore.md: Likewise.
12352 * config/microblaze/microblaze-protos.h: Likewise.
12353 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
12354 (microblaze_function_prologue): Likewise.
12355 (microblaze_function_epilogue): Likewise.
12356 (microblaze_select_section): Likewise.
12357 (microblaze_asm_output_mi_thunk): Likewise.
12358 (microblaze_eh_return): Likewise.
12359 * config/microblaze/microblaze.h: Likewise.
12360 * config/microblaze/microblaze.md: Likewise.
12361 * config/microblaze/t-microblaze: Likewise.
12362 * config/mips/driver-native.cc: Likewise.
12363 * config/mips/loongson2ef.md: Likewise.
12364 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
12365 * config/mips/mips.cc (mips_rtx_costs): Likewise.
12366 (mips_output_filename): Likewise.
12367 (mips_output_function_prologue): Likewise.
12368 (mips_output_function_epilogue): Likewise.
12369 (mips_output_mi_thunk): Likewise.
12370 * config/mips/mips.h: Likewise.
12371 * config/mips/mips.md: Likewise.
12372 * config/mips/t-mips: Likewise.
12373 * config/mips/x-native: Likewise.
12374 * config/mmix/mmix-protos.h: Likewise.
12375 * config/mmix/mmix.cc (mmix_option_override): Likewise.
12376 (mmix_dbx_register_number): Likewise.
12377 (mmix_expand_prologue): Likewise.
12378 * config/mmix/mmix.h: Likewise.
12379 * config/mmix/mmix.md: Likewise.
12380 * config/mmix/predicates.md: Likewise.
12381 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
12382 (mn10300_legitimate_pic_operand_p): Likewise.
12383 * config/mn10300/mn10300.h (enum reg_class): Likewise.
12384 (NO_FUNCTION_CSE): Likewise.
12385 * config/moxie/moxie-protos.h: Likewise.
12386 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
12387 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
12388 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
12389 (msp430_incoming_return_addr_rtx): Likewise.
12390 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
12391 * config/msp430/t-msp430: Likewise.
12392 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
12393 (nds32_rtx_costs_size_prefer): Likewise.
12394 (nds32_init_rtx_costs): Likewise.
12395 * config/nds32/nds32-doubleword.md: Likewise.
12396 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
12397 (nds32_builtin_decl): Likewise.
12398 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
12399 (enum nds32_isr_nested_type): Likewise.
12400 (enum reg_class): Likewise.
12401 * config/nds32/predicates.md: Likewise.
12402 * config/nds32/t-nds32: Likewise.
12403 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
12404 * config/nvptx/nvptx-protos.h: Likewise.
12405 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
12406 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12407 * config/nvptx/t-nvptx: Likewise.
12408 * config/nvptx/t-omp-device: Likewise.
12409 * config/pa/elf.h: Likewise.
12410 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
12411 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
12412 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
12413 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
12414 (pa_legitimize_reload_address): Likewise.
12415 (pa_can_use_return_insn): Likewise.
12416 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
12417 (som_output_text_section_asm_op): Likewise.
12418 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
12419 * config/pa/pa.md: Likewise.
12420 * config/pa/som.h: Likewise.
12421 * config/pa/t-pa: Likewise.
12422 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
12423 * config/pdp11/pdp11.h: Likewise.
12424 * config/pdp11/pdp11.md: Likewise.
12425 * config/pdp11/t-pdp11: Likewise.
12426 * config/pru/pru.md: Likewise.
12427 * config/pru/t-pru: Likewise.
12428 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
12429 (riscv_gpr_save_operation_p): Likewise.
12430 (riscv_d_register_target_info): Likewise.
12431 (riscv_init_builtins): Likewise.
12432 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
12433 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
12434 * config/riscv/t-riscv: Likewise.
12435 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
12436 * config/rl78/t-rl78: Likewise.
12437 * config/rs6000/aix.h: Likewise.
12438 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
12439 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
12440 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
12441 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
12442 * config/rs6000/driver-rs6000.cc: Likewise.
12443 * config/rs6000/freebsd.h: Likewise.
12444 * config/rs6000/freebsd64.h: Likewise.
12445 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
12446 * config/rs6000/rbtree.cc: Likewise.
12447 * config/rs6000/rbtree.h: Likewise.
12448 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
12449 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
12450 (rs6000_expand_builtin): Likewise.
12451 (rs6000_init_builtins): Likewise.
12452 * config/rs6000/rs6000-cpus.def: Likewise.
12453 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
12454 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
12455 (quad_address_offset_p): Likewise.
12456 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
12457 (rs6000_emit_epilogue): Likewise.
12458 * config/rs6000/rs6000-overload.def: Likewise.
12459 * config/rs6000/rs6000-p8swap.cc: Likewise.
12460 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
12461 (rs6000_const_f32_to_i32): Likewise.
12462 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
12463 (rs6000_debug_legitimize_address): Likewise.
12464 (rs6000_mode_dependent_address): Likewise.
12465 (rs6000_adjust_priority): Likewise.
12466 (rs6000_c_mode_for_suffix): Likewise.
12467 * config/rs6000/rs6000.h (defined): Likewise.
12468 (LONG_DOUBLE_TYPE_SIZE): Likewise.
12469 * config/rs6000/rs6000.md: Likewise.
12470 * config/rs6000/sysv4.h: Likewise.
12471 * config/rs6000/t-linux: Likewise.
12472 * config/rs6000/t-linux64: Likewise.
12473 * config/rs6000/t-rs6000: Likewise.
12474 * config/rs6000/x-darwin: Likewise.
12475 * config/rs6000/x-darwin64: Likewise.
12476 * config/rs6000/x-rs6000: Likewise.
12477 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
12478 * config/rx/rx.cc (rx_expand_builtin): Likewise.
12479 * config/s390/constraints.md: Likewise.
12480 * config/s390/driver-native.cc: Likewise.
12481 * config/s390/htmxlintrin.h: Likewise.
12482 * config/s390/s390-builtins.def (B_DEF): Likewise.
12483 (OB_DEF_VAR): Likewise.
12484 * config/s390/s390-builtins.h: Likewise.
12485 * config/s390/s390-c.cc: Likewise.
12486 * config/s390/s390-opts.h: Likewise.
12487 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
12488 (s390_register_target_pragmas): Likewise.
12489 * config/s390/s390.cc (s390_init_builtins): Likewise.
12490 (s390_expand_plus_operand): Likewise.
12491 (s390_expand_atomic): Likewise.
12492 (s390_valid_target_attribute_inner_p): Likewise.
12493 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
12494 * config/s390/s390.md: Likewise.
12495 * config/s390/t-s390: Likewise.
12496 * config/s390/vx-builtins.md: Likewise.
12497 * config/s390/x-native: Likewise.
12498 * config/sh/divtab-sh4-300.cc (main): Likewise.
12499 * config/sh/divtab-sh4.cc (main): Likewise.
12500 * config/sh/divtab.cc (main): Likewise.
12501 * config/sh/elf.h: Likewise.
12502 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
12503 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
12504 (sh_struct_value_rtx): Likewise.
12505 (sh_remove_reg_dead_or_unused_notes): Likewise.
12506 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
12507 * config/sh/t-sh: Likewise.
12508 * config/sol2-protos.h (solaris_override_options): Likewise.
12509 * config/sol2.h: Likewise.
12510 * config/sparc/driver-sparc.cc: Likewise.
12511 * config/sparc/freebsd.h: Likewise.
12512 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
12513 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
12514 (sparc_asan_shadow_offset): Likewise.
12515 * config/sparc/sparc.h: Likewise.
12516 * config/sparc/sparc.md: Likewise.
12517 * config/sparc/t-sparc: Likewise.
12518 * config/sparc/x-sparc: Likewise.
12519 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
12520 * config/t-darwin: Likewise.
12521 * config/t-dragonfly: Likewise.
12522 * config/t-freebsd: Likewise.
12523 * config/t-glibc: Likewise.
12524 * config/t-linux: Likewise.
12525 * config/t-netbsd: Likewise.
12526 * config/t-openbsd: Likewise.
12527 * config/t-pnt16-warn: Likewise.
12528 * config/t-sol2: Likewise.
12529 * config/t-vxworks: Likewise.
12530 * config/t-winnt: Likewise.
12531 * config/tilegx/t-tilegx: Likewise.
12532 * config/tilegx/tilegx-c.cc: Likewise.
12533 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
12534 * config/tilegx/tilegx.md: Likewise.
12535 * config/tilepro/t-tilepro: Likewise.
12536 * config/tilepro/tilepro-c.cc: Likewise.
12537 * config/v850/t-v850: Likewise.
12538 * config/v850/v850-protos.h: Likewise.
12539 * config/v850/v850.cc (F): Likewise.
12540 * config/v850/v850.h (enum reg_class): Likewise.
12541 (SLOW_BYTE_ACCESS): Likewise.
12542 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
12543 * config/vax/vax.h (enum reg_class): Likewise.
12544 * config/vax/vax.md: Likewise.
12545 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
12546 * config/visium/visium.h: Likewise.
12547 * config/vms/t-vms: Likewise.
12548 * config/vms/vms-crtlmap.map: Likewise.
12549 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
12550 * config/vx-common.h: Likewise.
12551 * config/x-darwin: Likewise.
12552 * config/x-hpux: Likewise.
12553 * config/x-linux: Likewise.
12554 * config/x-netbsd: Likewise.
12555 * config/x-openbsd: Likewise.
12556 * config/x-solaris: Likewise.
12557 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
12558 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
12559 * config/xtensa/xtensa.h: Likewise.
12560 * configure.ac: Likewise.
12561 * context.cc: Likewise.
12562 * convert.h: Likewise.
12563 * coretypes.h: Likewise.
12564 * coverage.cc: Likewise.
12565 * coverage.h: Likewise.
12566 * cppdefault.h (struct default_include): Likewise.
12567 * cprop.cc (local_cprop_pass): Likewise.
12568 (one_cprop_pass): Likewise.
12569 * cse.cc (hash_rtx_cb): Likewise.
12570 (fold_rtx): Likewise.
12571 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
12572 * data-streamer.h (bp_unpack_var_len_int): Likewise.
12573 (streamer_write_widest_int): Likewise.
12574 * dbgcnt.def: Likewise.
12575 * dbxout.cc (dbxout_early_global_decl): Likewise.
12576 (dbxout_common_check): Likewise.
12577 * dbxout.h: Likewise.
12578 * debug.h (struct gcc_debug_hooks): Likewise.
12579 (dump_go_spec_init): Likewise.
12580 * df-core.cc: Likewise.
12581 * df-scan.cc (df_insn_info_delete): Likewise.
12582 (df_insn_delete): Likewise.
12583 * df.h (debug_df_chain): Likewise.
12584 (can_move_insns_across): Likewise.
12585 * dfp.cc (decimal_from_binary): Likewise.
12586 * diagnostic-color.cc: Likewise.
12587 * diagnostic-event-id.h: Likewise.
12588 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
12589 * diagnostic.cc (bt_callback): Likewise.
12590 (num_digits): Likewise.
12591 * doc/avr-mmcu.texi: Likewise.
12592 * doc/cfg.texi: Likewise.
12593 * doc/contrib.texi: Likewise.
12594 * doc/cppinternals.texi: Likewise.
12595 * doc/extend.texi: Likewise.
12596 * doc/generic.texi: Likewise.
12597 * doc/gimple.texi: Likewise.
12598 * doc/gty.texi: Likewise.
12599 * doc/invoke.texi: Likewise.
12600 * doc/loop.texi: Likewise.
12601 * doc/lto.texi: Likewise.
12602 * doc/match-and-simplify.texi: Likewise.
12603 * doc/md.texi: Likewise.
12604 * doc/optinfo.texi: Likewise.
12605 * doc/options.texi: Likewise.
12606 * doc/passes.texi: Likewise.
12607 * doc/plugins.texi: Likewise.
12608 * doc/rtl.texi: Likewise.
12609 * doc/sourcebuild.texi: Likewise.
12610 * doc/tm.texi: Likewise.
12611 * doc/tm.texi.in: Likewise.
12612 * doc/tree-ssa.texi: Likewise.
12613 * dojump.cc (do_jump): Likewise.
12614 * dojump.h: Likewise.
12615 * dumpfile.cc (test_impl_location): Likewise.
12616 (test_capture_of_dump_calls): Likewise.
12617 * dumpfile.h (enum dump_kind): Likewise.
12618 (class dump_location_t): Likewise.
12619 (dump_enabled_p): Likewise.
12620 (enable_rtl_dump_file): Likewise.
12621 (dump_combine_total_stats): Likewise.
12622 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
12623 * dwarf2ctf.h (ctf_debug_finish): Likewise.
12624 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
12625 (struct loc_descr_context): Likewise.
12626 (rtl_for_decl_location): Likewise.
12627 (gen_subprogram_die): Likewise.
12628 (gen_label_die): Likewise.
12629 (is_trivial_indirect_ref): Likewise.
12630 (dwarf2out_late_global_decl): Likewise.
12631 (dwarf_file_hasher::hash): Likewise.
12632 (dwarf2out_end_source_file): Likewise.
12633 (dwarf2out_define): Likewise.
12634 (dwarf2out_early_finish): Likewise.
12635 * dwarf2out.h (struct dw_fde_node): Likewise.
12636 (struct dw_discr_list_node): Likewise.
12637 (output_loc_sequence_raw): Likewise.
12638 * emit-rtl.cc (gen_raw_REG): Likewise.
12639 (maybe_set_max_label_num): Likewise.
12640 * emit-rtl.h (struct rtl_data): Likewise.
12641 * errors.cc (internal_error): Likewise.
12642 (trim_filename): Likewise.
12643 * et-forest.cc: Likewise.
12644 * except.cc (init_eh_for_function): Likewise.
12645 * explow.cc (promote_ssa_mode): Likewise.
12646 (get_dynamic_stack_size): Likewise.
12647 * explow.h: Likewise.
12648 * expmed.h: Likewise.
12649 * expr.cc (safe_from_p): Likewise.
12650 (expand_expr_real_2): Likewise.
12651 (expand_expr_real_1): Likewise.
12652 * file-prefix-map.cc (remap_filename): Likewise.
12653 * final.cc (app_enable): Likewise.
12654 (make_pass_compute_alignments): Likewise.
12655 (final_scan_insn_1): Likewise.
12656 (final_scan_insn): Likewise.
12657 * fixed-value.h (fixed_from_string): Likewise.
12658 * flag-types.h (NO_DEBUG): Likewise.
12659 (DWARF2_DEBUG): Likewise.
12660 (VMS_DEBUG): Likewise.
12661 (BTF_DEBUG): Likewise.
12662 (enum ctf_debug_info_levels): Likewise.
12663 * fold-const.cc (const_binop): Likewise.
12664 (fold_binary_loc): Likewise.
12665 (fold_checksum_tree): Likewise.
12666 * fp-test.cc: Likewise.
12667 * function.cc (expand_function_end): Likewise.
12668 * function.h (struct function): Likewise.
12669 * fwprop.cc (should_replace_address): Likewise.
12670 * gcc-main.cc: Likewise.
12671 * gcc-rich-location.h (class gcc_rich_location): Likewise.
12672 * gcc-symtab.h: Likewise.
12673 * gcc.cc (MIN_FATAL_STATUS): Likewise.
12674 (driver_handle_option): Likewise.
12675 (quote_spec_arg): Likewise.
12676 (driver::finalize): Likewise.
12677 * gcc.h (set_input): Likewise.
12678 * gcov-dump.cc: Likewise.
12679 * gcov.cc (solve_flow_graph): Likewise.
12680 * gcse-common.cc: Likewise.
12681 * gcse.cc (make_pass_rtl_hoist): Likewise.
12682 * genattr-common.cc: Likewise.
12683 * genattrtab.cc (min_fn): Likewise.
12684 (write_const_num_delay_slots): Likewise.
12685 * genautomata.cc: Likewise.
12686 * genconditions.cc (write_one_condition): Likewise.
12687 * genconstants.cc: Likewise.
12688 * genemit.cc (gen_exp): Likewise.
12689 * generic-match-head.cc: Likewise.
12690 * genextract.cc: Likewise.
12691 * gengenrtl.cc (always_void_p): Likewise.
12692 * gengtype-parse.cc (gtymarker_opt): Likewise.
12693 * gengtype-state.cc (state_writer::state_writer): Likewise.
12694 (write_state_trailer): Likewise.
12695 (equals_type_number): Likewise.
12696 (read_state): Likewise.
12697 * gengtype.cc (open_base_files): Likewise.
12698 (struct file_rule_st): Likewise.
12699 (header_dot_h_frul): Likewise.
12700 * gengtype.h: Likewise.
12701 * genmatch.cc (main): Likewise.
12702 * genmddeps.cc: Likewise.
12703 * genmodes.cc (emit_mode_inner): Likewise.
12704 (emit_mode_unit_size): Likewise.
12705 * genpeep.cc (gen_peephole): Likewise.
12706 * genpreds.cc (write_tm_preds_h): Likewise.
12707 * genrecog.cc (validate_pattern): Likewise.
12708 (write_header): Likewise.
12709 (main): Likewise.
12710 * gensupport.cc (change_subst_attribute): Likewise.
12711 (traverse_c_tests): Likewise.
12712 (add_predicate): Likewise.
12713 (init_predicate_table): Likewise.
12714 * gensupport.h (struct optab_pattern): Likewise.
12715 (get_num_insn_codes): Likewise.
12716 (maybe_eval_c_test): Likewise.
12717 (struct pred_data): Likewise.
12718 * ggc-internal.h: Likewise.
12719 * gimple-fold.cc (maybe_fold_reference): Likewise.
12720 (get_range_strlen_tree): Likewise.
12721 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
12722 * gimple-low.cc: Likewise.
12723 * gimple-match-head.cc (directly_supported_p): Likewise.
12724 * gimple-pretty-print.h: Likewise.
12725 * gimple-ssa-sprintf.cc (format_percent): Likewise.
12726 (adjust_range_for_overflow): Likewise.
12727 * gimple-streamer.h: Likewise.
12728 * gimple.h (struct GTY): Likewise.
12729 (is_gimple_resx): Likewise.
12730 * gimplify.cc (gimplify_expr): Likewise.
12731 (gimplify_init_constructor): Likewise.
12732 (omp_construct_selector_matches): Likewise.
12733 (gimplify_omp_target_update): Likewise.
12734 (gimplify_omp_ordered): Likewise.
12735 (gimplify_va_arg_expr): Likewise.
12736 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
12737 * haifa-sched.cc (increase_insn_priority): Likewise.
12738 (try_ready): Likewise.
12739 (sched_create_recovery_edges): Likewise.
12740 * ifcvt.cc (find_if_case_1): Likewise.
12741 (find_if_case_2): Likewise.
12742 * inchash.h: Likewise.
12743 * incpath.cc (add_env_var_paths): Likewise.
12744 * input.cc (dump_location_info): Likewise.
12745 (assert_loceq): Likewise.
12746 (test_lexer_string_locations_concatenation_1): Likewise.
12747 (test_lexer_string_locations_concatenation_2): Likewise.
12748 (test_lexer_string_locations_concatenation_3): Likewise.
12749 * input.h (BUILTINS_LOCATION): Likewise.
12750 (class string_concat_db): Likewise.
12751 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
12752 (expand_LOOP_VECTORIZED): Likewise.
12753 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
12754 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
12755 (ipa_fn_summary_t::duplicate): Likewise.
12756 (make_pass_ipa_fn_summary): Likewise.
12757 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
12758 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
12759 (free_lang_data_in_decl): Likewise.
12760 * ipa-inline.cc (compute_inlined_call_time): Likewise.
12761 (inline_always_inline_functions): Likewise.
12762 * ipa-inline.h (free_growth_caches): Likewise.
12763 (inline_account_function_p): Likewise.
12764 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
12765 (modref_eaf_analysis::analyze_ssa_name): Likewise.
12766 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
12767 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
12768 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
12769 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
12770 (unadjusted_ptr_and_unit_offset): Likewise.
12771 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
12772 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
12773 * ipa-split.cc (consider_split): Likewise.
12774 * ipa-sra.cc (isra_read_node_info): Likewise.
12775 * ipa-utils.h (struct ipa_dfs_info): Likewise.
12776 (recursive_call_p): Likewise.
12777 (ipa_make_function_pure): Likewise.
12778 * ira-build.cc (ira_create_allocno): Likewise.
12779 (ira_flattening): Likewise.
12780 * ira-color.cc (do_coloring): Likewise.
12781 (update_curr_costs): Likewise.
12782 * ira-conflicts.cc (process_regs_for_copy): Likewise.
12783 * ira-int.h (struct ira_emit_data): Likewise.
12784 (ira_prohibited_mode_move_regs): Likewise.
12785 (ira_get_dup_out_num): Likewise.
12786 (ira_destroy): Likewise.
12787 (ira_tune_allocno_costs): Likewise.
12788 (ira_implicitly_set_insn_hard_regs): Likewise.
12789 (ira_build_conflicts): Likewise.
12790 (ira_color): Likewise.
12791 * ira-lives.cc (process_bb_node_lives): Likewise.
12792 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
12793 (setup_uniform_class_p): Likewise.
12794 (def_dominates_uses): Likewise.
12795 * ira.h (ira_nullify_asm_goto): Likewise.
12796 * langhooks.cc (lhd_post_options): Likewise.
12797 * langhooks.h (class substring_loc): Likewise.
12798 (struct lang_hooks_for_tree_inlining): Likewise.
12799 (struct lang_hooks_for_types): Likewise.
12800 (struct lang_hooks): Likewise.
12801 * libfuncs.h (synchronize_libfunc): Likewise.
12802 * loop-doloop.cc (doloop_condition_get): Likewise.
12803 * loop-init.cc (fix_loop_structure): Likewise.
12804 * loop-invariant.cc: Likewise.
12805 * lower-subreg.h: Likewise.
12806 * lra-constraints.cc (curr_insn_transform): Likewise.
12807 * lra-int.h (struct lra_insn_reg): Likewise.
12808 (lra_undo_inheritance): Likewise.
12809 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
12810 (lra_split_hard_reg_for): Likewise.
12811 (lra_coalesce): Likewise.
12812 (lra_final_code_change): Likewise.
12813 * lra-spills.cc (lra_final_code_change): Likewise.
12814 * lra.cc (lra_process_new_insns): Likewise.
12815 * lto-compress.h (struct lto_compression_stream): Likewise.
12816 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
12817 (write_symbol): Likewise.
12818 * lto-streamer.h (enum LTO_tags): Likewise.
12819 (lto_value_range_error): Likewise.
12820 (lto_append_block): Likewise.
12821 (lto_streamer_hooks_init): Likewise.
12822 (stream_read_tree_ref): Likewise.
12823 (lto_prepare_function_for_streaming): Likewise.
12824 (select_what_to_stream): Likewise.
12825 (omp_lto_input_declare_variant_alt): Likewise.
12826 (cl_optimization_stream_in): Likewise.
12827 * lto-wrapper.cc (append_compiler_options): Likewise.
12828 * machmode.def: Likewise.
12829 * machmode.h (struct int_n_data_t): Likewise.
12830 * main.cc (main): Likewise.
12831 * match.pd: Likewise.
12832 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
12833 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
12834 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
12835 (make_pass_expand_omp_ssa): Likewise.
12836 * omp-low.cc (struct omp_context): Likewise.
12837 (struct omp_taskcopy_context): Likewise.
12838 (lower_omp): Likewise.
12839 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
12840 (mask_name): Likewise.
12841 (omp_sese_dump_pars): Likewise.
12842 (worker_single_simple): Likewise.
12843 * omp-offload.cc (omp_finish_file): Likewise.
12844 (execute_oacc_loop_designation): Likewise.
12845 * optabs-query.cc (lshift_cheap_p): Likewise.
12846 * optc-gen.awk: Likewise.
12847 * optc-save-gen.awk: Likewise.
12848 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
12849 * opts-common.cc: Likewise.
12850 * output.h (app_enable): Likewise.
12851 (output_operand_lossage): Likewise.
12852 (insn_current_reference_address): Likewise.
12853 (get_insn_template): Likewise.
12854 (output_quoted_string): Likewise.
12855 * pass_manager.h (struct register_pass_info): Likewise.
12856 * plugin.cc: Likewise.
12857 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
12858 * plugin.h (invoke_plugin_callbacks): Likewise.
12859 * pointer-query.cc (handle_mem_ref): Likewise.
12860 * postreload-gcse.cc (alloc_mem): Likewise.
12861 * predict.h (enum prediction): Likewise.
12862 (add_reg_br_prob_note): Likewise.
12863 * prefix.h: Likewise.
12864 * profile.h (get_working_sets): Likewise.
12865 * read-md.cc: Likewise.
12866 * read-md.h (struct mapping): Likewise.
12867 (class md_reader): Likewise.
12868 (class noop_reader): Likewise.
12869 * read-rtl-function.cc (function_reader::create_function): Likewise.
12870 (function_reader::extra_parsing_for_operand_code_0): Likewise.
12871 * read-rtl.cc (initialize_iterators): Likewise.
12872 * real.cc: Likewise.
12873 * real.h (struct real_value): Likewise.
12874 (format_helper::format_helper): Likewise.
12875 (real_hash): Likewise.
12876 (real_can_shorten_arithmetic): Likewise.
12877 * recog.cc (struct target_recog): Likewise.
12878 (offsettable_nonstrict_memref_p): Likewise.
12879 (constrain_operands): Likewise.
12880 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
12881 (which_op_alt): Likewise.
12882 (struct insn_gen_fn): Likewise.
12883 * reg-notes.def (REG_NOTE): Likewise.
12884 * reg-stack.cc: Likewise.
12885 * regs.h (reg_is_parm_p): Likewise.
12886 * regset.h: Likewise.
12887 * reload.cc (push_reload): Likewise.
12888 (find_reloads): Likewise.
12889 (find_reloads_address_1): Likewise.
12890 (find_replacement): Likewise.
12891 (refers_to_regno_for_reload_p): Likewise.
12892 (refers_to_mem_for_reload_p): Likewise.
12893 * reload.h (push_reload): Likewise.
12894 (deallocate_reload_reg): Likewise.
12895 * reload1.cc (emit_input_reload_insns): Likewise.
12896 * reorg.cc (relax_delay_slots): Likewise.
12897 * rtl.def (UNKNOWN): Likewise.
12898 (SEQUENCE): Likewise.
12899 (BARRIER): Likewise.
12900 (ASM_OPERANDS): Likewise.
12901 (EQ_ATTR_ALT): Likewise.
12902 * rtl.h (struct GTY): Likewise.
12903 (LABEL_NAME): Likewise.
12904 (LABEL_ALT_ENTRY_P): Likewise.
12905 (SUBREG_BYTE): Likewise.
12906 (get_stack_check_protect): Likewise.
12907 (dump_rtx_statistics): Likewise.
12908 (unwrap_const_vec_duplicate): Likewise.
12909 (subreg_promoted_mode): Likewise.
12910 (gen_lowpart_common): Likewise.
12911 (operand_subword): Likewise.
12912 (immed_wide_int_const): Likewise.
12913 (decide_function_section): Likewise.
12914 (active_insn_p): Likewise.
12915 (delete_related_insns): Likewise.
12916 (try_split): Likewise.
12917 (val_signbit_known_clear_p): Likewise.
12918 (simplifiable_subregs): Likewise.
12919 (set_insn_deleted): Likewise.
12920 (subreg_get_info): Likewise.
12921 (remove_free_EXPR_LIST_node): Likewise.
12922 (finish_subregs_of_mode): Likewise.
12923 (get_mem_attrs): Likewise.
12924 (lookup_constant_def): Likewise.
12925 (rtx_to_tree_code): Likewise.
12926 (hash_rtx): Likewise.
12927 (condjump_in_parallel_p): Likewise.
12928 (validate_subreg): Likewise.
12929 (make_compound_operation): Likewise.
12930 (schedule_ebbs): Likewise.
12931 (print_inline_rtx): Likewise.
12932 (fixup_args_size_notes): Likewise.
12933 (expand_dec): Likewise.
12934 (prepare_copy_insn): Likewise.
12935 (mark_elimination): Likewise.
12936 (valid_mode_changes_for_regno): Likewise.
12937 (make_debug_expr_from_rtl): Likewise.
12938 (delete_vta_debug_insns): Likewise.
12939 (simplify_using_condition): Likewise.
12940 (set_insn_locations): Likewise.
12941 (fatal_insn_not_found): Likewise.
12942 (word_register_operation_p): Likewise.
12943 * rtlanal.cc (get_call_fndecl): Likewise.
12944 (side_effects_p): Likewise.
12945 (subreg_nregs): Likewise.
12946 (rtx_cost): Likewise.
12947 (canonicalize_condition): Likewise.
12948 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
12949 * run-rtl-passes.cc (run_rtl_passes): Likewise.
12950 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
12951 * sched-deps.cc (add_dependence_1): Likewise.
12952 * sched-ebb.cc (begin_move_insn): Likewise.
12953 (add_deps_for_risky_insns): Likewise.
12954 (advance_target_bb): Likewise.
12955 * sched-int.h (reemit_notes): Likewise.
12956 (struct _haifa_insn_data): Likewise.
12957 (HID): Likewise.
12958 (DEP_CANCELLED): Likewise.
12959 (debug_ds): Likewise.
12960 (number_in_ready): Likewise.
12961 (schedule_ebbs_finish): Likewise.
12962 (find_modifiable_mems): Likewise.
12963 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
12964 * sel-sched-dump.cc (dump_lv_set): Likewise.
12965 * sel-sched-dump.h: Likewise.
12966 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
12967 (setup_id_reg_sets): Likewise.
12968 (has_dependence_p): Likewise.
12969 (sel_num_cfg_preds_gt_1): Likewise.
12970 (bb_ends_ebb_p): Likewise.
12971 * sel-sched-ir.h (struct _list_node): Likewise.
12972 (struct idata_def): Likewise.
12973 (bb_next_bb): Likewise.
12974 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
12975 (choose_best_pseudo_reg): Likewise.
12976 (verify_target_availability): Likewise.
12977 (can_speculate_dep_p): Likewise.
12978 (sel_rank_for_schedule): Likewise.
12979 * selftest-run-tests.cc (selftest::run_tests): Likewise.
12980 * selftest.h (class auto_fix_quotes): Likewise.
12981 * shrink-wrap.cc (handle_simple_exit): Likewise.
12982 * shrink-wrap.h: Likewise.
12983 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
12984 (simplify_context::simplify_gen_vec_select): Likewise.
12985 * spellcheck-tree.h: Likewise.
12986 * spellcheck.h: Likewise.
12987 * statistics.h (struct function): Likewise.
12988 * stmt.cc (conditional_probability): Likewise.
12989 * stmt.h: Likewise.
12990 * stor-layout.h: Likewise.
12991 * streamer-hooks.h: Likewise.
12992 * stringpool.h: Likewise.
12993 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
12994 * target.def (HOOK_VECTOR_END): Likewise.
12995 (type.): Likewise.
12996 * target.h (union cumulative_args_t): Likewise.
12997 (by_pieces_ninsns): Likewise.
12998 (class predefined_function_abi): Likewise.
12999 * targhooks.cc (default_translate_mode_attribute): Likewise.
13000 * timevar.def: Likewise.
13001 * timevar.h (class timer): Likewise.
13002 * toplev.h (enable_rtl_dump_file): Likewise.
13003 * trans-mem.cc (collect_bb2reg): Likewise.
13004 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
13005 * tree-cfg.cc (remove_bb): Likewise.
13006 (verify_gimple_debug): Likewise.
13007 (remove_edge_and_dominated_blocks): Likewise.
13008 (push_fndecl): Likewise.
13009 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
13010 * tree-complex.cc (expand_complex_multiplication): Likewise.
13011 (expand_complex_div_straight): Likewise.
13012 * tree-core.h (enum tree_index): Likewise.
13013 (enum operand_equal_flag): Likewise.
13014 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
13015 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
13016 * tree-inline.cc (initialize_inlined_parameters): Likewise.
13017 * tree-inline.h (force_value_to_type): Likewise.
13018 * tree-nested.cc (get_chain_decl): Likewise.
13019 (walk_all_functions): Likewise.
13020 * tree-object-size.h: Likewise.
13021 * tree-outof-ssa.cc: Likewise.
13022 * tree-parloops.cc (create_parallel_loop): Likewise.
13023 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
13024 (dump_generic_node): Likewise.
13025 * tree-profile.cc (tree_profiling): Likewise.
13026 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
13027 * tree-ssa-address.cc: Likewise.
13028 * tree-ssa-alias.cc: Likewise.
13029 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
13030 (dump_alias_stats): Likewise.
13031 * tree-ssa-ccp.cc: Likewise.
13032 * tree-ssa-coalesce.h: Likewise.
13033 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
13034 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
13035 * tree-ssa-loop-unswitch.cc: Likewise.
13036 * tree-ssa-math-opts.cc: Likewise.
13037 * tree-ssa-operands.cc (class operands_scanner): Likewise.
13038 * tree-ssa-pre.cc: Likewise.
13039 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
13040 (debug_range_entry): Likewise.
13041 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
13042 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
13043 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
13044 (equal_mem_array_ref_p): Likewise.
13045 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
13046 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
13047 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
13048 * tree-ssa-ter.h: Likewise.
13049 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
13050 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
13051 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
13052 (write_ts_block_tree_pointers): Likewise.
13053 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
13054 (streamer_read_tree_bitfields): Likewise.
13055 (streamer_write_integer_cst): Likewise.
13056 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
13057 (vect_synth_mult_by_constant): Likewise.
13058 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
13059 * tree-vectorizer.cc: Likewise.
13060 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
13061 (vect_update_inits_of_drs): Likewise.
13062 (vect_get_mask_type_for_stmt): Likewise.
13063 (vect_rgroup_iv_might_wrap_p): Likewise.
13064 (cse_and_gimplify_to_preheader): Likewise.
13065 (vect_free_slp_tree): Likewise.
13066 (vect_pattern_recog): Likewise.
13067 (vect_stmt_dominates_stmt_p): Likewise.
13068 * tree.cc (initialize_tree_contains_struct): Likewise.
13069 (need_assembler_name_p): Likewise.
13070 (type_with_interoperable_signedness): Likewise.
13071 * tree.def (SWITCH_EXPR): Likewise.
13072 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
13073 (poly_int_tree_p): Likewise.
13074 (inlined_function_outer_scope_p): Likewise.
13075 (tree_code_for_canonical_type_merging): Likewise.
13076 * value-prof.cc: Likewise.
13077 * value-prof.h (get_nth_most_common_value): Likewise.
13078 (find_func_by_profile_id): Likewise.
13079 * value-range.cc (vrp_operand_equal_p): Likewise.
13080 * value-range.h: Likewise.
13081 * var-tracking.cc: Likewise.
13082 * varasm.cc (default_function_section): Likewise.
13083 (function_section_1): Likewise.
13084 (assemble_variable): Likewise.
13085 (handle_vtv_comdat_section): Likewise.
13086 * vec.h (struct vec_prefix): Likewise.
13087 * vmsdbgout.cc (full_name): Likewise.
13088 * vtable-verify.cc: Likewise.
13089 * vtable-verify.h (struct vtv_graph_node): Likewise.
13090 * xcoffout.cc: Likewise.
13091 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
13092
13093 2022-01-17 Martin Liska <mliska@suse.cz>
13094
13095 * adjust-alignment.c: Moved to...
13096 * adjust-alignment.cc: ...here.
13097 * alias.c: Moved to...
13098 * alias.cc: ...here.
13099 * alloc-pool.c: Moved to...
13100 * alloc-pool.cc: ...here.
13101 * asan.c: Moved to...
13102 * asan.cc: ...here.
13103 * attribs.c: Moved to...
13104 * attribs.cc: ...here.
13105 * auto-inc-dec.c: Moved to...
13106 * auto-inc-dec.cc: ...here.
13107 * auto-profile.c: Moved to...
13108 * auto-profile.cc: ...here.
13109 * bb-reorder.c: Moved to...
13110 * bb-reorder.cc: ...here.
13111 * bitmap.c: Moved to...
13112 * bitmap.cc: ...here.
13113 * btfout.c: Moved to...
13114 * btfout.cc: ...here.
13115 * builtins.c: Moved to...
13116 * builtins.cc: ...here.
13117 * caller-save.c: Moved to...
13118 * caller-save.cc: ...here.
13119 * calls.c: Moved to...
13120 * calls.cc: ...here.
13121 * ccmp.c: Moved to...
13122 * ccmp.cc: ...here.
13123 * cfg.c: Moved to...
13124 * cfg.cc: ...here.
13125 * cfganal.c: Moved to...
13126 * cfganal.cc: ...here.
13127 * cfgbuild.c: Moved to...
13128 * cfgbuild.cc: ...here.
13129 * cfgcleanup.c: Moved to...
13130 * cfgcleanup.cc: ...here.
13131 * cfgexpand.c: Moved to...
13132 * cfgexpand.cc: ...here.
13133 * cfghooks.c: Moved to...
13134 * cfghooks.cc: ...here.
13135 * cfgloop.c: Moved to...
13136 * cfgloop.cc: ...here.
13137 * cfgloopanal.c: Moved to...
13138 * cfgloopanal.cc: ...here.
13139 * cfgloopmanip.c: Moved to...
13140 * cfgloopmanip.cc: ...here.
13141 * cfgrtl.c: Moved to...
13142 * cfgrtl.cc: ...here.
13143 * cgraph.c: Moved to...
13144 * cgraph.cc: ...here.
13145 * cgraphbuild.c: Moved to...
13146 * cgraphbuild.cc: ...here.
13147 * cgraphclones.c: Moved to...
13148 * cgraphclones.cc: ...here.
13149 * cgraphunit.c: Moved to...
13150 * cgraphunit.cc: ...here.
13151 * collect-utils.c: Moved to...
13152 * collect-utils.cc: ...here.
13153 * collect2-aix.c: Moved to...
13154 * collect2-aix.cc: ...here.
13155 * collect2.c: Moved to...
13156 * collect2.cc: ...here.
13157 * combine-stack-adj.c: Moved to...
13158 * combine-stack-adj.cc: ...here.
13159 * combine.c: Moved to...
13160 * combine.cc: ...here.
13161 * common/common-targhooks.c: Moved to...
13162 * common/common-targhooks.cc: ...here.
13163 * common/config/aarch64/aarch64-common.c: Moved to...
13164 * common/config/aarch64/aarch64-common.cc: ...here.
13165 * common/config/alpha/alpha-common.c: Moved to...
13166 * common/config/alpha/alpha-common.cc: ...here.
13167 * common/config/arc/arc-common.c: Moved to...
13168 * common/config/arc/arc-common.cc: ...here.
13169 * common/config/arm/arm-common.c: Moved to...
13170 * common/config/arm/arm-common.cc: ...here.
13171 * common/config/avr/avr-common.c: Moved to...
13172 * common/config/avr/avr-common.cc: ...here.
13173 * common/config/bfin/bfin-common.c: Moved to...
13174 * common/config/bfin/bfin-common.cc: ...here.
13175 * common/config/bpf/bpf-common.c: Moved to...
13176 * common/config/bpf/bpf-common.cc: ...here.
13177 * common/config/c6x/c6x-common.c: Moved to...
13178 * common/config/c6x/c6x-common.cc: ...here.
13179 * common/config/cr16/cr16-common.c: Moved to...
13180 * common/config/cr16/cr16-common.cc: ...here.
13181 * common/config/cris/cris-common.c: Moved to...
13182 * common/config/cris/cris-common.cc: ...here.
13183 * common/config/csky/csky-common.c: Moved to...
13184 * common/config/csky/csky-common.cc: ...here.
13185 * common/config/default-common.c: Moved to...
13186 * common/config/default-common.cc: ...here.
13187 * common/config/epiphany/epiphany-common.c: Moved to...
13188 * common/config/epiphany/epiphany-common.cc: ...here.
13189 * common/config/fr30/fr30-common.c: Moved to...
13190 * common/config/fr30/fr30-common.cc: ...here.
13191 * common/config/frv/frv-common.c: Moved to...
13192 * common/config/frv/frv-common.cc: ...here.
13193 * common/config/gcn/gcn-common.c: Moved to...
13194 * common/config/gcn/gcn-common.cc: ...here.
13195 * common/config/h8300/h8300-common.c: Moved to...
13196 * common/config/h8300/h8300-common.cc: ...here.
13197 * common/config/i386/i386-common.c: Moved to...
13198 * common/config/i386/i386-common.cc: ...here.
13199 * common/config/ia64/ia64-common.c: Moved to...
13200 * common/config/ia64/ia64-common.cc: ...here.
13201 * common/config/iq2000/iq2000-common.c: Moved to...
13202 * common/config/iq2000/iq2000-common.cc: ...here.
13203 * common/config/lm32/lm32-common.c: Moved to...
13204 * common/config/lm32/lm32-common.cc: ...here.
13205 * common/config/m32r/m32r-common.c: Moved to...
13206 * common/config/m32r/m32r-common.cc: ...here.
13207 * common/config/m68k/m68k-common.c: Moved to...
13208 * common/config/m68k/m68k-common.cc: ...here.
13209 * common/config/mcore/mcore-common.c: Moved to...
13210 * common/config/mcore/mcore-common.cc: ...here.
13211 * common/config/microblaze/microblaze-common.c: Moved to...
13212 * common/config/microblaze/microblaze-common.cc: ...here.
13213 * common/config/mips/mips-common.c: Moved to...
13214 * common/config/mips/mips-common.cc: ...here.
13215 * common/config/mmix/mmix-common.c: Moved to...
13216 * common/config/mmix/mmix-common.cc: ...here.
13217 * common/config/mn10300/mn10300-common.c: Moved to...
13218 * common/config/mn10300/mn10300-common.cc: ...here.
13219 * common/config/msp430/msp430-common.c: Moved to...
13220 * common/config/msp430/msp430-common.cc: ...here.
13221 * common/config/nds32/nds32-common.c: Moved to...
13222 * common/config/nds32/nds32-common.cc: ...here.
13223 * common/config/nios2/nios2-common.c: Moved to...
13224 * common/config/nios2/nios2-common.cc: ...here.
13225 * common/config/nvptx/nvptx-common.c: Moved to...
13226 * common/config/nvptx/nvptx-common.cc: ...here.
13227 * common/config/or1k/or1k-common.c: Moved to...
13228 * common/config/or1k/or1k-common.cc: ...here.
13229 * common/config/pa/pa-common.c: Moved to...
13230 * common/config/pa/pa-common.cc: ...here.
13231 * common/config/pdp11/pdp11-common.c: Moved to...
13232 * common/config/pdp11/pdp11-common.cc: ...here.
13233 * common/config/pru/pru-common.c: Moved to...
13234 * common/config/pru/pru-common.cc: ...here.
13235 * common/config/riscv/riscv-common.c: Moved to...
13236 * common/config/riscv/riscv-common.cc: ...here.
13237 * common/config/rs6000/rs6000-common.c: Moved to...
13238 * common/config/rs6000/rs6000-common.cc: ...here.
13239 * common/config/rx/rx-common.c: Moved to...
13240 * common/config/rx/rx-common.cc: ...here.
13241 * common/config/s390/s390-common.c: Moved to...
13242 * common/config/s390/s390-common.cc: ...here.
13243 * common/config/sh/sh-common.c: Moved to...
13244 * common/config/sh/sh-common.cc: ...here.
13245 * common/config/sparc/sparc-common.c: Moved to...
13246 * common/config/sparc/sparc-common.cc: ...here.
13247 * common/config/tilegx/tilegx-common.c: Moved to...
13248 * common/config/tilegx/tilegx-common.cc: ...here.
13249 * common/config/tilepro/tilepro-common.c: Moved to...
13250 * common/config/tilepro/tilepro-common.cc: ...here.
13251 * common/config/v850/v850-common.c: Moved to...
13252 * common/config/v850/v850-common.cc: ...here.
13253 * common/config/vax/vax-common.c: Moved to...
13254 * common/config/vax/vax-common.cc: ...here.
13255 * common/config/visium/visium-common.c: Moved to...
13256 * common/config/visium/visium-common.cc: ...here.
13257 * common/config/xstormy16/xstormy16-common.c: Moved to...
13258 * common/config/xstormy16/xstormy16-common.cc: ...here.
13259 * common/config/xtensa/xtensa-common.c: Moved to...
13260 * common/config/xtensa/xtensa-common.cc: ...here.
13261 * compare-elim.c: Moved to...
13262 * compare-elim.cc: ...here.
13263 * config/aarch64/aarch64-bti-insert.c: Moved to...
13264 * config/aarch64/aarch64-bti-insert.cc: ...here.
13265 * config/aarch64/aarch64-builtins.c: Moved to...
13266 * config/aarch64/aarch64-builtins.cc: ...here.
13267 * config/aarch64/aarch64-c.c: Moved to...
13268 * config/aarch64/aarch64-c.cc: ...here.
13269 * config/aarch64/aarch64-d.c: Moved to...
13270 * config/aarch64/aarch64-d.cc: ...here.
13271 * config/aarch64/aarch64.c: Moved to...
13272 * config/aarch64/aarch64.cc: ...here.
13273 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
13274 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
13275 * config/aarch64/driver-aarch64.c: Moved to...
13276 * config/aarch64/driver-aarch64.cc: ...here.
13277 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
13278 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
13279 * config/aarch64/host-aarch64-darwin.c: Moved to...
13280 * config/aarch64/host-aarch64-darwin.cc: ...here.
13281 * config/alpha/alpha.c: Moved to...
13282 * config/alpha/alpha.cc: ...here.
13283 * config/alpha/driver-alpha.c: Moved to...
13284 * config/alpha/driver-alpha.cc: ...here.
13285 * config/arc/arc-c.c: Moved to...
13286 * config/arc/arc-c.cc: ...here.
13287 * config/arc/arc.c: Moved to...
13288 * config/arc/arc.cc: ...here.
13289 * config/arc/driver-arc.c: Moved to...
13290 * config/arc/driver-arc.cc: ...here.
13291 * config/arm/aarch-common.c: Moved to...
13292 * config/arm/aarch-common.cc: ...here.
13293 * config/arm/arm-builtins.c: Moved to...
13294 * config/arm/arm-builtins.cc: ...here.
13295 * config/arm/arm-c.c: Moved to...
13296 * config/arm/arm-c.cc: ...here.
13297 * config/arm/arm-d.c: Moved to...
13298 * config/arm/arm-d.cc: ...here.
13299 * config/arm/arm.c: Moved to...
13300 * config/arm/arm.cc: ...here.
13301 * config/arm/driver-arm.c: Moved to...
13302 * config/arm/driver-arm.cc: ...here.
13303 * config/avr/avr-c.c: Moved to...
13304 * config/avr/avr-c.cc: ...here.
13305 * config/avr/avr-devices.c: Moved to...
13306 * config/avr/avr-devices.cc: ...here.
13307 * config/avr/avr-log.c: Moved to...
13308 * config/avr/avr-log.cc: ...here.
13309 * config/avr/avr.c: Moved to...
13310 * config/avr/avr.cc: ...here.
13311 * config/avr/driver-avr.c: Moved to...
13312 * config/avr/driver-avr.cc: ...here.
13313 * config/avr/gen-avr-mmcu-specs.c: Moved to...
13314 * config/avr/gen-avr-mmcu-specs.cc: ...here.
13315 * config/avr/gen-avr-mmcu-texi.c: Moved to...
13316 * config/avr/gen-avr-mmcu-texi.cc: ...here.
13317 * config/bfin/bfin.c: Moved to...
13318 * config/bfin/bfin.cc: ...here.
13319 * config/bpf/bpf.c: Moved to...
13320 * config/bpf/bpf.cc: ...here.
13321 * config/bpf/coreout.c: Moved to...
13322 * config/bpf/coreout.cc: ...here.
13323 * config/c6x/c6x.c: Moved to...
13324 * config/c6x/c6x.cc: ...here.
13325 * config/cr16/cr16.c: Moved to...
13326 * config/cr16/cr16.cc: ...here.
13327 * config/cris/cris.c: Moved to...
13328 * config/cris/cris.cc: ...here.
13329 * config/csky/csky.c: Moved to...
13330 * config/csky/csky.cc: ...here.
13331 * config/darwin-c.c: Moved to...
13332 * config/darwin-c.cc: ...here.
13333 * config/darwin-d.c: Moved to...
13334 * config/darwin-d.cc: ...here.
13335 * config/darwin-driver.c: Moved to...
13336 * config/darwin-driver.cc: ...here.
13337 * config/darwin-f.c: Moved to...
13338 * config/darwin-f.cc: ...here.
13339 * config/darwin.c: Moved to...
13340 * config/darwin.cc: ...here.
13341 * config/default-c.c: Moved to...
13342 * config/default-c.cc: ...here.
13343 * config/default-d.c: Moved to...
13344 * config/default-d.cc: ...here.
13345 * config/dragonfly-d.c: Moved to...
13346 * config/dragonfly-d.cc: ...here.
13347 * config/epiphany/epiphany.c: Moved to...
13348 * config/epiphany/epiphany.cc: ...here.
13349 * config/epiphany/mode-switch-use.c: Moved to...
13350 * config/epiphany/mode-switch-use.cc: ...here.
13351 * config/epiphany/resolve-sw-modes.c: Moved to...
13352 * config/epiphany/resolve-sw-modes.cc: ...here.
13353 * config/fr30/fr30.c: Moved to...
13354 * config/fr30/fr30.cc: ...here.
13355 * config/freebsd-d.c: Moved to...
13356 * config/freebsd-d.cc: ...here.
13357 * config/frv/frv.c: Moved to...
13358 * config/frv/frv.cc: ...here.
13359 * config/ft32/ft32.c: Moved to...
13360 * config/ft32/ft32.cc: ...here.
13361 * config/gcn/driver-gcn.c: Moved to...
13362 * config/gcn/driver-gcn.cc: ...here.
13363 * config/gcn/gcn-run.c: Moved to...
13364 * config/gcn/gcn-run.cc: ...here.
13365 * config/gcn/gcn-tree.c: Moved to...
13366 * config/gcn/gcn-tree.cc: ...here.
13367 * config/gcn/gcn.c: Moved to...
13368 * config/gcn/gcn.cc: ...here.
13369 * config/gcn/mkoffload.c: Moved to...
13370 * config/gcn/mkoffload.cc: ...here.
13371 * config/glibc-c.c: Moved to...
13372 * config/glibc-c.cc: ...here.
13373 * config/glibc-d.c: Moved to...
13374 * config/glibc-d.cc: ...here.
13375 * config/h8300/h8300.c: Moved to...
13376 * config/h8300/h8300.cc: ...here.
13377 * config/host-darwin.c: Moved to...
13378 * config/host-darwin.cc: ...here.
13379 * config/host-hpux.c: Moved to...
13380 * config/host-hpux.cc: ...here.
13381 * config/host-linux.c: Moved to...
13382 * config/host-linux.cc: ...here.
13383 * config/host-netbsd.c: Moved to...
13384 * config/host-netbsd.cc: ...here.
13385 * config/host-openbsd.c: Moved to...
13386 * config/host-openbsd.cc: ...here.
13387 * config/host-solaris.c: Moved to...
13388 * config/host-solaris.cc: ...here.
13389 * config/i386/djgpp.c: Moved to...
13390 * config/i386/djgpp.cc: ...here.
13391 * config/i386/driver-i386.c: Moved to...
13392 * config/i386/driver-i386.cc: ...here.
13393 * config/i386/driver-mingw32.c: Moved to...
13394 * config/i386/driver-mingw32.cc: ...here.
13395 * config/i386/gnu-property.c: Moved to...
13396 * config/i386/gnu-property.cc: ...here.
13397 * config/i386/host-cygwin.c: Moved to...
13398 * config/i386/host-cygwin.cc: ...here.
13399 * config/i386/host-i386-darwin.c: Moved to...
13400 * config/i386/host-i386-darwin.cc: ...here.
13401 * config/i386/host-mingw32.c: Moved to...
13402 * config/i386/host-mingw32.cc: ...here.
13403 * config/i386/i386-builtins.c: Moved to...
13404 * config/i386/i386-builtins.cc: ...here.
13405 * config/i386/i386-c.c: Moved to...
13406 * config/i386/i386-c.cc: ...here.
13407 * config/i386/i386-d.c: Moved to...
13408 * config/i386/i386-d.cc: ...here.
13409 * config/i386/i386-expand.c: Moved to...
13410 * config/i386/i386-expand.cc: ...here.
13411 * config/i386/i386-features.c: Moved to...
13412 * config/i386/i386-features.cc: ...here.
13413 * config/i386/i386-options.c: Moved to...
13414 * config/i386/i386-options.cc: ...here.
13415 * config/i386/i386.c: Moved to...
13416 * config/i386/i386.cc: ...here.
13417 * config/i386/intelmic-mkoffload.c: Moved to...
13418 * config/i386/intelmic-mkoffload.cc: ...here.
13419 * config/i386/msformat-c.c: Moved to...
13420 * config/i386/msformat-c.cc: ...here.
13421 * config/i386/winnt-cxx.c: Moved to...
13422 * config/i386/winnt-cxx.cc: ...here.
13423 * config/i386/winnt-d.c: Moved to...
13424 * config/i386/winnt-d.cc: ...here.
13425 * config/i386/winnt-stubs.c: Moved to...
13426 * config/i386/winnt-stubs.cc: ...here.
13427 * config/i386/winnt.c: Moved to...
13428 * config/i386/winnt.cc: ...here.
13429 * config/i386/x86-tune-sched-atom.c: Moved to...
13430 * config/i386/x86-tune-sched-atom.cc: ...here.
13431 * config/i386/x86-tune-sched-bd.c: Moved to...
13432 * config/i386/x86-tune-sched-bd.cc: ...here.
13433 * config/i386/x86-tune-sched-core.c: Moved to...
13434 * config/i386/x86-tune-sched-core.cc: ...here.
13435 * config/i386/x86-tune-sched.c: Moved to...
13436 * config/i386/x86-tune-sched.cc: ...here.
13437 * config/ia64/ia64-c.c: Moved to...
13438 * config/ia64/ia64-c.cc: ...here.
13439 * config/ia64/ia64.c: Moved to...
13440 * config/ia64/ia64.cc: ...here.
13441 * config/iq2000/iq2000.c: Moved to...
13442 * config/iq2000/iq2000.cc: ...here.
13443 * config/linux.c: Moved to...
13444 * config/linux.cc: ...here.
13445 * config/lm32/lm32.c: Moved to...
13446 * config/lm32/lm32.cc: ...here.
13447 * config/m32c/m32c-pragma.c: Moved to...
13448 * config/m32c/m32c-pragma.cc: ...here.
13449 * config/m32c/m32c.c: Moved to...
13450 * config/m32c/m32c.cc: ...here.
13451 * config/m32r/m32r.c: Moved to...
13452 * config/m32r/m32r.cc: ...here.
13453 * config/m68k/m68k.c: Moved to...
13454 * config/m68k/m68k.cc: ...here.
13455 * config/mcore/mcore.c: Moved to...
13456 * config/mcore/mcore.cc: ...here.
13457 * config/microblaze/microblaze-c.c: Moved to...
13458 * config/microblaze/microblaze-c.cc: ...here.
13459 * config/microblaze/microblaze.c: Moved to...
13460 * config/microblaze/microblaze.cc: ...here.
13461 * config/mips/driver-native.c: Moved to...
13462 * config/mips/driver-native.cc: ...here.
13463 * config/mips/frame-header-opt.c: Moved to...
13464 * config/mips/frame-header-opt.cc: ...here.
13465 * config/mips/mips-d.c: Moved to...
13466 * config/mips/mips-d.cc: ...here.
13467 * config/mips/mips.c: Moved to...
13468 * config/mips/mips.cc: ...here.
13469 * config/mmix/mmix.c: Moved to...
13470 * config/mmix/mmix.cc: ...here.
13471 * config/mn10300/mn10300.c: Moved to...
13472 * config/mn10300/mn10300.cc: ...here.
13473 * config/moxie/moxie.c: Moved to...
13474 * config/moxie/moxie.cc: ...here.
13475 * config/msp430/driver-msp430.c: Moved to...
13476 * config/msp430/driver-msp430.cc: ...here.
13477 * config/msp430/msp430-c.c: Moved to...
13478 * config/msp430/msp430-c.cc: ...here.
13479 * config/msp430/msp430-devices.c: Moved to...
13480 * config/msp430/msp430-devices.cc: ...here.
13481 * config/msp430/msp430.c: Moved to...
13482 * config/msp430/msp430.cc: ...here.
13483 * config/nds32/nds32-cost.c: Moved to...
13484 * config/nds32/nds32-cost.cc: ...here.
13485 * config/nds32/nds32-fp-as-gp.c: Moved to...
13486 * config/nds32/nds32-fp-as-gp.cc: ...here.
13487 * config/nds32/nds32-intrinsic.c: Moved to...
13488 * config/nds32/nds32-intrinsic.cc: ...here.
13489 * config/nds32/nds32-isr.c: Moved to...
13490 * config/nds32/nds32-isr.cc: ...here.
13491 * config/nds32/nds32-md-auxiliary.c: Moved to...
13492 * config/nds32/nds32-md-auxiliary.cc: ...here.
13493 * config/nds32/nds32-memory-manipulation.c: Moved to...
13494 * config/nds32/nds32-memory-manipulation.cc: ...here.
13495 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
13496 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
13497 * config/nds32/nds32-predicates.c: Moved to...
13498 * config/nds32/nds32-predicates.cc: ...here.
13499 * config/nds32/nds32-relax-opt.c: Moved to...
13500 * config/nds32/nds32-relax-opt.cc: ...here.
13501 * config/nds32/nds32-utils.c: Moved to...
13502 * config/nds32/nds32-utils.cc: ...here.
13503 * config/nds32/nds32.c: Moved to...
13504 * config/nds32/nds32.cc: ...here.
13505 * config/netbsd-d.c: Moved to...
13506 * config/netbsd-d.cc: ...here.
13507 * config/netbsd.c: Moved to...
13508 * config/netbsd.cc: ...here.
13509 * config/nios2/nios2.c: Moved to...
13510 * config/nios2/nios2.cc: ...here.
13511 * config/nvptx/mkoffload.c: Moved to...
13512 * config/nvptx/mkoffload.cc: ...here.
13513 * config/nvptx/nvptx-c.c: Moved to...
13514 * config/nvptx/nvptx-c.cc: ...here.
13515 * config/nvptx/nvptx.c: Moved to...
13516 * config/nvptx/nvptx.cc: ...here.
13517 * config/openbsd-d.c: Moved to...
13518 * config/openbsd-d.cc: ...here.
13519 * config/or1k/or1k.c: Moved to...
13520 * config/or1k/or1k.cc: ...here.
13521 * config/pa/pa-d.c: Moved to...
13522 * config/pa/pa-d.cc: ...here.
13523 * config/pa/pa.c: Moved to...
13524 * config/pa/pa.cc: ...here.
13525 * config/pdp11/pdp11.c: Moved to...
13526 * config/pdp11/pdp11.cc: ...here.
13527 * config/pru/pru-passes.c: Moved to...
13528 * config/pru/pru-passes.cc: ...here.
13529 * config/pru/pru-pragma.c: Moved to...
13530 * config/pru/pru-pragma.cc: ...here.
13531 * config/pru/pru.c: Moved to...
13532 * config/pru/pru.cc: ...here.
13533 * config/riscv/riscv-builtins.c: Moved to...
13534 * config/riscv/riscv-builtins.cc: ...here.
13535 * config/riscv/riscv-c.c: Moved to...
13536 * config/riscv/riscv-c.cc: ...here.
13537 * config/riscv/riscv-d.c: Moved to...
13538 * config/riscv/riscv-d.cc: ...here.
13539 * config/riscv/riscv-shorten-memrefs.c: Moved to...
13540 * config/riscv/riscv-shorten-memrefs.cc: ...here.
13541 * config/riscv/riscv-sr.c: Moved to...
13542 * config/riscv/riscv-sr.cc: ...here.
13543 * config/riscv/riscv.c: Moved to...
13544 * config/riscv/riscv.cc: ...here.
13545 * config/rl78/rl78-c.c: Moved to...
13546 * config/rl78/rl78-c.cc: ...here.
13547 * config/rl78/rl78.c: Moved to...
13548 * config/rl78/rl78.cc: ...here.
13549 * config/rs6000/driver-rs6000.c: Moved to...
13550 * config/rs6000/driver-rs6000.cc: ...here.
13551 * config/rs6000/host-darwin.c: Moved to...
13552 * config/rs6000/host-darwin.cc: ...here.
13553 * config/rs6000/host-ppc64-darwin.c: Moved to...
13554 * config/rs6000/host-ppc64-darwin.cc: ...here.
13555 * config/rs6000/rbtree.c: Moved to...
13556 * config/rs6000/rbtree.cc: ...here.
13557 * config/rs6000/rs6000-c.c: Moved to...
13558 * config/rs6000/rs6000-c.cc: ...here.
13559 * config/rs6000/rs6000-call.c: Moved to...
13560 * config/rs6000/rs6000-call.cc: ...here.
13561 * config/rs6000/rs6000-d.c: Moved to...
13562 * config/rs6000/rs6000-d.cc: ...here.
13563 * config/rs6000/rs6000-gen-builtins.c: Moved to...
13564 * config/rs6000/rs6000-gen-builtins.cc: ...here.
13565 * config/rs6000/rs6000-linux.c: Moved to...
13566 * config/rs6000/rs6000-linux.cc: ...here.
13567 * config/rs6000/rs6000-logue.c: Moved to...
13568 * config/rs6000/rs6000-logue.cc: ...here.
13569 * config/rs6000/rs6000-p8swap.c: Moved to...
13570 * config/rs6000/rs6000-p8swap.cc: ...here.
13571 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
13572 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
13573 * config/rs6000/rs6000-string.c: Moved to...
13574 * config/rs6000/rs6000-string.cc: ...here.
13575 * config/rs6000/rs6000.c: Moved to...
13576 * config/rs6000/rs6000.cc: ...here.
13577 * config/rx/rx.c: Moved to...
13578 * config/rx/rx.cc: ...here.
13579 * config/s390/driver-native.c: Moved to...
13580 * config/s390/driver-native.cc: ...here.
13581 * config/s390/s390-c.c: Moved to...
13582 * config/s390/s390-c.cc: ...here.
13583 * config/s390/s390-d.c: Moved to...
13584 * config/s390/s390-d.cc: ...here.
13585 * config/s390/s390.c: Moved to...
13586 * config/s390/s390.cc: ...here.
13587 * config/sh/divtab-sh4-300.c: Moved to...
13588 * config/sh/divtab-sh4-300.cc: ...here.
13589 * config/sh/divtab-sh4.c: Moved to...
13590 * config/sh/divtab-sh4.cc: ...here.
13591 * config/sh/divtab.c: Moved to...
13592 * config/sh/divtab.cc: ...here.
13593 * config/sh/sh-c.c: Moved to...
13594 * config/sh/sh-c.cc: ...here.
13595 * config/sh/sh.c: Moved to...
13596 * config/sh/sh.cc: ...here.
13597 * config/sol2-c.c: Moved to...
13598 * config/sol2-c.cc: ...here.
13599 * config/sol2-cxx.c: Moved to...
13600 * config/sol2-cxx.cc: ...here.
13601 * config/sol2-d.c: Moved to...
13602 * config/sol2-d.cc: ...here.
13603 * config/sol2-stubs.c: Moved to...
13604 * config/sol2-stubs.cc: ...here.
13605 * config/sol2.c: Moved to...
13606 * config/sol2.cc: ...here.
13607 * config/sparc/driver-sparc.c: Moved to...
13608 * config/sparc/driver-sparc.cc: ...here.
13609 * config/sparc/sparc-c.c: Moved to...
13610 * config/sparc/sparc-c.cc: ...here.
13611 * config/sparc/sparc-d.c: Moved to...
13612 * config/sparc/sparc-d.cc: ...here.
13613 * config/sparc/sparc.c: Moved to...
13614 * config/sparc/sparc.cc: ...here.
13615 * config/stormy16/stormy16.c: Moved to...
13616 * config/stormy16/stormy16.cc: ...here.
13617 * config/tilegx/mul-tables.c: Moved to...
13618 * config/tilegx/mul-tables.cc: ...here.
13619 * config/tilegx/tilegx-c.c: Moved to...
13620 * config/tilegx/tilegx-c.cc: ...here.
13621 * config/tilegx/tilegx.c: Moved to...
13622 * config/tilegx/tilegx.cc: ...here.
13623 * config/tilepro/mul-tables.c: Moved to...
13624 * config/tilepro/mul-tables.cc: ...here.
13625 * config/tilepro/tilepro-c.c: Moved to...
13626 * config/tilepro/tilepro-c.cc: ...here.
13627 * config/tilepro/tilepro.c: Moved to...
13628 * config/tilepro/tilepro.cc: ...here.
13629 * config/v850/v850-c.c: Moved to...
13630 * config/v850/v850-c.cc: ...here.
13631 * config/v850/v850.c: Moved to...
13632 * config/v850/v850.cc: ...here.
13633 * config/vax/vax.c: Moved to...
13634 * config/vax/vax.cc: ...here.
13635 * config/visium/visium.c: Moved to...
13636 * config/visium/visium.cc: ...here.
13637 * config/vms/vms-c.c: Moved to...
13638 * config/vms/vms-c.cc: ...here.
13639 * config/vms/vms-f.c: Moved to...
13640 * config/vms/vms-f.cc: ...here.
13641 * config/vms/vms.c: Moved to...
13642 * config/vms/vms.cc: ...here.
13643 * config/vxworks-c.c: Moved to...
13644 * config/vxworks-c.cc: ...here.
13645 * config/vxworks.c: Moved to...
13646 * config/vxworks.cc: ...here.
13647 * config/winnt-c.c: Moved to...
13648 * config/winnt-c.cc: ...here.
13649 * config/xtensa/xtensa.c: Moved to...
13650 * config/xtensa/xtensa.cc: ...here.
13651 * context.c: Moved to...
13652 * context.cc: ...here.
13653 * convert.c: Moved to...
13654 * convert.cc: ...here.
13655 * coverage.c: Moved to...
13656 * coverage.cc: ...here.
13657 * cppbuiltin.c: Moved to...
13658 * cppbuiltin.cc: ...here.
13659 * cppdefault.c: Moved to...
13660 * cppdefault.cc: ...here.
13661 * cprop.c: Moved to...
13662 * cprop.cc: ...here.
13663 * cse.c: Moved to...
13664 * cse.cc: ...here.
13665 * cselib.c: Moved to...
13666 * cselib.cc: ...here.
13667 * ctfc.c: Moved to...
13668 * ctfc.cc: ...here.
13669 * ctfout.c: Moved to...
13670 * ctfout.cc: ...here.
13671 * data-streamer-in.c: Moved to...
13672 * data-streamer-in.cc: ...here.
13673 * data-streamer-out.c: Moved to...
13674 * data-streamer-out.cc: ...here.
13675 * data-streamer.c: Moved to...
13676 * data-streamer.cc: ...here.
13677 * dbgcnt.c: Moved to...
13678 * dbgcnt.cc: ...here.
13679 * dbxout.c: Moved to...
13680 * dbxout.cc: ...here.
13681 * dce.c: Moved to...
13682 * dce.cc: ...here.
13683 * ddg.c: Moved to...
13684 * ddg.cc: ...here.
13685 * debug.c: Moved to...
13686 * debug.cc: ...here.
13687 * df-core.c: Moved to...
13688 * df-core.cc: ...here.
13689 * df-problems.c: Moved to...
13690 * df-problems.cc: ...here.
13691 * df-scan.c: Moved to...
13692 * df-scan.cc: ...here.
13693 * dfp.c: Moved to...
13694 * dfp.cc: ...here.
13695 * diagnostic-color.c: Moved to...
13696 * diagnostic-color.cc: ...here.
13697 * diagnostic-show-locus.c: Moved to...
13698 * diagnostic-show-locus.cc: ...here.
13699 * diagnostic-spec.c: Moved to...
13700 * diagnostic-spec.cc: ...here.
13701 * diagnostic.c: Moved to...
13702 * diagnostic.cc: ...here.
13703 * dojump.c: Moved to...
13704 * dojump.cc: ...here.
13705 * dominance.c: Moved to...
13706 * dominance.cc: ...here.
13707 * domwalk.c: Moved to...
13708 * domwalk.cc: ...here.
13709 * double-int.c: Moved to...
13710 * double-int.cc: ...here.
13711 * dse.c: Moved to...
13712 * dse.cc: ...here.
13713 * dumpfile.c: Moved to...
13714 * dumpfile.cc: ...here.
13715 * dwarf2asm.c: Moved to...
13716 * dwarf2asm.cc: ...here.
13717 * dwarf2cfi.c: Moved to...
13718 * dwarf2cfi.cc: ...here.
13719 * dwarf2ctf.c: Moved to...
13720 * dwarf2ctf.cc: ...here.
13721 * dwarf2out.c: Moved to...
13722 * dwarf2out.cc: ...here.
13723 * early-remat.c: Moved to...
13724 * early-remat.cc: ...here.
13725 * edit-context.c: Moved to...
13726 * edit-context.cc: ...here.
13727 * emit-rtl.c: Moved to...
13728 * emit-rtl.cc: ...here.
13729 * errors.c: Moved to...
13730 * errors.cc: ...here.
13731 * et-forest.c: Moved to...
13732 * et-forest.cc: ...here.
13733 * except.c: Moved to...
13734 * except.cc: ...here.
13735 * explow.c: Moved to...
13736 * explow.cc: ...here.
13737 * expmed.c: Moved to...
13738 * expmed.cc: ...here.
13739 * expr.c: Moved to...
13740 * expr.cc: ...here.
13741 * fibonacci_heap.c: Moved to...
13742 * fibonacci_heap.cc: ...here.
13743 * file-find.c: Moved to...
13744 * file-find.cc: ...here.
13745 * file-prefix-map.c: Moved to...
13746 * file-prefix-map.cc: ...here.
13747 * final.c: Moved to...
13748 * final.cc: ...here.
13749 * fixed-value.c: Moved to...
13750 * fixed-value.cc: ...here.
13751 * fold-const-call.c: Moved to...
13752 * fold-const-call.cc: ...here.
13753 * fold-const.c: Moved to...
13754 * fold-const.cc: ...here.
13755 * fp-test.c: Moved to...
13756 * fp-test.cc: ...here.
13757 * function-tests.c: Moved to...
13758 * function-tests.cc: ...here.
13759 * function.c: Moved to...
13760 * function.cc: ...here.
13761 * fwprop.c: Moved to...
13762 * fwprop.cc: ...here.
13763 * gcc-ar.c: Moved to...
13764 * gcc-ar.cc: ...here.
13765 * gcc-main.c: Moved to...
13766 * gcc-main.cc: ...here.
13767 * gcc-rich-location.c: Moved to...
13768 * gcc-rich-location.cc: ...here.
13769 * gcc.c: Moved to...
13770 * gcc.cc: ...here.
13771 * gcov-dump.c: Moved to...
13772 * gcov-dump.cc: ...here.
13773 * gcov-io.c: Moved to...
13774 * gcov-io.cc: ...here.
13775 * gcov-tool.c: Moved to...
13776 * gcov-tool.cc: ...here.
13777 * gcov.c: Moved to...
13778 * gcov.cc: ...here.
13779 * gcse-common.c: Moved to...
13780 * gcse-common.cc: ...here.
13781 * gcse.c: Moved to...
13782 * gcse.cc: ...here.
13783 * genattr-common.c: Moved to...
13784 * genattr-common.cc: ...here.
13785 * genattr.c: Moved to...
13786 * genattr.cc: ...here.
13787 * genattrtab.c: Moved to...
13788 * genattrtab.cc: ...here.
13789 * genautomata.c: Moved to...
13790 * genautomata.cc: ...here.
13791 * gencfn-macros.c: Moved to...
13792 * gencfn-macros.cc: ...here.
13793 * gencheck.c: Moved to...
13794 * gencheck.cc: ...here.
13795 * genchecksum.c: Moved to...
13796 * genchecksum.cc: ...here.
13797 * gencodes.c: Moved to...
13798 * gencodes.cc: ...here.
13799 * genconditions.c: Moved to...
13800 * genconditions.cc: ...here.
13801 * genconfig.c: Moved to...
13802 * genconfig.cc: ...here.
13803 * genconstants.c: Moved to...
13804 * genconstants.cc: ...here.
13805 * genemit.c: Moved to...
13806 * genemit.cc: ...here.
13807 * genenums.c: Moved to...
13808 * genenums.cc: ...here.
13809 * generic-match-head.c: Moved to...
13810 * generic-match-head.cc: ...here.
13811 * genextract.c: Moved to...
13812 * genextract.cc: ...here.
13813 * genflags.c: Moved to...
13814 * genflags.cc: ...here.
13815 * gengenrtl.c: Moved to...
13816 * gengenrtl.cc: ...here.
13817 * gengtype-parse.c: Moved to...
13818 * gengtype-parse.cc: ...here.
13819 * gengtype-state.c: Moved to...
13820 * gengtype-state.cc: ...here.
13821 * gengtype.c: Moved to...
13822 * gengtype.cc: ...here.
13823 * genhooks.c: Moved to...
13824 * genhooks.cc: ...here.
13825 * genmatch.c: Moved to...
13826 * genmatch.cc: ...here.
13827 * genmddeps.c: Moved to...
13828 * genmddeps.cc: ...here.
13829 * genmddump.c: Moved to...
13830 * genmddump.cc: ...here.
13831 * genmodes.c: Moved to...
13832 * genmodes.cc: ...here.
13833 * genopinit.c: Moved to...
13834 * genopinit.cc: ...here.
13835 * genoutput.c: Moved to...
13836 * genoutput.cc: ...here.
13837 * genpeep.c: Moved to...
13838 * genpeep.cc: ...here.
13839 * genpreds.c: Moved to...
13840 * genpreds.cc: ...here.
13841 * genrecog.c: Moved to...
13842 * genrecog.cc: ...here.
13843 * gensupport.c: Moved to...
13844 * gensupport.cc: ...here.
13845 * gentarget-def.c: Moved to...
13846 * gentarget-def.cc: ...here.
13847 * genversion.c: Moved to...
13848 * genversion.cc: ...here.
13849 * ggc-common.c: Moved to...
13850 * ggc-common.cc: ...here.
13851 * ggc-none.c: Moved to...
13852 * ggc-none.cc: ...here.
13853 * ggc-page.c: Moved to...
13854 * ggc-page.cc: ...here.
13855 * ggc-tests.c: Moved to...
13856 * ggc-tests.cc: ...here.
13857 * gimple-builder.c: Moved to...
13858 * gimple-builder.cc: ...here.
13859 * gimple-expr.c: Moved to...
13860 * gimple-expr.cc: ...here.
13861 * gimple-fold.c: Moved to...
13862 * gimple-fold.cc: ...here.
13863 * gimple-iterator.c: Moved to...
13864 * gimple-iterator.cc: ...here.
13865 * gimple-laddress.c: Moved to...
13866 * gimple-laddress.cc: ...here.
13867 * gimple-loop-jam.c: Moved to...
13868 * gimple-loop-jam.cc: ...here.
13869 * gimple-low.c: Moved to...
13870 * gimple-low.cc: ...here.
13871 * gimple-match-head.c: Moved to...
13872 * gimple-match-head.cc: ...here.
13873 * gimple-pretty-print.c: Moved to...
13874 * gimple-pretty-print.cc: ...here.
13875 * gimple-ssa-backprop.c: Moved to...
13876 * gimple-ssa-backprop.cc: ...here.
13877 * gimple-ssa-evrp-analyze.c: Moved to...
13878 * gimple-ssa-evrp-analyze.cc: ...here.
13879 * gimple-ssa-evrp.c: Moved to...
13880 * gimple-ssa-evrp.cc: ...here.
13881 * gimple-ssa-isolate-paths.c: Moved to...
13882 * gimple-ssa-isolate-paths.cc: ...here.
13883 * gimple-ssa-nonnull-compare.c: Moved to...
13884 * gimple-ssa-nonnull-compare.cc: ...here.
13885 * gimple-ssa-split-paths.c: Moved to...
13886 * gimple-ssa-split-paths.cc: ...here.
13887 * gimple-ssa-sprintf.c: Moved to...
13888 * gimple-ssa-sprintf.cc: ...here.
13889 * gimple-ssa-store-merging.c: Moved to...
13890 * gimple-ssa-store-merging.cc: ...here.
13891 * gimple-ssa-strength-reduction.c: Moved to...
13892 * gimple-ssa-strength-reduction.cc: ...here.
13893 * gimple-ssa-warn-alloca.c: Moved to...
13894 * gimple-ssa-warn-alloca.cc: ...here.
13895 * gimple-ssa-warn-restrict.c: Moved to...
13896 * gimple-ssa-warn-restrict.cc: ...here.
13897 * gimple-streamer-in.c: Moved to...
13898 * gimple-streamer-in.cc: ...here.
13899 * gimple-streamer-out.c: Moved to...
13900 * gimple-streamer-out.cc: ...here.
13901 * gimple-walk.c: Moved to...
13902 * gimple-walk.cc: ...here.
13903 * gimple-warn-recursion.c: Moved to...
13904 * gimple-warn-recursion.cc: ...here.
13905 * gimple.c: Moved to...
13906 * gimple.cc: ...here.
13907 * gimplify-me.c: Moved to...
13908 * gimplify-me.cc: ...here.
13909 * gimplify.c: Moved to...
13910 * gimplify.cc: ...here.
13911 * godump.c: Moved to...
13912 * godump.cc: ...here.
13913 * graph.c: Moved to...
13914 * graph.cc: ...here.
13915 * graphds.c: Moved to...
13916 * graphds.cc: ...here.
13917 * graphite-dependences.c: Moved to...
13918 * graphite-dependences.cc: ...here.
13919 * graphite-isl-ast-to-gimple.c: Moved to...
13920 * graphite-isl-ast-to-gimple.cc: ...here.
13921 * graphite-optimize-isl.c: Moved to...
13922 * graphite-optimize-isl.cc: ...here.
13923 * graphite-poly.c: Moved to...
13924 * graphite-poly.cc: ...here.
13925 * graphite-scop-detection.c: Moved to...
13926 * graphite-scop-detection.cc: ...here.
13927 * graphite-sese-to-poly.c: Moved to...
13928 * graphite-sese-to-poly.cc: ...here.
13929 * graphite.c: Moved to...
13930 * graphite.cc: ...here.
13931 * haifa-sched.c: Moved to...
13932 * haifa-sched.cc: ...here.
13933 * hash-map-tests.c: Moved to...
13934 * hash-map-tests.cc: ...here.
13935 * hash-set-tests.c: Moved to...
13936 * hash-set-tests.cc: ...here.
13937 * hash-table.c: Moved to...
13938 * hash-table.cc: ...here.
13939 * hooks.c: Moved to...
13940 * hooks.cc: ...here.
13941 * host-default.c: Moved to...
13942 * host-default.cc: ...here.
13943 * hw-doloop.c: Moved to...
13944 * hw-doloop.cc: ...here.
13945 * hwint.c: Moved to...
13946 * hwint.cc: ...here.
13947 * ifcvt.c: Moved to...
13948 * ifcvt.cc: ...here.
13949 * inchash.c: Moved to...
13950 * inchash.cc: ...here.
13951 * incpath.c: Moved to...
13952 * incpath.cc: ...here.
13953 * init-regs.c: Moved to...
13954 * init-regs.cc: ...here.
13955 * input.c: Moved to...
13956 * input.cc: ...here.
13957 * internal-fn.c: Moved to...
13958 * internal-fn.cc: ...here.
13959 * intl.c: Moved to...
13960 * intl.cc: ...here.
13961 * ipa-comdats.c: Moved to...
13962 * ipa-comdats.cc: ...here.
13963 * ipa-cp.c: Moved to...
13964 * ipa-cp.cc: ...here.
13965 * ipa-devirt.c: Moved to...
13966 * ipa-devirt.cc: ...here.
13967 * ipa-fnsummary.c: Moved to...
13968 * ipa-fnsummary.cc: ...here.
13969 * ipa-icf-gimple.c: Moved to...
13970 * ipa-icf-gimple.cc: ...here.
13971 * ipa-icf.c: Moved to...
13972 * ipa-icf.cc: ...here.
13973 * ipa-inline-analysis.c: Moved to...
13974 * ipa-inline-analysis.cc: ...here.
13975 * ipa-inline-transform.c: Moved to...
13976 * ipa-inline-transform.cc: ...here.
13977 * ipa-inline.c: Moved to...
13978 * ipa-inline.cc: ...here.
13979 * ipa-modref-tree.c: Moved to...
13980 * ipa-modref-tree.cc: ...here.
13981 * ipa-modref.c: Moved to...
13982 * ipa-modref.cc: ...here.
13983 * ipa-param-manipulation.c: Moved to...
13984 * ipa-param-manipulation.cc: ...here.
13985 * ipa-polymorphic-call.c: Moved to...
13986 * ipa-polymorphic-call.cc: ...here.
13987 * ipa-predicate.c: Moved to...
13988 * ipa-predicate.cc: ...here.
13989 * ipa-profile.c: Moved to...
13990 * ipa-profile.cc: ...here.
13991 * ipa-prop.c: Moved to...
13992 * ipa-prop.cc: ...here.
13993 * ipa-pure-const.c: Moved to...
13994 * ipa-pure-const.cc: ...here.
13995 * ipa-ref.c: Moved to...
13996 * ipa-ref.cc: ...here.
13997 * ipa-reference.c: Moved to...
13998 * ipa-reference.cc: ...here.
13999 * ipa-split.c: Moved to...
14000 * ipa-split.cc: ...here.
14001 * ipa-sra.c: Moved to...
14002 * ipa-sra.cc: ...here.
14003 * ipa-utils.c: Moved to...
14004 * ipa-utils.cc: ...here.
14005 * ipa-visibility.c: Moved to...
14006 * ipa-visibility.cc: ...here.
14007 * ipa.c: Moved to...
14008 * ipa.cc: ...here.
14009 * ira-build.c: Moved to...
14010 * ira-build.cc: ...here.
14011 * ira-color.c: Moved to...
14012 * ira-color.cc: ...here.
14013 * ira-conflicts.c: Moved to...
14014 * ira-conflicts.cc: ...here.
14015 * ira-costs.c: Moved to...
14016 * ira-costs.cc: ...here.
14017 * ira-emit.c: Moved to...
14018 * ira-emit.cc: ...here.
14019 * ira-lives.c: Moved to...
14020 * ira-lives.cc: ...here.
14021 * ira.c: Moved to...
14022 * ira.cc: ...here.
14023 * jump.c: Moved to...
14024 * jump.cc: ...here.
14025 * langhooks.c: Moved to...
14026 * langhooks.cc: ...here.
14027 * lcm.c: Moved to...
14028 * lcm.cc: ...here.
14029 * lists.c: Moved to...
14030 * lists.cc: ...here.
14031 * loop-doloop.c: Moved to...
14032 * loop-doloop.cc: ...here.
14033 * loop-init.c: Moved to...
14034 * loop-init.cc: ...here.
14035 * loop-invariant.c: Moved to...
14036 * loop-invariant.cc: ...here.
14037 * loop-iv.c: Moved to...
14038 * loop-iv.cc: ...here.
14039 * loop-unroll.c: Moved to...
14040 * loop-unroll.cc: ...here.
14041 * lower-subreg.c: Moved to...
14042 * lower-subreg.cc: ...here.
14043 * lra-assigns.c: Moved to...
14044 * lra-assigns.cc: ...here.
14045 * lra-coalesce.c: Moved to...
14046 * lra-coalesce.cc: ...here.
14047 * lra-constraints.c: Moved to...
14048 * lra-constraints.cc: ...here.
14049 * lra-eliminations.c: Moved to...
14050 * lra-eliminations.cc: ...here.
14051 * lra-lives.c: Moved to...
14052 * lra-lives.cc: ...here.
14053 * lra-remat.c: Moved to...
14054 * lra-remat.cc: ...here.
14055 * lra-spills.c: Moved to...
14056 * lra-spills.cc: ...here.
14057 * lra.c: Moved to...
14058 * lra.cc: ...here.
14059 * lto-cgraph.c: Moved to...
14060 * lto-cgraph.cc: ...here.
14061 * lto-compress.c: Moved to...
14062 * lto-compress.cc: ...here.
14063 * lto-opts.c: Moved to...
14064 * lto-opts.cc: ...here.
14065 * lto-section-in.c: Moved to...
14066 * lto-section-in.cc: ...here.
14067 * lto-section-out.c: Moved to...
14068 * lto-section-out.cc: ...here.
14069 * lto-streamer-in.c: Moved to...
14070 * lto-streamer-in.cc: ...here.
14071 * lto-streamer-out.c: Moved to...
14072 * lto-streamer-out.cc: ...here.
14073 * lto-streamer.c: Moved to...
14074 * lto-streamer.cc: ...here.
14075 * lto-wrapper.c: Moved to...
14076 * lto-wrapper.cc: ...here.
14077 * main.c: Moved to...
14078 * main.cc: ...here.
14079 * mcf.c: Moved to...
14080 * mcf.cc: ...here.
14081 * mode-switching.c: Moved to...
14082 * mode-switching.cc: ...here.
14083 * modulo-sched.c: Moved to...
14084 * modulo-sched.cc: ...here.
14085 * multiple_target.c: Moved to...
14086 * multiple_target.cc: ...here.
14087 * omp-expand.c: Moved to...
14088 * omp-expand.cc: ...here.
14089 * omp-general.c: Moved to...
14090 * omp-general.cc: ...here.
14091 * omp-low.c: Moved to...
14092 * omp-low.cc: ...here.
14093 * omp-offload.c: Moved to...
14094 * omp-offload.cc: ...here.
14095 * omp-simd-clone.c: Moved to...
14096 * omp-simd-clone.cc: ...here.
14097 * opt-suggestions.c: Moved to...
14098 * opt-suggestions.cc: ...here.
14099 * optabs-libfuncs.c: Moved to...
14100 * optabs-libfuncs.cc: ...here.
14101 * optabs-query.c: Moved to...
14102 * optabs-query.cc: ...here.
14103 * optabs-tree.c: Moved to...
14104 * optabs-tree.cc: ...here.
14105 * optabs.c: Moved to...
14106 * optabs.cc: ...here.
14107 * opts-common.c: Moved to...
14108 * opts-common.cc: ...here.
14109 * opts-global.c: Moved to...
14110 * opts-global.cc: ...here.
14111 * opts.c: Moved to...
14112 * opts.cc: ...here.
14113 * passes.c: Moved to...
14114 * passes.cc: ...here.
14115 * plugin.c: Moved to...
14116 * plugin.cc: ...here.
14117 * postreload-gcse.c: Moved to...
14118 * postreload-gcse.cc: ...here.
14119 * postreload.c: Moved to...
14120 * postreload.cc: ...here.
14121 * predict.c: Moved to...
14122 * predict.cc: ...here.
14123 * prefix.c: Moved to...
14124 * prefix.cc: ...here.
14125 * pretty-print.c: Moved to...
14126 * pretty-print.cc: ...here.
14127 * print-rtl-function.c: Moved to...
14128 * print-rtl-function.cc: ...here.
14129 * print-rtl.c: Moved to...
14130 * print-rtl.cc: ...here.
14131 * print-tree.c: Moved to...
14132 * print-tree.cc: ...here.
14133 * profile-count.c: Moved to...
14134 * profile-count.cc: ...here.
14135 * profile.c: Moved to...
14136 * profile.cc: ...here.
14137 * read-md.c: Moved to...
14138 * read-md.cc: ...here.
14139 * read-rtl-function.c: Moved to...
14140 * read-rtl-function.cc: ...here.
14141 * read-rtl.c: Moved to...
14142 * read-rtl.cc: ...here.
14143 * real.c: Moved to...
14144 * real.cc: ...here.
14145 * realmpfr.c: Moved to...
14146 * realmpfr.cc: ...here.
14147 * recog.c: Moved to...
14148 * recog.cc: ...here.
14149 * ree.c: Moved to...
14150 * ree.cc: ...here.
14151 * reg-stack.c: Moved to...
14152 * reg-stack.cc: ...here.
14153 * regcprop.c: Moved to...
14154 * regcprop.cc: ...here.
14155 * reginfo.c: Moved to...
14156 * reginfo.cc: ...here.
14157 * regrename.c: Moved to...
14158 * regrename.cc: ...here.
14159 * regstat.c: Moved to...
14160 * regstat.cc: ...here.
14161 * reload.c: Moved to...
14162 * reload.cc: ...here.
14163 * reload1.c: Moved to...
14164 * reload1.cc: ...here.
14165 * reorg.c: Moved to...
14166 * reorg.cc: ...here.
14167 * resource.c: Moved to...
14168 * resource.cc: ...here.
14169 * rtl-error.c: Moved to...
14170 * rtl-error.cc: ...here.
14171 * rtl-tests.c: Moved to...
14172 * rtl-tests.cc: ...here.
14173 * rtl.c: Moved to...
14174 * rtl.cc: ...here.
14175 * rtlanal.c: Moved to...
14176 * rtlanal.cc: ...here.
14177 * rtlhash.c: Moved to...
14178 * rtlhash.cc: ...here.
14179 * rtlhooks.c: Moved to...
14180 * rtlhooks.cc: ...here.
14181 * rtx-vector-builder.c: Moved to...
14182 * rtx-vector-builder.cc: ...here.
14183 * run-rtl-passes.c: Moved to...
14184 * run-rtl-passes.cc: ...here.
14185 * sancov.c: Moved to...
14186 * sancov.cc: ...here.
14187 * sanopt.c: Moved to...
14188 * sanopt.cc: ...here.
14189 * sbitmap.c: Moved to...
14190 * sbitmap.cc: ...here.
14191 * sched-deps.c: Moved to...
14192 * sched-deps.cc: ...here.
14193 * sched-ebb.c: Moved to...
14194 * sched-ebb.cc: ...here.
14195 * sched-rgn.c: Moved to...
14196 * sched-rgn.cc: ...here.
14197 * sel-sched-dump.c: Moved to...
14198 * sel-sched-dump.cc: ...here.
14199 * sel-sched-ir.c: Moved to...
14200 * sel-sched-ir.cc: ...here.
14201 * sel-sched.c: Moved to...
14202 * sel-sched.cc: ...here.
14203 * selftest-diagnostic.c: Moved to...
14204 * selftest-diagnostic.cc: ...here.
14205 * selftest-rtl.c: Moved to...
14206 * selftest-rtl.cc: ...here.
14207 * selftest-run-tests.c: Moved to...
14208 * selftest-run-tests.cc: ...here.
14209 * selftest.c: Moved to...
14210 * selftest.cc: ...here.
14211 * sese.c: Moved to...
14212 * sese.cc: ...here.
14213 * shrink-wrap.c: Moved to...
14214 * shrink-wrap.cc: ...here.
14215 * simplify-rtx.c: Moved to...
14216 * simplify-rtx.cc: ...here.
14217 * sparseset.c: Moved to...
14218 * sparseset.cc: ...here.
14219 * spellcheck-tree.c: Moved to...
14220 * spellcheck-tree.cc: ...here.
14221 * spellcheck.c: Moved to...
14222 * spellcheck.cc: ...here.
14223 * sreal.c: Moved to...
14224 * sreal.cc: ...here.
14225 * stack-ptr-mod.c: Moved to...
14226 * stack-ptr-mod.cc: ...here.
14227 * statistics.c: Moved to...
14228 * statistics.cc: ...here.
14229 * stmt.c: Moved to...
14230 * stmt.cc: ...here.
14231 * stor-layout.c: Moved to...
14232 * stor-layout.cc: ...here.
14233 * store-motion.c: Moved to...
14234 * store-motion.cc: ...here.
14235 * streamer-hooks.c: Moved to...
14236 * streamer-hooks.cc: ...here.
14237 * stringpool.c: Moved to...
14238 * stringpool.cc: ...here.
14239 * substring-locations.c: Moved to...
14240 * substring-locations.cc: ...here.
14241 * symtab.c: Moved to...
14242 * symtab.cc: ...here.
14243 * target-globals.c: Moved to...
14244 * target-globals.cc: ...here.
14245 * targhooks.c: Moved to...
14246 * targhooks.cc: ...here.
14247 * timevar.c: Moved to...
14248 * timevar.cc: ...here.
14249 * toplev.c: Moved to...
14250 * toplev.cc: ...here.
14251 * tracer.c: Moved to...
14252 * tracer.cc: ...here.
14253 * trans-mem.c: Moved to...
14254 * trans-mem.cc: ...here.
14255 * tree-affine.c: Moved to...
14256 * tree-affine.cc: ...here.
14257 * tree-call-cdce.c: Moved to...
14258 * tree-call-cdce.cc: ...here.
14259 * tree-cfg.c: Moved to...
14260 * tree-cfg.cc: ...here.
14261 * tree-cfgcleanup.c: Moved to...
14262 * tree-cfgcleanup.cc: ...here.
14263 * tree-chrec.c: Moved to...
14264 * tree-chrec.cc: ...here.
14265 * tree-complex.c: Moved to...
14266 * tree-complex.cc: ...here.
14267 * tree-data-ref.c: Moved to...
14268 * tree-data-ref.cc: ...here.
14269 * tree-dfa.c: Moved to...
14270 * tree-dfa.cc: ...here.
14271 * tree-diagnostic.c: Moved to...
14272 * tree-diagnostic.cc: ...here.
14273 * tree-dump.c: Moved to...
14274 * tree-dump.cc: ...here.
14275 * tree-eh.c: Moved to...
14276 * tree-eh.cc: ...here.
14277 * tree-emutls.c: Moved to...
14278 * tree-emutls.cc: ...here.
14279 * tree-if-conv.c: Moved to...
14280 * tree-if-conv.cc: ...here.
14281 * tree-inline.c: Moved to...
14282 * tree-inline.cc: ...here.
14283 * tree-into-ssa.c: Moved to...
14284 * tree-into-ssa.cc: ...here.
14285 * tree-iterator.c: Moved to...
14286 * tree-iterator.cc: ...here.
14287 * tree-loop-distribution.c: Moved to...
14288 * tree-loop-distribution.cc: ...here.
14289 * tree-nested.c: Moved to...
14290 * tree-nested.cc: ...here.
14291 * tree-nrv.c: Moved to...
14292 * tree-nrv.cc: ...here.
14293 * tree-object-size.c: Moved to...
14294 * tree-object-size.cc: ...here.
14295 * tree-outof-ssa.c: Moved to...
14296 * tree-outof-ssa.cc: ...here.
14297 * tree-parloops.c: Moved to...
14298 * tree-parloops.cc: ...here.
14299 * tree-phinodes.c: Moved to...
14300 * tree-phinodes.cc: ...here.
14301 * tree-predcom.c: Moved to...
14302 * tree-predcom.cc: ...here.
14303 * tree-pretty-print.c: Moved to...
14304 * tree-pretty-print.cc: ...here.
14305 * tree-profile.c: Moved to...
14306 * tree-profile.cc: ...here.
14307 * tree-scalar-evolution.c: Moved to...
14308 * tree-scalar-evolution.cc: ...here.
14309 * tree-sra.c: Moved to...
14310 * tree-sra.cc: ...here.
14311 * tree-ssa-address.c: Moved to...
14312 * tree-ssa-address.cc: ...here.
14313 * tree-ssa-alias.c: Moved to...
14314 * tree-ssa-alias.cc: ...here.
14315 * tree-ssa-ccp.c: Moved to...
14316 * tree-ssa-ccp.cc: ...here.
14317 * tree-ssa-coalesce.c: Moved to...
14318 * tree-ssa-coalesce.cc: ...here.
14319 * tree-ssa-copy.c: Moved to...
14320 * tree-ssa-copy.cc: ...here.
14321 * tree-ssa-dce.c: Moved to...
14322 * tree-ssa-dce.cc: ...here.
14323 * tree-ssa-dom.c: Moved to...
14324 * tree-ssa-dom.cc: ...here.
14325 * tree-ssa-dse.c: Moved to...
14326 * tree-ssa-dse.cc: ...here.
14327 * tree-ssa-forwprop.c: Moved to...
14328 * tree-ssa-forwprop.cc: ...here.
14329 * tree-ssa-ifcombine.c: Moved to...
14330 * tree-ssa-ifcombine.cc: ...here.
14331 * tree-ssa-live.c: Moved to...
14332 * tree-ssa-live.cc: ...here.
14333 * tree-ssa-loop-ch.c: Moved to...
14334 * tree-ssa-loop-ch.cc: ...here.
14335 * tree-ssa-loop-im.c: Moved to...
14336 * tree-ssa-loop-im.cc: ...here.
14337 * tree-ssa-loop-ivcanon.c: Moved to...
14338 * tree-ssa-loop-ivcanon.cc: ...here.
14339 * tree-ssa-loop-ivopts.c: Moved to...
14340 * tree-ssa-loop-ivopts.cc: ...here.
14341 * tree-ssa-loop-manip.c: Moved to...
14342 * tree-ssa-loop-manip.cc: ...here.
14343 * tree-ssa-loop-niter.c: Moved to...
14344 * tree-ssa-loop-niter.cc: ...here.
14345 * tree-ssa-loop-prefetch.c: Moved to...
14346 * tree-ssa-loop-prefetch.cc: ...here.
14347 * tree-ssa-loop-split.c: Moved to...
14348 * tree-ssa-loop-split.cc: ...here.
14349 * tree-ssa-loop-unswitch.c: Moved to...
14350 * tree-ssa-loop-unswitch.cc: ...here.
14351 * tree-ssa-loop.c: Moved to...
14352 * tree-ssa-loop.cc: ...here.
14353 * tree-ssa-math-opts.c: Moved to...
14354 * tree-ssa-math-opts.cc: ...here.
14355 * tree-ssa-operands.c: Moved to...
14356 * tree-ssa-operands.cc: ...here.
14357 * tree-ssa-phiopt.c: Moved to...
14358 * tree-ssa-phiopt.cc: ...here.
14359 * tree-ssa-phiprop.c: Moved to...
14360 * tree-ssa-phiprop.cc: ...here.
14361 * tree-ssa-pre.c: Moved to...
14362 * tree-ssa-pre.cc: ...here.
14363 * tree-ssa-propagate.c: Moved to...
14364 * tree-ssa-propagate.cc: ...here.
14365 * tree-ssa-reassoc.c: Moved to...
14366 * tree-ssa-reassoc.cc: ...here.
14367 * tree-ssa-sccvn.c: Moved to...
14368 * tree-ssa-sccvn.cc: ...here.
14369 * tree-ssa-scopedtables.c: Moved to...
14370 * tree-ssa-scopedtables.cc: ...here.
14371 * tree-ssa-sink.c: Moved to...
14372 * tree-ssa-sink.cc: ...here.
14373 * tree-ssa-strlen.c: Moved to...
14374 * tree-ssa-strlen.cc: ...here.
14375 * tree-ssa-structalias.c: Moved to...
14376 * tree-ssa-structalias.cc: ...here.
14377 * tree-ssa-tail-merge.c: Moved to...
14378 * tree-ssa-tail-merge.cc: ...here.
14379 * tree-ssa-ter.c: Moved to...
14380 * tree-ssa-ter.cc: ...here.
14381 * tree-ssa-threadbackward.c: Moved to...
14382 * tree-ssa-threadbackward.cc: ...here.
14383 * tree-ssa-threadedge.c: Moved to...
14384 * tree-ssa-threadedge.cc: ...here.
14385 * tree-ssa-threadupdate.c: Moved to...
14386 * tree-ssa-threadupdate.cc: ...here.
14387 * tree-ssa-uncprop.c: Moved to...
14388 * tree-ssa-uncprop.cc: ...here.
14389 * tree-ssa-uninit.c: Moved to...
14390 * tree-ssa-uninit.cc: ...here.
14391 * tree-ssa.c: Moved to...
14392 * tree-ssa.cc: ...here.
14393 * tree-ssanames.c: Moved to...
14394 * tree-ssanames.cc: ...here.
14395 * tree-stdarg.c: Moved to...
14396 * tree-stdarg.cc: ...here.
14397 * tree-streamer-in.c: Moved to...
14398 * tree-streamer-in.cc: ...here.
14399 * tree-streamer-out.c: Moved to...
14400 * tree-streamer-out.cc: ...here.
14401 * tree-streamer.c: Moved to...
14402 * tree-streamer.cc: ...here.
14403 * tree-switch-conversion.c: Moved to...
14404 * tree-switch-conversion.cc: ...here.
14405 * tree-tailcall.c: Moved to...
14406 * tree-tailcall.cc: ...here.
14407 * tree-vect-data-refs.c: Moved to...
14408 * tree-vect-data-refs.cc: ...here.
14409 * tree-vect-generic.c: Moved to...
14410 * tree-vect-generic.cc: ...here.
14411 * tree-vect-loop-manip.c: Moved to...
14412 * tree-vect-loop-manip.cc: ...here.
14413 * tree-vect-loop.c: Moved to...
14414 * tree-vect-loop.cc: ...here.
14415 * tree-vect-patterns.c: Moved to...
14416 * tree-vect-patterns.cc: ...here.
14417 * tree-vect-slp-patterns.c: Moved to...
14418 * tree-vect-slp-patterns.cc: ...here.
14419 * tree-vect-slp.c: Moved to...
14420 * tree-vect-slp.cc: ...here.
14421 * tree-vect-stmts.c: Moved to...
14422 * tree-vect-stmts.cc: ...here.
14423 * tree-vector-builder.c: Moved to...
14424 * tree-vector-builder.cc: ...here.
14425 * tree-vectorizer.c: Moved to...
14426 * tree-vectorizer.cc: ...here.
14427 * tree-vrp.c: Moved to...
14428 * tree-vrp.cc: ...here.
14429 * tree.c: Moved to...
14430 * tree.cc: ...here.
14431 * tsan.c: Moved to...
14432 * tsan.cc: ...here.
14433 * typed-splay-tree.c: Moved to...
14434 * typed-splay-tree.cc: ...here.
14435 * ubsan.c: Moved to...
14436 * ubsan.cc: ...here.
14437 * valtrack.c: Moved to...
14438 * valtrack.cc: ...here.
14439 * value-prof.c: Moved to...
14440 * value-prof.cc: ...here.
14441 * var-tracking.c: Moved to...
14442 * var-tracking.cc: ...here.
14443 * varasm.c: Moved to...
14444 * varasm.cc: ...here.
14445 * varpool.c: Moved to...
14446 * varpool.cc: ...here.
14447 * vec-perm-indices.c: Moved to...
14448 * vec-perm-indices.cc: ...here.
14449 * vec.c: Moved to...
14450 * vec.cc: ...here.
14451 * vmsdbgout.c: Moved to...
14452 * vmsdbgout.cc: ...here.
14453 * vr-values.c: Moved to...
14454 * vr-values.cc: ...here.
14455 * vtable-verify.c: Moved to...
14456 * vtable-verify.cc: ...here.
14457 * web.c: Moved to...
14458 * web.cc: ...here.
14459 * xcoffout.c: Moved to...
14460 * xcoffout.cc: ...here.
14461
14462 2022-01-17 qing zhao <qing.zhao@oracle.com>
14463
14464 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
14465 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
14466 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
14467 specially.
14468 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
14469 (warn_uninitialized_vars): Likewise.
14470 (warn_uninitialized_phi): Likewise.
14471
14472 2022-01-17 Jason Merrill <jason@redhat.com>
14473
14474 * diagnostic.h (struct diagnostic_context): Add includes_seen.
14475 * diagnostic.c (diagnostic_initialize): Initialize it.
14476 (diagnostic_finish): Clean it up.
14477 (includes_seen): New function.
14478 (diagnostic_report_current_module): Use it.
14479
14480 2022-01-17 Richard Biener <rguenther@suse.de>
14481
14482 PR middle-end/101292
14483 * diagnostic-spec.c (copy_warning): Make sure to not
14484 reference old hashtable content on possible resize.
14485 * warning-control.cc (copy_warning): Likewise.
14486
14487 2022-01-17 Jakub Jelinek <jakub@redhat.com>
14488
14489 PR target/103973
14490 * tree-cfg.h (cond_only_block_p): Declare.
14491 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
14492 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
14493 * optabs.def (spaceship_optab): New optab.
14494 * internal-fn.def (SPACESHIP): New internal function.
14495 * internal-fn.h (expand_SPACESHIP): Declare.
14496 * internal-fn.c (expand_PHI): Formatting fix.
14497 (expand_SPACESHIP): New function.
14498 * tree-ssa-math-opts.c (optimize_spaceship): New function.
14499 (math_opts_dom_walker::after_dom_children): Use it.
14500 * config/i386/i386.md (spaceship<mode>3): New define_expand.
14501 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
14502 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
14503 * doc/md.texi (spaceship@var{m}3): Document.
14504
14505 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
14506
14507 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
14508 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
14509 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
14510 known constant values to simplify code.
14511
14512 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
14513
14514 PR target/103124
14515 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
14516
14517 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
14518
14519 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
14520 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
14521 Insert zero-idiom in output template when attr enabled, set new attribute to
14522 true for non-mask/maskz insn.
14523 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
14524 Likewise.
14525 (avx512dq_mul<mode>3<mask_name>): Likewise.
14526 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
14527 (avx2_perm<mode>_1<mask_name>): Likewise.
14528 (avx512f_perm<mode>_1<mask_name>): Likewise.
14529 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
14530 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
14531 Likewise.
14532 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
14533 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
14534 Likewise.
14535 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
14536 subst_attr.
14537 (mask4_dest_false_dep_for_glc_cond): Likewise.
14538 (mask6_dest_false_dep_for_glc_cond): Likewise.
14539 (mask10_dest_false_dep_for_glc_cond): Likewise.
14540 (maskc_dest_false_dep_for_glc_cond): Likewise.
14541 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
14542 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
14543 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
14544 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
14545
14546 2022-01-15 Martin Sebor <msebor@redhat.com>
14547
14548 PR c/63272
14549 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
14550 -Wdangling-pointer.
14551 * doc/invoke.texi (-Wdangling-pointer): Document new option.
14552 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
14553 (pass_waccess::check_pointer_uses): New function.
14554 (pass_waccess::gimple_call_return_arg): New function.
14555 (pass_waccess::gimple_call_return_arg_ref): New function.
14556 (pass_waccess::check_call_dangling): New function.
14557 (pass_waccess::check_dangling_uses): New function overloads.
14558 (pass_waccess::check_dangling_stores): New function.
14559 (pass_waccess::check_dangling_stores): New function.
14560 (pass_waccess::m_clobbers): New data member.
14561 (pass_waccess::m_func): New data member.
14562 (pass_waccess::m_run_number): New data member.
14563 (pass_waccess::m_check_dangling_p): New data member.
14564 (pass_waccess::check_alloca): Check m_early_checks_p.
14565 (pass_waccess::check_alloc_size_call): Same.
14566 (pass_waccess::check_strcat): Same.
14567 (pass_waccess::check_strncat): Same.
14568 (pass_waccess::check_stxcpy): Same.
14569 (pass_waccess::check_stxncpy): Same.
14570 (pass_waccess::check_strncmp): Same.
14571 (pass_waccess::check_memop_access): Same.
14572 (pass_waccess::check_read_access): Same.
14573 (pass_waccess::check_builtin): Call check_pointer_uses.
14574 (pass_waccess::warn_invalid_pointer): Add arguments.
14575 (is_auto_decl): New function.
14576 (pass_waccess::check_stmt): New function.
14577 (pass_waccess::check_block): Call check_stmt.
14578 (pass_waccess::execute): Call check_dangling_uses,
14579 check_dangling_stores. Empty m_clobbers.
14580 * passes.def (pass_warn_access): Invoke pass two more times.
14581
14582 2022-01-15 Martin Sebor <msebor@redhat.com>
14583
14584 PR tree-optimization/80532
14585 * common.opt (-Wuse-after-free): New options.
14586 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
14587 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
14588 * diagnostic-spec.h (NW_DANGLING): New enumerator.
14589 * doc/invoke.texi (-Wuse-after-free): Document new option.
14590 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
14591 (pass_waccess::check_call_access): ...to this.
14592 (pass_waccess::check): Rename...
14593 (pass_waccess::check_block): ...to this.
14594 (pass_waccess::check_pointer_uses): New function.
14595 (pass_waccess::gimple_call_return_arg): New function.
14596 (pass_waccess::warn_invalid_pointer): New function.
14597 (pass_waccess::check_builtin): Handle free and realloc.
14598 (gimple_use_after_inval_p): New function.
14599 (get_realloc_lhs): New function.
14600 (maybe_warn_mismatched_realloc): New function.
14601 (pointers_related_p): New function.
14602 (pass_waccess::check_call): Call check_pointer_uses.
14603 (pass_waccess::execute): Compute and free dominance info.
14604
14605 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
14606
14607 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
14608 expand_simple_unop and expand_simple_binop instead of manually
14609 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
14610 consistently. Eliminate common subexpressions and simplify code.
14611 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
14612 (<any_logic:code><MODEF:mode>3): Make public.
14613
14614 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
14615
14616 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
14617 reverse flag as "reverse" for the sake of consistency.
14618 * ipa-sra.c: Fix copyright year.
14619 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
14620 (dump_isra_access): Tweak dump line.
14621 (isra_write_node_summary): Write the reverse flag.
14622 (isra_read_node_info): Read it.
14623 (pull_accesses_from_callee): Test its consistency and copy it.
14624
14625 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
14626
14627 PR middle-end/104026
14628 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
14629 partial_load_store_bias.
14630
14631 2022-01-14 Martin Sebor <msebor@redhat.com>
14632
14633 PR middle-end/101475
14634 * pointer-query.cc (handle_component_ref): Use the size of
14635 the enclosing object if it's smaller than the member.
14636
14637 2022-01-14 Martin Liska <mliska@suse.cz>
14638
14639 * configure: Regenerate.
14640
14641 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
14642
14643 * config/i386/i386.md (*add<mode>_1_slp"):
14644 Mark alternative 1 output operand earlyclobbered.
14645 (*sub<mode>_1_slp): Ditto.
14646 (*and<mode>_1_slp): Ditto.
14647 (*<code><mode>_1_slp): Ditto.
14648 (*neg<mode>_1_slp): Ditto.
14649 (*one_cmpl<mode>_1_slp): Ditto.
14650 (*ashl<mode>3_1_slp): Ditto.
14651 (*<insn><mode>3_1_slp): Ditto.
14652 (*<insn><mode>3_1_slp): Ditto.
14653
14654 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
14655
14656 PR tree-optimization/104015
14657 * tree-vect-loop.c (vect_analyze_loop): Check
14658 param_vect_partial_vector_usage for supports_partial_vectors.
14659
14660 2022-01-14 Jakub Jelinek <jakub@redhat.com>
14661
14662 PR c++/89074
14663 * fold-const.c (address_compare): Punt on comparison of address of
14664 one object with address of end of another object if
14665 folding_initializer.
14666
14667 2022-01-14 Jakub Jelinek <jakub@redhat.com>
14668
14669 PR target/98737
14670 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
14671 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
14672 and __atomic_op_fetch (p, x, y) iop x into
14673 __atomic_fetch_op (p, x, y).
14674
14675 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
14676
14677 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
14678 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
14679 (INCOMING_RETURN_ADDR_RTX): Likewise.
14680 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
14681
14682 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
14683
14684 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
14685 computin checking accumulator regs.
14686 (arc_expand_prologue): Update comments.
14687 (arc_expand_epilogue): Likewise.
14688
14689 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
14690 Uroš Bizjak <ubizjak@gmail.com>
14691
14692 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
14693 (ix86_expand_ti_to_v1ti): Use force_reg.
14694 (ix86_expand_v1ti_shift): Use force_reg.
14695 (ix86_expand_v1ti_rotate): Use force_reg.
14696 (ix86_expand_v1ti_ashiftrt): Provide new three operation
14697 implementations for shifts by 111..126 bits. Use force_reg.
14698
14699 2022-01-14 Martin Liska <mliska@suse.cz>
14700
14701 * common/config/arm/arm-common.c (arm_target_mode): Fix
14702 warning: unterminated quoting directive [-Wformat=].
14703
14704 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
14705
14706 PR tree-optimization/104009
14707 * tree-object-size.c (compute_builtin_object_size): Bail out on
14708 negative offset.
14709 (plus_stmt_object_size): Return maximum of wholesize and minimum
14710 of 0 for negative offset.
14711
14712 2022-01-14 liuhongt <hongtao.liu@intel.com>
14713
14714 PR target/104001
14715 PR target/94790
14716 PR target/104014
14717 * config/i386/i386.md (*xor2andn): Refine predicate of
14718 operands[0] from nonimmediate_operand to
14719 register_operand, remove TARGET_AVX512BW from condition.
14720
14721 2022-01-14 David Malcolm <dmalcolm@redhat.com>
14722
14723 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
14724 be used on field decls.
14725 (Common Function Attributes): Add entry on "tainted_args" attribute.
14726
14727 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
14728 Jason Merrill <jason@redhat.com>
14729
14730 PR c++/70417
14731 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
14732
14733 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14734
14735 PR target/103861
14736 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
14737 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
14738 * config/i386/mmx.md (<any_shift:insn>v2qi):
14739 New insn_and_split pattern.
14740
14741 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
14742
14743 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
14744 (expand_partial_store_optab_fn): Likewise.
14745 (internal_len_load_store_bias): New function.
14746 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
14747 (internal_len_load_store_bias): New function.
14748 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
14749 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
14750 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
14751 (vect_estimate_min_profitable_iters): Account for bias.
14752 (vect_get_loop_len): Add bias-adjusted length.
14753 * tree-vect-stmts.c (vectorizable_store): Use.
14754 (vectorizable_load): Use.
14755 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
14756 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
14757 * config/rs6000/vsx.md: Use const0 bias predicate.
14758 * doc/md.texi: Document bias value.
14759
14760 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
14761
14762 PR tree-optimization/83072
14763 PR tree-optimization/83073
14764 PR tree-optimization/97909
14765 * fold-const.c (expr_not_equal_to): Use a multi-range class.
14766
14767 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
14768
14769 PR tree-optimization/96707
14770 * range-op.cc (operator_rshift::lhs_op1_relation): New.
14771
14772 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14773
14774 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
14775 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
14776 (negv2qi splitters): Use lowpart_subreg instead of
14777 gen_lowpart to create subreg.
14778 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
14779 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
14780 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
14781 gen_lowpart to create subreg.
14782 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
14783
14784 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
14785
14786 PR target/104003
14787 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
14788
14789 2022-01-13 Martin Liska <mliska@suse.cz>
14790
14791 * common/config/arm/arm-common.c (arm_target_mode): Wrap
14792 keywords with %<, %> and remove trailing punctuation char.
14793 (arm_canon_arch_option_1): Likewise.
14794 (arm_asm_auto_mfpu): Likewise.
14795 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
14796 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
14797 (use_vfp_abi): Likewise.
14798 (aapcs_vfp_is_call_or_return_candidate): Likewise.
14799 (arm_handle_cmse_nonsecure_entry): Likewise.
14800 (arm_handle_cmse_nonsecure_call): Likewise.
14801 (thumb1_md_asm_adjust): Likewise.
14802
14803 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
14804
14805 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
14806 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
14807 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
14808 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
14809 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
14810 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
14811 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
14812 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
14813 macro.
14814
14815 2022-01-13 Jakub Jelinek <jakub@redhat.com>
14816
14817 PR tree-optimization/103989
14818 * tree-inline.c (setup_one_parameter): Don't copy parms with
14819 empty type.
14820
14821 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
14822
14823 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
14824 'TYPE_ADDR_SPACE' for offloading.
14825 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
14826 'TYPE_ADDR_SPACE' for offloading.
14827
14828 2022-01-13 Julian Brown <julian@codesourcery.com>
14829 Thomas Schwinge <thomas@codesourcery.com>
14830
14831 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
14832 of...
14833 (add_async_clauses_and_wait): ...here. Call new outlined function.
14834 (decompose_kernels_region_body): Add wait at the end of
14835 explicitly-asynchronous kernels regions.
14836
14837 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
14838
14839 PR middle-end/100280
14840 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
14841 Mark variables used in synthesized data clauses as addressable.
14842
14843 2022-01-13 Martin Liska <mliska@suse.cz>
14844
14845 * config/epiphany/epiphany.c (epiphany_mode_priority):
14846 Use gcc_unreachable for not handled cases.
14847
14848 2022-01-13 Martin Liska <mliska@suse.cz>
14849
14850 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
14851 Use %qs format specifier.
14852 (epiphany_override_options): Wrap keyword in %<, %>.
14853
14854 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
14855
14856 PR target/94790
14857 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
14858
14859 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
14860
14861 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
14862
14863 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
14864
14865 PR target/100637
14866 PR target/103861
14867 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
14868 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
14869 when constructing vector logic RTXes.
14870 (expand_vec_perm_pshufb2): Ditto.
14871 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
14872 (<plusminus:insn>v2qi3): Ditto.
14873 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
14874 (vcondu<mode><mode>): Ditto.
14875 (vcond_mask_<mode><mode>): Ditto.
14876 (one_cmpl<VI_32:mode>2): Remove expander.
14877 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
14878 Use VI_16_32 mode iterator.
14879 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
14880 Use lowpart_subreg instead of gen_lowpart to create subreg.
14881 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
14882 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
14883 Disparage GPR alternative a bit. Add CC clobber.
14884 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
14885 Use lowpart_subreg instead of gen_lowpart to create subreg.
14886 (*<any_logic:code><VI_16_32:mode>3): Merge from
14887 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
14888 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
14889 Add CC clobber.
14890 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
14891 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
14892
14893 2022-01-12 Clément Chigot <clement.chigot@atos.net>
14894
14895 * configure.ac: Check sizeof ino_t and dev_t.
14896 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
14897 syscall being able to handle 64bit inodes.
14898 * config.in: Regenerate.
14899 * configure: Regenerate.
14900 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
14901 (remove_duplicates): Use it.
14902
14903 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
14904
14905 PR tree-optimization/103551
14906 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
14907
14908 2022-01-12 Richard Biener <rguenther@suse.de>
14909
14910 PR tree-optimization/103990
14911 * tree-pass.h (tail_merge_optimize): Drop unused argument.
14912 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
14913 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
14914 and adjust call to tail_merge_optimize.
14915
14916 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
14917
14918 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
14919 does not add autovectorize_vector_modes.
14920
14921 2022-01-12 Martin Liska <mliska@suse.cz>
14922
14923 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
14924 %qs where possible.
14925 (aarch64_parse_sve_width_string): Likewise.
14926 (aarch64_override_options_internal): Likewise.
14927 (aarch64_print_hint_for_extensions): Likewise.
14928 (aarch64_validate_sls_mitigation): Likewise.
14929 (aarch64_handle_attr_arch): Likewise.
14930 (aarch64_handle_attr_cpu): Likewise.
14931 (aarch64_handle_attr_tune): Likewise.
14932 (aarch64_handle_attr_isa_flags): Likewise.
14933
14934 2022-01-12 Martin Liska <mliska@suse.cz>
14935
14936 * config.gcc: Include elfos.h before ${tm_file}.
14937
14938 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14939
14940 * config/cris/cris.c: Quote identifiers in parameters to error
14941 and internal_error, and remove extraneous spaces with punctuation.
14942 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
14943 expression to internal_error, pass it as a parameter instead of
14944 appending it to the format part.
14945
14946 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
14947
14948 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
14949 parameter to as_a.
14950
14951 2022-01-11 qing zhao <qing.zhao@oracle.com>
14952
14953 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
14954 Change the 3rd argument of function .DEFERRED_INIT to the name of the
14955 decl.
14956 (gimplify_decl_expr): Delete the 3rd argument when call
14957 gimple_add_init_for_auto_var.
14958 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
14959 the 3rd argument change of function .DEFERRED_INIT.
14960 * tree-cfg.c (verify_gimple_call): Update comments and verification
14961 to reflect the 3rd argument change of function .DEFERRED_INIT.
14962 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
14963 (sra_modify_deferred_init): Change the 3rd argument of function
14964 .DEFERRED_INIT to the name of the decl.
14965
14966 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
14967
14968 * flag-types.h (enum gfc_convert): Add flags for
14969 conversion.
14970
14971 2022-01-11 Michael Meissner <meissner@the-meissners.org>
14972
14973 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
14974 checks for only C/C++ front ends before allowing the long double
14975 format to change without a warning.
14976
14977 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
14978
14979 PR rtl-optimization/103974
14980 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
14981 extra argument, default true, that says whether old-reload
14982 targets should be excluded.
14983 * ira-color.c (color_pass): Pass false.
14984
14985 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
14986
14987 PR target/103861
14988 * config/i386/mmx.md (vcond<mode><mode>):
14989 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
14990 (vcondu<mode><mode>): Ditto.
14991 (vcond_mask_<mode><mode>): Ditto.
14992 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
14993 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
14994 Use VI_16_32 mode iterator.
14995 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
14996 Update for rename. Handle V2QImode.
14997 (expand_vec_perm_blend): Update for rename.
14998
14999 2022-01-11 Jakub Jelinek <jakub@redhat.com>
15000
15001 PR c++/101597
15002 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
15003
15004 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15005
15006 PR middle-end/70090
15007 * tree-object-size.c (size_valid_p): New function.
15008 (size_for_offset): Remove OFFSET constness assertion.
15009 (addr_object_size): Build dynamic expressions for object
15010 sizes and use size_valid_p to decide if it is valid for the
15011 given OBJECT_SIZE_TYPE.
15012 (compute_builtin_object_size): Allow dynamic offsets when
15013 computing size at O0.
15014 (call_object_size): Call size_valid_p.
15015 (plus_stmt_object_size): Allow non-constant offset and use
15016 size_valid_p to decide if it is valid for the given
15017 OBJECT_SIZE_TYPE.
15018
15019 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15020
15021 PR middle-end/70090
15022 * tree-object-size.c (alloc_object_size): Make and return
15023 non-constant size expression.
15024 (call_object_size): Return expression or unknown based on
15025 whether dynamic object size is requested.
15026
15027 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15028
15029 PR middle-end/70090
15030 * tree-object-size.c: Include tree-dfa.h.
15031 (parm_object_size): New function.
15032 (collect_object_sizes_for): Call it.
15033
15034 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15035
15036 PR middle-end/70090
15037 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
15038 expressions.
15039 * tree-object-size.c: Include gimplify-me.h.
15040 (struct object_size_info): New member UNKNOWNS.
15041 (size_initval_p, size_usable_p, object_sizes_get_raw): New
15042 functions.
15043 (object_sizes_get): Return suitable gimple variable for
15044 object size.
15045 (bundle_sizes): New function.
15046 (object_sizes_set): Use it and handle dynamic object size
15047 expressions.
15048 (object_sizes_set_temp): New function.
15049 (size_for_offset): Adjust for dynamic size expressions.
15050 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
15051 New functions.
15052 (compute_builtin_object_size): Call gimplify_size_expressions
15053 for OST_DYNAMIC.
15054 (dynamic_object_size): New function.
15055 (cond_expr_object_size): Use it.
15056 (phi_dynamic_object_size): New function.
15057 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
15058 accommodate dynamic object sizes.
15059
15060 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15061 Jakub Jelinek <jakub@redhat.com>
15062
15063 PR tree-optimization/103961
15064 * tree-object-size.c (plus_stmt_object_size): Always avoid
15065 computing offset for -1 size.
15066
15067 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
15068
15069 PR tree-optimization/103821
15070 * range-op.cc (range_operator::fold_range): Only do precise ranges
15071 when there are not too many subranges.
15072
15073 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
15074
15075 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
15076 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
15077
15078 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
15079 Richard Biener <rguenther@suse.de>
15080
15081 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
15082 highpart_mults_inserted field.
15083 (convert_mult_to_highpart): New function to convert right shift
15084 of a widening multiply into a MULT_HIGHPART_EXPR.
15085 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
15086 Call new convert_mult_to_highpart function.
15087 (pass_optimize_widening_mul::execute): Add a statistics counter
15088 for tracking "highpart multiplications inserted" events.
15089
15090 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
15091
15092 PR target/102239
15093 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
15094 declare.
15095 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
15096 function.
15097 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
15098
15099 2022-01-11 Olivier Hainque <hainque@adacore.com>
15100
15101 * gcc.c (driver_handle_option): State --sysroot as
15102 validated.
15103
15104 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
15105
15106 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
15107 useless related to option -mno-power10.
15108
15109 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
15110
15111 PR target/53652
15112 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
15113 operands[1] from register_operand to vector_operand.
15114
15115 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
15116
15117 PR target/103861
15118 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
15119 Handle V2QImode.
15120 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
15121 Use VI1_16_32 mode iterator.
15122 (*eq<mode>3): Ditto.
15123 (*gt<mode>3): Ditto.
15124 (*xop_maskcmp<mode>3): Ditto.
15125 (*xop_maskcmp_uns<mode>3): Ditto.
15126 (vec_cmp<mode><mode>): Ditto.
15127 (vec_cmpu<mode><mode>): Ditto.
15128
15129 2022-01-10 Richard Biener <rguenther@suse.de>
15130
15131 PR tree-optimization/103948
15132 * tree-vect-generic.c (expand_vector_condition): Return true if
15133 all ones vector is returned for true, all zeros vector for false
15134 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
15135
15136 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
15137
15138 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
15139 when _ARCH_PWR10. Use signed types.
15140 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
15141 (_mm_blendv_pd): Likewise.
15142
15143 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
15144
15145 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
15146 epilogue costing.
15147 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
15148 epilogues, unless we are guaranteed that we can't have partial vectors.
15149 * genopinit.c: (partial_vectors_supported): Generate new function.
15150
15151 2022-01-10 Jakub Jelinek <jakub@redhat.com>
15152
15153 PR target/102024
15154 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
15155 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
15156 always ignore them, when seeing other zero sized bitfields, either
15157 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
15158 it. Pass it to recursive calls. Add wrapper
15159 with old arguments and diagnose ABI differences for C structures
15160 with zero width bitfields. Formatting fixes.
15161
15162 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15163
15164 PR rtl-optimization/98782
15165 * ira-int.h (ira_soft_conflict): Declare.
15166 * ira-color.c (max_soft_conflict_loop_depth): New constant.
15167 (ira_soft_conflict): New function.
15168 (spill_soft_conflicts): Likewise.
15169 (assign_hard_reg): Use them to handle the case described by
15170 the comment above ira_soft_conflict.
15171 (improve_allocation): Likewise.
15172 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
15173 to share the same register.
15174
15175 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15176
15177 PR rtl-optimization/98782
15178 * ira-int.h (ira_caller_save_cost): New function.
15179 (ira_caller_save_loop_spill_p): Likewise.
15180 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
15181 cheaper to spill a call-clobbered register throughout a loop rather
15182 than spill it around each individual call. If so, treat all
15183 call-clobbered registers as conflicts and...
15184 (propagate_allocno_info): ...do not propagate call information
15185 from the child to the parent.
15186 * ira-color.c (move_spill_restore): Update accordingly.
15187 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
15188
15189 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15190
15191 PR rtl-optimization/98782
15192 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
15193 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
15194 (ira_single_region_allocno_p): New function.
15195 (ira_total_conflict_hard_regs): Likewise.
15196 * ira-build.c (ira_create_allocno): Initialize
15197 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
15198 (ira_propagate_hard_reg_costs): New function.
15199 (propagate_allocno_info): Use it. Try to avoid propagating
15200 hard register conflicts to parent allocnos if we can handle
15201 the conflicts by spilling instead. Limit the propagated
15202 register costs to the cost of spilling throughout the child loop.
15203 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
15204 test whether a child and parent allocno can share the same
15205 register.
15206 (move_spill_restore): Adjust for the new behavior of
15207 propagate_allocno_info.
15208
15209 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15210
15211 PR rtl-optimization/98782
15212 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
15213 extracted from...
15214 * ira-color.c (color_pass): ...here.
15215
15216 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15217
15218 PR rtl-optimization/98782
15219 * ira-color.c (color_pass): Add comments to describe the spill costs.
15220 (move_spill_restore): Likewise. Fix reversed calculation.
15221
15222 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15223
15224 PR rtl-optimization/98782
15225 * ira-int.h (ira_loop_border_costs): New class.
15226 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
15227 New constructor.
15228 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
15229 (color_pass): Likewise.
15230 (move_spill_restore): Likewise.
15231
15232 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
15233
15234 PR target/103465
15235 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
15236
15237 2022-01-10 Richard Biener <rguenther@suse.de>
15238
15239 PR tree-optimization/100359
15240 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
15241 Allow non-growing peeling with !allow_peel and UL_ALL.
15242
15243 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
15244
15245 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
15246 special case for TImode to V1TImode moves, going via V2DImode.
15247
15248 2022-01-08 Jakub Jelinek <jakub@redhat.com>
15249
15250 PR c++/89074
15251 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
15252 simplification.
15253
15254 2022-01-08 David Malcolm <dmalcolm@redhat.com>
15255
15256 * doc/analyzer.texi
15257 (Special Functions for Debugging the Analyzer): Document
15258 __analyzer_dump_escaped.
15259
15260 2022-01-08 David Malcolm <dmalcolm@redhat.com>
15261
15262 * doc/analyzer.texi (Other Debugging Techniques): Document
15263 region::is_named_decl_p.
15264
15265 2022-01-07 Andrew Pinski <apinski@marvell.com>
15266
15267 PR target/102941
15268 * config/arm/aarch-common.c (arm_md_asm_adjust):
15269 Use a temp if !REG_P.
15270
15271 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
15272
15273 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
15274 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
15275
15276 2022-01-07 liuhongt <hongtao.liu@intel.com>
15277
15278 PR rtl-optimization/103750
15279 * fwprop.c (forward_propagate_into): Allow propagations from
15280 inner loop to outer loop.
15281
15282 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
15283
15284 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
15285
15286 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
15287
15288 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
15289 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
15290 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
15291
15292 2022-01-07 liuhongt <hongtao.liu@intel.com>
15293
15294 * config/i386/sse.md
15295 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
15296 UNSPEC_PCMP_UNSIGNED.
15297
15298 2022-01-07 liuhongt <hongtao.liu@intel.com>
15299
15300 PR target/103753
15301 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
15302 gen_avx2_pblendph_1 when elt == 0.
15303 * config/i386/sse.md (avx2_pblendph): Rename to ..
15304 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
15305 (*avx2_pblendw): Rename to ..
15306 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
15307 (avx2_pblendw): Rename to ..
15308 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
15309 (blendsuf): Removed.
15310 (sse4_1_pblend<blendsuf>): Renamed to ..
15311 (sse4_1_pblend<ssemodesuffix>): .. this.
15312
15313 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
15314
15315 PR target/103925
15316 * config/i386/i386.c (ix86_output_indirect_function_return):
15317 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
15318
15319 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
15320
15321 PR target/102952
15322 * config/i386/i386-opts.h (harden_sls): Replace
15323 harden_sls_indirect_branch with harden_sls_indirect_jmp.
15324 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
15325 Likewise.
15326 (ix86_output_indirect_jmp): Likewise.
15327 (ix86_output_call_insn): Likewise.
15328 * config/i386/i386.opt: Replace indirect-branch with
15329 indirect-jmp. Replace harden_sls_indirect_branch with
15330 harden_sls_indirect_jmp.
15331 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
15332 indirect-jmp.
15333
15334 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
15335
15336 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
15337 Add %q modifier for operands in general registers.
15338 <MODE_SI>: Add %q modifier for operands in general registers.
15339 * config/i386/i386.md (*movhi_internal): Change type attribute of
15340 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
15341 to SImode for non-avx512fp16 targets.
15342 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
15343 * config/i386/mmx.md (*movv2qi_internal):
15344 Ditto for xmm-gpr interunit alternatives 8,9.
15345
15346 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
15347
15348 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
15349 vector extensions.
15350 (riscv_ext_version_table): Add version info for vector extensions.
15351 (riscv_ext_flag_table): Add option mask for vector extensions.
15352 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
15353 (MASK_VECTOR_EEW_64): New.
15354 (MASK_VECTOR_EEW_FP_32): New.
15355 (MASK_VECTOR_EEW_FP_64): New.
15356 (MASK_ZVL32B): New.
15357 (MASK_ZVL64B): New.
15358 (MASK_ZVL128B): New.
15359 (MASK_ZVL256B): New.
15360 (MASK_ZVL512B): New.
15361 (MASK_ZVL1024B): New.
15362 (MASK_ZVL2048B): New.
15363 (MASK_ZVL4096B): New.
15364 (MASK_ZVL8192B): New.
15365 (MASK_ZVL16384B): New.
15366 (MASK_ZVL32768B): New.
15367 (MASK_ZVL65536B): New.
15368 (TARGET_ZVL32B): New.
15369 (TARGET_ZVL64B): New.
15370 (TARGET_ZVL128B): New.
15371 (TARGET_ZVL256B): New.
15372 (TARGET_ZVL512B): New.
15373 (TARGET_ZVL1024B): New.
15374 (TARGET_ZVL2048B): New.
15375 (TARGET_ZVL4096B): New.
15376 (TARGET_ZVL8192B): New.
15377 (TARGET_ZVL16384B): New.
15378 (TARGET_ZVL32768B): New.
15379 (TARGET_ZVL65536B): New.
15380 * config/riscv/riscv.opt (Mask(VECTOR)): New.
15381 (riscv_vector_eew_flags): New.
15382 (riscv_zvl_flags): New.
15383
15384 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
15385
15386 * common/config/riscv/riscv-common.c
15387 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
15388 digit.
15389
15390 2022-01-06 Jakub Jelinek <jakub@redhat.com>
15391
15392 PR tree-optimization/103899
15393 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
15394 warning by moving context variable to the only spot where it is used
15395 and moving gcc_assert into if body.
15396
15397 2022-01-06 Jakub Jelinek <jakub@redhat.com>
15398
15399 PR rtl-optimization/103908
15400 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
15401 asm goto.
15402
15403 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
15404
15405 PR target/103622
15406 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
15407 Skip over instances with undefined function types.
15408
15409 2022-01-05 Andrew Pinski <apinski@marvell.com>
15410
15411 PR target/103910
15412 * config/i386/i386.h (x86_mfence): Mark with GTY.
15413
15414 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15415
15416 PR target/103861
15417 * config/i386/mmx.md (VI_16_32): New mode iterator.
15418 (VI1_16_32): Ditto.
15419 (mmxvecsize): Handle V2QI mode.
15420 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
15421 Use VI1_16_32 mode iterator.
15422 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
15423 Use VI1_16_32 mode iterator.
15424 (abs<mode>2): Use VI_16_32 mode iterator.
15425 (uavgv2qi3_ceil): New insn pattern.
15426
15427 2022-01-05 Martin Sebor <msebor@redhat.com>
15428
15429 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
15430 %qs to avoid -Wformat-diag.
15431
15432 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15433
15434 PR target/103915
15435 * config/i386/mmx.md (one_cmplv2qi2): Change
15436 alternatives 1,2 type from sselog to sselog1.
15437
15438 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15439
15440 PR target/103905
15441 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
15442 narrow mode remapped elements for !one_operand_p case.
15443
15444 2022-01-05 Richard Biener <rguenther@suse.de>
15445
15446 PR tree-optimization/103816
15447 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
15448 check DR_GROUP_GAP compute for overflow and representability.
15449
15450 2022-01-05 Jakub Jelinek <jakub@redhat.com>
15451
15452 PR fortran/103691
15453 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
15454 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
15455 it can do unwanted rhs folding like &a[0] into &2.0 etc.
15456
15457 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
15458
15459 PR ipa/102059
15460 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
15461 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
15462 (rs6000_need_ipa_fn_target_info): New function.
15463 (rs6000_update_ipa_fn_target_info): Likewise.
15464 (rs6000_can_inline_p): Adjust for ipa function summary target info.
15465 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
15466 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
15467 summary target info.
15468 (analyze_function_body): Adjust for ipa function summary target info
15469 and call hook rs6000_need_ipa_fn_target_info and
15470 rs6000_update_ipa_fn_target_info.
15471 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
15472 target info.
15473 (inline_read_section): Likewise.
15474 (ipa_fn_summary_write): Likewise.
15475 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
15476 * doc/tm.texi: Regenerate.
15477 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
15478 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
15479 * target.def (update_ipa_fn_target_info): New hook.
15480 (need_ipa_fn_target_info): Likewise.
15481 * targhooks.c (default_need_ipa_fn_target_info): New function.
15482 (default_update_ipa_fn_target_info): Likewise.
15483 * targhooks.h (default_update_ipa_fn_target_info): New declare.
15484 (default_need_ipa_fn_target_info): Likewise.
15485
15486 2022-01-04 Martin Sebor <msebor@redhat.com>
15487
15488 PR middle-end/99612
15489 * builtins.c (get_memmodel): Move warning code to
15490 gimple-ssa-warn-access.cc.
15491 (expand_builtin_atomic_compare_exchange): Same.
15492 (expand_ifn_atomic_compare_exchange): Same.
15493 (expand_builtin_atomic_load): Same.
15494 (expand_builtin_atomic_store): Same.
15495 (expand_builtin_atomic_clear): Same.
15496 * doc/extend.texi (__atomic_exchange_n): Update valid memory
15497 models.
15498 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
15499 (struct memmodel_pair): New struct.
15500 (memmodel_name): New function.
15501 (pass_waccess::maybe_warn_memmodel): New function.
15502 (pass_waccess::check_atomic_memmodel): New function.
15503 (pass_waccess::check_atomic_builtin): Handle memory model.
15504 * input.c (expansion_point_location_if_in_system_header): Return
15505 original location if expansion location is in a system header.
15506
15507 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
15508
15509 PR target/103861
15510 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
15511 (one_cmplv2qi3 splitters): New post-reload splitters.
15512 (*andnotv2qi3): New insn pattern.
15513 (andnotv2qi3 splitters): New post-reload splitters.
15514 (<any_logic:code>v2qi3): New insn pattern.
15515 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
15516
15517 2022-01-04 Richard Biener <rguenther@suse.de>
15518
15519 PR tree-optimization/103800
15520 * tree-vect-loop.c (vectorizable_phi): Remove assert and
15521 expand comment.
15522
15523 2022-01-04 Richard Biener <rguenther@suse.de>
15524
15525 PR tree-optimization/103690
15526 * tree-pass.h (tail_merge_optimize): Adjust.
15527 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
15528 to re-split critical edges, move CFG cleanup ...
15529 * tree-ssa-pre.c (pass_pre::execute): ... here, before
15530 simple_dce_from_worklist and delay freeing inserted_exprs from
15531 ...
15532 (fini_pre): .. here.
15533
15534 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
15535
15536 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
15537 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
15538 (setcc_from_bi): Remove SImode specific pattern.
15539 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
15540 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
15541 for sign- and zero-extending BImode predicates to integers.
15542 (setcc_int<mode>): Remove previous (-1-based) instructions.
15543 (cstorebi4): Remove BImode to SImode specific expander.
15544 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
15545 (cstore<mode>4): For both integer and floating point modes.
15546
15547 2022-01-04 Olivier Hainque <hainque@adacore.com>
15548
15549 * gcc.c (driver_handle_option): do_save --sysroot.
15550
15551 2022-01-04 Richard Biener <rguenther@suse.de>
15552
15553 PR tree-optimization/103864
15554 PR tree-optimization/103544
15555 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
15556 reductions wrapped in conversions from SLP handling.
15557 (vect_analyze_slp): Revert PR103544 change.
15558
15559 2022-01-04 Jakub Jelinek <jakub@redhat.com>
15560
15561 PR rtl-optimization/103860
15562 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
15563 uselessly for blocks for which it has been called already.
15564
15565 2022-01-04 Cui,Lili <lili.cui@intel.com>
15566
15567 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
15568 to Alderlake and Rocketlake.
15569
15570 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
15571
15572 PR middle-end/103643
15573 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
15574 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
15575
15576 2022-01-04 liuhongt <hongtao.liu@intel.com>
15577
15578 PR target/103895
15579 * config/i386/sse.md (*bit_and_float_vector_all_ones):
15580 Force_reg operand 1 to avoid ICE.
15581
15582 2022-01-04 Jason Merrill <jason@redhat.com>
15583
15584 * tree-pretty-print.c (do_niy): Add spc parameter.
15585 (NIY): Pass it.
15586 (print_call_name): Add spc local variable.
15587
15588 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
15589
15590 PR target/103894
15591 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
15592 (mov<V_32:mode>_internal): Ditto.
15593 (*push<V_32:mode>_rex64): Ditto.
15594 (movmisalign<V_32:mode>): Ditto.
15595 (*push<V_32:mode>_rex64 splitter): Enable for
15596 TARGET_64BIT && TARGET_SSE.
15597 (*push<V_32:mode>2): Remove insn pattern.
15598
15599 2022-01-03 Andrew Pinski <apinski@marvell.com>
15600
15601 PR c/33193
15602 * doc/extend.texi: Extend the documentation about Complex
15603 types for casting and also rewrite the __real__/__imag__
15604 expression portion to use tables.
15605 Move __builtin_complex to the Complex type section.
15606
15607 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15608
15609 PR target/98737
15610 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
15611 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
15612 New internal fns.
15613 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
15614 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
15615 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
15616 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
15617 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
15618 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
15619 functions.
15620 * optabs.def (atomic_add_fetch_cmp_0_optab,
15621 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
15622 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
15623 direct optabs.
15624 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
15625 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
15626 * tree-ssa-ccp.c: Include internal-fn.h.
15627 (optimize_atomic_bit_test_and): Add . before internal fn call
15628 in function comment. Change return type from void to bool and
15629 return true only if successfully replaced.
15630 (optimize_atomic_op_fetch_cmp_0): New function.
15631 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
15632 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
15633 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
15634 for *XOR* ones only if optimize_atomic_bit_test_and failed.
15635 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
15636 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
15637 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
15638 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
15639 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
15640 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
15641 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
15642 new named patterns.
15643
15644 2022-01-03 Richard Biener <rguenther@suse.de>
15645
15646 PR middle-end/103851
15647 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
15648
15649 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15650
15651 PR c++/94716
15652 * symtab.c: Include fold-const.h.
15653 (symtab_node::equal_address_to): If folding_initializer is true,
15654 handle it like memory_accessed. Simplify.
15655
15656 2022-01-03 Martin Liska <mliska@suse.cz>
15657
15658 * doc/extend.texi: Use ; for function declarations.
15659
15660 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15661
15662 PR c++/103600
15663 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
15664 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
15665
15666 2022-01-03 Jakub Jelinek <jakub@redhat.com>
15667
15668 * gcc.c (process_command): Update copyright notice dates.
15669 * gcov-dump.c (print_version): Ditto.
15670 * gcov.c (print_version): Ditto.
15671 * gcov-tool.c (print_version): Ditto.
15672 * gengtype.c (create_file): Ditto.
15673 * doc/cpp.texi: Bump @copying's copyright year.
15674 * doc/cppinternals.texi: Ditto.
15675 * doc/gcc.texi: Ditto.
15676 * doc/gccint.texi: Ditto.
15677 * doc/gcov.texi: Ditto.
15678 * doc/install.texi: Ditto.
15679 * doc/invoke.texi: Ditto.
15680
15681 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
15682
15683 PR target/103861
15684 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
15685 (VALID_INT_MODE_P): Ditto.
15686 * config/i386/i386.c (ix86_secondary_reload): Handle
15687 V2QImode reloads from SSE register to memory.
15688 (vector_mode_supported_p): Always return true for V2QImode.
15689 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
15690 (*negqi_ext<mode>_2): Ditto.
15691 * config/i386/mmx.md (movv2qi): New expander.
15692 (movmisalignv2qi): Ditto.
15693 (*movv2qi_internal): New insn pattern.
15694 (*pushv2qi2): Ditto.
15695 (negv2qi2 and splitters): Ditto.
15696 (<plusminus:insn>v2qi3 and splitters): Ditto.
15697
15698 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
15699
15700 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
15701 sync_lock_test_and_set libfunc. Call convert_memory_address to
15702 convert memory address to Pmode.
15703 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
15704
15705 \f
15706 Copyright (C) 2022 Free Software Foundation, Inc.
15707
15708 Copying and distribution of this file, with or without modification,
15709 are permitted in any medium without royalty provided the copyright
15710 notice and this notice are preserved.