]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2
3 * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
4 Add a new insn_and_split pattern, and a few split patterns for
5 spacial cases.
6
7 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
8
9 * graphds.cc (graphds_scc): Fix algorithm attribution.
10
11 2022-07-22 Richard Biener <rguenther@suse.de>
12
13 PR tree-optimization/106403
14 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
15 value valueization after check for IFN_MASKED_STORE or
16 IFN_LEN_STORE.
17
18 2022-07-22 Richard Biener <rguenther@suse.de>
19
20 PR tree-optimization/106397
21 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
22 not update SSA form here.
23 (mark_nontemporal_stores): Return whether we marked any
24 non-temporal stores and inserted mfence.
25 (loop_prefetch_arrays): Note when we need to update SSA.
26 (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
27 at the end of the pass.
28
29 2022-07-22 Richard Biener <rguenther@suse.de>
30
31 PR tree-optimization/106387
32 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
33 if ptr is not an SSA name.
34
35 2022-07-22 liuhongt <hongtao.liu@intel.com>
36
37 PR target/106038
38 * config/i386/mmx.md (<code><mode>3): New define_expand, it's
39 original "<code><mode>3".
40 (*<code><mode>3): New define_insn, it's original
41 "<code><mode>3" be extended to handle memory and immediate
42 operand with ix86_binary_operator_ok. Also adjust define_split
43 after it.
44 (mmxinsnmode): New mode attribute.
45 (*mov<mode>_imm): Refactor with mmxinsnmode.
46 * config/i386/predicates.md
47 (register_or_x86_64_const_vector_operand): New predicate.
48
49 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
50
51 * config/rs6000/altivec.md:
52 (vstrir_code_<mode>): Rename to...
53 (vstrir_direct_<mode>): ... this.
54 (vstrir_p_code_<mode>): Rename to...
55 (vstrir_p_direct_<mode>): ... this.
56 (vstril_code_<mode>): Rename to...
57 (vstril_direct_<mode>): ... this.
58 (vstril_p_code_<mode>): Rename to...
59 (vstril_p_direct_<mode>): ... this.
60
61 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
62
63 * config/rs6000/rs6000-c.cc: Update comments.
64 (rs6000_target_modify_macros): Remove bu_mask references.
65 (rs6000_define_or_undefine_macro): Replace bu_mask reference
66 with a rs6000_cpu value check.
67 (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
68 parameter from call to rs6000_target_modify_macros.
69 * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
70 rs6000_target_modify_macros_ptr): Remove parameter from extern
71 for the prototype.
72 * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
73 parameter from prototype, update calls to this function.
74 (rs6000_print_builtin_options): Remove prototype, call and function.
75 (rs6000_builtin_mask_calculate): Remove function.
76 (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
77 (rs6000_option_override_internal): Remove rs6000_builtin_mask var
78 and builtin_mask debug output.
79 (rs6000_builtin_mask_names): Remove.
80 (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
81 diff_bumask references; Update calls to rs6000_target_modify_ptr.
82 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
83
84 2022-07-21 Sam Feifer <sfeifer@redhat.com>
85
86 PR tree-optimization/94920
87 * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
88 (x <= 0 ? -x : 0): New simplification.
89
90 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
91
92 Revert:
93 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
94
95 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
96 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
97
98 2022-07-21 Richard Biener <rguenther@suse.de>
99
100 PR tree-optimization/106379
101 * match.pd (~(a ^ b) -> a == b): New pattern.
102
103 2022-07-21 Richard Biener <rguenther@suse.de>
104
105 PR tree-optimization/106378
106 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
107 LEN_STORE, add mode to initialize a may-def and handle
108 MASK_STORE that way.
109 (dse_optimize_stmt): Query may-defs. Handle internal
110 functions LEN_STORE and MASK_STORE similar to how
111 we handle memory builtins but without byte tracking.
112
113 2022-07-21 Richard Biener <rguenther@suse.de>
114
115 PR tree-optimization/106365
116 * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
117 the offset to start encoding of RHS from.
118 (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
119 (vn_walk_cb_data::push_partial_def): Allow the first partial
120 definition to be fully providing the def. Offset RHS
121 before encoding if requested.
122 (vn_reference_lookup_3): Initialize def_rhs everywhere.
123 Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
124
125 2022-07-21 Richard Biener <rguenther@suse.de>
126
127 * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
128 store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
129 and IFN_MASK_LOAD_LANES.
130 (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
131 IFN_LEN_STORE and IFN_MASK_STORE_LANES.
132
133 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
134
135 PR rtl-optimization/101347
136 * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
137 population of nonlocal_goto_handler_labels from here ...
138 (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
139 * rtlanal.cc (remove_node_from_insn_list): Verify that a
140 duplicate is not present in the remainder of the list.
141
142 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
143
144 * rtl.h (remove_node_from_expr_list): Remove declaration.
145 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
146
147 2022-07-20 Richard Biener <rguenther@suse.de>
148
149 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
150 invariant updated address when the input was invariant.
151
152 2022-07-20 liuhongt <hongtao.liu@intel.com>
153
154 * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
155 and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
156 * timevar.def (TV_TREE_POWCABS): New timevar.
157 * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
158 * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
159 (class pass_expand_powcabs): Ditto.
160 (pass_expand_powcabs::execute): Ditto.
161 (make_pass_expand_powcabs): Ditto.
162 (pass_cse_sincos::execute): Remove pow/cabs expand part.
163 (make_pass_cse_sincos): Ditto.
164
165 2022-07-20 Richard Biener <richard.guenther@gmail.com>
166 Hongtao Liu <hongtao.liu@intel.com>
167
168 PR tree-optimization/106010
169 * tree-complex.cc (init_dont_simulate_again): Lower complex
170 type move.
171 (expand_complex_move): Also expand COMPLEX_CST for rhs.
172
173 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
174
175 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
176 for incoming ranges on join nodes and add to worklist.
177
178 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
179
180 * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
181 (ranger_cache::range_from_dom): Put all nodes to be calculated
182 in the worklist and resolve after the dom walk.
183 * gimple-range-cache.h (resolve_dom): New prototype.
184
185 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
186
187 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
188 returns_twice calls.
189
190 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
191
192 * cfghooks.cc (duplicate_block): Expand comment.
193 * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
194 calls that may return twice.
195
196 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
197
198 * tree-ssa-sink.cc (select_best_block): Punt if selected block
199 has incoming abnormal edges.
200
201 2022-07-19 Martin Liska <mliska@suse.cz>
202
203 * doc/extend.texi: Remove trailing :.
204
205 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
206
207 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
208 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
209
210 2022-07-19 Richard Biener <rguenther@suse.de>
211
212 PR middle-end/106331
213 * builtins.cc (get_memory_rtx): Compute alignment from
214 the original address and set MEM_OFFSET to unknown when
215 we create a MEM_EXPR from the base object of the address.
216
217 2022-07-19 Richard Biener <rguenther@suse.de>
218
219 PR lto/106334
220 * dwarf2out.cc (dwarf2out_register_external_die): Allow
221 map entry re-use during WPA.
222
223 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
224 Richard Biener <rguenther@suse.de>
225
226 PR c/106264
227 * builtins.cc (fold_builtin_frexp): Call suppress_warning on
228 COMPOUND_EXPR to silence spurious warning if result isn't used.
229 (fold_builtin_modf): Likewise.
230 (do_mpfr_remquo): Likewise.
231
232 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
233
234 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
235 Change the relative cost of '(set (reg) (const_int N))' where
236 N fits into signed 12-bit from 4 to 0 if optimizing for size.
237 And use the appropriate macro instead of the bare number 4.
238
239 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
240
241 PR tree-optimization/106280
242 * value-relation.cc (dom_oracle::register_relation): Register
243 transitives only when it is possible for there to be one.
244 (dom_oracle::set_one_relation): Return NULL if this is an
245 existing relation.
246
247 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
248
249 * doc/invoke.texi (RISC-V Options): Add index references for
250 `mrelax' and `mriscv-attribute'.
251
252 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
253
254 * doc/invoke.texi (Option Summary): Add missing second space
255 around `-mstack-protector-guard-reg='.
256
257 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
258
259 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
260 (RISC-V Options): Likewise, and `-mriscv-attribute'.
261
262 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
263
264 * config/arc/arc-arch.h (arc_tune_attr): Add
265 ARC_TUNE_ARCHS4X_REL31A variant.
266 * config/arc/arc.cc (arc_override_options): Tune options for
267 release 310a.
268 (arc_sched_issue_rate): Use correct enum.
269 (arc600_corereg_hazard): Textual change.
270 (arc_hazard): Add release 310a tunning.
271 * config/arc/arc.md (tune): Update and take into consideration new
272 tune option.
273 (tune_dspmpy): Likewise.
274 (tune_store): New attribute.
275 * config/arc/arc.opt (mtune): New tune option.
276 * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
277 (hs4x_brcc_op): New instruction rezervation.
278 (hs4x_data_store_1_op): Likewise.
279 * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
280 * config/arc/arc-tables.opt: Regenerate.
281 * config/arc/t-multilib: Likewise.
282 * doc/invoke.texi (ARC): Update mcpu and tune sections.
283
284 2022-07-18 Richard Biener <rguenther@suse.de>
285
286 * tree-loop-distribution.cc (loop_distribution::distribute_loop):
287 When computing cost-based merging do not disregard builtin
288 classified partitions in some cases.
289
290 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
291
292 PR target/106253
293 * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
294 Delete.
295 * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
296 * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
297 Delete.
298 * config/arm/arm_neon_builtins.def (copysignf): Delete.
299 * config/arm/iterators.md (nvrint_pattern): New attribute.
300 * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
301 New pattern.
302 (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
303 Likewise.
304 (neon_copysignf<mode>): Rename to...
305 (copysign<mode>3): ...this.
306
307 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
308
309 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
310 pointer first when in interrupts.
311
312 2022-07-18 Richard Biener <rguenther@suse.de>
313
314 * tree-loop-distribution.cc (copy_loop_before): Add
315 the ability to replace the original LC PHI defs.
316 (generate_loops_for_partition): Pass through a flag
317 whether to redirect original LC PHI defs.
318 (generate_code_for_partition): Likewise.
319 (loop_distribution::distribute_loop): Compute the partition
320 that should provide the LC PHI defs for common reductions
321 and pass that down.
322
323 2022-07-18 Richard Ball <richard.ball@arm.com>
324
325 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
326 (aarch64_evpc_uzp): Likewise.
327 (aarch64_evpc_zip): Likewise.
328
329 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
330
331 PR target/106231
332 * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
333 to recognize any_extend:DI of ctz:SI which is implicitly extended.
334 (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
335 extended ctz:SI that has preceding xor to break false dependency.
336
337 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
338
339 * config/i386/predicates.md (x86_64_const_vector_operand):
340 Check the operand's mode matches the specified mode argument.
341
342 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
343
344 * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
345 (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
346 (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
347 (vec_pack_trunc_qi): Update to specify the now required
348 UNSPEC_MASKOP unspec.
349 (vec_pack_trunc_<mode>): Likewise.
350
351 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
352
353 * config/xtensa/xtensa.md
354 (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
355 *masktrue_const_shifted_mask): If the immediate for bitwise AND is
356 represented as '-(1 << N)', decrease the lower bound of N from 12
357 to 1. And the other immediate for conditional branch is now no
358 longer limited to zero, but also one of some positive integers.
359 Finally, remove the checks of some conditions, because the comparison
360 expressions that don't satisfy such checks are determined as
361 compile-time constants and thus will be optimized away before
362 RTL expansion.
363
364 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
365
366 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
367 (xtensa_constantsynth_2insn): Change to try all three synthetic
368 methods and to use the one that fits the immediate value of
369 the seed into a Narrow Move Immediate instruction "MOVI.N"
370 when the Code Density Option is configured.
371
372 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
373
374 PR target/85620
375 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
376 false if callee has indirect_return attribute and caller
377 doesn't.
378
379 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
380
381 PR target/106273
382 * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
383 constraints to reflect the output is earlyclobber, unless it is
384 the same register (pair) as one of the operands.
385
386 2022-07-15 David Malcolm <dmalcolm@redhat.com>
387
388 * doc/invoke.texi (Static Analyzer Options): Add the new fd
389 warnings to the initial gccoptlist, and to the list of those
390 disabled by -fanalyzer-checker=taint.
391
392 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
393
394 * config/aarch64/aarch64-builtins.cc
395 (enum aarch64_type_qualifiers): Remove qualifier_internal.
396 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
397
398 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
399
400 * config/aarch64/aarch64-builtins.cc
401 (v1di_UP): Add V1DI mode to _UP macros.
402 * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
403 * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
404 * config/aarch64/aarch64-simd.md
405 (vec_extractv2dfv1df): Replace with...
406 (vec_extract<mode><V1half>): ...this.
407 * config/aarch64/aarch64.cc
408 (aarch64_classify_vector_mode): Add V1DI mode.
409 * config/aarch64/iterators.md
410 (VQ_2E, V1HALF, V1half): New.
411 (nunits): Add V1DI mode.
412
413 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
414
415 PR target/106278
416 * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
417 Fix indentation whitespace.
418 (timode_scalar_chain::fix_debug_reg_uses): Likewise.
419 (timode_scalar_chain::convert_insn): Delete dead code.
420 Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
421 Fix indentation whitespace.
422 (convertible_comparison_p): Likewise.
423 (timode_scalar_to_vector_candidate_p): Likewise.
424
425 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
426
427 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
428
429 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
430
431 * Makefile.in (OBJS): Add value-range-pretty-print.o.
432 * pretty-print.h (pp_vrange): New.
433 * value-range.cc (vrange::dump): Call pp version.
434 (unsupported_range::dump): Move to its own file.
435 (dump_bound_with_infinite_markers): Same.
436 (irange::dump): Same.
437 (irange::dump_bitmasks): Same.
438 (vrange::debug): Remove.
439 * value-range.h: Remove virtual designation for dump methods.
440 Remove dump_bitmasks method.
441 * value-range-pretty-print.cc: New file.
442 * value-range-pretty-print.h: New file.
443
444 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
445
446 * value-range.cc (irange::accept): New.
447 (unsupported_range::accept): New.
448 * value-range.h (class vrange_visitor): New.
449 (class vrange): Add accept method.
450 (class unsupported_range): Same.
451 (class Value_Range): Same.
452
453 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
454
455 * diagnostic-format-json.cc (json_from_location_range): Adjust
456 to new label_text API.
457 * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
458 Likewise.
459 * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
460 (layout::print_any_labels): Likewise.
461 * tree-diagnostic-path.cc (class path_label): Likewise.
462 (struct event_range): Likewise.
463 (default_tree_diagnostic_path_printer): Likewise.
464 (default_tree_make_json_for_path): Likewise.
465
466 2022-07-15 konglin1 <lingling.kong@intel.com>
467
468 PR target/106113
469 * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
470 comparison due to intrinsics changed over time.
471 * config/i386/i386-expand.cc (ix86_ssecom_setcc):
472 Add unordered check and mode for sse comi codegen.
473 (ix86_expand_sse_comi): Add unordered check and check a different
474 CCmode.
475 (ix86_expand_sse_comi_round):Extract unordered check and mode part
476 in ix86_ssecom_setcc.
477
478 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
479
480 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
481 op_mode instead of vmode in calls to force_reg for op0 and op1.
482
483 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
484
485 PR tree-optimization/103798
486 * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
487 (simplify_builtin_call): Inline memchr with constant strings of
488 no more than the bytes of a word.
489 * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
490 * tree-ssa-strlen.h (use_in_zero_equality): New.
491
492 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
493
494 * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
495 and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
496 (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
497 pass it in the call to lookup_tmp_var.
498 (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
499 (get_initialized_tmp_var): Likewise.
500 (prepare_gimple_addressable): Call internal_get_tmp_var instead of
501 get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
502
503 2022-07-14 Martin Liska <mliska@suse.cz>
504
505 * doc/gimple.texi: Close properly a deftypefn.
506
507 2022-07-14 Martin Liska <mliska@suse.cz>
508
509 * doc/gimple.texi: Close properly a deftypefn.
510
511 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
512
513 * config/xtensa/xtensa.md:
514 In FP constant synthesis split pattern, subcontract to
515 avoid_constant_pool_reference() as in the case of integer,
516 because it can handle well too. And cast to int32_t before
517 calling xtensa_constantsynth() in order to ignore upper 32-bit.
518
519 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
520
521 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
522
523 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
524
525 * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
526 (irange::legacy_intersect): Clear nonzero mask.
527 (irange::legacy_union): Same.
528 (irange::invert): Same.
529
530 2022-07-13 Richard Biener <rguenther@suse.de>
531
532 * tree-ssa-dom.h (record_temporary_equivalences): Remove.
533 * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
534 (dom_jt_state::get_blocks_on_stack): Likewise.
535 (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
536 (back_propagate_equivalences): Remove dominator bitmap
537 compute and instead use passed in m_blocks_on_stack.
538 (record_temporary_equivalences): Likewise.
539 (record_equivalences_from_incoming_edge): Likewise.
540 (dom_opt_dom_walker::before_dom_children): Maintain and
541 pass down blocks on stack.
542 (dom_opt_dom_walker::after_dom_children): Likewise.
543
544 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
545
546 * config/aarch64/aarch64-builtins.cc
547 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
548
549 2022-07-13 Richard Biener <rguenther@suse.de>
550
551 PR tree-optimization/106249
552 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
553 Only verify LC SSA of the new_loop if we created it.
554 Use TODO_update_ssa_nophi for the SSA update after versioning
555 the loop.
556
557 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
558
559 * range-op.cc (unsigned_singleton_p): Remove.
560 (operator_bitwise_and::remove_impossible_ranges): Remove.
561 (operator_bitwise_and::fold_range): Set nonzero bits. *
562 * value-range.cc (irange::get_nonzero_bits): Remove
563 legacy_mode_p assert.
564 (irange::dump_bitmasks): Remove legacy_mode_p check.
565
566 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
567
568 PR target/106253
569 * predict.h (insn_optimization_type): Declare.
570 * predict.cc (insn_optimization_type): New function.
571 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
572 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
573 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
574 * internal-fn.cc (unary_convert_direct): New macro.
575 (expand_convert_optab_fn): New function.
576 (expand_unary_convert_optab_fn): New macro.
577 (direct_unary_convert_optab_supported_p): Likewise.
578 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
579 convert_optab_handler.
580 * config/aarch64/aarch64-protos.h
581 (aarch64_builtin_vectorized_function): Delete.
582 * config/aarch64/aarch64-builtins.cc
583 (aarch64_builtin_vectorized_function): Delete.
584 * config/aarch64/aarch64.cc
585 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
586 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
587 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
588 optimize_insn_for_size_p test.
589
590 2022-07-12 Richard Biener <rguenther@suse.de>
591
592 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
593 Remove.
594 (vect_do_peeling): Do not call it, adjust comment.
595
596 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
597
598 * config/aarch64/aarch64-builtins.cc
599 (aarch64_builtin_vectorized_function): Remove handling of
600 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
601
602 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
603
604 PR tree-optimization/106234
605 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
606 cache value before recursively resolving it.
607
608 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
609
610 * config/i386/i386-features.h (scalar_chain): Add fields
611 insns_conv, n_sse_to_integer and n_integer_to_sse to this
612 parent class, moved from general_scalar_chain.
613 (scalar_chain::convert_compare): Protected method moved
614 from general_scalar_chain.
615 (mark_dual_mode_def): Make protected, not private virtual.
616 (scalar_chain:convert_op): New private virtual method.
617 (general_scalar_chain::general_scalar_chain): Simplify constructor.
618 (general_scalar_chain::~general_scalar_chain): Delete destructor.
619 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
620 n_integer_to_sse fields to parent class, scalar_chain.
621 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
622 (general_scalar_chain::convert_compare): Delete prototype.
623 (timode_scalar_chain::compute_convert_gain): Remove simplistic
624 implementation, convert to a method prototype.
625 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
626 (timode_scalar_chain::convert_op): Prototype new virtual method.
627 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
628 Allocate insns_conv and initialize n_sse_to_integer and
629 n_integer_to_sse fields in constructor.
630 (scalar_chain::scalar_chain): Free insns_conv in destructor.
631 (general_scalar_chain::general_scalar_chain): Delete
632 constructor, now defined in the class declaration.
633 (general_scalar_chain::~general_scalar_chain): Delete destructor.
634 (scalar_chain::mark_dual_mode_def): Renamed from
635 general_scalar_chain::mark_dual_mode_def.
636 (timode_scalar_chain::mark_dual_mode_def): Delete.
637 (scalar_chain::convert_compare): Renamed from
638 general_scalar_chain::convert_compare.
639 (timode_scalar_chain::compute_convert_gain): New method to
640 determine the gain from converting a TImode chain to V1TImode.
641 (timode_scalar_chain::convert_op): New method to convert an
642 operand from TImode to V1TImode.
643 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
644 on REG_EQUAL notes that were originally TImode (not CONST_INT).
645 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
646 (timode_mem_p): Helper predicate to check where operand is
647 memory reference with sufficient alignment for TImode STV.
648 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
649 to check whether COMPARE is convertible. Handle SET_DESTs that
650 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
651 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
652
653 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
654
655 PR tree-optimization/106250
656 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
657 argument to directly_supported_p.
658
659 2022-07-11 Richard Biener <rguenther@suse.de>
660
661 * tree-into-ssa.cc (update_ssa): Do not forcefully
662 re-compute dominance fast queries for TODO_update_ssa_no_phi.
663
664 2022-07-11 Richard Biener <rguenther@suse.de>
665
666 PR tree-optimization/106228
667 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
668 VUSE compute for the non-loop case.
669
670 2022-07-11 Richard Biener <rguenther@suse.de>
671
672 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
673 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
674 (rewrite_update_dom_walker::m_in_region_flag): New.
675 (rewrite_update_dom_walker::before_dom_children): If the region
676 to update is marked, STOP at exits.
677 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
678 to be updated.
679 (dump_update_ssa): Use bitmap_empty_p.
680 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
681 TODO_update_ssa_no_phi.
682 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
683 pending update_ssa to the caller.
684
685 2022-07-11 Richard Biener <rguenthert@suse.de>
686
687 PR target/105459
688 * config/i386/i386-options.cc (ix86_set_current_function):
689 Rebuild the target optimization node whenever necessary,
690 not only when the optimization node didn't change.
691
692 2022-07-11 Richard Biener <rguenther@suse.de>
693
694 PR tree-optimization/106228
695 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
696 set a VUSE operand on the emitted load.
697
698 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
699
700 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
701 verification against legacy value_range.
702 (gimple_ranger::register_inferred_ranges): Same.
703 (gimple_ranger::export_global_ranges): Rename update_global_range
704 to set_range_info.
705 * tree-core.h (struct range_info_def): Remove.
706 (struct irange_storage_slot): New.
707 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
708 (struct tree_ssa_name): Add vrange_storage support.
709 * tree-ssanames.cc (range_info_p): New.
710 (range_info_fits_p): New.
711 (range_info_alloc): New.
712 (range_info_free): New.
713 (range_info_get_range): New.
714 (range_info_set_range): New.
715 (set_range_info_raw): Remove.
716 (set_range_info): Adjust to use vrange_storage.
717 (set_nonzero_bits): Same.
718 (get_nonzero_bits): Same.
719 (duplicate_ssa_name_range_info): Remove overload taking
720 value_range_kind.
721 Rewrite tree overload to use vrange_storage.
722 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
723 * tree-ssanames.h (struct range_info_def): Remove.
724 (set_range_info): Adjust prototype to take vrange.
725 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
726 duplicate_ssa_name_range_info.
727 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
728 (SSA_NAME_RANGE_TYPE): Remove.
729 * value-query.cc (get_ssa_name_range_info): Adjust to use
730 vrange_storage.
731 (update_global_range): Remove.
732 (get_range_global): Remove as_a<irange>.
733 * value-query.h (update_global_range): Remove.
734 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
735 Rename update_global_range to set_range_info.
736 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
737 gcc_unreachable.
738
739 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
740
741 * value-range.cc (irange::operator=): Call verify_range.
742 (irange::irange_set): Normalize kind after everything else has
743 been set.
744 (irange::irange_set_anti_range): Same.
745 (irange::set): Same.
746 (irange::verify_range): Disallow nonzero masks for VARYING.
747 (irange::irange_union): Call verify_range.
748 Handle nonzero masks better.
749 (irange::irange_intersect): Same.
750 (irange::set_nonzero_bits): Calculate mask if either range has an
751 explicit mask.
752 (irange::intersect_nonzero_bits): Same.
753 (irange::union_nonzero_bits): Same.
754 (range_tests_nonzero_bits): New.
755 (range_tests): Call range_tests_nonzero_bits.
756 * value-range.h (class irange): Remove set_nonzero_bits method
757 with trees.
758 (irange::varying_compatible_p): Set nonzero mask.
759
760 2022-07-10 Xi Ruoyao <xry111@xry111.site>
761
762 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
763 the sign-extend of result in the RTL template.
764 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
765
766 2022-07-10 Xi Ruoyao <xry111@xry111.site>
767
768 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
769 Remove static, for use in the machine description file.
770 * config/loongarch/loongarch-protos.h:
771 (loongarch_check_zero_div_p): Add prototype.
772 * config/loongarch/loongarch.md (enabled): New attr.
773 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
774 idiv. Conditionally enable the alternatives using
775 loongarch_check_zero_div_p.
776 (<optab>di3_fake): Likewise.
777
778 2022-07-10 Xi Ruoyao <xry111@xry111.site>
779
780 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
781 instead of mul.d.
782
783 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
784
785 * value-range.cc (irange::irange_single_pair_union): Set
786 VR_VARYING when appropriate.
787
788 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
789
790 * stor-layout.cc (finalize_record_size): Extend warning message.
791
792 2022-07-09 Sam Feifer <sfeifer@redhat.com>
793
794 PR tree-optimization/98304
795 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
796
797 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
798
799 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
800 initializer and use clear_storage rather than copying the
801 NULs to the destination array.
802
803 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
804
805 * config/i386/i386.md (define_peephole2): Use match_operand of
806 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
807 (define_peephole2): Likewise.
808 (define_peephole2): Likewise...
809
810 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
811
812 * config/i386/i386-features.cc (convert_compare): Add support
813 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
814 by generating a pandn followed by ptest.
815 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
816 recent *testdi_not_doubleword comparison patterns.
817
818 2022-07-09 Tamar Christina <tamar.christina@arm.com>
819
820 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
821 indicate that the value is not undefined.
822
823 2022-07-09 Andrew Pinski <apinski@marvell.com>
824
825 PR tree-optimization/106087
826 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
827 to make sure the statement is only defining one operand.
828
829 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
830
831 PR preprocessor/91733
832 * input.cc (find_end_of_line): New helper function.
833 (file_cache_slot::get_next_line): Recognize \r as a line ending.
834 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
835 since \r will now be interpreted as a line-ending.
836
837 2022-07-08 Martin Liska <mliska@suse.cz>
838
839 PR sanitizer/106132
840 * opts.cc (finish_options): Use 2 calls to
841 report_conflicting_sanitizer_options.
842
843 2022-07-08 Richard Biener <rguenther@suse.de>
844
845 PR tree-optimization/106226
846 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
847 no SSA update is needed. Move virtual SSA update ...
848 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
849 via forced virtual renaming when TODO_update_ssa_only_virtuals
850 is queued.
851 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
852 when virtual SSA update is required.
853 (try_vectorize_loop_1): Adjust.
854 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
855 virtual renaming if the ABI forces an aggregate return
856 but the original call did not have a virtual definition.
857
858 2022-07-08 Martin Liska <mliska@suse.cz>
859
860 * toplev.cc (init_asm_output): Do not init asm_out_file.
861
862 2022-07-08 Tamar Christina <tamar.christina@arm.com>
863
864 PR tree-optimization/106063
865 * match.pd: Do not apply pattern after veclower is not supported.
866
867 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
868
869 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
870 'fn2' computation.
871
872 2022-07-08 Tamar Christina <tamar.christina@arm.com>
873
874 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
875 still undefined and if so emit a subreg move instead.
876 (store_integral_bit_field): Likewise.
877 (store_bit_field): Likewise.
878 * expr.h (write_complex_part): Likewise.
879 * expmed.h (store_bit_field): Add new parameter.
880 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
881 parameter.
882 (expand_ifn_atomic_compare_exchange): Likewise.
883 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
884 * emit-rtl.cc (validate_subreg): Likewise.
885 * expr.cc (emit_group_store): Likewise.
886 (copy_blkmode_from_reg): Likewise.
887 (copy_blkmode_to_reg): Likewise.
888 (clear_storage_hints): Likewise.
889 (write_complex_part): Likewise.
890 (emit_move_complex_parts): Likewise.
891 (expand_assignment): Likewise.
892 (store_expr): Likewise.
893 (store_field): Likewise.
894 (expand_expr_real_2): Likewise.
895 * ifcvt.cc (noce_emit_move_insn): Likewise.
896 * internal-fn.cc (expand_arith_set_overflow): Likewise.
897 (expand_arith_overflow_result_store): Likewise.
898 (expand_addsub_overflow): Likewise.
899 (expand_neg_overflow): Likewise.
900 (expand_mul_overflow): Likewise.
901 (expand_arith_overflow): Likewise.
902
903 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
904
905 PR target/106180
906 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
907 Rename from *sse2_cvtps2pd<mask_name>_1.
908 (vec_unpacks_lo_v4sf): Add handler for memory operand.
909
910 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
911
912 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
913 Modify fp_sp_offset and gp_sp_offset's calculation method,
914 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
915 or UNITS_PER_FP_REG.
916
917 2022-07-07 David Malcolm <dmalcolm@redhat.com>
918
919 * diagnostic-format-json.cc (json_from_location_range): Update for
920 removal of label_text::maybe_free in favor of automatic memory
921 management.
922 * diagnostic-format-sarif.cc
923 (sarif_builder::make_location_object): Likewise.
924 * diagnostic-show-locus.cc (struct pod_label_text): New.
925 (class line_label): Convert m_text from label_text to pod_label_text.
926 (layout::print_any_labels): Move "text" to the line_label.
927 * tree-diagnostic-path.cc (path_label::get_text): Update for
928 removal of label_text::maybe_free in favor of automatic memory
929 management.
930 (event_range::print): Likewise.
931 (default_tree_diagnostic_path_printer): Likewise.
932 (default_tree_make_json_for_path): Likewise.
933
934 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
935
936 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
937
938 2022-07-07 Richard Biener <rguenther@suse.de>
939
940 * tree-into-ssa.cc (iterating_old_ssa_names): New.
941 (add_new_name_mapping): Grow {new,old}_ssa_names separately
942 and only when actually needed. Assert we are not growing
943 the old_ssa_names set when iterating over it.
944 (update_ssa): Remove old_ssa_names copying and empty_p
945 query, note we are iterating over it and expect no set changes.
946
947 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
948
949 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
950 (prepare_target_image, main): Handle OpenMP 'requires'.
951 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
952 'GOMP_offload_unregister_ver'.
953
954 2022-07-07 Richard Biener <rguenther@suse.de>
955
956 PR target/106219
957 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
958 set DECL_PURE_P.
959
960 2022-07-07 Richard Biener <rguenther@suse.de>
961
962 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
963 number of LC PHIs inserted.
964 (add_exit_phis): Return whether any variable required
965 multiple LC PHI nodes.
966 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
967 when possible.
968
969 2022-07-07 Richard Biener <rguenther@suse.de>
970
971 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
972 the def loop exit block bitmap as argument instead of
973 re-computing it here.
974 (add_exit_phis_var): Adjust.
975 (loop_name_cmp): New function.
976 (add_exit_phis): Sort variables to insert LC PHI nodes
977 after definition loop, for each definition loop compute
978 the exit block bitmap once.
979 (get_loops_exit): Remove.
980 (rewrite_into_loop_closed_ssa_1): Do not pre-record
981 all loop exit blocks into bitmaps. Record loop exits
982 if required.
983
984 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
985
986 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
987 to handle the N32 ABI.
988 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
989 the macro, as it is not needed anymore.
990
991 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
992
993 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
994 '[...]_data'.
995 * config/nvptx/mkoffload.cc (process): Likewise.
996
997 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
998
999 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
1000
1001 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
1002
1003 * value-relation.cc (relation_to_code): New vector.
1004 (relation_oracle::validate_relation): New.
1005 (set_relation): Allow ssa1 == ssa2 to be registered.
1006 * value-relation.h (validate_relation): New prototype.
1007 (query_relation): Make internal variant protected.
1008
1009 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
1010
1011 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
1012 for double word comparisons and tests (comparisons against zero).
1013 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
1014 and;cmp into andn;cmp $0 as a pre-reload splitter.
1015 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
1016 (*<any_or><dwi>3_doubleword): Likewise.
1017
1018 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
1019 Hongtao Liu <hongtao.liu@intel.com>
1020
1021 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
1022 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
1023 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
1024 and gen_ssse3_palignv1ti instead of TImode.
1025 * config/i386/sse.md (SSESCALARMODE): Delete.
1026 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
1027 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
1028 iterator instead of SSESCALARMODE.
1029 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
1030 using a single move instruction (if required).
1031
1032 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
1033 Uroš Bizjak <ubizjak@gmail.com>
1034
1035 PR rtl-optimization/96692
1036 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
1037 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
1038
1039 2022-07-05 Richard Biener <rguenther@suse.de>
1040
1041 PR tree-optimization/106198
1042 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
1043 full LC SSA rewrite but only if any blocks changed loop
1044 depth.
1045
1046 2022-07-05 Richard Biener <rguenther@suse.de>
1047
1048 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
1049 (find_uses_to_rename_in_loop): Likewise.
1050 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
1051 uses.
1052 (rewrite_into_loop_closed_ssa): Adjust.
1053
1054 2022-07-05 Richard Biener <rguenther@suse.de>
1055
1056 PR tree-optimization/106186
1057 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
1058 Properly handle virtual PHI nodes.
1059
1060 2022-07-05 Richard Biener <rguenther@suse.de>
1061
1062 PR tree-optimization/106196
1063 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
1064 handle aggregate returns of calls for VDEF updates.
1065
1066 2022-07-05 Richard Biener <rguenther@suse.de>
1067
1068 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
1069 Maintain LC SSA.
1070
1071 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
1072
1073 * tree-vect-patterns.cc (vect_convert_input): Expect the input
1074 type to be signed for optab_vector_mixed_sign. Update the vectype
1075 at the same time as type.
1076 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
1077 available, try sdot instead.
1078 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
1079 (vect_model_reduction_cost): Model the cost of implementing usdot
1080 using sdot.
1081 (vectorizable_reduction): Likewise. Skip target support test
1082 for lane reductions.
1083 (vect_emulate_mixed_dot_prod): New function.
1084 (vect_transform_reduction): Use it to emulate usdot via sdot.
1085
1086 2022-07-05 Richard Biener <rguenther@suse.de>
1087
1088 PR tree-optimization/106182
1089 * loop-init.cc (fix_loop_structure): Return the number
1090 of newly discovered plus the number of deleted loops.
1091 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
1092 variable name.
1093
1094 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
1095
1096 * gimple-range-fold.cc
1097 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
1098 call to SCEV for irange supported types.
1099 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
1100 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
1101 * tree-ssa-dom.cc (cprop_operand): Same.
1102
1103 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
1104
1105 PR target/104489
1106 * calls.cc (precompute_register_parameters): Allow promotion
1107 of floating point values to be passed in wider integer modes
1108 by calling new convert_float_to_wider_int.
1109 (expand_call): Allow floating point results to be returned in
1110 wider integer modes by calling new convert wider_int_to_float.
1111 * cfgexpand.cc (expand_value_return): Allow backends to promote
1112 a scalar floating point return value to a wider integer mode
1113 by calling new convert_float_to_wider_int.
1114 * expr.cc (convert_float_to_wider_int): New function.
1115 (convert_wider_int_to_float): Likewise.
1116 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
1117 scalar FP PARM_DECLs to wider integer modes, by calling new
1118 convert_wider_int_to_float.
1119 * expr.h (convert_modes): Name arguments for improved documentation.
1120 (convert_float_to_wider_int): Prototype new function here.
1121 (convert_wider_int_to_float): Likewise.
1122 * function.cc (assign_parm_setup_stack): Allow floating point
1123 values to be passed on the stack as wider integer modes by
1124 calling new convert_wider_int_to_float.
1125
1126 2022-07-04 Martin Jambor <mjambor@suse.cz>
1127
1128 PR tree-optimization/105860
1129 * tree-sra.cc (build_reconstructed_reference): Start expr
1130 traversal only just below the outermost union.
1131
1132 2022-07-04 Richard Biener <rguenther@suse.de>
1133
1134 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
1135 and update virtual SSA form again. Assert we do so for
1136 a known set of transforms only.
1137 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
1138 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
1139 using load-lanes allow virtual SSA update.
1140
1141 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
1142 Chung-Lin Tang <cltang@codesourcery.com>
1143 Thomas Schwinge <thomas@codesourcery.com>
1144
1145 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
1146 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
1147 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
1148 * config/nvptx/mkoffload.cc (process, main): Likewise.
1149 * lto-cgraph.cc (omp_requires_to_name): New.
1150 (input_offload_tables): Save omp_requires_mask.
1151 (output_offload_tables): Read it, check for consistency,
1152 save value for mkoffload.
1153 * omp-low.cc (lower_omp_target): Force output_offloadtables
1154 call for OMP_REQUIRES_TARGET_USED.
1155
1156 2022-07-04 Richard Biener <rguenther@suse.de>
1157
1158 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
1159 no SSA update is needed instead of updating virtual SSA
1160 form.
1161 * tree-vect-stmts.cc (vectorizable_load): For hoisted
1162 invariant load use the loop entry virtual use.
1163 For emulated gather loads use the virtual use of the
1164 original stmt like vect_finish_stmt_generation would do.
1165
1166 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1167
1168 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
1169 for direct circularity.
1170
1171 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
1172
1173 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
1174 the language for vector types.
1175
1176 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
1177
1178 * value-range-storage.cc (irange_storage_slot::set_irange): Set
1179 nonzero bits in irange.
1180 (irange_storage_slot::get_irange): Get nonzero bits from irange.
1181 * value-range.cc (irange::operator=): Set nonzero bits.
1182 (irange::irange_set): Same.
1183 (irange::irange_set_anti_range): Same.
1184 (irange::set): Same.
1185 (irange::verify_range): Same.
1186 (irange::legacy_equal_p): Check nonzero bits.
1187 (irange::equal_p): Same.
1188 (irange::contains_p): Handle nonzero bits.
1189 (irange::irange_union): Same.
1190 (irange::irange_intersect): Same.
1191 (irange::dump): Same.
1192 (irange::set_nonzero_bits): New.
1193 (irange::get_nonzero_bits): New.
1194 (irange::intersect_nonzero_bits): New.
1195 (irange::union_nonzero_bits): New.
1196 (irange::dump_bitmasks): New.
1197 * value-range.h (class irange): Add m_nonzero_mask.
1198 (gt_ggc_mx): Handle nonzero bits.
1199 (gt_pch_nx): Same.
1200 (irange::set_undefined): Set nonzero bits.
1201 (irange::set_varying): Same.
1202 (irange::normalize_kind): Call set_undefined.
1203
1204 2022-07-04 Richard Biener <rguenther@suse.de>
1205
1206 * tree-ssa-loop-manip.h
1207 (rewrite_virtuals_into_loop_closed_ssa): Remove.
1208 (rewrite_into_loop_closed_ssa_1): Likewise.
1209 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
1210 Make static.
1211 (rewrite_into_loop_closed_ssa): Remove loop overload,
1212 always rewrite virtuals into LC SSA.
1213 (check_loop_closed_ssa_bb): Also check virtuals.
1214 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
1215 LC PHIs when in LC SSA.
1216 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
1217 loop-closed SSA here, but ...
1218 (tree_loop_unroll_and_jam): ... here once.
1219 * tree-if-conv.cc (version_loop_for_if_conversion): Use
1220 the cheaper TODO_update_ssa_no_phi.
1221 * tree-loop-distribution.cc (version_loop_by_alias_check):
1222 Likewise.
1223 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
1224 Likewise.
1225 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
1226 (tree_unswitch_outer_loop): Do not rewrite virtuals into
1227 LC ssa.
1228 * tree-parloops.cc (transform_to_exit_first_loop_alt):
1229 Likewise.
1230 (pass_parallelize_loops::execute): After finishing rewrite
1231 into LC SSA again because we do not maintain it properly.
1232
1233 2022-07-04 Richard Biener <rguenther@suse.de>
1234
1235 PR tree-optimization/106055
1236 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
1237 we can propagate.
1238
1239 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
1240
1241 PR target/43618
1242 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
1243 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
1244 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
1245
1246 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
1247
1248 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
1249 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
1250 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
1251 with two arguments.
1252 (find_unswitching_predicates_for_bb): Same.
1253 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
1254 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
1255 * value-range.cc (irange::equal_p): Rename to...
1256 (irange::operator==): ...this.
1257 * value-range.h (irange::set): Remove.
1258 (irange::operator==): Remove.
1259 (irange::set_zero): Use set with two arguments.
1260 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
1261 (vr_values::extract_range_from_unary_expr): Same.
1262 (check_for_binary_op_overflow): Same.
1263 (bounds_of_var_in_loop): Same.
1264
1265 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
1266
1267 PR target/106022
1268 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
1269 New.
1270 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
1271 New.
1272 * config/i386/mmx.md (V_16_32_64): New.
1273 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
1274 and 64-bit constant vector.
1275 * config/i386/predicates.md (x86_64_const_vector_operand): New.
1276
1277 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
1278
1279 * gimple-range-cache.cc: Include value-range-storage.h.
1280 * gimple-range-cache.h (class block_range_cache): Add "class" to
1281 m_range_allocator.
1282 * gimple-range-edge.cc
1283 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
1284 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
1285 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
1286 * gimple-range-edge.h: Add "class" to m_range_allocator.
1287 * gimple-range-infer.cc
1288 (infer_range_manager::infer_range_manager): Allocate allocator.
1289 (infer_range_manager::~infer_range_manager): Free allocator.
1290 (infer_range_manager::get_nonzero): Dereference allocator.
1291 (infer_range_manager::add_range): Same.
1292 * gimple-range-infer.h (class vrange_allocator): Add "class" to
1293 m_range_allocator.
1294 * value-range-storage.h (class vrange_allocator): Move from
1295 value-range.h.
1296 (class obstack_vrange_allocator): Same.
1297 (class ggc_vrange_allocator): Same.
1298 (vrange_allocator::alloc_vrange): Same.
1299 (vrange_allocator::alloc_irange): Same.
1300 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
1301 (class obstack_vrange_allocator): Same.
1302 (class ggc_vrange_allocator): Same.
1303
1304 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
1305
1306 * Makefile.in (OBJS): Add value-range-storage.o.
1307 (GTFILES): Add value-range-storage.h.
1308 * gengtype.cc (open_base_files): Add value-range-storage.h.
1309 * value-range-storage.cc: New file.
1310 * value-range-storage.h: New file.
1311
1312 2022-07-03 Xi Ruoyao <xry111@xry111.site>
1313 Lulu Cheng <chenglulu@loongson.cn>
1314
1315 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
1316 New static function.
1317 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
1318 of TARGET_CHECK_ZERO_DIV.
1319 (loongarch_output_division): Likewise.
1320 * common/config/loongarch/loongarch-common.cc
1321 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
1322 * doc/invoke.texi: Update to match the new behavior.
1323
1324 2022-07-03 Ian Lance Taylor <iant@golang.org>
1325
1326 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
1327 statement if -fdelete-dead-exceptions.
1328
1329 2022-07-02 Tim Lange <mail@tim-lange.me>
1330
1331 PR analyzer/105900
1332 * doc/invoke.texi: Added Wanalyzer-allocation-size.
1333
1334 2022-07-02 Immad Mir <mirimmad17@gmail.com>
1335
1336 PR analyzer/106003
1337 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
1338 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
1339 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
1340 -Wanalyzer-fd-use-after-close.
1341
1342 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
1343
1344 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
1345 (trailing_wide_ints::set_precision): Add num_elements argument.
1346 (trailing_wide_ints::extra_size): Same.
1347
1348 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
1349
1350 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
1351 Use "r" constraint for operand 1.
1352
1353 2022-07-01 Richard Biener <rguenther@suse.de>
1354
1355 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
1356 Do not look at interesting_blocks which is a copy of
1357 blocks_to_update.
1358 (update_ssa): Do not initialize it.
1359 (pass_build_ssa::execute): Set interesting_blocks to NULL
1360 after releasing it.
1361
1362 2022-07-01 Richard Biener <rguenther@suse.de>
1363
1364 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
1365 back to using maybe_ne (off, -1).
1366
1367 2022-07-01 Richard Biener <rguenther@suse.de>
1368
1369 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
1370 checking dominance check conditional on flag_checking.
1371
1372 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
1373
1374 * config/gcn/gcn-protos.h (print_operand_address): Remove register
1375 keyword on 'rtx addr' argument.
1376
1377 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
1378 Uroš Bizjak <ubizjak@gmail.com>
1379
1380 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
1381 to post-reload define_insn_and_split.
1382
1383 2022-07-01 Jakub Jelinek <jakub@redhat.com>
1384
1385 PR middle-end/106144
1386 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
1387 emitting element for shift or if shift is 0 first element after start.
1388 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
1389 wi::shifted_mask with 0 start.
1390
1391 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
1392
1393 PR target/106122
1394 * config/i386/i386.md (peephole2): Avoid generating pop %esp
1395 when optimizing for size.
1396
1397 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
1398 Uroš Bizjak <ubizjak@gmail.com>
1399
1400 * config/i386/i386.md (general_szext_operand): Add TImode
1401 support using x86_64_hilo_general_operand predicate.
1402 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
1403 (*add<dwi>3_doubleword): Improved optimization of zero addition.
1404 (and<mode>3): Use SDWIM mode iterator to add support for double
1405 word bit-wise AND in TImode. Use force_reg when double word
1406 immediate operand isn't x86_64_hilo_general_operand.
1407 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
1408 converted into a post-reload splitter.
1409 (*andndi3_doubleword): Previous define_insn deleted.
1410 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
1411 TARGET_BMI that splits post-reload.
1412 (*andn<mode>3_doubleword): New define_insn_and_split for
1413 !TARGET_BMI, that lowers/splits before reload.
1414 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
1415 double word bit-wise XOR and bit-wise IOR in TImode. Use
1416 force_reg when double word immediate operand isn't
1417 x86_64_hilo_general_operand.
1418 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
1419 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
1420 double word bit-wise NOT in TImode.
1421 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
1422 and converted into a post-reload splitter.
1423
1424 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
1425
1426 PR middle-end/105874
1427 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
1428 EXPAND_MEMORY for the expansion of the inner reference only
1429 in the usual cases where a memory reference is required.
1430
1431 2022-07-01 Richard Biener <rguenther@suse.de>
1432
1433 PR tree-optimization/106131
1434 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
1435 zero when offsetting the read looking through an aggregate
1436 copy.
1437
1438 2022-07-01 Martin Liska <mliska@suse.cz>
1439
1440 PR tree-optimization/106126
1441 * gimple-if-to-switch.cc (struct condition_info): Save
1442 has_side_effect.
1443 (find_conditions): Parse all BBs.
1444 (pass_if_to_switch::execute): Allow only side effects for first
1445 BB.
1446
1447 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
1448
1449 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
1450 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
1451 OPTION_MASK_ISA2_AVX512BF16_UNSET and
1452 OPTION_MASK_ISA2_AVX512FP16_UNSET.
1453
1454 2022-06-30 Joseph Myers <joseph@codesourcery.com>
1455
1456 PR lto/106129
1457 * lto-wrapper.cc (find_option): Add argument start.
1458 (merge_and_complain): Loop over existing_opt_index and
1459 existing_opt2_index for Xassembler check. Update calls to
1460 find_option.
1461 (find_and_merge_options): Add argument first to determine whether
1462 to merge options with those passed in *opts.
1463 (run_gcc): Update calls to find_and_merge_options.
1464
1465 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
1466
1467 * gimple-range-cache.cc (block_range_cache::block_range_cache):
1468 Rename vrange_allocator to obstack_vrange_allocator.
1469 (ssa_global_cache::ssa_global_cache): Same.
1470 * gimple-range-edge.h (class gimple_outgoing_range): Same.
1471 * gimple-range-infer.h (class infer_range_manager): Same.
1472 * value-range.h (class vrange_allocator): Make abstract.
1473 (class obstack_vrange_allocator): Inherit from vrange_allocator.
1474 (class ggc_vrange_allocator): New.
1475
1476 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
1477 Uroš Bizjak <ubizjak@gmail.com>
1478
1479 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
1480 provide gen_swapsi.
1481 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
1482 via new gen_<insn>32di2_doubleword below.
1483 (<anyrotate>32di2_doubleword): New define_insn_and_split
1484 that splits after reload as either a pair of move instructions
1485 or an xchgl (using gen_swapsi).
1486
1487 2022-06-30 Richard Biener <rguenther@suse.de>
1488
1489 * domwalk.h (dom_walker::dom_walker): Update comment to
1490 reflect reality and new special argument value for
1491 bb_index_to_rpo.
1492 * domwalk.cc (dom_walker::dom_walker): Recognize -1
1493 bb_index_to_rpo.
1494 * tree-into-ssa.cc
1495 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
1496 dom_walker to not use RPO.
1497
1498 2022-06-30 Martin Liska <mliska@suse.cz>
1499
1500 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
1501 it is unused.
1502
1503 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
1504
1505 PR tree-optimization/106114
1506 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
1507 statement operands instead of GORI cache.
1508
1509 2022-06-30 Antoni Boucher <bouanto@zoho.com>
1510
1511 PR target/106095
1512 * config/i386/sse.md: Fix asm generation.
1513
1514 2022-06-29 Sergei Trofimovich <siarheit@google.com>
1515
1516 PR c++/106102
1517 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
1518
1519 2022-06-29 Joseph Myers <joseph@codesourcery.com>
1520
1521 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
1522 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
1523
1524 2022-06-29 Richard Biener <rguenther@suse.de>
1525
1526 PR rtl-optimization/106082
1527 * combine.cc (distribute_notes): Preserve notes when
1528 they indicate a call doesn't perform a non-local goto.
1529
1530 2022-06-29 Richard Biener <rguenther@suse.de>
1531
1532 PR tree-optimization/106112
1533 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
1534 a constant operand according to its type.
1535
1536 2022-06-29 Martin Liska <mliska@suse.cz>
1537
1538 * doc/invoke.texi: Remove removed evrp-mode.
1539
1540 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
1541
1542 PR target/106097
1543 * config/loongarch/loongarch.cc (loongarch_build_integer):
1544 Remove undefined behavior from code.
1545
1546 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
1547
1548 * doc/sourcebuild.texi: Document new no_alignment_constraints
1549 effective target check.
1550
1551 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
1552
1553 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
1554 * flag-types.h (enum evrp_mode): Remove.
1555 * params.opt: Remove --param=evrp-mode.
1556 * tree-vrp.cc (make_pass_early_vrp): New.
1557 (pass_vrp::execute): Call early VRP instance.
1558 * gimple-ssa-evrp-analyze.cc: Removed.
1559 * gimple-ssa-evrp-analyze.h: Removed.
1560 * gimple-ssa-evrp.cc: Removed.
1561
1562 2022-06-28 Alexandre Oliva <oliva@adacore.com>
1563
1564 * Makefile.in (TFLAGS): New.
1565 (GCC_FOR_TARGET): Add TFLAGS.
1566 (FLAGS_TO_PASS): Pass TFLAGS down.
1567
1568 2022-06-28 Richard Biener <rguenther@suse.de>
1569
1570 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
1571 call update_ssa.
1572
1573 2022-06-28 Richard Biener <rguenther@suse.de>
1574
1575 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
1576 mark_block_for_update.
1577 (update_ssa): Adjust.
1578
1579 2022-06-28 Xi Ruoyao <xry111@xry111.site>
1580
1581 PR target/106096
1582 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
1583 $r13 from SIBCALL_REGS.
1584 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
1585 Change $r13 to JIRL_REGS.
1586
1587 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
1588
1589 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
1590 irange::supports_p.
1591
1592 2022-06-28 Richard Biener <rguenther@suse.de>
1593
1594 PR middle-end/106053
1595 * match.pd ((T)a == (T)b): Avoid folding away sign
1596 changes in a comparison if we'd truncate to a boolean.
1597
1598 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
1599
1600 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
1601 iterator GPR with SImode, adjust the condition and output template,
1602 rename to ...
1603 (*rotlsi3_insert_4): ... this.
1604
1605 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1606
1607 * genmatch.cc: Add "final" and "override" to various vfunc
1608 implementations, removing redundant "virtual" as appropriate.
1609 * gensupport.cc: Likewise.
1610 * gimple-range-cache.h: Likewise.
1611 * ipa-icf-gimple.h: Likewise.
1612 * ipa-icf.h: Likewise.
1613 * read-md.h: Likewise.
1614 * read-rtl-function.cc: Likewise.
1615 * tree-ssa-loop-ch.cc: Likewise.
1616 * tree-ssa-sccvn.cc: Likewise.
1617
1618 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1619
1620 * config/i386/i386-features.h: Add "final" and "override" to
1621 scalar_chain vfunc implementations as appropriate.
1622
1623 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1624
1625 * tree-switch-conversion.h: Add "final" and "override" to cluster
1626 vfunc implementations as appropriate.
1627
1628 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1629
1630 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
1631 implementations as appropriate.
1632
1633 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1634
1635 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
1636 implementations, removing redundant "virtual" as appropriate.
1637 * gimple-ssa-strength-reduction.cc: Likewise.
1638 * ipa-prop.cc: Likewise.
1639 * rtl-ssa/blocks.cc: Likewise.
1640 * tree-into-ssa.cc: Likewise.
1641 * tree-ssa-dom.cc: Likewise.
1642 * tree-ssa-math-opts.cc: Likewise.
1643 * tree-ssa-phiopt.cc: Likewise.
1644 * tree-ssa-propagate.cc: Likewise.
1645 * tree-ssa-sccvn.cc: Likewise.
1646 * tree-ssa-strlen.cc: Likewise.
1647 * tree-ssa-uncprop.cc: Likewise.
1648
1649 2022-06-27 David Malcolm <dmalcolm@redhat.com>
1650
1651 * adjust-alignment.cc: Add "final" and "override" to opt_pass
1652 vfunc implementations, removing redundant "virtual" as
1653 appropriate.
1654 * asan.cc: Likewise.
1655 * auto-inc-dec.cc: Likewise.
1656 * auto-profile.cc: Likewise.
1657 * bb-reorder.cc: Likewise.
1658 * cfgcleanup.cc: Likewise.
1659 * cfgexpand.cc: Likewise.
1660 * cfgrtl.cc: Likewise.
1661 * cgraphbuild.cc: Likewise.
1662 * combine-stack-adj.cc: Likewise.
1663 * combine.cc: Likewise.
1664 * compare-elim.cc: Likewise.
1665 * config/i386/i386-features.cc: Likewise.
1666 * coroutine-passes.cc: Likewise.
1667 * cprop.cc: Likewise.
1668 * cse.cc: Likewise.
1669 * dce.cc: Likewise.
1670 * df-core.cc: Likewise.
1671 * dse.cc: Likewise.
1672 * dwarf2cfi.cc: Likewise.
1673 * early-remat.cc: Likewise.
1674 * except.cc: Likewise.
1675 * final.cc: Likewise.
1676 * function.cc: Likewise.
1677 * fwprop.cc: Likewise.
1678 * gcse.cc: Likewise.
1679 * gimple-harden-conditionals.cc: Likewise.
1680 * gimple-if-to-switch.cc: Likewise.
1681 * gimple-isel.cc: Likewise.
1682 * gimple-laddress.cc: Likewise.
1683 * gimple-loop-interchange.cc: Likewise.
1684 * gimple-loop-jam.cc: Likewise.
1685 * gimple-loop-versioning.cc: Likewise.
1686 * gimple-low.cc: Likewise.
1687 * gimple-ssa-backprop.cc: Likewise.
1688 * gimple-ssa-evrp.cc: Likewise.
1689 * gimple-ssa-isolate-paths.cc: Likewise.
1690 * gimple-ssa-nonnull-compare.cc: Likewise.
1691 * gimple-ssa-split-paths.cc: Likewise.
1692 * gimple-ssa-store-merging.cc: Likewise.
1693 * gimple-ssa-strength-reduction.cc: Likewise.
1694 * gimple-ssa-warn-access.cc: Likewise.
1695 * gimple-ssa-warn-alloca.cc: Likewise.
1696 * gimple-ssa-warn-restrict.cc: Likewise.
1697 * gimple-warn-recursion.cc: Likewise.
1698 * graphite.cc: Likewise.
1699 * ifcvt.cc: Likewise.
1700 * init-regs.cc: Likewise.
1701 * ipa-comdats.cc: Likewise.
1702 * ipa-cp.cc: Likewise.
1703 * ipa-devirt.cc: Likewise.
1704 * ipa-fnsummary.cc: Likewise.
1705 * ipa-free-lang-data.cc: Likewise.
1706 * ipa-icf.cc: Likewise.
1707 * ipa-inline.cc: Likewise.
1708 * ipa-modref.cc: Likewise.
1709 * ipa-profile.cc: Likewise.
1710 * ipa-pure-const.cc: Likewise.
1711 * ipa-reference.cc: Likewise.
1712 * ipa-split.cc: Likewise.
1713 * ipa-sra.cc: Likewise.
1714 * ipa-visibility.cc: Likewise.
1715 * ipa.cc: Likewise.
1716 * ira.cc: Likewise.
1717 * jump.cc: Likewise.
1718 * loop-init.cc: Likewise.
1719 * lower-subreg.cc: Likewise.
1720 * mode-switching.cc: Likewise.
1721 * modulo-sched.cc: Likewise.
1722 * multiple_target.cc: Likewise.
1723 * omp-expand.cc: Likewise.
1724 * omp-low.cc: Likewise.
1725 * omp-oacc-kernels-decompose.cc: Likewise.
1726 * omp-oacc-neuter-broadcast.cc: Likewise.
1727 * omp-offload.cc: Likewise.
1728 * omp-simd-clone.cc: Likewise.
1729 * passes.cc: Likewise.
1730 * postreload-gcse.cc: Likewise.
1731 * postreload.cc: Likewise.
1732 * predict.cc: Likewise.
1733 * recog.cc: Likewise.
1734 * ree.cc: Likewise.
1735 * reg-stack.cc: Likewise.
1736 * regcprop.cc: Likewise.
1737 * reginfo.cc: Likewise.
1738 * regrename.cc: Likewise.
1739 * reorg.cc: Likewise.
1740 * sancov.cc: Likewise.
1741 * sanopt.cc: Likewise.
1742 * sched-rgn.cc: Likewise.
1743 * stack-ptr-mod.cc: Likewise.
1744 * store-motion.cc: Likewise.
1745 * tracer.cc: Likewise.
1746 * trans-mem.cc: Likewise.
1747 * tree-call-cdce.cc: Likewise.
1748 * tree-cfg.cc: Likewise.
1749 * tree-cfgcleanup.cc: Likewise.
1750 * tree-complex.cc: Likewise.
1751 * tree-eh.cc: Likewise.
1752 * tree-emutls.cc: Likewise.
1753 * tree-if-conv.cc: Likewise.
1754 * tree-into-ssa.cc: Likewise.
1755 * tree-loop-distribution.cc: Likewise.
1756 * tree-nrv.cc: Likewise.
1757 * tree-object-size.cc: Likewise.
1758 * tree-parloops.cc: Likewise.
1759 * tree-predcom.cc: Likewise.
1760 * tree-profile.cc: Likewise.
1761 * tree-sra.cc: Likewise.
1762 * tree-ssa-ccp.cc: Likewise.
1763 * tree-ssa-copy.cc: Likewise.
1764 * tree-ssa-dce.cc: Likewise.
1765 * tree-ssa-dom.cc: Likewise.
1766 * tree-ssa-dse.cc: Likewise.
1767 * tree-ssa-forwprop.cc: Likewise.
1768 * tree-ssa-ifcombine.cc: Likewise.
1769 * tree-ssa-loop-ch.cc: Likewise.
1770 * tree-ssa-loop-im.cc: Likewise.
1771 * tree-ssa-loop-ivcanon.cc: Likewise.
1772 * tree-ssa-loop-prefetch.cc: Likewise.
1773 * tree-ssa-loop-split.cc: Likewise.
1774 * tree-ssa-loop-unswitch.cc: Likewise.
1775 * tree-ssa-loop.cc: Likewise.
1776 * tree-ssa-math-opts.cc: Likewise.
1777 * tree-ssa-phiopt.cc: Likewise.
1778 * tree-ssa-phiprop.cc: Likewise.
1779 * tree-ssa-pre.cc: Likewise.
1780 * tree-ssa-reassoc.cc: Likewise.
1781 * tree-ssa-sccvn.cc: Likewise.
1782 * tree-ssa-sink.cc: Likewise.
1783 * tree-ssa-strlen.cc: Likewise.
1784 * tree-ssa-structalias.cc: Likewise.
1785 * tree-ssa-uncprop.cc: Likewise.
1786 * tree-ssa-uninit.cc: Likewise.
1787 * tree-ssanames.cc: Likewise.
1788 * tree-stdarg.cc: Likewise.
1789 * tree-switch-conversion.cc: Likewise.
1790 * tree-tailcall.cc: Likewise.
1791 * tree-vect-generic.cc: Likewise.
1792 * tree-vectorizer.cc: Likewise.
1793 * tree-vrp.cc: Likewise.
1794 * tsan.cc: Likewise.
1795 * ubsan.cc: Likewise.
1796 * var-tracking.cc: Likewise.
1797 * vtable-verify.cc: Likewise.
1798 * web.cc: Likewise.
1799
1800 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
1801
1802 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
1803 (jump): Likewise.
1804 (movdi_symbol_save_scc): Likewise.
1805
1806 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
1807
1808 PR rtl-optimization/7061
1809 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
1810
1811 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
1812
1813 PR tree-optimization/94026
1814 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
1815 (((X >> C1) & C2) eq/ne C3): Likewise.
1816
1817 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1818
1819 * statistics.cc: Include tree.h.
1820 (get_function_name): New function.
1821 (statistics_fini_pass_2): Call get_function_name instead of
1822 current_function_name.
1823 (statistics_counter_event): Call get_function_name instead of
1824 function_name.
1825 (statistics_histogram_event): Likewise.
1826
1827 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1828
1829 * config/xtensa/xtensa.md:
1830 Suppress unnecessary emitting nop insn in the split patterns for
1831 integer/FP constant synthesis, and add new peephole2 pattern that
1832 folds such synthesized additions.
1833
1834 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
1835
1836 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
1837 instead of evrp.
1838 (dom_jt_state::push): Remove m_evrp.
1839 (dom_jt_state::pop): Same.
1840 (dom_jt_state::record_ranges_from_stmt): Remove.
1841 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
1842 (class dom_jt_simplifier): Pass ranger to constructor.
1843 Inherit from hybrid_jt_simplifier.
1844 (dom_jt_simplifier::simplify): Convert to ranger.
1845 (pass_dominator::execute): Same.
1846 (all_uses_feed_or_dominated_by_stmt): New.
1847 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
1848 (dom_opt_dom_walker::before_dom_children): Call
1849 set_global_ranges_from_unreachable_edges.
1850 Do not call record_ranges_from_stmt.
1851 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
1852 (cprop_operand): Use int_range<> instead of value_range.
1853 (dom_opt_dom_walker::fold_cond): New.
1854 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
1855 cprop_into_stmt.
1856 Use fold_cond() instead of vrp_visit_cond_stmt().
1857 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
1858 pass state to simplifier.
1859 * vr-values.h (class vr_values): Make fold_cond public.
1860
1861 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
1862
1863 * common/config/tilegx/tilegx-common.cc: Removed.
1864 * common/config/tilepro/tilepro-common.cc: Removed.
1865 * config.gcc: Remove tilegx and tilepro entries.
1866 * config/tilegx/constraints.md: Removed.
1867 * config/tilegx/feedback.h: Removed.
1868 * config/tilegx/linux.h: Removed.
1869 * config/tilegx/mul-tables.cc: Removed.
1870 * config/tilegx/predicates.md: Removed.
1871 * config/tilegx/sync.md: Removed.
1872 * config/tilegx/t-tilegx: Removed.
1873 * config/tilegx/tilegx-builtins.h: Removed.
1874 * config/tilegx/tilegx-c.cc: Removed.
1875 * config/tilegx/tilegx-generic.md: Removed.
1876 * config/tilegx/tilegx-modes.def: Removed.
1877 * config/tilegx/tilegx-multiply.h: Removed.
1878 * config/tilegx/tilegx-opts.h: Removed.
1879 * config/tilegx/tilegx-protos.h: Removed.
1880 * config/tilegx/tilegx.cc: Removed.
1881 * config/tilegx/tilegx.h: Removed.
1882 * config/tilegx/tilegx.md: Removed.
1883 * config/tilegx/tilegx.opt: Removed.
1884 * config/tilepro/constraints.md: Removed.
1885 * config/tilepro/feedback.h: Removed.
1886 * config/tilepro/gen-mul-tables.cc: Removed.
1887 * config/tilepro/linux.h: Removed.
1888 * config/tilepro/mul-tables.cc: Removed.
1889 * config/tilepro/predicates.md: Removed.
1890 * config/tilepro/t-tilepro: Removed.
1891 * config/tilepro/tilepro-builtins.h: Removed.
1892 * config/tilepro/tilepro-c.cc: Removed.
1893 * config/tilepro/tilepro-generic.md: Removed.
1894 * config/tilepro/tilepro-modes.def: Removed.
1895 * config/tilepro/tilepro-multiply.h: Removed.
1896 * config/tilepro/tilepro-protos.h: Removed.
1897 * config/tilepro/tilepro.cc: Removed.
1898 * config/tilepro/tilepro.h: Removed.
1899 * config/tilepro/tilepro.md: Removed.
1900 * config/tilepro/tilepro.opt: Removed.
1901 * configure.ac: Remove tilegx and tilepro entries.
1902 * configure: Rebuilt.
1903 * doc/extend.texi: Remove tilegx and tilepro entries.
1904 * doc/install.texi: Remove tilegx and tilepro entries.
1905 * doc/invoke.texi: Remove tilegx and tilepro entries.
1906 * doc/md.texi: Remove tilegx and tilepro entries.
1907
1908 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
1909 Richard Biener <rguenther@suse.de>
1910
1911 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
1912 iteration over each basic block that was updated by the second
1913 iteration.
1914
1915 2022-06-24 Jason Merrill <jason@redhat.com>
1916
1917 PR c++/87729
1918 PR c++/20423
1919 * doc/invoke.texi: Document changes.
1920
1921 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
1922
1923 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
1924 condition to avoid overflow.
1925
1926 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1927
1928 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
1929 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
1930 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
1931 OPTION_MASK_PPC_GFXOPT.
1932 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
1933 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
1934 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
1935 * config/rs6000/rs6000-c.cc: Update comment.
1936 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
1937 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
1938 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
1939 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
1940 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
1941 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
1942 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
1943 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
1944 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
1945
1946 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1947
1948 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
1949 OPTION_MASK_MFCRF.
1950 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
1951 OPTION_MASK_MULTIPLE.
1952 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
1953 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
1954 OPTION_MASK_MFCRF.
1955 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
1956 OPTION_MASK_EABI.
1957 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
1958 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
1959 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
1960 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
1961 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
1962 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
1963 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
1964 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
1965 Replace with
1966 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
1967 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
1968 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
1969 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
1970 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
1971 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
1972 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
1973 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
1974 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
1975 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
1976 with OPTION_MASK_MULTIPLE.
1977 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
1978 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
1979 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
1980 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
1981 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
1982 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
1983 with OPTION_MASK_EABI.
1984
1985 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
1986
1987 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
1988 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
1989 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
1990 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
1991 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
1992 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
1993 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
1994 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
1995 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
1996 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
1997 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
1998
1999 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
2000
2001 * config/rs6000/rs6000-c.cc: Update comments.
2002 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
2003 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
2004 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
2005 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
2006 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
2007 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
2008 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
2009 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
2010 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
2011 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
2012 OPTION_MASK_MMA, OPTION_MASK_POWER10.
2013 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
2014 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
2015 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
2016 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
2017 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
2018
2019 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
2020
2021 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
2022 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
2023 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
2024
2025 2022-06-24 Richard Biener <rguenther@suse.de>
2026
2027 PR middle-end/106070
2028 * match.pd (a != b ? a : b): Fix translation of
2029 operand_equal_for_comparison_p.
2030
2031 2022-06-24 Jan Hubicka <jh@suse.cz>
2032
2033 PR ipa/106057
2034 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
2035
2036 2022-06-24 Martin Liska <mliska@suse.cz>
2037
2038 PR middle-end/106059
2039 * profile-count.h: *= and /= operators need to modify this
2040 object.
2041
2042 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
2043 Uroš Bizjak <ubizjak@gmail.com>
2044
2045 PR target/105930
2046 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
2047 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
2048 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
2049
2050 2022-06-24 Alexandre Oliva <oliva@adacore.com>
2051
2052 * common.opt (nostdlib++): New.
2053 * doc/invoke.texi (-nostdlib++): Document it.
2054
2055 2022-06-24 Alexandre Oliva <oliva@adacore.com>
2056
2057 * doc/sourcebuild.texi (Environment attributes): Document
2058 two_plus_gigs.
2059
2060 2022-06-23 David Malcolm <dmalcolm@redhat.com>
2061
2062 * common.opt (fdiagnostics-show-rules): New option.
2063 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
2064 Fix up context->show_rules.
2065 * diagnostic-format-sarif.cc
2066 (diagnostic_output_format_init_sarif): Likewise.
2067 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
2068 (diagnostic_metadata::precanned_rule): New class.
2069 (diagnostic_metadata::add_rule): New.
2070 (diagnostic_metadata::get_num_rules): New.
2071 (diagnostic_metadata::get_rule): New.
2072 (diagnostic_metadata::m_rules): New field.
2073 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
2074 (print_any_rules): New.
2075 (diagnostic_report_diagnostic): Call it.
2076 * diagnostic.h (diagnostic_context::show_rules): New field.
2077 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
2078 * opts.cc (common_handle_option): Handle
2079 OPT_fdiagnostics_show_rules.
2080 * toplev.cc (general_init): Set up global_dc->show_rules.
2081
2082 2022-06-23 Martin Liska <mliska@suse.cz>
2083
2084 PR c++/106062
2085 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
2086 in order to initialize UBSAN built-ins.
2087
2088 2022-06-23 Martin Liska <mliska@suse.cz>
2089
2090 PR ipa/105600
2091 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
2092 Skip variables with body_removed.
2093
2094 2022-06-23 liuhongt <hongtao.liu@intel.com>
2095
2096 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
2097 reg_or_subregno.
2098 (sse4_2_pcmpistr): Ditto.
2099
2100 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
2101
2102 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
2103 typo.
2104 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
2105 * tree-switch-conversion.h: Likewise.
2106
2107 2022-06-22 Jason Merrill <jason@redhat.com>
2108
2109 PR c++/104642
2110 * common.opt: Add -funreachable-traps.
2111 * doc/invoke.texi (-funreachable-traps): Document it.
2112 * opts.cc (finish_options): Enable at -O0 or -Og.
2113 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
2114 (builtin_decl_unreachable, build_builtin_unreachable): New.
2115 * tree.h: Declare them.
2116 * ubsan.cc (sanitize_unreachable_fn): Factor out.
2117 (ubsan_instrument_unreachable): Use
2118 gimple_build_builtin_unreachable.
2119 * ubsan.h (sanitize_unreachable_fn): Declare.
2120 * gimple.cc (gimple_build_builtin_unreachable): New.
2121 * gimple.h: Declare it.
2122 * builtins.cc (expand_builtin_unreachable): Add assert.
2123 (fold_builtin_0): Call build_builtin_unreachable.
2124 * sanopt.cc: Don't run for just SANITIZE_RETURN
2125 or SANITIZE_UNREACHABLE when trapping.
2126 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
2127 unreachable functions.
2128 * gimple-fold.cc (gimple_fold_call)
2129 (gimple_get_virt_method_for_vtable)
2130 * ipa-fnsummary.cc (redirect_to_unreachable)
2131 * ipa-prop.cc (ipa_make_edge_direct_to_target)
2132 (ipa_impossible_devirt_target)
2133 * ipa.cc (walk_polymorphic_call_targets)
2134 * tree-cfg.cc (pass_warn_function_return::execute)
2135 (execute_fixup_cfg)
2136 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
2137 (unloop_loops)
2138 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
2139 Likewise.
2140
2141 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
2142
2143 PR tree-optimization/106019
2144 * tree-data-ref.cc (dr_may_alias_p): Try using the
2145 innermost_loop_behavior to disambiguate non-loop queries.
2146
2147 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
2148
2149 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
2150
2151 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2152
2153 * config/xtensa/xtensa.md (bswapsi2_internal):
2154 Enlarge the buffer that is obviously smaller than the template
2155 string given to sprintf().
2156
2157 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
2158 Marek Polacek <polacek@redhat.com>
2159 Segher Boessenkool <segher@kernel.crashing.org>
2160 Kewen Lin <linkw@linux.ibm.com>
2161
2162 PR target/105991
2163 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
2164 exact_log2 doesn't return -1 (or zero).
2165 (plus_xor): New code iterator.
2166 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
2167
2168 2022-06-21 Nathan Sidwell <nathan@acm.org>
2169
2170 * doc/invoke.texi (C++ Modules): Remove language-linkage
2171 as missing feature.
2172
2173 2022-06-21 Arjun Shankar <arjun@redhat.com>
2174
2175 PR tree-optimization/94899
2176 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
2177 0x80000000): New simplification.
2178
2179 2022-06-21 Jakub Jelinek <jakub@redhat.com>
2180
2181 PR rtl-optimization/106032
2182 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
2183 t may_trap_or_fault_p, even if it is cheap.
2184
2185 2022-06-21 Jakub Jelinek <jakub@redhat.com>
2186
2187 PR middle-end/106030
2188 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
2189 temp to expand_operands if mode has been promoted.
2190
2191 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
2192
2193 PR target/105740
2194 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
2195 condition bb.
2196
2197 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
2198
2199 PR tree-optimization/105736
2200 * tree-object-size.cc (addr_object_size): Return size_unknown
2201 when object offset computation returns an error.
2202
2203 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
2204
2205 PR target/105960
2206 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
2207 false if PIC register is used when calling ifunc functions.
2208
2209 2022-06-20 Richard Biener <rguenther@suse.de>
2210
2211 PR middle-end/106027
2212 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
2213 type of the prevailing comparison for the new comparison type.
2214 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
2215 to A < X && A >= Y folding.
2216
2217 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
2218
2219 PR tree-optimization/105940
2220 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
2221 slp_done_for_suggested_uf and adjust with it accordingly.
2222 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
2223 pass it down to vect_analyze_loop_2 for the initial analysis and
2224 applying suggested unroll factor.
2225 (vect_is_simple_reduction): Add parameter slp and adjust with it.
2226 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
2227 (vect_analyze_scalar_cycles): Likewise.
2228
2229 2022-06-20 Martin Liska <mliska@suse.cz>
2230
2231 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
2232 use them.
2233 (better_edge_p): Likewise.
2234 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
2235 * cfgloopmanip.cc (scale_loop_profile): Likewise.
2236 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
2237 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
2238 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
2239 * dojump.cc (do_compare_rtx_and_jump): Likewise.
2240 * final.cc (compute_alignments): Likewise.
2241 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
2242 (decide_about_value): Likewise.
2243 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
2244 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
2245 * modulo-sched.cc (sms_schedule): Likewise.
2246 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
2247 (expand_omp_ordered_sink): Likewise.
2248 (expand_omp_for_ordered_loops): Likewise.
2249 (expand_omp_for_static_nochunk): Likewise.
2250 * predict.cc (maybe_hot_count_p): Likewise.
2251 (probably_never_executed): Likewise.
2252 (set_even_probabilities): Likewise.
2253 (handle_missing_profiles): Likewise.
2254 (expensive_function_p): Likewise.
2255 * profile-count.h: Likewise.
2256 * profile.cc (compute_branch_probabilities): Likewise.
2257 * stmt.cc (emit_case_dispatch_table): Likewise.
2258 * symtab-thunks.cc (expand_thunk): Likewise.
2259 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
2260 * tree-ssa-sink.cc (select_best_block): Likewise.
2261 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
2262 (switch_decision_tree::balance_case_nodes): Likewise.
2263 (switch_decision_tree::emit_case_nodes): Likewise.
2264 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
2265
2266 2022-06-20 yulong <shiyulong@iscas.ac.cn>
2267
2268 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
2269 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
2270 of RISCV_BUILTIN.
2271 * config/riscv/riscv-ftypes.def (0): Remove unused.
2272 (1): New.
2273
2274 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2275
2276 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
2277 Consider relaxed MOVI instructions as L32R.
2278
2279 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2280
2281 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
2282 Use can_create_pseudo_p(), instead of using individual
2283 reload_in_progress and reload_completed.
2284 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
2285 the existing predicate function.
2286 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
2287 Use the standard RTX code predicate macros such as MEM_P,
2288 SYMBOL_REF_P and/or CONST_INT_P.
2289 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
2290 if callee-saved register, at the split patterns for indirect sibcall
2291 fixups.
2292
2293 2022-06-18 Jakub Jelinek <jakub@redhat.com>
2294
2295 * common.opt (flag_sanitize_trap): New variable.
2296 (fsanitize-trap=, fsanitize-trap): New options.
2297 (fsanitize-undefined-trap-on-error): Change into deprecated alias
2298 for -fsanitize-trap=all.
2299 * opts.h (struct sanitizer_opts_s): Add can_trap member.
2300 * opts.cc (finish_options): Complain about unsupported
2301 -fsanitize-trap= options.
2302 (sanitizer_opts): Add can_trap values to all entries.
2303 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
2304 options which have can_trap false.
2305 (parse_sanitizer_options): Add support for -fsanitize-trap=.
2306 For -fsanitize-trap=all, enable
2307 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
2308 -fsanitize-trap=vptr here.
2309 (common_handle_option): Handle OPT_fsanitize_trap_ and
2310 OPT_fsanitize_trap.
2311 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
2312 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
2313 flag_sanitize_undefined_trap_on_error.
2314 * gcc.cc (sanitize_spec_function): Use
2315 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
2316 and drop use of flag_sanitize_undefined_trap_on_error in
2317 "undefined" handling.
2318 * ubsan.cc (ubsan_instrument_unreachable): Use
2319 flag_sanitize_trap & SANITIZE_??? instead of
2320 flag_sanitize_undefined_trap_on_error.
2321 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
2322 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
2323 ubsan_build_overflow_builtin, instrument_bool_enum_load,
2324 ubsan_instrument_float_cast, instrument_nonnull_arg,
2325 instrument_nonnull_return, instrument_builtin): Likewise.
2326 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
2327 (-fsanitize-undefined-trap-on-error): Document as deprecated
2328 alias of -fsanitize-trap.
2329
2330 2022-06-18 Jakub Jelinek <jakub@redhat.com>
2331
2332 PR middle-end/105998
2333 * varasm.cc (narrowing_initializer_constant_valid_p): Check
2334 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
2335 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
2336
2337 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
2338
2339 PR tree-optimization/105835
2340 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
2341 Narrow integer multiplication by a zero_one_valued_p operand.
2342 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
2343 conversions inside COND_EXPR where both data operands are
2344 integer constants.
2345
2346 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2347
2348 * config/xtensa/constraints.md (Y):
2349 Change to include integer constants until reload begins.
2350 * config/xtensa/predicates.md (move_operand): Ditto.
2351 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
2352 Change to allow storing integer constants into litpool only after
2353 reload begins.
2354
2355 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
2356
2357 PR target/105209
2358 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
2359 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
2360 (alpha_store_data_bypass_p_1): Ditto.
2361 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
2362 of generic store_data_bypass_p.
2363 (ev4_ist_c): Remove insn reservation.
2364
2365 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
2366
2367 PR target/105970
2368 * config/i386/i386.cc (ix86_function_arg): Assert that
2369 the mode of pointer argumet is equal to ptr_mode, not Pmode.
2370
2371 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
2372
2373 PR target/105993
2374 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
2375 instead of REGNO comparisons in combine splitter.
2376
2377 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
2378
2379 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
2380 types.
2381
2382 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
2383
2384 * config/riscv/bitmanip.md: Supress warning.
2385
2386 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
2387
2388 PR target/106004
2389 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
2390 Clear bits in the mask above bit 31.
2391
2392 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
2393
2394 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
2395 to avoid spilling trivial literals to the constant pool.
2396
2397 2022-06-16 David Malcolm <dmalcolm@redhat.com>
2398
2399 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
2400 auto_diagnostic_group to group any warning with its note.
2401 (maybe_warn_for_bound): Likewise.
2402 (check_access): Likewise.
2403 (warn_dealloc_offset): Likewise.
2404 (pass_waccess::maybe_warn_memmodel): Likewise.
2405 (pass_waccess::maybe_check_dealloc_call): Likewise.
2406 (pass_waccess::warn_invalid_pointer): Likewise.
2407 (pass_waccess::check_dangling_stores): Likewise.
2408
2409 2022-06-16 Jason Merrill <jason@redhat.com>
2410
2411 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
2412 opts_set->x_flag_sanitize.
2413
2414 2022-06-16 Jason Merrill <jason@redhat.com>
2415
2416 * flags.h (issue_strict_overflow_warning): Comment #endif.
2417
2418 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
2419
2420 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
2421 was invaraint before, clear the invariant bit.
2422 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
2423 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
2424
2425 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
2426
2427 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
2428
2429 2022-06-16 Jakub Jelinek <jakub@redhat.com>
2430
2431 PR tree-optimization/105983
2432 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
2433 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
2434 on non-equality comparisons.
2435
2436 2022-06-16 Jakub Jelinek <jakub@redhat.com>
2437
2438 PR tree-optimization/105984
2439 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
2440 x > stype_max / cst || x < stype_min / cst): fold_convert @1
2441 to TREE_TYPE (@0) just once and test for negative divisor
2442 also on that folded constant instead of on @1.
2443
2444 2022-06-16 Jakub Jelinek <jakub@redhat.com>
2445
2446 PR middle-end/105951
2447 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
2448 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
2449 as last argument to the internal functions.
2450 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
2451 extra call argument to ifns. If expand_atomic_fetch_op fails for the
2452 lhs == NULL_TREE case, fall through into the optab code with
2453 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
2454 fails, construct a CALL_EXPR and expand that.
2455 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
2456 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
2457 expand that.
2458
2459 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
2460
2461 PR target/103316
2462 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
2463 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
2464 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
2465 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
2466 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
2467 for new Power10 V1TI instructions.
2468 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
2469 (vec_cmpu<mode><mode>): Likewise.
2470 (vector_nlt<mode>): Set mode iterator to VEC_IC.
2471 (vector_nltv1ti): Remove.
2472 (vector_gtu<mode>): Set mode iterator to VEC_IC.
2473 (vector_gtuv1ti): Remove.
2474 (vector_nltu<mode>): Set mode iterator to VEC_IC.
2475 (vector_nltuv1ti): Remove.
2476 (vector_geu<mode>): Set mode iterator to VEC_IC.
2477 (vector_ngt<mode>): Likewise.
2478 (vector_ngtv1ti): Remove.
2479 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
2480 (vector_ngtuv1ti): Remove.
2481 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
2482 (vector_gtu_v1ti_p): Remove.
2483 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
2484 (vrotlv1ti3): Remove.
2485 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
2486 (vashrv1ti3): Remove.
2487
2488 2022-06-16 Martin Liska <mliska@suse.cz>
2489
2490 * gengtype-state.cc (read_a_state_token): Do not skip extra
2491 character after escaped sequence.
2492
2493 2022-06-16 Martin Liska <mliska@suse.cz>
2494
2495 PR driver/105564
2496 * spellcheck.cc (test_find_closest_string): Add new test.
2497 * spellcheck.h (class best_match): Prefer a difference in
2498 trailing sign symbol.
2499
2500 2022-06-16 liuhongt <hongtao.liu@intel.com>
2501
2502 PR tree-optimization/53533
2503 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
2504 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
2505 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
2506
2507 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2508
2509 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
2510
2511 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2512
2513 * config/xtensa/predicates.md (reload_operand):
2514 New predicate.
2515 * config/xtensa/xtensa.md: New peephole2 pattern.
2516
2517 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2518
2519 * config/xtensa/xtensa.md (*round_up_to_even):
2520 New insn-and-split pattern.
2521 (*signed_ge_zero): Ditto.
2522
2523 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2524
2525 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
2526 xtensa_emit_sibcall): New prototypes.
2527 (xtensa_expand_epilogue): Add new argument that specifies whether
2528 or not sibling call.
2529 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
2530 New macro definition.
2531 (xtensa_prepare_expand_call): New function in order to share
2532 the common code.
2533 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
2534 New functions.
2535 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
2536 for sibling call handling.
2537 * config/xtensa/xtensa.md (call, call_value):
2538 Use xtensa_prepare_expand_call.
2539 (call_internal, call_value_internal):
2540 Add the condition in order to be disabled if sibling call.
2541 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
2542 (sibcall_internal, sibcall_value_internal): New insn patterns,
2543 and split ones in order to take care of the indirect sibcalls.
2544
2545 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2546
2547 * doc/invoke.texi: Document -mextra-l32r-costs= option.
2548
2549 2022-06-15 David Malcolm <dmalcolm@redhat.com>
2550
2551 PR analyzer/105962
2552 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
2553 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
2554 Extend -fdiagnostics-path-format=separate-events so that with
2555 -fdiagnostics-show-path-depths it prints fndecls as well as stack
2556 depths.
2557
2558 2022-06-15 David Malcolm <dmalcolm@redhat.com>
2559
2560 * value-relation.h: Add "final" and "override" to relation_oracle
2561 vfunc implementations as appropriate.
2562
2563 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2564
2565 PR middle-end/105975
2566 Revert everything apart from the expand_fn_using_insn and
2567 expand_direct_optab_fn changes from:
2568 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
2569 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
2570 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
2571 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
2572 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
2573 member variable.
2574 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
2575 (direct_internal_fn_p): Also return true for internal functions
2576 that map directly to instructions defined target-insns.def.
2577 (direct_internal_fn): Adjust comment accordingly.
2578 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
2579 (vectorizable_optab2): New local macros.
2580 (not_direct): Initialize directly_mapped.
2581 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
2582 (gather_load_direct, len_load_direct, mask_store_direct)
2583 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
2584 (vec_cond_direct, scatter_store_direct, len_store_direct)
2585 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
2586 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
2587 (while_direct, fold_extract_direct, fold_left_direct)
2588 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
2589 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
2590 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
2591 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
2592 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
2593 (direct_internal_fn_types): Handle functions that map to instructions
2594 defined in target-insns.def.
2595 (direct_internal_fn_types): Likewise.
2596 (direct_internal_fn_supported_p): Likewise.
2597 (internal_fn_expanders): Likewise.
2598 (expand_fn_using_insn): New function,
2599 split out and adapted from...
2600 (expand_direct_optab_fn): ...here.
2601 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
2602 (expand_GOMP_SIMT_EXIT): Likewise.
2603 (expand_GOMP_SIMT_LANE): Likewise.
2604 (expand_GOMP_SIMT_LAST_LANE): Likewise.
2605 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
2606 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
2607 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
2608 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
2609
2610 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
2611
2612 PR target/105981
2613 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
2614 to first_reg and second_reg respectively. Initialize them correctly
2615 when generating big-endian code.
2616
2617 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
2618
2619 PR target/105974
2620 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
2621
2622 2022-06-15 Richard Biener <rguenther@suse.de>
2623
2624 PR tree-optimization/105971
2625 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
2626 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
2627 to leak less surprising alias results.
2628
2629 2022-06-15 Richard Biener <rguenther@suse.de>
2630
2631 PR tree-optimization/105969
2632 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
2633 by zero in overflow check.
2634
2635 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2636
2637 PR tree-optimization/105254
2638 PR tree-optimization/105940
2639 Revert:
2640 * config/aarch64/aarch64.cc
2641 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
2642 loop_vec_info as argument. Restrict the unroll factor to values
2643 that divide the VF.
2644 (aarch64_vector_costs::finish_cost): Update call accordingly.
2645
2646 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
2647
2648 * read-rtl.cc (find_int): Substitute symbolic constants
2649 before converting the string to an integer.
2650
2651 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
2652 Richard Biener <rguenther@suse.de>
2653
2654 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
2655 left shifts by a constant when the result is truncated, and the
2656 shift constant is well-defined.
2657 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
2658 support for rotations of signed integer types, by lowering
2659 using unsigned vector shifts.
2660
2661 2022-06-15 liuhongt <hongtao.liu@intel.com>
2662
2663 PR target/105953
2664 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
2665 operands[3].
2666
2667 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
2668
2669 PR rtl-optimization/105041
2670 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
2671
2672 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
2673
2674 * config/rs6000/vsx.md (VS_scalar): Delete.
2675 (rest of file): Adjust.
2676
2677 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
2678
2679 PR ipa/105739
2680 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
2681
2682 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2683
2684 * config/riscv/bitmanip.md: Add split to handle opportunities
2685 for slli + sh[123]add.uw
2686
2687 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
2688
2689 * config/riscv/predicates.md (consecutive_bits_operand):
2690 Implement new predicate.
2691
2692 2022-06-14 Richard Biener <rguenther@suse.de>
2693
2694 PR tree-optimization/105946
2695 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
2696 Do not look at arguments not specified in the function call.
2697
2698 2022-06-14 Richard Biener <rguenther@suse.de>
2699
2700 PR middle-end/105965
2701 * match.pd (view_convert CONSTRUCTOR): Handle single-element
2702 CTOR case.
2703
2704 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
2705
2706 * warning-control.cc (copy_warning) [generic version]: Do not erase
2707 the warning data of the destination location when the no-warning
2708 bit is not set on the source.
2709 (copy_warning) [tree version]: Return early if TO is equal to FROM.
2710 (copy_warning) [gimple version]: Likewise.
2711
2712 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
2713
2714 PR tree-optimization/105940
2715 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
2716 applying suggested_unroll_factor after start_over.
2717
2718 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2719
2720 * config/xtensa/predicates.md (shifted_mask_operand):
2721 New predicate.
2722 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
2723 New insn-and-split pattern.
2724 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
2725 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
2726 *masktrue_const_shifted_mask): Ditto.
2727
2728 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2729
2730 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
2731
2732 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2733
2734 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
2735 Remove the first argument.
2736 (xtensa_emit_bit_branch): Remove it because now called only from the
2737 output statement of *bittrue insn pattern.
2738 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
2739 argument 'p_invert', and make so that the condition is reversed by
2740 itself as needed.
2741 (xtensa_expand_conditional_branch): Share the common path, and remove
2742 condition inversion code.
2743 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
2744 "false side" pattern.
2745 (xtensa_emit_bit_branch): Remove it because of the abovementioned
2746 reason, and move the function body to *bittrue insn pattern.
2747 * config/xtensa/xtensa.md (*bittrue): Transplant the output
2748 statement from removed xtensa_emit_bit_branch().
2749 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
2750 insn patterns.
2751
2752 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2753
2754 * config/xtensa/predicates.md (logical_shift_operator,
2755 xtensa_shift_per_byte_operator): New predicates.
2756 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
2757 New prototype.
2758 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
2759 New helper function for funnel shift patterns.
2760 * config/xtensa/xtensa.md (ior_op): New code iterator.
2761 (*ashlsi3_1): Replace with new split pattern.
2762 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
2763 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
2764 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
2765 in order to omit unnecessary bitwise AND operation.
2766 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
2767 *shlrd_per_byte_<code>_omit_AND):
2768 New insn patterns for funnel shifts.
2769
2770 2022-06-13 Jason Merrill <jason@redhat.com>
2771
2772 * tree-cfg.cc (pass_warn_function_return::execute): Also check
2773 BUILT_IN_TRAP.
2774
2775 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
2776
2777 * config/riscv/riscv.md (length): Remove the explicit setting
2778 for "fcmp".
2779
2780 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
2781
2782 * common/config/i386/cpuinfo.h (get_available_features): Require
2783 AVX for F16C and VAES.
2784
2785 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
2786
2787 PR target/105927
2788 * config/i386/predicates.md (register_no_elim_operand):
2789 Return true for subreg of a memory operand.
2790
2791 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
2792
2793 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
2794 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
2795 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
2796 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
2797 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
2798 member variable.
2799 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
2800 (direct_internal_fn_p): Also return true for internal functions
2801 that map directly to instructions defined target-insns.def.
2802 (direct_internal_fn): Adjust comment accordingly.
2803 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
2804 (vectorizable_optab2): New local macros.
2805 (not_direct): Initialize directly_mapped.
2806 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
2807 (gather_load_direct, len_load_direct, mask_store_direct)
2808 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
2809 (vec_cond_direct, scatter_store_direct, len_store_direct)
2810 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
2811 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
2812 (while_direct, fold_extract_direct, fold_left_direct)
2813 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
2814 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
2815 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
2816 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
2817 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
2818 (direct_internal_fn_types): Handle functions that map to instructions
2819 defined in target-insns.def.
2820 (direct_internal_fn_types): Likewise.
2821 (direct_internal_fn_supported_p): Likewise.
2822 (internal_fn_expanders): Likewise.
2823
2824 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
2825
2826 * internal-fn.cc (expand_fn_using_insn): New function,
2827 split out and adapted from...
2828 (expand_direct_optab_fn): ...here.
2829 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
2830 (expand_GOMP_SIMT_EXIT): Likewise.
2831 (expand_GOMP_SIMT_LANE): Likewise.
2832 (expand_GOMP_SIMT_LAST_LANE): Likewise.
2833 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
2834 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
2835 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
2836 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
2837
2838 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2839
2840 * omp-expand.cc (expand_omp_target): Remap user provided
2841 device clause arguments, -1 to -2 and -2 to -3, either
2842 at compile time if constant, or at runtime.
2843
2844 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
2845
2846 * common.opt (finstrument-functions): Set explicit value.
2847 (-finstrument-functions-once): New option.
2848 * doc/invoke.texi (Program Instrumentation Options): Document it.
2849 * gimplify.cc (build_instrumentation_call): New static function.
2850 (gimplify_function_tree): Call it to emit the instrumentation calls
2851 if -finstrument-functions[-once] is specified.
2852
2853 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
2854
2855 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
2856 * gimple.h (gimple_set_location): Do not copy warning data from
2857 the previous location when it is UNKNOWN_LOCATION.
2858 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
2859
2860 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2861
2862 PR target/105911
2863 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
2864 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
2865 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
2866 operands[3] unmodified.
2867
2868 2022-06-12 Simon Wright <simon@pushface.org>
2869
2870 PR target/104871
2871 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
2872 version is darwin20 (macOS 11) or greater, truncate the version to the
2873 major number.
2874
2875 2022-06-12 Mark Mentovai <mark@mentovai.com>
2876
2877 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
2878
2879 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2880
2881 PR target/96463
2882 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
2883 (svld1rq_impl::fold): Define.
2884 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
2885 op_mode and op_vec_flags.
2886 (aarch64_evpc_reencode): Initialize newd.op_mode and
2887 newd.op_vec_flags.
2888 (aarch64_evpc_sve_dup): New function.
2889 (aarch64_expand_vec_perm_const_1): Gate existing calls to
2890 aarch64_evpc_* functions under d->vmode == d->op_mode,
2891 and call aarch64_evpc_sve_dup.
2892 (aarch64_vectorize_vec_perm_const): Remove assert
2893 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
2894 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
2895 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
2896 constant.
2897
2898 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2899
2900 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
2901 New prototype.
2902 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
2903 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
2904 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
2905 New backend functions that process the abovementioned logic.
2906 (xtensa_emit_move_sequence): Revert the previous changes.
2907 * config/xtensa/xtensa.md: New split patterns for integer
2908 and floating-point, as the frontend part.
2909
2910 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2911
2912 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
2913 for ABS and NEG, add missing case for BSWAP and CLRSB, and
2914 double the costs for integer divisions using libfuncs if
2915 optimizing for speed, in order to take advantage of fast constant
2916 division by multiplication.
2917 (TARGET_INSN_COST): New macro definition.
2918 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
2919 calculating relative costs of a RTL insns, for both of speed and
2920 size.
2921 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
2922 the attribute "length" that depends on TARGET_DENSITY.
2923 (define_asm_attributes, blockage, frame_blockage): Add missing
2924 attributes.
2925 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
2926 dependent option, however, preparatory work for now.
2927
2928 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2929
2930 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
2931 Pass through the block length / loop count conditions if
2932 zero-overhead looping is configured and active,
2933
2934 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2935
2936 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
2937 Split into individual signedness, in order to use libcall
2938 "__umulsidi3" but not the other.
2939 (<u>mulhisi3): Merge into one by using code iterator.
2940 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
2941
2942 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
2943
2944 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
2945 not generate block copies with vector pair instructions if we are
2946 tuning for power10.
2947
2948 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
2949
2950 PR rtl-optimization/7061
2951 * expr.cc (emit_group_store): For groups that consist of a single
2952 scalar integer register that hold a complex mode value, use
2953 gen_lowpart to generate a SUBREG to "view_convert" to the complex
2954 mode. For modes of different sizes, first convert to an integer
2955 mode of the appropriate size.
2956
2957 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2958
2959 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
2960
2961 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2962
2963 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
2964 New insn_and_split pattern.
2965
2966 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2967
2968 * config/xtensa/xtensa.md (one_cmplsi2):
2969 Rearrange as an insn_and_split pattern.
2970
2971 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2972
2973 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
2974
2975 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
2976
2977 * config/rs6000/rs6000.md (FP_ISA3): Delete.
2978 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
2979 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
2980 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
2981 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
2982 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
2983 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
2984 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
2985 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
2986
2987 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
2988
2989 * config/riscv/riscv.md
2990 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
2991 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
2992 rather than space with FSFLAGS.
2993
2994 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
2995
2996 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
2997 omp_discover_declare_target_fn_r): Don't walk reverse-offload
2998 target regions.
2999
3000 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3001
3002 * doc/invoke.texi (-Waddress): Fix a typo in small example.
3003 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
3004
3005 2022-06-09 Cui,Lili <lili.cui@intel.com>
3006
3007 PR target/105493
3008 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
3009 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
3010 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
3011 (icelake_cost): Ditto.
3012 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
3013 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
3014 {8, 8, 8, 10, 15}.
3015
3016 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
3017
3018 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
3019 and ior insns to one rotate and mask insn.
3020 (define_split for bswapdi register): Likewise.
3021
3022 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
3023
3024 PR middle-end/105874
3025 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
3026 variable tem_modifier for calculating the expand_modifier enum to
3027 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
3028
3029 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
3030
3031 PR target/105879
3032 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
3033 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
3034 'gen_highpart' bitwise semantics and fix order of highpart and
3035 lowpart depending on target endianness.
3036
3037 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
3038
3039 * config/arm/arm-cpus.in (star-mc1): New cpu.
3040 * config/arm/arm-tables.opt: Regenerate.
3041 * config/arm/arm-tune.md: Regenerate.
3042 * doc/invoke.texi: Update docs.
3043
3044 2022-06-08 liuhongt <hongtao.liu@intel.com>
3045
3046 PR target/105513
3047 PR target/105504
3048 * config/i386/i386.md (*movsi_internal): Change alternative
3049 from *v to ?v.
3050 (*movdi_internal): Ditto.
3051 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
3052 to ?r.
3053 (*vec_extractv4sf_mem): Ditto.
3054 (*vec_extracthf): Ditto.
3055
3056 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
3057
3058 PR target/105090
3059 * config/arm/arm.cc (arm_bfi_1_p): New function.
3060 (arm_bfi_p): New function.
3061 (arm_rtx_costs_internal): Add costs for BFI idioms.
3062 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
3063 * config/arm/constraints.md (Dj): New constraint.
3064 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
3065 (insv_zero): Convert to an insn with a split.
3066 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
3067
3068 2022-06-07 liuhongt <hongtao.liu@intel.com>
3069
3070 PR target/105854
3071 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
3072 from Yv to Yw.
3073
3074 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
3075
3076 PR middle-end/105853
3077 PR target/105856
3078 * calls.cc (load_register_parameters): Call store_constructor
3079 and int_expr_size directly instead of expanding via expand_expr.
3080 * expr.cc (static void store_constructor): Don't prototype here.
3081 (static HOST_WIDE_INT int_expr_size): Likewise.
3082 (store_constructor): No longer static.
3083 (int_expr_size): Likewise, no longer static.
3084 * expr.h (store_constructor): Prototype here.
3085 (int_expr_size): Prototype here.
3086
3087 2022-06-07 Jan Beulich <jbeulich@suse.com>
3088
3089 Revert:
3090 2022-06-03 Jan Beulich <jbeulich@suse.com>
3091
3092 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
3093 * configure.ac: Check for objcopy, producing
3094 ORIGINAL_OBJCOPY_FOR_TARGET.
3095 * configure: Update accordingly.
3096 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
3097 Handle objcopy.
3098
3099 2022-06-07 Jakub Jelinek <jakub@redhat.com>
3100
3101 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
3102 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
3103 Adjust clause printing style depending on
3104 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
3105
3106 2022-06-07 Jan Beulich <jbeulich@suse.com>
3107
3108 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
3109 Change type.
3110 * config/i386/i386-builtin-types.def: New function type
3111 (V4DI, V32QI, V32QI).
3112 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
3113 V4DI_FTYPE_V32QI_V32QI.
3114
3115 2022-06-07 Jan Beulich <jbeulich@suse.com>
3116
3117 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
3118 into account for reg-only insns.
3119
3120 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
3121
3122 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
3123 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
3124 TARGET_CMOVE's (scalar integer) conditional moves.
3125 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
3126 from its equivalent (canonical) pxor;pand;pxor sequence.
3127
3128 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
3129
3130 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
3131 parameter ORDER.
3132
3133 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
3134
3135 * config.in: Regenerate.
3136 * configure: Regenerate.
3137 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
3138
3139 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
3140
3141 PR middle-end/95126
3142 * calls.cc (load_register_parameters): When loading a suitable
3143 immediate_const_ctor_p VAR_DECL into a single word_mode register,
3144 construct it directly in a pseudo rather than read it (by parts)
3145 from memory.
3146 * expr.cc (int_expr_size): Make tree argument a const_tree.
3147 (immediate_const_ctor_p): Helper predicate. Return true for
3148 simple constructors that may be materialized in a register.
3149 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
3150 VAR_DECL with a suitable immediate_const_ctor_p constructor
3151 use store_constructor to materialize it directly in a pseudo.
3152 * expr.h (immediate_const_ctor_p): Prototype here.
3153 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
3154 VALUE argument from tree to const_tree.
3155 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
3156 prototype.
3157
3158 2022-06-04 Jakub Jelinek <jakub@redhat.com>
3159
3160 PR target/105825
3161 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
3162 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
3163 bits of mask aren't all set, use operands[2] mode for the AND
3164 operation instead of always SImode.
3165
3166 2022-06-03 Jakub Jelinek <jakub@redhat.com>
3167
3168 PR middle-end/30314
3169 PR middle-end/105777
3170 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
3171 x > stype_max / cst || x < stype_min / cst): New simplification.
3172
3173 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
3174
3175 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
3176 Value_Range.
3177 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
3178 * value-range.h (Value_Range::Value_Range): Implement copy
3179 constructor for Value_Range.
3180
3181 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
3182
3183 * value-range.h (struct vrange_traits): Remove.
3184 (is_a): Rewrite without vrange_traits.
3185 (as_a): Same.
3186
3187 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
3188
3189 * value-range.cc (vrange::contains_p): Implement.
3190 (vrange::type): Return void.
3191 (vrange::supports_type_p): Implement.
3192 (irange::fits_p): Same.
3193 (vrange::set_undefined): Same.
3194 (irange::set_nonnegative): Same.
3195 (vrange::set_varying): Same.
3196 (vrange::union_): Same.
3197 (unsupported_range::set): Move to vrange.
3198 (unsupported_range::type): Move to vrange.
3199 (vrange::intersect): Implement for varying and undefined.
3200 (vrange::zero_p): Implement.
3201 (unsupported_range::supports_type_p): Move to vrange.
3202 (vrange::nonzero_p): Implement.
3203 (unsupported_range::set_undefined): Move to vrange.
3204 (unsupported_range::set_varying): Same.
3205 (unsupported_range::dump): Same.
3206 (unsupported_range::union_): Same. Implement for varying and
3207 undefined.
3208 (unsupported_range::intersect): Move to vrange.
3209 (unsupported_range::zero_p): Same.
3210 (unsupported_range::nonzero_p): Same.
3211 (unsupported_range::set_nonzero): Same.
3212 (unsupported_range::set_zero): Same.
3213 (unsupported_range::set_nonnegative): Same.
3214 (unsupported_range::fits_p): Same.
3215 * value-range.h (class vrange): Remove abstract markers for most
3216 methods.
3217 (class unsupported_range): Remove most methods as they will now be
3218 inherited from vrange.
3219
3220 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
3221
3222 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
3223 an object level supports_type_p for irange and a static
3224 Value_Range::supports_type_p.
3225 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
3226 (fold_using_range::range_of_address): Same.
3227 (fold_using_range::range_of_builtin_call): Same.
3228 * gimple-range-fold.h (gimple_range_type): Same.
3229 (gimple_range_ssa_p): Same.
3230 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
3231 Same.
3232 (path_range_query::range_of_stmt): Same.
3233 (path_range_query::add_to_imports): Same.
3234 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
3235 (gimple_ranger::export_global_ranges): Same.
3236 * gimple-ssa-evrp-analyze.cc
3237 (evrp_range_analyzer::record_ranges_from_phis): Same.
3238 * range-op.cc (range_operator::wi_fold): Same.
3239 (range_operator::fold_range): Same.
3240 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
3241 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
3242 (evaluate_control_stmt_using_entry_checks): Same.
3243 * tree-ssa-threadedge.cc
3244 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
3245 * tree-vrp.cc (supported_types_p): Same.
3246 * value-query.cc (range_query::value_of_expr): Same.
3247 (range_query::value_on_edge): Same.
3248 (range_query::value_of_stmt): Same.
3249 (range_query::get_tree_range): Same.
3250 (get_range_global): Same.
3251 (global_range_query::range_of_expr): Same.
3252 * value-range-equiv.h (class value_range_equiv): Same.
3253 * value-range.cc (irange::supports_type_p): Same.
3254 (unsupported_range::supports_type_p): Same.
3255 * value-range.h (enum value_range_discriminator): Same.
3256 (Value_Range::init): Same.
3257 (Value_Range::supports_type_p): Same.
3258 (irange::supports_type_p): Same.
3259 (irange::supports_p): Same.
3260 (vrange::supports_type_p): Same.
3261 (vrange_allocator::alloc_vrange): Same.
3262
3263 2022-06-03 Jan Beulich <jbeulich@suse.com>
3264
3265 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
3266 * configure.ac: Check for objcopy, producing
3267 ORIGINAL_OBJCOPY_FOR_TARGET.
3268 * configure: Update accordingly.
3269 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
3270 Handle objcopy.
3271
3272 2022-06-03 Jan Beulich <jbeulich@suse.com>
3273
3274 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
3275 (*mmx_psadbw): New. Mark as commutative.
3276 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
3277 (*<sse2_avx2>_psadbw): New. Mark as commutative.
3278
3279 2022-06-03 Alexandre Oliva <oliva@adacore.com>
3280
3281 PR tree-optimization/105665
3282 PR tree-optimization/100810
3283 * tree-ssa-loop-ivopts.cc
3284 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
3285 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
3286 (find_ssa_undef): Check precomputed flag and intervening uses.
3287 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
3288
3289 2022-06-02 David Malcolm <dmalcolm@redhat.com>
3290
3291 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
3292 tree-logical-location.o.
3293 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
3294 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
3295 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
3296 (sarif-stderr, sarif-file): New enum values.
3297 * diagnostic-client-data-hooks.h: New file.
3298 * diagnostic-format-sarif.cc: New file.
3299 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
3300 (enum diagnostic_event::noun): New enum.
3301 (enum diagnostic_event::property): New enum.
3302 (struct diagnostic_event::meaning): New struct.
3303 (diagnostic_event::get_logical_location): New vfunc.
3304 (diagnostic_event::get_meaning): New vfunc.
3305 (simple_diagnostic_event::get_logical_location): New vfunc impl.
3306 (simple_diagnostic_event::get_meaning): New vfunc impl.
3307 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
3308 (diagnostic_initialize): Initialize m_client_data_hooks.
3309 (diagnostic_finish): Clean up m_client_data_hooks.
3310 (diagnostic_event::meaning::dump_to_pp): New.
3311 (diagnostic_event::meaning::maybe_get_verb_str): New.
3312 (diagnostic_event::meaning::maybe_get_noun_str): New.
3313 (diagnostic_event::meaning::maybe_get_property_str): New.
3314 (get_cwe_url): Make non-static.
3315 (diagnostic_output_format_init): Handle
3316 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
3317 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
3318 * diagnostic.h (enum diagnostics_output_format): Add
3319 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
3320 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
3321 (class diagnostic_client_data_hooks): New forward decl.
3322 (class logical_location): New forward decl.
3323 (diagnostic_context::m_client_data_hooks): New field.
3324 (diagnostic_output_format_init_sarif_stderr): New decl.
3325 (diagnostic_output_format_init_sarif_file): New decl.
3326 (get_cwe_url): New decl.
3327 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
3328 sarif-file.
3329 * doc/sourcebuild.texi (Scan a particular file): Add
3330 scan-sarif-file and scan-sarif-file-not.
3331 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
3332 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
3333 (LANG_HOOKS_INITIALIZER): Add
3334 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
3335 * langhooks.cc (lhd_get_sarif_source_language): New.
3336 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
3337 * logical-location.h: New file.
3338 * plugin.cc (struct for_each_plugin_closure): New.
3339 (for_each_plugin_cb): New.
3340 (for_each_plugin): New.
3341 * plugin.h (for_each_plugin): New decl.
3342 * tree-diagnostic-client-data-hooks.cc: New file.
3343 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
3344 (tree_diagnostics_defaults): Populate m_client_data_hooks.
3345 * tree-logical-location.cc: New file.
3346 * tree-logical-location.h: New file.
3347
3348 2022-06-02 David Malcolm <dmalcolm@redhat.com>
3349
3350 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
3351 to description.
3352 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
3353 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
3354 (diagnostics_output_format): Add json-stderr and json-file.
3355 * diagnostic-format-json.cc (json_flush_to_file): New.
3356 (json_final_cb): Convert to...
3357 (json_flush_to_file): ...this, ...
3358 (json_stderr_final_cb): ...this, and...
3359 (json_file_final_cb): ...this.
3360 (diagnostic_output_format_init): Move to diagnostic.cc.
3361 (json_output_base_file_name): New.
3362 (diagnostic_output_format_init_json): New.
3363 (diagnostic_output_format_init_json_stderr): New.
3364 (diagnostic_output_format_init_json_file): New.
3365 * diagnostic.cc (diagnostic_output_format_init): Move here from
3366 diagnostic-format-json.cc; update for changes to enum.
3367 * diagnostic.h (enum diagnostics_output_format): Rename
3368 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
3369 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
3370 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
3371 (diagnostic_output_format_init): Add base_file_name param.
3372 (diagnostic_output_format_init_json_stderr): New decl.
3373 (diagnostic_output_format_init_json_file): New dec.
3374 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
3375 "json-file". Rewrite so that the existing "json" is a synonym of
3376 "json-stderr".
3377 * gcc.cc (driver_handle_option): Pass dump_base_name to
3378 diagnostic_output_format_init.
3379 * opts.cc (common_handle_option): Likewise.
3380
3381 2022-06-02 David Malcolm <dmalcolm@redhat.com>
3382
3383 * json.cc (string::print): Fix escaping of '\'.
3384
3385 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
3386
3387 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
3388 (-1 << 31) for the single-bit case, when operating on (1 << 31)
3389 in SImode.
3390 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
3391 any single-bit value, moving the special case for (1 << 31) to
3392 riscv_build_integer_1 (in riscv.c).
3393
3394 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
3395
3396 PR target/105791
3397 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
3398 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
3399
3400 2022-06-02 Jakub Jelinek <jakub@redhat.com>
3401
3402 PR target/105778
3403 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
3404 from AND and its operands and just verify operands[2] has HImode,
3405 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
3406 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
3407 just throw away the masking. Use force_reg before calling
3408 gen_lowpart.
3409 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
3410 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
3411 just throw away the masking.
3412 (*ashl<mode>3_doubleword): Rename to ...
3413 (ashl<mode>3_doubleword): ... this.
3414 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
3415 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
3416 Use force_reg before calling gen_lowpart.
3417 (*<insn><mode>3_mask): Likewise.
3418 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
3419 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
3420 case just throw away the masking. Use force_reg before calling
3421 gen_lowpart.
3422 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
3423 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
3424 throw away the masking.
3425 (*<insn><mode>3_doubleword): Rename to ...
3426 (<insn><mode>3_doubleword): ... this.
3427 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
3428 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
3429 Use force_reg before calling gen_lowpart.
3430 (splitter after it): Remove :SI from AND and its operands and just
3431 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
3432 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
3433 operands and just verify operands[1] has HImode, SImode or for
3434 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
3435 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
3436 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
3437 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
3438
3439 2022-06-02 Richard Biener <rguenther@suse.de>
3440
3441 PR tree-optimization/101668
3442 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
3443 for vector types with compatible lane types.
3444 (vect_build_slp_tree_2): Deal with this.
3445 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
3446 special cases without VEC_PERM.
3447 (vectorizable_slp_permutation): Select the operand vector
3448 type and relax requirements. Handle identity permutes
3449 with mismatching operand types.
3450 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
3451 permutes for op_mode == mode.
3452
3453 2022-06-02 Richard Biener <rguenther@suse.de>
3454
3455 PR tree-optimization/105802
3456 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
3457 Make sure to also compute the range in the type of the switch index.
3458
3459 2022-06-01 David Seifert <soap@gentoo.org>
3460
3461 PR plugins/95648
3462 * configure: Regenerate.
3463
3464 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
3465
3466 PR rtl-optimization/105638
3467 * df-core.cc (df_find_single_def_src): Moved and renamed from
3468 find_single_def_src in loop-iv.cc. Change the argument to rtx
3469 and use rtx_equal_p. Return null for partial or conditional
3470 defs.
3471 * df.h (df_find_single_def_src): New prototype.
3472 * dse.cc (record_store): Use the constant source if the source
3473 register is set only once.
3474 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
3475 (replace_single_def_regs): Replace find_single_def_src with
3476 df_find_single_def_src.
3477
3478 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
3479
3480 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
3481 selected_tune.
3482 (explicit_arch): Rename to selected_arch.
3483 (x_aarch64_override_tune_string): Remove.
3484 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
3485 (aarch64_override_tune_string): Add Save so it gets saved/restored.
3486 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
3487 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
3488 (processor): Remove archtecture_version field.
3489 (selected_arch): Remove global.
3490 (selected_cpu): Remove global.
3491 (selected_tune): Remove global.
3492 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
3493 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
3494 (aarch64_override_options): Further simplify code to only set
3495 selected_arch and selected_tune globals.
3496 (aarch64_option_save): Remove now that target options are saved.
3497 (aarch64_option_restore): Remove redundant target option restores.
3498 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
3499 AARCH64_ISA_V9.
3500 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
3501 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
3502 (aarch64_ra_sign_key): Remove.
3503
3504 2022-06-01 Jakub Jelinek <jakub@redhat.com>
3505
3506 PR middle-end/30314
3507 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
3508 x > ~(utype)0 / cst): New simplification.
3509
3510 2022-06-01 Richard Biener <rguenther@suse.de>
3511
3512 PR tree-optimization/105786
3513 * tree-loop-distribution.cc
3514 (loop_distribution::transform_reduction_loop): Only do strlen
3515 replacement for integer type reductions.
3516
3517 2022-06-01 Jakub Jelinek <jakub@redhat.com>
3518
3519 PR tree-optimization/105770
3520 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
3521 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
3522
3523 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3524
3525 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
3526 (sbr_vector::sbr_vector): Same.
3527 (sbr_vector::grow): Same.
3528 (sbr_vector::set_bb_range): Same.
3529 (sbr_vector::get_bb_range): Same.
3530 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
3531 (sbr_sparse_bitmap::set_bb_range): Same.
3532 (sbr_sparse_bitmap::get_bb_range): Same.
3533 (block_range_cache::set_bb_range): Same.
3534 (block_range_cache::get_bb_range): Same.
3535 (block_range_cache::dump): Same.
3536 (ssa_global_cache::get_global_range): Same.
3537 (ssa_global_cache::set_global_range): Same.
3538 (ssa_global_cache::clear): Same.
3539 (ssa_global_cache::dump): Same.
3540 (ranger_cache::get_global_range): Same.
3541 (ranger_cache::set_global_range): Same.
3542 (ranger_cache::range_of_def): Same.
3543 (ranger_cache::entry_range): Same.
3544 (ranger_cache::exit_range): Same.
3545 (ranger_cache::edge_range): Same.
3546 (ranger_cache::range_of_expr): Same.
3547 (ranger_cache::range_on_edge): Same.
3548 (ranger_cache::block_range): Same.
3549 (ranger_cache::propagate_cache): Same.
3550 (ranger_cache::fill_block_cache): Same.
3551 (ranger_cache::range_from_dom): Same.
3552 * gimple-range-cache.h: Same.
3553 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
3554 Same.
3555 (gimple_outgoing_range::switch_edge_range): Same.
3556 (gimple_outgoing_range::edge_range_p): Same.
3557 * gimple-range-edge.h: Same.
3558 * gimple-range-fold.cc (fur_source::get_operand): Same.
3559 (fur_source::get_phi_operand): Same.
3560 (fur_edge::get_operand): Same.
3561 (fur_edge::get_phi_operand): Same.
3562 (fur_stmt::get_operand): Same.
3563 (fur_stmt::get_phi_operand): Same.
3564 (fur_list::fur_list): Same.
3565 (fur_list::get_operand): Same.
3566 (fur_list::get_phi_operand): Same.
3567 (fold_range): Same.
3568 (adjust_imagpart_expr): Same.
3569 (adjust_realpart_expr): Same.
3570 (gimple_range_adjustment): Same.
3571 (fold_using_range::fold_stmt): Same.
3572 (fold_using_range::range_of_range_op): Same.
3573 (fold_using_range::range_of_address): Same.
3574 (fold_using_range::range_of_phi): Same.
3575 (fold_using_range::range_of_call): Same.
3576 (fold_using_range::range_of_builtin_call): Same.
3577 (fold_using_range::range_of_builtin_int_call): Same.
3578 (fold_using_range::range_of_cond_expr): Same.
3579 (fur_source::register_outgoing_edges): Same.
3580 * gimple-range-fold.h (fold_range): Same.
3581 (gimple_range_type): Same.
3582 (gimple_range_ssa_p): Same.
3583 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
3584 (gimple_range_calc_op2): Same.
3585 (gori_compute::compute_operand_range_switch): Same.
3586 (gori_compute::compute_operand_range): Same.
3587 (gori_compute::logical_combine): Same.
3588 (gori_compute::compute_logical_operands): Same.
3589 (gori_compute::compute_operand1_range): Same.
3590 (gori_compute::compute_operand2_range): Same.
3591 (gori_compute::compute_operand1_and_operand2_range): Same.
3592 (gori_compute::outgoing_edge_range_p): Same.
3593 (gori_compute::condexpr_adjust): Same.
3594 * gimple-range-gori.h (gimple_range_calc_op1): Same.
3595 (gimple_range_calc_op2): Same.
3596 * gimple-range-path.cc (path_range_query::get_cache): Same.
3597 (path_range_query::set_cache): Same.
3598 (path_range_query::range_on_path_entry): Same.
3599 (path_range_query::internal_range_of_expr): Same.
3600 (path_range_query::range_of_expr): Same.
3601 (path_range_query::ssa_range_in_phi): Same.
3602 (path_range_query::range_defined_in_block): Same.
3603 (path_range_query::compute_ranges_in_phis): Same.
3604 (path_range_query::compute_ranges_in_block): Same.
3605 (path_range_query::add_to_imports): Same.
3606 (path_range_query::range_of_stmt): Same.
3607 * gimple-range-path.h: Same.
3608 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
3609 (gimple_infer_range::~side_effect_manager): Same.
3610 (gimple_infer_range::get_nonzero): Same.
3611 (gimple_infer_range::maybe_adjust_range): Same.
3612 (gimple_infer_range::add_range): Same.
3613 * gimple-range-infer.h: Same.
3614 * gimple-range-tests.cc: Same.
3615 * gimple-range-trace.cc (range_tracer::trailer): Same.
3616 (debug_seed_ranger): Same.
3617 * gimple-range-trace.h: Same.
3618 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
3619 (gimple_ranger::range_on_entry): Same.
3620 (gimple_ranger::range_on_exit): Same.
3621 (gimple_ranger::range_on_edge): Same.
3622 (gimple_ranger::fold_range_internal): Same.
3623 (gimple_ranger::range_of_stmt): Same.
3624 (gimple_ranger::prefill_name): Same.
3625 (gimple_ranger::prefill_stmt_dependencies): Same.
3626 (gimple_ranger::export_global_ranges): Same.
3627 (gimple_ranger::dump_bb): Same.
3628 * gimple-range.h: Same.
3629 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
3630 (memmodel_to_uhwi): Same.
3631 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
3632 (determine_value_range): Same.
3633 (record_nonwrapping_iv): Same.
3634 (infer_loop_bounds_from_signedness): Same.
3635 (scev_var_range_cant_overflow): Same.
3636 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
3637 * value-query.cc (range_query::range_on_edge): Same.
3638 (range_query::range_of_stmt): Same.
3639 (range_query::value_of_expr): Same.
3640 (range_query::value_on_edge): Same.
3641 (range_query::value_of_stmt): Same.
3642 (range_query::get_tree_range): Same.
3643 (update_global_range): Same.
3644 (get_range_global): Same.
3645 (gimple_range_global): Same.
3646 (global_range_query::range_of_expr): Same.
3647 (range_query::query_relation): Same.
3648 * value-query.h (gimple_range_global): Same.
3649 (update_global_range): Same.
3650 * vr-values.cc (vr_values::range_of_expr): Same.
3651 (bounds_of_var_in_loop): Same.
3652 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
3653 * vr-values.h (class vr_values): Same.
3654 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
3655
3656 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3657
3658 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
3659 vrange allocator.
3660 (sbr_vector::grow): Same.
3661 (sbr_vector::set_bb_range): Same.
3662 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
3663 (sbr_sparse_bitmap::set_bb_range): Same.
3664 (block_range_cache::~block_range_cache): Same.
3665 (block_range_cache::set_bb_range): Same.
3666 (ssa_global_cache::ssa_global_cache): Same.
3667 (ssa_global_cache::~ssa_global_cache): Same.
3668 (ssa_global_cache::set_global_range): Same.
3669 * gimple-range-cache.h (block_range_cache): Same.
3670 (ssa_global_cache): Same.
3671 * gimple-range-edge.cc
3672 (gimple_outgoing_range::calc_switch_ranges): Same.
3673 * gimple-range-edge.h (gimple_outgoing_range): Same.
3674 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
3675 Same.
3676 (infer_range_manager::add_range): Same.
3677 * gimple-range-infer.h (class infer_range_manager): Same.
3678 * value-range.h (class irange_allocator): Rename to...
3679 (class vrange_allocator): ...this.
3680 (irange_allocator::irange_allocator): New.
3681 (vrange_allocator::vrange_allocator): New.
3682 (irange_allocator::~irange_allocator): New.
3683 (vrange_allocator::~vrange_allocator): New.
3684 (irange_allocator::get_memory): Rename to...
3685 (vrange_allocator::alloc): ...this.
3686 (vrange_allocator::alloc_vrange): Rename from...
3687 (irange_allocator::allocate): ...this.
3688 (vrange_allocator::alloc_irange): New.
3689
3690 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3691
3692 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
3693 vrange and convert range_op_handler function calls to use the
3694 identically named object.
3695 * gimple-range-fold.cc (gimple_range_operand1): Same.
3696 (gimple_range_operand2): Same.
3697 (fold_using_range::fold_stmt): Same.
3698 (fold_using_range::range_of_range_op): Same.
3699 (fold_using_range::range_of_builtin_ubsan_call): Same.
3700 (fold_using_range::relation_fold_and_or): Same.
3701 (fur_source::register_outgoing_edges): Same.
3702 * gimple-range-fold.h (gimple_range_handler): Remove.
3703 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
3704 (gimple_range_calc_op2): Same.
3705 (range_def_chain::get_def_chain): Same.
3706 (gori_compute::compute_operand_range): Same.
3707 (gori_compute::condexpr_adjust): Same.
3708 * gimple-range.cc (gimple_ranger::prefill_name): Same.
3709 (gimple_ranger::prefill_stmt_dependencies): Same.
3710 * range-op.cc (get_bool_state): Same.
3711 (class operator_equal): Add using clause.
3712 (class operator_not_equal): Same.
3713 (class operator_lt): Same.
3714 (class operator_le): Same.
3715 (class operator_gt): Same.
3716 (class operator_ge): Same.
3717 (class operator_plus): Same.
3718 (class operator_minus): Same.
3719 (class operator_mult): Same.
3720 (class operator_exact_divide): Same.
3721 (class operator_lshift): Same.
3722 (class operator_rshift): Same.
3723 (class operator_cast): Same.
3724 (class operator_logical_and): Same.
3725 (class operator_bitwise_and): Same.
3726 (class operator_logical_or): Same.
3727 (class operator_bitwise_or): Same.
3728 (class operator_bitwise_xor): Same.
3729 (class operator_trunc_mod): Same.
3730 (class operator_logical_not): Same.
3731 (class operator_bitwise_not): Same.
3732 (class operator_cst): Same.
3733 (class operator_identity): Same.
3734 (class operator_unknown): Same.
3735 (class operator_abs): Same.
3736 (class operator_negate): Same.
3737 (class operator_addr_expr): Same.
3738 (class pointer_or_operator): Same.
3739 (operator_plus::op1_range): Adjust for vrange.
3740 (operator_minus::op1_range): Same.
3741 (operator_mult::op1_range): Same.
3742 (operator_cast::op1_range): Same.
3743 (operator_bitwise_not::fold_range): Same.
3744 (operator_negate::fold_range): Same.
3745 (range_op_handler): Rename to...
3746 (get_handler): ...this.
3747 (range_op_handler::range_op_handler): New.
3748 (range_op_handler::fold_range): New.
3749 (range_op_handler::op1_range): New.
3750 (range_op_handler::op2_range): New.
3751 (range_op_handler::lhs_op1_relation): New.
3752 (range_op_handler::lhs_op2_relation): New.
3753 (range_op_handler::op1_op2_relation): New.
3754 (range_cast): Adjust for vrange.
3755 * range-op.h (range_op_handler): Remove function.
3756 (range_cast): Adjust for vrange.
3757 (class range_op_handler): New.
3758 (get_bool_state): Adjust for vrange.
3759 (empty_range_varying): Same.
3760 (relop_early_resolve): Same.
3761 * tree-data-ref.cc (compute_distributive_range): Same.
3762 * tree-vrp.cc (get_range_op_handler): Remove.
3763 (range_fold_binary_symbolics_p): Use range_op_handler class
3764 instead of get_range_op_handler.
3765 (range_fold_unary_symbolics_p): Same.
3766 (range_fold_binary_expr): Same.
3767 (range_fold_unary_expr): Same.
3768 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
3769
3770 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3771
3772 * gimple-range-fold.h (gimple_range_type): Check type before
3773 calling supports_type_p.
3774 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
3775 * value-query.cc (range_query::get_tree_range): Same.
3776 * value-range.cc (Value_Range::lower_bound): New.
3777 (Value_Range::upper_bound): New.
3778 (Value_Range::dump): New.
3779 * value-range.h (class Value_Range): New.
3780 (irange::supports_type_p): Do not check if type is non-zero.
3781
3782 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
3783
3784 * value-range-equiv.cc (value_range_equiv::set): New.
3785 * value-range-equiv.h (class value_range_equiv): Make set method
3786 virtual.
3787 Remove default bitmap argument from set method.
3788 * value-range.cc (vrange::contains_p): New.
3789 (vrange::singleton_p): New.
3790 (vrange::operator=): New.
3791 (vrange::operator==): New.
3792 (irange::fits_p): Move to .cc file.
3793 (irange::set_nonnegative): New.
3794 (unsupported_range::unsupported_range): New.
3795 (unsupported_range::set): New.
3796 (unsupported_range::type): New.
3797 (unsupported_range::set_undefined): New.
3798 (unsupported_range::set_varying): New.
3799 (unsupported_range::dump): New.
3800 (unsupported_range::union_): New.
3801 (unsupported_range::intersect): New.
3802 (unsupported_range::zero_p): New.
3803 (unsupported_range::nonzero_p): New.
3804 (unsupported_range::set_nonzero): New.
3805 (unsupported_range::set_zero): New.
3806 (unsupported_range::set_nonnegative): New.
3807 (unsupported_range::fits_p): New.
3808 (irange::set): Call irange::set_undefined.
3809 (irange::verify_range): Check discriminator field.
3810 (irange::dump): Dump [irange] marker.
3811 (irange::debug): Move to...
3812 (vrange::debug): ...here.
3813 (dump_value_range): Accept vrange.
3814 (debug): Same.
3815 * value-range.h (enum value_range_discriminator): New.
3816 (class vrange): New.
3817 (class unsupported_range): New.
3818 (struct vrange_traits): New.
3819 (is_a): New.
3820 (as_a): New.
3821 (class irange): Inherit from vrange.
3822 (dump_value_range): Adjust for vrange.
3823 (irange::kind): Rename to...
3824 (vrange::kind): ...this.
3825 (irange::varying_p): Rename to...
3826 (vrange::varying_p): ...this.
3827 (irange::undefined_p): Rename to...
3828 (vrange::undefined_p): ...this.
3829 (irange::irange): Set discriminator.
3830 (irange::union_): Convert to irange before passing to irange
3831 method.
3832 (irange::intersect): Same.
3833 (vrange::supports_type_p): New.
3834 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
3835 NULL bitmap argument to value_range_equiv::set.
3836 (vr_values::extract_range_basic): Same.
3837
3838 2022-06-01 Richard Biener <rguenther@suse.de>
3839
3840 PR tree-optimization/105763
3841 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
3842 Check gimple_range_ssa_p.
3843
3844 2022-05-31 Jason Merrill <jason@redhat.com>
3845
3846 * Makefile.in (TAGS): Look at libcpp/*.cc.
3847
3848 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
3849
3850 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
3851 Prefix mode names with E_.
3852
3853 2022-05-31 Alan Modra <amodra@gmail.com>
3854
3855 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
3856 spelling of DW_AT_namelist_item.
3857
3858 2022-05-31 Jakub Jelinek <jakub@redhat.com>
3859
3860 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
3861 allow var to be private in the outer context.
3862 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
3863 to build_outer_var_ref.
3864
3865 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3866
3867 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
3868 tieable with DImode on TARGET_64BIT, and SCmode tieable with
3869 V2SFmode, and DCmode with V2DFmode.
3870
3871 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3872
3873 PR rtl-optimization/101617
3874 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
3875 special case (indicated by negate_cc_compare_p) to generate a
3876 -1/0 mask using neg;sbb.
3877 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
3878 to generate an *x86_neg<mode>_ccc instruction.
3879 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
3880 generate a *x86_mov<mode>cc_0_m1_neg instruction.
3881
3882 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3883
3884 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
3885 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
3886 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
3887
3888 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
3889
3890 PR target/70321
3891 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
3892 DI mode equality/inequality using XOR here. Instead generate a
3893 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
3894 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
3895 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
3896 (general_scalar_chain::convert_compare): New function to convert
3897 scalar equality/inequality comparison into vector operations.
3898 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
3899 new convert_compare helper method.
3900 (convertible_comparion_p): Update to match doubleword COMPARE
3901 of two register, memory or integer constant operands.
3902 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
3903 Prototype/declare member function here.
3904 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
3905 only allow new doubleword modes for EQ and NE operators.
3906 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
3907 doubleword comparison into a pair of XORs followed by an IOR to
3908 set the (zero) flags register, optimizing the XORs if possible.
3909 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
3910 iterator; V_AVX is (currently) only used by ptest.
3911 (sse4_1 mode attribute): Update to support V1TI and V2TI.
3912
3913 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
3914
3915 * config/i386/i386.md: Remove constraints when used with
3916 const_int_operand, const0_operand, const_1_operand, constm1_operand,
3917 const8_operand, const128_operand, const248_operand, const123_operand,
3918 const2367_operand, const1248_operand, const359_operand,
3919 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
3920 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
3921 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
3922 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
3923 const_0_to_255_mul_8_operand, const_1_to_31_operand,
3924 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
3925 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
3926 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
3927 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
3928 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
3929 const_24_to_27_operand and const_28_to_31_operand.
3930 * config/i386/mmx.md: Ditto.
3931 * config/i386/sse.md: Ditto.
3932 * config/i386/subst.md: Ditto.
3933 * config/i386/sync.md: Ditto.
3934
3935 2022-05-30 Jan Beulich <jbeulich@suse.com>
3936
3937 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
3938 arguments.
3939
3940 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3941
3942 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
3943
3944 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
3945
3946 PR target/105599
3947 * config/darwin.h: Move versions-specific handling of multiply_defined
3948 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
3949
3950 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
3951
3952 PR other/82383
3953 * doc/sourcebuild.texi: Add entries for the c++tools,
3954 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
3955 and libsanitizer directories. Remove entry for boehm-gc.
3956 Fix alphabetization for libquadmath.
3957
3958 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
3959
3960 * config/avr/avr-mcus.def: Add device definitions.
3961 * doc/avr-mmcu.texi: Corresponding changes.
3962 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
3963 device prefix.
3964 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
3965 from leaking into cc1.
3966
3967 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
3968
3969 PR target/103722
3970 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
3971 is special) for various scenarios.
3972
3973 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
3974
3975 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
3976 describing this macro.
3977
3978 2022-05-27 Richard Biener <rguenther@suse.de>
3979
3980 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
3981
3982 2022-05-27 Martin Jambor <mjambor@suse.cz>
3983
3984 PR ipa/105639
3985 * ipa-prop.cc (propagate_controlled_uses): Check type of the
3986 constant before adding a LOAD reference.
3987
3988 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3989
3990 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
3991 to OMP_CLAUSE_ENTER.
3992 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
3993 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
3994 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
3995 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
3996 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
3997 "to" instead of "enter".
3998 * tree-nested.cc (convert_nonlocal_omp_clauses,
3999 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
4000 OMP_CLAUSE_TO_DECLARE.
4001
4002 2022-05-27 Richard Biener <rguenther@suse.de>
4003
4004 PR tree-optimization/105726
4005 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
4006 Constrain array-of-flexarray case more.
4007
4008 2022-05-27 Jakub Jelinek <jakub@redhat.com>
4009
4010 PR sanitizer/105729
4011 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
4012 to (X &) z + w if -fsanitize=null during GENERIC folding.
4013
4014 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
4015
4016 * match.pd (match_zero_one_valued_p): New predicate.
4017 (mult @0 @1): Use zero_one_valued_p for optimization to the
4018 expression "bit_and @0 @1".
4019 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
4020 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
4021 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
4022 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
4023 Remove three redundant transforms obsoleted by the three above.
4024
4025 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
4026
4027 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
4028 to split a combined "and;cmp" sequence into "not;test".
4029
4030 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4031
4032 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
4033 (bswapsi2_internal): Revise the template and condition, and add
4034 detection code for preceding the same insn in order to omit a
4035 "SSAI 8" instruction of the latter.
4036 (bswapdi2): Suppress built-in insn expansion with the corresponding
4037 library call when optimizing for size.
4038
4039 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4040
4041 * config/xtensa/xtensa-protos.h
4042 (xtensa_expand_block_set_unrolled_loop,
4043 xtensa_expand_block_set_small_loop): New prototypes.
4044 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
4045 xtensa_expand_block_set_unrolled_loop,
4046 xtensa_expand_block_set_small_loop): New functions.
4047 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
4048 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
4049
4050 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4051
4052 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
4053 Make instruction counting more accurate, and simplify emitting insns.
4054
4055 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4056
4057 * config/xtensa/constraints.md (M, O): Use the macro.
4058 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
4059 sext_fldsz_operand): Ditto.
4060 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
4061 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
4062 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
4063 xtensa_expand_prologue): Ditto.
4064 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
4065
4066 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4067
4068 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
4069 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
4070 Ditto.
4071
4072 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
4073
4074 * gimple-range-cache.cc: Adjust comments.
4075 * gimple-range-infer.cc: Adjust comments.
4076 * gimple-range-infer.h: Adjust comments.
4077 * gimple-range.cc: Adjust comments.
4078
4079 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
4080
4081 * Makefile.in (OBJS): Use gimple-range-infer.o.
4082 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
4083 (ranger_cache::range_from_dom): Rename var side_effect to infer.
4084 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
4085 * gimple-range-cache.h: Include gimple-range-infer.h.
4086 (class ranger_cache): Adjust prototypes, use infer_range_manager.
4087 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
4088 (gimple_infer_range::*): Rename from stmt_side_effects.
4089 (infer_range_manager::*): Rename from side_effect_manager.
4090 * gimple-range-side-effect.cc: Rename.
4091 * gimple-range-side-effect.h: Rename.
4092 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
4093 (class gimple_infer_range): Rename from stmt_side_effects.
4094 (class infer_range_manager): Rename from side_effect_manager.
4095 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
4096 from register_side_effects.
4097 * gimple-range.h (register_inferred_ranges): Adjust prototype.
4098 * range-op.h: Adjust comment.
4099 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
4100 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
4101
4102 2022-05-25 Simon Cook <simon.cook@embecosm.com>
4103
4104 * config/riscv/arch-canonicalize: Only add mafd extension if
4105 base was rv32/rv64g.
4106
4107 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
4108
4109 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
4110
4111 2022-05-25 Jakub Jelinek <jakub@redhat.com>
4112
4113 PR sanitizer/105714
4114 * asan.cc (has_stmt_been_instrumented_p): For assignments which
4115 are both stores and loads, return true only if both destination
4116 and source have been instrumented.
4117
4118 2022-05-25 Martin Liska <mliska@suse.cz>
4119 Richard Biener <rguenther@suse.de>
4120
4121 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
4122 * params.opt (max-unswitch-level): Remove.
4123 * doc/invoke.texi (max-unswitch-level): Likewise.
4124 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
4125 gimplified expressions.
4126 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
4127 (tree_may_unswitch_on): Rename to ...
4128 (find_unswitching_predicates_for_bb): ... this and handle
4129 switch statements.
4130 (get_predicates_for_bb): Likewise.
4131 (set_predicates_for_bb): Likewise.
4132 (init_loop_unswitch_info): Likewise.
4133 (tree_ssa_unswitch_loops): Prepare stuff before calling
4134 tree_unswitch_single_loop.
4135 (tree_unswitch_single_loop): Rework the function using
4136 pre-computed predicates and with a per original loop cost model.
4137 (merge_last): New.
4138 (add_predicate_to_path): Likewise.
4139 (find_range_for_lhs): Likewise.
4140 (simplify_using_entry_checks): Rename to ...
4141 (evaluate_control_stmt_using_entry_checks): ... this, handle
4142 switch statements and improve simplifications using ranger.
4143 (simplify_loop_version): Rework using
4144 evaluate_control_stmt_using_entry_checks.
4145 (evaluate_bbs): New.
4146 (evaluate_loop_insns_for_predicate): Likewise.
4147 (tree_unswitch_loop): Adjust to allow switch statements and
4148 pass in the edge to unswitch.
4149 (clean_up_after_unswitching): New.
4150 (pass_tree_unswitch::execute): Pass down fun.
4151
4152 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
4153
4154 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
4155 counts for the epilog loop.
4156
4157 2022-05-24 Martin Sebor <msebor@redhat.com>
4158 Richard Biener <rguenther@suse.de>
4159
4160 PR middle-end/105604
4161 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
4162 (get_origin_and_offset_r): Remove null handling. Handle variable array
4163 sizes.
4164 (get_origin_and_offset): Handle null argument here. Simplify.
4165 (alias_offset): Update comment.
4166 * pointer-query.cc (field_at_offset): Update comment. Handle members
4167 of variable-length types.
4168
4169 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4170
4171 * target.def (vec_perm_const): Define new parameter op_mode and
4172 update doc.
4173 * doc/tm.texi: Regenerate.
4174 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
4175 vec_perm_const hook to add new parameter op_mode and return false
4176 if result and operand modes do not match.
4177 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
4178 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
4179 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
4180 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
4181 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
4182 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
4183 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
4184 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
4185 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
4186 prototype.
4187 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
4188 (ashrv2di3): Likewise.
4189 * optabs.cc (expand_vec_perm_const): Likewise.
4190 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
4191 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
4192 op_mode and pass it to vec_perm_const hook.
4193 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
4194 * match.pd (vec_perm X Y CST): Likewise.
4195 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
4196 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
4197 (vect_grouped_load_supported): Likewise.
4198 (vect_shift_permute_load_chain): Likewise.
4199 * tree-vect-generic.cc (lower_vec_perm): Likewise.
4200 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
4201 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
4202 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
4203 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
4204 (vect_transform_slp_perm_load): Likewise.
4205 (vectorizable_slp_permutation): Likewise.
4206 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
4207 (vectorizable_bswap): Likewise.
4208 (scan_store_can_perm_p): Likewise.
4209 (vect_gen_perm_mask_checked): Likewise.
4210
4211 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
4212
4213 PR target/104816
4214 * config/i386/i386.opt: Remove Undocumented.
4215 * doc/invoke.texi: Document -mcet-switch.
4216
4217 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
4218
4219 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
4220 * config/gcn/gcn-opts.h (enum gcn_isa): New.
4221 (TARGET_GCN3): Use enum gcn_isa.
4222 (TARGET_GCN3_PLUS): Likewise.
4223 (TARGET_GCN5): Likewise.
4224 (TARGET_GCN5_PLUS): Likewise.
4225 (TARGET_CDNA1): New.
4226 (TARGET_CDNA1_PLUS): New.
4227 (TARGET_CDNA2): New.
4228 (TARGET_CDNA2_PLUS): New.
4229 (TARGET_M0_LDS_LIMIT): New.
4230 (TARGET_PACKED_WORK_ITEMS): New.
4231 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
4232 (gcn_option_override): Recognise CDNA ISA variants.
4233 (gcn_omp_device_kind_arch_isa): Support gfx90a.
4234 (gcn_expand_prologue): Make m0 init optional.
4235 Add support for packed work items.
4236 (output_file_start): Support gfx90a.
4237 (gcn_hsa_declare_function_name): Support gfx90a metadata.
4238 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
4239 __CDNA2__.
4240 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
4241 (<su>mulsi3_highpart_imm): Likewise.
4242 (<su>mulsidi3): Likewise.
4243 (<su>mulsidi3_imm): Likewise.
4244 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
4245 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
4246 (main): Support gfx90a.
4247 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
4248 * config/gcn/t-omp-device: Add gfx90a isa.
4249
4250 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
4251
4252 * config.in: Regenerate.
4253 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
4254 (X_900): Delete.
4255 (X_906): Delete.
4256 (X_908): Delete.
4257 (S_FIJI): Delete.
4258 (S_900): Delete.
4259 (S_906): Delete.
4260 (S_908): Delete.
4261 (NO_XNACK): New macro.
4262 (NO_SRAM_ECC): New macro.
4263 (SRAMOPT): Keep only v4 variant.
4264 (HSACO3_SELECT_OPT): Delete.
4265 (DRIVER_SELF_SPECS): Delete.
4266 (ASM_SPEC): Remove LLVM 9 support.
4267 * config/gcn/gcn-valu.md
4268 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
4269 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
4270 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
4271 (print_operand_address): Remove assembler bug workaround.
4272 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
4273 (EF_AMDGPU_SRAM_ECC_V3): Delete.
4274 (SET_XNACK_ON): Delete v3 variants.
4275 (SET_XNACK_OFF): Delete v3 variants.
4276 (TEST_XNACK): Delete v3 variants.
4277 (SET_SRAM_ECC_ON): Delete v3 variants.
4278 (SET_SRAM_ECC_ANY): Delete v3 variants.
4279 (SET_SRAM_ECC_OFF): Delete v3 variants.
4280 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
4281 (TEST_SRAM_ECC_ANY): Delete v3 variants.
4282 (TEST_SRAM_ECC_ON): Delete v3 variants.
4283 (copy_early_debug_info): Remove v3 support.
4284 (main): Remove v3 support.
4285 * configure: Regenerate.
4286 * configure.ac: Replace all GCN feature checks with a version check.
4287
4288 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
4289
4290 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
4291 i.e. a double word negation of a zero extended operand, to
4292 neg;sbb.
4293
4294 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
4295
4296 PR tree-optimization/105668
4297 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
4298 V1TImode, just like V2DImode.
4299 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
4300 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
4301 (vcond_mask_v2div2di): Delete.
4302 (vcond_mask_v1tiv1ti): New define_expand.
4303
4304 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
4305
4306 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
4307 to strncmp for strings of length one.
4308
4309 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
4310
4311 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
4312 prefetch instructions.
4313 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
4314 Extensions.
4315 (RISCV_ATYPE_SI): New.
4316 (RISCV_ATYPE_DI): New.
4317 * config/riscv/riscv-ftypes.def (0): New.
4318 (1): New.
4319 * config/riscv/riscv.md (riscv_clean_<mode>): New.
4320 (riscv_flush_<mode>): New.
4321 (riscv_inval_<mode>): New.
4322 (riscv_zero_<mode>): New.
4323 (prefetch): New.
4324 (riscv_prefetchi_<mode>): New.
4325 * config/riscv/riscv-cmo.def: New file.
4326
4327 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
4328
4329 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
4330 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
4331 (MASK_ZICBOM): New.
4332 (MASK_ZICBOP): New.
4333 (TARGET_ZICBOZ): New.
4334 (TARGET_ZICBOM): New.
4335 (TARGET_ZICBOP): New.
4336 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
4337
4338 2022-05-24 David Malcolm <dmalcolm@redhat.com>
4339
4340 * tree-vect-slp-patterns.cc: Add "final" and "override" to
4341 vect_pattern::build impls as appropriate.
4342
4343 2022-05-24 David Malcolm <dmalcolm@redhat.com>
4344
4345 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
4346 implementations, removing redundant "virtual" as appropriate.
4347 * ipa-fnsummary.h: Likewise.
4348 * ipa-modref.cc: Likewise.
4349 * ipa-param-manipulation.cc: Likewise.
4350 * ipa-profile.cc: Likewise.
4351 * ipa-prop.h: Likewise.
4352 * ipa-pure-const.cc: Likewise.
4353 * ipa-reference.cc: Likewise.
4354 * ipa-sra.cc: Likewise.
4355 * symbol-summary.h: Likewise.
4356 * symtab-thunks.cc: Likewise.
4357
4358 2022-05-24 Martin Liska <mliska@suse.cz>
4359
4360 Revert:
4361 2022-05-24 Martin Liska <mliska@suse.cz>
4362
4363 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
4364 warning.
4365
4366 2022-05-24 Martin Liska <mliska@suse.cz>
4367
4368 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
4369 warning.
4370
4371 2022-05-24 Bruno Haible <bruno@clisp.org>
4372
4373 PR other/105527
4374 * doc/install.texi (Configuration): Add more details about --with-zstd.
4375 Document --with-zstd-include and --with-zstd-lib
4376
4377 2022-05-24 Richard Biener <rguenther@suse.de>
4378
4379 PR middle-end/105711
4380 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
4381 and use it.
4382 (extract_bit_field_1): Pass down the mode of op0 to
4383 extract_bit_field_as_subreg.
4384
4385 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
4386
4387 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
4388 fmv_cost.
4389 (rocket_tune_info): Add default fmv_cost 8.
4390 (sifive_7_tune_info): Ditto.
4391 (thead_c906_tune_info): Ditto.
4392 (optimize_size_tune_info): Ditto.
4393 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
4394
4395 2022-05-24 Jakub Jelinek <jakub@redhat.com>
4396
4397 PR c/105378
4398 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
4399 builtin.
4400 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
4401 clause but no depend clauses.
4402 * omp-expand.cc (expand_taskwait_call): Use
4403 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
4404 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
4405
4406 2022-05-24 Richard Biener <rguenther@suse.de>
4407
4408 PR tree-optimization/100221
4409 * tree-ssa-dse.cc (contains_phi_arg): New function.
4410 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
4411
4412 2022-05-24 Richard Biener <rguenther@suse.de>
4413
4414 PR tree-optimization/105629
4415 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
4416 a sign-extending conversion.
4417
4418 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
4419
4420 PR target/105627
4421 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
4422 be a debug insn.
4423 (union_uses): Skip debug use_insn.
4424
4425 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
4426
4427 * config/riscv/predicates.md (const_0_operand): Remove
4428 const_double.
4429 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
4430 CONST_DOUBLE.
4431 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
4432
4433 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
4434
4435 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
4436 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
4437 (cpu_indicator_init): Handle Zhaoxin processors.
4438 * common/config/i386/i386-common.cc: Add lujiazui.
4439 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
4440 VENDOR_ZHAOXIN.
4441 (enum processor_types): Add ZHAOXIN_FAM7H.
4442 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
4443 * config.gcc: Add lujiazui.
4444 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
4445 Signatures for zhaoxin
4446 (signature_SHANGHAI_ecx): Ditto.
4447 (signature_SHANGHAI_edx): Ditto.
4448 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
4449 -march=native recognize lujiazui processors.
4450 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
4451 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
4452 * config/i386/i386.h (enum processor_type): Ditto.
4453 * config/i386/i386.md: Add lujiazui.
4454 * config/i386/x86-tune-costs.h (struct processor_costs): Add
4455 lujiazui costs.
4456 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
4457 (ix86_adjust_cost): Ditto.
4458 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
4459 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
4460 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
4461 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
4462 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
4463 (X86_TUNE_MOVX): Ditto.
4464 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
4465 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
4466 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
4467 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
4468 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
4469 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
4470 (X86_TUNE_USE_LEAVE): Ditto.
4471 (X86_TUNE_PUSH_MEMORY): Ditto.
4472 (X86_TUNE_LCP_STALL): Ditto.
4473 (X86_TUNE_USE_INCDEC): Ditto.
4474 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
4475 (X86_TUNE_OPT_AGU): Ditto.
4476 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
4477 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
4478 (X86_TUNE_USE_SAHF): Ditto.
4479 (X86_TUNE_USE_BT): Ditto.
4480 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
4481 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
4482 (X86_TUNE_AVOID_MFENCE): Ditto.
4483 (X86_TUNE_EXPAND_ABS): Ditto.
4484 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
4485 (X86_TUNE_USE_FFREEP): Ditto.
4486 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
4487 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
4488 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
4489 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
4490 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
4491 * doc/extend.texi: Add details about lujiazui.
4492 * doc/invoke.texi: Add details about lujiazui.
4493 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
4494
4495 2022-05-23 Martin Liska <mliska@suse.cz>
4496
4497 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
4498
4499 2022-05-23 Richard Biener <rguenther@suse.de>
4500
4501 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
4502 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
4503
4504 2022-05-23 Richard Biener <rguenther@suse.de>
4505
4506 * gimple-expr.cc (is_gimple_condexpr): Remove.
4507 * gimple-expr.h (is_gimple_condexpr): Likewise.
4508 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
4509 * tree-if-conv.cc (set_bb_predicate): Likewie.
4510 (add_to_predicate_list): Likewise.
4511 (gen_phi_arg_condition): Likewise.
4512 (predicate_scalar_phi): Likewise.
4513 (predicate_statements): Likewise.
4514
4515 2022-05-23 Richard Biener <rguenther@suse.de>
4516
4517 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
4518 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
4519 as is_gimple_val.
4520 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
4521 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
4522 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
4523 Build the condition of the COND_EXPR separately.
4524 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
4525 * tree-vect-generic.cc (expand_vector_condition): Likewise.
4526 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
4527 Likewise.
4528 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
4529 * tree-vect-patterns.cc: Add comment indicating we are
4530 building invalid COND_EXPRs and why.
4531 * omp-expand.cc (expand_omp_simd): Gimplify the condition
4532 to the COND_EXPR separately.
4533 (expand_omp_atomic_cas): Note part that should be unreachable
4534 now.
4535 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
4536 condition for valid replacements.
4537 * tree-if-conv.cc (predicate_bbs): Simulate previous
4538 re-folding of the condition in folded COND_EXPRs which
4539 is necessary because of unfolded GIMPLE_CONDs in the IL
4540 as in for example gcc.dg/fold-bopcond-1.c.
4541 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
4542 Handle that the comparison is now in the def stmt of
4543 the select operand. Required by gcc.dg/pr104526.c.
4544
4545 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
4546
4547 PR fortran/104949
4548 * langhooks-def.h (lhd_omp_array_size): New.
4549 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
4550 (LANG_HOOKS_DECLS): Add it.
4551 * langhooks.cc (lhd_omp_array_size): New.
4552 * langhooks.h (struct lang_hooks_for_decls): Add hook.
4553 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
4554 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
4555
4556 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
4557
4558 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
4559 XOR/IOR case. Account for two instructions for double-word
4560 operations. In case of vector pandn, account for single
4561 instruction. Likewise for integer andn with TARGET_BMI.
4562 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
4563 <case NEG>: Double-word negation requires 3 instructions.
4564
4565 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
4566
4567 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
4568 Fix "K" extension prefix to be placed before "J".
4569 * config/riscv/arch-canonicalize: Likewise.
4570
4571 2022-05-23 liuhongt <hongtao.liu@intel.com>
4572
4573 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
4574 <-> mask cost from 5 to 6.
4575 (icelake_cost): Ditto.
4576
4577 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
4578
4579 * config/aarch64/aarch64.md
4580 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
4581 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
4582 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
4583 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
4584 (one_cmpl_<optab><mode>2): Likewise.
4585 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
4586 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
4587 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
4588 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
4589 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
4590 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
4591 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
4592 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
4593 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
4594 (rolsi3_insn_uxtw): New pattern.
4595 * config/aarch64/iterators.md (SHIFT): Add rotate left.
4596 (SHIFT_no_rotate): Add new iterator.
4597 (SHIFT:shift): Print rotate left as ror.
4598 (is_rotl): Add test for left rotate.
4599
4600 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
4601
4602 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
4603 processing. Add support for architectural extensions.
4604 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
4605 AARCH64_CPU_DEFAULT_FLAGS.
4606 (TARGET_CPU_NBITS): Remove.
4607 (TARGET_CPU_MASK): Remove.
4608 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
4609 (get_tune_cpu): Assert CPU is always valid.
4610 (get_arch): Assert architecture is always valid.
4611 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
4612 (aarch64_option_restore): Remove unnecessary checks on tune.
4613
4614 2022-05-20 David Malcolm <dmalcolm@redhat.com>
4615
4616 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
4617 "FINAL" and "OVERRIDE" with "final" and "override".
4618 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
4619 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
4620 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
4621 * diagnostic-path.h: Likewise.
4622 * digraph.cc: Likewise.
4623 * gcc-rich-location.h: Likewise.
4624 * gimple-array-bounds.cc: Likewise.
4625 * gimple-loop-versioning.cc: Likewise.
4626 * gimple-range-cache.cc: Likewise.
4627 * gimple-range-cache.h: Likewise.
4628 * gimple-range-fold.cc: Likewise.
4629 * gimple-range-fold.h: Likewise.
4630 * gimple-range-tests.cc: Likewise.
4631 * gimple-range.h: Likewise.
4632 * gimple-ssa-evrp.cc: Likewise.
4633 * input.cc: Likewise.
4634 * json.h: Likewise.
4635 * read-rtl-function.cc: Likewise.
4636 * tree-complex.cc: Likewise.
4637 * tree-diagnostic-path.cc: Likewise.
4638 * tree-ssa-ccp.cc: Likewise.
4639 * tree-ssa-copy.cc: Likewise.
4640 * tree-vrp.cc: Likewise.
4641 * value-query.h: Likewise.
4642 * vr-values.h: Likewise.
4643
4644 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
4645
4646 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
4647 target_memcpy_rect_async to omp_runtime_apis array.
4648
4649 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4650
4651 * doc/sourcebuild.texi (Decimal floating point attributes): Document
4652 dfp_bid effective-target.
4653
4654 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4655
4656 * config/aarch64/aarch64.cc
4657 (aarch64_split_128bit_move): Handle DFP modes.
4658 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
4659 (aarch64_classify_address): Likewise.
4660 (aarch64_legitimize_address_displacement): Likewise.
4661 (aarch64_reinterpret_float_as_int): Likewise.
4662 (aarch64_float_const_zero_rtx_p): Likewise.
4663 (aarch64_can_const_movi_rtx_p): Likewise.
4664 (aarch64_anchor_offset): Likewise.
4665 (aarch64_secondary_reload): Likewise.
4666 (aarch64_rtx_costs): Likewise.
4667 (aarch64_legitimate_constant_p): Likewise.
4668 (aarch64_gimplify_va_arg_expr): Likewise.
4669 (aapcs_vfp_sub_candidate): Likewise.
4670 (aarch64_vfp_is_call_or_return_candidate): Likewise.
4671 (aarch64_output_scalar_simd_mov_immediate): Likewise.
4672 (aarch64_gen_adjusted_ldpstp): Likewise.
4673 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
4674 * config/aarch64/aarch64.md
4675 (movsf_aarch64): Use SFD iterator and rename into
4676 mov<mode>_aarch64.
4677 (movdf_aarch64): Use DFD iterator and rename into
4678 mov<mode>_aarch64.
4679 (movtf_aarch64): Use TFD iterator and rename into
4680 mov<mode>_aarch64.
4681 (split pattern for move TF mode): Use TFD iterator.
4682 * config/aarch64/iterators.md
4683 (GPF_TF_F16_MOV): Add DFP modes.
4684 (SFD, DFD, TFD): New iterators.
4685 (GPF_TF): Add DFP modes.
4686 (TX, DX, DX2): Likewise.
4687
4688 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
4689
4690 * configure: Regenerate.
4691
4692 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
4693
4694 PR middle-end/98865
4695 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
4696 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
4697 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
4698
4699 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
4700
4701 * config/rs6000/rs6000-builtins.def: Rephrase
4702 to remove RS6000_BTC_SPECIAL from comment.
4703 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
4704 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
4705 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
4706 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
4707 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
4708 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
4709 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
4710 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
4711 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
4712 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
4713 RS6000_BTM_ALWAYS): Delete.
4714
4715 2022-05-19 Richard Biener <rguenther@suse.de>
4716
4717 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
4718 computation of the new value.
4719
4720 2022-05-19 Richard Biener <rguenther@suse.de>
4721
4722 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
4723 (add_to_value): Use get_expression_id.
4724 (bitmap_insert_into_set): Likewise.
4725 (bitmap_value_insert_into_set): Likewise.
4726
4727 2022-05-19 David Malcolm <dmalcolm@redhat.com>
4728
4729 * doc/invoke.texi (-fanalyzer-checker=): Add
4730 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
4731 the list of analyzer warnings disabled by
4732 -fanalyzer-checker=taint.
4733
4734 2022-05-19 Jakub Jelinek <jakub@redhat.com>
4735
4736 PR debug/105630
4737 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
4738 global vars without symtab node even when they have DECL_RTL
4739 set.
4740
4741 2022-05-19 Jakub Jelinek <jakub@redhat.com>
4742
4743 PR c/105635
4744 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
4745 doesn't have pointer or reference type.
4746
4747 2022-05-18 Marek Polacek <polacek@redhat.com>
4748
4749 PR c/105131
4750 * doc/invoke.texi: Document -Wenum-int-mismatch.
4751
4752 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
4753
4754 * config/i386/gnu-user-common.h (defined): Only define
4755 TARGET_CAN_SPLIT_STACK for glibc targets.
4756 * config/i386/gnu.h (defined): Ditto.
4757
4758 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
4759
4760 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
4761 is wider than word_mode, a multiplication costs three word_mode
4762 multiplications and two word_mode additions.
4763
4764 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
4765
4766 * config/i386/i386.md (define_split): Split *andsi_1
4767 and *andn_si_ccno after reload with -Oz.
4768
4769 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
4770
4771 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
4772 Output reason for failure to dump file.
4773 (scop_detection::harmful_loop_in_region): Likewise.
4774 (scop_detection::graphite_can_represent_expr): Likewise.
4775 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
4776 (scop_detection::stmt_simple_for_scop_p): Likewise.
4777 (print_sese_loop_numbers): New function.
4778 (scop_detection::add_scop): Use from here.
4779
4780 2022-05-18 liuhongt <hongtao.liu@intel.com>
4781
4782 PR middle-end/103462
4783 * match.pd (bitwise_induction_p): New match.
4784 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
4785 Declare.
4786 (analyze_and_compute_bitwise_induction_effect): New function.
4787 (enum bit_op_kind): New enum.
4788 (final_value_replacement_loop): Enhanced to handle bitwise
4789 induction.
4790
4791 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
4792
4793 PR target/95737
4794 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
4795
4796 2022-05-18 liuhongt <hongtao.liu@intel.com>
4797
4798 PR target/104375
4799 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
4800 define_insn.
4801
4802 2022-05-18 liuhongt <hongtao.liu@intel.com>
4803
4804 PR target/104610
4805 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
4806 for QImode when code is EQ or NE.
4807 * config/i386/i386.md (cbranchoi4): New expander.
4808
4809 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
4810 Segher Boessenkool <segher@kernel.crashing.org>
4811
4812 PR target/105556
4813 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
4814 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
4815 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
4816 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
4817 Update other operands accordingly.
4818
4819 2022-05-17 Marek Polacek <polacek@redhat.com>
4820
4821 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
4822
4823 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
4824
4825 PR target/99685
4826 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
4827 register count when not splitting IEEE 128-bit Complex.
4828
4829 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4830
4831 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
4832 target inside target if inner is reverse offload.
4833
4834 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4835
4836 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
4837 * config/nvptx/mkoffload.cc (process): Likewise.
4838
4839 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
4840
4841 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
4842 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
4843 (non_null_ref::~non_null_ref): Delete.
4844 (non_null_ref::set_nonnull): Delete.
4845 (non_null_ref::non_null_deref_p): Delete.
4846 (non_null_ref::process_name): Delete.
4847 (ranger_cache::ranger_cache): Initialize m_exit object.
4848 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
4849 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
4850 (ranger_cache::update_to_nonnull): Delete.
4851 (non_null_loadstore): Delete.
4852 (ranger_cache::block_apply_nonnull): Delete.
4853 (ranger_cache::apply_side_effects): New.
4854 * gimple-range-cache.h (class non_null_ref): Delete.
4855 (non_null_ref::adjust_range): Delete.
4856 (class ranger_cache): Adjust prototypes, add side effect manager.
4857 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
4858 side effect manager for queries.
4859 (path_range_query::adjust_for_non_null_uses): Ditto.
4860 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
4861 * gimple-range-side-effect.cc: New.
4862 * gimple-range-side-effect.h: New.
4863 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
4864 (gimple_ranger::range_of_expr): Check def block for override value.
4865 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
4866 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
4867 (gimple_ranger::register_side_effects): Call apply_side_effects.
4868 (enable_ranger): Update contructor.
4869 * gimple-range.h (class gimple_ranger): Update prototype.
4870 (enable_ranger): Update prototype.
4871 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
4872
4873 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
4874
4875 PR c++/105169
4876 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
4877 * varasm.cc (switch_to_comdat_section): New
4878 (handle_vtv_comdat_section): Call switch_to_comdat_section.
4879 * varasm.h: Declare switch_to_comdat_section.
4880
4881 2022-05-17 Richard Biener <rguenther@suse.de>
4882
4883 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
4884 not clear bb->aux of the copied blocks.
4885
4886 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
4887
4888 PR tree-optimization/105458
4889 * value-relation.cc (path_oracle::register_relation): Merge, then check
4890 for equivalence.
4891
4892 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
4893
4894 PR target/105624
4895 Revert:
4896 * config/i386/i386.md: Remove constraints when used with
4897 const_int_operand, const0_operand, const_1_operand, constm1_operand,
4898 const8_operand, const128_operand, const248_operand, const123_operand,
4899 const2367_operand, const1248_operand, const359_operand,
4900 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
4901 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
4902 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
4903 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
4904 const_0_to_255_mul_8_operand, const_1_to_31_operand,
4905 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
4906 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
4907 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
4908 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
4909 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
4910 const_24_to_27_operand and const_28_to_31_operand.
4911 * config/i386/mmx.md: Ditto.
4912 * config/i386/sse.md: Ditto.
4913 * config/i386/subst.md: Ditto.
4914 * config/i386/sync.md: Ditto.
4915
4916 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
4917
4918 * diagnostic.cc: Don't advise to call 'abort' instead of
4919 'internal_error'.
4920 * system.h: Advise to call 'internal_error' instead of 'abort' or
4921 'fancy_abort'.
4922
4923 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
4924
4925 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
4926 a reference to a variable which does not exist.
4927 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
4928 in comment.
4929
4930 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
4931
4932 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
4933 (isl_id_for_parameter): ... this new function name.
4934 (build_scop_context): Adjust function use.
4935
4936 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
4937
4938 PR target/105602
4939 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
4940 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
4941
4942 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4943
4944 * tree-core.h (enum omp_clause_depend_kind): Add
4945 OMP_CLAUSE_DEPEND_INOUTSET.
4946 * tree-pretty-print.cc (dump_omp_clause): Handle
4947 OMP_CLAUSE_DEPEND_INOUTSET.
4948 * gimplify.cc (gimplify_omp_depend): Likewise.
4949 * omp-low.cc (lower_depend_clauses): Likewise.
4950
4951 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4952
4953 PR target/105613
4954 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
4955 andv4si3 only for EQ, for NE use iorv4si3 instead.
4956
4957 2022-05-17 Richard Biener <rguenther@suse.de>
4958
4959 PR tree-optimization/105618
4960 * tree-ssa-sink.cc (statement_sink_location): For virtual
4961 PHI uses ignore those defining the used virtual operand.
4962
4963 2022-05-17 Jakub Jelinek <jakub@redhat.com>
4964
4965 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
4966 hanlde -> handle. Fix up comment formatting.
4967
4968 2022-05-17 liuhongt <hongtao.liu@intel.com>
4969
4970 PR target/105033
4971 * config/i386/sse.md (*vec_concatv4si): Extend to ..
4972 (*vec_concat<mode>): .. V16QI and V8HImode.
4973 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
4974 (*vec_concatv8hi_permt2): Ditto.
4975
4976 2022-05-17 liuhongt <hongtao.liu@intel.com>
4977
4978 PR tree-optimization/105591
4979 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
4980 vec_perm_expr index.
4981
4982 2022-05-16 Jason Merrill <jason@redhat.com>
4983
4984 PR c/105492
4985 * attribs.cc (decl_attributes): Fix broken typedefs here.
4986
4987 2022-05-16 David Malcolm <dmalcolm@redhat.com>
4988
4989 PR analyzer/105103
4990 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
4991 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
4992 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
4993 -Wanalyzer-va-list-use-after-va-end.
4994
4995 2022-05-16 Richard Biener <rguenther@suse.de>
4996
4997 * gimple-match.h (gimple_build): Move code_helper overloads ...
4998 * gimple-fold.h (gimple_build): ... here.
4999 (gimple_build): Transition to new worker API. Provide
5000 overloads from sequence-based API.
5001 (gimple_convert): Likewise.
5002 (gimple_convert_to_ptrofftype): Likewise.
5003 (gimple_build_vector_from_val): Likewise.
5004 (gimple_build_vector): Likewise.
5005 (gimple_build_round_up): Likewise.
5006 * gimple-fold.cc (gimple_build_insert_seq): New helper.
5007 (gimple_build): Use it. Transition combined_fn and code_helper
5008 API parts.
5009 (gimple_convert): Transition to new worker API.
5010 (gimple_convert_to_ptrofftype): Likewise.
5011 (gimple_build_vector_from_val): Likewise.
5012 (gimple_build_vector): Likewise.
5013 (gimple_build_round_up): Likewise.
5014
5015 2022-05-16 Richard Biener <rguenther@suse.de>
5016
5017 * gimple-match.h (code_helper): Move class ...
5018 * tree.h (code_helper): ... here.
5019
5020 2022-05-16 Martin Liska <mliska@suse.cz>
5021
5022 * opts-global.cc (write_langs): Add comment.
5023
5024 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
5025
5026 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
5027 instead of a bitwise negation.
5028 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
5029
5030 2022-05-16 Martin Liska <mliska@suse.cz>
5031
5032 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
5033 (decls_mismatched_attributes): Likewise.
5034 * builtins.cc (c_strlen): Likewise.
5035 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
5036 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
5037 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
5038 (aarch64_init_simd_builtin_types): Likewise.
5039 (aarch64_init_builtin_rsqrt): Likewise.
5040 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
5041 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
5042 (arm_init_simd_builtin_types): Likewise.
5043 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
5044 (c_prefix): Likewise.
5045 (main): Likewise.
5046 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
5047 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
5048 * config/gcn/mkoffload.cc (process_obj): Likewise.
5049 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
5050 (fold_builtin_cpu): Likewise.
5051 * config/m32c/m32c.cc (PUSHM_N): Likewise.
5052 * config/nvptx/mkoffload.cc (process): Likewise.
5053 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
5054 * config/s390/s390.cc (NR_C_MODES): Likewise.
5055 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
5056 (create_insn_code_compression_table): Likewise.
5057 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
5058 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
5059 * dwarf2out.cc (ARRAY_SIZE): Likewise.
5060 * genhooks.cc (emit_documentation): Likewise.
5061 (emit_init_macros): Likewise.
5062 * gimple-ssa-sprintf.cc (format_floating): Likewise.
5063 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
5064 * godump.cc (keyword_hash_init): Likewise.
5065 * hash-table.cc (hash_table_higher_prime_index): Likewise.
5066 * input.cc (for_each_line_table_case): Likewise.
5067 * ipa-free-lang-data.cc (free_lang_data): Likewise.
5068 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
5069 * optc-save-gen.awk: Likewise.
5070 * spellcheck.cc (test_metric_conditions): Likewise.
5071 * tree-vect-slp-patterns.cc (sizeof): Likewise.
5072 (ARRAY_SIZE): Likewise.
5073 * tree.cc (build_common_tree_nodes): Likewise.
5074
5075 2022-05-16 Martin Liska <mliska@suse.cz>
5076
5077 * opts-global.cc (write_langs): Allocate at least one byte.
5078
5079 2022-05-16 Richard Biener <rguenther@suse.de>
5080
5081 * match.pd (A cmp B ? A : B -> min/max): New patterns
5082 carried over from fold_cond_expr_with_comparison.
5083
5084 2022-05-16 liuhongt <hongtao.liu@intel.com>
5085
5086 PR target/105587
5087 * config/i386/i386-expand.cc
5088 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
5089 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
5090
5091 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
5092
5093 * config/i386/i386.md: Remove constraints when used with
5094 const_int_operand, const0_operand, const_1_operand, constm1_operand,
5095 const8_operand, const128_operand, const248_operand, const123_operand,
5096 const2367_operand, const1248_operand, const359_operand,
5097 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
5098 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
5099 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
5100 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
5101 const_0_to_255_mul_8_operand, const_1_to_31_operand,
5102 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
5103 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
5104 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
5105 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
5106 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
5107 const_24_to_27_operand and const_28_to_31_operand.
5108 * config/i386/mmx.md: Ditto.
5109 * config/i386/sse.md: Ditto.
5110 * config/i386/subst.md: Ditto.
5111 * config/i386/sync.md: Ditto.
5112
5113 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
5114 Uroš Bizjak <ubizjak@gmail.com>
5115
5116 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
5117 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
5118 by a pshufd and pand.
5119 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
5120 vector equality as a V2DImode vector comparison (see above),
5121 followed by a pshufd and pand.
5122
5123 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
5124
5125 PR tree-optimization/83907
5126 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
5127 for memset with an constant char value.
5128 (handle_store): Improved handling of stores with a first byte
5129 of zero, but not storing_all_zeros_p.
5130
5131 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
5132 Manolis Tsamis <manolis.tsamis@vrull.eu>
5133
5134 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
5135 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
5136 * doc/sourcebuild.texi: add documentation for RISC-V specific
5137 test target keywords
5138
5139 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5140
5141 PR tree-optimization/105597
5142 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
5143 of the lhs and make sure it is not undefined.
5144
5145 2022-05-13 Sebastian Pop <spop@amazon.com>
5146
5147 PR target/105162
5148 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
5149 of str array.
5150 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
5151 memmodel_from_int and handle MEMMODEL_SYNC_*.
5152 (DEF0): Add __aarch64_*_sync functions.
5153
5154 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5155
5156 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
5157 enumerated values.
5158 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
5159 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
5160 new VREL enumerated values.
5161 (*::lhs_op2_relation): Ditto.
5162 (*::op1_op2_relation): Ditto.
5163 (*::fold_range): Use new VREL enumerated values.
5164 (minus_op1_op2_relation_effect): Ditto.
5165 (range_relational_tests): Ditto.
5166 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
5167 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
5168 relation_kind.
5169 (*_op1_op2_relation): Return relation_kind.
5170 (relop_early_resolve): Use VREL_UNDEFINED.
5171 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
5172 * value-relation.cc (VREL_LAST): Change enumerated value.
5173 (vrel_range_assert): Delete.
5174 (print_relation): Remove range assert.
5175 (rr_negate_table): Adjust table to use new enumerated values..
5176 (relation_negate): Remove range assert.
5177 (rr_swap_table): Adjust.
5178 (relation_swap): Remove range assert.
5179 (rr_intersect_table): Adjust.
5180 (relation_intersect): Remove range assert.
5181 (rr_union_table): Adjust.
5182 (relation_union): Remove range assert.
5183 (rr_transitive_table): Adjust.
5184 (relation_transitive): Remove range assert.
5185 (equiv_oracle::query_relation): Use new VREL enumerated values.
5186 (equiv_oracle::register_relation): Ditto.
5187 (relation_oracle::register_stmt): Ditto.
5188 (dom_oracle::set_one_relation): Ditto.
5189 (dom_oracle::register_transitives): Ditto.
5190 (dom_oracle::query_relation): Ditto.
5191 (path_oracle::register_relation): Ditto.
5192 (path_oracle::query_relation): Ditto.
5193 * value-relation.h (enum relation_kind_t): New relation_kind.
5194 (*_op1_op2_relation): Adjust prototypes.
5195
5196 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5197
5198 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
5199 * value-range.cc (irange::legacy_verbose_union_): Add return value.
5200 (irange::irange_single_pair_union): New.
5201 (irange::irange_union): Add return value.
5202 * value-range.h (class irange): Adjust prototypes.
5203
5204 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5205
5206 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
5207 (irange::irange_contains_p): New.
5208 (irange::irange_intersect): Add return value.
5209 * value-range.h (class irange): Adjust prototypes.
5210
5211 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5212
5213 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
5214 had_global value instead.
5215
5216 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5217
5218 PR tree-optimization/104547
5219 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
5220 the op1/op2 relation to the relation call.
5221 * range-op.cc (*::lhs_op1_relation): Add param.
5222 (*::lhs_op2_relation): Ditto.
5223 (operator_minus::lhs_op1_relation): New.
5224 (range_relational_tests): Add relation param.
5225 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
5226
5227 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5228
5229 * gimple-range.cc (gimple_ranger::register_side_effects): First check
5230 if the DEF should be exported as a global.
5231 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
5232 which will export globals.
5233 (execute_ranger_vrp): Remove call to export_global_ranges.
5234
5235 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5236
5237 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
5238
5239 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
5240
5241 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
5242 worlist truncated.
5243 (ranger_cache::entry_range): Add rfd_mode parameter.
5244 (ranger_cache::exit_range): Ditto.
5245 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
5246 (ranger_cache::range_of_expr): Adjust call to entry_range.
5247 (ranger_cache::range_on_edge): Split to edge_range and call.
5248 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
5249 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
5250 mutiple predecessors.
5251 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
5252 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
5253 prototypes.
5254
5255 2022-05-13 Alexandre Oliva <oliva@adacore.com>
5256
5257 * gimple-harden-conditionals.cc: Include sbitmap.h.
5258 (pass_harden_conditional_branches::execute): Skip new blocks.
5259 (pass_harden_compares::execute): Likewise.
5260
5261 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
5262
5263 PR target/105463
5264 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
5265 mve_memory_operand.
5266 (*movmisalign<mode>_mve_load): Likewise.
5267 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
5268 form...
5269 (@movmisalign<mode>): ... thus. Use generic predicates and then
5270 rework operands if they are not valid. For MVE rework to a
5271 narrower element size if the alignment is not high enough.
5272
5273 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
5274
5275 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
5276 when there is no write-back. Fix use when strict is true.
5277
5278 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
5279
5280 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
5281 definition.
5282
5283 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
5284
5285 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
5286 extzvsi_internal): Rename from extv, extv_internal, extzv and
5287 extzv_internal, respectively.
5288
5289 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
5290
5291 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
5292 is the same on the LHS and RHS before rewriting one with the model
5293 of the other.
5294
5295 2022-05-13 Richard Biener <rguenther@suse.de>
5296
5297 * gimple-fold.cc (gimple_build): Adjust for new
5298 main API.
5299 * gimple-fold.h (gimple_build): New main APIs with
5300 iterator, insert direction and iterator update.
5301 (gimple_build): New forwarder template.
5302 (clear_padding_type_may_have_padding_p): Remove.
5303 (clear_type_padding_in_mask): Likewise.
5304 (arith_overflowed_p): Likewise.
5305 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
5306 (clear_type_padding_in_mask): Likewise.
5307 (arith_overflowed_p): Likewise.
5308 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
5309 (gimplify_build2): Likewise.
5310 (gimplify_build1): Likewise.
5311 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
5312 compare stmt.
5313 * gengtype.cc (open_base_files): Re-order includes.
5314 * builtins.cc: Re-order gimple-fold.h include.
5315 * calls.cc: Likewise.
5316 * cgraphbuild.cc: Likewise.
5317 * cgraphunit.cc: Likewise.
5318 * config/rs6000/rs6000-builtin.cc: Likewise.
5319 * config/rs6000/rs6000-call.cc: Likewise.
5320 * config/rs6000/rs6000.cc: Likewise.
5321 * config/s390/s390.cc: Likewise.
5322 * expr.cc: Likewise.
5323 * fold-const.cc: Likewise.
5324 * function-tests.cc: Likewise.
5325 * gimple-match-head.cc: Likewise.
5326 * gimple-range-fold.cc: Likewise.
5327 * gimple-ssa-evrp-analyze.cc: Likewise.
5328 * gimple-ssa-evrp.cc: Likewise.
5329 * gimple-ssa-sprintf.cc: Likewise.
5330 * gimple-ssa-warn-access.cc: Likewise.
5331 * gimplify.cc: Likewise.
5332 * graphite-isl-ast-to-gimple.cc: Likewise.
5333 * ipa-cp.cc: Likewise.
5334 * ipa-devirt.cc: Likewise.
5335 * ipa-prop.cc: Likewise.
5336 * omp-low.cc: Likewise.
5337 * pointer-query.cc: Likewise.
5338 * range-op.cc: Likewise.
5339 * tree-cfg.cc: Likewise.
5340 * tree-if-conv.cc: Likewise.
5341 * tree-inline.cc: Likewise.
5342 * tree-object-size.cc: Likewise.
5343 * tree-ssa-ccp.cc: Likewise.
5344 * tree-ssa-dom.cc: Likewise.
5345 * tree-ssa-forwprop.cc: Likewise.
5346 * tree-ssa-ifcombine.cc: Likewise.
5347 * tree-ssa-loop-ivcanon.cc: Likewise.
5348 * tree-ssa-math-opts.cc: Likewise.
5349 * tree-ssa-pre.cc: Likewise.
5350 * tree-ssa-propagate.cc: Likewise.
5351 * tree-ssa-reassoc.cc: Likewise.
5352 * tree-ssa-sccvn.cc: Likewise.
5353 * tree-ssa-strlen.cc: Likewise.
5354 * tree-ssa.cc: Likewise.
5355 * value-pointer-equiv.cc: Likewise.
5356 * vr-values.cc: Likewise.
5357
5358 2022-05-13 Alexandre Oliva <oliva@adacore.com>
5359
5360 PR rtl-optimization/105455
5361 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
5362 probabilities for newly-conditional edges.
5363
5364 2022-05-13 liuhongt <hongtao.liu@intel.com>
5365
5366 PR tree-optimization/102583
5367 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
5368 contiguous stride in the VEC_PERM_EXPR.
5369
5370 2022-05-12 Richard Biener <rguenther@suse.de>
5371
5372 PR rtl-optimization/105577
5373 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
5374 edges before running fast DCE via df_analyze.
5375
5376 2022-05-12 Richard Biener <rguenther@suse.de>
5377
5378 PR tree-optimization/105562
5379 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
5380 against all CLOBBER defs if there's not an obvious must-alias
5381 and we are not doing redundant store elimination.
5382 (vn_walk_cb_data::redundant_store_removal_p): New field.
5383 (vn_reference_lookup_pieces): Initialize it.
5384 (vn_reference_lookup): Add argument to specify if we are
5385 doing redundant store removal.
5386 (eliminate_dom_walker::eliminate_stmt): Specify we do.
5387 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
5388
5389 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
5390
5391 PR target/104371
5392 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
5393 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
5394 New define_split pattern.
5395
5396 2022-05-12 Jakub Jelinek <jakub@redhat.com>
5397
5398 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
5399 if null_pointer_node.
5400 (gimplify_scan_omp_clauses): Likewise.
5401 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
5402 as omp_all_memory.
5403
5404 2022-05-11 Patrick Palka <ppalka@redhat.com>
5405
5406 * tree.h (TREE_VEC_BEGIN): Define.
5407 (TREE_VEC_END): Correct 'length' member access.
5408 (class tree_vec_range): Define.
5409
5410 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
5411
5412 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
5413
5414 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
5415
5416 * config/rs6000/rs6000.md: Use d instead of <Ff>.
5417
5418 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
5419
5420 * config/rs6000/constraints.md (register_constraint "f"): Use
5421 RS6000_CONSTRAINT_d.
5422 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
5423 RS6000_CONSTRAINT_f.
5424 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
5425 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
5426 RS6000_CONSTRAINT_d.
5427
5428 2022-05-11 Richard Biener <rguenther@suse.de>
5429
5430 * gimple-fold.h (gimple_build): Use variadic template
5431 functions for the gimple_build API forwarders without
5432 location_t argument.
5433
5434 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
5435
5436 PR middle-end/70090
5437 * asan.cc (initialize_sanitizer_builtins): Register
5438 __builtin_dynamic_object_size if necessary.
5439
5440 2022-05-11 Richard Biener <rguenther@suse.de>
5441
5442 PR rtl-optimization/105559
5443 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
5444 for non-debug insns.
5445
5446 2022-05-11 Richard Biener <rguenther@suse.de>
5447
5448 * generic-match-head.cc: Include tree-eh.h.
5449 * match.pd ((cond ...) cmp X): New simplification inspired
5450 by fold_binary_op_with_conditional_arg.
5451 (eq/ne (cmp ...) true/false): Likewise.
5452
5453 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
5454
5455 * doc/install.texi: Don't document '--with-hsa-runtime',
5456 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
5457
5458 2022-05-11 Martin Liska <mliska@suse.cz>
5459
5460 PR other/105527
5461 * doc/install.texi: Document the configure option --with-zstd.
5462
5463 2022-05-11 Martin Liska <mliska@suse.cz>
5464
5465 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
5466 compute index in cpu_features2.
5467 (set_cpu_feature): Likewise.
5468 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
5469 loop for cpu_features2 and use NOP_EXPRs.
5470
5471 2022-05-11 Richard Biener <rguenther@suse.de>
5472
5473 PR bootstrap/105551
5474 * opts.cc (finish_options): Also disable var-tracking if
5475 !DWARF2_DEBUGGING_INFO.
5476
5477 2022-05-11 liuhongt <hongtao.liu@intel.com>
5478
5479 PR target/104915
5480 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
5481 pre_reload define_insn_and_split.
5482 (*vec_setv2di_0_zero_extendhi_1): Ditto.
5483 (*vec_set<mode>_0_zero_extendsi): Ditto.
5484 (*vec_setv2di_0_zero_extendsi_1): Ditto.
5485 (ssewvecmode): New mode attr.
5486 (ssewvecmodelower): Ditto.
5487 (ssepackmodelower): Ditto.
5488
5489 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
5490
5491 * config/rs6000/constraints.md (register constraint v): Use
5492 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
5493
5494 2022-05-11 Martin Liska <mliska@suse.cz>
5495
5496 PR target/105355
5497 * config/riscv/riscv.opt: Remove Separate from
5498 -msmall-data-limit=.
5499 * optc-gen.awk: Report error for the described situation.
5500 * gcc.cc: Use Separate syntax.
5501 * opts.cc (gen_command_line_string): Change option name.
5502
5503 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
5504
5505 PR target/105414
5506 * match.pd (minmax): Skip constant folding for fmin/fmax when both
5507 arguments are sNaN or one is sNaN and another is NaN.
5508
5509 2022-05-10 Jakub Jelinek <jakub@redhat.com>
5510
5511 PR tree-optimization/105528
5512 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
5513 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
5514
5515 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
5516
5517 * doc/md.texi (Defining Mode Iterators): Correct example replacement
5518 text.
5519
5520 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
5521
5522 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
5523 constants.
5524 (fmin<mode>3, fmax<mode>3): New insns.
5525
5526 2022-05-10 Richard Biener <rguenther@suse.de>
5527
5528 * tree-if-conv.cc (fold_build_cond_expr): Use
5529 match-and-simplify to simplify the condition.
5530 (ifcvt_follow_ssa_use_edges): Remove.
5531 (predicate_scalar_phi): Use follow_all_ssa_edges.
5532
5533 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
5534
5535 PR middle-end/100400
5536 * omp-oacc-kernels-decompose.cc
5537 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
5538 call 'internal_error'.
5539
5540 2022-05-10 Richard Biener <rguenther@suse.de>
5541
5542 PR middle-end/105537
5543 * toplev.cc (process_options): Move flag_var_tracking
5544 handling ...
5545 * opts.cc (finish_options): ... here.
5546
5547 2022-05-10 Martin Liska <mliska@suse.cz>
5548
5549 * basic-block.h (struct basic_block_d): Use void *
5550 instead PTR.
5551 * cfgloop.h: Likewise.
5552 * cgraph.h: Likewise.
5553 * gengtype-state.cc (state_ident_by_name): Likewise.
5554 (record_type): Likewise.
5555 (read_state_already_seen_type): Likewise.
5556 * gengtype.cc (dump_type): Likewise.
5557 (input_file_by_name): Likewise.
5558 (main): Likewise.
5559 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
5560 * ipa-utils.h (struct ipa_dfs_info): Likewise.
5561 * plugin.cc (htab_hash_plugin): Likewise.
5562
5563 2022-05-10 Richard Biener <rguenther@suse.de>
5564
5565 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
5566 API with !GENERATOR_FILE.
5567 * opts.cc (global_options): Poison.
5568 (global_options_set): Likewise.
5569 (finish_options): Refer to options via opts.
5570
5571 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
5572 Roger Sayle <roger@nextmovesoftware.com>
5573
5574 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
5575 alternative when optimizing for size and the immediate operand is
5576 const_0_to_127_operand.
5577 (*andqi_2_maybe_si): Likewise.
5578 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
5579
5580 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
5581
5582 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
5583 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
5584 can't be negative.
5585
5586 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
5587
5588 PR target/105292
5589 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
5590 true only for 8-byte vector modes.
5591
5592 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
5593
5594 PR middle-end/70090
5595 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
5596 (instrument_object_size): Get dynamic object size expression.
5597
5598 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
5599
5600 PR preprocessor/101168
5601 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
5602 Avoid empty identifier.
5603
5604 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
5605
5606 PR target/101891
5607 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
5608 as a generic MMX mode instead of V4HImode.
5609 (zero_all_mm_registers): Use SET to zero instead of MOV for
5610 zeroing scratch registers.
5611 (ix86_zero_call_used_regs): Likewise.
5612
5613 2022-05-09 liuhongt <hongtao.liu@intel.com>
5614
5615 PR target/105354
5616 * config/i386/i386-expand.cc
5617 (expand_vec_perm_pslldq_psrldq_por): New function.
5618 (ix86_expand_vec_perm_const_1): Try
5619 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
5620 4/5-instruction sequence.
5621
5622 2022-05-09 Martin Liška <mliska@suse.cz>
5623
5624 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
5625 * system.h (STATIC_ASSERT): Define as static_assert for C++
5626 and fallback to array index in C.
5627
5628 2022-05-09 Richard Biener <rguenther@suse.de>
5629
5630 PR tree-optimization/105517
5631 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
5632 offset can be represented in the POINTER_PLUS_EXPR IL.
5633 (vn_reference_insert): Likewise.
5634 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
5635
5636 2022-05-09 Richard Biener <rguenther@suse.de>
5637
5638 * match.pd: Remove #if GIMPLE guards around ! using patterns.
5639
5640 2022-05-09 liuhongt <hongtao.liu@intel.com>
5641
5642 PR target/105072
5643 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
5644 New define_insn.
5645 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
5646 define_insn_and_split.
5647
5648 2022-05-09 Alex Coplan <alex.coplan@arm.com>
5649
5650 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
5651 symtab state is PARSING.
5652
5653 2022-05-09 Martin Liska <mliska@suse.cz>
5654
5655 * system.h (LIKELY): Define.
5656 (UNLIKELY): Likewise.
5657 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
5658 macros.
5659 * dse.cc (set_position_unneeded): Likewise.
5660 (set_all_positions_unneeded): Likewise.
5661 (any_positions_needed_p): Likewise.
5662 (all_positions_needed_p): Likewise.
5663 * expmed.cc (flip_storage_order): Likewise.
5664 * genmatch.cc (dt_simplify::gen_1): Likewise.
5665 * ggc-common.cc (gt_pch_save): Likewise.
5666 * print-rtl.cc: Likewise.
5667 * rtl-iter.h (T>::array_type::~array_type): Likewise.
5668 (T>::next): Likewise.
5669 * rtl-ssa/internals.inl: Likewise.
5670 * rtl-ssa/member-fns.inl: Likewise.
5671 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
5672 (rtx_properties::try_to_add_dest): Likewise.
5673 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
5674 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
5675 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
5676 * sort.cc (likely): Likewise.
5677 (mergesort): Likewise.
5678 * wide-int.h (wi::eq_p): Likewise.
5679 (wi::ltu_p): Likewise.
5680 (wi::cmpu): Likewise.
5681 (wi::bit_and): Likewise.
5682 (wi::bit_and_not): Likewise.
5683 (wi::bit_or): Likewise.
5684 (wi::bit_or_not): Likewise.
5685 (wi::bit_xor): Likewise.
5686 (wi::add): Likewise.
5687 (wi::sub): Likewise.
5688
5689 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
5690
5691 * config/riscv/arch-canonicalize: Handle g correctly.
5692
5693 2022-05-07 Marek Polacek <polacek@redhat.com>
5694
5695 PR c++/101833
5696 PR c++/47634
5697 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
5698
5699 2022-05-06 Jason Merrill <jason@redhat.com>
5700
5701 * diagnostic-color.cc: Add fnname and targs color entries.
5702 * doc/invoke.texi: Document them.
5703
5704 2022-05-06 Jason Merrill <jason@redhat.com>
5705
5706 * vec.h (vec::iterate): Fix comment.
5707
5708 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
5709
5710 PR target/102059
5711 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
5712 and -mpower10-fusion options for inlining purposes.
5713
5714 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
5715
5716 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
5717
5718 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
5719
5720 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
5721 omp_runtime_apis array.
5722
5723 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
5724
5725 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
5726 (scan_sharing_clauses): Check a restriction on allocate clause.
5727
5728 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
5729
5730 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
5731 and ORDERED clause conflict errors. Add check for GRAINSIZE and
5732 NUM_TASKS on TASKLOOP.
5733
5734 2022-05-05 Martin Liska <mliska@suse.cz>
5735
5736 * genautomata.cc (create_composed_state): Remove dead code.
5737 * graphite-poly.cc (print_pdrs): Likewise.
5738 * lto-wrapper.cc (run_gcc): Likewise.
5739 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
5740 Likewise.
5741
5742 2022-05-05 Martin Liska <mliska@suse.cz>
5743
5744 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
5745 PROF_*.
5746 (gimple_gen_time_profiler): Likewise.
5747
5748 2022-05-05 Martin Liska <mliska@suse.cz>
5749
5750 * value-prof.cc (stream_out_histogram_value): Remove sanity
5751 checking.
5752
5753 2022-05-05 Richard Biener <rguenther@suse.de>
5754
5755 PR tree-optimization/104162
5756 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
5757 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
5758 becomes invariant.
5759 (vn_reference_insert): Likewise.
5760
5761 2022-05-05 Richard Biener <rguenther@suse.de>
5762
5763 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
5764 to real_value field.
5765 (tree_real_cst::value): Add real_value field.
5766 * tree.h (TREE_REAL_CST_PTR): Adjust.
5767 * tree.cc (build_real): Remove separate allocation.
5768 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
5769 Likewise.
5770
5771 2022-05-05 Richard Biener <rguenther@suse.de>
5772
5773 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
5774 divisions with undefined overflow unconditionally.
5775 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
5776 overflow to defined.
5777
5778 2022-05-05 Richard Biener <rguenther@suse.de>
5779
5780 PR tree-optimization/105484
5781 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
5782 whether the CFG changed.
5783 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
5784
5785 2022-05-05 Richard Biener <rguenther@suse.de>
5786
5787 PR tree-optimization/104595
5788 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
5789 COND_EXPR do not fail if check_bool_pattern returns false.
5790
5791 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
5792
5793 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
5794 item that is in an outer data-sharing clause.
5795
5796 2022-05-04 Richard Biener <rguenther@suse.de>
5797
5798 PR tree-optimization/104658
5799 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
5800 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
5801 type on nodes we promote.
5802 (vectorizable_bb_reduc_epilogue): Deal with externalized
5803 root.
5804 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
5805 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
5806
5807 2022-05-04 Richard Biener <rguenther@suse.de>
5808
5809 PR tree-optimization/103116
5810 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
5811 case we need peeling for gaps even though GROUP_GAP is zero.
5812
5813 2022-05-04 Martin Liska <mliska@suse.cz>
5814
5815 * gengtype-state.cc (read_a_state_token): Remove dead code.
5816 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
5817
5818 2022-05-04 Richard Biener <rguenther@suse.de>
5819
5820 * gimplify.cc (gimplify_init_constructor): First gimplify,
5821 then simplify the result to a VECTOR_CST.
5822
5823 2022-05-04 Jakub Jelinek <jakub@redhat.com>
5824
5825 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
5826 element at the end of insn_conditions.
5827 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
5828 ARRAY_SIZE (insn_conditions).
5829
5830 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
5831
5832 PR target/104662
5833 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
5834 vector of booleans and MVE is not enabled.
5835
5836 2022-05-04 Richard Biener <rguenther@suse.de>
5837
5838 PR debug/105158
5839 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
5840 Move debug stmts to the predecessor if moving to the
5841 destination is not possible.
5842 (remove_forwarder_block): Adjust.
5843 (remove_forwarder_block_with_phi): Likewise.
5844
5845 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
5846
5847 PR tree-optimization/102950
5848 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
5849 determine bounds of bitwise operations on signed types.
5850 (operator_bitwise_and::wi_fold): Call the above function.
5851 (operator_bitwise_or::wi_fold): Likewise.
5852 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
5853 result can't be zero if the operands can't be equal.
5854
5855 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
5856
5857 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
5858 protocol class methods linker-visible.
5859
5860 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
5861
5862 PR target/105079
5863 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
5864 define_insn_and_split pattern.
5865
5866 2022-05-03 Richard Biener <rguenther@suse.de>
5867
5868 PR middle-end/105083
5869 * tree-scalar-evolution.cc (scev_initialize): Verify we
5870 have appropriate loop state.
5871 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
5872 loop init and finalization.
5873
5874 2022-05-03 Richard Biener <rguenther@suse.de>
5875
5876 PR middle-end/105461
5877 * opts.cc (finish_options): Match the condition to
5878 disable flag_var_tracking to that of process_options.
5879
5880 2022-05-03 Richard Biener <rguenther@suse.de>
5881
5882 * opts.cc: #undef OPTIONS_SET_P.
5883 (finish_options): Use opts_set instead of OPTIONS_SET_P.
5884
5885 2022-05-03 Richard Biener <rguenther@suse.de>
5886
5887 PR tree-optimization/105394
5888 * tree-vect-generic.cc (expand_vector_condition): Adjust
5889 comp_width for non-integer mode masks as well.
5890
5891 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
5892
5893 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
5894 omp_runtime_apis array.
5895
5896 2022-05-02 Richard Biener <rguenther@suse.de>
5897
5898 * tree-scalar-evolution.cc (expression_expensive_p):
5899 Never consider mismatched calls as cheap.
5900
5901 2022-05-02 Richard Biener <rguenther@suse.de>
5902
5903 PR tree-optimization/104240
5904 * tree-vect-slp.cc (op1_op0_map): New.
5905 (vect_get_operand_map): Handle compares.
5906 (vect_build_slp_tree_1): Support swapped operands for
5907 tcc_comparison.
5908
5909 2022-05-02 Jakub Jelinek <jakub@redhat.com>
5910
5911 PR debug/105415
5912 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
5913 if there is no symtab node for the VAR_DECL.
5914
5915 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
5916
5917 * gcov-io.cc (gcov_rewrite): Clear the file error status.
5918
5919 2022-05-02 Richard Biener <rguenther@suse.de>
5920
5921 PR tree-optimization/105437
5922 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
5923 case where last_stmt alters control flow.
5924
5925 2022-05-02 Richard Biener <rguenther@suse.de>
5926
5927 * dojump.cc (do_jump): Use CASE_CONVERT.
5928 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
5929
5930 2022-05-02 Jakub Jelinek <jakub@redhat.com>
5931
5932 * system.h: Include initializer_list.
5933
5934 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
5935
5936 * config/rs6000/constraints.md (Y constraint): Fix comment.
5937
5938 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
5939
5940 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
5941 VR_RANGE before passing a piecewise range to set_range_info_raw.
5942
5943 2022-04-30 Patrick Palka <ppalka@redhat.com>
5944
5945 * gengtype.cc (adjust_field_tree_exp): Remove.
5946 (adjust_field_type): Don't handle the "tree_exp" special attribute.
5947 * tree-core.h (struct tree_exp): Remove "special" and "desc"
5948 attributes. Add "length" attribute.
5949
5950 2022-04-29 Martin Jambor <mjambor@suse.cz>
5951
5952 PR ipa/100413
5953 * cgraph.cc (cgraph_node::remove): Release body of the node this
5954 is clone_of if appropriate.
5955
5956 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
5957
5958 PR target/51954
5959 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
5960
5961 2022-04-29 Richard Biener <rguenther@suse.de>
5962
5963 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
5964 (canonicalize_cond_expr_cond): Move here from gimple.cc,
5965 allow both COND_EXPR and GIMPLE_COND forms.
5966 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
5967 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
5968 * gimple.h (canonicalize_cond_expr_cond): Likewise.
5969 * gimple-loop-versioning.cc (loop_versioning::version_loop):
5970 Use is_gimple_condexpr_for_cond.
5971 * tree-parloops.cc (gen_parallel_loop): Likewise.
5972 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
5973 a proper cond expr after canonicalize_cond_expr_cond.
5974 Use is_gimple_condexpr_for_cond where appropriate.
5975 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
5976 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
5977
5978 2022-04-29 Richard Biener <rguenther@suse.de>
5979
5980 * gimple-iterator.h (gsi_after_labels): Add overload for
5981 gimple_seq.
5982 (gsi_start_1): Rename to gsi_start and take a reference.
5983 (gsi_last_1): Likewise.
5984 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
5985 * omp-low.cc (lower_rec_input_clauses): Likewise.
5986 (lower_omp_scan): Likewise.
5987
5988 2022-04-29 Richard Biener <rguenther@suse.de>
5989
5990 PR tree-optimization/105431
5991 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
5992 (powi_as_mults): Use absu_hwi.
5993 (gimple_expand_builtin_powi): Remove now pointless n != -n
5994 check.
5995
5996 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
5997
5998 * range-op.cc (empty_range_varying): Move to range-op.h.
5999 (range_true): Move to range.h.
6000 (range_false): Same.
6001 (range_true_and_false): Same.
6002 (enum bool_range_state): Move to range-op.h.
6003 (relop_early_resolve): Same.
6004 (operator_equal::op1_op2_relation): Abstract code to...
6005 (equal_op1_op2_relation): ...here.
6006 (operator_not_equal::op1_op2_relation): Abstract code to...
6007 (not_equal_op1_op2_relation): ...here.
6008 (operator_lt::op1_op2_relation): Abstract code to...
6009 (lt_op1_op2_relation): ...here.
6010 (operator_le::op1_op2_relation): Abstract code to...
6011 (le_op1_op2_relation): ...here.
6012 (operator_gt::op1_op2_relation): Abstract code to...
6013 (gt_op1_op2_relation): ...here.
6014 (operator_ge::op1_op2_relation): Abstract code to...
6015 (ge_op1_op2_relation): ...here.
6016 (class range_op_table): Move to range-op.h.
6017 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
6018 (not_equal_op1_op2_relation): Same.
6019 (lt_op1_op2_relation): Same.
6020 (le_op1_op2_relation): Same.
6021 (gt_op1_op2_relation): Same.
6022 (ge_op1_op2_relation): Same.
6023 (enum bool_range_state): Same.
6024 (get_bool_state): Same.
6025 (empty_range_varying): Same.
6026 (relop_early_resolve): Same.
6027 (class range_op_table): Same.
6028 * range.h (range_true): Same.
6029 (range_false): Same.
6030 (range_true_and_false): Same.
6031
6032 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
6033
6034 * gimple-fold.cc (size_must_be_zero_p): Use reference
6035 instead of pointer
6036 * gimple-ssa-evrp-analyze.cc
6037 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
6038 intersect to legacy_verbose_intersect.
6039 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
6040 of pointer.
6041 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
6042 instead of value_range_equiv.
6043 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
6044 instead of pointer.
6045 (find_case_label_range): Same.
6046 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
6047 (value_range_equiv::legacy_verbose_intersect): ...this.
6048 (value_range_equiv::union_): Rename to...
6049 (value_range_equiv::legacy_verbose_union_): ...this.
6050 * value-range-equiv.h (class value_range_equiv): Rename union and
6051 intersect to legacy_verbose_{intersect,union}.
6052 * value-range.cc (irange::union_): Rename to...
6053 (irange::legacy_verbose_union_): ...this.
6054 (irange::intersect): Rename to...
6055 (irange::legacy_verbose_intersect): ...this.
6056 * value-range.h (irange::union_): Rename union_ to
6057 legacy_verbose_union.
6058 (irange::intersect): Rename intersect to legacy_verbose_intersect.
6059 * vr-values.cc (vr_values::update_value_range): Same.
6060 (vr_values::extract_range_for_var_from_comparison_expr): Same.
6061 (vr_values::extract_range_from_cond_expr): Rename union_ to
6062 legacy_verbose_union.
6063 (vr_values::extract_range_from_phi_node): Same.
6064
6065 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
6066
6067 * gimple-ssa-evrp-analyze.cc
6068 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
6069 that take a range.
6070 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
6071 * ipa-prop.cc (ipcp_update_vr): Same.
6072 * tree-inline.cc (remap_ssa_name): Same.
6073 * tree-ssa-copy.cc (fini_copy_prop): Same.
6074 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
6075 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
6076 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
6077 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
6078 * tree-ssa-strlen.cc (set_strlen_range): Same.
6079 (strlen_pass::handle_builtin_string_cmp): Same.
6080 * tree-ssanames.cc (set_range_info): Make static.
6081 (duplicate_ssa_name_range_info): Make static and add a new variant
6082 calling the static.
6083 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
6084 (duplicate_ssa_name_range_info): Remove version taking a
6085 range_info_def and replace with a version taking SSA names.
6086 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
6087 that take a range.
6088 (vect_do_peeling): Same.
6089 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
6090 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
6091
6092 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
6093
6094 * value-range.h (irange::irange): Use set_undefined.
6095
6096 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
6097
6098 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
6099 irange::intersect (wide_int, wide_int).
6100 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
6101 (adjust_imagpart_expr): Same.
6102 * value-range.h (irange::intersect (wide_int, wide_int)): Make
6103 private.
6104
6105 2022-04-29 Richard Biener <rguenther@suse.de>
6106
6107 PR tree-optimization/104322
6108 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
6109
6110 2022-04-29 Richard Biener <rguenther@suse.de>
6111
6112 PR middle-end/105376
6113 * tree.cc (build_real): Special case dconst* arguments
6114 for decimal floating point types.
6115
6116 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6117
6118 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
6119 Environments): New section.
6120
6121 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6122
6123 * doc/gcov-tool.texi: Document merge-stream subcommand.
6124 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
6125 subcommand of gcov-tool.
6126 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
6127 (print_merge_stream_usage_message): New.
6128 (merge_stream_usage): Likewise.
6129 (do_merge_stream): Likewise.
6130 (print_usage): Call print_merge_stream_usage_message().
6131 (main): Call do_merge_stream() to execute merge-stream subcommand.
6132
6133 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6134
6135 * gcov-io.cc (gcov_file_error): New enum.
6136 (gcov_var): Use gcov_file_error enum for the error member.
6137 (gcov_open): Use GCOV_FILE_NO_ERROR.
6138 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
6139 (gcov_write): Likewise.
6140 (gcov_write_unsigned): Likewise.
6141 (gcov_write_string): Likewise.
6142 (gcov_read_bytes): Set error code if EOF is reached.
6143 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
6144
6145 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6146
6147 * gcov-io.cc (GCOV_MODE_STDIN): Define.
6148 (gcov_position): For gcov-tool, return calculated position if file is
6149 stdin.
6150 (gcov_open): For gcov-tool, use stdin if filename is NULL.
6151 (gcov_close): For gcov-tool, do not close stdin.
6152 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
6153 (gcov_sync): For gcov-tool, discard input if file is stdin.
6154
6155 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6156
6157 * doc/invoke.texi (fprofile-info-section): Mention
6158 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
6159 standard language. Fix minor example code issues.
6160 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
6161
6162 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6163
6164 * gcov-io.cc (gcov_seek): Make it static.
6165 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
6166
6167 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6168
6169 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
6170 (gcov_output_files): Open files for reading and writing.
6171
6172 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6173
6174 * gcov-io.cc (gcov_open): Always use the mode parameter.
6175 * gcov-io.h (gcov_open): Declare it unconditionally.
6176
6177 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6178
6179 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
6180 (profile_merge): Allow merging of directories which contain no profile
6181 files.
6182
6183 2022-04-28 David Malcolm <dmalcolm@redhat.com>
6184
6185 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
6186 fpath.txt output.
6187
6188 2022-04-28 Jakub Jelinek <jakub@redhat.com>
6189
6190 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
6191 temporary only if out overlaps compare_op, not when it overlaps
6192 op0 or op1.
6193
6194 2022-04-28 Jakub Jelinek <jakub@redhat.com>
6195
6196 PR lto/105399
6197 * cgraph.cc (cgraph_node::verify_node): Don't verify
6198 semantic_interposition flag against
6199 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
6200
6201 2022-04-28 Jakub Jelinek <jakub@redhat.com>
6202
6203 PR target/105331
6204 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
6205 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
6206 of it.
6207
6208 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
6209
6210 * doc/install.texi (Configuration): Remove misleading text
6211 around LE PowerPC Linux multilibs.
6212
6213 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6214
6215 PR d/103528
6216 * doc/install.texi (Tools/packages necessary for building GCC)
6217 (GDC): Document libphobos requirement.
6218 (Host/target specific installation notes for GCC, *-*-solaris2*):
6219 Document libphobos and GDC specifics.
6220
6221 2022-04-28 Richard Biener <rguenther@suse.de>
6222
6223 PR tree-optimization/105219
6224 * tree-vect-loop.cc (vect_transform_loop): Disable
6225 special code narrowing the vectorized epilogue max
6226 iterations when peeling for alignment or gaps was in effect.
6227
6228 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
6229
6230 * config/loongarch/loongarch.cc
6231 (loongarch_flatten_aggregate_field): Ignore empty fields for
6232 RECORD_TYPE.
6233
6234 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
6235
6236 * config/loongarch/loongarch.md: Add fdiv define_expand template,
6237 then generate floating-point division and floating-point reciprocal
6238 instructions.
6239
6240 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
6241
6242 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
6243 to PLV instruction templates.
6244
6245 2022-04-27 Richard Biener <rguenther@suse.de>
6246
6247 PR middle-end/104492
6248 * gimple-ssa-warn-access.cc
6249 (pass_waccess::warn_invalid_pointer): Exclude equality compare
6250 diagnostics for all kind of invalidations.
6251 (pass_waccess::check_dangling_uses): Fix post-dominator query.
6252 (pass_waccess::check_pointer_uses): Likewise.
6253
6254 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
6255
6256 PR target/102024
6257 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
6258 prototype.
6259 * config/s390/s390.cc (s390_single_field_struct_p): New function.
6260 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
6261 (s390_function_arg_float): Likewise.
6262
6263 2022-04-27 Jakub Jelinek <jakub@redhat.com>
6264
6265 PR sanitizer/105396
6266 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
6267 where offset is bigger than off but smaller than m_prev_offset + 32
6268 bits by pushing one or more 0 bytes. Sink the
6269 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
6270 all cases to the end of the function.
6271
6272 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
6273
6274 PR target/105271
6275 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
6276 stanza.
6277
6278 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
6279
6280 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
6281 data-share memory exhausted" error more verbose.
6282
6283 2022-04-26 Martin Liska <mliska@suse.cz>
6284
6285 PR lto/105364
6286 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
6287 (run_gcc): Parse OPT_fdiagnostics_urls_.
6288 (main): Initialize global_dc.
6289
6290 2022-04-26 Jakub Jelinek <jakub@redhat.com>
6291
6292 PR rtl-optimization/105314
6293 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
6294 operand is equal to if_info->x, instead use the non-zero operand
6295 as one of the operands of AND with if_info->x as target.
6296
6297 2022-04-26 Jakub Jelinek <jakub@redhat.com>
6298
6299 PR tree-optimization/105374
6300 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
6301 !fold_convertible_p rather than assuming fold_convert must succeed.
6302
6303 2022-04-26 Jakub Jelinek <jakub@redhat.com>
6304
6305 PR target/105367
6306 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
6307 el_mode == DFmode ? double_type_node : float_type_node instead of
6308 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
6309
6310 2022-04-25 David Malcolm <dmalcolm@redhat.com>
6311
6312 PR analyzer/104308
6313 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
6314 the location of new_stmt in all places that don't already set it,
6315 whether explicitly, or via a call to gsi_replace.
6316
6317 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
6318
6319 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
6320
6321 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
6322
6323 PR tree-optimization/105276
6324 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
6325 existing global range with calculated value.
6326
6327 2022-04-25 Richard Biener <rguenther@suse.de>
6328
6329 PR tree-optimization/105368
6330 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
6331
6332 2022-04-25 Richard Biener <rguenther@suse.de>
6333
6334 PR tree-optimization/100810
6335 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
6336 (find_ssa_undef): New function.
6337 (add_candidate_1): Avoid adding derived candidates with
6338 undefined SSA names and mark the original ones.
6339 (determine_group_iv_cost_generic): Reject rewriting
6340 uses with a different IV when that involves undefined SSA names.
6341
6342 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
6343
6344 PR target/89125
6345 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
6346 bsd_libc_has_function.
6347 * targhooks.cc (bsd_libc_has_function): New function.
6348 Expand the supported math functions to inclue C99 libm.
6349 * targhooks.h (bsd_libc_has_function): New Prototype.
6350
6351 2022-04-25 Richard Biener <rguenther@suse.de>
6352
6353 PR rtl-optimization/105231
6354 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
6355 with landing pad > 0 is from i3. Put any REG_EH_REGION note
6356 on i3 or drop it if the insn can not trap.
6357 (try_combine): Ensure that we can merge REG_EH_REGION notes
6358 with non-call exceptions. Ensure we are not splitting a
6359 trapping part of an insn with non-call exceptions when there
6360 is any REG_EH_REGION note to preserve.
6361
6362 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
6363
6364 PR target/105339
6365 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
6366 Add parentheses for parameters and djust format.
6367 (_mm512_mask_scalef_round_pd): Ditto.
6368 (_mm512_maskz_scalef_round_pd): Ditto.
6369 (_mm512_scalef_round_ps): Ditto.
6370 (_mm512_mask_scalef_round_ps): Ditto.
6371 (_mm512_maskz_scalef_round_ps): Ditto.
6372 (_mm_scalef_round_sd): Use _mm_undefined_pd.
6373 (_mm_scalef_round_ss): Use _mm_undefined_ps.
6374 (_mm_mask_scalef_round_sd): New macro.
6375 (_mm_mask_scalef_round_ss): Ditto.
6376 (_mm_maskz_scalef_round_sd): Ditto.
6377 (_mm_maskz_scalef_round_ss): Ditto.
6378
6379 2022-04-23 Jakub Jelinek <jakub@redhat.com>
6380
6381 PR target/105338
6382 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
6383 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
6384 cases.
6385
6386 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
6387
6388 PR target/105334
6389 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
6390 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
6391 (pack<mode>_hard for FMOVE128): ... this...
6392 (pack<mode>_soft for FMOVE128): ... and this.
6393
6394 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
6395
6396 * doc/extend.texi: Correct "This" to "These".
6397
6398 2022-04-22 Jakub Jelinek <jakub@redhat.com>
6399
6400 PR rtl-optimization/105333
6401 * rtlanal.cc (replace_rtx): Use simplify_subreg or
6402 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
6403 CONST_INT_P.
6404
6405 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
6406
6407 PR target/103197
6408 PR target/102146
6409 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
6410 the "Z" alternatives in {l,st}{f,xs}iwzx.
6411 (zero_extendhi<mode>2 for EXTHI): Ditto.
6412 (zero_extendsi<mode>2 for EXTSI): Ditto.
6413 (*movsi_internal1): Ditto.
6414 (*mov<mode>_internal1 for QHI): Ditto.
6415 (movsd_hardfloat): Ditto.
6416
6417 2022-04-21 Martin Liska <mliska@suse.cz>
6418
6419 * configure.ac: Enable compressed debug sections for mold
6420 linker.
6421 * configure: Regenerate.
6422
6423 2022-04-21 Jakub Jelinek <jakub@redhat.com>
6424
6425 PR debug/105203
6426 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
6427 on DEBUG_INSNs.
6428
6429 2022-04-20 Richard Biener <rguenther@suse.de>
6430
6431 PR tree-optimization/104912
6432 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
6433 the cost model check to a separate BB to make sure it is
6434 checked first and not combined with other version checks.
6435
6436 2022-04-20 Richard Biener <rguenther@suse.de>
6437
6438 PR tree-optimization/105312
6439 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
6440 VCOND and VCONDU for EQ and NE.
6441
6442 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
6443
6444 PR ipa/103818
6445 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
6446 poly_offset_int to avoid overflow.
6447 (modref_access_node::update2): likewise.
6448
6449 2022-04-20 Jakub Jelinek <jakub@redhat.com>
6450
6451 PR ipa/105306
6452 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
6453 to opt_for_fn (decl, flag_semantic_interposition).
6454 * cgraphclones.cc (cgraph_node::create_clone): Copy over
6455 semantic_interposition flag.
6456
6457 2022-04-19 Sergei Trofimovich <siarheit@google.com>
6458
6459 PR gcov-profile/105282
6460 * value-prof.cc (stream_out_histogram_value): Allow negative counts
6461 on HIST_TYPE_INDIR_CALL.
6462
6463 2022-04-19 Jakub Jelinek <jakub@redhat.com>
6464
6465 PR target/105257
6466 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
6467 use gen_raw_REG instead of gen_rtx_REG and copy over also
6468 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
6469
6470 2022-04-19 Richard Biener <rguenther@suse.de>
6471
6472 PR tree-optimization/104010
6473 PR tree-optimization/103941
6474 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
6475 we run into stmts in patterns continue walking those
6476 for uses outside of the vectorized region instead of
6477 marking the lane live.
6478
6479 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
6480
6481 * doc/install.texi <CRIS>: Remove references to removed websites and
6482 adjust for cris-*-elf being the only remaining toolchain.
6483
6484 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
6485
6486 * doc/invoke.texi <CRIS>: Remove references to options for removed
6487 subtarget cris-axis-linux-gnu and tweak wording accordingly.
6488
6489 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
6490
6491 * doc/install.texi (Specific): Adjust mingw-w64 download link.
6492
6493 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
6494
6495 * config/i386/smmintrin.h: Correct target pragma from sse4.1
6496 and sse4.2 to crc32 for crc32 intrinsics.
6497
6498 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
6499
6500 PR debug/105089
6501 * ctfc.cc (ctf_dvd_ignore_insert): New function.
6502 (ctf_dvd_ignore_lookup): Likewise.
6503 (ctf_add_variable): Keep track of non-defining decl DIEs.
6504 (new_ctf_container): Initialize the new hash-table.
6505 (ctfc_delete_container): Empty hash-table.
6506 * ctfc.h (struct ctf_container): Add new hash-table.
6507 (ctf_dvd_ignore_lookup): New declaration.
6508 (ctf_add_variable): Add additional argument.
6509 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
6510 record for non-defining decl for which a defining decl exists
6511 in the same TU.
6512 (ctf_preprocess): Defer updating the number of global objts
6513 until here.
6514 (output_ctf_header): Use ctfc_vars_list_count as some CTF
6515 variables may not make it to the final output.
6516 (output_ctf_vars): Likewise.
6517 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
6518 if this is known to be a non-defining decl DIE.
6519
6520 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
6521
6522 * ctfc.h (struct ctf_container): Introduce a new member.
6523 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
6524 variable.
6525
6526 2022-04-14 Jakub Jelinek <jakub@redhat.com>
6527
6528 PR target/105247
6529 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
6530 or rotates by VOIDmode constant integer shift count use word_mode
6531 for the operand if int_mode is narrower than word.
6532
6533 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
6534
6535 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
6536 (s390_get_unit_mask): Likewise.
6537 (s390_is_fpd): Likewise.
6538 (s390_is_fxd): Likewise.
6539 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
6540 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
6541 Add z16.
6542 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
6543 Likewise.
6544 * config/s390/3931.md: New file.
6545
6546 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
6547
6548 PR tree-optimization/105254
6549 * config/aarch64/aarch64.cc
6550 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
6551 loop_vec_info as argument. Restrict the unroll factor to values
6552 that divide the VF.
6553 (aarch64_vector_costs::finish_cost): Update call accordingly.
6554
6555 2022-04-13 Richard Biener <rguenther@suse.de>
6556
6557 PR tree-optimization/105263
6558 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
6559 negates in multiplication chains with DFP.
6560
6561 2022-04-13 Jakub Jelinek <jakub@redhat.com>
6562
6563 PR middle-end/105253
6564 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
6565 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
6566 comparisons or tree_nop_conversion_p checks.
6567
6568 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
6569
6570 PR target/103069
6571 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
6572 Add missing set to target_val at pause label.
6573
6574 2022-04-13 Jakub Jelinek <jakub@redhat.com>
6575
6576 PR target/105234
6577 * attribs.cc (decl_attributes): Don't set
6578 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
6579 NULL.
6580
6581 2022-04-13 Richard Biener <rguenther@suse.de>
6582
6583 PR tree-optimization/105250
6584 * fold-const.cc (fold_convertible_p): Revert
6585 r12-7979-geaaf77dd85c333, instead check for size equality
6586 of the vector types involved.
6587
6588 2022-04-13 Richard Biener <rguenther@suse.de>
6589
6590 Revert:
6591 2022-04-13 Richard Biener <rguenther@suse.de>
6592
6593 PR tree-optimization/104912
6594 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
6595 the cost model check to a separate BB to make sure it is
6596 checked first and not combined with other version checks.
6597
6598 2022-04-13 Richard Biener <rguenther@suse.de>
6599
6600 PR tree-optimization/104912
6601 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
6602 the cost model check to a separate BB to make sure it is
6603 checked first and not combined with other version checks.
6604
6605 2022-04-13 Jakub Jelinek <jakub@redhat.com>
6606
6607 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
6608
6609 2022-04-12 Antoni Boucher <bouanto@zoho.com>
6610
6611 PR jit/104072
6612 * reginfo.cc: New functions (clear_global_regs_cache,
6613 reginfo_cc_finalize) to avoid an issue where compiling the same
6614 code multiple times gives an error about assigning the same
6615 register to 2 global variables.
6616 * rtl.h: New function (reginfo_cc_finalize).
6617 * toplev.cc: Call it.
6618
6619 2022-04-12 Antoni Boucher <bouanto@zoho.com>
6620
6621 PR jit/104071
6622 * toplev.cc: Call the new function tree_cc_finalize in
6623 toplev::finalize.
6624 * tree.cc: New functions (clear_nonstandard_integer_type_cache
6625 and tree_cc_finalize) to clear the cache of non-standard integer
6626 types to avoid having issues with some optimizations of
6627 bitcast where the SSA_NAME will have a size of a cached
6628 integer type that should have been invalidated, causing a
6629 comparison of integer constant to fail.
6630 * tree.h: New function (tree_cc_finalize).
6631
6632 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6633
6634 PR target/97348
6635 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
6636 * config/nvptx/nvptx.opt (misa): Adjust comment.
6637
6638 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6639
6640 Revert:
6641 2022-03-03 Tom de Vries <tdevries@suse.de>
6642
6643 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6644
6645 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
6646
6647 Revert:
6648 2022-03-31 Tom de Vries <tdevries@suse.de>
6649
6650 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
6651
6652 2022-04-12 Richard Biener <rguenther@suse.de>
6653
6654 PR ipa/104303
6655 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
6656 include local escaped memory as obviously necessary stores.
6657
6658 2022-04-12 Richard Biener <rguenther@suse.de>
6659
6660 PR tree-optimization/105235
6661 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
6662 return whether the CFG changed.
6663 (execute_cse_sincos_1): Adjust.
6664
6665 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
6666
6667 PR target/104144
6668 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
6669 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
6670 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
6671 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
6672 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
6673 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
6674 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
6675
6676 2022-04-12 Richard Biener <rguenther@suse.de>
6677
6678 PR tree-optimization/105232
6679 * tree.cc (component_ref_size): Bail out for too large
6680 or non-constant sizes.
6681
6682 2022-04-12 Richard Biener <rguenther@suse.de>
6683
6684 PR tree-optimization/105226
6685 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
6686 we can split the exit of an outer loop we choose to version.
6687
6688 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6689
6690 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
6691 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
6692 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
6693 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
6694 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
6695 Formatting fix.
6696 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
6697
6698 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6699
6700 PR target/105214
6701 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
6702 do_pending_stack_adjust.
6703
6704 2022-04-12 Jakub Jelinek <jakub@redhat.com>
6705
6706 PR rtl-optimization/105211
6707 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
6708 fails for TREE_TYPE (arg), retry it with
6709 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
6710 fails, emit call normally.
6711
6712 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
6713
6714 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
6715 * config.gcc: Add z16 as march/mtune switch.
6716 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
6717 Recognize z16 with -march=native.
6718 * config/s390/s390-opts.h (enum processor_type): Rename
6719 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
6720 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
6721 (PROCESSOR_3931_Z16): ... throughout the file.
6722 (s390_processor processor_table): Add z16 as cpu string.
6723 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
6724 PF_Z16.
6725 (TARGET_CPU_ARCH14): Rename to ...
6726 (TARGET_CPU_Z16): ... this.
6727 (TARGET_CPU_ARCH14_P): Rename to ...
6728 (TARGET_CPU_Z16_P): ... this.
6729 (TARGET_ARCH14): Rename to ...
6730 (TARGET_Z16): ... this.
6731 (TARGET_ARCH14_P): Rename to ...
6732 (TARGET_Z16_P): ... this.
6733 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
6734 check TARGET_Z16 instead of TARGET_ARCH14.
6735 * config/s390/s390.opt: Add z16 to processor_type.
6736 * doc/invoke.texi: Document z16 and arch14.
6737
6738 2022-04-12 chenglulu <chenglulu@loongson.cn>
6739
6740 * config/loongarch/loongarch.cc: Fix bug for
6741 tmpdir-g++.dg-struct-layout-1/t033.
6742
6743 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
6744
6745 PR target/104894
6746 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
6747 to longcall functions.
6748
6749 2022-04-11 Jason Merrill <jason@redhat.com>
6750
6751 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
6752
6753 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
6754
6755 PR target/105213
6756 PR target/103623
6757 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
6758
6759 2022-04-11 Jakub Jelinek <jakub@redhat.com>
6760
6761 PR tree-optimization/105218
6762 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
6763 more than one predecessor or phi's bb more than 2 predecessors,
6764 reset phi result uses instead of adding a debug temp.
6765
6766 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
6767
6768 PR target/104853
6769 * config.gcc: Pass -misa-spec to arch-canonicalize and
6770 multilib-generator.
6771 * config/riscv/arch-canonicalize: Adding -misa-spec option.
6772 (SUPPORTED_ISA_SPEC): New.
6773 (arch_canonicalize): New argument `isa_spec`.
6774 Handle multiple ISA spec versions.
6775 * config/riscv/multilib-generator: Adding -misa-spec option.
6776
6777 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
6778
6779 * config/riscv/arch-canonicalize: Add TODO item.
6780 (IMPLIED_EXT): Sync.
6781 (arch_canonicalize): Checking until no change.
6782
6783 2022-04-11 Tamar Christina <tamar.christina@arm.com>
6784
6785 PR target/105197
6786 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
6787 not masked.
6788
6789 2022-04-11 Jason Merrill <jason@redhat.com>
6790
6791 PR c++/100370
6792 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
6793 deref == -1.
6794
6795 2022-04-11 Jakub Jelinek <jakub@redhat.com>
6796
6797 PR tree-optimization/104639
6798 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
6799 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
6800 into x != cst3.
6801
6802 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
6803
6804 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
6805 sign bit of the source ends up in CC.
6806
6807 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
6808
6809 PR ipa/103376
6810 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
6811 flag.
6812
6813 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
6814
6815 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
6816 nondeterministic and side_effects flags.
6817
6818 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
6819
6820 PR target/105157
6821 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
6822 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
6823 (TARGET_CPU_MASK): Likewise.
6824 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
6825 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
6826 (aarch64_get_arch): Likewise.
6827 (aarch64_override_options): Use TARGET_CPU_NBITS.
6828
6829 2022-04-08 Richard Biener <rguenther@suse.de>
6830
6831 PR tree-optimization/105198
6832 * tree-predcom.cc (find_looparound_phi): Check whether
6833 the found memory location of the entry value is clobbered
6834 inbetween the value we want to use and loop entry.
6835
6836 2022-04-08 Jakub Jelinek <jakub@redhat.com>
6837
6838 PR tree-optimization/105189
6839 * fold-const.cc (make_range_step): Fix up handling of
6840 (unsigned) x +[low, -] ranges for signed x if low fits into
6841 typeof (x).
6842
6843 2022-04-08 Richard Biener <rguenther@suse.de>
6844
6845 PR tree-optimization/105175
6846 * tree-vect-stmts.cc (vectorizable_operation): Suppress
6847 -Wvector-operation-performance if using emulated vectors.
6848 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
6849 -Wvector-operation-performance when suppressed.
6850 (expand_vector_parallel): Likewise.
6851 (expand_vector_comparison): Likewise.
6852 (expand_vector_condition): Likewise.
6853 (lower_vec_perm): Likewise.
6854 (expand_vector_conversion): Likewise.
6855
6856 2022-04-07 Tamar Christina <tamar.christina@arm.com>
6857
6858 PR target/104409
6859 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
6860 (aarch64_general_init_builtins): Move LS64 code.
6861 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
6862 arm_acle.h
6863 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
6864 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
6865
6866 2022-04-07 Richard Biener <rguenther@suse.de>
6867 Jan Hubicka <hubicka@ucw.cz>
6868
6869 PR ipa/104303
6870 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
6871 ref_may_alias_global_p, ref_may_alias_global_p,
6872 stmt_may_clobber_global_p, pt_solution_includes_global): Add
6873 bool parameters indicating whether escaped locals should be
6874 considered global.
6875 * tree-ssa-structalias.cc (pt_solution_includes_global):
6876 When the new escaped_nonlocal_p flag is true also consider
6877 pt->vars_contains_escaped.
6878 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
6879 Pass down new escaped_nonlocal_p flag.
6880 (ref_may_alias_global_p): Likewise.
6881 (stmt_may_clobber_global_p): Likewise.
6882 (ref_may_alias_global_p_1): Likewise. For decls also
6883 query the escaped solution if true.
6884 (ref_may_access_global_memory_p): Remove.
6885 (modref_may_conflict): Use ref_may_alias_global_p with
6886 escaped locals considered global.
6887 (ref_maybe_used_by_stmt_p): Adjust.
6888 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
6889 Likewise.
6890 * tree-ssa-dse.cc (dse_classify_store): Likewise.
6891 * trans-mem.cc (thread_private_new_memory): Likewise, but
6892 consider escaped locals global.
6893 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
6894
6895 2022-04-07 Richard Biener <rguenther@suse.de>
6896
6897 PR tree-optimization/105185
6898 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
6899 modref query again.
6900
6901 2022-04-07 Tamar Christina <tamar.christina@arm.com>
6902
6903 PR target/104049
6904 * config/aarch64/aarch64-simd.md
6905 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
6906 (reduc_plus_scal_<mode>): ... This.
6907 (reduc_plus_scal_v4sf): Moved.
6908 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
6909 (reduc_plus_scal_v2si): ... This.
6910
6911 2022-04-07 Jakub Jelinek <jakub@redhat.com>
6912
6913 PR tree-optimization/102586
6914 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
6915 langhook.
6916 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
6917 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
6918 * gimple-fold.cc (clear_padding_type): Use ftype instead of
6919 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
6920 name try the lang_hooks.types.classtype_as_base langhook and
6921 if it returns non-NULL, use that instead of ftype for recursive call.
6922
6923 2022-04-07 Jakub Jelinek <jakub@redhat.com>
6924
6925 PR tree-optimization/105150
6926 * tree.cc (tree_builtin_call_types_compatible_p): New function.
6927 (get_call_combined_fn): Use it.
6928
6929 2022-04-07 Richard Biener <rguenther@suse.de>
6930
6931 PR middle-end/105165
6932 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
6933 _Complex outputs.
6934
6935 2022-04-07 liuhongt <hongtao.liu@intel.com>
6936
6937 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
6938 Removed.
6939 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
6940 for mask_applied.
6941 (<code><mode>3<mask_name>): Ditto.
6942 (*<code><mode>3<mask_name>): Ditto.
6943 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
6944 real instruction.
6945 (VFB_512): Ditto.
6946 (VFB): Ditto.
6947
6948 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6949
6950 PR rtl-optimization/104985
6951 * combine.cc (struct undo): Add where.regno member.
6952 (do_SUBST_MODE): Rename to ...
6953 (subst_mode): ... this. Change first argument from rtx * into int,
6954 operate on regno_reg_rtx[regno] and save regno into where.regno.
6955 (SUBST_MODE): Remove.
6956 (try_combine): Use subst_mode instead of SUBST_MODE, change first
6957 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
6958 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
6959 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
6960 instead of *undo->where.r.
6961 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
6962 argument from regno_reg_rtx[whatever] to whatever.
6963
6964 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6965
6966 PR target/105069
6967 * config/sh/sh.opt (mdiv=): Add Save.
6968
6969 2022-04-06 Martin Liska <mliska@suse.cz>
6970
6971 PR driver/105096
6972 * common.opt: Document properly based on what it does.
6973 * gcc.cc (display_help): Unify with what we have in common.opt.
6974 * opts.cc (common_handle_option): Do not print undocumented
6975 options.
6976
6977 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
6978
6979 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
6980 cxx17_empty_base_field_p fields and set an indicator.
6981 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
6982 (mips_function_value_1): Inform psABI change about C++17 empty
6983 bases.
6984
6985 2022-04-06 Jakub Jelinek <jakub@redhat.com>
6986
6987 PR tree-optimization/105150
6988 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
6989 builtin_decl_explicit here...
6990 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
6991 here.
6992
6993 2022-04-06 Richard Biener <rguenther@suse.de>
6994
6995 PR tree-optimization/105173
6996 * tree-ssa-reassoc.cc (find_insert_point): Get extra
6997 insert_before output argument and compute it.
6998 (insert_stmt_before_use): Adjust.
6999 (rewrite_expr_tree): Likewise.
7000
7001 2022-04-06 Richard Biener <rguenther@suse.de>
7002
7003 PR ipa/105166
7004 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
7005 out for non-pointer arguments.
7006
7007 2022-04-06 Richard Biener <rguenther@suse.de>
7008
7009 PR tree-optimization/105163
7010 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
7011 negated abnormals.
7012
7013 2022-04-06 Jakub Jelinek <jakub@redhat.com>
7014
7015 PR tree-optimization/105150
7016 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
7017 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
7018 preferrably on builtin_decl_explicit decl rather than fndecl.
7019 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
7020 gimple_builtin_call_types_compatible_p here.
7021
7022 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
7023
7024 PR tree-optimization/103761
7025 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
7026 the ncopies parameter with an slp_node parameter. Calculate the
7027 number of vectors based on it and vectype. Rename lambda to
7028 group_memory_nvectors.
7029 (vectorizable_store, vectorizable_load): Update calls accordingly.
7030
7031 2022-04-06 Martin Liska <mliska@suse.cz>
7032
7033 * doc/invoke.texi: Document it.
7034
7035 2022-04-06 Richard Biener <rguenther@suse.de>
7036
7037 PR tree-optimization/105148
7038 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
7039 2 and 3 of ARRAY_REFs.
7040
7041 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
7042
7043 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
7044 (*andnottf3): Replace with...
7045 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
7046
7047 2022-04-06 Richard Biener <rguenther@suse.de>
7048
7049 PR tree-optimization/105142
7050 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
7051 basic-block parameter.
7052 (maybe_fold_or_comparisons): Likewise.
7053 * gimple-fold.cc (follow_outer_ssa_edges): New.
7054 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
7055 when an outer condition basic-block is specified.
7056 (and_comparisons_1, and_var_with_comparison,
7057 and_var_with_comparison_1, or_comparisons_1,
7058 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
7059 down the outer condition basic-block.
7060 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
7061 basic-block of the outer condition.
7062
7063 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
7064
7065 PR target/105002
7066 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
7067 comparison codes UNLT/UNLE/UNGT/UNGE.
7068
7069 2022-04-05 David Malcolm <dmalcolm@redhat.com>
7070
7071 * doc/extend.texi (Common Function Attributes): Document that
7072 'access' does not imply 'nonnull'.
7073
7074 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
7075
7076 PR target/105139
7077 * config/i386/mmx.md (*movv2qi_internal):
7078 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
7079
7080 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
7081
7082 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
7083 define_expand and turn operands 0 and 1 from REGs to MEMs.
7084 (*aarch64_cpymemdi): New pattern.
7085 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
7086 from a REG to a MEM.
7087 (*aarch64_setmemdi): New pattern.
7088 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
7089 copy_to_mode_reg on all three registers. Replace the original
7090 MEM addresses rather than creating wild reads and writes.
7091 (aarch64_expand_setmem_mops): Likewise for the size and for the
7092 destination memory and address.
7093
7094 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
7095
7096 PR target/103147
7097 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
7098 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
7099 from aarch64_simd_switcher.
7100 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
7101 New variable.
7102 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
7103 (register_tuple_type): Add more asserts. Expect the alignment
7104 of the structure to be subject to flag_pack_struct and
7105 maximum_field_alignment. Set aarch64_simd_tuple_modes.
7106 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
7107 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
7108 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
7109 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
7110 while calling aarch64_init_simd_builtins.
7111 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
7112 (sve_switcher::~sve_switcher): Remove code now performed by
7113 aarch64_simd_switcher.
7114
7115 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
7116
7117 PR target/104897
7118 * config/aarch64/aarch64-sve-builtins.cc
7119 (function_resolver::infer_vector_or_tuple_type): Use error_n
7120 for "%d vectors" messages.
7121
7122 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
7123
7124 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
7125 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
7126 current clause.
7127
7128 2022-04-05 Richard Biener <rguenther@suse.de>
7129
7130 PR c/105151
7131 * passes.def (pass_walloca): Move early instance into
7132 pass_build_ssa_passes to make SSA form available.
7133
7134 2022-04-05 liuhongt <hongtao.liu@intel.com>
7135
7136 PR target/101908
7137 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
7138 function
7139 (ix86_reorg): Call ix86_split_stlf_stall_load.
7140 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
7141 param.
7142
7143 2022-04-05 Alexandre Oliva <oliva@adacore.com>
7144
7145 * targhooks.cc (default_zero_call_used_regs): Attempt to group
7146 regs that the target refuses to use in their natural modes.
7147 (zcur_select_mode_rtx): New.
7148 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
7149 (hard_regno_max_nregs): Define.
7150 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
7151
7152 2022-04-04 Alex Coplan <alex.coplan@arm.com>
7153
7154 * doc/match-and-simplify.texi: Fix typos.
7155
7156 2022-04-04 Jakub Jelinek <jakub@redhat.com>
7157
7158 PR target/105144
7159 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
7160 only if configured with --enable-maintainer-mode, otherwise compare
7161 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
7162 if they differ, emit a message and fail.
7163
7164 2022-04-04 Jakub Jelinek <jakub@redhat.com>
7165
7166 PR target/105144
7167 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
7168 * config/aarch64/aarch64-tune.md: Regenerated.
7169
7170 2022-04-04 Richard Biener <rguenther@suse.de>
7171
7172 PR tree-optimization/105132
7173 * tree-vect-stmts.cc (vectorizable_operation): Check that
7174 the input vectors have the same number of elements.
7175
7176 2022-04-04 Richard Biener <rguenther@suse.de>
7177
7178 PR middle-end/105140
7179 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
7180
7181 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
7182
7183 PR target/104987
7184 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
7185 (delay slot descripts): Use different delay slot description when
7186 the insn as the "bbi" attribute.
7187 (bbi, bbin patterns): Set the bbi attribute to yes.
7188
7189 2022-04-03 Jakub Jelinek <jakub@redhat.com>
7190
7191 PR target/105123
7192 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
7193 using word as target for expand_simple_binop when doing ASHIFT and
7194 IOR.
7195
7196 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
7197
7198 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
7199 NULL before dereferencing it.
7200
7201 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
7202
7203 * config/i386/i386.cc (zero_all_st_registers): Return the value of
7204 num_of_st.
7205 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
7206 the return value of zero_all_st_registers.
7207 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
7208 * function.cc (gen_call_used_regs_seq): Add an assertion.
7209 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
7210
7211 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
7212
7213 PR target/102024
7214 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
7215 fields, and inform if it causes a psABI change.
7216
7217 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
7218
7219 PR target/102024
7220 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
7221 zero-width bit-fields and set up an indicator.
7222 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
7223 (mips_function_value_1): Diagnose when the presense of a C++
7224 zero-width bit-field changes function returning in GCC 12.
7225
7226 2022-04-01 Jakub Jelinek <jakub@redhat.com>
7227
7228 PR tree-optimization/104645
7229 * tree-ssa-phiopt.cc (value_replacement): If assign has
7230 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
7231 statement with constant evaluation.
7232
7233 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
7234
7235 * config/mips/mips.cc (mips_expand_prologue):
7236 IPL is 8bit for MCU ASE.
7237
7238 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
7239
7240 PR target/104004
7241 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
7242 (MTFSB0): Likewise.
7243 (MTFSB1): Likewise.
7244 (SET_FPSCR_RN): Likewise.
7245 (SET_FPSCR_DRN): Mark nosoft and no32bit.
7246
7247 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
7248
7249 * doc/options.texi (Option file format): Clarifications around
7250 option definition records' help texts.
7251
7252 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
7253
7254 * optc-gen.awk <END>: Fix "Multiple different help strings" error
7255 diagnostic.
7256
7257 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7258
7259 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
7260 determine_suggested_unroll_factor and m_has_avg.
7261 (determine_suggested_unroll_factor): New function.
7262 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
7263 to set m_nosve_pattern.
7264 (aarch64_vector_costs::finish_costs): Use
7265 determine_suggested_unroll_factor.
7266 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
7267 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
7268
7269 2022-03-31 Martin Jambor <mjambor@suse.cz>
7270
7271 PR ipa/103083
7272 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
7273 (ipa_get_jf_ancestor_keep_null): New function.
7274 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
7275 ancestor function.
7276 (compute_complex_assign_jump_func): Pass false to keep_null
7277 parameter of ipa_set_ancestor_jf.
7278 (compute_complex_ancestor_jump_func): Pass true to keep_null
7279 parameter of ipa_set_ancestor_jf.
7280 (update_jump_functions_after_inlining): Carry over keep_null from the
7281 original ancestor jump-function or merge them.
7282 (ipa_write_jump_function): Stream keep_null flag.
7283 (ipa_read_jump_function): Likewise.
7284 (ipa_print_node_jump_functions_for_edge): Print the new flag.
7285 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
7286 member function known_nonzero_p.
7287 (ipcp_bits_lattice::known_nonzero_p): New.
7288 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
7289 observe it.
7290 (ipcp_bits_lattice::meet_with): Likewise.
7291 (propagate_bits_across_jump_function): Simplify. Pass true in
7292 drop_all_ones when it is necessary.
7293 (propagate_aggs_across_jump_function): Take care of keep_null
7294 flag.
7295 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
7296 jump functions.
7297
7298 2022-03-31 Martin Jambor <mjambor@suse.cz>
7299
7300 PR ipa/102513
7301 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
7302 which do not fit the known value_range.
7303
7304 2022-03-31 Martin Jambor <mjambor@suse.cz>
7305
7306 PR ipa/103171
7307 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
7308 always when an ADDR_EXPR constant is known to reach a load because
7309 of inlining, not just when removing an ADDR reference.
7310
7311 2022-03-31 Richard Biener <rguenther@suse.de>
7312
7313 PR tree-optimization/105109
7314 * tree-ssa.cc (execute_update_addresses_taken): Suppress
7315 diagnostics on the load of the other complex component.
7316
7317 2022-03-31 Tom de Vries <tdevries@suse.de>
7318
7319 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
7320
7321 2022-03-31 Richard Biener <rguenther@suse.de>
7322
7323 PR rtl-optimization/105091
7324 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
7325 bases.
7326
7327 2022-03-31 Richard Biener <rguenther@suse.de>
7328
7329 Revert:
7330 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
7331
7332 PR target/102125
7333 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
7334 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
7335
7336 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
7337
7338 * gcov-io.cc (gcov_read_string): Reword documentation comment.
7339
7340 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
7341
7342 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
7343 stanza.
7344 (NEG_V4SF): Likewise.
7345 (NEG_V4SI): Likewise.
7346 (NEG_V8HI): Likewise.
7347 (NEG_V2DF): Move to [vsx] stanza.
7348 (NEG_V2DI): Likewise.
7349
7350 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
7351
7352 PR middle-end/105032
7353 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
7354
7355 2022-03-30 Tom de Vries <tdevries@suse.de>
7356 Tobias Burnus <tobias@codesourcery.com>
7357
7358 * doc/invoke.texi (march): Document __PTX_SM__.
7359 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
7360 __PTX_ISA_VERSION_MINOR__.
7361
7362 2022-03-30 Jakub Jelinek <jakub@redhat.com>
7363
7364 PR sanitizer/105093
7365 * ubsan.cc (instrument_object_size): If t is equal to inner and
7366 is a decl other than global var, punt. When emitting call to
7367 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
7368
7369 2022-03-30 Jakub Jelinek <jakub@redhat.com>
7370
7371 PR tree-optimization/105094
7372 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
7373 bitsize <= 0 rather than just == 0.
7374
7375 2022-03-30 Tom de Vries <tdevries@suse.de>
7376
7377 * doc/invoke.texi (misa, mptx): Update.
7378 (march, march-map): Add.
7379
7380 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
7381
7382 * opt-functions.awk (n_args): New function.
7383 (lang_enabled_by): Merge function into...
7384 * optc-gen.awk <END>: ... sole user here.
7385 Improve diagnostics.
7386
7387 2022-03-29 Marek Polacek <polacek@redhat.com>
7388 Jakub Jelinek <jakub@redhat.com>
7389
7390 PR middle-end/103597
7391 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
7392 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
7393 (gimplify_cond_expr): Set UNUSED_LABEL_P.
7394 * tree.h (UNUSED_LABEL_P): New.
7395
7396 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
7397
7398 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
7399 be any VSX register.
7400
7401 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
7402
7403 PR target/102024
7404 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
7405 zero-sized bit-fields. Detect cases where a warning may be needed.
7406 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
7407 zero-sized bit-field has caused parameter passing to change.
7408
7409 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
7410
7411 PR target/102024
7412 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
7413 bit-fields. Detect cases where a warning may be needed.
7414 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
7415 a zero-sized bit-field has caused parameter passing to change.
7416
7417 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
7418
7419 PR target/96882
7420 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
7421 ARM_PCS_AAPCS_LOCAL.
7422
7423 2022-03-29 Tom de Vries <tdevries@suse.de>
7424
7425 PR target/104857
7426 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
7427 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
7428 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
7429 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
7430
7431 2022-03-29 Tom de Vries <tdevries@suse.de>
7432
7433 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
7434 is ignored.
7435
7436 2022-03-29 Tom de Vries <tdevries@suse.de>
7437
7438 PR target/104714
7439 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
7440
7441 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
7442
7443 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
7444 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
7445 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
7446 (TARGET_USE_GATHER_4PARTS): New macro.
7447 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
7448 (X86_TUNE_USE_GATHER_4PARTS): New tune
7449
7450 2022-03-29 Tom de Vries <tdevries@suse.de>
7451
7452 * config/nvptx/nvptx.opt (march): Add alias of misa.
7453
7454 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
7455 Lulu Cheng <chenglulu@loongson.cn>
7456
7457 * doc/install.texi: Add LoongArch options section.
7458 * doc/invoke.texi: Add LoongArch options section.
7459 * doc/md.texi: Add LoongArch options section.
7460
7461 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
7462 Lulu Cheng <chenglulu@loongson.cn>
7463
7464 * config/loongarch/loongarch-c.cc
7465
7466 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
7467 Lulu Cheng <chenglulu@loongson.cn>
7468
7469 * config/loongarch/larchintrin.h: New file.
7470 * config/loongarch/loongarch-builtins.cc: New file.
7471
7472 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
7473 Lulu Cheng <chenglulu@loongson.cn>
7474
7475 * config/host-linux.cc: Add LoongArch support.
7476 * config/loongarch/loongarch-protos.h: New file.
7477 * config/loongarch/loongarch-tune.h: Likewise.
7478 * config/loongarch/loongarch.cc: Likewise.
7479 * config/loongarch/loongarch.h: Likewise.
7480
7481 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
7482 Lulu Cheng <chenglulu@loongson.cn>
7483
7484 * config/loongarch/constraints.md: New file.
7485 * config/loongarch/generic.md: New file.
7486 * config/loongarch/la464.md: New file.
7487 * config/loongarch/loongarch-ftypes.def: New file.
7488 * config/loongarch/loongarch-modes.def: New file.
7489 * config/loongarch/loongarch.md: New file.
7490 * config/loongarch/predicates.md: New file.
7491 * config/loongarch/sync.md: New file.
7492
7493 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
7494 Lulu Cheng <chenglulu@loongson.cn>
7495
7496 * configure: Regenerate file.
7497
7498 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
7499 Lulu Cheng <chenglulu@loongson.cn>
7500
7501 * common/config/loongarch/loongarch-common.cc: New file.
7502 * config/loongarch/genopts/genstr.sh: New file.
7503 * config/loongarch/genopts/loongarch-strings: New file.
7504 * config/loongarch/genopts/loongarch.opt.in: New file.
7505 * config/loongarch/loongarch-str.h: New file.
7506 * config/loongarch/gnu-user.h: New file.
7507 * config/loongarch/linux.h: New file.
7508 * config/loongarch/loongarch-cpu.cc: New file.
7509 * config/loongarch/loongarch-cpu.h: New file.
7510 * config/loongarch/loongarch-def.c: New file.
7511 * config/loongarch/loongarch-def.h: New file.
7512 * config/loongarch/loongarch-driver.cc: New file.
7513 * config/loongarch/loongarch-driver.h: New file.
7514 * config/loongarch/loongarch-opts.cc: New file.
7515 * config/loongarch/loongarch-opts.h: New file.
7516 * config/loongarch/loongarch.opt: New file.
7517 * config/loongarch/t-linux: New file.
7518 * config/loongarch/t-loongarch: New file.
7519 * config.gcc: Add LoongArch support.
7520 * configure.ac: Add LoongArch support.
7521
7522 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
7523
7524 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
7525 typo.
7526
7527 2022-03-29 Richard Biener <rguenther@suse.de>
7528
7529 PR tree-optimization/105080
7530 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
7531 loops and SCEV.
7532
7533 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
7534
7535 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
7536 (output_ctf_vars): Likewise.
7537
7538 2022-03-28 Jason Merrill <jason@redhat.com>
7539
7540 PR c++/59426
7541 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
7542
7543 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
7544
7545 PR target/105068
7546 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
7547 "Yw" in clobber.
7548
7549 2022-03-28 Tom de Vries <tdevries@suse.de>
7550
7551 PR target/104818
7552 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
7553 * config/nvptx/nvptx-gen.opt: Regenerate.
7554 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
7555 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
7556 gen-opt.sh.
7557
7558 2022-03-28 David Malcolm <dmalcolm@redhat.com>
7559
7560 PR analyzer/104308
7561 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
7562 to loads then stores, set the location of the new load stmt.
7563
7564 2022-03-28 Richard Biener <rguenther@suse.de>
7565
7566 PR tree-optimization/105070
7567 * tree-switch-conversion.h
7568 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
7569 argument.
7570 * tree-switch-conversion.cc
7571 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
7572 cond with location.
7573 (bit_test_cluster::emit): Annotate all generated expressions
7574 with location.
7575
7576 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
7577
7578 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
7579
7580 2022-03-28 liuhongt <hongtao.liu@intel.com>
7581
7582 PR target/105066
7583 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
7584 alternative 4 from sse4_noavx to noavx.
7585
7586 2022-03-28 Jakub Jelinek <jakub@redhat.com>
7587
7588 PR tree-optimization/105056
7589 * tree-predcom.cc (component::component): Initialize also comp_step.
7590
7591 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
7592
7593 PR target/105068
7594 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
7595 "Yw".
7596
7597 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
7598
7599 PR middle-end/104885
7600 * calls.cc (mark_stack_region_used): Check that the region
7601 is within the allocated size of stack_usage_map.
7602
7603 2022-03-26 Jakub Jelinek <jakub@redhat.com>
7604
7605 PR rtl-optimization/103775
7606 * recog.cc (check_invalid_inc_dec): New function.
7607 (insn_invalid_p): Return 1 if REG_INC operand overlaps
7608 any stored REGs.
7609
7610 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
7611
7612 PR target/105058
7613 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
7614 (aes<aesklvariant>u8): Likewise.
7615
7616 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
7617
7618 PR target/105052
7619 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
7620 Replace "Yv" with "x".
7621 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
7622 (ssse3_psign<mode>3): Likewise.
7623
7624 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
7625
7626 * reload.cc (find_reloads): Align comment with code where
7627 considering the intersection of register classes then tweaking the
7628 regclass for the current alternative or rejecting it.
7629
7630 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
7631
7632 PR target/104882
7633 Revert
7634 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
7635
7636 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
7637 (mve_vec_unpack<US>_hi_<mode>): Delete.
7638 (@mve_vec_pack_trunc_lo_<mode>): Delete.
7639 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
7640 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
7641 from vec-common.md.
7642 (vec_unpack<US>_lo_<mode>): Likewise.
7643 (vec_pack_trunc_<mode>): Rename from
7644 neon_quad_vec_pack_trunc_<mode>.
7645 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
7646 (vec_unpack<US>_lo_<mode>): Delete.
7647 (vec_pack_trunc_<mode>): Delete.
7648
7649 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
7650
7651 PR middle-end/104971
7652 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
7653 regs to clear remove_p flag.
7654
7655 2022-03-25 Richard Biener <rguenther@suse.de>
7656
7657 PR tree-optimization/105053
7658 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
7659 the correct live-out stmt for a reduction chain.
7660
7661 2022-03-25 Richard Biener <rguenther@suse.de>
7662
7663 PR middle-end/105049
7664 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
7665 CONSTRUCTOR first elements.
7666
7667 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
7668
7669 PR analyzer/103533
7670 * doc/invoke.texi (Static Analyzer Options): Move
7671 @ignore block after @gccoptlist's '}' for 'make pdf'.
7672
7673 2022-03-25 David Malcolm <dmalcolm@redhat.com>
7674
7675 PR analyzer/104954
7676 * doc/invoke.texi (Static Analyzer Options): Add
7677 -fdump-analyzer-untracked.
7678
7679 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
7680
7681 PR analyzer/103533
7682 * doc/invoke.texi: Document that enabling taint analyzer
7683 checker disables some warnings from `-fanalyzer`.
7684
7685 2022-03-24 Alexandre Oliva <oliva@adacore.com>
7686
7687 PR debug/104564
7688 * gimple-harden-conditionals.cc (detach_value): Keep temps
7689 anonymous.
7690
7691 2022-03-24 Alexandre Oliva <oliva@adacore.com>
7692
7693 PR middle-end/104975
7694 * gimple-harden-conditionals.cc
7695 (pass_harden_compares::execute): Force split in case of
7696 multiple edges.
7697
7698 2022-03-24 Jakub Jelinek <jakub@redhat.com>
7699
7700 PR c++/105035
7701 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
7702 field0 or field1 is not a FIELD_DECL, return false.
7703
7704 2022-03-24 Richard Biener <rguenther@suse.de>
7705
7706 * tree-predcom.cc (chain::chain): Add CTOR.
7707 (component::component): Likewise.
7708 (pcom_worker::release_chain): Use delete.
7709 (release_components): Likewise.
7710 (pcom_worker::filter_suitable_components): Likewise.
7711 (pcom_worker::split_data_refs_to_components): Use new.
7712 (make_invariant_chain): Likewise.
7713 (make_rooted_chain): Likewise.
7714 (pcom_worker::combine_chains): Likewise.
7715 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
7716 Make sure to release previously constructed scalar_results.
7717 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
7718 for vec_offsets.
7719 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
7720 Release m_flag_set_edges.
7721
7722 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
7723
7724 PR tree-optimization/104970
7725 * tree-object-size.cc (parm_object_size): Restrict size
7726 computation scenarios to explicit access attributes.
7727
7728 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
7729
7730 PR target/104967
7731 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
7732 function types.
7733
7734 2022-03-23 Richard Biener <rguenther@suse.de>
7735
7736 PR target/102125
7737 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
7738 use of movmisalign when either the source or destination
7739 decl is properly aligned.
7740
7741 2022-03-23 Richard Biener <rguenther@suse.de>
7742
7743 PR rtl-optimization/105028
7744 * ira-color.cc (form_threads_from_copies): Remove unnecessary
7745 copying of the sorted_copies tail.
7746
7747 2022-03-23 Martin Liska <mliska@suse.cz>
7748
7749 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
7750 Use %qs in format.
7751 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
7752 Reword the error message.
7753
7754 2022-03-23 liuhongt <hongtao.liu@intel.com>
7755
7756 PR target/104976
7757 * config/i386/sse.md (ssePSmodelower): New.
7758 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
7759 lowpart_subreg to avoid NULL_RTX.
7760 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
7761 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
7762 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
7763 <avx512>_<complexopname>_<mode>_mask<round_name>,
7764 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
7765 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
7766 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
7767 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
7768 float<floatunssuffix><mode>v4hf2,
7769 float<floatunssuffix>v2div2hf2,
7770 fix<fixunssuffix>_truncv4hf<mode>2,
7771 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
7772 extendv2hfv2df2,
7773 trunc<mode>v4hf2,truncv2dfv2hf2,
7774 *avx512bw_permvar_truncv16siv16hi_1,
7775 *avx512bw_permvar_truncv16siv16hi_1_hf,
7776 *avx512f_permvar_truncv8siv8hi_1,
7777 *avx512f_permvar_truncv8siv8hi_1_hf,
7778 *avx512f_vpermvar_truncv8div8si_1,
7779 *avx512f_permvar_truncv32hiv32qi_1,
7780 *avx512f_permvar_truncv16hiv16qi_1,
7781 *avx512f_permvar_truncv4div4si_1,
7782 *avx512f_pshufb_truncv8hiv8qi_1,
7783 *avx512f_pshufb_truncv4siv4hi_1,
7784 *avx512f_pshufd_truncv2div2si_1,
7785 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
7786 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
7787
7788 2022-03-22 Tom de Vries <tdevries@suse.de>
7789
7790 PR target/104925
7791 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
7792 Use % as register prefix.
7793
7794 2022-03-22 Tom de Vries <tdevries@suse.de>
7795
7796 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
7797 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
7798 mexperimental.
7799
7800 2022-03-22 Tom de Vries <tdevries@suse.de>
7801
7802 * config/nvptx/nvptx.opt (mexperimental): New option.
7803
7804 2022-03-22 Tom de Vries <tdevries@suse.de>
7805
7806 PR target/104957
7807 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
7808 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
7809 for alias.
7810 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
7811 (nvptx_asm_output_def_from_decls): New function.
7812 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
7813 gcc_unreachable ().
7814 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
7815 nvptx_asm_output_def_from_decls.
7816 * config/nvptx/nvptx.opt (malias): New opt.
7817
7818 2022-03-22 Tom de Vries <tdevries@suse.de>
7819
7820 PR target/104916
7821 PR target/104783
7822 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
7823 sync (or uniform warp check for mptx < 6.0).
7824
7825 2022-03-22 Richard Biener <rguenther@suse.de>
7826
7827 PR tree-optimization/105012
7828 * tree-if-conv.cc (ifcvt_local_dce): Only call
7829 dse_classify_store when we have a VDEF.
7830
7831 2022-03-22 Martin Liska <mliska@suse.cz>
7832
7833 PR target/104902
7834 * config/nvptx/nvptx.cc (handle_ptx_version_option):
7835 Fix option wrapping in an error message.
7836
7837 2022-03-22 Martin Liska <mliska@suse.cz>
7838
7839 PR target/104903
7840 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
7841 Wrap const keyword.
7842
7843 2022-03-22 Martin Liska <mliska@suse.cz>
7844
7845 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
7846 name.
7847
7848 2022-03-22 Martin Liska <mliska@suse.cz>
7849
7850 PR target/104898
7851 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
7852 Use %qs instead of (%qs).
7853
7854 2022-03-22 Martin Liska <mliska@suse.cz>
7855
7856 PR target/104898
7857 * config/i386/i386-options.cc (ix86_option_override_internal):
7858 Use '%qs' instead of '(%qs)'.
7859
7860 2022-03-22 Martin Liska <mliska@suse.cz>
7861
7862 PR target/104898
7863 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
7864 Use 'qs' and remove usage '(%qs)'.
7865 (aarch64_handle_attr_cpu): Likewise.
7866 (aarch64_handle_attr_tune): Likewise.
7867 (aarch64_handle_attr_isa_flags): Likewise.
7868
7869 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7870 Andre Vieira <andre.simoesdiasvieira@arm.com>
7871
7872 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
7873 struct.
7874 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
7875 cost.
7876 (neoverse512tvb_tunings): Likewise.
7877
7878 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7879 Andre Vieira <andre.simoesdiasvieira@arm.com>
7880
7881 * config/aarch64/aarch64.cc (demeter_addrcost_table,
7882 demeter_regmove_cost, demeter_advsimd_vector_cost,
7883 demeter_sve_vector_cost, demeter_scalar_issue_info,
7884 demeter_advsimd_issue_info, demeter_sve_issue_info,
7885 demeter_vec_issue_info, demeter_vector_cost,
7886 demeter_tunings): New tuning structs.
7887 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
7888 tuning.
7889 * config/aarch64/aarch64-cores.def: Add entry for demeter.
7890 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
7891
7892 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7893 Andre Vieira <andre.simoesdiasvieira@arm.com>
7894
7895 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
7896 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
7897 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
7898 tunings to use cpu_memmov_cost struct.
7899
7900 2022-03-22 Tamar Christina <tamar.christina@arm.com>
7901 Andre Vieira <andre.simoesdiasvieira@arm.com>
7902
7903 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
7904 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
7905 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
7906 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
7907 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
7908 (neoversen2_tunings): Use new structs and update tuning flags.
7909 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
7910 tuning.
7911
7912 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
7913
7914 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
7915 bit.
7916
7917 2022-03-22 liuhongt <hongtao.liu@intel.com>
7918
7919 PR target/104982
7920 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
7921 following splitter to reversed condition.
7922
7923 2022-03-22 Jakub Jelinek <jakub@redhat.com>
7924
7925 PR rtl-optimization/104989
7926 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
7927 sorry for passing too large argument, instead set sibcall_failure
7928 for pass == 0, or a new normal_failure flag otherwise. If
7929 normal_failure is set, don't assert all stack has been deallocated
7930 at the end and throw away the whole insn sequence.
7931
7932 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
7933
7934 * print-tree.cc: Change array length
7935
7936 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
7937
7938 PR target/104978
7939 * config/i386/sse.md
7940 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
7941 Use avx512f_movsf_mask instead of vmovaps or vblend, and
7942 force_reg before lowpart_subreg.
7943 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
7944
7945 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
7946
7947 PR target/105000
7948 * common/config/i386/i386-common.cc
7949 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
7950 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
7951
7952 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
7953
7954 PR target/104998
7955 * common/config/i386/cpuinfo.h (get_available_features): Pass
7956 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
7957 bit_AESKLE is set.
7958
7959 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
7960
7961 PR middle-end/104869
7962 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
7963 (clobber_group::next_clobber): Likewise.
7964 (def_lookup::prev_def): Rename to...
7965 (def_lookup::last_def_of_prev_group): ...this.
7966 (def_lookup::next_def): Rename to...
7967 (def_lookup::first_def_of_next_group): ...this.
7968 (def_lookup::matching_or_prev_def): Rename to...
7969 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
7970 (def_lookup::matching_or_next_def): Rename to...
7971 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
7972 (def_lookup::prev_def): New function, taking the lookup insn as
7973 argument.
7974 (def_lookup::next_def): Likewise.
7975 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
7976 (def_lookup::last_def_of_prev_group): ...this.
7977 (def_lookup::next_def): Rename to...
7978 (def_lookup::first_def_of_next_group): ...this.
7979 (def_lookup::matching_or_prev_def): Rename to...
7980 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
7981 (def_lookup::matching_or_next_def): Rename to...
7982 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
7983 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
7984 above renaming.
7985 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
7986 (clobber_group::next_clobber): Likewise.
7987 (def_lookup::prev_def): Likewise.
7988 (def_lookup::next_def): Likewise.
7989 (function_info::make_use_available): Pass the lookup insn to
7990 def_lookup::prev_def and def_lookup::next_def.
7991
7992 2022-03-21 Martin Liska <mliska@suse.cz>
7993
7994 * doc/invoke.texi: Document min-pagesize parameter.
7995
7996 2022-03-21 Richard Biener <rguenther@suse.de>
7997
7998 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
7999 we are estimating niter of loop.
8000
8001 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
8002
8003 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
8004 Update flag name and mask name.
8005 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
8006 misc macro for vector extensions.
8007 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
8008 (MASK_VECTOR_ELEN_32): ... this.
8009 (MASK_VECTOR_EEW_64): Rename to ...
8010 (MASK_VECTOR_ELEN_64): ... this.
8011 (MASK_VECTOR_EEW_FP_32): Rename to ...
8012 (MASK_VECTOR_ELEN_FP_32): ... this.
8013 (MASK_VECTOR_EEW_FP_64): Rename to ...
8014 (MASK_VECTOR_ELEN_FP_64): ... this.
8015 (TARGET_VECTOR_ELEN_32): New.
8016 (TARGET_VECTOR_ELEN_64): Ditto.
8017 (TARGET_VECTOR_ELEN_FP_32): Ditto.
8018 (TARGET_VECTOR_ELEN_FP_64): Ditto.
8019 (TARGET_MIN_VLEN): Ditto.
8020 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
8021 (riscv_vector_elen_flags): ... this.
8022
8023 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
8024
8025 PR target/104977
8026 * config/i386/sse.md
8027 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
8028 Correct round operand for intel dialect.
8029
8030 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
8031
8032 * diagnostic.cc (diagnostic_cc_tests): Rename to...
8033 (c_diagnostic_cc_tests): ...this.
8034 * opt-problem.cc (opt_problem_cc_tests): Rename to...
8035 (c_opt_problem_cc_tests): ...this.
8036 * selftest-run-tests.cc (selftest::run_tests): No longer run
8037 opt_problem_cc_tests or diagnostic_cc_tests.
8038 * selftest.h (diagnostic_cc_tests): Remove declaration.
8039 (opt_problem_cc_tests): Likewise.
8040
8041 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
8042
8043 PR jit/63854
8044 * hash-traits.h (struct typed_const_free_remove): New.
8045 (struct free_string_hash): New.
8046 * pass_manager.h: Use free_string_hash.
8047 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
8048 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
8049
8050 2022-03-19 Jakub Jelinek <jakub@redhat.com>
8051
8052 PR middle-end/104971
8053 * config/i386/i386-expand.cc
8054 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
8055 don't push/pop anything and just return const0_rtx.
8056
8057 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
8058
8059 PR rtl-optimization/104961
8060 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
8061
8062 2022-03-18 Jason Merrill <jason@redhat.com>
8063
8064 * tree.h (IDENTIFIER_LENGTH): Add comment.
8065
8066 2022-03-18 Jakub Jelinek <jakub@redhat.com>
8067
8068 PR middle-end/99578
8069 PR middle-end/100680
8070 PR tree-optimization/100834
8071 * params.opt (--param=min-pagesize=): New parameter.
8072 * pointer-query.cc
8073 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
8074 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
8075 of zero for pointer constants equal or larger than min-pagesize.
8076
8077 2022-03-18 Tom de Vries <tdevries@suse.de>
8078
8079 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
8080 Set gfor location only when dealing with a OMP_TASKLOOP.
8081
8082 2022-03-18 Tom de Vries <tdevries@suse.de>
8083
8084 * gimplify.cc (gimplify_omp_for): Set taskloop location.
8085
8086 2022-03-18 Tom de Vries <tdevries@suse.de>
8087
8088 PR target/104952
8089 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
8090 is executed unconditionally.
8091
8092 2022-03-18 liuhongt <hongtao.liu@intel.com>
8093
8094 PR target/104974
8095 * config/i386/i386.md (*movhi_internal): Set attr type from HI
8096 to HF for alternative 12 under TARGET_AVX512FP16.
8097
8098 2022-03-18 Cui,Lili <lili.cui@intel.com>
8099
8100 PR target/104963
8101 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
8102 * doc/invoke.texi: Update documents for Intel sapphirerapids.
8103
8104 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
8105
8106 PR target/86722
8107 PR tree-optimization/90356
8108 * config/i386/i386.md (*movtf_internal): Don't guard
8109 standard_sse_constant_p clause by optimize_function_for_size_p.
8110 (*movdf_internal): Likewise.
8111 (*movsf_internal): Likewise.
8112
8113 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
8114
8115 PR tree-optimization/102943
8116 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
8117 dominators and apply intermediary outgoing edge ranges.
8118
8119 2022-03-17 Richard Biener <rguenther@suse.de>
8120
8121 PR tree-optimization/104960
8122 * passes.def: Add pass parameter to pass_sink_code, mark
8123 last one to unsplit edges.
8124 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
8125 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
8126 when we need to unsplit edges.
8127
8128 2022-03-17 Jakub Jelinek <jakub@redhat.com>
8129
8130 PR middle-end/103984
8131 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
8132 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
8133 and asan unpoisioning, then append the temporary sequence and
8134 finally the TARGET_EXPR_CLEANUP clobbers.
8135
8136 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
8137
8138 * config/i386/sse.md: Delete corrupt character/typo.
8139
8140 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
8141
8142 PR target/94680
8143 * config/i386/sse.md (sse2_movq128): New define_expand to
8144 preserve previous named instruction.
8145 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
8146 generalized to VI8F_128 (both V2DI and V2DF).
8147
8148 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
8149
8150 PR tree-optimization/104941
8151 * tree-object-size.cc (size_for_offset): Make useless conversion
8152 check lighter and assign result of fold_convert to OFFSET.
8153
8154 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
8155
8156 PR target/104890
8157 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
8158 pushing target("general-regs-only").
8159
8160 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
8161
8162 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
8163 Add version info for zk, zks and zkn.
8164
8165 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
8166
8167 * common/config/riscv/riscv-common.cc
8168 (riscv_combine_info): New.
8169 (riscv_subset_list::handle_combine_ext): Combine back into zk to
8170 maintain the canonical order in isa strings.
8171 (riscv_subset_list::parse): Ditto.
8172 * config/riscv/riscv-subset.h (handle_combine_ext): New.
8173
8174 2022-03-16 Richard Biener <rguenther@suse.de>
8175
8176 PR tree-optimization/102008
8177 * passes.def: Move the added code sinking pass before the
8178 preceeding phiopt pass.
8179
8180 2022-03-16 Patrick Palka <ppalka@redhat.com>
8181
8182 PR c++/96780
8183 * doc/invoke.texi (C++ Dialect Options): Document
8184 -ffold-simple-inlines.
8185
8186 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
8187
8188 PR tree-optimization/104942
8189 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
8190
8191 2022-03-16 Jakub Jelinek <jakub@redhat.com>
8192
8193 PR target/104910
8194 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
8195 imm rtx.
8196
8197 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
8198 Richard Biener <rguenther@suse.de>
8199
8200 * gimple-match-head.cc (single_use): Implement inline using a
8201 single loop.
8202
8203 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
8204
8205 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
8206 instead of HONOR_NANS.
8207 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
8208 this can't trap/signal.
8209
8210 2022-03-16 liuhongt <hongtao.liu@intel.com>
8211
8212 PR target/104946
8213 * config/i386/i386-builtin.def (BDESC): Add
8214 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
8215 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
8216 __builtin_ia32_blendvpd w/o sse4.2
8217
8218 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
8219
8220 PR target/104923
8221 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
8222 acceptable MEM addresses.
8223
8224 2022-03-15 Jakub Jelinek <jakub@redhat.com>
8225
8226 PR target/91229
8227 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
8228 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
8229 to warning calls.
8230
8231 2022-03-15 Jakub Jelinek <jakub@redhat.com>
8232
8233 PR target/104890
8234 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
8235 instead of general-regs-only.
8236
8237 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
8238 Marc Glisse <marc.glisse@inria.fr>
8239 Richard Biener <rguenther@suse.de>
8240
8241 PR tree-optimization/101895
8242 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
8243 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
8244
8245 2022-03-15 Jakub Jelinek <jakub@redhat.com>
8246
8247 PR rtl-optimization/104814
8248 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
8249 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
8250
8251 2022-03-15 Martin Sebor <msebor@redhat.com>
8252
8253 PR middle-end/104436
8254 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
8255 Check for warning suppression. Avoid by-value arguments transformed
8256 into by-transparent-reference.
8257
8258 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
8259 Uroš Bizjak <ubizjak@gmail.com>
8260
8261 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
8262 transformation when *zero_extend<mode>si2 is not available.
8263
8264 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
8265
8266 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
8267 * config/mips/mips.cc (mips_option_override): Make
8268 -fsanitize=address imply -fasynchronous-unwind-tables. This is
8269 needed by libasan for stack backtrace on MIPS.
8270 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
8271
8272 2022-03-14 Jakub Jelinek <jakub@redhat.com>
8273
8274 PR debug/104778
8275 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
8276 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
8277 call simplified the first operand into VOIDmode constant.
8278
8279 2022-03-14 Jakub Jelinek <jakub@redhat.com>
8280
8281 PR tree-optimization/102586
8282 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
8283 argument type should be pointer to trivially-copyable type unless it
8284 is address of a variable or parameter.
8285
8286 2022-03-14 Jakub Jelinek <jakub@redhat.com>
8287
8288 PR target/99754
8289 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
8290 first rather than last element of the vector, use __m32_u to do
8291 a really unaligned load, use just 0 instead of (int)0.
8292 (_mm_loadu_si16): Put loaded value into first rather than last
8293 element of the vector, use __m16_u to do a really unaligned load,
8294 use just 0 instead of (short)0.
8295
8296 2022-03-14 Jakub Jelinek <jakub@redhat.com>
8297
8298 PR other/104899
8299 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
8300 in diagnostic message - cannott -> cannot. Use %< and %> around
8301 names of attribute. Avoid too long line.
8302 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
8303 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
8304
8305 2022-03-14 liuhongt <hongtao.liu@intel.com>
8306
8307 PR target/104666
8308 * config/i386/i386-expand.cc
8309 (ix86_check_builtin_isa_match): New func.
8310 (ix86_expand_builtin): Move code to
8311 ix86_check_builtin_isa_match and call it.
8312 * config/i386/i386-protos.h
8313 (ix86_check_builtin_isa_match): Declare.
8314 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
8315 builtin into gimple when isa mismatches.
8316
8317 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
8318
8319 * doc/invoke.texi: Fix typos.
8320 * doc/tm.texi.in: Remove duplicated word.
8321 * doc/tm.texi: Regenerate.
8322
8323 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
8324
8325 PR target/104829
8326 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
8327 "ppc" and "ppc64" based on rs6000_cpu.
8328
8329 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
8330
8331 PR middle-end/100280
8332 PR middle-end/104892
8333 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
8334 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
8335
8336 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
8337
8338 PR middle-end/100280
8339 PR middle-end/104086
8340 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
8341 Mark variables used in 'present' clauses as addressable.
8342 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
8343 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
8344
8345 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
8346
8347 PR other/65095
8348 * tree-core.h (user_omp_claus_code_name): Declare function.
8349 * tree.cc (user_omp_clause_code_name): New function.
8350
8351 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
8352
8353 PR middle-end/98420
8354 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
8355 (the defaut) or -fno-signed-zeros.
8356
8357 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
8358
8359 PR target/104868
8360 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
8361 moving from a GPR register to an Altivec register.
8362
8363 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
8364
8365 PR tree-optimization/98335
8366 * config/i386/i386.md (peephole2): Eliminate redundant insv.
8367 Combine movl followed by movb. Transform xorl followed by
8368 a suitable movb or movw into the equivalent movz[bw]l.
8369
8370 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
8371 Richard Biener <rguenther@suse.de>
8372
8373 PR tree-optimization/98335
8374 * builtins.cc (get_object_alignment_2): Export.
8375 * builtins.h (get_object_alignment_2): Likewise.
8376 * tree-ssa-alias.cc (ao_ref_alignment): New.
8377 * tree-ssa-alias.h (ao_ref_alignment): Declare.
8378 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
8379 to align head/tail, writing more bytes but using fewer store insns.
8380
8381 2022-03-11 Richard Biener <rguenther@suse.de>
8382
8383 PR tree-optimization/104880
8384 * tree-ssa.cc (execute_update_address_taken): Remember if we
8385 optimistically made something not addressable and
8386 prepare to undo it.
8387
8388 2022-03-11 Richard Biener <rguenther@suse.de>
8389
8390 PR target/104762
8391 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
8392 cost the first lane of SSE pieces as inserts for vec_construct.
8393
8394 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
8395
8396 PR c++/84964
8397 * calls.cc (expand_call): Ignore stack adjustments after sorry.
8398
8399 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
8400
8401 PR target/103074
8402 * lra-constraints.cc (split_reg): Set up
8403 check_and_force_assignment_correctness_p when splitting hard
8404 register live range.
8405
8406 2022-03-10 Martin Jambor <mjambor@suse.cz>
8407
8408 PR ipa/104813
8409 * ipa-cp.cc (create_specialized_node): Move removal of
8410 self-recursive calls from callers vector before refrence
8411 adjustments.
8412
8413 2022-03-10 Richard Biener <rguenther@suse.de>
8414
8415 PR tree-optimization/102943
8416 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
8417 Make a bitmap_head.
8418 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
8419 to tree view.
8420 (sbr_sparse_bitmap::set_bb_range): Adjust.
8421 (sbr_sparse_bitmap::get_bb_range): Likewise.
8422
8423 2022-03-10 Richard Biener <rguenther@suse.de>
8424
8425 PR tree-optimization/102943
8426 * tree-ssa-dom.cc (back_propagate_equivalences): Only
8427 populate the dominance bitmap if fast queries are not
8428 available. Use a tree view bitmap.
8429 (record_temporary_equivalences): Cache the dominance bitmap
8430 across all equivalences on the edge.
8431
8432 2022-03-10 Tom de Vries <tdevries@suse.de>
8433
8434 PR target/104840
8435 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
8436 of false,true.
8437
8438 2022-03-10 Tom de Vries <tdevries@suse.de>
8439
8440 PR target/104783
8441 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
8442 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
8443 (nvptx_get_unisimt_outside_simt_predicate): New function.
8444 (predicate_insn): New function, factored out of ...
8445 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
8446 * config/nvptx/nvptx.h (struct machine_function): Add
8447 unisimt_outside_simt_predicate field.
8448 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
8449 (define_insn "nvptx_uniform_warp_check"): Make predicable.
8450
8451 2022-03-10 Tom de Vries <tdevries@suse.de>
8452
8453 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
8454 result.
8455
8456 2022-03-10 Tom de Vries <tdevries@suse.de>
8457
8458 PR target/104815
8459 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
8460 modifier.
8461 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
8462
8463 2022-03-10 Tom de Vries <tdevries@suse.de>
8464
8465 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
8466 Emit atom.and.b64 instead of atom.b64.and.
8467
8468 2022-03-10 Tom de Vries <tdevries@suse.de>
8469
8470 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
8471 (MULTILIB_OPTIONS): ... here.
8472
8473 2022-03-10 Tom de Vries <tdevries@suse.de>
8474
8475 PR target/104758
8476 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
8477 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
8478
8479 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
8480
8481 PR middle-end/90115
8482 PR middle-end/102330
8483 PR middle-end/104774
8484 * omp-low.cc (oacc_privatization_candidate_p)
8485 (oacc_privatization_scan_clause_chain)
8486 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
8487 Analyze 'lookup_decl'-translated DECL.
8488
8489 2022-03-10 Jakub Jelinek <jakub@redhat.com>
8490
8491 PR target/99708
8492 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
8493 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
8494 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
8495 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
8496 "**NULL**" if type_node is NULL first. Handle
8497 ieee128_float_type_node.
8498 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
8499 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
8500 ieee128_float_type_node to NULL rather than long_double_type_node if
8501 they aren't supported. Do support __ibm128 even if
8502 !TARGET_FLOAT128_TYPE when long double is double double.
8503 (rs6000_expand_builtin): Error if bif_is_ibm128 and
8504 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
8505 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
8506 for it.
8507 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
8508 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
8509 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
8510 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
8511 Formatting fix.
8512 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
8513 (struct attrinfo): Add isibm128 member.
8514 (TYPE_MAP_SIZE): Remove.
8515 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
8516 ibm128_float_type_node only if it is non-NULL, otherwise fall back
8517 to long_double_type_node. Remove "pif" entry.
8518 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
8519 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
8520 (write_type_node): Use sizeof type_map / sizeof type_map[0]
8521 instead of TYPE_MAP_SIZE.
8522 (write_bif_static_init): Handle isibm128.
8523 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
8524 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
8525 attribute.
8526
8527 2022-03-09 Richard Biener <rguenther@suse.de>
8528
8529 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
8530 with non-decl operand, avoiding a copy.
8531
8532 2022-03-09 Jakub Jelinek <jakub@redhat.com>
8533
8534 PR target/104781
8535 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
8536
8537 2022-03-09 Richard Biener <rguenther@suse.de>
8538
8539 PR middle-end/104786
8540 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
8541 for VLAs without an upper size bound.
8542
8543 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
8544
8545 PR tree-optimization/104851
8546 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
8547 error.
8548
8549 2022-03-09 Jakub Jelinek <jakub@redhat.com>
8550
8551 PR c/104711
8552 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
8553 is enabled by it only for C++11 to C++17 rather than for C++03 or
8554 later.
8555 (-Wshift-negative-value): Similarly (except here we stated
8556 that it is enabled for C++11 or later).
8557
8558 2022-03-09 Jakub Jelinek <jakub@redhat.com>
8559
8560 PR rtl-optimization/104839
8561 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
8562 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
8563 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
8564 instead of incorrect 0 in SUBREG_PROMOTED_SET.
8565
8566 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
8567
8568 PR target/104842
8569 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
8570 value before adding an offset.
8571
8572 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
8573
8574 * config/arm/arm-builtins.cc
8575 (arm_binop_none_none_unone_qualifiers): Delete.
8576 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
8577
8578 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
8579
8580 PR translation/104552
8581 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
8582 the PCH out of memory error message punctuation and wording.
8583
8584 2022-03-08 Marek Polacek <polacek@redhat.com>
8585
8586 PR rtl-optimization/104777
8587 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
8588 ASM_OPERANDS_LABEL_VEC has at least one element.
8589
8590 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
8591
8592 PR target/104781
8593 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
8594 stack realignment or regparm nested function with EH return.
8595
8596 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
8597
8598 PR target/104790
8599 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
8600 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
8601 register for non widening loads or narrowing stores.
8602
8603 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
8604
8605 PR translation/104552
8606 * params.opt: Fix typo.
8607
8608 2022-03-08 Richard Biener <rguenther@suse.de>
8609
8610 PR tree-optimization/84201
8611 * params.opt (-param=vect-induction-float): Add.
8612 * doc/invoke.texi (vect-induction-float): Document.
8613 * tree-vect-loop.cc (vectorizable_induction): Honor
8614 param_vect_induction_float.
8615
8616 2022-03-08 Martin Jambor <mjambor@suse.cz>
8617
8618 PR translation/104552
8619 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
8620 "that" in the description.
8621
8622 2022-03-08 Richard Biener <rguenther@suse.de>
8623
8624 PR tree-optimization/104825
8625 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
8626 guard modref get_ao_ref on a pointer typed argument.
8627
8628 2022-03-08 liuhongt <hongtao.liu@intel.com>
8629
8630 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
8631 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
8632
8633 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
8634
8635 * doc/invoke.texi (C++ Modules): Remove anachronism.
8636
8637 2022-03-07 Martin Liska <mliska@suse.cz>
8638
8639 PR middle-end/104381
8640 * opts.cc (finish_options): If debug info is disabled
8641 (debug_info_level) and -fvar-tracking is unset, disable it.
8642
8643 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8644
8645 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
8646 * config/riscv/riscv.cc: Likewise.
8647 * config/darwin.h: Likewise.
8648 * config/i386/i386.cc: Likewise.
8649 * config/aarch64/thunderx3t110.md: Likewise.
8650 * config/aarch64/fractional-cost.h: Likewise.
8651 * config/vax/vax.cc: Likewise.
8652 * config/rs6000/pcrel-opt.md: Likewise.
8653 * config/rs6000/predicates.md: Likewise.
8654 * ctfc.h: Likewise.
8655 * tree-ssa-uninit.cc: Likewise.
8656 * value-relation.h: Likewise.
8657 * gimple-range-gori.cc: Likewise.
8658 * ipa-polymorphic-call.cc: Likewise.
8659 * pointer-query.cc: Likewise.
8660 * ipa-sra.cc: Likewise.
8661 * internal-fn.cc: Likewise.
8662 * varasm.cc: Likewise.
8663 * gimple-ssa-warn-access.cc: Likewise.
8664
8665 2022-03-07 Martin Liska <mliska@suse.cz>
8666
8667 PR target/104794
8668 * config/arm/arm.cc (arm_option_override_internal): Add missing
8669 space.
8670
8671 2022-03-07 Richard Biener <rguenther@suse.de>
8672
8673 PR tree-optimization/104782
8674 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
8675 Re-instantiate r10-5979 fix, add comment.
8676
8677 2022-03-07 Martin Liska <mliska@suse.cz>
8678
8679 PR target/104797
8680 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
8681 parenthesis from built-in name.
8682
8683 2022-03-07 Martin Liska <mliska@suse.cz>
8684
8685 PR target/104794
8686 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
8687 of options in error messages.
8688 (arm_option_reconfigure_globals): Likewise.
8689
8690 2022-03-07 Martin Liska <mliska@suse.cz>
8691
8692 PR target/104794
8693 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
8694 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
8695 have only range [0,32].
8696
8697 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8698
8699 PR target/104775
8700 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
8701 S constraint instead of T in the last alternative.
8702
8703 2022-03-07 Martin Liska <mliska@suse.cz>
8704
8705 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
8706 message.
8707
8708 2022-03-07 Martin Liska <mliska@suse.cz>
8709
8710 PR translation/90148
8711 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
8712 quote to a proper place.
8713 * plugin.cc (default_plugin_dir_name): Likewise.
8714
8715 2022-03-07 Martin Liska <mliska@suse.cz>
8716
8717 PR target/99297
8718 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
8719 string.
8720
8721 2022-03-07 Jakub Jelinek <jakub@redhat.com>
8722
8723 PR target/104779
8724 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
8725 define_expand pattern. Rename define_insn to ...
8726 (*avx512dq_mul<mode>3<mask_name>): ... this.
8727 (<code><mode>3_mask): New any_logic define_expand pattern.
8728 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
8729 (*<code><mode>3<mask_name>): ... this.
8730
8731 2022-03-05 Jakub Jelinek <jakub@redhat.com>
8732
8733 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
8734 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
8735
8736 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
8737 Uroš Bizjak <ubizjak@gmail.com>
8738
8739 PR testsuite/104732
8740 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
8741 Include DI mode unconditionally.
8742 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
8743 i.e. always split on !TARGET_64BIT.
8744 (*<any_or>di3_doubleword): Likewise.
8745 (*one_cmpldi2_doubleword): Likewise.
8746 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
8747 (<any_or><mode>3 expander): Likewise.
8748 (one_cmpl<mode>2 expander): Likewise.
8749
8750 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
8751
8752 PR target/104698
8753 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
8754 (mtvsrdd_diti_w1): Delete.
8755 (extendditi2): Convert from define_expand to
8756 define_insn_and_split. Replace with code to deal with both GPR
8757 registers and with altivec registers.
8758
8759 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
8760
8761 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
8762 bit. Handle most older CPUs.
8763
8764 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
8765
8766 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
8767 avoid a mismatch with DECL_MD_FUNCTION_CODE().
8768
8769 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
8770
8771 PR target/104117
8772 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
8773 (@machopic_low_<mode>): New.
8774 * config/rs6000/predicates.md (macho_pic_address): New.
8775 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
8776 apply the TLS processing to Darwin.
8777 * lra-constraints.cc (process_address_1): Revert the changes
8778 in r12-7209.
8779
8780 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
8781
8782 PR target/87496
8783 PR target/104208
8784 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
8785 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
8786 -mlong-double-128.
8787 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
8788 from here...
8789 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
8790 ... to here.
8791
8792 2022-03-04 Jakub Jelinek <jakub@redhat.com>
8793
8794 PR middle-end/104529
8795 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
8796 on automatic objects which will be runtime initialized.
8797
8798 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8799
8800 PR middle-end/100280
8801 PR middle-end/104132
8802 PR middle-end/104133
8803 * omp-low.cc (task_shared_vars): Rename to
8804 'make_addressable_vars'. Adjust all users.
8805 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
8806 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
8807
8808 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8809
8810 PR middle-end/100280
8811 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
8812 * tree-core.h: Document it.
8813 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
8814 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
8815 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
8816 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
8817 'TREE_ADDRESSABLE'.
8818
8819 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8820
8821 PR middle-end/100280
8822 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
8823 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
8824 '[...]' declared in block made addressable".
8825
8826 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
8827
8828 PR middle-end/100400
8829 PR middle-end/103836
8830 PR middle-end/104061
8831 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
8832 Catch 'GIMPLE_DEBUG'.
8833
8834 2022-03-04 Jakub Jelinek <jakub@redhat.com>
8835
8836 PR c/104627
8837 * tree.cc (warn_deprecated_use): For types prefer to use node
8838 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
8839 NULL.
8840
8841 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
8842
8843 PR target/104704
8844 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
8845 a pseudo register.
8846
8847 2022-03-03 Martin Sebor <msebor@redhat.com>
8848
8849 PR middle-end/104761
8850 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
8851 mark_dfs_back_edges.
8852
8853 2022-03-03 Martin Liska <mliska@suse.cz>
8854
8855 * configure.ac: Use linker plug-in by default.
8856 * configure: Regenerate.
8857
8858 2022-03-03 Martin Liska <mliska@suse.cz>
8859
8860 * configure.ac: Now ld.mold support LTO plugin API, use it.
8861 * configure: Regenerate.
8862
8863 2022-03-03 Tom de Vries <tdevries@suse.de>
8864
8865 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
8866
8867 2022-03-03 Tom de Vries <tdevries@suse.de>
8868
8869 PR target/104758
8870 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
8871
8872 2022-03-03 Tom de Vries <tdevries@suse.de>
8873
8874 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
8875
8876 2022-03-03 Jakub Jelinek <jakub@redhat.com>
8877
8878 PR middle-end/104757
8879 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
8880 gimplify_omp_for.
8881 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
8882 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
8883
8884 2022-03-03 Jakub Jelinek <jakub@redhat.com>
8885
8886 PR middle-end/104558
8887 * calls.cc (store_one_arg): When not calling emit_push_insn
8888 because size_rtx is const0_rtx, call at least anti_adjust_stack
8889 on arg->locate.alignment_pad if !argblock and the alignment might
8890 be non-zero.
8891
8892 2022-03-02 Alexandre Oliva <oliva@adacore.com>
8893
8894 * lra-constraints.cc (undo_optional_reloads): Recognize and
8895 drop insns of multi-word move sequences, tolerate removal
8896 iteration on an already-removed clobber, and refuse to
8897 substitute original pseudos into clobbers.
8898
8899 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
8900
8901 PR middle-end/102276
8902 * common.opt (-Wtrivial-auto-var-init): New option.
8903 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
8904 (-ftrivial-auto-var-init): Update option;
8905 * gimplify.cc (emit_warn_switch_unreachable): New function.
8906 (warn_switch_unreachable_r): Rename to ...
8907 (warn_switch_unreachable_and_auto_init_r): This.
8908 (maybe_warn_switch_unreachable): Rename to ...
8909 (maybe_warn_switch_unreachable_and_auto_init): This.
8910 (gimplify_switch_expr): Update calls to renamed function.
8911
8912 2022-03-02 Richard Biener <rguenther@suse.de>
8913
8914 PR rtl-optimization/104686
8915 * ira-color.cc (object_conflicts_with_allocno_p): New function
8916 using a bitvector test instead of iterating when possible.
8917 (allocnos_conflict_p): Choose the best allocno to iterate over
8918 object conflicts.
8919 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
8920 last.
8921
8922 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8923
8924 * cfg.cc (dump_edge_info): Dump goto_locus if present.
8925
8926 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8927
8928 PR rtl-optimization/104589
8929 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
8930 INSN_LOCATION comparison with goto_locus.
8931
8932 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8933
8934 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
8935 strlen_pass::before_dom_children): Comment spelling fixes.
8936
8937 2022-03-02 Jakub Jelinek <jakub@redhat.com>
8938
8939 * ipa-modref-tree.cc (modref_access_node::contains,
8940 modref_access_node::closer_pair_p, modref_access_node::insert,
8941 modref_access_node::insert_kill): Comment spelling fixes.
8942 * ipa-modref.cc: Likewise.
8943 (modref_summary::finalize, ignore_nondeterminism_p,
8944 class modref_access_analysis,
8945 modref_access_analysis::set_side_effects,
8946 modref_access_analysis::set_nondeterministic,
8947 modref_access_analysis::record_global_memory_load,
8948 modref_access_analysis::propagate, modref_access_analysis::analyze,
8949 struct escape_point, class modref_lattice, modref_lattice::merge,
8950 modref_lattice::merge_deref, class modref_eaf_analysis,
8951 modref_eaf_analysis::merge_call_lhs_flags,
8952 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
8953 modref_eaf_analysis::record_escape_points, remap_kills,
8954 update_escape_summary, remove_useless_summaries,
8955 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
8956 Likewise.
8957 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
8958 Likewise.
8959 * ipa-modref-tree.h (enum modref_special_parms,
8960 struct modref_access_node): Likewise.
8961
8962 2022-03-01 Jakub Jelinek <jakub@redhat.com>
8963
8964 PR tree-optimization/104715
8965 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
8966 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
8967 of a call if gimple_call_return_arg is equal to ptr, not just when it
8968 is non-NULL.
8969
8970 2022-03-01 Jakub Jelinek <jakub@redhat.com>
8971
8972 * gimple-ssa-warn-access.cc (warn_string_no_nul,
8973 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
8974 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
8975 pass_waccess::check_alloca, pass_waccess::check_strcat,
8976 memmodel_to_uhwi, fntype_argno_type,
8977 pass_waccess::maybe_check_access_sizes,
8978 pass_waccess::check_call_access,
8979 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
8980 Comment spelling fixes.
8981
8982 2022-03-01 Richard Biener <rguenther@suse.de>
8983
8984 PR tree-optimization/104716
8985 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
8986 Check if we can copy the loop.
8987
8988 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
8989
8990 PR middle-end/104721
8991 * cfgexpand.cc (expand_gimple_basic_block): Clear
8992 currently_expanding_gimple_stmt when returning inside the loop.
8993
8994 2022-03-01 Martin Liska <mliska@suse.cz>
8995
8996 PR ipa/104533
8997 * multiple_target.cc (get_attr_len): Move to tree.c.
8998 (expand_target_clones): Remove single value checking.
8999 * tree.cc (get_target_clone_attr_len): New fn.
9000 * tree.h (get_target_clone_attr_len): Likewise.
9001
9002 2022-03-01 Martin Liska <mliska@suse.cz>
9003
9004 PR gcov-profile/104677
9005 * doc/invoke.texi: Document more .gcda file name generation.
9006
9007 2022-03-01 Tom de Vries <tdevries@suse.de>
9008
9009 PR target/102429
9010 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
9011 * config/nvptx/nvptx.md
9012 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
9013 New predicate.
9014 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
9015 Use nvptx_register_or_complex_di_df_register_operand.
9016
9017 2022-03-01 Tom de Vries <tdevries@suse.de>
9018
9019 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
9020 * config/nvptx/gen-copyright.sh: New file.
9021 * config/nvptx/gen-h.sh: New file.
9022 * config/nvptx/gen-opt.sh: New file.
9023 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
9024 (TARGET_SM75, TARGET_SM80): Move ...
9025 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
9026 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
9027 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
9028 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
9029 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
9030
9031 2022-03-01 Tom de Vries <tdevries@suse.de>
9032
9033 * config/nvptx/gen-omp-device-properties.sh: New file.
9034 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
9035
9036 2022-03-01 Tom de Vries <tdevries@suse.de>
9037
9038 * config/nvptx/nvptx-sm.def: New file.
9039 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
9040 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
9041 * config/nvptx/nvptx.cc (sm_version_to_string)
9042 (nvptx_omp_device_kind_arch_isa): Same.
9043
9044 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
9045
9046 PR rtl-optimization/104154
9047 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
9048 comparison ifcvt passed us.
9049
9050 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
9051
9052 PR target/104664
9053 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
9054 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
9055
9056 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
9057
9058 PR tree-optimization/91384
9059 * config/i386/i386.md (peephole2): Eliminate final testl insn
9060 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
9061 transforming using *negsi_2 for the negation.
9062
9063 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
9064 Eric Botcazou <ebotcazou@adacore.com>
9065
9066 PR middle-end/80270
9067 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
9068 register, copy it to a pseudo before calling simplify_gen_subreg.
9069
9070 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
9071
9072 PR rtl-optimization/104637
9073 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
9074 as possible on one subpass.
9075
9076 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
9077
9078 PR middle-end/104550
9079 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
9080 created uses.
9081
9082 2022-02-28 Martin Liska <mliska@suse.cz>
9083
9084 PR ipa/104648
9085 * main.cc (main): Use flag_checking instead of CHECKING_P
9086 and run toplev::finalize only if there is not error seen.
9087
9088 2022-02-28 Richard Biener <rguenther@suse.de>
9089
9090 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
9091
9092 2022-02-28 Richard Biener <rguenther@suse.de>
9093
9094 PR tree-optimization/104700
9095 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
9096 into ...
9097 (find_or_generate_expression): ... here, simplifying code.
9098
9099 2022-02-28 Tom de Vries <tdevries@suse.de>
9100
9101 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
9102 PTX_VERSION_default.
9103 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
9104 PTX_VERSION_default.
9105 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
9106
9107 2022-02-28 Richard Biener <rguenther@suse.de>
9108
9109 PR rtl-optimization/104686
9110 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
9111 skipping bits that are zero.
9112 (ira_object_conflict_iter_cond): Likewise.
9113
9114 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
9115
9116 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
9117 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
9118 char to avoid error when using ~enum as parameter.
9119 (_mm512_mask_ternarylogic_epi64): Likewise.
9120 (_mm512_maskz_ternarylogic_epi64): Likewise.
9121 (_mm512_ternarylogic_epi32): Likewise.
9122 (_mm512_mask_ternarylogic_epi32): Likewise.
9123 (_mm512_maskz_ternarylogic_epi32): Likewise.
9124 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
9125 Adjust imm param type to unsigned char.
9126 (_mm256_mask_ternarylogic_epi64): Likewise.
9127 (_mm256_maskz_ternarylogic_epi64): Likewise.
9128 (_mm256_ternarylogic_epi32): Likewise.
9129 (_mm256_mask_ternarylogic_epi32): Likewise.
9130 (_mm256_maskz_ternarylogic_epi32): Likewise.
9131 (_mm_ternarylogic_epi64): Likewise.
9132 (_mm_mask_ternarylogic_epi64): Likewise.
9133 (_mm_maskz_ternarylogic_epi64): Likewise.
9134 (_mm_ternarylogic_epi32): Likewise.
9135 (_mm_mask_ternarylogic_epi32): Likewise.
9136 (_mm_maskz_ternarylogic_epi32): Likewise.
9137
9138 2022-02-25 Jakub Jelinek <jakub@redhat.com>
9139 Marc Glisse <marc.glisse@inria.fr>
9140
9141 PR tree-optimization/104675
9142 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
9143 Restrict simplifications to INTEGRAL_TYPE_P.
9144
9145 2022-02-25 Jakub Jelinek <jakub@redhat.com>
9146
9147 PR target/104681
9148 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
9149
9150 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
9151
9152 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
9153 comparison is not valid.
9154 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
9155 (movdicc): Likewise.
9156 (movsfcc): Likewise.
9157 (movdfcc): Likewise.
9158
9159 2022-02-25 Richard Biener <rguenther@suse.de>
9160
9161 PR tree-optimization/103037
9162 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
9163 (vn_nary_length_from_stmt): Likewise.
9164 (init_vn_nary_op_from_stmt): Likewise.
9165 (vn_nary_op_compute_hash): Likewise.
9166 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
9167 (vn_nary_length_from_stmt): Likewise.
9168 (init_vn_nary_op_from_stmt): Likewise.
9169 (vn_nary_op_compute_hash): Likewise.
9170 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
9171 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
9172 (re-)compute the hash value and if the expression is not
9173 found allocate it from pre_expr_obstack.
9174 (phi_translate_1): Do not insert the NARY found in the
9175 VN tables but build a PRE expression from the valueized
9176 NARY with the value-id we eventually found.
9177 (find_or_generate_expression): Assert we have an entry
9178 for constant values.
9179 (compute_avail): Insert not valueized expressions into
9180 EXP_GEN using the value-id from the VN tables.
9181 (init_pre): Allocate pre_expr_obstack.
9182 (fini_pre): Free pre_expr_obstack.
9183
9184 2022-02-25 Jakub Jelinek <jakub@redhat.com>
9185
9186 PR target/104674
9187 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
9188 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
9189 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
9190
9191 2022-02-25 Jakub Jelinek <jakub@redhat.com>
9192
9193 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
9194
9195 2022-02-25 Jakub Jelinek <jakub@redhat.com>
9196
9197 PR middle-end/104679
9198 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
9199
9200 2022-02-25 Jakub Jelinek <jakub@redhat.com>
9201
9202 PR tree-optimization/104675
9203 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
9204 COMPLEX_TYPE.
9205
9206 2022-02-25 Alexandre Oliva <oliva@adacore.com>
9207
9208 PR target/104121
9209 PR target/103302
9210 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
9211
9212 2022-02-25 Alexandre Oliva <oliva@adacore.com>
9213
9214 PR middle-end/104540
9215 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
9216 dw_cfi_cfa_loc.
9217
9218 2022-02-25 Alexandre Oliva <oliva@adacore.com>
9219
9220 PR tree-optimization/103856
9221 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
9222 eh edge to be requested through an extra parameter.
9223 (pass_harden_compares::execute): Copy PHI args in the EH dest
9224 block for the new EH edge added for the inverted compare.
9225
9226 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
9227
9228 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
9229 of position independence that -mcmodel=medany affords.
9230
9231 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
9232
9233 PR target/104656
9234 * configure.ac: --disable-gcov if targetting bpf-*.
9235 * configure: Regenerate.
9236
9237 2022-02-24 Richard Biener <rguenther@suse.de>
9238
9239 PR tree-optimization/104676
9240 * tree-loop-distribution.cc (loop_distribution::execute):
9241 Do a full scev_reset.
9242
9243 2022-02-24 Jakub Jelinek <jakub@redhat.com>
9244
9245 PR tree-optimization/104601
9246 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
9247 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
9248 vuse value number.
9249
9250 2022-02-24 Tom de Vries <tdevries@suse.de>
9251 Tobias Burnus <tobias@codesourcery.com>
9252
9253 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
9254 sm_70, sm_75 and sm_80.
9255 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
9256
9257 2022-02-24 Tom de Vries <tdevries@suse.de>
9258
9259 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
9260 "rotrsi3"): New define_insn.
9261
9262 2022-02-24 Tom de Vries <tdevries@suse.de>
9263
9264 * config/nvptx/nvptx.cc (gen_comment): Use
9265 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
9266
9267 2022-02-24 liuhongt <hongtao.liu@intel.com>
9268
9269 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
9270 isa attr of alternative 2 from avx to avx512vl.
9271
9272 2022-02-23 Richard Biener <rguenther@suse.de>
9273 Jakub Jelinek <jakub@redhat.com>
9274
9275 PR tree-optimization/104644
9276 * doc/match-and-simplify.texi: Amend ! documentation.
9277 * genmatch.cc (expr::gen_transform): Code-generate ! support
9278 for GENERIC.
9279 (parser::parse_expr): Allow ! for GENERIC.
9280 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
9281 bswap.
9282
9283 2022-02-23 Richard Biener <rguenther@suse.de>
9284
9285 PR tree-optimization/101636
9286 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
9287 vector type of the node.
9288 (vect_slp_analyze_operations): Make sure the CTOR
9289 is vectorized with an expected type.
9290 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
9291
9292 2022-02-23 Jakub Jelinek <jakub@redhat.com>
9293
9294 PR c/104633
9295 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
9296 Don't warn about calls to corresponding builtin from extern inline
9297 gnu_inline wrappers.
9298
9299 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
9300
9301 PR target/104489
9302 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
9303
9304 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
9305
9306 PR target/100757
9307 PR target/101325
9308 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
9309 typo.
9310
9311 2022-02-23 Cui,Lili <lili.cui@intel.com>
9312
9313 * doc/invoke.texi: Update documents for Intel architectures.
9314
9315 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
9316
9317 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
9318 bootstrap.
9319
9320 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
9321
9322 * omp-low.cc (omp_build_component_ref): Move function...
9323 * omp-general.cc (omp_build_component_ref): ... here. Remove
9324 'static'.
9325 * omp-general.h (omp_build_component_ref): Declare function.
9326 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
9327 function.
9328 (build_receiver_ref, build_sender_ref): Call
9329 'omp_build_component_ref' instead.
9330
9331 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
9332
9333 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
9334 simplify. Adjust all users.
9335
9336 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
9337
9338 PR target/88134
9339 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
9340 atomic_update_decl): Add GTY markup.
9341
9342 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9343
9344 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
9345
9346 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9347
9348 PR target/100757
9349 PR target/101325
9350 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
9351 predicate.
9352 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
9353 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
9354 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
9355 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
9356 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
9357 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
9358 * config/arm/mve.md: Use VxBI instead of HI.
9359
9360 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9361
9362 PR target/100757
9363 PR target/101325
9364 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
9365 qualifier.
9366 (STRSBU_P_QUALIFIERS): Likewise.
9367 (LDRGBS_Z_QUALIFIERS): Likewise.
9368 (LDRGBU_Z_QUALIFIERS): Likewise.
9369 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
9370 (LDRGBWBS_Z_QUALIFIERS): Likewise.
9371 (LDRGBWBU_Z_QUALIFIERS): Likewise.
9372 (STRSBWBS_P_QUALIFIERS): Likewise.
9373 (STRSBWBU_P_QUALIFIERS): Likewise.
9374 * config/arm/mve.md: Use VxBI instead of HI.
9375
9376 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9377
9378 PR target/100757
9379 PR target/101325
9380 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
9381 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
9382 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9383 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9384 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9385 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9386 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
9387 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
9388 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
9389 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
9390 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
9391 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9392 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9393 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
9394 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
9395 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
9396 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9397 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9398 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9399 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9400 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
9401 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
9402 (STRS_P_QUALIFIERS): Use predicate qualifier.
9403 (STRU_P_QUALIFIERS): Likewise.
9404 (STRSU_P_QUALIFIERS): Likewise.
9405 (STRSS_P_QUALIFIERS): Likewise.
9406 (LDRGS_Z_QUALIFIERS): Likewise.
9407 (LDRGU_Z_QUALIFIERS): Likewise.
9408 (LDRS_Z_QUALIFIERS): Likewise.
9409 (LDRU_Z_QUALIFIERS): Likewise.
9410 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
9411 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
9412 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
9413 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
9414 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
9415 * config/arm/mve.md: Use MVE_VPRED instead of HI.
9416
9417 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9418
9419 PR target/100757
9420 PR target/101325
9421 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
9422 Delete.
9423 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
9424 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
9425 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
9426 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
9427 predicated qualifiers.
9428 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
9429 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
9430
9431 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9432
9433 PR target/100757
9434 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
9435 (arm_expand_vector_compare): Update prototype.
9436 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
9437 (arm_vector_mode_supported_p): Add support for VxBI modes.
9438 (arm_expand_vector_compare): Remove useless generation of vpsel.
9439 (arm_expand_vcond): Fix select operands.
9440 (arm_get_mask_mode): New.
9441 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
9442 (vec_cmpu<mode><MVE_vpred>): New.
9443 (vcond_mask_<mode><MVE_vpred>): New.
9444 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
9445 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
9446 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
9447 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
9448 and disable for MVE.
9449 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
9450
9451 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9452
9453 PR target/100757
9454 PR target/101325
9455 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
9456 (BINOP_PRED_NONE_NONE_QUALIFIERS)
9457 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
9458 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
9459 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
9460 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
9461 modes.
9462 (arm_mode_to_pred_mode): New.
9463 (arm_expand_vector_compare): Use the right VxBI mode instead of
9464 HI.
9465 (arm_expand_vcond): Likewise.
9466 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
9467 (mve_bool_vec_to_const): New.
9468 (neon_make_constant): Call mve_bool_vec_to_const when needed.
9469 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
9470 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
9471 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
9472 (vpselq_s, vpselq_f): Use new predicated qualifiers.
9473 * config/arm/constraints.md (DB): New.
9474 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
9475 (MVE_VPRED, MVE_vpred): New attribute iterators.
9476 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
9477 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
9478 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
9479 (@mve_vpselq_<supf>v2di): Define separately.
9480 (mov<mode>): New expander for VxBI modes.
9481 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
9482 MVE_7_HI iterator and add support for DB constraint.
9483
9484 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9485 Richard Sandiford <richard.sandiford@arm.com>
9486
9487 PR target/100757
9488 PR target/101325
9489 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
9490 VNx2BI): Update definition.
9491 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
9492 simd types.
9493 (arm_init_builtin): Map predicate vectors arguments to HImode.
9494 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
9495 rtx. Move return value to HImode rtx.
9496 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
9497 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
9498 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
9499 Pred2x8_t,Pred4x4_t): New.
9500 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
9501 * genmodes.cc (mode_data): Add boolean field.
9502 (blank_mode): Initialize it.
9503 (make_complex_modes): Fix handling of boolean modes.
9504 (make_vector_modes): Likewise.
9505 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
9506 (make_vector_bool_mode): Likewise.
9507 (BOOL_MODE): New.
9508 (make_bool_mode): New.
9509 (emit_insn_modes_h): Fix generation of boolean modes.
9510 (emit_class_narrowest_mode): Likewise.
9511 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
9512 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
9513 define BImode.
9514 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
9515 Fix handling of constm1_rtx for VECTOR_BOOL.
9516 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
9517 (native_decode_vector_rtx): Likewise.
9518 (test_vector_ops_duplicate): Skip vec_merge test
9519 with vectors of booleans.
9520 * varasm.cc (output_constant_pool_2): Likewise.
9521
9522 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9523
9524 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
9525 for operand 1.
9526
9527 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9528
9529 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
9530
9531 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
9532
9533 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
9534 (REG_CLASS_NAMES): Likewise.
9535 (REG_CLASS_CONTENTS): Likewise.
9536 (CLASS_MAX_NREGS): Handle VPR.
9537 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
9538
9539 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
9540 Tom de Vries <tdevries@suse.de>
9541
9542 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
9543 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
9544 Likewise.
9545 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
9546
9547 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
9548 Tom de Vries <tdevries@suse.de>
9549
9550 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
9551 * doc/invoke.texi (-mptx): Update for new values and defaults.
9552
9553 2022-02-22 Tom de Vries <tdevries@suse.de>
9554
9555 * config/nvptx/nvptx.cc (gen_comment): New function.
9556 (workaround_uninit_method_1, workaround_uninit_method_2)
9557 (workaround_uninit_method_3): : Use gen_comment.
9558 * config/nvptx/nvptx.opt (mptx-comment): New option.
9559
9560 2022-02-22 Richard Biener <rguenther@suse.de>
9561
9562 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
9563 for a splat.
9564
9565 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
9566 Richard Biener <rguenther@suse.de>
9567
9568 * fold-const.cc (ctor_single_nonzero_element): New function to
9569 return the single non-zero element of a (vector) constructor.
9570 * fold-const.h (ctor_single_nonzero_element): Prototype here.
9571 * match.pd (reduc (constructor@0)): Simplify reductions of a
9572 constructor containing a single non-zero element.
9573 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
9574 reductions of vector operations of the same operator with
9575 constant vector operands.
9576
9577 2022-02-22 Jakub Jelinek <jakub@redhat.com>
9578
9579 PR tree-optimization/104604
9580 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
9581 Only check if gimple_assign_rhs1 is COMPLEX_CST if
9582 gimple_assign_rhs_code is COMPLEX_CST.
9583
9584 2022-02-22 Jakub Jelinek <jakub@redhat.com>
9585
9586 PR target/104612
9587 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
9588 on input operands before calling lowpart_subreg on it. For output
9589 operand, use a vmode pseudo as destination and then move its lowpart
9590 subreg into operands[0] if lowpart_subreg fails on dest.
9591 (ix86_expand_xorsign): Likewise.
9592
9593 2022-02-22 Richard Biener <rguenther@suse.de>
9594
9595 PR tree-optimization/104582
9596 PR target/99881
9597 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
9598 Cost GPR to vector register moves for integer vector construction.
9599
9600 2022-02-22 Richard Biener <rguenther@suse.de>
9601
9602 PR tree-optimization/104582
9603 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
9604 (vector_costs::add_stmt_cost): Add SLP node parameter.
9605 (dump_stmt_cost): Likewise.
9606 (add_stmt_cost): Likewise, new overload and adjust.
9607 (add_stmt_costs): Adjust.
9608 (record_stmt_cost): New overload.
9609 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
9610 (vector_costs::add_stmt_cost): Adjust.
9611 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
9612 Adjust.
9613 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
9614 the SLP node for costing.
9615 (vectorizable_slp_permutation): Likewise.
9616 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
9617 new overloads.
9618 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
9619 Adjust.
9620 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
9621 Adjust.
9622 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
9623 Adjust.
9624 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
9625
9626 2022-02-22 Richard Biener <rguenther@suse.de>
9627
9628 PR tree-optimization/104582
9629 * tree-vectorizer.h (add_stmt_cost): New overload.
9630 (record_stmt_cost): Likewise.
9631 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
9632 Use add_stmt_costs.
9633 (vect_get_known_peeling_cost): Use new overloads.
9634 (vect_estimate_min_profitable_iters): Likewise. Consistently
9635 use scalar_stmt for costing versioning checks.
9636 * tree-vect-stmts.cc (record_stmt_cost): New overload.
9637
9638 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
9639
9640 PR target/103069
9641 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
9642 Split atomic fetch and loop part.
9643 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
9644 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
9645 prototype.
9646 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
9647 expander under TARGET_RELAX_CMPXCHG_LOOP.
9648 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
9649
9650 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
9651
9652 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
9653 Change wb_candidate[12] to wb_push_candidate[12].
9654 (aarch64_layout_frame): Likewise, and
9655 change callee_adjust when scs is enabled.
9656 (aarch64_save_callee_saves):
9657 Change wb_candidate[12] to wb_push_candidate[12].
9658 (aarch64_restore_callee_saves):
9659 Change wb_candidate[12] to wb_pop_candidate[12].
9660 (aarch64_get_separate_components):
9661 Change wb_candidate[12] to wb_push_candidate[12].
9662 (aarch64_expand_prologue): Push x30 onto SCS before it's
9663 pushed onto stack.
9664 (aarch64_expand_epilogue): Pop x30 frome SCS, while
9665 preventing it from being popped from the regular stack again.
9666 (aarch64_override_options_internal): Add SCS compile option check.
9667 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
9668 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
9669 wb_pop_candidate[12], and rename wb_candidate[12] to
9670 wb_push_candidate[12].
9671 * config/aarch64/aarch64.md (scs_push): New template.
9672 (scs_pop): Likewise.
9673 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
9674 * doc/tm.texi: Regenerate.
9675 * doc/tm.texi.in: Add hook have_shadow_call_stack.
9676 * flag-types.h (enum sanitize_code):
9677 Add SANITIZE_SHADOW_CALL_STACK.
9678 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
9679 and exclude SANITIZE_SHADOW_CALL_STACK.
9680 * target.def: New hook.
9681 * toplev.cc (process_options): Add SCS compile option check.
9682 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
9683
9684 2022-02-21 Tom de Vries <tdevries@suse.de>
9685
9686 PR target/104440
9687 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
9688 (workaround_uninit_method_2, workaround_uninit_method_3)
9689 (workaround_uninit): New function.
9690 (nvptx_reorg): Use workaround_uninit.
9691 * config/nvptx/nvptx.opt (minit-regs): New option.
9692
9693 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
9694
9695 PR rtl-optimization/104498
9696 * alias.cc (compare_base_symbol_refs): Correct distance computation
9697 when swapping x and y.
9698
9699 2022-02-21 Andrew Pinski <apinski@marvell.com>
9700
9701 PR c/104506
9702 * tree-ssa.cc (tree_ssa_useless_type_conversion):
9703 Check the inner type before calling useless_type_conversion_p.
9704
9705 2022-02-19 Tom de Vries <tdevries@suse.de>
9706
9707 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
9708 * config/nvptx/nvptx.md
9709 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
9710 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
9711 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
9712 (define_expand "atomic_store<mode>"): Handle rename. Use
9713 nvptx_atomic_store instead of atomic_exchange.
9714
9715 2022-02-19 Tom de Vries <tdevries@suse.de>
9716
9717 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
9718 insns with atomic attribute. Assert that all handled insns are
9719 PARALLELs.
9720 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
9721 Set atomic attribute to false.
9722
9723 2022-02-19 Tom de Vries <tdevries@suse.de>
9724
9725 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
9726 type to bool.
9727 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
9728 nvptx_warpsync, if necessary.
9729
9730 2022-02-19 Jakub Jelinek <jakub@redhat.com>
9731
9732 PR sanitizer/102656
9733 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
9734 known to be within bounds, treat it like automatic variables.
9735 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
9736 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
9737 it addressable.
9738
9739 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
9740
9741 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
9742 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
9743 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
9744 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
9745 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
9746 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
9747 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
9748 power10_sched_reorder): Likewise.
9749 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
9750 gen_addadd): Likewise
9751 * config/rs6000/fusion.md: Regenerate.
9752
9753 2022-02-18 Jakub Jelinek <jakub@redhat.com>
9754
9755 PR target/104257
9756 PR target/104598
9757 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
9758 rather than __posix_memalign.
9759
9760 2022-02-18 Richard Biener <rguenther@suse.de>
9761
9762 PR target/104581
9763 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
9764 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
9765 of calling ix86_avx_u128_mode_source which would eventually
9766 have returned AVX_U128_ANY in some very special case.
9767
9768 2022-02-18 Richard Biener <rguenther@suse.de>
9769
9770 PR tree-optimization/96881
9771 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
9772 CLOBBER handling.
9773 (control_parents_preserved_p): New function.
9774 (eliminate_unnecessary_stmts): Check that we preserved control
9775 parents before retaining a CLOBBER.
9776 (perform_tree_ssa_dce): Pass down aggressive flag
9777 to eliminate_unnecessary_stmts.
9778
9779 2022-02-17 Jason Merrill <jason@redhat.com>
9780
9781 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
9782 on TYPE_MAIN_VARIANT.
9783
9784 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
9785
9786 PR target/104257
9787 * config/rs6000/bmi2intrin.h: Uglify local variables.
9788 * config/rs6000/emmintrin.h: Likewise.
9789 * config/rs6000/mm_malloc.h: Likewise.
9790 * config/rs6000/mmintrin.h: Likewise.
9791 * config/rs6000/pmmintrin.h: Likewise.
9792 * config/rs6000/smmintrin.h: Likewise.
9793 * config/rs6000/tmmintrin.h: Likewise.
9794 * config/rs6000/xmmintrin.h: Likewise.
9795
9796 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
9797
9798 PR target/104335
9799 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
9800 if the expected comparison's first operand is of mode MODE_CC.
9801
9802 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
9803
9804 PR rtl-optimization/104447
9805 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
9806 hard reg set by lra_no_alloc_regs.
9807
9808 2022-02-17 liuhongt <hongtao.liu@intel.com>
9809
9810 PR tree-optimization/104551
9811 PR tree-optimization/103771
9812 * match.pd (cond_expr_convert_p): Add types_match check when
9813 convert is extension.
9814 * tree-vect-patterns.cc
9815 (gimple_cond_expr_convert_p): Adjust comments.
9816 (vect_recog_cond_expr_convert_pattern): Ditto.
9817
9818 2022-02-17 Jakub Jelinek <jakub@redhat.com>
9819
9820 PR debug/104557
9821 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
9822 if expr has VOIDmode.
9823
9824 2022-02-17 liuhongt <hongtao.liu@intel.com>
9825
9826 * config/i386/cpuid.h (bit_MPX): Removed.
9827 (bit_BNDREGS): Ditto.
9828 (bit_BNDCSR): Ditto.
9829
9830 2022-02-17 Michael Meissner <meissner@the-meissners.org>
9831
9832 PR target/99708
9833 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
9834 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
9835 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
9836 is created.
9837
9838 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
9839
9840 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
9841 range_compatible_p instead of direct type comparison.
9842
9843 2022-02-16 Jakub Jelinek <jakub@redhat.com>
9844
9845 PR rtl-optimization/104544
9846 * combine.cc (try_combine): When looking for insn whose links
9847 should be updated from i3 to i2, don't stop on debug insns, instead
9848 skip over them.
9849
9850 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
9851
9852 PR target/100056
9853 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
9854 * config/aarch64/aarch64.md: Extend the PR100056 patterns
9855 to handle plus in the same way as ior, if the operands have
9856 no set bits in common.
9857
9858 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
9859
9860 PR tree-optimization/104526
9861 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
9862 new routine.
9863 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
9864 of dependency chain if there isn't one.
9865 (gori_compute::condexpr_adjust): New.
9866 * gimple-range-gori.h (class gori_compute): New prototype.
9867
9868 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9869
9870 PR target/100874
9871 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
9872 Declare.
9873 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
9874 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
9875
9876 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9877
9878 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
9879 (vect_scalar_ops_slice_hash): Likewise.
9880 (vect_scalar_ops_slice::op): New function.
9881 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
9882 (vect_scalar_ops_slice_hash::hash): Likewise.
9883 (vect_scalar_ops_slice_hash::equal): Likewise.
9884 (vect_prologue_cost_for_slp): Check for duplicate vectors.
9885 * config/aarch64/aarch64.cc
9886 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
9887 (aarch64_aligned_constant_offset_p): New function.
9888 (aarch64_stp_sequence_cost): Likewise.
9889 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
9890 (aarch64_vector_costs::finish_cost): Likewise.
9891
9892 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
9893
9894 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
9895 use after free.
9896
9897 2022-02-15 Richard Biener <rguenther@suse.de>
9898
9899 PR tree-optimization/104543
9900 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
9901 come after the inner loop.
9902
9903 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9904
9905 PR target/104536
9906 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
9907 cannot instead of can%'t in diagnostics. Formatting fixes.
9908
9909 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9910
9911 PR middle-end/104522
9912 * fold-const.h (native_interpret_real): Declare.
9913 * fold-const.cc (native_interpret_real): No longer static. Don't
9914 perform MODE_COMPOSITE_P verification here.
9915 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
9916 for all modes.
9917 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
9918 instead of native_interpret_expr.
9919 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
9920 and comparison verification for all FLOAT_MODE_P modes, not just
9921 MODE_COMPOSITE_P.
9922
9923 2022-02-15 Richard Biener <rguenther@suse.de>
9924
9925 PR tree-optimization/104519
9926 * fold-const.cc (multiple_of_p): Remove never true condition.
9927 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
9928 the appropriate types for determining whether the difference
9929 of final and base is a multiple of the step.
9930
9931 2022-02-15 Jakub Jelinek <jakub@redhat.com>
9932
9933 PR debug/104517
9934 * omp-low.cc (task_cpyfns): New variable.
9935 (delete_omp_context): Don't call finalize_task_copyfn from here.
9936 (create_task_copyfn): Push task_stmt into task_cpyfns.
9937 (execute_lower_omp): Call finalize_task_copyfn here on entries from
9938 task_cpyfns vector and release the vector.
9939
9940 2022-02-14 Martin Sebor <msebor@redhat.com>
9941
9942 PR middle-end/104355
9943 * doc/invoke.texi (-Warray-bounds): Update documentation.
9944
9945 2022-02-14 Michael Meissner <meissner@the-meissners.org>
9946
9947 PR target/104253
9948 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
9949 conversion functions used to convert IFmode types.
9950
9951 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
9952
9953 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
9954
9955 2022-02-14 Richard Biener <rguenther@suse.de>
9956
9957 PR tree-optimization/104528
9958 * tree-ssa.h (find_released_ssa_name): Declare.
9959 * tree-ssa.cc (find_released_ssa_name): Export.
9960 * cfgloop.cc (verify_loop_structure): Look for released
9961 SSA names in loops nb_iterations.
9962 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
9963 estimates.
9964
9965 2022-02-14 Richard Biener <rguenther@suse.de>
9966
9967 PR tree-optimization/104511
9968 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
9969 touching DFP <-> FP conversions.
9970
9971 2022-02-14 Richard Biener <rguenther@suse.de>
9972
9973 PR middle-end/104497
9974 * gimplify.cc (gimplify_compound_lval): Make sure the
9975 base is a non-register if needed and possible.
9976
9977 2022-02-13 liuhongt <hongtao.liu@intel.com>
9978
9979 PR target/103771
9980 * match.pd (cond_expr_convert_p): New match.
9981 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
9982 (vect_recog_cond_expr_convert_pattern): New.
9983
9984 2022-02-12 Jakub Jelinek <jakub@redhat.com>
9985
9986 PR sanitizer/104449
9987 * asan.cc: Include tree-eh.h.
9988 (handle_builtin_alloca): Handle the case when __builtin_alloca or
9989 __builtin_alloca_with_align can throw.
9990
9991 2022-02-12 Jakub Jelinek <jakub@redhat.com>
9992
9993 PR target/104502
9994 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
9995 and AVX512VL isn't available, move operands[1] to operands[0] first.
9996
9997 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
9998
9999 PR target/79754
10000 * config/i386/i386.cc (type_natural_mode):
10001 Skip decimal float vector modes.
10002
10003 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
10004 Vladimir Makarov <vmakarov@redhat.com>
10005
10006 PR target/104117
10007 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
10008 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
10009 emitting PIC code.
10010 (legitimate_lo_sum_address_p): Likewise.
10011 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
10012 load from an invalid lo_sum address.
10013
10014 2022-02-11 Jakub Jelinek <jakub@redhat.com>
10015
10016 PR tree-optimization/104499
10017 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
10018 of convert.
10019
10020 2022-02-11 Jakub Jelinek <jakub@redhat.com>
10021
10022 * tree.cc (build_common_builtin_nodes): Fix up formatting in
10023 __builtin_clear_padding decl creation.
10024 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
10025 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
10026 argument rather than in 3rd argument.
10027 (gimplify_call_expr): Likewise. Fix up comment formatting.
10028 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
10029 2 arguments instead of 3, take for_auto_init from the value
10030 of 2nd argument.
10031
10032 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
10033
10034 PR rtl-optimization/104400
10035 * lra-constraints.cc (process_alt_operands): Don't make union of
10036 this_alternative_exclude_start_hard_regs when reg class in insn
10037 alternative covers other reg classes in the same alternative.
10038
10039 2022-02-11 Jakub Jelinek <jakub@redhat.com>
10040
10041 PR middle-end/104446
10042 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
10043 operands.
10044
10045 2022-02-11 Richard Biener <rguenther@suse.de>
10046
10047 PR middle-end/104496
10048 * internal-fn.cc (vectorized_internal_fn_supported_p):
10049 Bail out for integer mode vector types.
10050
10051 2022-02-11 Jakub Jelinek <jakub@redhat.com>
10052
10053 PR rtl-optimization/104459
10054 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
10055 moving DEBUG_INSNs between bbs.
10056
10057 2022-02-11 liuhongt <hongtao.liu@intel.com>
10058
10059 PR tree-optimization/104479
10060 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
10061 for the dest of uncond_op.
10062
10063 2022-02-11 Tom de Vries <tdevries@suse.de>
10064
10065 PR target/104456
10066 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
10067 insn.
10068
10069 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
10070
10071 PR middle-end/100775
10072 * function.cc (gen_call_used_regs_seq): Call
10073 df_update_exit_block_uses when updating df.
10074
10075 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
10076
10077 PR target/104469
10078 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
10079 Change operand 1 constraint to register_operand.
10080
10081 2022-02-10 Richard Biener <rguenther@suse.de>
10082
10083 PR tree-optimization/104373
10084 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
10085 walk kind.
10086 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
10087 walk kind as argument.
10088 (run_rpo_vn): Adjust.
10089 (pass_fre::execute): Likewise.
10090 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
10091 blocks not reachable.
10092 (execute_late_warn_uninitialized): Mark all edges as
10093 executable.
10094 (execute_early_warn_uninitialized): Use VN to compute
10095 executable edges.
10096 (pass_data_early_warn_uninitialized): Enable a dump file,
10097 change dump name to warn_uninit.
10098
10099 2022-02-10 Richard Biener <rguenther@suse.de>
10100
10101 PR middle-end/104467
10102 * match.pd (vector extract simplification): Multiply the
10103 number of CTOR elements with the number of element elements.
10104
10105 2022-02-10 Richard Biener <rguenther@suse.de>
10106
10107 PR tree-optimization/104466
10108 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
10109 for the MR_DEPENDENCE checks as intended.
10110
10111 2022-02-10 Tom de Vries <tdevries@suse.de>
10112
10113 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
10114 define_insn.
10115 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
10116 TARGET_SM70.
10117 (define_c_enum "unspecv"): Add UNSPECV_ST.
10118
10119 2022-02-10 Tom de Vries <tdevries@suse.de>
10120
10121 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
10122 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
10123 (nvptx_mem_maybe_shared_p): New function.
10124 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
10125 define_expand.
10126
10127 2022-02-10 Tom de Vries <tdevries@suse.de>
10128
10129 PR target/97005
10130 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
10131 driver JIT bug by using sub.s16 instead of sub.u16.
10132
10133 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
10134
10135 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
10136 floating point constants as operands 1 and/or 2.
10137
10138 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
10139
10140 PR target/104345
10141 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
10142 (sel_false<mode>): Likewise.
10143 (define_code_iterator eqne): New code iterator for EQ and NE.
10144 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
10145 the negation of a selp instruction.
10146 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
10147 the bitwise not of a selp instruction.
10148 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
10149
10150 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
10151
10152 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
10153 in machine description.
10154 (logic): Move code attribute earlier in machine description.
10155 (ilogic): New code attribute, like logic but "ior" for IOR.
10156 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
10157 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
10158 (<ilogic>bi3): New define_insn for BI mode logic operations.
10159 (define_split): Lower logic operations from integer modes to
10160 BI mode predicate operations.
10161
10162 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
10163
10164 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
10165 (one_cmplbi2): New define_insn for not.pred.
10166 (mulditi3): New define_expand for signed widening multiply.
10167 (umulditi3): New define_expand for unsigned widening multiply.
10168 (smul<mode>3_highpart): New define_insn for signed highpart mult.
10169 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
10170 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
10171 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
10172 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
10173 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
10174 (*setcc<mode>_from_not_bi): New define_insn.
10175 (*setcc_isinf<mode>): New define_insn for testp.infinite.
10176 (isinf<mode>2): New define_expand.
10177
10178 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
10179
10180 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
10181 (setcc<mode>_from_bi): Additionally support QImode.
10182 (extendbi<mode>2): Additionally support QImode.
10183 (zero_extendbi<mode>2): Additionally support QImode.
10184 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
10185 iterators for signed and unsigned, binary and unary operations.
10186 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
10187 expanders to perform QImode operations using SImode instructions.
10188 (cstoreqi4): New define_expand.
10189 (*ext_truncsi2_qi): New define_insn.
10190 (*zext_truncsi2_qi): New define_insn.
10191
10192 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
10193
10194 * config/nvptx/nvptx.md (*cmpf): New define_insn.
10195 (cstorehf4): New define_expand.
10196 (fmahf4): New define_insn.
10197 (neghf2): New define_insn.
10198 (abshf2): New define_insn.
10199
10200 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
10201
10202 * doc/install.texi (Specific): Change the www.bitwizard.nl
10203 reference to use https.
10204
10205 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
10206
10207 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
10208 OMP_CLAUSE_HAS_DEVICE_ADDR
10209 and handle array sections.
10210 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
10211 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
10212 (lower_omp_target): Same.
10213 * tree-core.h (enum omp_clause_code): Same.
10214 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
10215 (convert_local_omp_clauses): Same.
10216 * tree-pretty-print.cc (dump_omp_clause): Same.
10217 * tree.cc: Same.
10218
10219 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
10220
10221 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
10222 that will result in direct recursive calls.
10223
10224 2022-02-10 Andrew Pinski <apinski@marvell.com>
10225
10226 PR target/104474
10227 * config/aarch64/aarch64.cc
10228 (aarch64_sve_expand_vector_init_handle_trailing_constants):
10229 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
10230
10231 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
10232
10233 PR target/104462
10234 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
10235 Also include OPTION_MASK_ISA2_AVX2_UNSET.
10236
10237 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
10238
10239 PR target/104458
10240 * config/i386/i386-expand.cc (ix86_split_idivmod):
10241 Force operands[2] and operands[3] into a register..
10242
10243 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
10244
10245 PR target/97040
10246 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
10247 (*v850_fnmssf4): Renamed from fnmssf4
10248
10249 2022-02-09 Ian Lance Taylor <iant@golang.org>
10250
10251 * godump.cc (go_force_record_alignment): Really name the alignment
10252 field "_" (complete 2021-12-29 change).
10253
10254 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
10255
10256 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
10257 function prototype.
10258 (VREPLACE_UN_UV4SI): Likewise.
10259 (VREPLACE_UN_V2DF): Likewise.
10260 (VREPLACE_UN_V2DI): Likewise.
10261 (VREPLACE_UN_V4SF): Likewise.
10262 (VREPLACE_UN_V4SI): Likewise.
10263 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
10264 function prototypes.
10265 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
10266 (vreplace_un_<mode>): New define_insn.
10267
10268 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
10269
10270 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
10271 (VDBL): Handle SF.
10272 (single_wx, single_type, single_dtype, dblq): New mode attributes.
10273 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
10274 from VDC to VDCSIF.
10275 (store_pair_lanes<mode>): Likewise.
10276 (*aarch64_combine_internal<mode>): Likewise.
10277 (*aarch64_combine_internal_be<mode>): Likewise.
10278 (*aarch64_combinez<mode>): Likewise.
10279 (*aarch64_combinez_be<mode>): Likewise.
10280 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
10281 8-byte modes for ADDR_QUERY_LDP_STP_N.
10282 (aarch64_print_operand): Likewise for %y.
10283
10284 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
10285
10286 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
10287 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
10288 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
10289 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
10290 (vec_pack_trunc_<mode>): Take general_operand elements and use
10291 aarch64_combine rather than move_lo/hi_quad to combine them.
10292 (vec_pack_trunc_df): Likewise.
10293
10294 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
10295
10296 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
10297 Delete.
10298 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
10299 to...
10300 (*aarch64_combinez<mode>): ...this.
10301 (@aarch64_combinez_be<mode>): Rename to...
10302 (*aarch64_combinez_be<mode>): ...this.
10303 (@aarch64_vec_concat<mode>): New expander.
10304 (aarch64_combine<mode>): Use it.
10305 (@aarch64_simd_combine<mode>): Delete.
10306 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
10307 (aarch64_expand_vector_init): Use aarch64_vec_concat.
10308
10309 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
10310
10311 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
10312 New predicate.
10313 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
10314 (*aarch64_combine_internal_be<mode>): New patterns.
10315
10316 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
10317
10318 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
10319 (move_lo_quad_internal_be_<mode>): Delete.
10320 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
10321
10322 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
10323
10324 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
10325 Declare.
10326 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
10327 aarch64_mergeable_load_pair_p instead of inline check.
10328 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
10329 (aarch64_check_consecutive_mems): Allow the reversed parameter
10330 to be null.
10331 (aarch64_mergeable_load_pair_p): New function.
10332
10333 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
10334
10335 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
10336 element to be an aarch64_simd_nonimmediate_operand.
10337
10338 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
10339
10340 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
10341 aarch64_simd_nonimmediate_operand instead of
10342 aarch64_simd_general_operand.
10343 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
10344 general_operand.
10345 (@aarch64_combinez_be<mode>): Likewise.
10346
10347 2022-02-09 Richard Biener <rguenther@suse.de>
10348
10349 PR middle-end/104464
10350 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
10351 throwing check to after unproblematic replacement.
10352
10353 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
10354
10355 PR tree-optimization/104420
10356 * match.pd (mult @0 real_zerop): Tweak conditions for constant
10357 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
10358
10359 2022-02-09 Jakub Jelinek <jakub@redhat.com>
10360
10361 PR debug/104407
10362 * dwarf2out.cc (mangle_referenced_decls): New function.
10363 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
10364 early_dwarf. Instead walk the initializer and try to mangle vars or
10365 functions referenced from it.
10366
10367 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
10368
10369 PR tree-optimization/104288
10370 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
10371 (non_null_ref::adjust_range): Move to header.
10372 (ranger_cache::range_of_def): Don't check non-null.
10373 (ranger_cache::entry_range): Don't check non-null.
10374 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
10375 (ranger_cache::update_to_nonnull): New.
10376 (non_null_loadstore): New.
10377 (ranger_cache::block_apply_nonnull): New.
10378 * gimple-range-cache.h (class non_null_ref): Update prototypes.
10379 (non_null_ref::adjust_range): Move to here and inline.
10380 (class ranger_cache): Update prototypes.
10381 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
10382 not search dominators.
10383 (path_range_query::adjust_for_non_null_uses): Ditto.
10384 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
10385 def overrides. Do not check nonnull.
10386 (gimple_ranger::range_on_entry): Check dominators for nonnull.
10387 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
10388 (gimple_ranger::register_side_effects): New.
10389 * gimple-range.h (gimple_ranger::register_side_effects): New.
10390 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
10391
10392 2022-02-09 Richard Biener <rguenther@suse.de>
10393
10394 PR tree-optimization/104445
10395 PR tree-optimization/102832
10396 * optabs-query.h (can_vec_extract): New.
10397 * optabs-query.cc (can_vec_extract): Likewise.
10398 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
10399 we can extract a hi/lo part from the larger vector, rework
10400 check iteration from larger to smaller sizes.
10401
10402 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
10403
10404 PR target/35513
10405 PR target/100593
10406 * config/i386/gnu-property.cc: Include "i386-protos.h".
10407 (file_end_indicate_exec_stack_and_gnu_property): Generate
10408 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
10409 nodirect_extern_access attribute.
10410 * config/i386/i386-options.cc
10411 (handle_nodirect_extern_access_attribute): New function.
10412 (ix86_attribute_table): Add nodirect_extern_access attribute.
10413 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
10414 bool argument.
10415 (ix86_has_no_direct_extern_access): New.
10416 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
10417 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
10418 call operand. Force non-call load from GOT for
10419 -mno-direct-extern-access or nodirect_extern_access attribute.
10420 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
10421 for -mno-direct-extern-access or nodirect_extern_access attribute.
10422 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
10423 for call operand.
10424 (asm_preferred_eh_data_format): Use PC-relative format for
10425 -mno-direct-extern-access to avoid copy relocation. Check
10426 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
10427 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
10428 true for -mno-direct-extern-access or nodirect_extern_access
10429 attribute. Don't treat protected data as extern and avoid copy
10430 relocation on common symbol with -mno-direct-extern-access or
10431 nodirect_extern_access attribute.
10432 (ix86_reloc_rw_mask): New to avoid copy relocation for
10433 -mno-direct-extern-access.
10434 (TARGET_ASM_RELOC_RW_MASK): New.
10435 * config/i386/i386.opt: Add -mdirect-extern-access.
10436 * doc/extend.texi: Document nodirect_extern_access attribute.
10437 * doc/invoke.texi: Document -m[no-]direct-extern-access.
10438
10439 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
10440
10441 PR target/104441
10442 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
10443 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
10444 Call ix86_avx_u128_mode_source to check mode for each component
10445 of source operand.
10446
10447 2022-02-09 liuhongt <hongtao.liu@intel.com>
10448
10449 PR target/104451
10450 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
10451 operands[2] from SImode to QImode.
10452
10453 2022-02-09 Richard Biener <rguenther@suse.de>
10454
10455 PR middle-end/104450
10456 * gimple-isel.cc: Pass cfun around.
10457 (+gimple_expand_vec_cond_expr): Do not combine a throwing
10458 comparison with the select.
10459
10460 2022-02-09 Richard Biener <rguenther@suse.de>
10461
10462 PR target/104453
10463 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
10464 folding for NULL LHS.
10465
10466 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
10467
10468 PR rtl-optimization/104198
10469 PR rtl-optimization/104153
10470 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
10471 using it directly. Rework comparison handling and always
10472 perform a second pass.
10473
10474 2022-02-08 Jakub Jelinek <jakub@redhat.com>
10475
10476 PR target/102140
10477 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
10478 split1 pass has finished already.
10479
10480 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
10481
10482 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
10483 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
10484 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
10485 (vmsumcud): New define_insn.
10486
10487 2022-02-08 Tom de Vries <tdevries@suse.de>
10488
10489 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
10490 * config/nvptx/nvptx.h (TARGET_SM70): Define.
10491
10492 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
10493
10494 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
10495 on condition.
10496 * config/s390/s390.md: Use paradoxical subreg.
10497
10498 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
10499
10500 * combine.cc (reg_subword_p): Check for paradoxical subreg.
10501
10502 2022-02-08 Tom de Vries <tdevries@suse.de>
10503
10504 PR target/104283
10505 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
10506 and PTX_VERSION_4_2.
10507 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
10508 (default_ptx_version_option, ptx_version_to_string)
10509 (sm_version_to_string, handle_ptx_version_option): New function.
10510 (nvptx_option_override): Call handle_ptx_version_option.
10511 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
10512 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
10513 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
10514 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
10515
10516 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
10517
10518 * doc/install.texi (Configuration): Document `--with-isa-spec='
10519 RISC-V option.
10520 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
10521 option.
10522 (RISC-V Options): Document it.
10523
10524 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
10525
10526 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
10527
10528 2022-02-08 Tom de Vries <tdevries@suse.de>
10529
10530 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
10531
10532 2022-02-08 Tom de Vries <tdevries@suse.de>
10533
10534 PR target/104364
10535 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
10536 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
10537 change is validated.
10538 (nvptx_mem_local_p): New function.
10539 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
10540 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
10541 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
10542 non-atomic, non-predicable define_insn, factored out of ...
10543 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
10544 Make predicable again.
10545 (define_expand "atomic_compare_and_swap<mode>"): Use
10546 atomic_compare_and_swap<mode>_1_local.
10547
10548 2022-02-08 liuhongt <hongtao.liu@intel.com>
10549
10550 PR rtl-optimization/104059
10551 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
10552 for a more expensive reg-reg move.
10553
10554 2022-02-07 Tamar Christina <tamar.christina@arm.com>
10555
10556 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
10557 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
10558 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
10559 (usdot_laneq, sudot_laneq): New.
10560 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
10561 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
10562
10563 2022-02-07 Tamar Christina <tamar.christina@arm.com>
10564
10565 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
10566 vdot_laneq_s32, vdotq_laneq_s32): New.
10567 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
10568 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
10569 (<sup>dot_prod<vsi2qi>): Re-order rtl.
10570 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
10571 (neon_<sup>dot_laneq<vsi2qi>): New.
10572
10573 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
10574
10575 PR target/104327
10576 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
10577 if always_inline is set. Don't inline when tune differs without
10578 always_inline.
10579
10580 2022-02-07 Richard Biener <rguenther@suse.de>
10581
10582 PR middle-end/104402
10583 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
10584 compares are not valid.
10585 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
10586 check is_gimple_condexpr.
10587
10588 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
10589
10590 PR target/103627
10591 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
10592 hunk affecting VSX and ALTIVEC to appropriate place.
10593
10594 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
10595
10596 PR target/103627
10597 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
10598 MMA if !TARGET_VSX.
10599
10600 2022-02-06 Jakub Jelinek <jakub@redhat.com>
10601
10602 PR c++/89074
10603 PR c++/104033
10604 * fold-const.h (folding_initializer): Adjust comment.
10605 (folding_cxx_constexpr): Declare.
10606 * fold-const.cc (folding_initializer): Adjust comment.
10607 (folding_cxx_constexpr): New variable.
10608 (address_compare): Restrict the decl vs. STRING_CST
10609 or vice versa or STRING_CST vs. STRING_CST or
10610 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
10611 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
10612 assume non-aliased functions have non-zero size and have different
10613 addresses. For folding_cxx_constexpr, punt on comparisons of start
10614 of some object and end of another one, regardless whether it is a decl
10615 or string literal. Also punt for folding_cxx_constexpr on
10616 STRING_CST vs. STRING_CST comparisons if the two literals could be
10617 overlapping.
10618
10619 2022-02-05 Jakub Jelinek <jakub@redhat.com>
10620
10621 PR tree-optimization/104389
10622 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
10623 honored.
10624
10625 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
10626
10627 * configure.ac: Fix detection for zifencei support.
10628 * configure: Regenerate.
10629
10630 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
10631
10632 PR target/104219
10633 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
10634 (all_defaults): Add isa_spec.
10635 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
10636
10637 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
10638
10639 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
10640 parameters instead of arglist and nargs. Simplify accordingly. Remove
10641 unnecessary test for argument count mismatch.
10642 (resolve_vec_cmpne): Likewise.
10643 (resolve_vec_adde_sube): Likewise.
10644 (resolve_vec_addec_subec): Likewise.
10645 (altivec_resolve_overloaded_builtin): Move overload special handling
10646 after the gathering of arguments into args[] and types[] and the test
10647 for correct number of arguments. Don't perform the test for correct
10648 number of arguments for certain special cases. Call the other special
10649 cases with args and types instead of arglist and nargs.
10650
10651 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
10652
10653 PR target/100808
10654 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
10655 3.1): Provide consistent type names. Remove unnecessary semicolons.
10656 Fix bad line breaks.
10657
10658 2022-02-04 Jakub Jelinek <jakub@redhat.com>
10659
10660 PR target/104380
10661 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
10662 adjust mangling of __builtin*printf_chk.
10663
10664 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
10665
10666 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
10667
10668 2022-02-04 Richard Biener <rguenther@suse.de>
10669 Bin Cheng <bin.cheng@linux.alibaba.com>
10670
10671 PR tree-optimization/100499
10672 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
10673 to true.
10674 * fold-const.cc (multiple_of_p): Likewise. Honor it for
10675 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
10676 switching to false for conversions.
10677 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
10678 claim the outermost expression does not wrap when calling
10679 multiple_of_p. Refactor the check done to check the
10680 original IV, avoiding a bias that might wrap.
10681
10682 2022-02-04 Richard Biener <rguenther@suse.de>
10683
10684 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
10685 handling.
10686
10687 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
10688
10689 PR debug/104366
10690 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
10691 (dwarf2out_early_finish): Likewise.
10692
10693 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
10694
10695 PR tree-optimization/104356
10696 * match.pd (X / bool_range_Y is X): Add guard.
10697 (X / X is one): Likewise.
10698 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
10699 (X / -X is -1): Likewise.
10700 (1 / X -> X == 1): Likewise.
10701
10702 2022-02-04 Richard Biener <rguenther@suse.de>
10703
10704 PR tree-optimization/103641
10705 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
10706 Pass the vector mode to choose_mult_variant.
10707
10708 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
10709
10710 PR rtl-optimization/101885
10711 * combine.cc (try_combine): When splitting a parallel into two
10712 sequential sets, check not only that the first doesn't clobber
10713 the second but also that the second doesn't clobber the first.
10714
10715 2022-02-04 Richard Biener <rguenther@suse.de>
10716
10717 PR middle-end/90348
10718 PR middle-end/104092
10719 * tree-core.h (clobber_kind): New enum.
10720 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
10721 * tree.h (CLOBBER_KIND): Add.
10722 (build_clobber): Add clobber kind argument, defaulted to
10723 CLOBBER_UNDEF.
10724 * tree.cc (build_clobber): Likewise.
10725 * gimple.h (gimple_clobber_p): New overload with specified kind.
10726 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
10727 CLOBBER_KIND.
10728 * tree-streamer-out.cc (streamer_write_tree_bitfields):
10729 Likewise.
10730 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
10731 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
10732 with CLOBBER_EOL.
10733 (gimplify_target_expr): Likewise.
10734 * tree-inline.cc (expand_call_inline): Likewise.
10735 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
10736 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
10737 CLOBBER_EOL clobbers as ending lifetime of storage.
10738
10739 2022-02-04 Martin Sebor <msebor@redhat.com>
10740
10741 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
10742 cleanup.
10743
10744 2022-02-03 Martin Sebor <msebor@redhat.com>
10745
10746 PR middle-end/104260
10747 * passes.def (pass_warn_access): Adjust pass placement.
10748
10749 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
10750
10751 PR target/104362
10752 * config/i386/i386.cc (find_drap_reg): For 32bit targets
10753 return DI_REG if function uses __builtin_eh_return.
10754
10755 2022-02-03 Martin Sebor <msebor@redhat.com>
10756
10757 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
10758 (pass_wrestrict::m_ptr_qry): New member.
10759 (wrestrict_walk): Rename...
10760 (pass_wrestrict::check_block): ...to this.
10761 (pass_wrestrict::execute): Set up and tear down pointer_query and
10762 ranger.
10763 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
10764 (builtin_access::builtin_access): Same.
10765 (builtin_access::m_ptr_qry): New member.
10766 (check_call): Rename...
10767 (pass_wrestrict::check_call): ...to this.
10768 (check_bounds_or_overlap): Change argument.
10769 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
10770
10771 2022-02-03 Martin Sebor <msebor@redhat.com>
10772
10773 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
10774 Define ctor.
10775 (array_bounds_checker::get_value_range): Use new member.
10776 (array_bounds_checker::check_mem_ref): Same.
10777 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
10778 Outline ctor.
10779 (array_bounds_checker::m_ptr_query): New member.
10780
10781 2022-02-03 Martin Sebor <msebor@redhat.com>
10782
10783 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
10784 pointer_query cache.
10785 * pointer-query.cc (pointer_query::pointer_query): Remove cache
10786 argument. Zero-initialize new cache member.
10787 (pointer_query::get_ref): Replace cache pointer with direct access.
10788 (pointer_query::put_ref): Same.
10789 (pointer_query::flush_cache): Same.
10790 (pointer_query::dump): Same.
10791 * pointer-query.h (class pointer_query): Remove cache argument from
10792 ctor. Change cache pointer to cache subobject member.
10793 * tree-ssa-strlen.cc: Remove pointer_query cache.
10794
10795 2022-02-03 Martin Sebor <msebor@redhat.com>
10796
10797 PR tree-optimization/104119
10798 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
10799 (format_none): Same.
10800 (format_percent): Same.
10801 (format_integer): Same.
10802 (format_floating): Same.
10803 (get_string_length): Same.
10804 (format_character): Same.
10805 (format_string): Same.
10806 (format_plain): Same.
10807 (format_directive): Same.
10808 (compute_format_length): Same.
10809 (handle_printf_call): Same.
10810 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
10811 get_maxbound.
10812 (get_range_strlen_phi): Same.
10813 (get_maxbound): New function.
10814 (strlen_pass::get_len_or_size): Adjust to parameter change.
10815 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
10816
10817 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10818
10819 PR target/103686
10820 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
10821 test for !rs6000_fold_gimple.
10822 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
10823 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
10824
10825 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10826
10827 PR target/95082
10828 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
10829 endianness for vclzlsbb and vctzlsbb.
10830 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
10831 default pattern and indicate a different pattern will be used for
10832 big endian.
10833 (VCLZLSBB_V4SI): Likewise.
10834 (VCLZLSBB_V8HI): Likewise.
10835 (VCTZLSBB_V16QI): Likewise.
10836 (VCTZLSBB_V4SI): Likewise.
10837 (VCTZLSBB_V8HI): Likewise.
10838
10839 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10840
10841 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
10842 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
10843 from other files.
10844 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
10845 rs6000-builtin.cc.
10846 (cpu_supports_info): Likewise.
10847 (rs6000_type_string): Likewise.
10848 (altivec_expand_predicate_builtin): Likewise.
10849 (rs6000_htm_spr_icode): Likewise.
10850 (altivec_expand_vec_init_builtin): Likewise.
10851 (get_element_number): Likewise.
10852 (altivec_expand_vec_set_builtin): Likewise.
10853 (altivec_expand_vec_ext_builtin): Likewise.
10854 (rs6000_invalid_builtin): Likewise.
10855 (rs6000_fold_builtin): Likewise.
10856 (fold_build_vec_cmp): Likewise.
10857 (fold_compare_helper): Likewise.
10858 (map_to_integral_tree_type): Likewise.
10859 (fold_mergehl_helper): Likewise.
10860 (fold_mergeeo_helper): Likewise.
10861 (rs6000_builtin_valid_without_lhs): Likewise.
10862 (rs6000_builtin_is_supported): Likewise.
10863 (rs6000_gimple_fold_mma_builtin): Likewise.
10864 (rs6000_gimple_fold_builtin): Likewise.
10865 (rs6000_expand_ldst_mask): Likewise.
10866 (cpu_expand_builtin): Likewise.
10867 (elemrev_icode): Likewise.
10868 (ldv_expand_builtin): Likewise.
10869 (lxvrse_expand_builtin): Likewise.
10870 (lxvrze_expand_builtin): Likewise.
10871 (stv_expand_builtin): Likewise.
10872 (mma_expand_builtin): Likewise.
10873 (htm_spr_num): Likewise.
10874 (htm_expand_builtin): Likewise.
10875 (rs6000_expand_builtin): Likewise.
10876 (rs6000_vector_type): Likewise.
10877 (rs6000_init_builtins): Likewise. Remove initialization of
10878 builtin_mode_to_type entries.
10879 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
10880 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
10881 external declaration.
10882 (rs6000_builtin_md_vectorized_function): Likewise.
10883 (rs6000_builtin_reciprocal): Likewise.
10884 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
10885 (rs6000_builtin_types): Likewise.
10886 (builtin_mode_to_type): Remove.
10887 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
10888 static qualifier.
10889 (rs6000_builtin_md_vectorized_function): Likewise.
10890 (rs6000_builtin_reciprocal): Likewise.
10891 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
10892 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
10893
10894 2022-02-03 Richard Biener <rguenther@suse.de>
10895
10896 PR debug/104337
10897 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
10898 together via DECL_ABSTRACT_ORIGIN.
10899
10900 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
10901
10902 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
10903 message for RES_BITS case.
10904
10905 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
10906
10907 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
10908
10909 2022-02-03 Jakub Jelinek <jakub@redhat.com>
10910
10911 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
10912 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
10913
10914 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
10915
10916 * cfganal.cc (verify_marked_backedges): New.
10917 * cfganal.h (verify_marked_backedges): New.
10918 * gimple-range-path.cc (path_range_query::path_range_query):
10919 Verify freshness of back edges.
10920 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
10921 mark_dfs_back_edges.
10922 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
10923 path_range_query construction after backedges have been
10924 updated.
10925
10926 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
10927
10928 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
10929 VALL to VALL_F16.
10930
10931 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
10932
10933 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
10934 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
10935 of VALL_F16MOV.
10936
10937 2022-02-03 Martin Liska <mliska@suse.cz>
10938
10939 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
10940 Change subject and object in the error message.
10941 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
10942 Likewise.
10943
10944 2022-02-03 Martin Liska <mliska@suse.cz>
10945
10946 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
10947 Use the error message for i386 target.
10948
10949 2022-02-03 Jakub Jelinek <jakub@redhat.com>
10950
10951 PR tree-optimization/104334
10952 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
10953 and rh_range type to widest_int and subtract in widest_int. Remove
10954 ov_rh, ov_lh and sign vars, always perform comparisons as signed
10955 and use >, < and == operators for it.
10956
10957 2022-02-03 Martin Sebor <msebor@redhat.com>
10958
10959 * common.opt (-Wuse-after-free): Correct typos.
10960
10961 2022-02-02 David Malcolm <dmalcolm@redhat.com>
10962
10963 PR analyzer/104270
10964 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
10965 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
10966 -ftrivial-auto-var-init= doesn't suppress warnings.
10967
10968 2022-02-02 Martin Liska <mliska@suse.cz>
10969
10970 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
10971
10972 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
10973
10974 PR target/94372
10975 * config/or1k/linux.h (CPP_SPEC): Define.
10976
10977 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10978
10979 PR tree-optimization/102819
10980 PR tree-optimization/103169
10981 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
10982 canonical order.
10983
10984 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10985
10986 PR tree-optimization/102819
10987 PR tree-optimization/103169
10988 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
10989 canonical order.
10990 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
10991
10992 2022-02-02 Tamar Christina <tamar.christina@arm.com>
10993
10994 PR tree-optimization/102819
10995 PR tree-optimization/103169
10996 * doc/md.texi: Update docs for cfms, cfma.
10997 * tree-data-ref.h (same_data_refs): Accept optional offset.
10998 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
10999 patterns.
11000 (vect_normalize_conj_loc): Remove.
11001 (is_eq_or_top): Change to take two nodes.
11002 (enum _conj_status, compatible_complex_nodes_p,
11003 vect_validate_multiplication): New.
11004 (class complex_add_pattern, complex_add_pattern::matches,
11005 complex_add_pattern::recognize, class complex_mul_pattern,
11006 complex_mul_pattern::recognize, class complex_fms_pattern,
11007 complex_fms_pattern::recognize, class complex_operations_pattern,
11008 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
11009 new cache.
11010 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
11011 cache and use new validation code.
11012 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
11013 vect_analyze_slp): Pass along cache.
11014 (compatible_calls_p): Expose.
11015 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
11016 slp_compat_nodes_map_t): New.
11017 (class vect_pattern): Update signatures include new cache.
11018
11019 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
11020
11021 * config/cris/cris.cc (cris_preferred_reload_class): Reject
11022 "eliminated" registers and small-enough constants unless
11023 reloaded into a class that is a subset of GENERAL_REGS.
11024 * config/cris/cris.md (attribute "cpu_variant"): New.
11025 (attribute "enabled"): Conditionalize on a matching attribute
11026 cpu_variant, if specified.
11027 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
11028 memory, add cpu-variant-enabled variants for "r" alternatives on
11029 the far side of the "x" alternatives, preferring the "x" ones
11030 only for variants where MOF is present (in addition to SRP).
11031
11032 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
11033
11034 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
11035 extra cost for ALL_REGS.
11036
11037 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
11038
11039 * config/cris/constraints.md (define_register_constraint "b"): Now
11040 GENERAL_REGS.
11041 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
11042 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
11043 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
11044 and SPEC_GENNONACR_REGS.
11045 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
11046 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
11047
11048 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
11049
11050 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
11051 Conditionalize on (sub-)register operands or operand 1 being 0.
11052
11053 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
11054
11055 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
11056 (MUL_BUG_ASM_DEFAULT): New macro.
11057 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
11058 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
11059 accordingly.
11060
11061 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
11062
11063 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
11064 to 10 for AutoFDO.
11065
11066 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
11067
11068 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
11069
11070 2022-02-01 Andrew Pinski <apinski@marvell.com>
11071
11072 * doc/install.texi:
11073
11074 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
11075
11076 * config/s390/s390.cc (s390_code_end): Do not switch back to
11077 code section.
11078
11079 2022-02-01 Jakub Jelinek <jakub@redhat.com>
11080
11081 PR target/104323
11082 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
11083 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
11084 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
11085 GTY((user)) for struct bifdata and struct ovlddata. Instead add
11086 GTY((skip(""))) to members with pointer and enum types that don't need
11087 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
11088 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
11089 (write_extern_fntype, write_fntype): Remove.
11090 (write_fntype_init): Emit the fntype vars as automatic vars instead
11091 of file scope ones.
11092 (write_header_file): Don't iterate with write_extern_fntype.
11093 (write_init_file): Don't iterate with write_fntype. Don't emit
11094 gt_ggc_mx and gt_pch_nx definitions.
11095
11096 2022-02-01 Jason Merrill <jason@redhat.com>
11097
11098 * tree.h (struct tree_vec_map_cache_hasher): Move from...
11099 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
11100
11101 2022-02-01 Tom de Vries <tdevries@suse.de>
11102
11103 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
11104 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11105 UNSPECV_UNIFORM_WARP_CHECK.
11106 (define_insn "nvptx_uniform_warp_check"): New define_insn.
11107
11108 2022-02-01 Tom de Vries <tdevries@suse.de>
11109
11110 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
11111 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11112 UNSPECV_WARPSYNC.
11113 (define_insn "nvptx_warpsync"): New define_insn.
11114
11115 2022-02-01 Tom de Vries <tdevries@suse.de>
11116
11117 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
11118
11119 2022-02-01 Tom de Vries <tdevries@suse.de>
11120
11121 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
11122 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
11123 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
11124 insn for TARGET_PTX_6_0.
11125
11126 2022-02-01 Tom de Vries <tdevries@suse.de>
11127
11128 PR target/100428
11129 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
11130 insn.
11131
11132 2022-02-01 Tom de Vries <tdevries@suse.de>
11133
11134 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
11135 (define_insn "atomic_exchange<mode>")
11136 (define_insn "atomic_fetch_add<mode>")
11137 (define_insn "atomic_fetch_addsf")
11138 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
11139 if memory operands is frame-relative.
11140
11141 2022-02-01 Tom de Vries <tdevries@suse.de>
11142
11143 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
11144 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
11145 (VOID): New macro.
11146 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
11147 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
11148 NVPTX_BUILTIN_MEMBAR_CTA.
11149 (nvptx_lockfull_update): Add level parameter. Emit barriers.
11150 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
11151 nvptx_lockfull_update.
11152 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
11153 UNSPECV_MEMBAR_GL.
11154 (define_expand "nvptx_membar_gl"): New expand.
11155 (define_insn "*nvptx_membar_gl"): New insn.
11156
11157 2022-02-01 Martin Liska <mliska@suse.cz>
11158
11159 * doc/install.texi: Remove option for GCC < 4.8.
11160
11161 2022-02-01 Jakub Jelinek <jakub@redhat.com>
11162
11163 PR middle-end/104307
11164 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
11165 stmts to uses vector, just set vec_cond_expr_only to false for
11166 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
11167 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
11168 like non-VEC_COND_EXPRs.
11169
11170 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
11171
11172 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
11173 (VEC_BLENDV): Likewise.
11174 (VEC_BPERM): Likewise.
11175 (VEC_CFUGE): Likewise.
11176 (VEC_CIPHER_BE): Likewise.
11177 (VEC_CIPHERLAST_BE): Likewise.
11178 (VEC_CLRL): Likewise.
11179 (VEC_CLRR): Likewise.
11180 (VEC_CMPNEZ): Likewise.
11181 (VEC_CNTLZ): Likewise.
11182 (VEC_CNTLZM): Likewise.
11183 (VEC_CNTTZM): Likewise.
11184 (VEC_CNTLZ_LSBB): Likewise.
11185 (VEC_CNTM): Likewise.
11186 (VEC_CNTTZ): Likewise.
11187 (VEC_CNTTZ_LSBB): Likewise.
11188 (VEC_CONVERT_4F32_8F16): Likewise.
11189 (VEC_DIV): Likewise.
11190 (VEC_DIVE): Likewise.
11191 (VEC_EQV): Likewise.
11192 (VEC_EXPANDM): Likewise.
11193 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
11194 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
11195 (VEC_EXTRACTH): Likewise.
11196 (VEC_EXTRACTL): Likewise.
11197 (VEC_EXTRACTM): Likewise.
11198 (VEC_EXTRACT4B): Likewise.
11199 (VEC_EXTULX): Likewise.
11200 (VEC_EXTURX): Likewise.
11201 (VEC_FIRSTMATCHINDEX): Likewise.
11202 (VEC_FIRSTMACHOREOSINDEX): Likewise.
11203 (VEC_FIRSTMISMATCHINDEX): Likewise.
11204 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
11205 (VEC_GB): Likewise.
11206 (VEC_GENBM): Likewise.
11207 (VEC_GENHM): Likewise.
11208 (VEC_GENWM): Likewise.
11209 (VEC_GENDM): Likewise.
11210 (VEC_GENQM): Likewise.
11211 (VEC_GENPCVM): Likewise.
11212 (VEC_GNB): Likewise.
11213 (VEC_INSERTH): Likewise.
11214 (VEC_INSERTL): Likewise.
11215 (VEC_INSERT4B): Likewise.
11216 (VEC_LXVL): Likewise.
11217 (VEC_MERGEE): Likewise.
11218 (VEC_MERGEO): Likewise.
11219 (VEC_MOD): Likewise.
11220 (VEC_MSUB): Likewise.
11221 (VEC_MULH): Likewise.
11222 (VEC_NAND): Likewise.
11223 (VEC_NCIPHER_BE): Likewise.
11224 (VEC_NCIPHERLAST_BE): Likewise.
11225 (VEC_NEARBYINT): Likewise.
11226 (VEC_NMADD): Likewise.
11227 (VEC_ORC): Likewise.
11228 (VEC_PDEP): Likewise.
11229 (VEC_PERMX): Likewise.
11230 (VEC_PEXT): Likewise.
11231 (VEC_POPCNT): Likewise.
11232 (VEC_PARITY_LSBB): Likewise.
11233 (VEC_REPLACE_ELT): Likewise.
11234 (VEC_REPLACE_UN): Likewise.
11235 (VEC_REVB): Likewise.
11236 (VEC_RINT): Likewise.
11237 (VEC_RLMI): Likewise.
11238 (VEC_RLNM): Likewise.
11239 (VEC_SBOX_BE): Likewise.
11240 (VEC_SIGNEXTI): Likewise.
11241 (VEC_SIGNEXTLL): Likewise.
11242 (VEC_SIGNEXTQ): Likewise.
11243 (VEC_SLDB): Likewise.
11244 (VEC_SLV): Likewise.
11245 (VEC_SPLATI): Likewise.
11246 (VEC_SPLATID): Likewise.
11247 (VEC_SPLATI_INS): Likewise.
11248 (VEC_SQRT): Likewise.
11249 (VEC_SRDB): Likewise.
11250 (VEC_SRV): Likewise.
11251 (VEC_STRIL): Likewise.
11252 (VEC_STRIL_P): Likewise.
11253 (VEC_STRIR): Likewise.
11254 (VEC_STRIR_P): Likewise.
11255 (VEC_STXVL): Likewise.
11256 (VEC_TERNARYLOGIC): Likewise.
11257 (VEC_TEST_LSBB_ALL_ONES): Likewise.
11258 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
11259 (VEC_VEE): Likewise.
11260 (VEC_VES): Likewise.
11261 (VEC_VIE): Likewise.
11262 (VEC_VPRTYB): Likewise.
11263 (VEC_VSCEEQ): Likewise.
11264 (VEC_VSCEGT): Likewise.
11265 (VEC_VSCELT): Likewise.
11266 (VEC_VSCEUO): Likewise.
11267 (VEC_VSEE): Likewise.
11268 (VEC_VSES): Likewise.
11269 (VEC_VSIE): Likewise.
11270 (VEC_VSTDC): Likewise.
11271 (VEC_VSTDCN): Likewise.
11272 (VEC_VTDC): Likewise.
11273 (VEC_XL): Likewise.
11274 (VEC_XL_BE): Likewise.
11275 (VEC_XL_LEN_R): Likewise.
11276 (VEC_XL_SEXT): Likewise.
11277 (VEC_XL_ZEXT): Likewise.
11278 (VEC_XST): Likewise.
11279 (VEC_XST_BE): Likewise.
11280 (VEC_XST_LEN_R): Likewise.
11281 (VEC_XST_TRUNC): Likewise.
11282 (VEC_XXPERMDI): Likewise.
11283 (VEC_XXSLDWI): Likewise.
11284 (VEC_TSTSFI_EQ_DD): Likewise.
11285 (VEC_TSTSFI_EQ_TD): Likewise.
11286 (VEC_TSTSFI_GT_DD): Likewise.
11287 (VEC_TSTSFI_GT_TD): Likewise.
11288 (VEC_TSTSFI_LT_DD): Likewise.
11289 (VEC_TSTSFI_LT_TD): Likewise.
11290 (VEC_TSTSFI_OV_DD): Likewise.
11291 (VEC_TSTSFI_OV_TD): Likewise.
11292 (VEC_VADDCUQ): Likewise.
11293 (VEC_VADDECUQ): Likewise.
11294 (VEC_VADDEUQM): Likewise.
11295 (VEC_VADDUDM): Likewise.
11296 (VEC_VADDUQM): Likewise.
11297 (VEC_VBPERMQ): Likewise.
11298 (VEC_VCLZB): Likewise.
11299 (VEC_VCLZD): Likewise.
11300 (VEC_VCLZH): Likewise.
11301 (VEC_VCLZW): Likewise.
11302 (VEC_VCTZB): Likewise.
11303 (VEC_VCTZD): Likewise.
11304 (VEC_VCTZH): Likewise.
11305 (VEC_VCTZW): Likewise.
11306 (VEC_VEEDP): Likewise.
11307 (VEC_VEESP): Likewise.
11308 (VEC_VESDP): Likewise.
11309 (VEC_VESSP): Likewise.
11310 (VEC_VIEDP): Likewise.
11311 (VEC_VIESP): Likewise.
11312 (VEC_VPKSDSS): Likewise.
11313 (VEC_VPKSDUS): Likewise.
11314 (VEC_VPKUDUM): Likewise.
11315 (VEC_VPKUDUS): Likewise.
11316 (VEC_VPOPCNT): Likewise.
11317 (VEC_VPOPCNTB): Likewise.
11318 (VEC_VPOPCNTD): Likewise.
11319 (VEC_VPOPCNTH): Likewise.
11320 (VEC_VPOPCNTW): Likewise.
11321 (VEC_VPRTYBD): Likewise.
11322 (VEC_VPRTYBQ): Likewise.
11323 (VEC_VPRTYBW): Likewise.
11324 (VEC_VRLD): Likewise.
11325 (VEC_VSLD): Likewise.
11326 (VEC_VSRAD): Likewise.
11327 (VEC_VSRD): Likewise.
11328 (VEC_VSTDCDP): Likewise.
11329 (VEC_VSTDCNDP): Likewise.
11330 (VEC_VSTDCNQP): Likewise.
11331 (VEC_VSTDCNSP): Likewise.
11332 (VEC_VSTDCQP): Likewise.
11333 (VEC_VSTDCSP): Likewise.
11334 (VEC_VSUBECUQ): Likewise.
11335 (VEC_VSUBEUQM): Likewise.
11336 (VEC_VSUBUDM): Likewise.
11337 (VEC_VSUBUQM): Likewise.
11338 (VEC_VTDCDP): Likewise.
11339 (VEC_VTDCSP): Likewise.
11340 (VEC_VUPKHSW): Likewise.
11341 (VEC_VUPKLSW): Likewise.
11342
11343 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
11344
11345 PR rtl-optimization/101260
11346 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
11347 copy_regno.
11348
11349 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
11350
11351 PR middle-end/95115
11352 * fold-const.cc (const_binop): Do not fold NaN result from
11353 non-NaN operands.
11354
11355 2022-02-01 Tom de Vries <tdevries@suse.de>
11356
11357 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
11358 -ftree-loop-distribute-patterns.
11359 (loop_distribution::execute): Don't call transform_reduction_loop for
11360 -fno-tree-loop-distribute-patterns.
11361
11362 2022-01-31 Andrew Pinski <apinski@marvell.com>
11363
11364 * fold-const.h (operand_compare::operand_equal_p):
11365 Fix comment about OEP_* flags.
11366
11367 2022-01-31 Jakub Jelinek <jakub@redhat.com>
11368
11369 PR target/104298
11370 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
11371 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
11372 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
11373 if not already defined.
11374
11375 2022-01-31 Martin Sebor <msebor@redhat.com>
11376
11377 PR middle-end/104232
11378 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
11379 Handle PHIs. Add a synonymous overload.
11380 (pass_waccess::check_pointer_uses): Call pointers_related_p.
11381
11382 2022-01-31 Richard Biener <rguenther@suse.de>
11383
11384 PR tree-optimization/100499
11385 * fold-const.cc (multiple_of_p): Pass the correct type of
11386 the expression to the recursive invocation of multiple_of_p
11387 for conversions and use CASE_CONVERT.
11388
11389 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
11390
11391 PR target/104189
11392 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
11393
11394 2022-01-31 Richard Biener <rguenther@suse.de>
11395
11396 PR tree-optimization/100499
11397 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
11398 on poly-ints instead of multiple_of_p.
11399 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
11400 (non_rewritable_mem_ref_base): Likewise.
11401 (non_rewritable_lvalue_p): Likewise.
11402 (execute_update_addresses_taken): Likewise.
11403
11404 2022-01-29 Jakub Jelinek <jakub@redhat.com>
11405 Andrew Pinski <apinski@marvell.com>
11406
11407 PR tree-optimization/104279
11408 PR tree-optimization/104280
11409 PR tree-optimization/104281
11410 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
11411 boolean_type_node and convert to type. Formatting fixes.
11412
11413 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
11414
11415 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
11416
11417 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
11418
11419 PR tree-optimization/103514
11420 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
11421 (a & b) == (a ^ b) -> !(a | b): New optimization.
11422
11423 2022-01-28 Marek Polacek <polacek@redhat.com>
11424
11425 * doc/invoke.texi: Update -Wbidi-chars documentation.
11426
11427 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
11428
11429 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
11430
11431 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
11432
11433 PR tree-optimization/95424
11434 * match.pd: Simplify 1 / X where X is an integer.
11435
11436 2022-01-28 Jakub Jelinek <jakub@redhat.com>
11437
11438 PR tree-optimization/104263
11439 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
11440 cfun->can_throw_non_call_exceptions && cfun->eh test whether
11441 last non-debug stmt in the bb is store_valid_for_store_merging_p
11442 rather than last stmt.
11443
11444 2022-01-28 Martin Liska <mliska@suse.cz>
11445
11446 * diagnostic.cc (diagnostic_action_after_output): Remove extra
11447 newline.
11448
11449 2022-01-28 Martin Liska <mliska@suse.cz>
11450
11451 * config/rs6000/host-darwin.cc (segv_crash_handler):
11452 Do not use leading capital letter.
11453 (segv_handler): Likewise.
11454 * ipa-sra.cc (verify_splitting_accesses): Likewise.
11455 * varasm.cc (get_section): Likewise.
11456
11457 2022-01-28 Richard Biener <rguenther@suse.de>
11458
11459 PR tree-optimization/104267
11460 * tree-vect-stmts.cc (vectorizable_call): Properly use the
11461 per-argument determined vector type for externals and
11462 invariants.
11463
11464 2022-01-28 Richard Biener <rguenther@suse.de>
11465
11466 PR tree-optimization/104263
11467 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
11468 Purge edges also when !cfun->has_nonlocal_label
11469 and !cfun->calls_setjmp.
11470
11471 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
11472
11473 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
11474 attributes.
11475
11476 2022-01-28 Jakub Jelinek <jakub@redhat.com>
11477
11478 PR lto/104237
11479 * cfgrtl.cc (loc_equal): New function.
11480 (unique_locus_on_edge_between_p): Use it.
11481
11482 2022-01-28 Richard Biener <rguenther@suse.de>
11483
11484 * cfganal.h (mark_dfs_back_edges): Provide API with struct
11485 function argument.
11486 * cfganal.cc (mark_dfs_back_edges): Take a struct function
11487 to work on, add a wrapper passing cfun.
11488 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
11489 uses with fun which is already passed.
11490 (draw_cfg_edges): Likewise.
11491 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
11492 for fun != cfun.
11493
11494 2022-01-27 Patrick Palka <ppalka@redhat.com>
11495
11496 PR c++/99895
11497 * tree.cc (build_call_vec): Add const to second parameter.
11498 * tree.h (build_call_vec): Likewise.
11499
11500 2022-01-27 Martin Liska <mliska@suse.cz>
11501
11502 PR web/104254
11503 * diagnostic.cc (diagnostic_initialize):
11504 Initialize report_bug flag.
11505 (diagnostic_action_after_output):
11506 Explain that -freport-bug option can be used for pre-processed
11507 file creation. Make the message shorter.
11508 (error_recursion): Rename Internal to internal.
11509 * diagnostic.h (struct diagnostic_context): New field.
11510 * opts.cc (common_handle_option): Init the field here.
11511
11512 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
11513
11514 PR target/103702
11515 * config/rs6000/rs6000.cc
11516 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
11517 assertion with early return.
11518
11519 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
11520
11521 PR middle-end/103642
11522 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
11523 for non-pointer or non-reference-to-pointer cases.
11524
11525 2022-01-27 Jakub Jelinek <jakub@redhat.com>
11526
11527 PR tree-optimization/104196
11528 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
11529 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
11530 return NULL and emit needed stmts before and after stmt.
11531 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
11532 pick as operand_entry that will hold the merged test the one feeding
11533 earliest condition, ensure that by swapping range->idx with some
11534 other range's idx if needed. If seq is non-NULL, don't actually swap
11535 it but instead rewrite stmts with undefined overflow in between
11536 the two locations.
11537 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
11538 corresponding condition even if they have non-NULL ops[]->op.
11539 Formatting fix.
11540
11541 2022-01-26 Jakub Jelinek <jakub@redhat.com>
11542
11543 PR target/104239
11544 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
11545 asm.
11546 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
11547 before for loop instead of for init clause.
11548 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
11549
11550 2022-01-26 Jakub Jelinek <jakub@redhat.com>
11551
11552 PR target/104239
11553 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
11554 _X86INTRIN_H_INCLUDED and adjust #error wording.
11555 * config/rs6000/bmi2intrin.h: Likewise.
11556
11557 2022-01-26 Jakub Jelinek <jakub@redhat.com>
11558
11559 PR debug/104194
11560 * dwarf2out.cc (long_double_as_float128): New function.
11561 (modified_type_die): For powerpc64le IEEE 754 quad long double
11562 and complex long double emit those as DW_TAG_typedef to
11563 _Float128 or complex _Float128 base type.
11564
11565 2022-01-26 Marek Polacek <polacek@redhat.com>
11566
11567 PR target/104213
11568 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
11569 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
11570
11571 2022-01-26 Martin Liska <mliska@suse.cz>
11572
11573 * ipa-modref-tree.cc (modref_access_node::update):
11574 Remove "--param param=foo" with "--param foo".
11575 (modref_access_node::insert): Likewise.
11576 (modref_access_node::insert_kill): Likewise.
11577 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
11578 (struct modref_base_node): Likewise.
11579 (struct modref_tree): Likewise.
11580
11581 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
11582
11583 PR target/94193
11584 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
11585 predicate check.
11586
11587 2022-01-25 Martin Sebor <msebor@redhat.com>
11588
11589 PR tree-optimization/104203
11590 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
11591 TV_WARN_ACCESS.
11592 * pointer-query.cc (access_ref::merge_ref): Change return type.
11593 Convert failure to a conservative success.
11594 (access_ref::get_ref): Adjust to the change above. Short-circuit
11595 PHI evaluation after first failure turned into conservative success.
11596 * pointer-query.h (access_ref::merge_ref): Change return type.
11597 * timevar.def (TV_WARN_ACCESS): New timer variable.
11598
11599 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
11600
11601 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
11602
11603 2022-01-25 Richard Biener <rguenther@suse.de>
11604
11605 PR tree-optimization/104214
11606 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
11607 stronger guarantees for relational pointer compares when
11608 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
11609 BASE0 + STEP0 - STEP1 cmp BASE1.
11610
11611 2022-01-25 Jakub Jelinek <jakub@redhat.com>
11612
11613 PR target/104172
11614 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
11615 declare.
11616 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
11617 ieee128_mangling_gcc_8_1): Remove.
11618 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
11619 (rs6000_mangle_type): Return "u9__ieee128" instead of
11620 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
11621 (rs6000_globalize_decl_name): Remove.
11622 * config/rs6000/rs6000-call.cc (init_cumulative_args,
11623 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
11624
11625 2022-01-24 Martin Sebor <msebor@redhat.com>
11626
11627 * pointer-query.cc (pointer_query::dump): Remove duplicate
11628 block.
11629
11630 2022-01-24 Marek Polacek <polacek@redhat.com>
11631
11632 PR preprocessor/104030
11633 * doc/invoke.texi: Update documentation for -Wbidi-chars.
11634
11635 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
11636
11637 PR target/94193
11638 * builtins.cc (expand_builtin_fegetround): New function.
11639 (expand_builtin_feclear_feraise_except): New function.
11640 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
11641 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
11642 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
11643 (feclearexceptsi): New Pattern.
11644 (feraiseexceptsi): New Pattern.
11645 * doc/extend.texi: Add a new introductory paragraph about the
11646 new builtins.
11647 * doc/md.texi: (fegetround@var{m}): Document new optab.
11648 (feclearexcept@var{m}): Document new optab.
11649 (feraiseexcept@var{m}): Document new optab.
11650 * optabs.def (fegetround_optab): New optab.
11651 (feclearexcept_optab): New optab.
11652 (feraiseexcept_optab): New optab.
11653
11654 2022-01-24 Richard Biener <rguenther@suse.de>
11655 Jiufu Guo <guojiufu@linux.ibm.com>
11656
11657 PR tree-optimization/100740
11658 PR tree-optimization/101508
11659 PR tree-optimization/101972
11660 PR tree-optimization/102131
11661 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
11662 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
11663 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
11664
11665 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11666
11667 PR sanitizer/104158
11668 * opt-functions.awk (var_set): Handle EnumBitSet property.
11669 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
11670 specified.
11671 * opts.h (enum cl_enum_var_value): New type.
11672 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
11673 Handle CLEV_BITSET.
11674 (cmdline_handle_error): Handle CLEV_BITSET.
11675 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
11676 * doc/options.texi (EnumBitSet): Document.
11677 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
11678 EnumSet.
11679 (trace-pc, trace-cmp): Drop Set properties.
11680
11681 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11682
11683 PR sanitizer/104158
11684 * common.opt (flag_sanitize_coverage): Remove Variable entry.
11685 (fsanitize-coverage=): Remove RejectNegative property, add
11686 Var(flag_sanitize_coverage) and EnumSet properties.
11687 (trace-pc): Add Set(1) property.
11688 (trace-cmp): Add Set(2) property.
11689 * opts.cc (common_handle_option): Don't handle
11690 OPT_fsanitize_coverage_.
11691
11692 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11693
11694 PR sanitizer/104158
11695 * opt-functions.awk (var_set): Handle EnumSet property.
11696 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
11697 specified.
11698 * opt-read.awk: Handle Set property.
11699 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
11700 (struct cl_decoded_option): Mention enum in value description.
11701 Add mask member.
11702 (set_option): Add mask argument defaulted to 0.
11703 * opts.cc (test_enum_sets): New function.
11704 (opts_cc_tests): Call it.
11705 * opts-common.cc (enum_arg_to_value): Change return argument
11706 from bool to int, on success return index into the cl_enum_arg
11707 array, on failure -1. Add len argument, if non-0, use strncmp
11708 instead of strcmp.
11709 (opt_enum_arg_to_value): Adjust caller.
11710 (decode_cmdline_option): Handle EnumSet represented as
11711 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
11712 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
11713 (handle_option): Pass decoded->mask to set_options last argument.
11714 (generate_option): Clear decoded->mask.
11715 (generate_option_input_file): Likewise.
11716 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
11717 (set_option): Add mask argument, use it for CLVC_ENUM.
11718 (control_warning_option): Adjust enum_arg_to_value caller.
11719 * doc/options.texi: Document Set and EnumSet properties.
11720
11721 2022-01-24 Jakub Jelinek <jakub@redhat.com>
11722
11723 PR bootstrap/104170
11724 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11725 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11726 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11727 using OPTION_*_P macros.
11728 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11729 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11730 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11731 using OPTION_*_P macros.
11732 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11733 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11734 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11735 using OPTION_*_P macros.
11736 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
11737 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
11738 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
11739 using OPTION_*_P macros.
11740 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
11741 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
11742 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
11743 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
11744 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
11745 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
11746 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
11747 otherwise assume if (true).
11748
11749 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
11750
11751 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
11752 Skip zicsr and zifencei if I-ext is 2.0.
11753
11754 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
11755
11756 * config.gcc: Modify default isa_spec version.
11757
11758 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
11759
11760 PR tree-optimization/102087
11761 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
11762 Correct PLUS result type.
11763
11764 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
11765
11766 PR target/104188
11767 * config/i386/predicates.md (bcst_mem_operand): Also check mode
11768 of memory broadcast.
11769
11770 2022-01-23 Andrew Pinski <apinski@marvell.com>
11771
11772 PR target/64821
11773 * config/aarch64/aarch64-builtins.cc
11774 (aarch64_general_gimple_fold_builtin): Handle
11775 __builtin_aarch64_sqrt* and simplify into SQRT internal
11776 function.
11777
11778 2022-01-22 Jakub Jelinek <jakub@redhat.com>
11779
11780 PR other/104176
11781 * opts-global.cc (handle_common_deferred_options): Quote
11782 --enable-plugin in diagnostics to avoid -Werror=format-diag.
11783
11784 2022-01-21 Michael Meissner <meissner@the-meissners.org>
11785
11786 PR target/104136
11787 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
11788 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
11789 * config/rs6000/rs6000.md (prefixed attribute): Delete section
11790 that sets the prefixed attribute for xxspltiw, xxspltidp, and
11791 xxsplti32dx instructions.
11792 (movsf_hardfloat): Explicitly set the prefixed attribute
11793 when xxspltiw and xxspltidp instructions are generated.
11794 (mov<mode>_hardfloat32): Likewise.
11795 (mov<mode>_hardfloat64): Likewise.
11796 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
11797 prefixed attribute for xxspltiw and xxspltidp instructions.
11798 (vsx_mov<mode>_32bit): Likewise.
11799
11800 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
11801
11802 PR bootstrap/104170
11803 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
11804 Return true only on glibc.
11805 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
11806 Revert commit c163647ffbc.
11807 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
11808
11809 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
11810
11811 * common/config/s390/s390-common.cc (s390_supports_split_stack):
11812 Only support split-stack on glibc targets.
11813 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
11814 * config/i386/gnu.h (defined): Ditto.
11815
11816 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
11817
11818 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
11819 vector float and vector double.
11820
11821 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
11822
11823 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
11824 Fix mention of ifunc in string.
11825
11826 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
11827
11828 PR middle-end/104140
11829 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
11830 operands of the widening multiplication are either both signed or
11831 both unsigned, and abort the conversion if mismatched.
11832 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
11833 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
11834 signedness.
11835 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
11836 integer types with the same precision and signedness.
11837 (WIDEN_MULT_EXPR): Document that operands must have integer types
11838 with the same precision, but possibly differing signedness.
11839 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
11840 riscv_current_subset_list returning a NULL pointer (empty list).
11841
11842 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
11843
11844 PR target/103676
11845 * ira.h (struct target_ira): Add member
11846 x_ira_exclude_class_mode_regs.
11847 (ira_exclude_class_mode_regs): New macro.
11848 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
11849 move from here ...
11850 * lra-int.h: ... to here.
11851 (lra_create_new_reg_with_unique_value): Add arg
11852 exclude_start_hard_regs.
11853 (class lra_reg): Add member exclude_start_hard_regs.
11854 * lra-assigns.cc (find_hard_regno_for_1): Setup
11855 impossible_start_hard_regs from exclude_start_hard_regs.
11856 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
11857 it lra_create_new_reg[_with_unique_value].
11858 (match_reload): Ditto.
11859 (check_and_process_move): Pass NULL
11860 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
11861 (goal_alt_exclude_start_hard_regs): New static variable.
11862 (process_addr_reg, simplify_operand_subreg): Pass NULL
11863 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
11864 and get_reload_reg.
11865 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
11866 Use this_alternative_exclude_start_hard_regs additionally to find
11867 winning operand alternative.
11868 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
11869 exclude_start_hard_regs to lra_create_new_reg.
11870 (process_address_1, emit_inc): Ditto.
11871 (curr_insn_transform): Pass exclude_start_hard_regs value to
11872 lra_create_new_reg, get_reload_reg, match_reload.
11873 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
11874 to lra_create_new_reg.
11875 (process_invariant_for_inheritance): Ditto.
11876 * lra-remat.cc (update_scratch_ops): Ditto.
11877 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
11878 exclude_start_hard_regs. Setup the corresponding member of
11879 lra reg info.
11880 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
11881 to lra_create_new_reg_with_unique_value.
11882 (initialize_lra_reg_info_element): Initialize member
11883 exclude_start_hard_regs.
11884 (get_scratch_reg): Pass NULL to lra_create_new_reg.
11885 * ira.cc (setup_prohibited_class_mode_regs): Rename to
11886 setup_prohibited_and_exclude_class_mode_regs and calculate
11887 ira_exclude_class_mode_regs.
11888
11889 2022-01-21 Martin Liska <mliska@suse.cz>
11890
11891 * configure.ac: Detect ld_is_mold and use it for
11892 comdat_group=yes and gcc_cv_ld_hidden=yes.
11893 * configure: Regenerate.
11894
11895 2022-01-21 Richard Biener <rguenther@suse.de>
11896
11897 PR tree-optimization/100089
11898 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
11899 of if-converted loops with unvectorized COND_EXPRs for
11900 all but the unlimited cost models.
11901
11902 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
11903
11904 * config/arm/arm-opts.h (enum stack_protector_guard): New.
11905 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
11906 New.
11907 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
11908 (arm_option_override_internal): Handle and put in error checks.
11909 for stack protector guard options.
11910 (arm_option_reconfigure_globals): Likewise.
11911 (arm_stack_protect_tls_canary_mem): New.
11912 (arm_stack_protect_guard): New.
11913 * config/arm/arm.md (stack_protect_set): New.
11914 (stack_protect_set_tls): Likewise.
11915 (stack_protect_test): Likewise.
11916 (stack_protect_test_tls): Likewise.
11917 (reload_tp_hard): Likewise.
11918 * config/arm/arm.opt (-mstack-protector-guard): New
11919 (-mstack-protector-guard-offset): New.
11920 * doc/invoke.texi: Document new options.
11921
11922 2022-01-21 Richard Biener <rguenther@suse.de>
11923
11924 PR tree-optimization/104156
11925 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
11926 Collect and reset debug stmts with out-of-loop uses when
11927 hoisting guards.
11928 (find_loop_guard): Adjust.
11929 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
11930 (used_outside_loop_p): Push debug uses to a vector of
11931 debug stmts to reset.
11932 (hoist_guard): Adjust -fopt-info category.
11933
11934 2022-01-21 Richard Biener <rguenther@suse.de>
11935
11936 PR tree-optimization/104152
11937 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
11938 can_duplicate_and_interleave_p check.
11939
11940 2022-01-21 Jakub Jelinek <jakub@redhat.com>
11941
11942 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
11943 Avoid passing var to warning_at when the format string doesn't
11944 refer to it.
11945
11946 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
11947
11948 PR tree-optimization/103721
11949 * gimple-range-path.cc
11950 (path_range_query::relations_may_be_invalidated): New.
11951 (path_range_query::compute_ranges_in_block): Reset relations if
11952 they may be invalidated.
11953 (path_range_query::maybe_register_phi_relation): Exit if relations
11954 may be invalidated on incoming edge.
11955 (path_range_query::compute_phi_relations): Pass incoming PHI edge
11956 to maybe_register_phi_relation.
11957 * gimple-range-path.h (relations_may_be_invalidated): New.
11958 (maybe_register_phi_relation): Pass edge instead of tree.
11959 * tree-ssa-threadbackward.cc (back_threader::back_threader):
11960 Mark DFS edges.
11961 * value-relation.cc (path_oracle::path_oracle): Call
11962 mark_dfs_back_edges.
11963 (path_oracle::register_relation): Add SSA names to m_registered
11964 bitmap.
11965 (path_oracle::reset_path): Clear m_registered bitmap.
11966 * value-relation.h (path_oracle::set_root_oracle): New.
11967
11968 2022-01-21 Jakub Jelinek <jakub@redhat.com>
11969
11970 PR rtl-optimization/102478
11971 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
11972 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
11973 would be needed.
11974
11975 2022-01-20 Richard Biener <rguenther@suse.de>
11976
11977 PR middle-end/100786
11978 * gimple-fold.cc (get_symbol_constant_value): Only return
11979 values of compatible type to the symbol.
11980
11981 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
11982
11983 * value-relation.cc (relation_oracle::valid_equivs): Query and add
11984 if valid members of a set.
11985 (equiv_oracle::register_equiv): Call valid_equivs rather than
11986 bitmap direct operations.
11987 (path_oracle::register_equiv): Ditto.
11988 * value-relation.h (relation_oracle::valid_equivs): New prototype.
11989
11990 2022-01-20 Richard Biener <rguenther@suse.de>
11991
11992 PR target/100784
11993 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
11994 LHS before folding __builtin_ia32_shufpd and friends.
11995
11996 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
11997
11998 * config/arm/crypto.md (aes_op_protect): Allow moves from core
11999 registers and from memory.
12000 (aes_op_protect_misalign_load): New pattern.
12001 (aes_op_protect_neon_vld1v16qi): New pattern.
12002
12003 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
12004
12005 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
12006 New pattern.
12007 (aarch32_crypto_aese_fused_protected): Likewise.
12008 (aarch32_crypto_aesd_fused_protected): Likewise.
12009
12010 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
12011
12012 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
12013 to define_expand. Add mitigation for the Cortex-A AES erratum
12014 when enabled.
12015 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
12016 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
12017 (aes_op_protect): New pattern.
12018 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
12019
12020 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
12021
12022 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
12023 (ALL_QUIRKS): Add it.
12024 (cortex-a57, cortex-a72): Enable it.
12025 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
12026 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
12027 option.
12028 (mfix-cortex-a72-aes-1655431): New option alias.
12029 * config/arm/arm.cc (arm_option_override): Handle default settings
12030 for AES erratum switch.
12031 * doc/invoke.texi (Arm Options): Document new options.
12032
12033 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
12034
12035 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
12036 <crypto_mode> rather than hard-coding the mode.
12037 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
12038 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
12039 (*aarch32_crypto_aese_fused): Likewise.
12040 (*aarch32_crypto_aesd_fused): Likewise.
12041 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
12042 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
12043 (crypto_sha1h_lb): Likewise.
12044 (crypto_vmullp64): Likewise.
12045 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
12046 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
12047
12048 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
12049
12050 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
12051 iterator to pattern name to disambiguate.
12052 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
12053 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
12054 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
12055 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
12056 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
12057
12058 2022-01-20 Martin Liska <mliska@suse.cz>
12059
12060 PR bootstrap/104135
12061 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
12062 * rtl.cc: Partially disable -Wformat-diag for RTL checking
12063 error messages.
12064
12065 2022-01-20 Jakub Jelinek <jakub@redhat.com>
12066
12067 PR debug/103874
12068 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
12069 block_num > 0, index entry even if !have_multiple_function_sections.
12070
12071 2022-01-20 liuhongt <hongtao.liu@intel.com>
12072
12073 PR target/103771
12074 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
12075 integral mode mask pack by multi steps which takes
12076 vec_pack_sbool_trunc_optab as start when elements number is
12077 less than BITS_PER_UNITS.
12078
12079 2022-01-20 Richard Biener <rguenther@suse.de>
12080
12081 PR tree-optimization/104114
12082 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
12083 single element vector decomposition.
12084
12085 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
12086
12087 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
12088 (noce_convert_multiple_sets): Call function a second time if we can
12089 improve the first try.
12090
12091 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
12092
12093 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
12094 reversed comparison.
12095 (try_emit_cmove_seq): New function to facilitate creating a cmov
12096 sequence.
12097 (noce_convert_multiple_sets): Create two sequences and use the less
12098 expensive one.
12099
12100 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
12101
12102 * rtl.h (struct rtx_comparison): New struct that holds an rtx
12103 comparison.
12104 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
12105 single parameters.
12106 (rs6000_emit_swsqrt): Likewise.
12107 * expmed.cc (expand_sdiv_pow2): Likewise.
12108 (emit_store_flag): Likewise.
12109 * expr.cc (expand_cond_expr_using_cmove): Likewise.
12110 (expand_expr_real_2): Likewise.
12111 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
12112 parameters.
12113 * optabs.cc (emit_conditional_move_1): New function.
12114 (expand_doubleword_shift_condmove): Use struct.
12115 (emit_conditional_move): Use struct and allow to call directly
12116 without going through preparation steps.
12117 * optabs.h (emit_conditional_move): Use struct.
12118
12119 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
12120
12121 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
12122 (noce_process_if_block): Use potential costs.
12123
12124 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
12125
12126 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
12127 (bb_ok_for_noce_convert_multiple_sets): Likewise.
12128
12129 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
12130
12131 * ifcvt.cc (need_cmov_or_rewire): New function.
12132 (noce_convert_multiple_sets): Call it.
12133
12134 2022-01-19 David Malcolm <dmalcolm@redhat.com>
12135
12136 * attribs.cc (attribute_c_tests): Rename to...
12137 (attribs_cc_tests): ...this.
12138 * bitmap.cc (bitmap_c_tests): Rename to...
12139 (bitmap_cc_tests): ...this.
12140 * cgraph.cc (cgraph_c_finalize): Rename to...
12141 (cgraph_cc_finalize): ...this.
12142 (cgraph_c_tests): Rename to...
12143 (cgraph_cc_tests): ...this.
12144 * cgraph.h (cgraph_c_finalize): Rename to...
12145 (cgraph_cc_finalize): ...this.
12146 (cgraphunit_c_finalize): Rename to...
12147 (cgraphunit_cc_finalize): ...this.
12148 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
12149 (cgraphunit_cc_finalize): ...this.
12150 * convert.cc (convert_c_tests): Rename to...
12151 (convert_cc_tests): ...this.
12152 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
12153 (dbgcnt_cc_tests): ...this.
12154 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
12155 (diagnostic_show_locus_cc_tests): ...this.
12156 * diagnostic.cc (diagnostic_c_tests): Rename to...
12157 (diagnostic_cc_tests): ...this.
12158 * dumpfile.cc (dumpfile_c_tests): Rename to...
12159 (dumpfile_cc_tests): ...this.
12160 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
12161 (dwarf2out_cc_finalize): ...this.
12162 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
12163 (dwarf2out_cc_finalize): ...this.
12164 * edit-context.cc (edit_context_c_tests): Rename to...
12165 (edit_context_cc_tests): ...this.
12166 * et-forest.cc (et_forest_c_tests): Rename to...
12167 (et_forest_cc_tests): ...this.
12168 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
12169 (fibonacci_heap_cc_tests): ...this.
12170 * fold-const.cc (fold_const_c_tests): Rename to...
12171 (fold_const_cc_tests): ...this.
12172 * function-tests.cc (function_tests_c_tests): Rename to...
12173 (function_tests_cc_tests): ...this.
12174 * gcse.cc (gcse_c_finalize): Rename to...
12175 (gcse_cc_finalize): ...this.
12176 * gcse.h (gcse_c_finalize): Rename to...
12177 (gcse_cc_finalize): ...this.
12178 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
12179 (ggc_tests_cc_tests): ...this.
12180 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
12181 (store_merging_cc_tests): ...this.
12182 * gimple.cc (gimple_c_tests): Rename to...
12183 (gimple_cc_tests): ...this.
12184 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
12185 (hash_map_tests_cc_tests): ...this.
12186 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
12187 (hash_set_tests_cc_tests): ...this.
12188 * input.cc (input_c_tests): Rename to...
12189 (input_cc_tests): ...this.
12190 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
12191 (ipa_cp_cc_finalize): ...this.
12192 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
12193 (ipa_fnsummary_cc_finalize): ...this.
12194 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
12195 (ipa_fnsummary_cc_finalize): ...this.
12196 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
12197 (ipa_modref_tree_cc_tests): ...this.
12198 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
12199 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
12200 (ipa_modref_cc_finalize): ...this.
12201 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
12202 (ipa_modref_cc_finalize): ...this.
12203 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
12204 (ipa_cp_cc_finalize): ...this.
12205 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
12206 (ipa_reference_cc_finalize): ...this.
12207 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
12208 (ipa_reference_cc_finalize): ...this.
12209 * ira-costs.cc (ira_costs_c_finalize): Rename to...
12210 (ira_costs_cc_finalize): ...this.
12211 * ira.h (ira_costs_c_finalize): Rename to...
12212 (ira_costs_cc_finalize): ...this.
12213 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
12214 (opt_suggestions_cc_tests): ...this.
12215 * opts.cc (opts_c_tests): Rename to...
12216 (opts_cc_tests): ...this.
12217 * predict.cc (predict_c_tests): Rename to...
12218 (predict_cc_tests): ...this.
12219 * pretty-print.cc (pretty_print_c_tests): Rename to...
12220 (pretty_print_cc_tests): ...this.
12221 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
12222 (read_rtl_function_cc_tests): ...this.
12223 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
12224 (rtl_tests_cc_tests): ...this.
12225 * sbitmap.cc (sbitmap_c_tests): Rename to...
12226 (sbitmap_cc_tests): ...this.
12227 * selftest-run-tests.cc (selftest::run_tests): Update calls for
12228 _c_ to _cc_ function renamings; fix names of attribs and
12229 opt-suggestions tests.
12230 * selftest.cc (selftest_c_tests): Rename to...
12231 (selftest_cc_tests): ...this.
12232 * selftest.h (attribute_c_tests): Rename to...
12233 (attribs_cc_tests): ...this.
12234 (bitmap_c_tests): Rename to...
12235 (bitmap_cc_tests): ...this.
12236 (cgraph_c_tests): Rename to...
12237 (cgraph_cc_tests): ...this.
12238 (convert_c_tests): Rename to...
12239 (convert_cc_tests): ...this.
12240 (diagnostic_c_tests): Rename to...
12241 (diagnostic_cc_tests): ...this.
12242 (diagnostic_show_locus_c_tests): Rename to...
12243 (diagnostic_show_locus_cc_tests): ...this.
12244 (dumpfile_c_tests): Rename to...
12245 (dumpfile_cc_tests): ...this.
12246 (edit_context_c_tests): Rename to...
12247 (edit_context_cc_tests): ...this.
12248 (et_forest_c_tests): Rename to...
12249 (et_forest_cc_tests): ...this.
12250 (fibonacci_heap_c_tests): Rename to...
12251 (fibonacci_heap_cc_tests): ...this.
12252 (fold_const_c_tests): Rename to...
12253 (fold_const_cc_tests): ...this.
12254 (function_tests_c_tests): Rename to...
12255 (function_tests_cc_tests): ...this.
12256 (ggc_tests_c_tests): Rename to...
12257 (ggc_tests_cc_tests): ...this.
12258 (gimple_c_tests): Rename to...
12259 (gimple_cc_tests): ...this.
12260 (hash_map_tests_c_tests): Rename to...
12261 (hash_map_tests_cc_tests): ...this.
12262 (hash_set_tests_c_tests): Rename to...
12263 (hash_set_tests_cc_tests): ...this.
12264 (input_c_tests): Rename to...
12265 (input_cc_tests): ...this.
12266 (opts_c_tests): Rename to...
12267 (opts_cc_tests): ...this.
12268 (predict_c_tests): Rename to...
12269 (predict_cc_tests): ...this.
12270 (pretty_print_c_tests): Rename to...
12271 (pretty_print_cc_tests): ...this.
12272 (read_rtl_function_c_tests): Rename to...
12273 (read_rtl_function_cc_tests): ...this.
12274 (rtl_tests_c_tests): Rename to...
12275 (rtl_tests_cc_tests): ...this.
12276 (sbitmap_c_tests): Rename to...
12277 (sbitmap_cc_tests): ...this.
12278 (selftest_c_tests): Rename to...
12279 (selftest_cc_tests): ...this.
12280 (simplify_rtx_c_tests): Rename to...
12281 (simplify_rtx_cc_tests): ...this.
12282 (spellcheck_c_tests): Rename to...
12283 (spellcheck_cc_tests): ...this.
12284 (spellcheck_tree_c_tests): Rename to...
12285 (spellcheck_tree_cc_tests): ...this.
12286 (sreal_c_tests): Rename to...
12287 (sreal_cc_tests): ...this.
12288 (store_merging_c_tests): Rename to...
12289 (store_merging_cc_tests): ...this.
12290 (tree_c_tests): Rename to...
12291 (tree_cc_tests): ...this.
12292 (tree_cfg_c_tests): Rename to...
12293 (tree_cfg_cc_tests): ...this.
12294 (typed_splay_tree_c_tests): Rename to...
12295 (typed_splay_tree_cc_tests): ...this.
12296 (vec_c_tests): Rename to...
12297 (vec_cc_tests): ...this.
12298 (vec_perm_indices_c_tests): Rename to...
12299 (vec_perm_indices_cc_tests): ..this.
12300 (opt_proposer_c_tests): Rename to...
12301 (opt_suggestions_cc_tests): ...this.
12302 (dbgcnt_c_tests): Rename to...
12303 (dbgcnt_cc_tests): ...this.
12304 (ipa_modref_tree_c_tests): Rename to...
12305 (ipa_modref_tree_cc_tests): ...this.
12306 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
12307 (simplify_rtx_cc_tests): ...this.
12308 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
12309 (spellcheck_tree_cc_tests): ...this.
12310 * spellcheck.cc (spellcheck_c_tests): Rename to...
12311 (spellcheck_cc_tests): ...this.
12312 * sreal.cc (sreal_c_tests): Rename to...
12313 (sreal_cc_tests): ...this.
12314 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
12315 function renamings.
12316 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
12317 (tree_cfg_cc_tests): ...this.
12318 * tree.cc (tree_c_tests): Rename to...
12319 (tree_cc_tests): ...this.
12320 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
12321 (typed_splay_tree_cc_tests): ...this.
12322 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
12323 (vec_perm_indices_cc_tests): ...this.
12324 * vec.cc (vec_c_tests): Rename to...
12325 (vec_cc_tests): ...this.
12326
12327 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
12328
12329 PR tree-optimization/103997
12330 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
12331 vectorization.
12332
12333 2022-01-19 Jakub Jelinek <jakub@redhat.com>
12334
12335 PR middle-end/102860
12336 * match.pd (x %[fl] y -> x % y): New simplification for
12337 unsigned integral types.
12338 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
12339 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
12340
12341 2022-01-19 Richard Biener <rguenther@suse.de>
12342
12343 PR tree-optimization/104112
12344 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
12345 for required intermediate vector types.
12346
12347 2022-01-19 Jakub Jelinek <jakub@redhat.com>
12348
12349 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
12350
12351 2022-01-19 Martin Liska <mliska@suse.cz>
12352
12353 * configure.ac: Remove -Wno-error=format-diag.
12354 * configure: Regenerate.
12355
12356 2022-01-19 Martin Liska <mliska@suse.cz>
12357
12358 * config/riscv/riscv.cc (riscv_handle_type_attribute):
12359 Update one -Wformat-diag string in warning message.
12360
12361 2022-01-19 Jakub Jelinek <jakub@redhat.com>
12362
12363 PR middle-end/104103
12364 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
12365 .ASAN_MARK calls.
12366
12367 2022-01-19 Jakub Jelinek <jakub@redhat.com>
12368
12369 PR c++/89074
12370 * fold-const.cc (address_compare): Consider different STRING_CSTs
12371 with the same lengths that memcmp the same as equal, not different.
12372
12373 2022-01-19 Jakub Jelinek <jakub@redhat.com>
12374
12375 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
12376 {%0}.
12377
12378 2022-01-19 Martin Liska <mliska@suse.cz>
12379 Thomas Schwinge <thomas@codesourcery.com>
12380
12381 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
12382 warning messages.
12383
12384 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
12385
12386 PR target/104090
12387 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
12388 rs6000_cpu.
12389
12390 2022-01-19 Jakub Jelinek <jakub@redhat.com>
12391
12392 PR target/104104
12393 * config/i386/sse.md
12394 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
12395 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
12396 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
12397 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
12398 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
12399 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
12400 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
12401 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
12402 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
12403
12404 2022-01-19 Martin Sebor <msebor@redhat.com>
12405
12406 PR middle-end/104069
12407 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
12408 an unknown result as documented.
12409
12410 2022-01-18 Andrew Pinski <apinski@marvell.com>
12411
12412 * ipa-split.cc (visit_bb): Fix comment before the
12413 warning/error attribute checking code.
12414
12415 2022-01-18 David Faust <david.faust@oracle.com>
12416
12417 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
12418 for base strtab offset yet as it may change.
12419 (output_asm_btfext_core_reloc): Do so here instead.
12420 (output_btfext_core_sections): Likewise.
12421
12422 2022-01-18 David Faust <david.faust@oracle.com>
12423
12424 * config/bpf/coreout.cc (output_btfext_header): Account for
12425 4-byte record size in core_relo_len.
12426 (output_btfext_core_sections): Only write record size once.
12427 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
12428 member.
12429
12430 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
12431
12432 * common/config/riscv/riscv-common.cc
12433 (riscv_subset_list::parse_multiletter_ext): Move pointer
12434 arithmetic ahead of `free'.
12435
12436 2022-01-18 Jason Merrill <jason@redhat.com>
12437
12438 PR c++/104007
12439 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
12440 context.
12441
12442 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
12443
12444 PR middle-end/103163
12445 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
12446 (init_emit_once): ...not here.
12447
12448 2022-01-18 Martin Liska <mliska@suse.cz>
12449
12450 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
12451 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
12452 * config/arc/arc.md: Likewise.
12453 * config/avr/avr.cc (avr_section_type_flags): Likewise.
12454 * config/bfin/bfin.cc (bfin_option_override): Likewise.
12455 (bfin_handle_longcall_attribute): Likewise.
12456 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
12457 * config/frv/frv.cc (frv_expand_builtin): Likewise.
12458 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
12459 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
12460 (iq2000_print_operand_address): Likewise.
12461 (iq2000_print_operand): Likewise.
12462 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
12463 (m32c_pragma_address): Likewise.
12464 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
12465 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
12466 (mips_set_compression_mode): Likewise.
12467 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
12468 (mmix_print_operand): Likewise.
12469 (mmix_output_shiftvalue_op_from_str): Likewise.
12470 (mmix_output_shifted_value): Likewise.
12471 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
12472 * config/msp430/msp430.cc (msp430_option_override): Likewise.
12473 (msp430_attr): Likewise.
12474 (msp430_expand_delay_cycles): Likewise.
12475 (msp430_expand_builtin): Likewise.
12476 * config/rs6000/aix73.h: Likewise.
12477 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
12478 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
12479 (valid_psw_flag): Likewise.
12480 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
12481 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
12482 (xstormy16_expand_builtin_va_start): Likewise.
12483 (xstormy16_handle_below100_attribute): Likewise.
12484
12485 2022-01-18 Martin Liska <mliska@suse.cz>
12486
12487 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
12488 warning.
12489 (vms_pragma_standard): Likewise.
12490 (vms_pragma_extern_prefix): Likewise.
12491
12492 2022-01-18 Martin Liska <mliska@suse.cz>
12493
12494 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
12495 (print_operand_address): Likewise.
12496 (xtensa_multibss_section_type_flags): Likewise.
12497
12498 2022-01-18 Martin Liska <mliska@suse.cz>
12499
12500 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
12501 wording of an error message.
12502
12503 2022-01-18 Martin Liska <mliska@suse.cz>
12504
12505 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
12506 warning.
12507 (ghs_pragma_section): Likewise.
12508 (ghs_pragma_interrupt): Likewise.
12509 (ghs_pragma_starttda): Likewise.
12510 (ghs_pragma_startsda): Likewise.
12511 (ghs_pragma_startzda): Likewise.
12512 (ghs_pragma_endtda): Likewise.
12513 (ghs_pragma_endsda): Likewise.
12514 (ghs_pragma_endzda): Likewise.
12515
12516 2022-01-18 Martin Liska <mliska@suse.cz>
12517
12518 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
12519 Fix warnings.
12520 * config/nds32/nds32-intrinsic.md: Likewise.
12521 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
12522 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
12523 (nds32_insert_attributes): Likewise.
12524
12525 2022-01-18 Martin Liska <mliska@suse.cz>
12526
12527 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
12528 keyword.
12529 * config/nvptx/nvptx.md: Remove trailing dot.
12530
12531 2022-01-18 Martin Liska <mliska@suse.cz>
12532
12533 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
12534 Wrap keywords with quotes and remove trailing dots.
12535 (riscv_subset_list::parsing_subset_version): Likewise.
12536 (riscv_subset_list::parse_std_ext): Likewise.
12537 (riscv_subset_list::parse_multiletter_ext): Likewise.
12538 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
12539
12540 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
12541
12542 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
12543 argument suggested_unroll_factor.
12544 (vect_analyze_loop_costing): Likewise.
12545 (_loop_vec_info::_loop_vec_info): Initialize new member
12546 suggested_unroll_factor.
12547 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
12548 main loop use partial vectors.
12549 (vect_analyze_loop_2): Pass and use new argument
12550 suggested_unroll_factor.
12551 (vect_analyze_loop_1): Change to intialize local
12552 suggested_unroll_factor and use it.
12553 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
12554 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
12555 suggested_unroll_factor.
12556 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
12557 (vector_costs::suggested_unroll_factor): New getter function.
12558 (finish_cost): Set return argument suggested_unroll_factor.
12559
12560 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
12561
12562 PR tree-optimization/104038
12563 * doc/invoke.texi (relation-block-limit): New.
12564 * params.opt (relation-block-limit): New.
12565 * value-relation.cc (dom_oracle::register_relation): Check for NULL
12566 record before invoking transitive registery.
12567 (dom_oracle::set_one_relation): Check limit before creating record.
12568 (dom_oracle::register_transitives): Stop when no record created.
12569 * value-relation.h (relation_chain_head::m_num_relations): New.
12570
12571 2022-01-18 Richard Biener <rguenther@suse.de>
12572
12573 PR ipa/103989
12574 * ipa-inline.cc (inline_small_functions): Do not enqueue call
12575 edges originating in functions compiled with -Og.
12576
12577 2022-01-18 Richard Biener <rguenther@suse.de>
12578
12579 PR ipa/103989
12580 * passes.def (pass_all_optimizations_g): Remove pass_modref
12581 and pass_local_pure_const.
12582
12583 2022-01-18 Martin Liska <mliska@suse.cz>
12584
12585 * config/s390/s390.cc: Fix -Wformat-diag warnings.
12586
12587 2022-01-18 Martin Liska <mliska@suse.cz>
12588
12589 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
12590 keyword in quotes.
12591 (s390_resolve_overloaded_builtin): Remove trailing dot.
12592 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
12593 (s390_expand_builtin): Remove trailing dot.
12594 (s390_emit_prologue): Likewise, use semicolon.
12595 (s390_option_override_internal): Update keyword.
12596 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
12597
12598 2022-01-18 Martin Liska <mliska@suse.cz>
12599
12600 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
12601 keywords and use %qs instead of %<%s%>.
12602
12603 2022-01-18 Richard Biener <rguenther@suse.de>
12604
12605 PR tree-optimization/103987
12606 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
12607 query with a pointer check.
12608
12609 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
12610
12611 PR target/104005
12612 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
12613 When using MEM_EXPR, require the base to be a decl.
12614
12615 2022-01-18 Richard Biener <rguenther@suse.de>
12616
12617 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
12618 avoid padding.
12619 * function.h (struct function): Likewise.
12620
12621 2022-01-18 Arnaud Charlet <charlet@adacore.com>
12622
12623 * doc/install.texi: Update prerequisites for GNAT
12624
12625 2022-01-18 Andrew Pinski <apinski@marvell.com>
12626
12627 PR tree-optimization/101941
12628 * ipa-split.cc (visit_bb): Disallow function calls where
12629 the function has either error or warning attribute.
12630
12631 2022-01-18 Richard Biener <rguenther@suse.de>
12632
12633 PR tree-optimization/104064
12634 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
12635 DR_INIT fits in a signed HWI, represent the difference from the
12636 first DR in unsigned.
12637
12638 2022-01-17 Martin Liska <mliska@suse.cz>
12639
12640 * Makefile.in: Rename .c names to .cc.
12641 * config.gcc: Likewise.
12642 * configure: Regenerate. Likewise.
12643 * configure.ac: Likewise.
12644 * gengtype.cc (set_gc_used): Likewise.
12645 (source_dot_c_frul): Likewise.
12646 (source_dot_cc_frul): Likewise.
12647 (struct file_rule_st): Likewise.
12648 (close_output_files): Likewise.
12649 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
12650
12651 2022-01-17 Martin Liska <mliska@suse.cz>
12652
12653 * Makefile.in: Rename .c names to .cc.
12654 * alias.h: Likewise.
12655 * asan.cc: Likewise.
12656 * auto-profile.h: Likewise.
12657 * basic-block.h (struct basic_block_d): Likewise.
12658 * btfout.cc: Likewise.
12659 * builtins.cc (expand_builtin_longjmp): Likewise.
12660 (validate_arg): Likewise.
12661 (access_ref::offset_bounded): Likewise.
12662 * caller-save.cc (reg_restore_code): Likewise.
12663 (setup_save_areas): Likewise.
12664 * calls.cc (initialize_argument_information): Likewise.
12665 (expand_call): Likewise.
12666 (emit_library_call_value_1): Likewise.
12667 * cfg-flags.def (RTL): Likewise.
12668 (SIBCALL): Likewise.
12669 (CAN_FALLTHRU): Likewise.
12670 * cfganal.cc (post_order_compute): Likewise.
12671 * cfgcleanup.cc (try_simplify_condjump): Likewise.
12672 (merge_blocks_move_predecessor_nojumps): Likewise.
12673 (merge_blocks_move_successor_nojumps): Likewise.
12674 (merge_blocks_move): Likewise.
12675 (old_insns_match_p): Likewise.
12676 (try_crossjump_bb): Likewise.
12677 * cfgexpand.cc (expand_gimple_stmt): Likewise.
12678 * cfghooks.cc (split_block_before_cond_jump): Likewise.
12679 (profile_record_check_consistency): Likewise.
12680 * cfghooks.h: Likewise.
12681 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
12682 (rtl_can_merge_blocks): Likewise.
12683 (try_redirect_by_replacing_jump): Likewise.
12684 (make_pass_outof_cfg_layout_mode): Likewise.
12685 (cfg_layout_can_merge_blocks_p): Likewise.
12686 * cgraph.cc (release_function_body): Likewise.
12687 (cgraph_node::get_fun): Likewise.
12688 * cgraph.h (struct cgraph_node): Likewise.
12689 (asmname_hasher::equal): Likewise.
12690 (cgraph_inline_failed_type): Likewise.
12691 (thunk_adjust): Likewise.
12692 (dump_callgraph_transformation): Likewise.
12693 (record_references_in_initializer): Likewise.
12694 (ipa_discover_variable_flags): Likewise.
12695 * cgraphclones.cc (GTY): Likewise.
12696 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
12697 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
12698 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
12699 * collect2.cc (maybe_run_lto_and_relink): Likewise.
12700 * combine-stack-adj.cc: Likewise.
12701 * combine.cc (setup_incoming_promotions): Likewise.
12702 (combine_simplify_rtx): Likewise.
12703 (count_rtxs): Likewise.
12704 * common.opt: Likewise.
12705 * common/config/aarch64/aarch64-common.cc: Likewise.
12706 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
12707 * common/config/avr/avr-common.cc: Likewise.
12708 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
12709 * conditions.h: Likewise.
12710 * config.gcc: Likewise.
12711 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
12712 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
12713 (aarch64_get_extension_string_for_isa_flags): Likewise.
12714 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
12715 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
12716 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
12717 (aarch64_option_valid_attribute_p): Likewise.
12718 (aarch64_short_vector_p): Likewise.
12719 (aarch64_float_const_representable_p): Likewise.
12720 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
12721 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
12722 (GTY): Likewise.
12723 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
12724 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
12725 * config/aarch64/t-aarch64: Likewise.
12726 * config/aarch64/x-aarch64: Likewise.
12727 * config/aarch64/x-darwin: Likewise.
12728 * config/alpha/alpha-protos.h: Likewise.
12729 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
12730 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
12731 (enum reg_class): Likewise.
12732 * config/alpha/alpha.md: Likewise.
12733 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
12734 * config/alpha/x-alpha: Likewise.
12735 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
12736 * config/arc/arc.cc (ARC_OPT): Likewise.
12737 (arc_ccfsm_advance): Likewise.
12738 (arc_arg_partial_bytes): Likewise.
12739 (conditionalize_nonjump): Likewise.
12740 * config/arc/arc.md: Likewise.
12741 * config/arc/builtins.def: Likewise.
12742 * config/arc/t-arc: Likewise.
12743 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
12744 (arm_pragma_target_parse): Likewise.
12745 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
12746 (arm_cpu_cpp_builtins): Likewise.
12747 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
12748 (shift_op): Likewise.
12749 (thumb2_final_prescan_insn): Likewise.
12750 (arm_final_prescan_insn): Likewise.
12751 (arm_asm_output_labelref): Likewise.
12752 (arm_small_register_classes_for_mode_p): Likewise.
12753 * config/arm/arm.h: Likewise.
12754 * config/arm/arm.md: Likewise.
12755 * config/arm/driver-arm.cc: Likewise.
12756 * config/arm/symbian.h: Likewise.
12757 * config/arm/t-arm: Likewise.
12758 * config/arm/thumb1.md: Likewise.
12759 * config/arm/x-arm: Likewise.
12760 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
12761 * config/avr/avr-fixed.md: Likewise.
12762 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
12763 * config/avr/avr-mcus.def: Likewise.
12764 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
12765 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
12766 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
12767 * config/avr/avr.cc (avr_option_override): Likewise.
12768 (avr_build_builtin_va_list): Likewise.
12769 (avr_mode_dependent_address_p): Likewise.
12770 (avr_function_arg_advance): Likewise.
12771 (avr_asm_output_aligned_decl_common): Likewise.
12772 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
12773 (SUPPORTS_INIT_PRIORITY): Likewise.
12774 * config/avr/avr.md: Likewise.
12775 * config/avr/builtins.def: Likewise.
12776 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
12777 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
12778 (main): Likewise.
12779 * config/avr/t-avr: Likewise.
12780 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
12781 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
12782 * config/bpf/bpf.h (enum reg_class): Likewise.
12783 * config/bpf/t-bpf: Likewise.
12784 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
12785 * config/cr16/cr16-protos.h: Likewise.
12786 * config/cris/cris.cc (cris_address_cost): Likewise.
12787 (cris_side_effect_mode_ok): Likewise.
12788 (cris_init_machine_status): Likewise.
12789 (cris_emit_movem_store): Likewise.
12790 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
12791 (enum reg_class): Likewise.
12792 (struct cum_args): Likewise.
12793 * config/cris/cris.opt: Likewise.
12794 * config/cris/sync.md: Likewise.
12795 * config/csky/csky.cc (csky_expand_prologue): Likewise.
12796 * config/darwin-c.cc: Likewise.
12797 * config/darwin-f.cc: Likewise.
12798 * config/darwin-sections.def (zobj_const_section): Likewise.
12799 * config/darwin.cc (output_objc_section_asm_op): Likewise.
12800 (fprintf): Likewise.
12801 * config/darwin.h (GTY): Likewise.
12802 * config/elfos.h: Likewise.
12803 * config/epiphany/epiphany-sched.md: Likewise.
12804 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
12805 * config/epiphany/epiphany.h (GTY): Likewise.
12806 (NO_FUNCTION_CSE): Likewise.
12807 * config/epiphany/mode-switch-use.cc: Likewise.
12808 * config/epiphany/predicates.md: Likewise.
12809 * config/epiphany/t-epiphany: Likewise.
12810 * config/fr30/fr30-protos.h: Likewise.
12811 * config/frv/frv-protos.h: Likewise.
12812 * config/frv/frv.cc (TLS_BIAS): Likewise.
12813 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
12814 * config/ft32/ft32-protos.h: Likewise.
12815 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
12816 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
12817 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
12818 * config/gcn/t-gcn-hsa: Likewise.
12819 * config/gcn/t-omp-device: Likewise.
12820 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
12821 (same_cmp_following_p): Likewise.
12822 * config/h8300/h8300.cc (F): Likewise.
12823 * config/h8300/h8300.h (struct cum_arg): Likewise.
12824 (BRANCH_COST): Likewise.
12825 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
12826 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
12827 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
12828 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
12829 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
12830 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
12831 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
12832 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
12833 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
12834 (ix86_register_pragmas): Likewise.
12835 (ix86_d_has_stdcall_convention): Likewise.
12836 (i386_pe_seh_init_sections): Likewise.
12837 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
12838 (ix86_function_value_regno_p): Likewise.
12839 (ix86_compute_frame_layout): Likewise.
12840 (legitimize_pe_coff_symbol): Likewise.
12841 (output_pic_addr_const): Likewise.
12842 * config/i386/i386.h (defined): Likewise.
12843 (host_detect_local_cpu): Likewise.
12844 (CONSTANT_ADDRESS_P): Likewise.
12845 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
12846 (struct machine_frame_state): Likewise.
12847 * config/i386/i386.md: Likewise.
12848 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
12849 * config/i386/mmx.md: Likewise.
12850 * config/i386/sse.md: Likewise.
12851 * config/i386/t-cygming: Likewise.
12852 * config/i386/t-djgpp: Likewise.
12853 * config/i386/t-gnu-property: Likewise.
12854 * config/i386/t-i386: Likewise.
12855 * config/i386/t-intelmic: Likewise.
12856 * config/i386/t-omp-device: Likewise.
12857 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
12858 (i386_pe_adjust_class_at_definition): Likewise.
12859 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
12860 (i386_pe_mangle_decl_assembler_name): Likewise.
12861 (i386_pe_encode_section_info): Likewise.
12862 * config/i386/x-cygwin: Likewise.
12863 * config/i386/x-darwin: Likewise.
12864 * config/i386/x-i386: Likewise.
12865 * config/i386/x-mingw32: Likewise.
12866 * config/i386/x86-tune-sched-core.cc: Likewise.
12867 * config/i386/x86-tune.def: Likewise.
12868 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
12869 * config/ia64/freebsd.h: Likewise.
12870 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
12871 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
12872 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
12873 (ia64_secondary_reload_class): Likewise.
12874 (bundling): Likewise.
12875 * config/ia64/ia64.h: Likewise.
12876 * config/ia64/ia64.md: Likewise.
12877 * config/ia64/predicates.md: Likewise.
12878 * config/ia64/sysv4.h: Likewise.
12879 * config/ia64/t-ia64: Likewise.
12880 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
12881 * config/iq2000/iq2000.md: Likewise.
12882 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
12883 (if): Likewise.
12884 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
12885 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
12886 * config/m32c/t-m32c: Likewise.
12887 * config/m32r/m32r-protos.h: Likewise.
12888 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
12889 * config/m32r/m32r.h: Likewise.
12890 * config/m32r/m32r.md: Likewise.
12891 * config/m68k/m68k-isas.def: Likewise.
12892 * config/m68k/m68k-microarchs.def: Likewise.
12893 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
12894 (m68k_epilogue_uses): Likewise.
12895 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
12896 (m68k_sched_adjust_cost): Likewise.
12897 (m68k_sched_md_init): Likewise.
12898 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
12899 (enum m68k_function_kind): Likewise.
12900 * config/m68k/m68k.md: Likewise.
12901 * config/m68k/m68kemb.h: Likewise.
12902 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
12903 * config/mcore/mcore-protos.h: Likewise.
12904 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
12905 (mcore_expand_prolog): Likewise.
12906 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
12907 * config/mcore/mcore.md: Likewise.
12908 * config/microblaze/microblaze-protos.h: Likewise.
12909 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
12910 (microblaze_function_prologue): Likewise.
12911 (microblaze_function_epilogue): Likewise.
12912 (microblaze_select_section): Likewise.
12913 (microblaze_asm_output_mi_thunk): Likewise.
12914 (microblaze_eh_return): Likewise.
12915 * config/microblaze/microblaze.h: Likewise.
12916 * config/microblaze/microblaze.md: Likewise.
12917 * config/microblaze/t-microblaze: Likewise.
12918 * config/mips/driver-native.cc: Likewise.
12919 * config/mips/loongson2ef.md: Likewise.
12920 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
12921 * config/mips/mips.cc (mips_rtx_costs): Likewise.
12922 (mips_output_filename): Likewise.
12923 (mips_output_function_prologue): Likewise.
12924 (mips_output_function_epilogue): Likewise.
12925 (mips_output_mi_thunk): Likewise.
12926 * config/mips/mips.h: Likewise.
12927 * config/mips/mips.md: Likewise.
12928 * config/mips/t-mips: Likewise.
12929 * config/mips/x-native: Likewise.
12930 * config/mmix/mmix-protos.h: Likewise.
12931 * config/mmix/mmix.cc (mmix_option_override): Likewise.
12932 (mmix_dbx_register_number): Likewise.
12933 (mmix_expand_prologue): Likewise.
12934 * config/mmix/mmix.h: Likewise.
12935 * config/mmix/mmix.md: Likewise.
12936 * config/mmix/predicates.md: Likewise.
12937 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
12938 (mn10300_legitimate_pic_operand_p): Likewise.
12939 * config/mn10300/mn10300.h (enum reg_class): Likewise.
12940 (NO_FUNCTION_CSE): Likewise.
12941 * config/moxie/moxie-protos.h: Likewise.
12942 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
12943 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
12944 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
12945 (msp430_incoming_return_addr_rtx): Likewise.
12946 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
12947 * config/msp430/t-msp430: Likewise.
12948 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
12949 (nds32_rtx_costs_size_prefer): Likewise.
12950 (nds32_init_rtx_costs): Likewise.
12951 * config/nds32/nds32-doubleword.md: Likewise.
12952 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
12953 (nds32_builtin_decl): Likewise.
12954 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
12955 (enum nds32_isr_nested_type): Likewise.
12956 (enum reg_class): Likewise.
12957 * config/nds32/predicates.md: Likewise.
12958 * config/nds32/t-nds32: Likewise.
12959 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
12960 * config/nvptx/nvptx-protos.h: Likewise.
12961 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
12962 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
12963 * config/nvptx/t-nvptx: Likewise.
12964 * config/nvptx/t-omp-device: Likewise.
12965 * config/pa/elf.h: Likewise.
12966 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
12967 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
12968 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
12969 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
12970 (pa_legitimize_reload_address): Likewise.
12971 (pa_can_use_return_insn): Likewise.
12972 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
12973 (som_output_text_section_asm_op): Likewise.
12974 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
12975 * config/pa/pa.md: Likewise.
12976 * config/pa/som.h: Likewise.
12977 * config/pa/t-pa: Likewise.
12978 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
12979 * config/pdp11/pdp11.h: Likewise.
12980 * config/pdp11/pdp11.md: Likewise.
12981 * config/pdp11/t-pdp11: Likewise.
12982 * config/pru/pru.md: Likewise.
12983 * config/pru/t-pru: Likewise.
12984 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
12985 (riscv_gpr_save_operation_p): Likewise.
12986 (riscv_d_register_target_info): Likewise.
12987 (riscv_init_builtins): Likewise.
12988 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
12989 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
12990 * config/riscv/t-riscv: Likewise.
12991 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
12992 * config/rl78/t-rl78: Likewise.
12993 * config/rs6000/aix.h: Likewise.
12994 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
12995 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
12996 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
12997 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
12998 * config/rs6000/driver-rs6000.cc: Likewise.
12999 * config/rs6000/freebsd.h: Likewise.
13000 * config/rs6000/freebsd64.h: Likewise.
13001 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
13002 * config/rs6000/rbtree.cc: Likewise.
13003 * config/rs6000/rbtree.h: Likewise.
13004 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
13005 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
13006 (rs6000_expand_builtin): Likewise.
13007 (rs6000_init_builtins): Likewise.
13008 * config/rs6000/rs6000-cpus.def: Likewise.
13009 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
13010 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
13011 (quad_address_offset_p): Likewise.
13012 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
13013 (rs6000_emit_epilogue): Likewise.
13014 * config/rs6000/rs6000-overload.def: Likewise.
13015 * config/rs6000/rs6000-p8swap.cc: Likewise.
13016 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
13017 (rs6000_const_f32_to_i32): Likewise.
13018 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
13019 (rs6000_debug_legitimize_address): Likewise.
13020 (rs6000_mode_dependent_address): Likewise.
13021 (rs6000_adjust_priority): Likewise.
13022 (rs6000_c_mode_for_suffix): Likewise.
13023 * config/rs6000/rs6000.h (defined): Likewise.
13024 (LONG_DOUBLE_TYPE_SIZE): Likewise.
13025 * config/rs6000/rs6000.md: Likewise.
13026 * config/rs6000/sysv4.h: Likewise.
13027 * config/rs6000/t-linux: Likewise.
13028 * config/rs6000/t-linux64: Likewise.
13029 * config/rs6000/t-rs6000: Likewise.
13030 * config/rs6000/x-darwin: Likewise.
13031 * config/rs6000/x-darwin64: Likewise.
13032 * config/rs6000/x-rs6000: Likewise.
13033 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
13034 * config/rx/rx.cc (rx_expand_builtin): Likewise.
13035 * config/s390/constraints.md: Likewise.
13036 * config/s390/driver-native.cc: Likewise.
13037 * config/s390/htmxlintrin.h: Likewise.
13038 * config/s390/s390-builtins.def (B_DEF): Likewise.
13039 (OB_DEF_VAR): Likewise.
13040 * config/s390/s390-builtins.h: Likewise.
13041 * config/s390/s390-c.cc: Likewise.
13042 * config/s390/s390-opts.h: Likewise.
13043 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
13044 (s390_register_target_pragmas): Likewise.
13045 * config/s390/s390.cc (s390_init_builtins): Likewise.
13046 (s390_expand_plus_operand): Likewise.
13047 (s390_expand_atomic): Likewise.
13048 (s390_valid_target_attribute_inner_p): Likewise.
13049 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
13050 * config/s390/s390.md: Likewise.
13051 * config/s390/t-s390: Likewise.
13052 * config/s390/vx-builtins.md: Likewise.
13053 * config/s390/x-native: Likewise.
13054 * config/sh/divtab-sh4-300.cc (main): Likewise.
13055 * config/sh/divtab-sh4.cc (main): Likewise.
13056 * config/sh/divtab.cc (main): Likewise.
13057 * config/sh/elf.h: Likewise.
13058 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
13059 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
13060 (sh_struct_value_rtx): Likewise.
13061 (sh_remove_reg_dead_or_unused_notes): Likewise.
13062 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
13063 * config/sh/t-sh: Likewise.
13064 * config/sol2-protos.h (solaris_override_options): Likewise.
13065 * config/sol2.h: Likewise.
13066 * config/sparc/driver-sparc.cc: Likewise.
13067 * config/sparc/freebsd.h: Likewise.
13068 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
13069 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
13070 (sparc_asan_shadow_offset): Likewise.
13071 * config/sparc/sparc.h: Likewise.
13072 * config/sparc/sparc.md: Likewise.
13073 * config/sparc/t-sparc: Likewise.
13074 * config/sparc/x-sparc: Likewise.
13075 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
13076 * config/t-darwin: Likewise.
13077 * config/t-dragonfly: Likewise.
13078 * config/t-freebsd: Likewise.
13079 * config/t-glibc: Likewise.
13080 * config/t-linux: Likewise.
13081 * config/t-netbsd: Likewise.
13082 * config/t-openbsd: Likewise.
13083 * config/t-pnt16-warn: Likewise.
13084 * config/t-sol2: Likewise.
13085 * config/t-vxworks: Likewise.
13086 * config/t-winnt: Likewise.
13087 * config/tilegx/t-tilegx: Likewise.
13088 * config/tilegx/tilegx-c.cc: Likewise.
13089 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
13090 * config/tilegx/tilegx.md: Likewise.
13091 * config/tilepro/t-tilepro: Likewise.
13092 * config/tilepro/tilepro-c.cc: Likewise.
13093 * config/v850/t-v850: Likewise.
13094 * config/v850/v850-protos.h: Likewise.
13095 * config/v850/v850.cc (F): Likewise.
13096 * config/v850/v850.h (enum reg_class): Likewise.
13097 (SLOW_BYTE_ACCESS): Likewise.
13098 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
13099 * config/vax/vax.h (enum reg_class): Likewise.
13100 * config/vax/vax.md: Likewise.
13101 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
13102 * config/visium/visium.h: Likewise.
13103 * config/vms/t-vms: Likewise.
13104 * config/vms/vms-crtlmap.map: Likewise.
13105 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
13106 * config/vx-common.h: Likewise.
13107 * config/x-darwin: Likewise.
13108 * config/x-hpux: Likewise.
13109 * config/x-linux: Likewise.
13110 * config/x-netbsd: Likewise.
13111 * config/x-openbsd: Likewise.
13112 * config/x-solaris: Likewise.
13113 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
13114 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
13115 * config/xtensa/xtensa.h: Likewise.
13116 * configure.ac: Likewise.
13117 * context.cc: Likewise.
13118 * convert.h: Likewise.
13119 * coretypes.h: Likewise.
13120 * coverage.cc: Likewise.
13121 * coverage.h: Likewise.
13122 * cppdefault.h (struct default_include): Likewise.
13123 * cprop.cc (local_cprop_pass): Likewise.
13124 (one_cprop_pass): Likewise.
13125 * cse.cc (hash_rtx_cb): Likewise.
13126 (fold_rtx): Likewise.
13127 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
13128 * data-streamer.h (bp_unpack_var_len_int): Likewise.
13129 (streamer_write_widest_int): Likewise.
13130 * dbgcnt.def: Likewise.
13131 * dbxout.cc (dbxout_early_global_decl): Likewise.
13132 (dbxout_common_check): Likewise.
13133 * dbxout.h: Likewise.
13134 * debug.h (struct gcc_debug_hooks): Likewise.
13135 (dump_go_spec_init): Likewise.
13136 * df-core.cc: Likewise.
13137 * df-scan.cc (df_insn_info_delete): Likewise.
13138 (df_insn_delete): Likewise.
13139 * df.h (debug_df_chain): Likewise.
13140 (can_move_insns_across): Likewise.
13141 * dfp.cc (decimal_from_binary): Likewise.
13142 * diagnostic-color.cc: Likewise.
13143 * diagnostic-event-id.h: Likewise.
13144 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
13145 * diagnostic.cc (bt_callback): Likewise.
13146 (num_digits): Likewise.
13147 * doc/avr-mmcu.texi: Likewise.
13148 * doc/cfg.texi: Likewise.
13149 * doc/contrib.texi: Likewise.
13150 * doc/cppinternals.texi: Likewise.
13151 * doc/extend.texi: Likewise.
13152 * doc/generic.texi: Likewise.
13153 * doc/gimple.texi: Likewise.
13154 * doc/gty.texi: Likewise.
13155 * doc/invoke.texi: Likewise.
13156 * doc/loop.texi: Likewise.
13157 * doc/lto.texi: Likewise.
13158 * doc/match-and-simplify.texi: Likewise.
13159 * doc/md.texi: Likewise.
13160 * doc/optinfo.texi: Likewise.
13161 * doc/options.texi: Likewise.
13162 * doc/passes.texi: Likewise.
13163 * doc/plugins.texi: Likewise.
13164 * doc/rtl.texi: Likewise.
13165 * doc/sourcebuild.texi: Likewise.
13166 * doc/tm.texi: Likewise.
13167 * doc/tm.texi.in: Likewise.
13168 * doc/tree-ssa.texi: Likewise.
13169 * dojump.cc (do_jump): Likewise.
13170 * dojump.h: Likewise.
13171 * dumpfile.cc (test_impl_location): Likewise.
13172 (test_capture_of_dump_calls): Likewise.
13173 * dumpfile.h (enum dump_kind): Likewise.
13174 (class dump_location_t): Likewise.
13175 (dump_enabled_p): Likewise.
13176 (enable_rtl_dump_file): Likewise.
13177 (dump_combine_total_stats): Likewise.
13178 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
13179 * dwarf2ctf.h (ctf_debug_finish): Likewise.
13180 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
13181 (struct loc_descr_context): Likewise.
13182 (rtl_for_decl_location): Likewise.
13183 (gen_subprogram_die): Likewise.
13184 (gen_label_die): Likewise.
13185 (is_trivial_indirect_ref): Likewise.
13186 (dwarf2out_late_global_decl): Likewise.
13187 (dwarf_file_hasher::hash): Likewise.
13188 (dwarf2out_end_source_file): Likewise.
13189 (dwarf2out_define): Likewise.
13190 (dwarf2out_early_finish): Likewise.
13191 * dwarf2out.h (struct dw_fde_node): Likewise.
13192 (struct dw_discr_list_node): Likewise.
13193 (output_loc_sequence_raw): Likewise.
13194 * emit-rtl.cc (gen_raw_REG): Likewise.
13195 (maybe_set_max_label_num): Likewise.
13196 * emit-rtl.h (struct rtl_data): Likewise.
13197 * errors.cc (internal_error): Likewise.
13198 (trim_filename): Likewise.
13199 * et-forest.cc: Likewise.
13200 * except.cc (init_eh_for_function): Likewise.
13201 * explow.cc (promote_ssa_mode): Likewise.
13202 (get_dynamic_stack_size): Likewise.
13203 * explow.h: Likewise.
13204 * expmed.h: Likewise.
13205 * expr.cc (safe_from_p): Likewise.
13206 (expand_expr_real_2): Likewise.
13207 (expand_expr_real_1): Likewise.
13208 * file-prefix-map.cc (remap_filename): Likewise.
13209 * final.cc (app_enable): Likewise.
13210 (make_pass_compute_alignments): Likewise.
13211 (final_scan_insn_1): Likewise.
13212 (final_scan_insn): Likewise.
13213 * fixed-value.h (fixed_from_string): Likewise.
13214 * flag-types.h (NO_DEBUG): Likewise.
13215 (DWARF2_DEBUG): Likewise.
13216 (VMS_DEBUG): Likewise.
13217 (BTF_DEBUG): Likewise.
13218 (enum ctf_debug_info_levels): Likewise.
13219 * fold-const.cc (const_binop): Likewise.
13220 (fold_binary_loc): Likewise.
13221 (fold_checksum_tree): Likewise.
13222 * fp-test.cc: Likewise.
13223 * function.cc (expand_function_end): Likewise.
13224 * function.h (struct function): Likewise.
13225 * fwprop.cc (should_replace_address): Likewise.
13226 * gcc-main.cc: Likewise.
13227 * gcc-rich-location.h (class gcc_rich_location): Likewise.
13228 * gcc-symtab.h: Likewise.
13229 * gcc.cc (MIN_FATAL_STATUS): Likewise.
13230 (driver_handle_option): Likewise.
13231 (quote_spec_arg): Likewise.
13232 (driver::finalize): Likewise.
13233 * gcc.h (set_input): Likewise.
13234 * gcov-dump.cc: Likewise.
13235 * gcov.cc (solve_flow_graph): Likewise.
13236 * gcse-common.cc: Likewise.
13237 * gcse.cc (make_pass_rtl_hoist): Likewise.
13238 * genattr-common.cc: Likewise.
13239 * genattrtab.cc (min_fn): Likewise.
13240 (write_const_num_delay_slots): Likewise.
13241 * genautomata.cc: Likewise.
13242 * genconditions.cc (write_one_condition): Likewise.
13243 * genconstants.cc: Likewise.
13244 * genemit.cc (gen_exp): Likewise.
13245 * generic-match-head.cc: Likewise.
13246 * genextract.cc: Likewise.
13247 * gengenrtl.cc (always_void_p): Likewise.
13248 * gengtype-parse.cc (gtymarker_opt): Likewise.
13249 * gengtype-state.cc (state_writer::state_writer): Likewise.
13250 (write_state_trailer): Likewise.
13251 (equals_type_number): Likewise.
13252 (read_state): Likewise.
13253 * gengtype.cc (open_base_files): Likewise.
13254 (struct file_rule_st): Likewise.
13255 (header_dot_h_frul): Likewise.
13256 * gengtype.h: Likewise.
13257 * genmatch.cc (main): Likewise.
13258 * genmddeps.cc: Likewise.
13259 * genmodes.cc (emit_mode_inner): Likewise.
13260 (emit_mode_unit_size): Likewise.
13261 * genpeep.cc (gen_peephole): Likewise.
13262 * genpreds.cc (write_tm_preds_h): Likewise.
13263 * genrecog.cc (validate_pattern): Likewise.
13264 (write_header): Likewise.
13265 (main): Likewise.
13266 * gensupport.cc (change_subst_attribute): Likewise.
13267 (traverse_c_tests): Likewise.
13268 (add_predicate): Likewise.
13269 (init_predicate_table): Likewise.
13270 * gensupport.h (struct optab_pattern): Likewise.
13271 (get_num_insn_codes): Likewise.
13272 (maybe_eval_c_test): Likewise.
13273 (struct pred_data): Likewise.
13274 * ggc-internal.h: Likewise.
13275 * gimple-fold.cc (maybe_fold_reference): Likewise.
13276 (get_range_strlen_tree): Likewise.
13277 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
13278 * gimple-low.cc: Likewise.
13279 * gimple-match-head.cc (directly_supported_p): Likewise.
13280 * gimple-pretty-print.h: Likewise.
13281 * gimple-ssa-sprintf.cc (format_percent): Likewise.
13282 (adjust_range_for_overflow): Likewise.
13283 * gimple-streamer.h: Likewise.
13284 * gimple.h (struct GTY): Likewise.
13285 (is_gimple_resx): Likewise.
13286 * gimplify.cc (gimplify_expr): Likewise.
13287 (gimplify_init_constructor): Likewise.
13288 (omp_construct_selector_matches): Likewise.
13289 (gimplify_omp_target_update): Likewise.
13290 (gimplify_omp_ordered): Likewise.
13291 (gimplify_va_arg_expr): Likewise.
13292 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
13293 * haifa-sched.cc (increase_insn_priority): Likewise.
13294 (try_ready): Likewise.
13295 (sched_create_recovery_edges): Likewise.
13296 * ifcvt.cc (find_if_case_1): Likewise.
13297 (find_if_case_2): Likewise.
13298 * inchash.h: Likewise.
13299 * incpath.cc (add_env_var_paths): Likewise.
13300 * input.cc (dump_location_info): Likewise.
13301 (assert_loceq): Likewise.
13302 (test_lexer_string_locations_concatenation_1): Likewise.
13303 (test_lexer_string_locations_concatenation_2): Likewise.
13304 (test_lexer_string_locations_concatenation_3): Likewise.
13305 * input.h (BUILTINS_LOCATION): Likewise.
13306 (class string_concat_db): Likewise.
13307 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
13308 (expand_LOOP_VECTORIZED): Likewise.
13309 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
13310 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
13311 (ipa_fn_summary_t::duplicate): Likewise.
13312 (make_pass_ipa_fn_summary): Likewise.
13313 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
13314 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
13315 (free_lang_data_in_decl): Likewise.
13316 * ipa-inline.cc (compute_inlined_call_time): Likewise.
13317 (inline_always_inline_functions): Likewise.
13318 * ipa-inline.h (free_growth_caches): Likewise.
13319 (inline_account_function_p): Likewise.
13320 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
13321 (modref_eaf_analysis::analyze_ssa_name): Likewise.
13322 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
13323 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
13324 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
13325 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
13326 (unadjusted_ptr_and_unit_offset): Likewise.
13327 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
13328 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
13329 * ipa-split.cc (consider_split): Likewise.
13330 * ipa-sra.cc (isra_read_node_info): Likewise.
13331 * ipa-utils.h (struct ipa_dfs_info): Likewise.
13332 (recursive_call_p): Likewise.
13333 (ipa_make_function_pure): Likewise.
13334 * ira-build.cc (ira_create_allocno): Likewise.
13335 (ira_flattening): Likewise.
13336 * ira-color.cc (do_coloring): Likewise.
13337 (update_curr_costs): Likewise.
13338 * ira-conflicts.cc (process_regs_for_copy): Likewise.
13339 * ira-int.h (struct ira_emit_data): Likewise.
13340 (ira_prohibited_mode_move_regs): Likewise.
13341 (ira_get_dup_out_num): Likewise.
13342 (ira_destroy): Likewise.
13343 (ira_tune_allocno_costs): Likewise.
13344 (ira_implicitly_set_insn_hard_regs): Likewise.
13345 (ira_build_conflicts): Likewise.
13346 (ira_color): Likewise.
13347 * ira-lives.cc (process_bb_node_lives): Likewise.
13348 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
13349 (setup_uniform_class_p): Likewise.
13350 (def_dominates_uses): Likewise.
13351 * ira.h (ira_nullify_asm_goto): Likewise.
13352 * langhooks.cc (lhd_post_options): Likewise.
13353 * langhooks.h (class substring_loc): Likewise.
13354 (struct lang_hooks_for_tree_inlining): Likewise.
13355 (struct lang_hooks_for_types): Likewise.
13356 (struct lang_hooks): Likewise.
13357 * libfuncs.h (synchronize_libfunc): Likewise.
13358 * loop-doloop.cc (doloop_condition_get): Likewise.
13359 * loop-init.cc (fix_loop_structure): Likewise.
13360 * loop-invariant.cc: Likewise.
13361 * lower-subreg.h: Likewise.
13362 * lra-constraints.cc (curr_insn_transform): Likewise.
13363 * lra-int.h (struct lra_insn_reg): Likewise.
13364 (lra_undo_inheritance): Likewise.
13365 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
13366 (lra_split_hard_reg_for): Likewise.
13367 (lra_coalesce): Likewise.
13368 (lra_final_code_change): Likewise.
13369 * lra-spills.cc (lra_final_code_change): Likewise.
13370 * lra.cc (lra_process_new_insns): Likewise.
13371 * lto-compress.h (struct lto_compression_stream): Likewise.
13372 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
13373 (write_symbol): Likewise.
13374 * lto-streamer.h (enum LTO_tags): Likewise.
13375 (lto_value_range_error): Likewise.
13376 (lto_append_block): Likewise.
13377 (lto_streamer_hooks_init): Likewise.
13378 (stream_read_tree_ref): Likewise.
13379 (lto_prepare_function_for_streaming): Likewise.
13380 (select_what_to_stream): Likewise.
13381 (omp_lto_input_declare_variant_alt): Likewise.
13382 (cl_optimization_stream_in): Likewise.
13383 * lto-wrapper.cc (append_compiler_options): Likewise.
13384 * machmode.def: Likewise.
13385 * machmode.h (struct int_n_data_t): Likewise.
13386 * main.cc (main): Likewise.
13387 * match.pd: Likewise.
13388 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
13389 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
13390 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
13391 (make_pass_expand_omp_ssa): Likewise.
13392 * omp-low.cc (struct omp_context): Likewise.
13393 (struct omp_taskcopy_context): Likewise.
13394 (lower_omp): Likewise.
13395 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
13396 (mask_name): Likewise.
13397 (omp_sese_dump_pars): Likewise.
13398 (worker_single_simple): Likewise.
13399 * omp-offload.cc (omp_finish_file): Likewise.
13400 (execute_oacc_loop_designation): Likewise.
13401 * optabs-query.cc (lshift_cheap_p): Likewise.
13402 * optc-gen.awk: Likewise.
13403 * optc-save-gen.awk: Likewise.
13404 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
13405 * opts-common.cc: Likewise.
13406 * output.h (app_enable): Likewise.
13407 (output_operand_lossage): Likewise.
13408 (insn_current_reference_address): Likewise.
13409 (get_insn_template): Likewise.
13410 (output_quoted_string): Likewise.
13411 * pass_manager.h (struct register_pass_info): Likewise.
13412 * plugin.cc: Likewise.
13413 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
13414 * plugin.h (invoke_plugin_callbacks): Likewise.
13415 * pointer-query.cc (handle_mem_ref): Likewise.
13416 * postreload-gcse.cc (alloc_mem): Likewise.
13417 * predict.h (enum prediction): Likewise.
13418 (add_reg_br_prob_note): Likewise.
13419 * prefix.h: Likewise.
13420 * profile.h (get_working_sets): Likewise.
13421 * read-md.cc: Likewise.
13422 * read-md.h (struct mapping): Likewise.
13423 (class md_reader): Likewise.
13424 (class noop_reader): Likewise.
13425 * read-rtl-function.cc (function_reader::create_function): Likewise.
13426 (function_reader::extra_parsing_for_operand_code_0): Likewise.
13427 * read-rtl.cc (initialize_iterators): Likewise.
13428 * real.cc: Likewise.
13429 * real.h (struct real_value): Likewise.
13430 (format_helper::format_helper): Likewise.
13431 (real_hash): Likewise.
13432 (real_can_shorten_arithmetic): Likewise.
13433 * recog.cc (struct target_recog): Likewise.
13434 (offsettable_nonstrict_memref_p): Likewise.
13435 (constrain_operands): Likewise.
13436 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
13437 (which_op_alt): Likewise.
13438 (struct insn_gen_fn): Likewise.
13439 * reg-notes.def (REG_NOTE): Likewise.
13440 * reg-stack.cc: Likewise.
13441 * regs.h (reg_is_parm_p): Likewise.
13442 * regset.h: Likewise.
13443 * reload.cc (push_reload): Likewise.
13444 (find_reloads): Likewise.
13445 (find_reloads_address_1): Likewise.
13446 (find_replacement): Likewise.
13447 (refers_to_regno_for_reload_p): Likewise.
13448 (refers_to_mem_for_reload_p): Likewise.
13449 * reload.h (push_reload): Likewise.
13450 (deallocate_reload_reg): Likewise.
13451 * reload1.cc (emit_input_reload_insns): Likewise.
13452 * reorg.cc (relax_delay_slots): Likewise.
13453 * rtl.def (UNKNOWN): Likewise.
13454 (SEQUENCE): Likewise.
13455 (BARRIER): Likewise.
13456 (ASM_OPERANDS): Likewise.
13457 (EQ_ATTR_ALT): Likewise.
13458 * rtl.h (struct GTY): Likewise.
13459 (LABEL_NAME): Likewise.
13460 (LABEL_ALT_ENTRY_P): Likewise.
13461 (SUBREG_BYTE): Likewise.
13462 (get_stack_check_protect): Likewise.
13463 (dump_rtx_statistics): Likewise.
13464 (unwrap_const_vec_duplicate): Likewise.
13465 (subreg_promoted_mode): Likewise.
13466 (gen_lowpart_common): Likewise.
13467 (operand_subword): Likewise.
13468 (immed_wide_int_const): Likewise.
13469 (decide_function_section): Likewise.
13470 (active_insn_p): Likewise.
13471 (delete_related_insns): Likewise.
13472 (try_split): Likewise.
13473 (val_signbit_known_clear_p): Likewise.
13474 (simplifiable_subregs): Likewise.
13475 (set_insn_deleted): Likewise.
13476 (subreg_get_info): Likewise.
13477 (remove_free_EXPR_LIST_node): Likewise.
13478 (finish_subregs_of_mode): Likewise.
13479 (get_mem_attrs): Likewise.
13480 (lookup_constant_def): Likewise.
13481 (rtx_to_tree_code): Likewise.
13482 (hash_rtx): Likewise.
13483 (condjump_in_parallel_p): Likewise.
13484 (validate_subreg): Likewise.
13485 (make_compound_operation): Likewise.
13486 (schedule_ebbs): Likewise.
13487 (print_inline_rtx): Likewise.
13488 (fixup_args_size_notes): Likewise.
13489 (expand_dec): Likewise.
13490 (prepare_copy_insn): Likewise.
13491 (mark_elimination): Likewise.
13492 (valid_mode_changes_for_regno): Likewise.
13493 (make_debug_expr_from_rtl): Likewise.
13494 (delete_vta_debug_insns): Likewise.
13495 (simplify_using_condition): Likewise.
13496 (set_insn_locations): Likewise.
13497 (fatal_insn_not_found): Likewise.
13498 (word_register_operation_p): Likewise.
13499 * rtlanal.cc (get_call_fndecl): Likewise.
13500 (side_effects_p): Likewise.
13501 (subreg_nregs): Likewise.
13502 (rtx_cost): Likewise.
13503 (canonicalize_condition): Likewise.
13504 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
13505 * run-rtl-passes.cc (run_rtl_passes): Likewise.
13506 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
13507 * sched-deps.cc (add_dependence_1): Likewise.
13508 * sched-ebb.cc (begin_move_insn): Likewise.
13509 (add_deps_for_risky_insns): Likewise.
13510 (advance_target_bb): Likewise.
13511 * sched-int.h (reemit_notes): Likewise.
13512 (struct _haifa_insn_data): Likewise.
13513 (HID): Likewise.
13514 (DEP_CANCELLED): Likewise.
13515 (debug_ds): Likewise.
13516 (number_in_ready): Likewise.
13517 (schedule_ebbs_finish): Likewise.
13518 (find_modifiable_mems): Likewise.
13519 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
13520 * sel-sched-dump.cc (dump_lv_set): Likewise.
13521 * sel-sched-dump.h: Likewise.
13522 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
13523 (setup_id_reg_sets): Likewise.
13524 (has_dependence_p): Likewise.
13525 (sel_num_cfg_preds_gt_1): Likewise.
13526 (bb_ends_ebb_p): Likewise.
13527 * sel-sched-ir.h (struct _list_node): Likewise.
13528 (struct idata_def): Likewise.
13529 (bb_next_bb): Likewise.
13530 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
13531 (choose_best_pseudo_reg): Likewise.
13532 (verify_target_availability): Likewise.
13533 (can_speculate_dep_p): Likewise.
13534 (sel_rank_for_schedule): Likewise.
13535 * selftest-run-tests.cc (selftest::run_tests): Likewise.
13536 * selftest.h (class auto_fix_quotes): Likewise.
13537 * shrink-wrap.cc (handle_simple_exit): Likewise.
13538 * shrink-wrap.h: Likewise.
13539 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
13540 (simplify_context::simplify_gen_vec_select): Likewise.
13541 * spellcheck-tree.h: Likewise.
13542 * spellcheck.h: Likewise.
13543 * statistics.h (struct function): Likewise.
13544 * stmt.cc (conditional_probability): Likewise.
13545 * stmt.h: Likewise.
13546 * stor-layout.h: Likewise.
13547 * streamer-hooks.h: Likewise.
13548 * stringpool.h: Likewise.
13549 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
13550 * target.def (HOOK_VECTOR_END): Likewise.
13551 (type.): Likewise.
13552 * target.h (union cumulative_args_t): Likewise.
13553 (by_pieces_ninsns): Likewise.
13554 (class predefined_function_abi): Likewise.
13555 * targhooks.cc (default_translate_mode_attribute): Likewise.
13556 * timevar.def: Likewise.
13557 * timevar.h (class timer): Likewise.
13558 * toplev.h (enable_rtl_dump_file): Likewise.
13559 * trans-mem.cc (collect_bb2reg): Likewise.
13560 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
13561 * tree-cfg.cc (remove_bb): Likewise.
13562 (verify_gimple_debug): Likewise.
13563 (remove_edge_and_dominated_blocks): Likewise.
13564 (push_fndecl): Likewise.
13565 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
13566 * tree-complex.cc (expand_complex_multiplication): Likewise.
13567 (expand_complex_div_straight): Likewise.
13568 * tree-core.h (enum tree_index): Likewise.
13569 (enum operand_equal_flag): Likewise.
13570 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
13571 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
13572 * tree-inline.cc (initialize_inlined_parameters): Likewise.
13573 * tree-inline.h (force_value_to_type): Likewise.
13574 * tree-nested.cc (get_chain_decl): Likewise.
13575 (walk_all_functions): Likewise.
13576 * tree-object-size.h: Likewise.
13577 * tree-outof-ssa.cc: Likewise.
13578 * tree-parloops.cc (create_parallel_loop): Likewise.
13579 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
13580 (dump_generic_node): Likewise.
13581 * tree-profile.cc (tree_profiling): Likewise.
13582 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
13583 * tree-ssa-address.cc: Likewise.
13584 * tree-ssa-alias.cc: Likewise.
13585 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
13586 (dump_alias_stats): Likewise.
13587 * tree-ssa-ccp.cc: Likewise.
13588 * tree-ssa-coalesce.h: Likewise.
13589 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
13590 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
13591 * tree-ssa-loop-unswitch.cc: Likewise.
13592 * tree-ssa-math-opts.cc: Likewise.
13593 * tree-ssa-operands.cc (class operands_scanner): Likewise.
13594 * tree-ssa-pre.cc: Likewise.
13595 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
13596 (debug_range_entry): Likewise.
13597 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
13598 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
13599 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
13600 (equal_mem_array_ref_p): Likewise.
13601 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
13602 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
13603 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
13604 * tree-ssa-ter.h: Likewise.
13605 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
13606 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
13607 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
13608 (write_ts_block_tree_pointers): Likewise.
13609 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
13610 (streamer_read_tree_bitfields): Likewise.
13611 (streamer_write_integer_cst): Likewise.
13612 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
13613 (vect_synth_mult_by_constant): Likewise.
13614 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
13615 * tree-vectorizer.cc: Likewise.
13616 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
13617 (vect_update_inits_of_drs): Likewise.
13618 (vect_get_mask_type_for_stmt): Likewise.
13619 (vect_rgroup_iv_might_wrap_p): Likewise.
13620 (cse_and_gimplify_to_preheader): Likewise.
13621 (vect_free_slp_tree): Likewise.
13622 (vect_pattern_recog): Likewise.
13623 (vect_stmt_dominates_stmt_p): Likewise.
13624 * tree.cc (initialize_tree_contains_struct): Likewise.
13625 (need_assembler_name_p): Likewise.
13626 (type_with_interoperable_signedness): Likewise.
13627 * tree.def (SWITCH_EXPR): Likewise.
13628 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
13629 (poly_int_tree_p): Likewise.
13630 (inlined_function_outer_scope_p): Likewise.
13631 (tree_code_for_canonical_type_merging): Likewise.
13632 * value-prof.cc: Likewise.
13633 * value-prof.h (get_nth_most_common_value): Likewise.
13634 (find_func_by_profile_id): Likewise.
13635 * value-range.cc (vrp_operand_equal_p): Likewise.
13636 * value-range.h: Likewise.
13637 * var-tracking.cc: Likewise.
13638 * varasm.cc (default_function_section): Likewise.
13639 (function_section_1): Likewise.
13640 (assemble_variable): Likewise.
13641 (handle_vtv_comdat_section): Likewise.
13642 * vec.h (struct vec_prefix): Likewise.
13643 * vmsdbgout.cc (full_name): Likewise.
13644 * vtable-verify.cc: Likewise.
13645 * vtable-verify.h (struct vtv_graph_node): Likewise.
13646 * xcoffout.cc: Likewise.
13647 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
13648
13649 2022-01-17 Martin Liska <mliska@suse.cz>
13650
13651 * adjust-alignment.c: Moved to...
13652 * adjust-alignment.cc: ...here.
13653 * alias.c: Moved to...
13654 * alias.cc: ...here.
13655 * alloc-pool.c: Moved to...
13656 * alloc-pool.cc: ...here.
13657 * asan.c: Moved to...
13658 * asan.cc: ...here.
13659 * attribs.c: Moved to...
13660 * attribs.cc: ...here.
13661 * auto-inc-dec.c: Moved to...
13662 * auto-inc-dec.cc: ...here.
13663 * auto-profile.c: Moved to...
13664 * auto-profile.cc: ...here.
13665 * bb-reorder.c: Moved to...
13666 * bb-reorder.cc: ...here.
13667 * bitmap.c: Moved to...
13668 * bitmap.cc: ...here.
13669 * btfout.c: Moved to...
13670 * btfout.cc: ...here.
13671 * builtins.c: Moved to...
13672 * builtins.cc: ...here.
13673 * caller-save.c: Moved to...
13674 * caller-save.cc: ...here.
13675 * calls.c: Moved to...
13676 * calls.cc: ...here.
13677 * ccmp.c: Moved to...
13678 * ccmp.cc: ...here.
13679 * cfg.c: Moved to...
13680 * cfg.cc: ...here.
13681 * cfganal.c: Moved to...
13682 * cfganal.cc: ...here.
13683 * cfgbuild.c: Moved to...
13684 * cfgbuild.cc: ...here.
13685 * cfgcleanup.c: Moved to...
13686 * cfgcleanup.cc: ...here.
13687 * cfgexpand.c: Moved to...
13688 * cfgexpand.cc: ...here.
13689 * cfghooks.c: Moved to...
13690 * cfghooks.cc: ...here.
13691 * cfgloop.c: Moved to...
13692 * cfgloop.cc: ...here.
13693 * cfgloopanal.c: Moved to...
13694 * cfgloopanal.cc: ...here.
13695 * cfgloopmanip.c: Moved to...
13696 * cfgloopmanip.cc: ...here.
13697 * cfgrtl.c: Moved to...
13698 * cfgrtl.cc: ...here.
13699 * cgraph.c: Moved to...
13700 * cgraph.cc: ...here.
13701 * cgraphbuild.c: Moved to...
13702 * cgraphbuild.cc: ...here.
13703 * cgraphclones.c: Moved to...
13704 * cgraphclones.cc: ...here.
13705 * cgraphunit.c: Moved to...
13706 * cgraphunit.cc: ...here.
13707 * collect-utils.c: Moved to...
13708 * collect-utils.cc: ...here.
13709 * collect2-aix.c: Moved to...
13710 * collect2-aix.cc: ...here.
13711 * collect2.c: Moved to...
13712 * collect2.cc: ...here.
13713 * combine-stack-adj.c: Moved to...
13714 * combine-stack-adj.cc: ...here.
13715 * combine.c: Moved to...
13716 * combine.cc: ...here.
13717 * common/common-targhooks.c: Moved to...
13718 * common/common-targhooks.cc: ...here.
13719 * common/config/aarch64/aarch64-common.c: Moved to...
13720 * common/config/aarch64/aarch64-common.cc: ...here.
13721 * common/config/alpha/alpha-common.c: Moved to...
13722 * common/config/alpha/alpha-common.cc: ...here.
13723 * common/config/arc/arc-common.c: Moved to...
13724 * common/config/arc/arc-common.cc: ...here.
13725 * common/config/arm/arm-common.c: Moved to...
13726 * common/config/arm/arm-common.cc: ...here.
13727 * common/config/avr/avr-common.c: Moved to...
13728 * common/config/avr/avr-common.cc: ...here.
13729 * common/config/bfin/bfin-common.c: Moved to...
13730 * common/config/bfin/bfin-common.cc: ...here.
13731 * common/config/bpf/bpf-common.c: Moved to...
13732 * common/config/bpf/bpf-common.cc: ...here.
13733 * common/config/c6x/c6x-common.c: Moved to...
13734 * common/config/c6x/c6x-common.cc: ...here.
13735 * common/config/cr16/cr16-common.c: Moved to...
13736 * common/config/cr16/cr16-common.cc: ...here.
13737 * common/config/cris/cris-common.c: Moved to...
13738 * common/config/cris/cris-common.cc: ...here.
13739 * common/config/csky/csky-common.c: Moved to...
13740 * common/config/csky/csky-common.cc: ...here.
13741 * common/config/default-common.c: Moved to...
13742 * common/config/default-common.cc: ...here.
13743 * common/config/epiphany/epiphany-common.c: Moved to...
13744 * common/config/epiphany/epiphany-common.cc: ...here.
13745 * common/config/fr30/fr30-common.c: Moved to...
13746 * common/config/fr30/fr30-common.cc: ...here.
13747 * common/config/frv/frv-common.c: Moved to...
13748 * common/config/frv/frv-common.cc: ...here.
13749 * common/config/gcn/gcn-common.c: Moved to...
13750 * common/config/gcn/gcn-common.cc: ...here.
13751 * common/config/h8300/h8300-common.c: Moved to...
13752 * common/config/h8300/h8300-common.cc: ...here.
13753 * common/config/i386/i386-common.c: Moved to...
13754 * common/config/i386/i386-common.cc: ...here.
13755 * common/config/ia64/ia64-common.c: Moved to...
13756 * common/config/ia64/ia64-common.cc: ...here.
13757 * common/config/iq2000/iq2000-common.c: Moved to...
13758 * common/config/iq2000/iq2000-common.cc: ...here.
13759 * common/config/lm32/lm32-common.c: Moved to...
13760 * common/config/lm32/lm32-common.cc: ...here.
13761 * common/config/m32r/m32r-common.c: Moved to...
13762 * common/config/m32r/m32r-common.cc: ...here.
13763 * common/config/m68k/m68k-common.c: Moved to...
13764 * common/config/m68k/m68k-common.cc: ...here.
13765 * common/config/mcore/mcore-common.c: Moved to...
13766 * common/config/mcore/mcore-common.cc: ...here.
13767 * common/config/microblaze/microblaze-common.c: Moved to...
13768 * common/config/microblaze/microblaze-common.cc: ...here.
13769 * common/config/mips/mips-common.c: Moved to...
13770 * common/config/mips/mips-common.cc: ...here.
13771 * common/config/mmix/mmix-common.c: Moved to...
13772 * common/config/mmix/mmix-common.cc: ...here.
13773 * common/config/mn10300/mn10300-common.c: Moved to...
13774 * common/config/mn10300/mn10300-common.cc: ...here.
13775 * common/config/msp430/msp430-common.c: Moved to...
13776 * common/config/msp430/msp430-common.cc: ...here.
13777 * common/config/nds32/nds32-common.c: Moved to...
13778 * common/config/nds32/nds32-common.cc: ...here.
13779 * common/config/nios2/nios2-common.c: Moved to...
13780 * common/config/nios2/nios2-common.cc: ...here.
13781 * common/config/nvptx/nvptx-common.c: Moved to...
13782 * common/config/nvptx/nvptx-common.cc: ...here.
13783 * common/config/or1k/or1k-common.c: Moved to...
13784 * common/config/or1k/or1k-common.cc: ...here.
13785 * common/config/pa/pa-common.c: Moved to...
13786 * common/config/pa/pa-common.cc: ...here.
13787 * common/config/pdp11/pdp11-common.c: Moved to...
13788 * common/config/pdp11/pdp11-common.cc: ...here.
13789 * common/config/pru/pru-common.c: Moved to...
13790 * common/config/pru/pru-common.cc: ...here.
13791 * common/config/riscv/riscv-common.c: Moved to...
13792 * common/config/riscv/riscv-common.cc: ...here.
13793 * common/config/rs6000/rs6000-common.c: Moved to...
13794 * common/config/rs6000/rs6000-common.cc: ...here.
13795 * common/config/rx/rx-common.c: Moved to...
13796 * common/config/rx/rx-common.cc: ...here.
13797 * common/config/s390/s390-common.c: Moved to...
13798 * common/config/s390/s390-common.cc: ...here.
13799 * common/config/sh/sh-common.c: Moved to...
13800 * common/config/sh/sh-common.cc: ...here.
13801 * common/config/sparc/sparc-common.c: Moved to...
13802 * common/config/sparc/sparc-common.cc: ...here.
13803 * common/config/tilegx/tilegx-common.c: Moved to...
13804 * common/config/tilegx/tilegx-common.cc: ...here.
13805 * common/config/tilepro/tilepro-common.c: Moved to...
13806 * common/config/tilepro/tilepro-common.cc: ...here.
13807 * common/config/v850/v850-common.c: Moved to...
13808 * common/config/v850/v850-common.cc: ...here.
13809 * common/config/vax/vax-common.c: Moved to...
13810 * common/config/vax/vax-common.cc: ...here.
13811 * common/config/visium/visium-common.c: Moved to...
13812 * common/config/visium/visium-common.cc: ...here.
13813 * common/config/xstormy16/xstormy16-common.c: Moved to...
13814 * common/config/xstormy16/xstormy16-common.cc: ...here.
13815 * common/config/xtensa/xtensa-common.c: Moved to...
13816 * common/config/xtensa/xtensa-common.cc: ...here.
13817 * compare-elim.c: Moved to...
13818 * compare-elim.cc: ...here.
13819 * config/aarch64/aarch64-bti-insert.c: Moved to...
13820 * config/aarch64/aarch64-bti-insert.cc: ...here.
13821 * config/aarch64/aarch64-builtins.c: Moved to...
13822 * config/aarch64/aarch64-builtins.cc: ...here.
13823 * config/aarch64/aarch64-c.c: Moved to...
13824 * config/aarch64/aarch64-c.cc: ...here.
13825 * config/aarch64/aarch64-d.c: Moved to...
13826 * config/aarch64/aarch64-d.cc: ...here.
13827 * config/aarch64/aarch64.c: Moved to...
13828 * config/aarch64/aarch64.cc: ...here.
13829 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
13830 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
13831 * config/aarch64/driver-aarch64.c: Moved to...
13832 * config/aarch64/driver-aarch64.cc: ...here.
13833 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
13834 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
13835 * config/aarch64/host-aarch64-darwin.c: Moved to...
13836 * config/aarch64/host-aarch64-darwin.cc: ...here.
13837 * config/alpha/alpha.c: Moved to...
13838 * config/alpha/alpha.cc: ...here.
13839 * config/alpha/driver-alpha.c: Moved to...
13840 * config/alpha/driver-alpha.cc: ...here.
13841 * config/arc/arc-c.c: Moved to...
13842 * config/arc/arc-c.cc: ...here.
13843 * config/arc/arc.c: Moved to...
13844 * config/arc/arc.cc: ...here.
13845 * config/arc/driver-arc.c: Moved to...
13846 * config/arc/driver-arc.cc: ...here.
13847 * config/arm/aarch-common.c: Moved to...
13848 * config/arm/aarch-common.cc: ...here.
13849 * config/arm/arm-builtins.c: Moved to...
13850 * config/arm/arm-builtins.cc: ...here.
13851 * config/arm/arm-c.c: Moved to...
13852 * config/arm/arm-c.cc: ...here.
13853 * config/arm/arm-d.c: Moved to...
13854 * config/arm/arm-d.cc: ...here.
13855 * config/arm/arm.c: Moved to...
13856 * config/arm/arm.cc: ...here.
13857 * config/arm/driver-arm.c: Moved to...
13858 * config/arm/driver-arm.cc: ...here.
13859 * config/avr/avr-c.c: Moved to...
13860 * config/avr/avr-c.cc: ...here.
13861 * config/avr/avr-devices.c: Moved to...
13862 * config/avr/avr-devices.cc: ...here.
13863 * config/avr/avr-log.c: Moved to...
13864 * config/avr/avr-log.cc: ...here.
13865 * config/avr/avr.c: Moved to...
13866 * config/avr/avr.cc: ...here.
13867 * config/avr/driver-avr.c: Moved to...
13868 * config/avr/driver-avr.cc: ...here.
13869 * config/avr/gen-avr-mmcu-specs.c: Moved to...
13870 * config/avr/gen-avr-mmcu-specs.cc: ...here.
13871 * config/avr/gen-avr-mmcu-texi.c: Moved to...
13872 * config/avr/gen-avr-mmcu-texi.cc: ...here.
13873 * config/bfin/bfin.c: Moved to...
13874 * config/bfin/bfin.cc: ...here.
13875 * config/bpf/bpf.c: Moved to...
13876 * config/bpf/bpf.cc: ...here.
13877 * config/bpf/coreout.c: Moved to...
13878 * config/bpf/coreout.cc: ...here.
13879 * config/c6x/c6x.c: Moved to...
13880 * config/c6x/c6x.cc: ...here.
13881 * config/cr16/cr16.c: Moved to...
13882 * config/cr16/cr16.cc: ...here.
13883 * config/cris/cris.c: Moved to...
13884 * config/cris/cris.cc: ...here.
13885 * config/csky/csky.c: Moved to...
13886 * config/csky/csky.cc: ...here.
13887 * config/darwin-c.c: Moved to...
13888 * config/darwin-c.cc: ...here.
13889 * config/darwin-d.c: Moved to...
13890 * config/darwin-d.cc: ...here.
13891 * config/darwin-driver.c: Moved to...
13892 * config/darwin-driver.cc: ...here.
13893 * config/darwin-f.c: Moved to...
13894 * config/darwin-f.cc: ...here.
13895 * config/darwin.c: Moved to...
13896 * config/darwin.cc: ...here.
13897 * config/default-c.c: Moved to...
13898 * config/default-c.cc: ...here.
13899 * config/default-d.c: Moved to...
13900 * config/default-d.cc: ...here.
13901 * config/dragonfly-d.c: Moved to...
13902 * config/dragonfly-d.cc: ...here.
13903 * config/epiphany/epiphany.c: Moved to...
13904 * config/epiphany/epiphany.cc: ...here.
13905 * config/epiphany/mode-switch-use.c: Moved to...
13906 * config/epiphany/mode-switch-use.cc: ...here.
13907 * config/epiphany/resolve-sw-modes.c: Moved to...
13908 * config/epiphany/resolve-sw-modes.cc: ...here.
13909 * config/fr30/fr30.c: Moved to...
13910 * config/fr30/fr30.cc: ...here.
13911 * config/freebsd-d.c: Moved to...
13912 * config/freebsd-d.cc: ...here.
13913 * config/frv/frv.c: Moved to...
13914 * config/frv/frv.cc: ...here.
13915 * config/ft32/ft32.c: Moved to...
13916 * config/ft32/ft32.cc: ...here.
13917 * config/gcn/driver-gcn.c: Moved to...
13918 * config/gcn/driver-gcn.cc: ...here.
13919 * config/gcn/gcn-run.c: Moved to...
13920 * config/gcn/gcn-run.cc: ...here.
13921 * config/gcn/gcn-tree.c: Moved to...
13922 * config/gcn/gcn-tree.cc: ...here.
13923 * config/gcn/gcn.c: Moved to...
13924 * config/gcn/gcn.cc: ...here.
13925 * config/gcn/mkoffload.c: Moved to...
13926 * config/gcn/mkoffload.cc: ...here.
13927 * config/glibc-c.c: Moved to...
13928 * config/glibc-c.cc: ...here.
13929 * config/glibc-d.c: Moved to...
13930 * config/glibc-d.cc: ...here.
13931 * config/h8300/h8300.c: Moved to...
13932 * config/h8300/h8300.cc: ...here.
13933 * config/host-darwin.c: Moved to...
13934 * config/host-darwin.cc: ...here.
13935 * config/host-hpux.c: Moved to...
13936 * config/host-hpux.cc: ...here.
13937 * config/host-linux.c: Moved to...
13938 * config/host-linux.cc: ...here.
13939 * config/host-netbsd.c: Moved to...
13940 * config/host-netbsd.cc: ...here.
13941 * config/host-openbsd.c: Moved to...
13942 * config/host-openbsd.cc: ...here.
13943 * config/host-solaris.c: Moved to...
13944 * config/host-solaris.cc: ...here.
13945 * config/i386/djgpp.c: Moved to...
13946 * config/i386/djgpp.cc: ...here.
13947 * config/i386/driver-i386.c: Moved to...
13948 * config/i386/driver-i386.cc: ...here.
13949 * config/i386/driver-mingw32.c: Moved to...
13950 * config/i386/driver-mingw32.cc: ...here.
13951 * config/i386/gnu-property.c: Moved to...
13952 * config/i386/gnu-property.cc: ...here.
13953 * config/i386/host-cygwin.c: Moved to...
13954 * config/i386/host-cygwin.cc: ...here.
13955 * config/i386/host-i386-darwin.c: Moved to...
13956 * config/i386/host-i386-darwin.cc: ...here.
13957 * config/i386/host-mingw32.c: Moved to...
13958 * config/i386/host-mingw32.cc: ...here.
13959 * config/i386/i386-builtins.c: Moved to...
13960 * config/i386/i386-builtins.cc: ...here.
13961 * config/i386/i386-c.c: Moved to...
13962 * config/i386/i386-c.cc: ...here.
13963 * config/i386/i386-d.c: Moved to...
13964 * config/i386/i386-d.cc: ...here.
13965 * config/i386/i386-expand.c: Moved to...
13966 * config/i386/i386-expand.cc: ...here.
13967 * config/i386/i386-features.c: Moved to...
13968 * config/i386/i386-features.cc: ...here.
13969 * config/i386/i386-options.c: Moved to...
13970 * config/i386/i386-options.cc: ...here.
13971 * config/i386/i386.c: Moved to...
13972 * config/i386/i386.cc: ...here.
13973 * config/i386/intelmic-mkoffload.c: Moved to...
13974 * config/i386/intelmic-mkoffload.cc: ...here.
13975 * config/i386/msformat-c.c: Moved to...
13976 * config/i386/msformat-c.cc: ...here.
13977 * config/i386/winnt-cxx.c: Moved to...
13978 * config/i386/winnt-cxx.cc: ...here.
13979 * config/i386/winnt-d.c: Moved to...
13980 * config/i386/winnt-d.cc: ...here.
13981 * config/i386/winnt-stubs.c: Moved to...
13982 * config/i386/winnt-stubs.cc: ...here.
13983 * config/i386/winnt.c: Moved to...
13984 * config/i386/winnt.cc: ...here.
13985 * config/i386/x86-tune-sched-atom.c: Moved to...
13986 * config/i386/x86-tune-sched-atom.cc: ...here.
13987 * config/i386/x86-tune-sched-bd.c: Moved to...
13988 * config/i386/x86-tune-sched-bd.cc: ...here.
13989 * config/i386/x86-tune-sched-core.c: Moved to...
13990 * config/i386/x86-tune-sched-core.cc: ...here.
13991 * config/i386/x86-tune-sched.c: Moved to...
13992 * config/i386/x86-tune-sched.cc: ...here.
13993 * config/ia64/ia64-c.c: Moved to...
13994 * config/ia64/ia64-c.cc: ...here.
13995 * config/ia64/ia64.c: Moved to...
13996 * config/ia64/ia64.cc: ...here.
13997 * config/iq2000/iq2000.c: Moved to...
13998 * config/iq2000/iq2000.cc: ...here.
13999 * config/linux.c: Moved to...
14000 * config/linux.cc: ...here.
14001 * config/lm32/lm32.c: Moved to...
14002 * config/lm32/lm32.cc: ...here.
14003 * config/m32c/m32c-pragma.c: Moved to...
14004 * config/m32c/m32c-pragma.cc: ...here.
14005 * config/m32c/m32c.c: Moved to...
14006 * config/m32c/m32c.cc: ...here.
14007 * config/m32r/m32r.c: Moved to...
14008 * config/m32r/m32r.cc: ...here.
14009 * config/m68k/m68k.c: Moved to...
14010 * config/m68k/m68k.cc: ...here.
14011 * config/mcore/mcore.c: Moved to...
14012 * config/mcore/mcore.cc: ...here.
14013 * config/microblaze/microblaze-c.c: Moved to...
14014 * config/microblaze/microblaze-c.cc: ...here.
14015 * config/microblaze/microblaze.c: Moved to...
14016 * config/microblaze/microblaze.cc: ...here.
14017 * config/mips/driver-native.c: Moved to...
14018 * config/mips/driver-native.cc: ...here.
14019 * config/mips/frame-header-opt.c: Moved to...
14020 * config/mips/frame-header-opt.cc: ...here.
14021 * config/mips/mips-d.c: Moved to...
14022 * config/mips/mips-d.cc: ...here.
14023 * config/mips/mips.c: Moved to...
14024 * config/mips/mips.cc: ...here.
14025 * config/mmix/mmix.c: Moved to...
14026 * config/mmix/mmix.cc: ...here.
14027 * config/mn10300/mn10300.c: Moved to...
14028 * config/mn10300/mn10300.cc: ...here.
14029 * config/moxie/moxie.c: Moved to...
14030 * config/moxie/moxie.cc: ...here.
14031 * config/msp430/driver-msp430.c: Moved to...
14032 * config/msp430/driver-msp430.cc: ...here.
14033 * config/msp430/msp430-c.c: Moved to...
14034 * config/msp430/msp430-c.cc: ...here.
14035 * config/msp430/msp430-devices.c: Moved to...
14036 * config/msp430/msp430-devices.cc: ...here.
14037 * config/msp430/msp430.c: Moved to...
14038 * config/msp430/msp430.cc: ...here.
14039 * config/nds32/nds32-cost.c: Moved to...
14040 * config/nds32/nds32-cost.cc: ...here.
14041 * config/nds32/nds32-fp-as-gp.c: Moved to...
14042 * config/nds32/nds32-fp-as-gp.cc: ...here.
14043 * config/nds32/nds32-intrinsic.c: Moved to...
14044 * config/nds32/nds32-intrinsic.cc: ...here.
14045 * config/nds32/nds32-isr.c: Moved to...
14046 * config/nds32/nds32-isr.cc: ...here.
14047 * config/nds32/nds32-md-auxiliary.c: Moved to...
14048 * config/nds32/nds32-md-auxiliary.cc: ...here.
14049 * config/nds32/nds32-memory-manipulation.c: Moved to...
14050 * config/nds32/nds32-memory-manipulation.cc: ...here.
14051 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
14052 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
14053 * config/nds32/nds32-predicates.c: Moved to...
14054 * config/nds32/nds32-predicates.cc: ...here.
14055 * config/nds32/nds32-relax-opt.c: Moved to...
14056 * config/nds32/nds32-relax-opt.cc: ...here.
14057 * config/nds32/nds32-utils.c: Moved to...
14058 * config/nds32/nds32-utils.cc: ...here.
14059 * config/nds32/nds32.c: Moved to...
14060 * config/nds32/nds32.cc: ...here.
14061 * config/netbsd-d.c: Moved to...
14062 * config/netbsd-d.cc: ...here.
14063 * config/netbsd.c: Moved to...
14064 * config/netbsd.cc: ...here.
14065 * config/nios2/nios2.c: Moved to...
14066 * config/nios2/nios2.cc: ...here.
14067 * config/nvptx/mkoffload.c: Moved to...
14068 * config/nvptx/mkoffload.cc: ...here.
14069 * config/nvptx/nvptx-c.c: Moved to...
14070 * config/nvptx/nvptx-c.cc: ...here.
14071 * config/nvptx/nvptx.c: Moved to...
14072 * config/nvptx/nvptx.cc: ...here.
14073 * config/openbsd-d.c: Moved to...
14074 * config/openbsd-d.cc: ...here.
14075 * config/or1k/or1k.c: Moved to...
14076 * config/or1k/or1k.cc: ...here.
14077 * config/pa/pa-d.c: Moved to...
14078 * config/pa/pa-d.cc: ...here.
14079 * config/pa/pa.c: Moved to...
14080 * config/pa/pa.cc: ...here.
14081 * config/pdp11/pdp11.c: Moved to...
14082 * config/pdp11/pdp11.cc: ...here.
14083 * config/pru/pru-passes.c: Moved to...
14084 * config/pru/pru-passes.cc: ...here.
14085 * config/pru/pru-pragma.c: Moved to...
14086 * config/pru/pru-pragma.cc: ...here.
14087 * config/pru/pru.c: Moved to...
14088 * config/pru/pru.cc: ...here.
14089 * config/riscv/riscv-builtins.c: Moved to...
14090 * config/riscv/riscv-builtins.cc: ...here.
14091 * config/riscv/riscv-c.c: Moved to...
14092 * config/riscv/riscv-c.cc: ...here.
14093 * config/riscv/riscv-d.c: Moved to...
14094 * config/riscv/riscv-d.cc: ...here.
14095 * config/riscv/riscv-shorten-memrefs.c: Moved to...
14096 * config/riscv/riscv-shorten-memrefs.cc: ...here.
14097 * config/riscv/riscv-sr.c: Moved to...
14098 * config/riscv/riscv-sr.cc: ...here.
14099 * config/riscv/riscv.c: Moved to...
14100 * config/riscv/riscv.cc: ...here.
14101 * config/rl78/rl78-c.c: Moved to...
14102 * config/rl78/rl78-c.cc: ...here.
14103 * config/rl78/rl78.c: Moved to...
14104 * config/rl78/rl78.cc: ...here.
14105 * config/rs6000/driver-rs6000.c: Moved to...
14106 * config/rs6000/driver-rs6000.cc: ...here.
14107 * config/rs6000/host-darwin.c: Moved to...
14108 * config/rs6000/host-darwin.cc: ...here.
14109 * config/rs6000/host-ppc64-darwin.c: Moved to...
14110 * config/rs6000/host-ppc64-darwin.cc: ...here.
14111 * config/rs6000/rbtree.c: Moved to...
14112 * config/rs6000/rbtree.cc: ...here.
14113 * config/rs6000/rs6000-c.c: Moved to...
14114 * config/rs6000/rs6000-c.cc: ...here.
14115 * config/rs6000/rs6000-call.c: Moved to...
14116 * config/rs6000/rs6000-call.cc: ...here.
14117 * config/rs6000/rs6000-d.c: Moved to...
14118 * config/rs6000/rs6000-d.cc: ...here.
14119 * config/rs6000/rs6000-gen-builtins.c: Moved to...
14120 * config/rs6000/rs6000-gen-builtins.cc: ...here.
14121 * config/rs6000/rs6000-linux.c: Moved to...
14122 * config/rs6000/rs6000-linux.cc: ...here.
14123 * config/rs6000/rs6000-logue.c: Moved to...
14124 * config/rs6000/rs6000-logue.cc: ...here.
14125 * config/rs6000/rs6000-p8swap.c: Moved to...
14126 * config/rs6000/rs6000-p8swap.cc: ...here.
14127 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
14128 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
14129 * config/rs6000/rs6000-string.c: Moved to...
14130 * config/rs6000/rs6000-string.cc: ...here.
14131 * config/rs6000/rs6000.c: Moved to...
14132 * config/rs6000/rs6000.cc: ...here.
14133 * config/rx/rx.c: Moved to...
14134 * config/rx/rx.cc: ...here.
14135 * config/s390/driver-native.c: Moved to...
14136 * config/s390/driver-native.cc: ...here.
14137 * config/s390/s390-c.c: Moved to...
14138 * config/s390/s390-c.cc: ...here.
14139 * config/s390/s390-d.c: Moved to...
14140 * config/s390/s390-d.cc: ...here.
14141 * config/s390/s390.c: Moved to...
14142 * config/s390/s390.cc: ...here.
14143 * config/sh/divtab-sh4-300.c: Moved to...
14144 * config/sh/divtab-sh4-300.cc: ...here.
14145 * config/sh/divtab-sh4.c: Moved to...
14146 * config/sh/divtab-sh4.cc: ...here.
14147 * config/sh/divtab.c: Moved to...
14148 * config/sh/divtab.cc: ...here.
14149 * config/sh/sh-c.c: Moved to...
14150 * config/sh/sh-c.cc: ...here.
14151 * config/sh/sh.c: Moved to...
14152 * config/sh/sh.cc: ...here.
14153 * config/sol2-c.c: Moved to...
14154 * config/sol2-c.cc: ...here.
14155 * config/sol2-cxx.c: Moved to...
14156 * config/sol2-cxx.cc: ...here.
14157 * config/sol2-d.c: Moved to...
14158 * config/sol2-d.cc: ...here.
14159 * config/sol2-stubs.c: Moved to...
14160 * config/sol2-stubs.cc: ...here.
14161 * config/sol2.c: Moved to...
14162 * config/sol2.cc: ...here.
14163 * config/sparc/driver-sparc.c: Moved to...
14164 * config/sparc/driver-sparc.cc: ...here.
14165 * config/sparc/sparc-c.c: Moved to...
14166 * config/sparc/sparc-c.cc: ...here.
14167 * config/sparc/sparc-d.c: Moved to...
14168 * config/sparc/sparc-d.cc: ...here.
14169 * config/sparc/sparc.c: Moved to...
14170 * config/sparc/sparc.cc: ...here.
14171 * config/stormy16/stormy16.c: Moved to...
14172 * config/stormy16/stormy16.cc: ...here.
14173 * config/tilegx/mul-tables.c: Moved to...
14174 * config/tilegx/mul-tables.cc: ...here.
14175 * config/tilegx/tilegx-c.c: Moved to...
14176 * config/tilegx/tilegx-c.cc: ...here.
14177 * config/tilegx/tilegx.c: Moved to...
14178 * config/tilegx/tilegx.cc: ...here.
14179 * config/tilepro/mul-tables.c: Moved to...
14180 * config/tilepro/mul-tables.cc: ...here.
14181 * config/tilepro/tilepro-c.c: Moved to...
14182 * config/tilepro/tilepro-c.cc: ...here.
14183 * config/tilepro/tilepro.c: Moved to...
14184 * config/tilepro/tilepro.cc: ...here.
14185 * config/v850/v850-c.c: Moved to...
14186 * config/v850/v850-c.cc: ...here.
14187 * config/v850/v850.c: Moved to...
14188 * config/v850/v850.cc: ...here.
14189 * config/vax/vax.c: Moved to...
14190 * config/vax/vax.cc: ...here.
14191 * config/visium/visium.c: Moved to...
14192 * config/visium/visium.cc: ...here.
14193 * config/vms/vms-c.c: Moved to...
14194 * config/vms/vms-c.cc: ...here.
14195 * config/vms/vms-f.c: Moved to...
14196 * config/vms/vms-f.cc: ...here.
14197 * config/vms/vms.c: Moved to...
14198 * config/vms/vms.cc: ...here.
14199 * config/vxworks-c.c: Moved to...
14200 * config/vxworks-c.cc: ...here.
14201 * config/vxworks.c: Moved to...
14202 * config/vxworks.cc: ...here.
14203 * config/winnt-c.c: Moved to...
14204 * config/winnt-c.cc: ...here.
14205 * config/xtensa/xtensa.c: Moved to...
14206 * config/xtensa/xtensa.cc: ...here.
14207 * context.c: Moved to...
14208 * context.cc: ...here.
14209 * convert.c: Moved to...
14210 * convert.cc: ...here.
14211 * coverage.c: Moved to...
14212 * coverage.cc: ...here.
14213 * cppbuiltin.c: Moved to...
14214 * cppbuiltin.cc: ...here.
14215 * cppdefault.c: Moved to...
14216 * cppdefault.cc: ...here.
14217 * cprop.c: Moved to...
14218 * cprop.cc: ...here.
14219 * cse.c: Moved to...
14220 * cse.cc: ...here.
14221 * cselib.c: Moved to...
14222 * cselib.cc: ...here.
14223 * ctfc.c: Moved to...
14224 * ctfc.cc: ...here.
14225 * ctfout.c: Moved to...
14226 * ctfout.cc: ...here.
14227 * data-streamer-in.c: Moved to...
14228 * data-streamer-in.cc: ...here.
14229 * data-streamer-out.c: Moved to...
14230 * data-streamer-out.cc: ...here.
14231 * data-streamer.c: Moved to...
14232 * data-streamer.cc: ...here.
14233 * dbgcnt.c: Moved to...
14234 * dbgcnt.cc: ...here.
14235 * dbxout.c: Moved to...
14236 * dbxout.cc: ...here.
14237 * dce.c: Moved to...
14238 * dce.cc: ...here.
14239 * ddg.c: Moved to...
14240 * ddg.cc: ...here.
14241 * debug.c: Moved to...
14242 * debug.cc: ...here.
14243 * df-core.c: Moved to...
14244 * df-core.cc: ...here.
14245 * df-problems.c: Moved to...
14246 * df-problems.cc: ...here.
14247 * df-scan.c: Moved to...
14248 * df-scan.cc: ...here.
14249 * dfp.c: Moved to...
14250 * dfp.cc: ...here.
14251 * diagnostic-color.c: Moved to...
14252 * diagnostic-color.cc: ...here.
14253 * diagnostic-show-locus.c: Moved to...
14254 * diagnostic-show-locus.cc: ...here.
14255 * diagnostic-spec.c: Moved to...
14256 * diagnostic-spec.cc: ...here.
14257 * diagnostic.c: Moved to...
14258 * diagnostic.cc: ...here.
14259 * dojump.c: Moved to...
14260 * dojump.cc: ...here.
14261 * dominance.c: Moved to...
14262 * dominance.cc: ...here.
14263 * domwalk.c: Moved to...
14264 * domwalk.cc: ...here.
14265 * double-int.c: Moved to...
14266 * double-int.cc: ...here.
14267 * dse.c: Moved to...
14268 * dse.cc: ...here.
14269 * dumpfile.c: Moved to...
14270 * dumpfile.cc: ...here.
14271 * dwarf2asm.c: Moved to...
14272 * dwarf2asm.cc: ...here.
14273 * dwarf2cfi.c: Moved to...
14274 * dwarf2cfi.cc: ...here.
14275 * dwarf2ctf.c: Moved to...
14276 * dwarf2ctf.cc: ...here.
14277 * dwarf2out.c: Moved to...
14278 * dwarf2out.cc: ...here.
14279 * early-remat.c: Moved to...
14280 * early-remat.cc: ...here.
14281 * edit-context.c: Moved to...
14282 * edit-context.cc: ...here.
14283 * emit-rtl.c: Moved to...
14284 * emit-rtl.cc: ...here.
14285 * errors.c: Moved to...
14286 * errors.cc: ...here.
14287 * et-forest.c: Moved to...
14288 * et-forest.cc: ...here.
14289 * except.c: Moved to...
14290 * except.cc: ...here.
14291 * explow.c: Moved to...
14292 * explow.cc: ...here.
14293 * expmed.c: Moved to...
14294 * expmed.cc: ...here.
14295 * expr.c: Moved to...
14296 * expr.cc: ...here.
14297 * fibonacci_heap.c: Moved to...
14298 * fibonacci_heap.cc: ...here.
14299 * file-find.c: Moved to...
14300 * file-find.cc: ...here.
14301 * file-prefix-map.c: Moved to...
14302 * file-prefix-map.cc: ...here.
14303 * final.c: Moved to...
14304 * final.cc: ...here.
14305 * fixed-value.c: Moved to...
14306 * fixed-value.cc: ...here.
14307 * fold-const-call.c: Moved to...
14308 * fold-const-call.cc: ...here.
14309 * fold-const.c: Moved to...
14310 * fold-const.cc: ...here.
14311 * fp-test.c: Moved to...
14312 * fp-test.cc: ...here.
14313 * function-tests.c: Moved to...
14314 * function-tests.cc: ...here.
14315 * function.c: Moved to...
14316 * function.cc: ...here.
14317 * fwprop.c: Moved to...
14318 * fwprop.cc: ...here.
14319 * gcc-ar.c: Moved to...
14320 * gcc-ar.cc: ...here.
14321 * gcc-main.c: Moved to...
14322 * gcc-main.cc: ...here.
14323 * gcc-rich-location.c: Moved to...
14324 * gcc-rich-location.cc: ...here.
14325 * gcc.c: Moved to...
14326 * gcc.cc: ...here.
14327 * gcov-dump.c: Moved to...
14328 * gcov-dump.cc: ...here.
14329 * gcov-io.c: Moved to...
14330 * gcov-io.cc: ...here.
14331 * gcov-tool.c: Moved to...
14332 * gcov-tool.cc: ...here.
14333 * gcov.c: Moved to...
14334 * gcov.cc: ...here.
14335 * gcse-common.c: Moved to...
14336 * gcse-common.cc: ...here.
14337 * gcse.c: Moved to...
14338 * gcse.cc: ...here.
14339 * genattr-common.c: Moved to...
14340 * genattr-common.cc: ...here.
14341 * genattr.c: Moved to...
14342 * genattr.cc: ...here.
14343 * genattrtab.c: Moved to...
14344 * genattrtab.cc: ...here.
14345 * genautomata.c: Moved to...
14346 * genautomata.cc: ...here.
14347 * gencfn-macros.c: Moved to...
14348 * gencfn-macros.cc: ...here.
14349 * gencheck.c: Moved to...
14350 * gencheck.cc: ...here.
14351 * genchecksum.c: Moved to...
14352 * genchecksum.cc: ...here.
14353 * gencodes.c: Moved to...
14354 * gencodes.cc: ...here.
14355 * genconditions.c: Moved to...
14356 * genconditions.cc: ...here.
14357 * genconfig.c: Moved to...
14358 * genconfig.cc: ...here.
14359 * genconstants.c: Moved to...
14360 * genconstants.cc: ...here.
14361 * genemit.c: Moved to...
14362 * genemit.cc: ...here.
14363 * genenums.c: Moved to...
14364 * genenums.cc: ...here.
14365 * generic-match-head.c: Moved to...
14366 * generic-match-head.cc: ...here.
14367 * genextract.c: Moved to...
14368 * genextract.cc: ...here.
14369 * genflags.c: Moved to...
14370 * genflags.cc: ...here.
14371 * gengenrtl.c: Moved to...
14372 * gengenrtl.cc: ...here.
14373 * gengtype-parse.c: Moved to...
14374 * gengtype-parse.cc: ...here.
14375 * gengtype-state.c: Moved to...
14376 * gengtype-state.cc: ...here.
14377 * gengtype.c: Moved to...
14378 * gengtype.cc: ...here.
14379 * genhooks.c: Moved to...
14380 * genhooks.cc: ...here.
14381 * genmatch.c: Moved to...
14382 * genmatch.cc: ...here.
14383 * genmddeps.c: Moved to...
14384 * genmddeps.cc: ...here.
14385 * genmddump.c: Moved to...
14386 * genmddump.cc: ...here.
14387 * genmodes.c: Moved to...
14388 * genmodes.cc: ...here.
14389 * genopinit.c: Moved to...
14390 * genopinit.cc: ...here.
14391 * genoutput.c: Moved to...
14392 * genoutput.cc: ...here.
14393 * genpeep.c: Moved to...
14394 * genpeep.cc: ...here.
14395 * genpreds.c: Moved to...
14396 * genpreds.cc: ...here.
14397 * genrecog.c: Moved to...
14398 * genrecog.cc: ...here.
14399 * gensupport.c: Moved to...
14400 * gensupport.cc: ...here.
14401 * gentarget-def.c: Moved to...
14402 * gentarget-def.cc: ...here.
14403 * genversion.c: Moved to...
14404 * genversion.cc: ...here.
14405 * ggc-common.c: Moved to...
14406 * ggc-common.cc: ...here.
14407 * ggc-none.c: Moved to...
14408 * ggc-none.cc: ...here.
14409 * ggc-page.c: Moved to...
14410 * ggc-page.cc: ...here.
14411 * ggc-tests.c: Moved to...
14412 * ggc-tests.cc: ...here.
14413 * gimple-builder.c: Moved to...
14414 * gimple-builder.cc: ...here.
14415 * gimple-expr.c: Moved to...
14416 * gimple-expr.cc: ...here.
14417 * gimple-fold.c: Moved to...
14418 * gimple-fold.cc: ...here.
14419 * gimple-iterator.c: Moved to...
14420 * gimple-iterator.cc: ...here.
14421 * gimple-laddress.c: Moved to...
14422 * gimple-laddress.cc: ...here.
14423 * gimple-loop-jam.c: Moved to...
14424 * gimple-loop-jam.cc: ...here.
14425 * gimple-low.c: Moved to...
14426 * gimple-low.cc: ...here.
14427 * gimple-match-head.c: Moved to...
14428 * gimple-match-head.cc: ...here.
14429 * gimple-pretty-print.c: Moved to...
14430 * gimple-pretty-print.cc: ...here.
14431 * gimple-ssa-backprop.c: Moved to...
14432 * gimple-ssa-backprop.cc: ...here.
14433 * gimple-ssa-evrp-analyze.c: Moved to...
14434 * gimple-ssa-evrp-analyze.cc: ...here.
14435 * gimple-ssa-evrp.c: Moved to...
14436 * gimple-ssa-evrp.cc: ...here.
14437 * gimple-ssa-isolate-paths.c: Moved to...
14438 * gimple-ssa-isolate-paths.cc: ...here.
14439 * gimple-ssa-nonnull-compare.c: Moved to...
14440 * gimple-ssa-nonnull-compare.cc: ...here.
14441 * gimple-ssa-split-paths.c: Moved to...
14442 * gimple-ssa-split-paths.cc: ...here.
14443 * gimple-ssa-sprintf.c: Moved to...
14444 * gimple-ssa-sprintf.cc: ...here.
14445 * gimple-ssa-store-merging.c: Moved to...
14446 * gimple-ssa-store-merging.cc: ...here.
14447 * gimple-ssa-strength-reduction.c: Moved to...
14448 * gimple-ssa-strength-reduction.cc: ...here.
14449 * gimple-ssa-warn-alloca.c: Moved to...
14450 * gimple-ssa-warn-alloca.cc: ...here.
14451 * gimple-ssa-warn-restrict.c: Moved to...
14452 * gimple-ssa-warn-restrict.cc: ...here.
14453 * gimple-streamer-in.c: Moved to...
14454 * gimple-streamer-in.cc: ...here.
14455 * gimple-streamer-out.c: Moved to...
14456 * gimple-streamer-out.cc: ...here.
14457 * gimple-walk.c: Moved to...
14458 * gimple-walk.cc: ...here.
14459 * gimple-warn-recursion.c: Moved to...
14460 * gimple-warn-recursion.cc: ...here.
14461 * gimple.c: Moved to...
14462 * gimple.cc: ...here.
14463 * gimplify-me.c: Moved to...
14464 * gimplify-me.cc: ...here.
14465 * gimplify.c: Moved to...
14466 * gimplify.cc: ...here.
14467 * godump.c: Moved to...
14468 * godump.cc: ...here.
14469 * graph.c: Moved to...
14470 * graph.cc: ...here.
14471 * graphds.c: Moved to...
14472 * graphds.cc: ...here.
14473 * graphite-dependences.c: Moved to...
14474 * graphite-dependences.cc: ...here.
14475 * graphite-isl-ast-to-gimple.c: Moved to...
14476 * graphite-isl-ast-to-gimple.cc: ...here.
14477 * graphite-optimize-isl.c: Moved to...
14478 * graphite-optimize-isl.cc: ...here.
14479 * graphite-poly.c: Moved to...
14480 * graphite-poly.cc: ...here.
14481 * graphite-scop-detection.c: Moved to...
14482 * graphite-scop-detection.cc: ...here.
14483 * graphite-sese-to-poly.c: Moved to...
14484 * graphite-sese-to-poly.cc: ...here.
14485 * graphite.c: Moved to...
14486 * graphite.cc: ...here.
14487 * haifa-sched.c: Moved to...
14488 * haifa-sched.cc: ...here.
14489 * hash-map-tests.c: Moved to...
14490 * hash-map-tests.cc: ...here.
14491 * hash-set-tests.c: Moved to...
14492 * hash-set-tests.cc: ...here.
14493 * hash-table.c: Moved to...
14494 * hash-table.cc: ...here.
14495 * hooks.c: Moved to...
14496 * hooks.cc: ...here.
14497 * host-default.c: Moved to...
14498 * host-default.cc: ...here.
14499 * hw-doloop.c: Moved to...
14500 * hw-doloop.cc: ...here.
14501 * hwint.c: Moved to...
14502 * hwint.cc: ...here.
14503 * ifcvt.c: Moved to...
14504 * ifcvt.cc: ...here.
14505 * inchash.c: Moved to...
14506 * inchash.cc: ...here.
14507 * incpath.c: Moved to...
14508 * incpath.cc: ...here.
14509 * init-regs.c: Moved to...
14510 * init-regs.cc: ...here.
14511 * input.c: Moved to...
14512 * input.cc: ...here.
14513 * internal-fn.c: Moved to...
14514 * internal-fn.cc: ...here.
14515 * intl.c: Moved to...
14516 * intl.cc: ...here.
14517 * ipa-comdats.c: Moved to...
14518 * ipa-comdats.cc: ...here.
14519 * ipa-cp.c: Moved to...
14520 * ipa-cp.cc: ...here.
14521 * ipa-devirt.c: Moved to...
14522 * ipa-devirt.cc: ...here.
14523 * ipa-fnsummary.c: Moved to...
14524 * ipa-fnsummary.cc: ...here.
14525 * ipa-icf-gimple.c: Moved to...
14526 * ipa-icf-gimple.cc: ...here.
14527 * ipa-icf.c: Moved to...
14528 * ipa-icf.cc: ...here.
14529 * ipa-inline-analysis.c: Moved to...
14530 * ipa-inline-analysis.cc: ...here.
14531 * ipa-inline-transform.c: Moved to...
14532 * ipa-inline-transform.cc: ...here.
14533 * ipa-inline.c: Moved to...
14534 * ipa-inline.cc: ...here.
14535 * ipa-modref-tree.c: Moved to...
14536 * ipa-modref-tree.cc: ...here.
14537 * ipa-modref.c: Moved to...
14538 * ipa-modref.cc: ...here.
14539 * ipa-param-manipulation.c: Moved to...
14540 * ipa-param-manipulation.cc: ...here.
14541 * ipa-polymorphic-call.c: Moved to...
14542 * ipa-polymorphic-call.cc: ...here.
14543 * ipa-predicate.c: Moved to...
14544 * ipa-predicate.cc: ...here.
14545 * ipa-profile.c: Moved to...
14546 * ipa-profile.cc: ...here.
14547 * ipa-prop.c: Moved to...
14548 * ipa-prop.cc: ...here.
14549 * ipa-pure-const.c: Moved to...
14550 * ipa-pure-const.cc: ...here.
14551 * ipa-ref.c: Moved to...
14552 * ipa-ref.cc: ...here.
14553 * ipa-reference.c: Moved to...
14554 * ipa-reference.cc: ...here.
14555 * ipa-split.c: Moved to...
14556 * ipa-split.cc: ...here.
14557 * ipa-sra.c: Moved to...
14558 * ipa-sra.cc: ...here.
14559 * ipa-utils.c: Moved to...
14560 * ipa-utils.cc: ...here.
14561 * ipa-visibility.c: Moved to...
14562 * ipa-visibility.cc: ...here.
14563 * ipa.c: Moved to...
14564 * ipa.cc: ...here.
14565 * ira-build.c: Moved to...
14566 * ira-build.cc: ...here.
14567 * ira-color.c: Moved to...
14568 * ira-color.cc: ...here.
14569 * ira-conflicts.c: Moved to...
14570 * ira-conflicts.cc: ...here.
14571 * ira-costs.c: Moved to...
14572 * ira-costs.cc: ...here.
14573 * ira-emit.c: Moved to...
14574 * ira-emit.cc: ...here.
14575 * ira-lives.c: Moved to...
14576 * ira-lives.cc: ...here.
14577 * ira.c: Moved to...
14578 * ira.cc: ...here.
14579 * jump.c: Moved to...
14580 * jump.cc: ...here.
14581 * langhooks.c: Moved to...
14582 * langhooks.cc: ...here.
14583 * lcm.c: Moved to...
14584 * lcm.cc: ...here.
14585 * lists.c: Moved to...
14586 * lists.cc: ...here.
14587 * loop-doloop.c: Moved to...
14588 * loop-doloop.cc: ...here.
14589 * loop-init.c: Moved to...
14590 * loop-init.cc: ...here.
14591 * loop-invariant.c: Moved to...
14592 * loop-invariant.cc: ...here.
14593 * loop-iv.c: Moved to...
14594 * loop-iv.cc: ...here.
14595 * loop-unroll.c: Moved to...
14596 * loop-unroll.cc: ...here.
14597 * lower-subreg.c: Moved to...
14598 * lower-subreg.cc: ...here.
14599 * lra-assigns.c: Moved to...
14600 * lra-assigns.cc: ...here.
14601 * lra-coalesce.c: Moved to...
14602 * lra-coalesce.cc: ...here.
14603 * lra-constraints.c: Moved to...
14604 * lra-constraints.cc: ...here.
14605 * lra-eliminations.c: Moved to...
14606 * lra-eliminations.cc: ...here.
14607 * lra-lives.c: Moved to...
14608 * lra-lives.cc: ...here.
14609 * lra-remat.c: Moved to...
14610 * lra-remat.cc: ...here.
14611 * lra-spills.c: Moved to...
14612 * lra-spills.cc: ...here.
14613 * lra.c: Moved to...
14614 * lra.cc: ...here.
14615 * lto-cgraph.c: Moved to...
14616 * lto-cgraph.cc: ...here.
14617 * lto-compress.c: Moved to...
14618 * lto-compress.cc: ...here.
14619 * lto-opts.c: Moved to...
14620 * lto-opts.cc: ...here.
14621 * lto-section-in.c: Moved to...
14622 * lto-section-in.cc: ...here.
14623 * lto-section-out.c: Moved to...
14624 * lto-section-out.cc: ...here.
14625 * lto-streamer-in.c: Moved to...
14626 * lto-streamer-in.cc: ...here.
14627 * lto-streamer-out.c: Moved to...
14628 * lto-streamer-out.cc: ...here.
14629 * lto-streamer.c: Moved to...
14630 * lto-streamer.cc: ...here.
14631 * lto-wrapper.c: Moved to...
14632 * lto-wrapper.cc: ...here.
14633 * main.c: Moved to...
14634 * main.cc: ...here.
14635 * mcf.c: Moved to...
14636 * mcf.cc: ...here.
14637 * mode-switching.c: Moved to...
14638 * mode-switching.cc: ...here.
14639 * modulo-sched.c: Moved to...
14640 * modulo-sched.cc: ...here.
14641 * multiple_target.c: Moved to...
14642 * multiple_target.cc: ...here.
14643 * omp-expand.c: Moved to...
14644 * omp-expand.cc: ...here.
14645 * omp-general.c: Moved to...
14646 * omp-general.cc: ...here.
14647 * omp-low.c: Moved to...
14648 * omp-low.cc: ...here.
14649 * omp-offload.c: Moved to...
14650 * omp-offload.cc: ...here.
14651 * omp-simd-clone.c: Moved to...
14652 * omp-simd-clone.cc: ...here.
14653 * opt-suggestions.c: Moved to...
14654 * opt-suggestions.cc: ...here.
14655 * optabs-libfuncs.c: Moved to...
14656 * optabs-libfuncs.cc: ...here.
14657 * optabs-query.c: Moved to...
14658 * optabs-query.cc: ...here.
14659 * optabs-tree.c: Moved to...
14660 * optabs-tree.cc: ...here.
14661 * optabs.c: Moved to...
14662 * optabs.cc: ...here.
14663 * opts-common.c: Moved to...
14664 * opts-common.cc: ...here.
14665 * opts-global.c: Moved to...
14666 * opts-global.cc: ...here.
14667 * opts.c: Moved to...
14668 * opts.cc: ...here.
14669 * passes.c: Moved to...
14670 * passes.cc: ...here.
14671 * plugin.c: Moved to...
14672 * plugin.cc: ...here.
14673 * postreload-gcse.c: Moved to...
14674 * postreload-gcse.cc: ...here.
14675 * postreload.c: Moved to...
14676 * postreload.cc: ...here.
14677 * predict.c: Moved to...
14678 * predict.cc: ...here.
14679 * prefix.c: Moved to...
14680 * prefix.cc: ...here.
14681 * pretty-print.c: Moved to...
14682 * pretty-print.cc: ...here.
14683 * print-rtl-function.c: Moved to...
14684 * print-rtl-function.cc: ...here.
14685 * print-rtl.c: Moved to...
14686 * print-rtl.cc: ...here.
14687 * print-tree.c: Moved to...
14688 * print-tree.cc: ...here.
14689 * profile-count.c: Moved to...
14690 * profile-count.cc: ...here.
14691 * profile.c: Moved to...
14692 * profile.cc: ...here.
14693 * read-md.c: Moved to...
14694 * read-md.cc: ...here.
14695 * read-rtl-function.c: Moved to...
14696 * read-rtl-function.cc: ...here.
14697 * read-rtl.c: Moved to...
14698 * read-rtl.cc: ...here.
14699 * real.c: Moved to...
14700 * real.cc: ...here.
14701 * realmpfr.c: Moved to...
14702 * realmpfr.cc: ...here.
14703 * recog.c: Moved to...
14704 * recog.cc: ...here.
14705 * ree.c: Moved to...
14706 * ree.cc: ...here.
14707 * reg-stack.c: Moved to...
14708 * reg-stack.cc: ...here.
14709 * regcprop.c: Moved to...
14710 * regcprop.cc: ...here.
14711 * reginfo.c: Moved to...
14712 * reginfo.cc: ...here.
14713 * regrename.c: Moved to...
14714 * regrename.cc: ...here.
14715 * regstat.c: Moved to...
14716 * regstat.cc: ...here.
14717 * reload.c: Moved to...
14718 * reload.cc: ...here.
14719 * reload1.c: Moved to...
14720 * reload1.cc: ...here.
14721 * reorg.c: Moved to...
14722 * reorg.cc: ...here.
14723 * resource.c: Moved to...
14724 * resource.cc: ...here.
14725 * rtl-error.c: Moved to...
14726 * rtl-error.cc: ...here.
14727 * rtl-tests.c: Moved to...
14728 * rtl-tests.cc: ...here.
14729 * rtl.c: Moved to...
14730 * rtl.cc: ...here.
14731 * rtlanal.c: Moved to...
14732 * rtlanal.cc: ...here.
14733 * rtlhash.c: Moved to...
14734 * rtlhash.cc: ...here.
14735 * rtlhooks.c: Moved to...
14736 * rtlhooks.cc: ...here.
14737 * rtx-vector-builder.c: Moved to...
14738 * rtx-vector-builder.cc: ...here.
14739 * run-rtl-passes.c: Moved to...
14740 * run-rtl-passes.cc: ...here.
14741 * sancov.c: Moved to...
14742 * sancov.cc: ...here.
14743 * sanopt.c: Moved to...
14744 * sanopt.cc: ...here.
14745 * sbitmap.c: Moved to...
14746 * sbitmap.cc: ...here.
14747 * sched-deps.c: Moved to...
14748 * sched-deps.cc: ...here.
14749 * sched-ebb.c: Moved to...
14750 * sched-ebb.cc: ...here.
14751 * sched-rgn.c: Moved to...
14752 * sched-rgn.cc: ...here.
14753 * sel-sched-dump.c: Moved to...
14754 * sel-sched-dump.cc: ...here.
14755 * sel-sched-ir.c: Moved to...
14756 * sel-sched-ir.cc: ...here.
14757 * sel-sched.c: Moved to...
14758 * sel-sched.cc: ...here.
14759 * selftest-diagnostic.c: Moved to...
14760 * selftest-diagnostic.cc: ...here.
14761 * selftest-rtl.c: Moved to...
14762 * selftest-rtl.cc: ...here.
14763 * selftest-run-tests.c: Moved to...
14764 * selftest-run-tests.cc: ...here.
14765 * selftest.c: Moved to...
14766 * selftest.cc: ...here.
14767 * sese.c: Moved to...
14768 * sese.cc: ...here.
14769 * shrink-wrap.c: Moved to...
14770 * shrink-wrap.cc: ...here.
14771 * simplify-rtx.c: Moved to...
14772 * simplify-rtx.cc: ...here.
14773 * sparseset.c: Moved to...
14774 * sparseset.cc: ...here.
14775 * spellcheck-tree.c: Moved to...
14776 * spellcheck-tree.cc: ...here.
14777 * spellcheck.c: Moved to...
14778 * spellcheck.cc: ...here.
14779 * sreal.c: Moved to...
14780 * sreal.cc: ...here.
14781 * stack-ptr-mod.c: Moved to...
14782 * stack-ptr-mod.cc: ...here.
14783 * statistics.c: Moved to...
14784 * statistics.cc: ...here.
14785 * stmt.c: Moved to...
14786 * stmt.cc: ...here.
14787 * stor-layout.c: Moved to...
14788 * stor-layout.cc: ...here.
14789 * store-motion.c: Moved to...
14790 * store-motion.cc: ...here.
14791 * streamer-hooks.c: Moved to...
14792 * streamer-hooks.cc: ...here.
14793 * stringpool.c: Moved to...
14794 * stringpool.cc: ...here.
14795 * substring-locations.c: Moved to...
14796 * substring-locations.cc: ...here.
14797 * symtab.c: Moved to...
14798 * symtab.cc: ...here.
14799 * target-globals.c: Moved to...
14800 * target-globals.cc: ...here.
14801 * targhooks.c: Moved to...
14802 * targhooks.cc: ...here.
14803 * timevar.c: Moved to...
14804 * timevar.cc: ...here.
14805 * toplev.c: Moved to...
14806 * toplev.cc: ...here.
14807 * tracer.c: Moved to...
14808 * tracer.cc: ...here.
14809 * trans-mem.c: Moved to...
14810 * trans-mem.cc: ...here.
14811 * tree-affine.c: Moved to...
14812 * tree-affine.cc: ...here.
14813 * tree-call-cdce.c: Moved to...
14814 * tree-call-cdce.cc: ...here.
14815 * tree-cfg.c: Moved to...
14816 * tree-cfg.cc: ...here.
14817 * tree-cfgcleanup.c: Moved to...
14818 * tree-cfgcleanup.cc: ...here.
14819 * tree-chrec.c: Moved to...
14820 * tree-chrec.cc: ...here.
14821 * tree-complex.c: Moved to...
14822 * tree-complex.cc: ...here.
14823 * tree-data-ref.c: Moved to...
14824 * tree-data-ref.cc: ...here.
14825 * tree-dfa.c: Moved to...
14826 * tree-dfa.cc: ...here.
14827 * tree-diagnostic.c: Moved to...
14828 * tree-diagnostic.cc: ...here.
14829 * tree-dump.c: Moved to...
14830 * tree-dump.cc: ...here.
14831 * tree-eh.c: Moved to...
14832 * tree-eh.cc: ...here.
14833 * tree-emutls.c: Moved to...
14834 * tree-emutls.cc: ...here.
14835 * tree-if-conv.c: Moved to...
14836 * tree-if-conv.cc: ...here.
14837 * tree-inline.c: Moved to...
14838 * tree-inline.cc: ...here.
14839 * tree-into-ssa.c: Moved to...
14840 * tree-into-ssa.cc: ...here.
14841 * tree-iterator.c: Moved to...
14842 * tree-iterator.cc: ...here.
14843 * tree-loop-distribution.c: Moved to...
14844 * tree-loop-distribution.cc: ...here.
14845 * tree-nested.c: Moved to...
14846 * tree-nested.cc: ...here.
14847 * tree-nrv.c: Moved to...
14848 * tree-nrv.cc: ...here.
14849 * tree-object-size.c: Moved to...
14850 * tree-object-size.cc: ...here.
14851 * tree-outof-ssa.c: Moved to...
14852 * tree-outof-ssa.cc: ...here.
14853 * tree-parloops.c: Moved to...
14854 * tree-parloops.cc: ...here.
14855 * tree-phinodes.c: Moved to...
14856 * tree-phinodes.cc: ...here.
14857 * tree-predcom.c: Moved to...
14858 * tree-predcom.cc: ...here.
14859 * tree-pretty-print.c: Moved to...
14860 * tree-pretty-print.cc: ...here.
14861 * tree-profile.c: Moved to...
14862 * tree-profile.cc: ...here.
14863 * tree-scalar-evolution.c: Moved to...
14864 * tree-scalar-evolution.cc: ...here.
14865 * tree-sra.c: Moved to...
14866 * tree-sra.cc: ...here.
14867 * tree-ssa-address.c: Moved to...
14868 * tree-ssa-address.cc: ...here.
14869 * tree-ssa-alias.c: Moved to...
14870 * tree-ssa-alias.cc: ...here.
14871 * tree-ssa-ccp.c: Moved to...
14872 * tree-ssa-ccp.cc: ...here.
14873 * tree-ssa-coalesce.c: Moved to...
14874 * tree-ssa-coalesce.cc: ...here.
14875 * tree-ssa-copy.c: Moved to...
14876 * tree-ssa-copy.cc: ...here.
14877 * tree-ssa-dce.c: Moved to...
14878 * tree-ssa-dce.cc: ...here.
14879 * tree-ssa-dom.c: Moved to...
14880 * tree-ssa-dom.cc: ...here.
14881 * tree-ssa-dse.c: Moved to...
14882 * tree-ssa-dse.cc: ...here.
14883 * tree-ssa-forwprop.c: Moved to...
14884 * tree-ssa-forwprop.cc: ...here.
14885 * tree-ssa-ifcombine.c: Moved to...
14886 * tree-ssa-ifcombine.cc: ...here.
14887 * tree-ssa-live.c: Moved to...
14888 * tree-ssa-live.cc: ...here.
14889 * tree-ssa-loop-ch.c: Moved to...
14890 * tree-ssa-loop-ch.cc: ...here.
14891 * tree-ssa-loop-im.c: Moved to...
14892 * tree-ssa-loop-im.cc: ...here.
14893 * tree-ssa-loop-ivcanon.c: Moved to...
14894 * tree-ssa-loop-ivcanon.cc: ...here.
14895 * tree-ssa-loop-ivopts.c: Moved to...
14896 * tree-ssa-loop-ivopts.cc: ...here.
14897 * tree-ssa-loop-manip.c: Moved to...
14898 * tree-ssa-loop-manip.cc: ...here.
14899 * tree-ssa-loop-niter.c: Moved to...
14900 * tree-ssa-loop-niter.cc: ...here.
14901 * tree-ssa-loop-prefetch.c: Moved to...
14902 * tree-ssa-loop-prefetch.cc: ...here.
14903 * tree-ssa-loop-split.c: Moved to...
14904 * tree-ssa-loop-split.cc: ...here.
14905 * tree-ssa-loop-unswitch.c: Moved to...
14906 * tree-ssa-loop-unswitch.cc: ...here.
14907 * tree-ssa-loop.c: Moved to...
14908 * tree-ssa-loop.cc: ...here.
14909 * tree-ssa-math-opts.c: Moved to...
14910 * tree-ssa-math-opts.cc: ...here.
14911 * tree-ssa-operands.c: Moved to...
14912 * tree-ssa-operands.cc: ...here.
14913 * tree-ssa-phiopt.c: Moved to...
14914 * tree-ssa-phiopt.cc: ...here.
14915 * tree-ssa-phiprop.c: Moved to...
14916 * tree-ssa-phiprop.cc: ...here.
14917 * tree-ssa-pre.c: Moved to...
14918 * tree-ssa-pre.cc: ...here.
14919 * tree-ssa-propagate.c: Moved to...
14920 * tree-ssa-propagate.cc: ...here.
14921 * tree-ssa-reassoc.c: Moved to...
14922 * tree-ssa-reassoc.cc: ...here.
14923 * tree-ssa-sccvn.c: Moved to...
14924 * tree-ssa-sccvn.cc: ...here.
14925 * tree-ssa-scopedtables.c: Moved to...
14926 * tree-ssa-scopedtables.cc: ...here.
14927 * tree-ssa-sink.c: Moved to...
14928 * tree-ssa-sink.cc: ...here.
14929 * tree-ssa-strlen.c: Moved to...
14930 * tree-ssa-strlen.cc: ...here.
14931 * tree-ssa-structalias.c: Moved to...
14932 * tree-ssa-structalias.cc: ...here.
14933 * tree-ssa-tail-merge.c: Moved to...
14934 * tree-ssa-tail-merge.cc: ...here.
14935 * tree-ssa-ter.c: Moved to...
14936 * tree-ssa-ter.cc: ...here.
14937 * tree-ssa-threadbackward.c: Moved to...
14938 * tree-ssa-threadbackward.cc: ...here.
14939 * tree-ssa-threadedge.c: Moved to...
14940 * tree-ssa-threadedge.cc: ...here.
14941 * tree-ssa-threadupdate.c: Moved to...
14942 * tree-ssa-threadupdate.cc: ...here.
14943 * tree-ssa-uncprop.c: Moved to...
14944 * tree-ssa-uncprop.cc: ...here.
14945 * tree-ssa-uninit.c: Moved to...
14946 * tree-ssa-uninit.cc: ...here.
14947 * tree-ssa.c: Moved to...
14948 * tree-ssa.cc: ...here.
14949 * tree-ssanames.c: Moved to...
14950 * tree-ssanames.cc: ...here.
14951 * tree-stdarg.c: Moved to...
14952 * tree-stdarg.cc: ...here.
14953 * tree-streamer-in.c: Moved to...
14954 * tree-streamer-in.cc: ...here.
14955 * tree-streamer-out.c: Moved to...
14956 * tree-streamer-out.cc: ...here.
14957 * tree-streamer.c: Moved to...
14958 * tree-streamer.cc: ...here.
14959 * tree-switch-conversion.c: Moved to...
14960 * tree-switch-conversion.cc: ...here.
14961 * tree-tailcall.c: Moved to...
14962 * tree-tailcall.cc: ...here.
14963 * tree-vect-data-refs.c: Moved to...
14964 * tree-vect-data-refs.cc: ...here.
14965 * tree-vect-generic.c: Moved to...
14966 * tree-vect-generic.cc: ...here.
14967 * tree-vect-loop-manip.c: Moved to...
14968 * tree-vect-loop-manip.cc: ...here.
14969 * tree-vect-loop.c: Moved to...
14970 * tree-vect-loop.cc: ...here.
14971 * tree-vect-patterns.c: Moved to...
14972 * tree-vect-patterns.cc: ...here.
14973 * tree-vect-slp-patterns.c: Moved to...
14974 * tree-vect-slp-patterns.cc: ...here.
14975 * tree-vect-slp.c: Moved to...
14976 * tree-vect-slp.cc: ...here.
14977 * tree-vect-stmts.c: Moved to...
14978 * tree-vect-stmts.cc: ...here.
14979 * tree-vector-builder.c: Moved to...
14980 * tree-vector-builder.cc: ...here.
14981 * tree-vectorizer.c: Moved to...
14982 * tree-vectorizer.cc: ...here.
14983 * tree-vrp.c: Moved to...
14984 * tree-vrp.cc: ...here.
14985 * tree.c: Moved to...
14986 * tree.cc: ...here.
14987 * tsan.c: Moved to...
14988 * tsan.cc: ...here.
14989 * typed-splay-tree.c: Moved to...
14990 * typed-splay-tree.cc: ...here.
14991 * ubsan.c: Moved to...
14992 * ubsan.cc: ...here.
14993 * valtrack.c: Moved to...
14994 * valtrack.cc: ...here.
14995 * value-prof.c: Moved to...
14996 * value-prof.cc: ...here.
14997 * var-tracking.c: Moved to...
14998 * var-tracking.cc: ...here.
14999 * varasm.c: Moved to...
15000 * varasm.cc: ...here.
15001 * varpool.c: Moved to...
15002 * varpool.cc: ...here.
15003 * vec-perm-indices.c: Moved to...
15004 * vec-perm-indices.cc: ...here.
15005 * vec.c: Moved to...
15006 * vec.cc: ...here.
15007 * vmsdbgout.c: Moved to...
15008 * vmsdbgout.cc: ...here.
15009 * vr-values.c: Moved to...
15010 * vr-values.cc: ...here.
15011 * vtable-verify.c: Moved to...
15012 * vtable-verify.cc: ...here.
15013 * web.c: Moved to...
15014 * web.cc: ...here.
15015 * xcoffout.c: Moved to...
15016 * xcoffout.cc: ...here.
15017
15018 2022-01-17 qing zhao <qing.zhao@oracle.com>
15019
15020 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
15021 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
15022 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
15023 specially.
15024 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
15025 (warn_uninitialized_vars): Likewise.
15026 (warn_uninitialized_phi): Likewise.
15027
15028 2022-01-17 Jason Merrill <jason@redhat.com>
15029
15030 * diagnostic.h (struct diagnostic_context): Add includes_seen.
15031 * diagnostic.c (diagnostic_initialize): Initialize it.
15032 (diagnostic_finish): Clean it up.
15033 (includes_seen): New function.
15034 (diagnostic_report_current_module): Use it.
15035
15036 2022-01-17 Richard Biener <rguenther@suse.de>
15037
15038 PR middle-end/101292
15039 * diagnostic-spec.c (copy_warning): Make sure to not
15040 reference old hashtable content on possible resize.
15041 * warning-control.cc (copy_warning): Likewise.
15042
15043 2022-01-17 Jakub Jelinek <jakub@redhat.com>
15044
15045 PR target/103973
15046 * tree-cfg.h (cond_only_block_p): Declare.
15047 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
15048 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
15049 * optabs.def (spaceship_optab): New optab.
15050 * internal-fn.def (SPACESHIP): New internal function.
15051 * internal-fn.h (expand_SPACESHIP): Declare.
15052 * internal-fn.c (expand_PHI): Formatting fix.
15053 (expand_SPACESHIP): New function.
15054 * tree-ssa-math-opts.c (optimize_spaceship): New function.
15055 (math_opts_dom_walker::after_dom_children): Use it.
15056 * config/i386/i386.md (spaceship<mode>3): New define_expand.
15057 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
15058 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
15059 * doc/md.texi (spaceship@var{m}3): Document.
15060
15061 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
15062
15063 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
15064 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
15065 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
15066 known constant values to simplify code.
15067
15068 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
15069
15070 PR target/103124
15071 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
15072
15073 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
15074
15075 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
15076 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
15077 Insert zero-idiom in output template when attr enabled, set new attribute to
15078 true for non-mask/maskz insn.
15079 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
15080 Likewise.
15081 (avx512dq_mul<mode>3<mask_name>): Likewise.
15082 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
15083 (avx2_perm<mode>_1<mask_name>): Likewise.
15084 (avx512f_perm<mode>_1<mask_name>): Likewise.
15085 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
15086 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
15087 Likewise.
15088 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
15089 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
15090 Likewise.
15091 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
15092 subst_attr.
15093 (mask4_dest_false_dep_for_glc_cond): Likewise.
15094 (mask6_dest_false_dep_for_glc_cond): Likewise.
15095 (mask10_dest_false_dep_for_glc_cond): Likewise.
15096 (maskc_dest_false_dep_for_glc_cond): Likewise.
15097 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
15098 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
15099 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
15100 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
15101
15102 2022-01-15 Martin Sebor <msebor@redhat.com>
15103
15104 PR c/63272
15105 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
15106 -Wdangling-pointer.
15107 * doc/invoke.texi (-Wdangling-pointer): Document new option.
15108 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
15109 (pass_waccess::check_pointer_uses): New function.
15110 (pass_waccess::gimple_call_return_arg): New function.
15111 (pass_waccess::gimple_call_return_arg_ref): New function.
15112 (pass_waccess::check_call_dangling): New function.
15113 (pass_waccess::check_dangling_uses): New function overloads.
15114 (pass_waccess::check_dangling_stores): New function.
15115 (pass_waccess::check_dangling_stores): New function.
15116 (pass_waccess::m_clobbers): New data member.
15117 (pass_waccess::m_func): New data member.
15118 (pass_waccess::m_run_number): New data member.
15119 (pass_waccess::m_check_dangling_p): New data member.
15120 (pass_waccess::check_alloca): Check m_early_checks_p.
15121 (pass_waccess::check_alloc_size_call): Same.
15122 (pass_waccess::check_strcat): Same.
15123 (pass_waccess::check_strncat): Same.
15124 (pass_waccess::check_stxcpy): Same.
15125 (pass_waccess::check_stxncpy): Same.
15126 (pass_waccess::check_strncmp): Same.
15127 (pass_waccess::check_memop_access): Same.
15128 (pass_waccess::check_read_access): Same.
15129 (pass_waccess::check_builtin): Call check_pointer_uses.
15130 (pass_waccess::warn_invalid_pointer): Add arguments.
15131 (is_auto_decl): New function.
15132 (pass_waccess::check_stmt): New function.
15133 (pass_waccess::check_block): Call check_stmt.
15134 (pass_waccess::execute): Call check_dangling_uses,
15135 check_dangling_stores. Empty m_clobbers.
15136 * passes.def (pass_warn_access): Invoke pass two more times.
15137
15138 2022-01-15 Martin Sebor <msebor@redhat.com>
15139
15140 PR tree-optimization/80532
15141 * common.opt (-Wuse-after-free): New options.
15142 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
15143 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
15144 * diagnostic-spec.h (NW_DANGLING): New enumerator.
15145 * doc/invoke.texi (-Wuse-after-free): Document new option.
15146 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
15147 (pass_waccess::check_call_access): ...to this.
15148 (pass_waccess::check): Rename...
15149 (pass_waccess::check_block): ...to this.
15150 (pass_waccess::check_pointer_uses): New function.
15151 (pass_waccess::gimple_call_return_arg): New function.
15152 (pass_waccess::warn_invalid_pointer): New function.
15153 (pass_waccess::check_builtin): Handle free and realloc.
15154 (gimple_use_after_inval_p): New function.
15155 (get_realloc_lhs): New function.
15156 (maybe_warn_mismatched_realloc): New function.
15157 (pointers_related_p): New function.
15158 (pass_waccess::check_call): Call check_pointer_uses.
15159 (pass_waccess::execute): Compute and free dominance info.
15160
15161 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
15162
15163 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
15164 expand_simple_unop and expand_simple_binop instead of manually
15165 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
15166 consistently. Eliminate common subexpressions and simplify code.
15167 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
15168 (<any_logic:code><MODEF:mode>3): Make public.
15169
15170 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
15171
15172 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
15173 reverse flag as "reverse" for the sake of consistency.
15174 * ipa-sra.c: Fix copyright year.
15175 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
15176 (dump_isra_access): Tweak dump line.
15177 (isra_write_node_summary): Write the reverse flag.
15178 (isra_read_node_info): Read it.
15179 (pull_accesses_from_callee): Test its consistency and copy it.
15180
15181 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
15182
15183 PR middle-end/104026
15184 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
15185 partial_load_store_bias.
15186
15187 2022-01-14 Martin Sebor <msebor@redhat.com>
15188
15189 PR middle-end/101475
15190 * pointer-query.cc (handle_component_ref): Use the size of
15191 the enclosing object if it's smaller than the member.
15192
15193 2022-01-14 Martin Liska <mliska@suse.cz>
15194
15195 * configure: Regenerate.
15196
15197 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
15198
15199 * config/i386/i386.md (*add<mode>_1_slp"):
15200 Mark alternative 1 output operand earlyclobbered.
15201 (*sub<mode>_1_slp): Ditto.
15202 (*and<mode>_1_slp): Ditto.
15203 (*<code><mode>_1_slp): Ditto.
15204 (*neg<mode>_1_slp): Ditto.
15205 (*one_cmpl<mode>_1_slp): Ditto.
15206 (*ashl<mode>3_1_slp): Ditto.
15207 (*<insn><mode>3_1_slp): Ditto.
15208 (*<insn><mode>3_1_slp): Ditto.
15209
15210 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
15211
15212 PR tree-optimization/104015
15213 * tree-vect-loop.c (vect_analyze_loop): Check
15214 param_vect_partial_vector_usage for supports_partial_vectors.
15215
15216 2022-01-14 Jakub Jelinek <jakub@redhat.com>
15217
15218 PR c++/89074
15219 * fold-const.c (address_compare): Punt on comparison of address of
15220 one object with address of end of another object if
15221 folding_initializer.
15222
15223 2022-01-14 Jakub Jelinek <jakub@redhat.com>
15224
15225 PR target/98737
15226 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
15227 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
15228 and __atomic_op_fetch (p, x, y) iop x into
15229 __atomic_fetch_op (p, x, y).
15230
15231 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
15232
15233 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
15234 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
15235 (INCOMING_RETURN_ADDR_RTX): Likewise.
15236 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
15237
15238 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
15239
15240 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
15241 computin checking accumulator regs.
15242 (arc_expand_prologue): Update comments.
15243 (arc_expand_epilogue): Likewise.
15244
15245 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
15246 Uroš Bizjak <ubizjak@gmail.com>
15247
15248 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
15249 (ix86_expand_ti_to_v1ti): Use force_reg.
15250 (ix86_expand_v1ti_shift): Use force_reg.
15251 (ix86_expand_v1ti_rotate): Use force_reg.
15252 (ix86_expand_v1ti_ashiftrt): Provide new three operation
15253 implementations for shifts by 111..126 bits. Use force_reg.
15254
15255 2022-01-14 Martin Liska <mliska@suse.cz>
15256
15257 * common/config/arm/arm-common.c (arm_target_mode): Fix
15258 warning: unterminated quoting directive [-Wformat=].
15259
15260 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
15261
15262 PR tree-optimization/104009
15263 * tree-object-size.c (compute_builtin_object_size): Bail out on
15264 negative offset.
15265 (plus_stmt_object_size): Return maximum of wholesize and minimum
15266 of 0 for negative offset.
15267
15268 2022-01-14 liuhongt <hongtao.liu@intel.com>
15269
15270 PR target/104001
15271 PR target/94790
15272 PR target/104014
15273 * config/i386/i386.md (*xor2andn): Refine predicate of
15274 operands[0] from nonimmediate_operand to
15275 register_operand, remove TARGET_AVX512BW from condition.
15276
15277 2022-01-14 David Malcolm <dmalcolm@redhat.com>
15278
15279 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
15280 be used on field decls.
15281 (Common Function Attributes): Add entry on "tainted_args" attribute.
15282
15283 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
15284 Jason Merrill <jason@redhat.com>
15285
15286 PR c++/70417
15287 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
15288
15289 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
15290
15291 PR target/103861
15292 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
15293 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
15294 * config/i386/mmx.md (<any_shift:insn>v2qi):
15295 New insn_and_split pattern.
15296
15297 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
15298
15299 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
15300 (expand_partial_store_optab_fn): Likewise.
15301 (internal_len_load_store_bias): New function.
15302 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
15303 (internal_len_load_store_bias): New function.
15304 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
15305 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
15306 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
15307 (vect_estimate_min_profitable_iters): Account for bias.
15308 (vect_get_loop_len): Add bias-adjusted length.
15309 * tree-vect-stmts.c (vectorizable_store): Use.
15310 (vectorizable_load): Use.
15311 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
15312 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
15313 * config/rs6000/vsx.md: Use const0 bias predicate.
15314 * doc/md.texi: Document bias value.
15315
15316 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
15317
15318 PR tree-optimization/83072
15319 PR tree-optimization/83073
15320 PR tree-optimization/97909
15321 * fold-const.c (expr_not_equal_to): Use a multi-range class.
15322
15323 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
15324
15325 PR tree-optimization/96707
15326 * range-op.cc (operator_rshift::lhs_op1_relation): New.
15327
15328 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
15329
15330 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
15331 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
15332 (negv2qi splitters): Use lowpart_subreg instead of
15333 gen_lowpart to create subreg.
15334 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
15335 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
15336 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
15337 gen_lowpart to create subreg.
15338 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
15339
15340 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
15341
15342 PR target/104003
15343 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
15344
15345 2022-01-13 Martin Liska <mliska@suse.cz>
15346
15347 * common/config/arm/arm-common.c (arm_target_mode): Wrap
15348 keywords with %<, %> and remove trailing punctuation char.
15349 (arm_canon_arch_option_1): Likewise.
15350 (arm_asm_auto_mfpu): Likewise.
15351 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
15352 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
15353 (use_vfp_abi): Likewise.
15354 (aapcs_vfp_is_call_or_return_candidate): Likewise.
15355 (arm_handle_cmse_nonsecure_entry): Likewise.
15356 (arm_handle_cmse_nonsecure_call): Likewise.
15357 (thumb1_md_asm_adjust): Likewise.
15358
15359 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
15360
15361 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
15362 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
15363 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
15364 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
15365 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
15366 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
15367 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
15368 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
15369 macro.
15370
15371 2022-01-13 Jakub Jelinek <jakub@redhat.com>
15372
15373 PR tree-optimization/103989
15374 * tree-inline.c (setup_one_parameter): Don't copy parms with
15375 empty type.
15376
15377 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
15378
15379 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
15380 'TYPE_ADDR_SPACE' for offloading.
15381 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
15382 'TYPE_ADDR_SPACE' for offloading.
15383
15384 2022-01-13 Julian Brown <julian@codesourcery.com>
15385 Thomas Schwinge <thomas@codesourcery.com>
15386
15387 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
15388 of...
15389 (add_async_clauses_and_wait): ...here. Call new outlined function.
15390 (decompose_kernels_region_body): Add wait at the end of
15391 explicitly-asynchronous kernels regions.
15392
15393 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
15394
15395 PR middle-end/100280
15396 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
15397 Mark variables used in synthesized data clauses as addressable.
15398
15399 2022-01-13 Martin Liska <mliska@suse.cz>
15400
15401 * config/epiphany/epiphany.c (epiphany_mode_priority):
15402 Use gcc_unreachable for not handled cases.
15403
15404 2022-01-13 Martin Liska <mliska@suse.cz>
15405
15406 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
15407 Use %qs format specifier.
15408 (epiphany_override_options): Wrap keyword in %<, %>.
15409
15410 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
15411
15412 PR target/94790
15413 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
15414
15415 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
15416
15417 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
15418
15419 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
15420
15421 PR target/100637
15422 PR target/103861
15423 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
15424 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
15425 when constructing vector logic RTXes.
15426 (expand_vec_perm_pshufb2): Ditto.
15427 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
15428 (<plusminus:insn>v2qi3): Ditto.
15429 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
15430 (vcondu<mode><mode>): Ditto.
15431 (vcond_mask_<mode><mode>): Ditto.
15432 (one_cmpl<VI_32:mode>2): Remove expander.
15433 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
15434 Use VI_16_32 mode iterator.
15435 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
15436 Use lowpart_subreg instead of gen_lowpart to create subreg.
15437 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
15438 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
15439 Disparage GPR alternative a bit. Add CC clobber.
15440 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
15441 Use lowpart_subreg instead of gen_lowpart to create subreg.
15442 (*<any_logic:code><VI_16_32:mode>3): Merge from
15443 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
15444 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
15445 Add CC clobber.
15446 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
15447 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
15448
15449 2022-01-12 Clément Chigot <clement.chigot@atos.net>
15450
15451 * configure.ac: Check sizeof ino_t and dev_t.
15452 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
15453 syscall being able to handle 64bit inodes.
15454 * config.in: Regenerate.
15455 * configure: Regenerate.
15456 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
15457 (remove_duplicates): Use it.
15458
15459 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
15460
15461 PR tree-optimization/103551
15462 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
15463
15464 2022-01-12 Richard Biener <rguenther@suse.de>
15465
15466 PR tree-optimization/103990
15467 * tree-pass.h (tail_merge_optimize): Drop unused argument.
15468 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
15469 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
15470 and adjust call to tail_merge_optimize.
15471
15472 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
15473
15474 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
15475 does not add autovectorize_vector_modes.
15476
15477 2022-01-12 Martin Liska <mliska@suse.cz>
15478
15479 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
15480 %qs where possible.
15481 (aarch64_parse_sve_width_string): Likewise.
15482 (aarch64_override_options_internal): Likewise.
15483 (aarch64_print_hint_for_extensions): Likewise.
15484 (aarch64_validate_sls_mitigation): Likewise.
15485 (aarch64_handle_attr_arch): Likewise.
15486 (aarch64_handle_attr_cpu): Likewise.
15487 (aarch64_handle_attr_tune): Likewise.
15488 (aarch64_handle_attr_isa_flags): Likewise.
15489
15490 2022-01-12 Martin Liska <mliska@suse.cz>
15491
15492 * config.gcc: Include elfos.h before ${tm_file}.
15493
15494 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
15495
15496 * config/cris/cris.c: Quote identifiers in parameters to error
15497 and internal_error, and remove extraneous spaces with punctuation.
15498 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
15499 expression to internal_error, pass it as a parameter instead of
15500 appending it to the format part.
15501
15502 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
15503
15504 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
15505 parameter to as_a.
15506
15507 2022-01-11 qing zhao <qing.zhao@oracle.com>
15508
15509 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
15510 Change the 3rd argument of function .DEFERRED_INIT to the name of the
15511 decl.
15512 (gimplify_decl_expr): Delete the 3rd argument when call
15513 gimple_add_init_for_auto_var.
15514 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
15515 the 3rd argument change of function .DEFERRED_INIT.
15516 * tree-cfg.c (verify_gimple_call): Update comments and verification
15517 to reflect the 3rd argument change of function .DEFERRED_INIT.
15518 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
15519 (sra_modify_deferred_init): Change the 3rd argument of function
15520 .DEFERRED_INIT to the name of the decl.
15521
15522 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
15523
15524 * flag-types.h (enum gfc_convert): Add flags for
15525 conversion.
15526
15527 2022-01-11 Michael Meissner <meissner@the-meissners.org>
15528
15529 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
15530 checks for only C/C++ front ends before allowing the long double
15531 format to change without a warning.
15532
15533 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
15534
15535 PR rtl-optimization/103974
15536 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
15537 extra argument, default true, that says whether old-reload
15538 targets should be excluded.
15539 * ira-color.c (color_pass): Pass false.
15540
15541 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
15542
15543 PR target/103861
15544 * config/i386/mmx.md (vcond<mode><mode>):
15545 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
15546 (vcondu<mode><mode>): Ditto.
15547 (vcond_mask_<mode><mode>): Ditto.
15548 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
15549 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
15550 Use VI_16_32 mode iterator.
15551 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
15552 Update for rename. Handle V2QImode.
15553 (expand_vec_perm_blend): Update for rename.
15554
15555 2022-01-11 Jakub Jelinek <jakub@redhat.com>
15556
15557 PR c++/101597
15558 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
15559
15560 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15561
15562 PR middle-end/70090
15563 * tree-object-size.c (size_valid_p): New function.
15564 (size_for_offset): Remove OFFSET constness assertion.
15565 (addr_object_size): Build dynamic expressions for object
15566 sizes and use size_valid_p to decide if it is valid for the
15567 given OBJECT_SIZE_TYPE.
15568 (compute_builtin_object_size): Allow dynamic offsets when
15569 computing size at O0.
15570 (call_object_size): Call size_valid_p.
15571 (plus_stmt_object_size): Allow non-constant offset and use
15572 size_valid_p to decide if it is valid for the given
15573 OBJECT_SIZE_TYPE.
15574
15575 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15576
15577 PR middle-end/70090
15578 * tree-object-size.c (alloc_object_size): Make and return
15579 non-constant size expression.
15580 (call_object_size): Return expression or unknown based on
15581 whether dynamic object size is requested.
15582
15583 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15584
15585 PR middle-end/70090
15586 * tree-object-size.c: Include tree-dfa.h.
15587 (parm_object_size): New function.
15588 (collect_object_sizes_for): Call it.
15589
15590 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15591
15592 PR middle-end/70090
15593 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
15594 expressions.
15595 * tree-object-size.c: Include gimplify-me.h.
15596 (struct object_size_info): New member UNKNOWNS.
15597 (size_initval_p, size_usable_p, object_sizes_get_raw): New
15598 functions.
15599 (object_sizes_get): Return suitable gimple variable for
15600 object size.
15601 (bundle_sizes): New function.
15602 (object_sizes_set): Use it and handle dynamic object size
15603 expressions.
15604 (object_sizes_set_temp): New function.
15605 (size_for_offset): Adjust for dynamic size expressions.
15606 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
15607 New functions.
15608 (compute_builtin_object_size): Call gimplify_size_expressions
15609 for OST_DYNAMIC.
15610 (dynamic_object_size): New function.
15611 (cond_expr_object_size): Use it.
15612 (phi_dynamic_object_size): New function.
15613 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
15614 accommodate dynamic object sizes.
15615
15616 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15617 Jakub Jelinek <jakub@redhat.com>
15618
15619 PR tree-optimization/103961
15620 * tree-object-size.c (plus_stmt_object_size): Always avoid
15621 computing offset for -1 size.
15622
15623 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
15624
15625 PR tree-optimization/103821
15626 * range-op.cc (range_operator::fold_range): Only do precise ranges
15627 when there are not too many subranges.
15628
15629 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
15630
15631 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
15632 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
15633
15634 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
15635 Richard Biener <rguenther@suse.de>
15636
15637 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
15638 highpart_mults_inserted field.
15639 (convert_mult_to_highpart): New function to convert right shift
15640 of a widening multiply into a MULT_HIGHPART_EXPR.
15641 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
15642 Call new convert_mult_to_highpart function.
15643 (pass_optimize_widening_mul::execute): Add a statistics counter
15644 for tracking "highpart multiplications inserted" events.
15645
15646 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
15647
15648 PR target/102239
15649 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
15650 declare.
15651 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
15652 function.
15653 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
15654
15655 2022-01-11 Olivier Hainque <hainque@adacore.com>
15656
15657 * gcc.c (driver_handle_option): State --sysroot as
15658 validated.
15659
15660 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
15661
15662 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
15663 useless related to option -mno-power10.
15664
15665 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
15666
15667 PR target/53652
15668 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
15669 operands[1] from register_operand to vector_operand.
15670
15671 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
15672
15673 PR target/103861
15674 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
15675 Handle V2QImode.
15676 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
15677 Use VI1_16_32 mode iterator.
15678 (*eq<mode>3): Ditto.
15679 (*gt<mode>3): Ditto.
15680 (*xop_maskcmp<mode>3): Ditto.
15681 (*xop_maskcmp_uns<mode>3): Ditto.
15682 (vec_cmp<mode><mode>): Ditto.
15683 (vec_cmpu<mode><mode>): Ditto.
15684
15685 2022-01-10 Richard Biener <rguenther@suse.de>
15686
15687 PR tree-optimization/103948
15688 * tree-vect-generic.c (expand_vector_condition): Return true if
15689 all ones vector is returned for true, all zeros vector for false
15690 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
15691
15692 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
15693
15694 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
15695 when _ARCH_PWR10. Use signed types.
15696 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
15697 (_mm_blendv_pd): Likewise.
15698
15699 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
15700
15701 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
15702 epilogue costing.
15703 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
15704 epilogues, unless we are guaranteed that we can't have partial vectors.
15705 * genopinit.c: (partial_vectors_supported): Generate new function.
15706
15707 2022-01-10 Jakub Jelinek <jakub@redhat.com>
15708
15709 PR target/102024
15710 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
15711 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
15712 always ignore them, when seeing other zero sized bitfields, either
15713 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
15714 it. Pass it to recursive calls. Add wrapper
15715 with old arguments and diagnose ABI differences for C structures
15716 with zero width bitfields. Formatting fixes.
15717
15718 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15719
15720 PR rtl-optimization/98782
15721 * ira-int.h (ira_soft_conflict): Declare.
15722 * ira-color.c (max_soft_conflict_loop_depth): New constant.
15723 (ira_soft_conflict): New function.
15724 (spill_soft_conflicts): Likewise.
15725 (assign_hard_reg): Use them to handle the case described by
15726 the comment above ira_soft_conflict.
15727 (improve_allocation): Likewise.
15728 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
15729 to share the same register.
15730
15731 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15732
15733 PR rtl-optimization/98782
15734 * ira-int.h (ira_caller_save_cost): New function.
15735 (ira_caller_save_loop_spill_p): Likewise.
15736 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
15737 cheaper to spill a call-clobbered register throughout a loop rather
15738 than spill it around each individual call. If so, treat all
15739 call-clobbered registers as conflicts and...
15740 (propagate_allocno_info): ...do not propagate call information
15741 from the child to the parent.
15742 * ira-color.c (move_spill_restore): Update accordingly.
15743 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
15744
15745 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15746
15747 PR rtl-optimization/98782
15748 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
15749 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
15750 (ira_single_region_allocno_p): New function.
15751 (ira_total_conflict_hard_regs): Likewise.
15752 * ira-build.c (ira_create_allocno): Initialize
15753 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
15754 (ira_propagate_hard_reg_costs): New function.
15755 (propagate_allocno_info): Use it. Try to avoid propagating
15756 hard register conflicts to parent allocnos if we can handle
15757 the conflicts by spilling instead. Limit the propagated
15758 register costs to the cost of spilling throughout the child loop.
15759 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
15760 test whether a child and parent allocno can share the same
15761 register.
15762 (move_spill_restore): Adjust for the new behavior of
15763 propagate_allocno_info.
15764
15765 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15766
15767 PR rtl-optimization/98782
15768 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
15769 extracted from...
15770 * ira-color.c (color_pass): ...here.
15771
15772 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15773
15774 PR rtl-optimization/98782
15775 * ira-color.c (color_pass): Add comments to describe the spill costs.
15776 (move_spill_restore): Likewise. Fix reversed calculation.
15777
15778 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
15779
15780 PR rtl-optimization/98782
15781 * ira-int.h (ira_loop_border_costs): New class.
15782 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
15783 New constructor.
15784 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
15785 (color_pass): Likewise.
15786 (move_spill_restore): Likewise.
15787
15788 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
15789
15790 PR target/103465
15791 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
15792
15793 2022-01-10 Richard Biener <rguenther@suse.de>
15794
15795 PR tree-optimization/100359
15796 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
15797 Allow non-growing peeling with !allow_peel and UL_ALL.
15798
15799 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
15800
15801 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
15802 special case for TImode to V1TImode moves, going via V2DImode.
15803
15804 2022-01-08 Jakub Jelinek <jakub@redhat.com>
15805
15806 PR c++/89074
15807 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
15808 simplification.
15809
15810 2022-01-08 David Malcolm <dmalcolm@redhat.com>
15811
15812 * doc/analyzer.texi
15813 (Special Functions for Debugging the Analyzer): Document
15814 __analyzer_dump_escaped.
15815
15816 2022-01-08 David Malcolm <dmalcolm@redhat.com>
15817
15818 * doc/analyzer.texi (Other Debugging Techniques): Document
15819 region::is_named_decl_p.
15820
15821 2022-01-07 Andrew Pinski <apinski@marvell.com>
15822
15823 PR target/102941
15824 * config/arm/aarch-common.c (arm_md_asm_adjust):
15825 Use a temp if !REG_P.
15826
15827 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
15828
15829 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
15830 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
15831
15832 2022-01-07 liuhongt <hongtao.liu@intel.com>
15833
15834 PR rtl-optimization/103750
15835 * fwprop.c (forward_propagate_into): Allow propagations from
15836 inner loop to outer loop.
15837
15838 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
15839
15840 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
15841
15842 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
15843
15844 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
15845 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
15846 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
15847
15848 2022-01-07 liuhongt <hongtao.liu@intel.com>
15849
15850 * config/i386/sse.md
15851 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
15852 UNSPEC_PCMP_UNSIGNED.
15853
15854 2022-01-07 liuhongt <hongtao.liu@intel.com>
15855
15856 PR target/103753
15857 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
15858 gen_avx2_pblendph_1 when elt == 0.
15859 * config/i386/sse.md (avx2_pblendph): Rename to ..
15860 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
15861 (*avx2_pblendw): Rename to ..
15862 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
15863 (avx2_pblendw): Rename to ..
15864 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
15865 (blendsuf): Removed.
15866 (sse4_1_pblend<blendsuf>): Renamed to ..
15867 (sse4_1_pblend<ssemodesuffix>): .. this.
15868
15869 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
15870
15871 PR target/103925
15872 * config/i386/i386.c (ix86_output_indirect_function_return):
15873 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
15874
15875 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
15876
15877 PR target/102952
15878 * config/i386/i386-opts.h (harden_sls): Replace
15879 harden_sls_indirect_branch with harden_sls_indirect_jmp.
15880 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
15881 Likewise.
15882 (ix86_output_indirect_jmp): Likewise.
15883 (ix86_output_call_insn): Likewise.
15884 * config/i386/i386.opt: Replace indirect-branch with
15885 indirect-jmp. Replace harden_sls_indirect_branch with
15886 harden_sls_indirect_jmp.
15887 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
15888 indirect-jmp.
15889
15890 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
15891
15892 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
15893 Add %q modifier for operands in general registers.
15894 <MODE_SI>: Add %q modifier for operands in general registers.
15895 * config/i386/i386.md (*movhi_internal): Change type attribute of
15896 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
15897 to SImode for non-avx512fp16 targets.
15898 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
15899 * config/i386/mmx.md (*movv2qi_internal):
15900 Ditto for xmm-gpr interunit alternatives 8,9.
15901
15902 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
15903
15904 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
15905 vector extensions.
15906 (riscv_ext_version_table): Add version info for vector extensions.
15907 (riscv_ext_flag_table): Add option mask for vector extensions.
15908 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
15909 (MASK_VECTOR_EEW_64): New.
15910 (MASK_VECTOR_EEW_FP_32): New.
15911 (MASK_VECTOR_EEW_FP_64): New.
15912 (MASK_ZVL32B): New.
15913 (MASK_ZVL64B): New.
15914 (MASK_ZVL128B): New.
15915 (MASK_ZVL256B): New.
15916 (MASK_ZVL512B): New.
15917 (MASK_ZVL1024B): New.
15918 (MASK_ZVL2048B): New.
15919 (MASK_ZVL4096B): New.
15920 (MASK_ZVL8192B): New.
15921 (MASK_ZVL16384B): New.
15922 (MASK_ZVL32768B): New.
15923 (MASK_ZVL65536B): New.
15924 (TARGET_ZVL32B): New.
15925 (TARGET_ZVL64B): New.
15926 (TARGET_ZVL128B): New.
15927 (TARGET_ZVL256B): New.
15928 (TARGET_ZVL512B): New.
15929 (TARGET_ZVL1024B): New.
15930 (TARGET_ZVL2048B): New.
15931 (TARGET_ZVL4096B): New.
15932 (TARGET_ZVL8192B): New.
15933 (TARGET_ZVL16384B): New.
15934 (TARGET_ZVL32768B): New.
15935 (TARGET_ZVL65536B): New.
15936 * config/riscv/riscv.opt (Mask(VECTOR)): New.
15937 (riscv_vector_eew_flags): New.
15938 (riscv_zvl_flags): New.
15939
15940 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
15941
15942 * common/config/riscv/riscv-common.c
15943 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
15944 digit.
15945
15946 2022-01-06 Jakub Jelinek <jakub@redhat.com>
15947
15948 PR tree-optimization/103899
15949 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
15950 warning by moving context variable to the only spot where it is used
15951 and moving gcc_assert into if body.
15952
15953 2022-01-06 Jakub Jelinek <jakub@redhat.com>
15954
15955 PR rtl-optimization/103908
15956 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
15957 asm goto.
15958
15959 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
15960
15961 PR target/103622
15962 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
15963 Skip over instances with undefined function types.
15964
15965 2022-01-05 Andrew Pinski <apinski@marvell.com>
15966
15967 PR target/103910
15968 * config/i386/i386.h (x86_mfence): Mark with GTY.
15969
15970 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15971
15972 PR target/103861
15973 * config/i386/mmx.md (VI_16_32): New mode iterator.
15974 (VI1_16_32): Ditto.
15975 (mmxvecsize): Handle V2QI mode.
15976 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
15977 Use VI1_16_32 mode iterator.
15978 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
15979 Use VI1_16_32 mode iterator.
15980 (abs<mode>2): Use VI_16_32 mode iterator.
15981 (uavgv2qi3_ceil): New insn pattern.
15982
15983 2022-01-05 Martin Sebor <msebor@redhat.com>
15984
15985 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
15986 %qs to avoid -Wformat-diag.
15987
15988 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15989
15990 PR target/103915
15991 * config/i386/mmx.md (one_cmplv2qi2): Change
15992 alternatives 1,2 type from sselog to sselog1.
15993
15994 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
15995
15996 PR target/103905
15997 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
15998 narrow mode remapped elements for !one_operand_p case.
15999
16000 2022-01-05 Richard Biener <rguenther@suse.de>
16001
16002 PR tree-optimization/103816
16003 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
16004 check DR_GROUP_GAP compute for overflow and representability.
16005
16006 2022-01-05 Jakub Jelinek <jakub@redhat.com>
16007
16008 PR fortran/103691
16009 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
16010 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
16011 it can do unwanted rhs folding like &a[0] into &2.0 etc.
16012
16013 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
16014
16015 PR ipa/102059
16016 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
16017 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
16018 (rs6000_need_ipa_fn_target_info): New function.
16019 (rs6000_update_ipa_fn_target_info): Likewise.
16020 (rs6000_can_inline_p): Adjust for ipa function summary target info.
16021 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
16022 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
16023 summary target info.
16024 (analyze_function_body): Adjust for ipa function summary target info
16025 and call hook rs6000_need_ipa_fn_target_info and
16026 rs6000_update_ipa_fn_target_info.
16027 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
16028 target info.
16029 (inline_read_section): Likewise.
16030 (ipa_fn_summary_write): Likewise.
16031 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
16032 * doc/tm.texi: Regenerate.
16033 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
16034 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
16035 * target.def (update_ipa_fn_target_info): New hook.
16036 (need_ipa_fn_target_info): Likewise.
16037 * targhooks.c (default_need_ipa_fn_target_info): New function.
16038 (default_update_ipa_fn_target_info): Likewise.
16039 * targhooks.h (default_update_ipa_fn_target_info): New declare.
16040 (default_need_ipa_fn_target_info): Likewise.
16041
16042 2022-01-04 Martin Sebor <msebor@redhat.com>
16043
16044 PR middle-end/99612
16045 * builtins.c (get_memmodel): Move warning code to
16046 gimple-ssa-warn-access.cc.
16047 (expand_builtin_atomic_compare_exchange): Same.
16048 (expand_ifn_atomic_compare_exchange): Same.
16049 (expand_builtin_atomic_load): Same.
16050 (expand_builtin_atomic_store): Same.
16051 (expand_builtin_atomic_clear): Same.
16052 * doc/extend.texi (__atomic_exchange_n): Update valid memory
16053 models.
16054 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
16055 (struct memmodel_pair): New struct.
16056 (memmodel_name): New function.
16057 (pass_waccess::maybe_warn_memmodel): New function.
16058 (pass_waccess::check_atomic_memmodel): New function.
16059 (pass_waccess::check_atomic_builtin): Handle memory model.
16060 * input.c (expansion_point_location_if_in_system_header): Return
16061 original location if expansion location is in a system header.
16062
16063 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
16064
16065 PR target/103861
16066 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
16067 (one_cmplv2qi3 splitters): New post-reload splitters.
16068 (*andnotv2qi3): New insn pattern.
16069 (andnotv2qi3 splitters): New post-reload splitters.
16070 (<any_logic:code>v2qi3): New insn pattern.
16071 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
16072
16073 2022-01-04 Richard Biener <rguenther@suse.de>
16074
16075 PR tree-optimization/103800
16076 * tree-vect-loop.c (vectorizable_phi): Remove assert and
16077 expand comment.
16078
16079 2022-01-04 Richard Biener <rguenther@suse.de>
16080
16081 PR tree-optimization/103690
16082 * tree-pass.h (tail_merge_optimize): Adjust.
16083 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
16084 to re-split critical edges, move CFG cleanup ...
16085 * tree-ssa-pre.c (pass_pre::execute): ... here, before
16086 simple_dce_from_worklist and delay freeing inserted_exprs from
16087 ...
16088 (fini_pre): .. here.
16089
16090 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
16091
16092 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
16093 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
16094 (setcc_from_bi): Remove SImode specific pattern.
16095 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
16096 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
16097 for sign- and zero-extending BImode predicates to integers.
16098 (setcc_int<mode>): Remove previous (-1-based) instructions.
16099 (cstorebi4): Remove BImode to SImode specific expander.
16100 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
16101 (cstore<mode>4): For both integer and floating point modes.
16102
16103 2022-01-04 Olivier Hainque <hainque@adacore.com>
16104
16105 * gcc.c (driver_handle_option): do_save --sysroot.
16106
16107 2022-01-04 Richard Biener <rguenther@suse.de>
16108
16109 PR tree-optimization/103864
16110 PR tree-optimization/103544
16111 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
16112 reductions wrapped in conversions from SLP handling.
16113 (vect_analyze_slp): Revert PR103544 change.
16114
16115 2022-01-04 Jakub Jelinek <jakub@redhat.com>
16116
16117 PR rtl-optimization/103860
16118 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
16119 uselessly for blocks for which it has been called already.
16120
16121 2022-01-04 Cui,Lili <lili.cui@intel.com>
16122
16123 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
16124 to Alderlake and Rocketlake.
16125
16126 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
16127
16128 PR middle-end/103643
16129 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
16130 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
16131
16132 2022-01-04 liuhongt <hongtao.liu@intel.com>
16133
16134 PR target/103895
16135 * config/i386/sse.md (*bit_and_float_vector_all_ones):
16136 Force_reg operand 1 to avoid ICE.
16137
16138 2022-01-04 Jason Merrill <jason@redhat.com>
16139
16140 * tree-pretty-print.c (do_niy): Add spc parameter.
16141 (NIY): Pass it.
16142 (print_call_name): Add spc local variable.
16143
16144 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
16145
16146 PR target/103894
16147 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
16148 (mov<V_32:mode>_internal): Ditto.
16149 (*push<V_32:mode>_rex64): Ditto.
16150 (movmisalign<V_32:mode>): Ditto.
16151 (*push<V_32:mode>_rex64 splitter): Enable for
16152 TARGET_64BIT && TARGET_SSE.
16153 (*push<V_32:mode>2): Remove insn pattern.
16154
16155 2022-01-03 Andrew Pinski <apinski@marvell.com>
16156
16157 PR c/33193
16158 * doc/extend.texi: Extend the documentation about Complex
16159 types for casting and also rewrite the __real__/__imag__
16160 expression portion to use tables.
16161 Move __builtin_complex to the Complex type section.
16162
16163 2022-01-03 Jakub Jelinek <jakub@redhat.com>
16164
16165 PR target/98737
16166 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
16167 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
16168 New internal fns.
16169 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
16170 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
16171 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
16172 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
16173 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
16174 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
16175 functions.
16176 * optabs.def (atomic_add_fetch_cmp_0_optab,
16177 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
16178 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
16179 direct optabs.
16180 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
16181 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
16182 * tree-ssa-ccp.c: Include internal-fn.h.
16183 (optimize_atomic_bit_test_and): Add . before internal fn call
16184 in function comment. Change return type from void to bool and
16185 return true only if successfully replaced.
16186 (optimize_atomic_op_fetch_cmp_0): New function.
16187 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
16188 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
16189 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
16190 for *XOR* ones only if optimize_atomic_bit_test_and failed.
16191 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
16192 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
16193 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
16194 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
16195 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
16196 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
16197 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
16198 new named patterns.
16199
16200 2022-01-03 Richard Biener <rguenther@suse.de>
16201
16202 PR middle-end/103851
16203 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
16204
16205 2022-01-03 Jakub Jelinek <jakub@redhat.com>
16206
16207 PR c++/94716
16208 * symtab.c: Include fold-const.h.
16209 (symtab_node::equal_address_to): If folding_initializer is true,
16210 handle it like memory_accessed. Simplify.
16211
16212 2022-01-03 Martin Liska <mliska@suse.cz>
16213
16214 * doc/extend.texi: Use ; for function declarations.
16215
16216 2022-01-03 Jakub Jelinek <jakub@redhat.com>
16217
16218 PR c++/103600
16219 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
16220 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
16221
16222 2022-01-03 Jakub Jelinek <jakub@redhat.com>
16223
16224 * gcc.c (process_command): Update copyright notice dates.
16225 * gcov-dump.c (print_version): Ditto.
16226 * gcov.c (print_version): Ditto.
16227 * gcov-tool.c (print_version): Ditto.
16228 * gengtype.c (create_file): Ditto.
16229 * doc/cpp.texi: Bump @copying's copyright year.
16230 * doc/cppinternals.texi: Ditto.
16231 * doc/gcc.texi: Ditto.
16232 * doc/gccint.texi: Ditto.
16233 * doc/gcov.texi: Ditto.
16234 * doc/install.texi: Ditto.
16235 * doc/invoke.texi: Ditto.
16236
16237 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
16238
16239 PR target/103861
16240 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
16241 (VALID_INT_MODE_P): Ditto.
16242 * config/i386/i386.c (ix86_secondary_reload): Handle
16243 V2QImode reloads from SSE register to memory.
16244 (vector_mode_supported_p): Always return true for V2QImode.
16245 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
16246 (*negqi_ext<mode>_2): Ditto.
16247 * config/i386/mmx.md (movv2qi): New expander.
16248 (movmisalignv2qi): Ditto.
16249 (*movv2qi_internal): New insn pattern.
16250 (*pushv2qi2): Ditto.
16251 (negv2qi2 and splitters): Ditto.
16252 (<plusminus:insn>v2qi3 and splitters): Ditto.
16253
16254 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
16255
16256 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
16257 sync_lock_test_and_set libfunc. Call convert_memory_address to
16258 convert memory address to Pmode.
16259 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
16260
16261 \f
16262 Copyright (C) 2022 Free Software Foundation, Inc.
16263
16264 Copying and distribution of this file, with or without modification,
16265 are permitted in any medium without royalty provided the copyright
16266 notice and this notice are preserved.