]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
Daily bump.
[gcc.git] / gcc / ChangeLog
1 2022-06-18 Jakub Jelinek <jakub@redhat.com>
2
3 * common.opt (flag_sanitize_trap): New variable.
4 (fsanitize-trap=, fsanitize-trap): New options.
5 (fsanitize-undefined-trap-on-error): Change into deprecated alias
6 for -fsanitize-trap=all.
7 * opts.h (struct sanitizer_opts_s): Add can_trap member.
8 * opts.cc (finish_options): Complain about unsupported
9 -fsanitize-trap= options.
10 (sanitizer_opts): Add can_trap values to all entries.
11 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
12 options which have can_trap false.
13 (parse_sanitizer_options): Add support for -fsanitize-trap=.
14 For -fsanitize-trap=all, enable
15 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
16 -fsanitize-trap=vptr here.
17 (common_handle_option): Handle OPT_fsanitize_trap_ and
18 OPT_fsanitize_trap.
19 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
20 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
21 flag_sanitize_undefined_trap_on_error.
22 * gcc.cc (sanitize_spec_function): Use
23 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
24 and drop use of flag_sanitize_undefined_trap_on_error in
25 "undefined" handling.
26 * ubsan.cc (ubsan_instrument_unreachable): Use
27 flag_sanitize_trap & SANITIZE_??? instead of
28 flag_sanitize_undefined_trap_on_error.
29 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
30 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
31 ubsan_build_overflow_builtin, instrument_bool_enum_load,
32 ubsan_instrument_float_cast, instrument_nonnull_arg,
33 instrument_nonnull_return, instrument_builtin): Likewise.
34 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
35 (-fsanitize-undefined-trap-on-error): Document as deprecated
36 alias of -fsanitize-trap.
37
38 2022-06-18 Jakub Jelinek <jakub@redhat.com>
39
40 PR middle-end/105998
41 * varasm.cc (narrowing_initializer_constant_valid_p): Check
42 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
43 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
44
45 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
46
47 PR tree-optimization/105835
48 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
49 Narrow integer multiplication by a zero_one_valued_p operand.
50 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
51 conversions inside COND_EXPR where both data operands are
52 integer constants.
53
54 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
55
56 * config/xtensa/constraints.md (Y):
57 Change to include integer constants until reload begins.
58 * config/xtensa/predicates.md (move_operand): Ditto.
59 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
60 Change to allow storing integer constants into litpool only after
61 reload begins.
62
63 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
64
65 PR target/105209
66 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
67 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
68 (alpha_store_data_bypass_p_1): Ditto.
69 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
70 of generic store_data_bypass_p.
71 (ev4_ist_c): Remove insn reservation.
72
73 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
74
75 PR target/105970
76 * config/i386/i386.cc (ix86_function_arg): Assert that
77 the mode of pointer argumet is equal to ptr_mode, not Pmode.
78
79 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
80
81 PR target/105993
82 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
83 instead of REGNO comparisons in combine splitter.
84
85 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
86
87 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
88 types.
89
90 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
91
92 * config/riscv/bitmanip.md: Supress warning.
93
94 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
95
96 PR target/106004
97 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
98 Clear bits in the mask above bit 31.
99
100 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
101
102 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
103 to avoid spilling trivial literals to the constant pool.
104
105 2022-06-16 David Malcolm <dmalcolm@redhat.com>
106
107 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
108 auto_diagnostic_group to group any warning with its note.
109 (maybe_warn_for_bound): Likewise.
110 (check_access): Likewise.
111 (warn_dealloc_offset): Likewise.
112 (pass_waccess::maybe_warn_memmodel): Likewise.
113 (pass_waccess::maybe_check_dealloc_call): Likewise.
114 (pass_waccess::warn_invalid_pointer): Likewise.
115 (pass_waccess::check_dangling_stores): Likewise.
116
117 2022-06-16 Jason Merrill <jason@redhat.com>
118
119 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
120 opts_set->x_flag_sanitize.
121
122 2022-06-16 Jason Merrill <jason@redhat.com>
123
124 * flags.h (issue_strict_overflow_warning): Comment #endif.
125
126 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
127
128 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
129 was invaraint before, clear the invariant bit.
130 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
131 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
132
133 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
134
135 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
136
137 2022-06-16 Jakub Jelinek <jakub@redhat.com>
138
139 PR tree-optimization/105983
140 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
141 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
142 on non-equality comparisons.
143
144 2022-06-16 Jakub Jelinek <jakub@redhat.com>
145
146 PR tree-optimization/105984
147 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
148 x > stype_max / cst || x < stype_min / cst): fold_convert @1
149 to TREE_TYPE (@0) just once and test for negative divisor
150 also on that folded constant instead of on @1.
151
152 2022-06-16 Jakub Jelinek <jakub@redhat.com>
153
154 PR middle-end/105951
155 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
156 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
157 as last argument to the internal functions.
158 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
159 extra call argument to ifns. If expand_atomic_fetch_op fails for the
160 lhs == NULL_TREE case, fall through into the optab code with
161 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
162 fails, construct a CALL_EXPR and expand that.
163 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
164 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
165 expand that.
166
167 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
168
169 PR target/103316
170 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
171 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
172 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
173 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
174 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
175 for new Power10 V1TI instructions.
176 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
177 (vec_cmpu<mode><mode>): Likewise.
178 (vector_nlt<mode>): Set mode iterator to VEC_IC.
179 (vector_nltv1ti): Remove.
180 (vector_gtu<mode>): Set mode iterator to VEC_IC.
181 (vector_gtuv1ti): Remove.
182 (vector_nltu<mode>): Set mode iterator to VEC_IC.
183 (vector_nltuv1ti): Remove.
184 (vector_geu<mode>): Set mode iterator to VEC_IC.
185 (vector_ngt<mode>): Likewise.
186 (vector_ngtv1ti): Remove.
187 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
188 (vector_ngtuv1ti): Remove.
189 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
190 (vector_gtu_v1ti_p): Remove.
191 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
192 (vrotlv1ti3): Remove.
193 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
194 (vashrv1ti3): Remove.
195
196 2022-06-16 Martin Liska <mliska@suse.cz>
197
198 * gengtype-state.cc (read_a_state_token): Do not skip extra
199 character after escaped sequence.
200
201 2022-06-16 Martin Liska <mliska@suse.cz>
202
203 PR driver/105564
204 * spellcheck.cc (test_find_closest_string): Add new test.
205 * spellcheck.h (class best_match): Prefer a difference in
206 trailing sign symbol.
207
208 2022-06-16 liuhongt <hongtao.liu@intel.com>
209
210 PR tree-optimization/53533
211 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
212 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
213 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
214
215 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
216
217 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
218
219 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
220
221 * config/xtensa/predicates.md (reload_operand):
222 New predicate.
223 * config/xtensa/xtensa.md: New peephole2 pattern.
224
225 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
226
227 * config/xtensa/xtensa.md (*round_up_to_even):
228 New insn-and-split pattern.
229 (*signed_ge_zero): Ditto.
230
231 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
232
233 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
234 xtensa_emit_sibcall): New prototypes.
235 (xtensa_expand_epilogue): Add new argument that specifies whether
236 or not sibling call.
237 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
238 New macro definition.
239 (xtensa_prepare_expand_call): New function in order to share
240 the common code.
241 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
242 New functions.
243 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
244 for sibling call handling.
245 * config/xtensa/xtensa.md (call, call_value):
246 Use xtensa_prepare_expand_call.
247 (call_internal, call_value_internal):
248 Add the condition in order to be disabled if sibling call.
249 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
250 (sibcall_internal, sibcall_value_internal): New insn patterns,
251 and split ones in order to take care of the indirect sibcalls.
252
253 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
254
255 * doc/invoke.texi: Document -mextra-l32r-costs= option.
256
257 2022-06-15 David Malcolm <dmalcolm@redhat.com>
258
259 PR analyzer/105962
260 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
261 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
262 Extend -fdiagnostics-path-format=separate-events so that with
263 -fdiagnostics-show-path-depths it prints fndecls as well as stack
264 depths.
265
266 2022-06-15 David Malcolm <dmalcolm@redhat.com>
267
268 * value-relation.h: Add "final" and "override" to relation_oracle
269 vfunc implementations as appropriate.
270
271 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
272
273 PR middle-end/105975
274 Revert everything apart from the expand_fn_using_insn and
275 expand_direct_optab_fn changes from:
276 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
277 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
278 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
279 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
280 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
281 member variable.
282 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
283 (direct_internal_fn_p): Also return true for internal functions
284 that map directly to instructions defined target-insns.def.
285 (direct_internal_fn): Adjust comment accordingly.
286 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
287 (vectorizable_optab2): New local macros.
288 (not_direct): Initialize directly_mapped.
289 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
290 (gather_load_direct, len_load_direct, mask_store_direct)
291 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
292 (vec_cond_direct, scatter_store_direct, len_store_direct)
293 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
294 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
295 (while_direct, fold_extract_direct, fold_left_direct)
296 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
297 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
298 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
299 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
300 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
301 (direct_internal_fn_types): Handle functions that map to instructions
302 defined in target-insns.def.
303 (direct_internal_fn_types): Likewise.
304 (direct_internal_fn_supported_p): Likewise.
305 (internal_fn_expanders): Likewise.
306 (expand_fn_using_insn): New function,
307 split out and adapted from...
308 (expand_direct_optab_fn): ...here.
309 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
310 (expand_GOMP_SIMT_EXIT): Likewise.
311 (expand_GOMP_SIMT_LANE): Likewise.
312 (expand_GOMP_SIMT_LAST_LANE): Likewise.
313 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
314 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
315 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
316 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
317
318 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
319
320 PR target/105981
321 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
322 to first_reg and second_reg respectively. Initialize them correctly
323 when generating big-endian code.
324
325 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
326
327 PR target/105974
328 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
329
330 2022-06-15 Richard Biener <rguenther@suse.de>
331
332 PR tree-optimization/105971
333 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
334 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
335 to leak less surprising alias results.
336
337 2022-06-15 Richard Biener <rguenther@suse.de>
338
339 PR tree-optimization/105969
340 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
341 by zero in overflow check.
342
343 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
344
345 PR tree-optimization/105254
346 PR tree-optimization/105940
347 Revert:
348 * config/aarch64/aarch64.cc
349 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
350 loop_vec_info as argument. Restrict the unroll factor to values
351 that divide the VF.
352 (aarch64_vector_costs::finish_cost): Update call accordingly.
353
354 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
355
356 * read-rtl.cc (find_int): Substitute symbolic constants
357 before converting the string to an integer.
358
359 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
360 Richard Biener <rguenther@suse.de>
361
362 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
363 left shifts by a constant when the result is truncated, and the
364 shift constant is well-defined.
365 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
366 support for rotations of signed integer types, by lowering
367 using unsigned vector shifts.
368
369 2022-06-15 liuhongt <hongtao.liu@intel.com>
370
371 PR target/105953
372 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
373 operands[3].
374
375 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
376
377 PR rtl-optimization/105041
378 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
379
380 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
381
382 * config/rs6000/vsx.md (VS_scalar): Delete.
383 (rest of file): Adjust.
384
385 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
386
387 PR ipa/105739
388 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
389
390 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
391
392 * config/riscv/bitmanip.md: Add split to handle opportunities
393 for slli + sh[123]add.uw
394
395 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
396
397 * config/riscv/predicates.md (consecutive_bits_operand):
398 Implement new predicate.
399
400 2022-06-14 Richard Biener <rguenther@suse.de>
401
402 PR tree-optimization/105946
403 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
404 Do not look at arguments not specified in the function call.
405
406 2022-06-14 Richard Biener <rguenther@suse.de>
407
408 PR middle-end/105965
409 * match.pd (view_convert CONSTRUCTOR): Handle single-element
410 CTOR case.
411
412 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
413
414 * warning-control.cc (copy_warning) [generic version]: Do not erase
415 the warning data of the destination location when the no-warning
416 bit is not set on the source.
417 (copy_warning) [tree version]: Return early if TO is equal to FROM.
418 (copy_warning) [gimple version]: Likewise.
419
420 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
421
422 PR tree-optimization/105940
423 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
424 applying suggested_unroll_factor after start_over.
425
426 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
427
428 * config/xtensa/predicates.md (shifted_mask_operand):
429 New predicate.
430 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
431 New insn-and-split pattern.
432 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
433 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
434 *masktrue_const_shifted_mask): Ditto.
435
436 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
437
438 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
439
440 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
441
442 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
443 Remove the first argument.
444 (xtensa_emit_bit_branch): Remove it because now called only from the
445 output statement of *bittrue insn pattern.
446 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
447 argument 'p_invert', and make so that the condition is reversed by
448 itself as needed.
449 (xtensa_expand_conditional_branch): Share the common path, and remove
450 condition inversion code.
451 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
452 "false side" pattern.
453 (xtensa_emit_bit_branch): Remove it because of the abovementioned
454 reason, and move the function body to *bittrue insn pattern.
455 * config/xtensa/xtensa.md (*bittrue): Transplant the output
456 statement from removed xtensa_emit_bit_branch().
457 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
458 insn patterns.
459
460 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
461
462 * config/xtensa/predicates.md (logical_shift_operator,
463 xtensa_shift_per_byte_operator): New predicates.
464 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
465 New prototype.
466 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
467 New helper function for funnel shift patterns.
468 * config/xtensa/xtensa.md (ior_op): New code iterator.
469 (*ashlsi3_1): Replace with new split pattern.
470 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
471 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
472 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
473 in order to omit unnecessary bitwise AND operation.
474 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
475 *shlrd_per_byte_<code>_omit_AND):
476 New insn patterns for funnel shifts.
477
478 2022-06-13 Jason Merrill <jason@redhat.com>
479
480 * tree-cfg.cc (pass_warn_function_return::execute): Also check
481 BUILT_IN_TRAP.
482
483 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
484
485 * config/riscv/riscv.md (length): Remove the explicit setting
486 for "fcmp".
487
488 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
489
490 * common/config/i386/cpuinfo.h (get_available_features): Require
491 AVX for F16C and VAES.
492
493 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
494
495 PR target/105927
496 * config/i386/predicates.md (register_no_elim_operand):
497 Return true for subreg of a memory operand.
498
499 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
500
501 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
502 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
503 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
504 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
505 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
506 member variable.
507 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
508 (direct_internal_fn_p): Also return true for internal functions
509 that map directly to instructions defined target-insns.def.
510 (direct_internal_fn): Adjust comment accordingly.
511 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
512 (vectorizable_optab2): New local macros.
513 (not_direct): Initialize directly_mapped.
514 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
515 (gather_load_direct, len_load_direct, mask_store_direct)
516 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
517 (vec_cond_direct, scatter_store_direct, len_store_direct)
518 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
519 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
520 (while_direct, fold_extract_direct, fold_left_direct)
521 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
522 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
523 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
524 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
525 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
526 (direct_internal_fn_types): Handle functions that map to instructions
527 defined in target-insns.def.
528 (direct_internal_fn_types): Likewise.
529 (direct_internal_fn_supported_p): Likewise.
530 (internal_fn_expanders): Likewise.
531
532 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
533
534 * internal-fn.cc (expand_fn_using_insn): New function,
535 split out and adapted from...
536 (expand_direct_optab_fn): ...here.
537 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
538 (expand_GOMP_SIMT_EXIT): Likewise.
539 (expand_GOMP_SIMT_LANE): Likewise.
540 (expand_GOMP_SIMT_LAST_LANE): Likewise.
541 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
542 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
543 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
544 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
545
546 2022-06-13 Jakub Jelinek <jakub@redhat.com>
547
548 * omp-expand.cc (expand_omp_target): Remap user provided
549 device clause arguments, -1 to -2 and -2 to -3, either
550 at compile time if constant, or at runtime.
551
552 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
553
554 * common.opt (finstrument-functions): Set explicit value.
555 (-finstrument-functions-once): New option.
556 * doc/invoke.texi (Program Instrumentation Options): Document it.
557 * gimplify.cc (build_instrumentation_call): New static function.
558 (gimplify_function_tree): Call it to emit the instrumentation calls
559 if -finstrument-functions[-once] is specified.
560
561 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
562
563 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
564 * gimple.h (gimple_set_location): Do not copy warning data from
565 the previous location when it is UNKNOWN_LOCATION.
566 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
567
568 2022-06-13 Jakub Jelinek <jakub@redhat.com>
569
570 PR target/105911
571 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
572 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
573 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
574 operands[3] unmodified.
575
576 2022-06-12 Simon Wright <simon@pushface.org>
577
578 PR target/104871
579 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
580 version is darwin20 (macOS 11) or greater, truncate the version to the
581 major number.
582
583 2022-06-12 Mark Mentovai <mark@mentovai.com>
584
585 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
586
587 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
588
589 PR target/96463
590 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
591 (svld1rq_impl::fold): Define.
592 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
593 op_mode and op_vec_flags.
594 (aarch64_evpc_reencode): Initialize newd.op_mode and
595 newd.op_vec_flags.
596 (aarch64_evpc_sve_dup): New function.
597 (aarch64_expand_vec_perm_const_1): Gate existing calls to
598 aarch64_evpc_* functions under d->vmode == d->op_mode,
599 and call aarch64_evpc_sve_dup.
600 (aarch64_vectorize_vec_perm_const): Remove assert
601 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
602 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
603 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
604 constant.
605
606 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
607
608 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
609 New prototype.
610 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
611 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
612 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
613 New backend functions that process the abovementioned logic.
614 (xtensa_emit_move_sequence): Revert the previous changes.
615 * config/xtensa/xtensa.md: New split patterns for integer
616 and floating-point, as the frontend part.
617
618 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
619
620 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
621 for ABS and NEG, add missing case for BSWAP and CLRSB, and
622 double the costs for integer divisions using libfuncs if
623 optimizing for speed, in order to take advantage of fast constant
624 division by multiplication.
625 (TARGET_INSN_COST): New macro definition.
626 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
627 calculating relative costs of a RTL insns, for both of speed and
628 size.
629 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
630 the attribute "length" that depends on TARGET_DENSITY.
631 (define_asm_attributes, blockage, frame_blockage): Add missing
632 attributes.
633 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
634 dependent option, however, preparatory work for now.
635
636 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
637
638 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
639 Pass through the block length / loop count conditions if
640 zero-overhead looping is configured and active,
641
642 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
643
644 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
645 Split into individual signedness, in order to use libcall
646 "__umulsidi3" but not the other.
647 (<u>mulhisi3): Merge into one by using code iterator.
648 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
649
650 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
651
652 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
653 not generate block copies with vector pair instructions if we are
654 tuning for power10.
655
656 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
657
658 PR rtl-optimization/7061
659 * expr.cc (emit_group_store): For groups that consist of a single
660 scalar integer register that hold a complex mode value, use
661 gen_lowpart to generate a SUBREG to "view_convert" to the complex
662 mode. For modes of different sizes, first convert to an integer
663 mode of the appropriate size.
664
665 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
666
667 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
668
669 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
670
671 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
672 New insn_and_split pattern.
673
674 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
675
676 * config/xtensa/xtensa.md (one_cmplsi2):
677 Rearrange as an insn_and_split pattern.
678
679 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
680
681 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
682
683 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
684
685 * config/rs6000/rs6000.md (FP_ISA3): Delete.
686 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
687 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
688 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
689 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
690 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
691 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
692 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
693 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
694
695 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
696
697 * config/riscv/riscv.md
698 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
699 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
700 rather than space with FSFLAGS.
701
702 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
703
704 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
705 omp_discover_declare_target_fn_r): Don't walk reverse-offload
706 target regions.
707
708 2022-06-09 Jakub Jelinek <jakub@redhat.com>
709
710 * doc/invoke.texi (-Waddress): Fix a typo in small example.
711 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
712
713 2022-06-09 Cui,Lili <lili.cui@intel.com>
714
715 PR target/105493
716 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
717 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
718 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
719 (icelake_cost): Ditto.
720 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
721 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
722 {8, 8, 8, 10, 15}.
723
724 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
725
726 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
727 and ior insns to one rotate and mask insn.
728 (define_split for bswapdi register): Likewise.
729
730 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
731
732 PR middle-end/105874
733 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
734 variable tem_modifier for calculating the expand_modifier enum to
735 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
736
737 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
738
739 PR target/105879
740 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
741 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
742 'gen_highpart' bitwise semantics and fix order of highpart and
743 lowpart depending on target endianness.
744
745 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
746
747 * config/arm/arm-cpus.in (star-mc1): New cpu.
748 * config/arm/arm-tables.opt: Regenerate.
749 * config/arm/arm-tune.md: Regenerate.
750 * doc/invoke.texi: Update docs.
751
752 2022-06-08 liuhongt <hongtao.liu@intel.com>
753
754 PR target/105513
755 PR target/105504
756 * config/i386/i386.md (*movsi_internal): Change alternative
757 from *v to ?v.
758 (*movdi_internal): Ditto.
759 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
760 to ?r.
761 (*vec_extractv4sf_mem): Ditto.
762 (*vec_extracthf): Ditto.
763
764 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
765
766 PR target/105090
767 * config/arm/arm.cc (arm_bfi_1_p): New function.
768 (arm_bfi_p): New function.
769 (arm_rtx_costs_internal): Add costs for BFI idioms.
770 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
771 * config/arm/constraints.md (Dj): New constraint.
772 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
773 (insv_zero): Convert to an insn with a split.
774 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
775
776 2022-06-07 liuhongt <hongtao.liu@intel.com>
777
778 PR target/105854
779 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
780 from Yv to Yw.
781
782 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
783
784 PR middle-end/105853
785 PR target/105856
786 * calls.cc (load_register_parameters): Call store_constructor
787 and int_expr_size directly instead of expanding via expand_expr.
788 * expr.cc (static void store_constructor): Don't prototype here.
789 (static HOST_WIDE_INT int_expr_size): Likewise.
790 (store_constructor): No longer static.
791 (int_expr_size): Likewise, no longer static.
792 * expr.h (store_constructor): Prototype here.
793 (int_expr_size): Prototype here.
794
795 2022-06-07 Jan Beulich <jbeulich@suse.com>
796
797 Revert:
798 2022-06-03 Jan Beulich <jbeulich@suse.com>
799
800 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
801 * configure.ac: Check for objcopy, producing
802 ORIGINAL_OBJCOPY_FOR_TARGET.
803 * configure: Update accordingly.
804 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
805 Handle objcopy.
806
807 2022-06-07 Jakub Jelinek <jakub@redhat.com>
808
809 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
810 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
811 Adjust clause printing style depending on
812 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
813
814 2022-06-07 Jan Beulich <jbeulich@suse.com>
815
816 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
817 Change type.
818 * config/i386/i386-builtin-types.def: New function type
819 (V4DI, V32QI, V32QI).
820 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
821 V4DI_FTYPE_V32QI_V32QI.
822
823 2022-06-07 Jan Beulich <jbeulich@suse.com>
824
825 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
826 into account for reg-only insns.
827
828 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
829
830 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
831 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
832 TARGET_CMOVE's (scalar integer) conditional moves.
833 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
834 from its equivalent (canonical) pxor;pand;pxor sequence.
835
836 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
837
838 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
839 parameter ORDER.
840
841 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
842
843 * config.in: Regenerate.
844 * configure: Regenerate.
845 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
846
847 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
848
849 PR middle-end/95126
850 * calls.cc (load_register_parameters): When loading a suitable
851 immediate_const_ctor_p VAR_DECL into a single word_mode register,
852 construct it directly in a pseudo rather than read it (by parts)
853 from memory.
854 * expr.cc (int_expr_size): Make tree argument a const_tree.
855 (immediate_const_ctor_p): Helper predicate. Return true for
856 simple constructors that may be materialized in a register.
857 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
858 VAR_DECL with a suitable immediate_const_ctor_p constructor
859 use store_constructor to materialize it directly in a pseudo.
860 * expr.h (immediate_const_ctor_p): Prototype here.
861 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
862 VALUE argument from tree to const_tree.
863 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
864 prototype.
865
866 2022-06-04 Jakub Jelinek <jakub@redhat.com>
867
868 PR target/105825
869 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
870 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
871 bits of mask aren't all set, use operands[2] mode for the AND
872 operation instead of always SImode.
873
874 2022-06-03 Jakub Jelinek <jakub@redhat.com>
875
876 PR middle-end/30314
877 PR middle-end/105777
878 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
879 x > stype_max / cst || x < stype_min / cst): New simplification.
880
881 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
882
883 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
884 Value_Range.
885 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
886 * value-range.h (Value_Range::Value_Range): Implement copy
887 constructor for Value_Range.
888
889 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
890
891 * value-range.h (struct vrange_traits): Remove.
892 (is_a): Rewrite without vrange_traits.
893 (as_a): Same.
894
895 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
896
897 * value-range.cc (vrange::contains_p): Implement.
898 (vrange::type): Return void.
899 (vrange::supports_type_p): Implement.
900 (irange::fits_p): Same.
901 (vrange::set_undefined): Same.
902 (irange::set_nonnegative): Same.
903 (vrange::set_varying): Same.
904 (vrange::union_): Same.
905 (unsupported_range::set): Move to vrange.
906 (unsupported_range::type): Move to vrange.
907 (vrange::intersect): Implement for varying and undefined.
908 (vrange::zero_p): Implement.
909 (unsupported_range::supports_type_p): Move to vrange.
910 (vrange::nonzero_p): Implement.
911 (unsupported_range::set_undefined): Move to vrange.
912 (unsupported_range::set_varying): Same.
913 (unsupported_range::dump): Same.
914 (unsupported_range::union_): Same. Implement for varying and
915 undefined.
916 (unsupported_range::intersect): Move to vrange.
917 (unsupported_range::zero_p): Same.
918 (unsupported_range::nonzero_p): Same.
919 (unsupported_range::set_nonzero): Same.
920 (unsupported_range::set_zero): Same.
921 (unsupported_range::set_nonnegative): Same.
922 (unsupported_range::fits_p): Same.
923 * value-range.h (class vrange): Remove abstract markers for most
924 methods.
925 (class unsupported_range): Remove most methods as they will now be
926 inherited from vrange.
927
928 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
929
930 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
931 an object level supports_type_p for irange and a static
932 Value_Range::supports_type_p.
933 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
934 (fold_using_range::range_of_address): Same.
935 (fold_using_range::range_of_builtin_call): Same.
936 * gimple-range-fold.h (gimple_range_type): Same.
937 (gimple_range_ssa_p): Same.
938 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
939 Same.
940 (path_range_query::range_of_stmt): Same.
941 (path_range_query::add_to_imports): Same.
942 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
943 (gimple_ranger::export_global_ranges): Same.
944 * gimple-ssa-evrp-analyze.cc
945 (evrp_range_analyzer::record_ranges_from_phis): Same.
946 * range-op.cc (range_operator::wi_fold): Same.
947 (range_operator::fold_range): Same.
948 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
949 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
950 (evaluate_control_stmt_using_entry_checks): Same.
951 * tree-ssa-threadedge.cc
952 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
953 * tree-vrp.cc (supported_types_p): Same.
954 * value-query.cc (range_query::value_of_expr): Same.
955 (range_query::value_on_edge): Same.
956 (range_query::value_of_stmt): Same.
957 (range_query::get_tree_range): Same.
958 (get_range_global): Same.
959 (global_range_query::range_of_expr): Same.
960 * value-range-equiv.h (class value_range_equiv): Same.
961 * value-range.cc (irange::supports_type_p): Same.
962 (unsupported_range::supports_type_p): Same.
963 * value-range.h (enum value_range_discriminator): Same.
964 (Value_Range::init): Same.
965 (Value_Range::supports_type_p): Same.
966 (irange::supports_type_p): Same.
967 (irange::supports_p): Same.
968 (vrange::supports_type_p): Same.
969 (vrange_allocator::alloc_vrange): Same.
970
971 2022-06-03 Jan Beulich <jbeulich@suse.com>
972
973 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
974 * configure.ac: Check for objcopy, producing
975 ORIGINAL_OBJCOPY_FOR_TARGET.
976 * configure: Update accordingly.
977 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
978 Handle objcopy.
979
980 2022-06-03 Jan Beulich <jbeulich@suse.com>
981
982 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
983 (*mmx_psadbw): New. Mark as commutative.
984 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
985 (*<sse2_avx2>_psadbw): New. Mark as commutative.
986
987 2022-06-03 Alexandre Oliva <oliva@adacore.com>
988
989 PR tree-optimization/105665
990 PR tree-optimization/100810
991 * tree-ssa-loop-ivopts.cc
992 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
993 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
994 (find_ssa_undef): Check precomputed flag and intervening uses.
995 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
996
997 2022-06-02 David Malcolm <dmalcolm@redhat.com>
998
999 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
1000 tree-logical-location.o.
1001 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
1002 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
1003 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
1004 (sarif-stderr, sarif-file): New enum values.
1005 * diagnostic-client-data-hooks.h: New file.
1006 * diagnostic-format-sarif.cc: New file.
1007 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
1008 (enum diagnostic_event::noun): New enum.
1009 (enum diagnostic_event::property): New enum.
1010 (struct diagnostic_event::meaning): New struct.
1011 (diagnostic_event::get_logical_location): New vfunc.
1012 (diagnostic_event::get_meaning): New vfunc.
1013 (simple_diagnostic_event::get_logical_location): New vfunc impl.
1014 (simple_diagnostic_event::get_meaning): New vfunc impl.
1015 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
1016 (diagnostic_initialize): Initialize m_client_data_hooks.
1017 (diagnostic_finish): Clean up m_client_data_hooks.
1018 (diagnostic_event::meaning::dump_to_pp): New.
1019 (diagnostic_event::meaning::maybe_get_verb_str): New.
1020 (diagnostic_event::meaning::maybe_get_noun_str): New.
1021 (diagnostic_event::meaning::maybe_get_property_str): New.
1022 (get_cwe_url): Make non-static.
1023 (diagnostic_output_format_init): Handle
1024 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
1025 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
1026 * diagnostic.h (enum diagnostics_output_format): Add
1027 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
1028 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
1029 (class diagnostic_client_data_hooks): New forward decl.
1030 (class logical_location): New forward decl.
1031 (diagnostic_context::m_client_data_hooks): New field.
1032 (diagnostic_output_format_init_sarif_stderr): New decl.
1033 (diagnostic_output_format_init_sarif_file): New decl.
1034 (get_cwe_url): New decl.
1035 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
1036 sarif-file.
1037 * doc/sourcebuild.texi (Scan a particular file): Add
1038 scan-sarif-file and scan-sarif-file-not.
1039 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
1040 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
1041 (LANG_HOOKS_INITIALIZER): Add
1042 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
1043 * langhooks.cc (lhd_get_sarif_source_language): New.
1044 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
1045 * logical-location.h: New file.
1046 * plugin.cc (struct for_each_plugin_closure): New.
1047 (for_each_plugin_cb): New.
1048 (for_each_plugin): New.
1049 * plugin.h (for_each_plugin): New decl.
1050 * tree-diagnostic-client-data-hooks.cc: New file.
1051 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
1052 (tree_diagnostics_defaults): Populate m_client_data_hooks.
1053 * tree-logical-location.cc: New file.
1054 * tree-logical-location.h: New file.
1055
1056 2022-06-02 David Malcolm <dmalcolm@redhat.com>
1057
1058 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
1059 to description.
1060 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
1061 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
1062 (diagnostics_output_format): Add json-stderr and json-file.
1063 * diagnostic-format-json.cc (json_flush_to_file): New.
1064 (json_final_cb): Convert to...
1065 (json_flush_to_file): ...this, ...
1066 (json_stderr_final_cb): ...this, and...
1067 (json_file_final_cb): ...this.
1068 (diagnostic_output_format_init): Move to diagnostic.cc.
1069 (json_output_base_file_name): New.
1070 (diagnostic_output_format_init_json): New.
1071 (diagnostic_output_format_init_json_stderr): New.
1072 (diagnostic_output_format_init_json_file): New.
1073 * diagnostic.cc (diagnostic_output_format_init): Move here from
1074 diagnostic-format-json.cc; update for changes to enum.
1075 * diagnostic.h (enum diagnostics_output_format): Rename
1076 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
1077 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
1078 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
1079 (diagnostic_output_format_init): Add base_file_name param.
1080 (diagnostic_output_format_init_json_stderr): New decl.
1081 (diagnostic_output_format_init_json_file): New dec.
1082 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
1083 "json-file". Rewrite so that the existing "json" is a synonym of
1084 "json-stderr".
1085 * gcc.cc (driver_handle_option): Pass dump_base_name to
1086 diagnostic_output_format_init.
1087 * opts.cc (common_handle_option): Likewise.
1088
1089 2022-06-02 David Malcolm <dmalcolm@redhat.com>
1090
1091 * json.cc (string::print): Fix escaping of '\'.
1092
1093 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
1094
1095 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
1096 (-1 << 31) for the single-bit case, when operating on (1 << 31)
1097 in SImode.
1098 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
1099 any single-bit value, moving the special case for (1 << 31) to
1100 riscv_build_integer_1 (in riscv.c).
1101
1102 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
1103
1104 PR target/105791
1105 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
1106 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
1107
1108 2022-06-02 Jakub Jelinek <jakub@redhat.com>
1109
1110 PR target/105778
1111 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
1112 from AND and its operands and just verify operands[2] has HImode,
1113 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
1114 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
1115 just throw away the masking. Use force_reg before calling
1116 gen_lowpart.
1117 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
1118 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
1119 just throw away the masking.
1120 (*ashl<mode>3_doubleword): Rename to ...
1121 (ashl<mode>3_doubleword): ... this.
1122 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
1123 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1124 Use force_reg before calling gen_lowpart.
1125 (*<insn><mode>3_mask): Likewise.
1126 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
1127 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
1128 case just throw away the masking. Use force_reg before calling
1129 gen_lowpart.
1130 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
1131 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
1132 throw away the masking.
1133 (*<insn><mode>3_doubleword): Rename to ...
1134 (<insn><mode>3_doubleword): ... this.
1135 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
1136 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1137 Use force_reg before calling gen_lowpart.
1138 (splitter after it): Remove :SI from AND and its operands and just
1139 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
1140 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
1141 operands and just verify operands[1] has HImode, SImode or for
1142 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
1143 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
1144 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
1145 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
1146
1147 2022-06-02 Richard Biener <rguenther@suse.de>
1148
1149 PR tree-optimization/101668
1150 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
1151 for vector types with compatible lane types.
1152 (vect_build_slp_tree_2): Deal with this.
1153 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
1154 special cases without VEC_PERM.
1155 (vectorizable_slp_permutation): Select the operand vector
1156 type and relax requirements. Handle identity permutes
1157 with mismatching operand types.
1158 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
1159 permutes for op_mode == mode.
1160
1161 2022-06-02 Richard Biener <rguenther@suse.de>
1162
1163 PR tree-optimization/105802
1164 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
1165 Make sure to also compute the range in the type of the switch index.
1166
1167 2022-06-01 David Seifert <soap@gentoo.org>
1168
1169 PR plugins/95648
1170 * configure: Regenerate.
1171
1172 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
1173
1174 PR rtl-optimization/105638
1175 * df-core.cc (df_find_single_def_src): Moved and renamed from
1176 find_single_def_src in loop-iv.cc. Change the argument to rtx
1177 and use rtx_equal_p. Return null for partial or conditional
1178 defs.
1179 * df.h (df_find_single_def_src): New prototype.
1180 * dse.cc (record_store): Use the constant source if the source
1181 register is set only once.
1182 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
1183 (replace_single_def_regs): Replace find_single_def_src with
1184 df_find_single_def_src.
1185
1186 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
1187
1188 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
1189 selected_tune.
1190 (explicit_arch): Rename to selected_arch.
1191 (x_aarch64_override_tune_string): Remove.
1192 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
1193 (aarch64_override_tune_string): Add Save so it gets saved/restored.
1194 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
1195 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
1196 (processor): Remove archtecture_version field.
1197 (selected_arch): Remove global.
1198 (selected_cpu): Remove global.
1199 (selected_tune): Remove global.
1200 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
1201 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
1202 (aarch64_override_options): Further simplify code to only set
1203 selected_arch and selected_tune globals.
1204 (aarch64_option_save): Remove now that target options are saved.
1205 (aarch64_option_restore): Remove redundant target option restores.
1206 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
1207 AARCH64_ISA_V9.
1208 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
1209 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
1210 (aarch64_ra_sign_key): Remove.
1211
1212 2022-06-01 Jakub Jelinek <jakub@redhat.com>
1213
1214 PR middle-end/30314
1215 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
1216 x > ~(utype)0 / cst): New simplification.
1217
1218 2022-06-01 Richard Biener <rguenther@suse.de>
1219
1220 PR tree-optimization/105786
1221 * tree-loop-distribution.cc
1222 (loop_distribution::transform_reduction_loop): Only do strlen
1223 replacement for integer type reductions.
1224
1225 2022-06-01 Jakub Jelinek <jakub@redhat.com>
1226
1227 PR tree-optimization/105770
1228 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
1229 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
1230
1231 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
1232
1233 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
1234 (sbr_vector::sbr_vector): Same.
1235 (sbr_vector::grow): Same.
1236 (sbr_vector::set_bb_range): Same.
1237 (sbr_vector::get_bb_range): Same.
1238 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
1239 (sbr_sparse_bitmap::set_bb_range): Same.
1240 (sbr_sparse_bitmap::get_bb_range): Same.
1241 (block_range_cache::set_bb_range): Same.
1242 (block_range_cache::get_bb_range): Same.
1243 (block_range_cache::dump): Same.
1244 (ssa_global_cache::get_global_range): Same.
1245 (ssa_global_cache::set_global_range): Same.
1246 (ssa_global_cache::clear): Same.
1247 (ssa_global_cache::dump): Same.
1248 (ranger_cache::get_global_range): Same.
1249 (ranger_cache::set_global_range): Same.
1250 (ranger_cache::range_of_def): Same.
1251 (ranger_cache::entry_range): Same.
1252 (ranger_cache::exit_range): Same.
1253 (ranger_cache::edge_range): Same.
1254 (ranger_cache::range_of_expr): Same.
1255 (ranger_cache::range_on_edge): Same.
1256 (ranger_cache::block_range): Same.
1257 (ranger_cache::propagate_cache): Same.
1258 (ranger_cache::fill_block_cache): Same.
1259 (ranger_cache::range_from_dom): Same.
1260 * gimple-range-cache.h: Same.
1261 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
1262 Same.
1263 (gimple_outgoing_range::switch_edge_range): Same.
1264 (gimple_outgoing_range::edge_range_p): Same.
1265 * gimple-range-edge.h: Same.
1266 * gimple-range-fold.cc (fur_source::get_operand): Same.
1267 (fur_source::get_phi_operand): Same.
1268 (fur_edge::get_operand): Same.
1269 (fur_edge::get_phi_operand): Same.
1270 (fur_stmt::get_operand): Same.
1271 (fur_stmt::get_phi_operand): Same.
1272 (fur_list::fur_list): Same.
1273 (fur_list::get_operand): Same.
1274 (fur_list::get_phi_operand): Same.
1275 (fold_range): Same.
1276 (adjust_imagpart_expr): Same.
1277 (adjust_realpart_expr): Same.
1278 (gimple_range_adjustment): Same.
1279 (fold_using_range::fold_stmt): Same.
1280 (fold_using_range::range_of_range_op): Same.
1281 (fold_using_range::range_of_address): Same.
1282 (fold_using_range::range_of_phi): Same.
1283 (fold_using_range::range_of_call): Same.
1284 (fold_using_range::range_of_builtin_call): Same.
1285 (fold_using_range::range_of_builtin_int_call): Same.
1286 (fold_using_range::range_of_cond_expr): Same.
1287 (fur_source::register_outgoing_edges): Same.
1288 * gimple-range-fold.h (fold_range): Same.
1289 (gimple_range_type): Same.
1290 (gimple_range_ssa_p): Same.
1291 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
1292 (gimple_range_calc_op2): Same.
1293 (gori_compute::compute_operand_range_switch): Same.
1294 (gori_compute::compute_operand_range): Same.
1295 (gori_compute::logical_combine): Same.
1296 (gori_compute::compute_logical_operands): Same.
1297 (gori_compute::compute_operand1_range): Same.
1298 (gori_compute::compute_operand2_range): Same.
1299 (gori_compute::compute_operand1_and_operand2_range): Same.
1300 (gori_compute::outgoing_edge_range_p): Same.
1301 (gori_compute::condexpr_adjust): Same.
1302 * gimple-range-gori.h (gimple_range_calc_op1): Same.
1303 (gimple_range_calc_op2): Same.
1304 * gimple-range-path.cc (path_range_query::get_cache): Same.
1305 (path_range_query::set_cache): Same.
1306 (path_range_query::range_on_path_entry): Same.
1307 (path_range_query::internal_range_of_expr): Same.
1308 (path_range_query::range_of_expr): Same.
1309 (path_range_query::ssa_range_in_phi): Same.
1310 (path_range_query::range_defined_in_block): Same.
1311 (path_range_query::compute_ranges_in_phis): Same.
1312 (path_range_query::compute_ranges_in_block): Same.
1313 (path_range_query::add_to_imports): Same.
1314 (path_range_query::range_of_stmt): Same.
1315 * gimple-range-path.h: Same.
1316 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
1317 (gimple_infer_range::~side_effect_manager): Same.
1318 (gimple_infer_range::get_nonzero): Same.
1319 (gimple_infer_range::maybe_adjust_range): Same.
1320 (gimple_infer_range::add_range): Same.
1321 * gimple-range-infer.h: Same.
1322 * gimple-range-tests.cc: Same.
1323 * gimple-range-trace.cc (range_tracer::trailer): Same.
1324 (debug_seed_ranger): Same.
1325 * gimple-range-trace.h: Same.
1326 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
1327 (gimple_ranger::range_on_entry): Same.
1328 (gimple_ranger::range_on_exit): Same.
1329 (gimple_ranger::range_on_edge): Same.
1330 (gimple_ranger::fold_range_internal): Same.
1331 (gimple_ranger::range_of_stmt): Same.
1332 (gimple_ranger::prefill_name): Same.
1333 (gimple_ranger::prefill_stmt_dependencies): Same.
1334 (gimple_ranger::export_global_ranges): Same.
1335 (gimple_ranger::dump_bb): Same.
1336 * gimple-range.h: Same.
1337 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
1338 (memmodel_to_uhwi): Same.
1339 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
1340 (determine_value_range): Same.
1341 (record_nonwrapping_iv): Same.
1342 (infer_loop_bounds_from_signedness): Same.
1343 (scev_var_range_cant_overflow): Same.
1344 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
1345 * value-query.cc (range_query::range_on_edge): Same.
1346 (range_query::range_of_stmt): Same.
1347 (range_query::value_of_expr): Same.
1348 (range_query::value_on_edge): Same.
1349 (range_query::value_of_stmt): Same.
1350 (range_query::get_tree_range): Same.
1351 (update_global_range): Same.
1352 (get_range_global): Same.
1353 (gimple_range_global): Same.
1354 (global_range_query::range_of_expr): Same.
1355 (range_query::query_relation): Same.
1356 * value-query.h (gimple_range_global): Same.
1357 (update_global_range): Same.
1358 * vr-values.cc (vr_values::range_of_expr): Same.
1359 (bounds_of_var_in_loop): Same.
1360 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
1361 * vr-values.h (class vr_values): Same.
1362 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
1363
1364 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
1365
1366 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
1367 vrange allocator.
1368 (sbr_vector::grow): Same.
1369 (sbr_vector::set_bb_range): Same.
1370 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
1371 (sbr_sparse_bitmap::set_bb_range): Same.
1372 (block_range_cache::~block_range_cache): Same.
1373 (block_range_cache::set_bb_range): Same.
1374 (ssa_global_cache::ssa_global_cache): Same.
1375 (ssa_global_cache::~ssa_global_cache): Same.
1376 (ssa_global_cache::set_global_range): Same.
1377 * gimple-range-cache.h (block_range_cache): Same.
1378 (ssa_global_cache): Same.
1379 * gimple-range-edge.cc
1380 (gimple_outgoing_range::calc_switch_ranges): Same.
1381 * gimple-range-edge.h (gimple_outgoing_range): Same.
1382 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
1383 Same.
1384 (infer_range_manager::add_range): Same.
1385 * gimple-range-infer.h (class infer_range_manager): Same.
1386 * value-range.h (class irange_allocator): Rename to...
1387 (class vrange_allocator): ...this.
1388 (irange_allocator::irange_allocator): New.
1389 (vrange_allocator::vrange_allocator): New.
1390 (irange_allocator::~irange_allocator): New.
1391 (vrange_allocator::~vrange_allocator): New.
1392 (irange_allocator::get_memory): Rename to...
1393 (vrange_allocator::alloc): ...this.
1394 (vrange_allocator::alloc_vrange): Rename from...
1395 (irange_allocator::allocate): ...this.
1396 (vrange_allocator::alloc_irange): New.
1397
1398 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
1399
1400 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
1401 vrange and convert range_op_handler function calls to use the
1402 identically named object.
1403 * gimple-range-fold.cc (gimple_range_operand1): Same.
1404 (gimple_range_operand2): Same.
1405 (fold_using_range::fold_stmt): Same.
1406 (fold_using_range::range_of_range_op): Same.
1407 (fold_using_range::range_of_builtin_ubsan_call): Same.
1408 (fold_using_range::relation_fold_and_or): Same.
1409 (fur_source::register_outgoing_edges): Same.
1410 * gimple-range-fold.h (gimple_range_handler): Remove.
1411 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
1412 (gimple_range_calc_op2): Same.
1413 (range_def_chain::get_def_chain): Same.
1414 (gori_compute::compute_operand_range): Same.
1415 (gori_compute::condexpr_adjust): Same.
1416 * gimple-range.cc (gimple_ranger::prefill_name): Same.
1417 (gimple_ranger::prefill_stmt_dependencies): Same.
1418 * range-op.cc (get_bool_state): Same.
1419 (class operator_equal): Add using clause.
1420 (class operator_not_equal): Same.
1421 (class operator_lt): Same.
1422 (class operator_le): Same.
1423 (class operator_gt): Same.
1424 (class operator_ge): Same.
1425 (class operator_plus): Same.
1426 (class operator_minus): Same.
1427 (class operator_mult): Same.
1428 (class operator_exact_divide): Same.
1429 (class operator_lshift): Same.
1430 (class operator_rshift): Same.
1431 (class operator_cast): Same.
1432 (class operator_logical_and): Same.
1433 (class operator_bitwise_and): Same.
1434 (class operator_logical_or): Same.
1435 (class operator_bitwise_or): Same.
1436 (class operator_bitwise_xor): Same.
1437 (class operator_trunc_mod): Same.
1438 (class operator_logical_not): Same.
1439 (class operator_bitwise_not): Same.
1440 (class operator_cst): Same.
1441 (class operator_identity): Same.
1442 (class operator_unknown): Same.
1443 (class operator_abs): Same.
1444 (class operator_negate): Same.
1445 (class operator_addr_expr): Same.
1446 (class pointer_or_operator): Same.
1447 (operator_plus::op1_range): Adjust for vrange.
1448 (operator_minus::op1_range): Same.
1449 (operator_mult::op1_range): Same.
1450 (operator_cast::op1_range): Same.
1451 (operator_bitwise_not::fold_range): Same.
1452 (operator_negate::fold_range): Same.
1453 (range_op_handler): Rename to...
1454 (get_handler): ...this.
1455 (range_op_handler::range_op_handler): New.
1456 (range_op_handler::fold_range): New.
1457 (range_op_handler::op1_range): New.
1458 (range_op_handler::op2_range): New.
1459 (range_op_handler::lhs_op1_relation): New.
1460 (range_op_handler::lhs_op2_relation): New.
1461 (range_op_handler::op1_op2_relation): New.
1462 (range_cast): Adjust for vrange.
1463 * range-op.h (range_op_handler): Remove function.
1464 (range_cast): Adjust for vrange.
1465 (class range_op_handler): New.
1466 (get_bool_state): Adjust for vrange.
1467 (empty_range_varying): Same.
1468 (relop_early_resolve): Same.
1469 * tree-data-ref.cc (compute_distributive_range): Same.
1470 * tree-vrp.cc (get_range_op_handler): Remove.
1471 (range_fold_binary_symbolics_p): Use range_op_handler class
1472 instead of get_range_op_handler.
1473 (range_fold_unary_symbolics_p): Same.
1474 (range_fold_binary_expr): Same.
1475 (range_fold_unary_expr): Same.
1476 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
1477
1478 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
1479
1480 * gimple-range-fold.h (gimple_range_type): Check type before
1481 calling supports_type_p.
1482 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
1483 * value-query.cc (range_query::get_tree_range): Same.
1484 * value-range.cc (Value_Range::lower_bound): New.
1485 (Value_Range::upper_bound): New.
1486 (Value_Range::dump): New.
1487 * value-range.h (class Value_Range): New.
1488 (irange::supports_type_p): Do not check if type is non-zero.
1489
1490 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
1491
1492 * value-range-equiv.cc (value_range_equiv::set): New.
1493 * value-range-equiv.h (class value_range_equiv): Make set method
1494 virtual.
1495 Remove default bitmap argument from set method.
1496 * value-range.cc (vrange::contains_p): New.
1497 (vrange::singleton_p): New.
1498 (vrange::operator=): New.
1499 (vrange::operator==): New.
1500 (irange::fits_p): Move to .cc file.
1501 (irange::set_nonnegative): New.
1502 (unsupported_range::unsupported_range): New.
1503 (unsupported_range::set): New.
1504 (unsupported_range::type): New.
1505 (unsupported_range::set_undefined): New.
1506 (unsupported_range::set_varying): New.
1507 (unsupported_range::dump): New.
1508 (unsupported_range::union_): New.
1509 (unsupported_range::intersect): New.
1510 (unsupported_range::zero_p): New.
1511 (unsupported_range::nonzero_p): New.
1512 (unsupported_range::set_nonzero): New.
1513 (unsupported_range::set_zero): New.
1514 (unsupported_range::set_nonnegative): New.
1515 (unsupported_range::fits_p): New.
1516 (irange::set): Call irange::set_undefined.
1517 (irange::verify_range): Check discriminator field.
1518 (irange::dump): Dump [irange] marker.
1519 (irange::debug): Move to...
1520 (vrange::debug): ...here.
1521 (dump_value_range): Accept vrange.
1522 (debug): Same.
1523 * value-range.h (enum value_range_discriminator): New.
1524 (class vrange): New.
1525 (class unsupported_range): New.
1526 (struct vrange_traits): New.
1527 (is_a): New.
1528 (as_a): New.
1529 (class irange): Inherit from vrange.
1530 (dump_value_range): Adjust for vrange.
1531 (irange::kind): Rename to...
1532 (vrange::kind): ...this.
1533 (irange::varying_p): Rename to...
1534 (vrange::varying_p): ...this.
1535 (irange::undefined_p): Rename to...
1536 (vrange::undefined_p): ...this.
1537 (irange::irange): Set discriminator.
1538 (irange::union_): Convert to irange before passing to irange
1539 method.
1540 (irange::intersect): Same.
1541 (vrange::supports_type_p): New.
1542 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
1543 NULL bitmap argument to value_range_equiv::set.
1544 (vr_values::extract_range_basic): Same.
1545
1546 2022-06-01 Richard Biener <rguenther@suse.de>
1547
1548 PR tree-optimization/105763
1549 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
1550 Check gimple_range_ssa_p.
1551
1552 2022-05-31 Jason Merrill <jason@redhat.com>
1553
1554 * Makefile.in (TAGS): Look at libcpp/*.cc.
1555
1556 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
1557
1558 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
1559 Prefix mode names with E_.
1560
1561 2022-05-31 Alan Modra <amodra@gmail.com>
1562
1563 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
1564 spelling of DW_AT_namelist_item.
1565
1566 2022-05-31 Jakub Jelinek <jakub@redhat.com>
1567
1568 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
1569 allow var to be private in the outer context.
1570 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
1571 to build_outer_var_ref.
1572
1573 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
1574
1575 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
1576 tieable with DImode on TARGET_64BIT, and SCmode tieable with
1577 V2SFmode, and DCmode with V2DFmode.
1578
1579 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
1580
1581 PR rtl-optimization/101617
1582 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
1583 special case (indicated by negate_cc_compare_p) to generate a
1584 -1/0 mask using neg;sbb.
1585 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
1586 to generate an *x86_neg<mode>_ccc instruction.
1587 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
1588 generate a *x86_mov<mode>cc_0_m1_neg instruction.
1589
1590 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
1591
1592 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
1593 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
1594 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
1595
1596 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
1597
1598 PR target/70321
1599 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
1600 DI mode equality/inequality using XOR here. Instead generate a
1601 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
1602 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
1603 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
1604 (general_scalar_chain::convert_compare): New function to convert
1605 scalar equality/inequality comparison into vector operations.
1606 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
1607 new convert_compare helper method.
1608 (convertible_comparion_p): Update to match doubleword COMPARE
1609 of two register, memory or integer constant operands.
1610 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
1611 Prototype/declare member function here.
1612 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
1613 only allow new doubleword modes for EQ and NE operators.
1614 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
1615 doubleword comparison into a pair of XORs followed by an IOR to
1616 set the (zero) flags register, optimizing the XORs if possible.
1617 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
1618 iterator; V_AVX is (currently) only used by ptest.
1619 (sse4_1 mode attribute): Update to support V1TI and V2TI.
1620
1621 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
1622
1623 * config/i386/i386.md: Remove constraints when used with
1624 const_int_operand, const0_operand, const_1_operand, constm1_operand,
1625 const8_operand, const128_operand, const248_operand, const123_operand,
1626 const2367_operand, const1248_operand, const359_operand,
1627 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
1628 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
1629 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
1630 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
1631 const_0_to_255_mul_8_operand, const_1_to_31_operand,
1632 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
1633 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
1634 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
1635 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
1636 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
1637 const_24_to_27_operand and const_28_to_31_operand.
1638 * config/i386/mmx.md: Ditto.
1639 * config/i386/sse.md: Ditto.
1640 * config/i386/subst.md: Ditto.
1641 * config/i386/sync.md: Ditto.
1642
1643 2022-05-30 Jan Beulich <jbeulich@suse.com>
1644
1645 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
1646 arguments.
1647
1648 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1649
1650 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
1651
1652 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
1653
1654 PR target/105599
1655 * config/darwin.h: Move versions-specific handling of multiply_defined
1656 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
1657
1658 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
1659
1660 PR other/82383
1661 * doc/sourcebuild.texi: Add entries for the c++tools,
1662 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
1663 and libsanitizer directories. Remove entry for boehm-gc.
1664 Fix alphabetization for libquadmath.
1665
1666 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
1667
1668 * config/avr/avr-mcus.def: Add device definitions.
1669 * doc/avr-mmcu.texi: Corresponding changes.
1670 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
1671 device prefix.
1672 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
1673 from leaking into cc1.
1674
1675 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
1676
1677 PR target/103722
1678 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
1679 is special) for various scenarios.
1680
1681 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
1682
1683 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
1684 describing this macro.
1685
1686 2022-05-27 Richard Biener <rguenther@suse.de>
1687
1688 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
1689
1690 2022-05-27 Martin Jambor <mjambor@suse.cz>
1691
1692 PR ipa/105639
1693 * ipa-prop.cc (propagate_controlled_uses): Check type of the
1694 constant before adding a LOAD reference.
1695
1696 2022-05-27 Jakub Jelinek <jakub@redhat.com>
1697
1698 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
1699 to OMP_CLAUSE_ENTER.
1700 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
1701 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
1702 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
1703 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
1704 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
1705 "to" instead of "enter".
1706 * tree-nested.cc (convert_nonlocal_omp_clauses,
1707 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
1708 OMP_CLAUSE_TO_DECLARE.
1709
1710 2022-05-27 Richard Biener <rguenther@suse.de>
1711
1712 PR tree-optimization/105726
1713 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
1714 Constrain array-of-flexarray case more.
1715
1716 2022-05-27 Jakub Jelinek <jakub@redhat.com>
1717
1718 PR sanitizer/105729
1719 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
1720 to (X &) z + w if -fsanitize=null during GENERIC folding.
1721
1722 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
1723
1724 * match.pd (match_zero_one_valued_p): New predicate.
1725 (mult @0 @1): Use zero_one_valued_p for optimization to the
1726 expression "bit_and @0 @1".
1727 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
1728 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
1729 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
1730 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
1731 Remove three redundant transforms obsoleted by the three above.
1732
1733 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
1734
1735 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
1736 to split a combined "and;cmp" sequence into "not;test".
1737
1738 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1739
1740 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
1741 (bswapsi2_internal): Revise the template and condition, and add
1742 detection code for preceding the same insn in order to omit a
1743 "SSAI 8" instruction of the latter.
1744 (bswapdi2): Suppress built-in insn expansion with the corresponding
1745 library call when optimizing for size.
1746
1747 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1748
1749 * config/xtensa/xtensa-protos.h
1750 (xtensa_expand_block_set_unrolled_loop,
1751 xtensa_expand_block_set_small_loop): New prototypes.
1752 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
1753 xtensa_expand_block_set_unrolled_loop,
1754 xtensa_expand_block_set_small_loop): New functions.
1755 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
1756 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
1757
1758 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1759
1760 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
1761 Make instruction counting more accurate, and simplify emitting insns.
1762
1763 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1764
1765 * config/xtensa/constraints.md (M, O): Use the macro.
1766 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
1767 sext_fldsz_operand): Ditto.
1768 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
1769 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
1770 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
1771 xtensa_expand_prologue): Ditto.
1772 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
1773
1774 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1775
1776 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
1777 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
1778 Ditto.
1779
1780 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
1781
1782 * gimple-range-cache.cc: Adjust comments.
1783 * gimple-range-infer.cc: Adjust comments.
1784 * gimple-range-infer.h: Adjust comments.
1785 * gimple-range.cc: Adjust comments.
1786
1787 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
1788
1789 * Makefile.in (OBJS): Use gimple-range-infer.o.
1790 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
1791 (ranger_cache::range_from_dom): Rename var side_effect to infer.
1792 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
1793 * gimple-range-cache.h: Include gimple-range-infer.h.
1794 (class ranger_cache): Adjust prototypes, use infer_range_manager.
1795 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
1796 (gimple_infer_range::*): Rename from stmt_side_effects.
1797 (infer_range_manager::*): Rename from side_effect_manager.
1798 * gimple-range-side-effect.cc: Rename.
1799 * gimple-range-side-effect.h: Rename.
1800 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
1801 (class gimple_infer_range): Rename from stmt_side_effects.
1802 (class infer_range_manager): Rename from side_effect_manager.
1803 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
1804 from register_side_effects.
1805 * gimple-range.h (register_inferred_ranges): Adjust prototype.
1806 * range-op.h: Adjust comment.
1807 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
1808 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
1809
1810 2022-05-25 Simon Cook <simon.cook@embecosm.com>
1811
1812 * config/riscv/arch-canonicalize: Only add mafd extension if
1813 base was rv32/rv64g.
1814
1815 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
1816
1817 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
1818
1819 2022-05-25 Jakub Jelinek <jakub@redhat.com>
1820
1821 PR sanitizer/105714
1822 * asan.cc (has_stmt_been_instrumented_p): For assignments which
1823 are both stores and loads, return true only if both destination
1824 and source have been instrumented.
1825
1826 2022-05-25 Martin Liska <mliska@suse.cz>
1827 Richard Biener <rguenther@suse.de>
1828
1829 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
1830 * params.opt (max-unswitch-level): Remove.
1831 * doc/invoke.texi (max-unswitch-level): Likewise.
1832 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
1833 gimplified expressions.
1834 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
1835 (tree_may_unswitch_on): Rename to ...
1836 (find_unswitching_predicates_for_bb): ... this and handle
1837 switch statements.
1838 (get_predicates_for_bb): Likewise.
1839 (set_predicates_for_bb): Likewise.
1840 (init_loop_unswitch_info): Likewise.
1841 (tree_ssa_unswitch_loops): Prepare stuff before calling
1842 tree_unswitch_single_loop.
1843 (tree_unswitch_single_loop): Rework the function using
1844 pre-computed predicates and with a per original loop cost model.
1845 (merge_last): New.
1846 (add_predicate_to_path): Likewise.
1847 (find_range_for_lhs): Likewise.
1848 (simplify_using_entry_checks): Rename to ...
1849 (evaluate_control_stmt_using_entry_checks): ... this, handle
1850 switch statements and improve simplifications using ranger.
1851 (simplify_loop_version): Rework using
1852 evaluate_control_stmt_using_entry_checks.
1853 (evaluate_bbs): New.
1854 (evaluate_loop_insns_for_predicate): Likewise.
1855 (tree_unswitch_loop): Adjust to allow switch statements and
1856 pass in the edge to unswitch.
1857 (clean_up_after_unswitching): New.
1858 (pass_tree_unswitch::execute): Pass down fun.
1859
1860 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
1861
1862 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
1863 counts for the epilog loop.
1864
1865 2022-05-24 Martin Sebor <msebor@redhat.com>
1866 Richard Biener <rguenther@suse.de>
1867
1868 PR middle-end/105604
1869 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
1870 (get_origin_and_offset_r): Remove null handling. Handle variable array
1871 sizes.
1872 (get_origin_and_offset): Handle null argument here. Simplify.
1873 (alias_offset): Update comment.
1874 * pointer-query.cc (field_at_offset): Update comment. Handle members
1875 of variable-length types.
1876
1877 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1878
1879 * target.def (vec_perm_const): Define new parameter op_mode and
1880 update doc.
1881 * doc/tm.texi: Regenerate.
1882 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
1883 vec_perm_const hook to add new parameter op_mode and return false
1884 if result and operand modes do not match.
1885 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
1886 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
1887 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
1888 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
1889 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
1890 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
1891 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
1892 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
1893 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
1894 prototype.
1895 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
1896 (ashrv2di3): Likewise.
1897 * optabs.cc (expand_vec_perm_const): Likewise.
1898 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
1899 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
1900 op_mode and pass it to vec_perm_const hook.
1901 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
1902 * match.pd (vec_perm X Y CST): Likewise.
1903 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
1904 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
1905 (vect_grouped_load_supported): Likewise.
1906 (vect_shift_permute_load_chain): Likewise.
1907 * tree-vect-generic.cc (lower_vec_perm): Likewise.
1908 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
1909 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
1910 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
1911 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
1912 (vect_transform_slp_perm_load): Likewise.
1913 (vectorizable_slp_permutation): Likewise.
1914 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
1915 (vectorizable_bswap): Likewise.
1916 (scan_store_can_perm_p): Likewise.
1917 (vect_gen_perm_mask_checked): Likewise.
1918
1919 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
1920
1921 PR target/104816
1922 * config/i386/i386.opt: Remove Undocumented.
1923 * doc/invoke.texi: Document -mcet-switch.
1924
1925 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
1926
1927 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
1928 * config/gcn/gcn-opts.h (enum gcn_isa): New.
1929 (TARGET_GCN3): Use enum gcn_isa.
1930 (TARGET_GCN3_PLUS): Likewise.
1931 (TARGET_GCN5): Likewise.
1932 (TARGET_GCN5_PLUS): Likewise.
1933 (TARGET_CDNA1): New.
1934 (TARGET_CDNA1_PLUS): New.
1935 (TARGET_CDNA2): New.
1936 (TARGET_CDNA2_PLUS): New.
1937 (TARGET_M0_LDS_LIMIT): New.
1938 (TARGET_PACKED_WORK_ITEMS): New.
1939 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
1940 (gcn_option_override): Recognise CDNA ISA variants.
1941 (gcn_omp_device_kind_arch_isa): Support gfx90a.
1942 (gcn_expand_prologue): Make m0 init optional.
1943 Add support for packed work items.
1944 (output_file_start): Support gfx90a.
1945 (gcn_hsa_declare_function_name): Support gfx90a metadata.
1946 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
1947 __CDNA2__.
1948 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
1949 (<su>mulsi3_highpart_imm): Likewise.
1950 (<su>mulsidi3): Likewise.
1951 (<su>mulsidi3_imm): Likewise.
1952 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
1953 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
1954 (main): Support gfx90a.
1955 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
1956 * config/gcn/t-omp-device: Add gfx90a isa.
1957
1958 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
1959
1960 * config.in: Regenerate.
1961 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
1962 (X_900): Delete.
1963 (X_906): Delete.
1964 (X_908): Delete.
1965 (S_FIJI): Delete.
1966 (S_900): Delete.
1967 (S_906): Delete.
1968 (S_908): Delete.
1969 (NO_XNACK): New macro.
1970 (NO_SRAM_ECC): New macro.
1971 (SRAMOPT): Keep only v4 variant.
1972 (HSACO3_SELECT_OPT): Delete.
1973 (DRIVER_SELF_SPECS): Delete.
1974 (ASM_SPEC): Remove LLVM 9 support.
1975 * config/gcn/gcn-valu.md
1976 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
1977 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
1978 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
1979 (print_operand_address): Remove assembler bug workaround.
1980 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
1981 (EF_AMDGPU_SRAM_ECC_V3): Delete.
1982 (SET_XNACK_ON): Delete v3 variants.
1983 (SET_XNACK_OFF): Delete v3 variants.
1984 (TEST_XNACK): Delete v3 variants.
1985 (SET_SRAM_ECC_ON): Delete v3 variants.
1986 (SET_SRAM_ECC_ANY): Delete v3 variants.
1987 (SET_SRAM_ECC_OFF): Delete v3 variants.
1988 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
1989 (TEST_SRAM_ECC_ANY): Delete v3 variants.
1990 (TEST_SRAM_ECC_ON): Delete v3 variants.
1991 (copy_early_debug_info): Remove v3 support.
1992 (main): Remove v3 support.
1993 * configure: Regenerate.
1994 * configure.ac: Replace all GCN feature checks with a version check.
1995
1996 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
1997
1998 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
1999 i.e. a double word negation of a zero extended operand, to
2000 neg;sbb.
2001
2002 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
2003
2004 PR tree-optimization/105668
2005 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
2006 V1TImode, just like V2DImode.
2007 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
2008 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
2009 (vcond_mask_v2div2di): Delete.
2010 (vcond_mask_v1tiv1ti): New define_expand.
2011
2012 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
2013
2014 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
2015 to strncmp for strings of length one.
2016
2017 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
2018
2019 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
2020 prefetch instructions.
2021 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
2022 Extensions.
2023 (RISCV_ATYPE_SI): New.
2024 (RISCV_ATYPE_DI): New.
2025 * config/riscv/riscv-ftypes.def (0): New.
2026 (1): New.
2027 * config/riscv/riscv.md (riscv_clean_<mode>): New.
2028 (riscv_flush_<mode>): New.
2029 (riscv_inval_<mode>): New.
2030 (riscv_zero_<mode>): New.
2031 (prefetch): New.
2032 (riscv_prefetchi_<mode>): New.
2033 * config/riscv/riscv-cmo.def: New file.
2034
2035 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
2036
2037 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
2038 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
2039 (MASK_ZICBOM): New.
2040 (MASK_ZICBOP): New.
2041 (TARGET_ZICBOZ): New.
2042 (TARGET_ZICBOM): New.
2043 (TARGET_ZICBOP): New.
2044 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
2045
2046 2022-05-24 David Malcolm <dmalcolm@redhat.com>
2047
2048 * tree-vect-slp-patterns.cc: Add "final" and "override" to
2049 vect_pattern::build impls as appropriate.
2050
2051 2022-05-24 David Malcolm <dmalcolm@redhat.com>
2052
2053 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
2054 implementations, removing redundant "virtual" as appropriate.
2055 * ipa-fnsummary.h: Likewise.
2056 * ipa-modref.cc: Likewise.
2057 * ipa-param-manipulation.cc: Likewise.
2058 * ipa-profile.cc: Likewise.
2059 * ipa-prop.h: Likewise.
2060 * ipa-pure-const.cc: Likewise.
2061 * ipa-reference.cc: Likewise.
2062 * ipa-sra.cc: Likewise.
2063 * symbol-summary.h: Likewise.
2064 * symtab-thunks.cc: Likewise.
2065
2066 2022-05-24 Martin Liska <mliska@suse.cz>
2067
2068 Revert:
2069 2022-05-24 Martin Liska <mliska@suse.cz>
2070
2071 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
2072 warning.
2073
2074 2022-05-24 Martin Liska <mliska@suse.cz>
2075
2076 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
2077 warning.
2078
2079 2022-05-24 Bruno Haible <bruno@clisp.org>
2080
2081 PR other/105527
2082 * doc/install.texi (Configuration): Add more details about --with-zstd.
2083 Document --with-zstd-include and --with-zstd-lib
2084
2085 2022-05-24 Richard Biener <rguenther@suse.de>
2086
2087 PR middle-end/105711
2088 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
2089 and use it.
2090 (extract_bit_field_1): Pass down the mode of op0 to
2091 extract_bit_field_as_subreg.
2092
2093 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
2094
2095 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
2096 fmv_cost.
2097 (rocket_tune_info): Add default fmv_cost 8.
2098 (sifive_7_tune_info): Ditto.
2099 (thead_c906_tune_info): Ditto.
2100 (optimize_size_tune_info): Ditto.
2101 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
2102
2103 2022-05-24 Jakub Jelinek <jakub@redhat.com>
2104
2105 PR c/105378
2106 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
2107 builtin.
2108 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
2109 clause but no depend clauses.
2110 * omp-expand.cc (expand_taskwait_call): Use
2111 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
2112 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
2113
2114 2022-05-24 Richard Biener <rguenther@suse.de>
2115
2116 PR tree-optimization/100221
2117 * tree-ssa-dse.cc (contains_phi_arg): New function.
2118 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
2119
2120 2022-05-24 Richard Biener <rguenther@suse.de>
2121
2122 PR tree-optimization/105629
2123 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
2124 a sign-extending conversion.
2125
2126 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
2127
2128 PR target/105627
2129 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
2130 be a debug insn.
2131 (union_uses): Skip debug use_insn.
2132
2133 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
2134
2135 * config/riscv/predicates.md (const_0_operand): Remove
2136 const_double.
2137 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
2138 CONST_DOUBLE.
2139 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
2140
2141 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
2142
2143 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
2144 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
2145 (cpu_indicator_init): Handle Zhaoxin processors.
2146 * common/config/i386/i386-common.cc: Add lujiazui.
2147 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
2148 VENDOR_ZHAOXIN.
2149 (enum processor_types): Add ZHAOXIN_FAM7H.
2150 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
2151 * config.gcc: Add lujiazui.
2152 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
2153 Signatures for zhaoxin
2154 (signature_SHANGHAI_ecx): Ditto.
2155 (signature_SHANGHAI_edx): Ditto.
2156 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
2157 -march=native recognize lujiazui processors.
2158 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
2159 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
2160 * config/i386/i386.h (enum processor_type): Ditto.
2161 * config/i386/i386.md: Add lujiazui.
2162 * config/i386/x86-tune-costs.h (struct processor_costs): Add
2163 lujiazui costs.
2164 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
2165 (ix86_adjust_cost): Ditto.
2166 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
2167 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
2168 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
2169 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
2170 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
2171 (X86_TUNE_MOVX): Ditto.
2172 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
2173 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
2174 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
2175 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
2176 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
2177 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
2178 (X86_TUNE_USE_LEAVE): Ditto.
2179 (X86_TUNE_PUSH_MEMORY): Ditto.
2180 (X86_TUNE_LCP_STALL): Ditto.
2181 (X86_TUNE_USE_INCDEC): Ditto.
2182 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
2183 (X86_TUNE_OPT_AGU): Ditto.
2184 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
2185 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
2186 (X86_TUNE_USE_SAHF): Ditto.
2187 (X86_TUNE_USE_BT): Ditto.
2188 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
2189 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
2190 (X86_TUNE_AVOID_MFENCE): Ditto.
2191 (X86_TUNE_EXPAND_ABS): Ditto.
2192 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
2193 (X86_TUNE_USE_FFREEP): Ditto.
2194 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
2195 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
2196 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
2197 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
2198 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
2199 * doc/extend.texi: Add details about lujiazui.
2200 * doc/invoke.texi: Add details about lujiazui.
2201 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
2202
2203 2022-05-23 Martin Liska <mliska@suse.cz>
2204
2205 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
2206
2207 2022-05-23 Richard Biener <rguenther@suse.de>
2208
2209 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
2210 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
2211
2212 2022-05-23 Richard Biener <rguenther@suse.de>
2213
2214 * gimple-expr.cc (is_gimple_condexpr): Remove.
2215 * gimple-expr.h (is_gimple_condexpr): Likewise.
2216 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
2217 * tree-if-conv.cc (set_bb_predicate): Likewie.
2218 (add_to_predicate_list): Likewise.
2219 (gen_phi_arg_condition): Likewise.
2220 (predicate_scalar_phi): Likewise.
2221 (predicate_statements): Likewise.
2222
2223 2022-05-23 Richard Biener <rguenther@suse.de>
2224
2225 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
2226 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
2227 as is_gimple_val.
2228 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
2229 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
2230 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
2231 Build the condition of the COND_EXPR separately.
2232 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
2233 * tree-vect-generic.cc (expand_vector_condition): Likewise.
2234 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
2235 Likewise.
2236 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
2237 * tree-vect-patterns.cc: Add comment indicating we are
2238 building invalid COND_EXPRs and why.
2239 * omp-expand.cc (expand_omp_simd): Gimplify the condition
2240 to the COND_EXPR separately.
2241 (expand_omp_atomic_cas): Note part that should be unreachable
2242 now.
2243 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
2244 condition for valid replacements.
2245 * tree-if-conv.cc (predicate_bbs): Simulate previous
2246 re-folding of the condition in folded COND_EXPRs which
2247 is necessary because of unfolded GIMPLE_CONDs in the IL
2248 as in for example gcc.dg/fold-bopcond-1.c.
2249 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
2250 Handle that the comparison is now in the def stmt of
2251 the select operand. Required by gcc.dg/pr104526.c.
2252
2253 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
2254
2255 PR fortran/104949
2256 * langhooks-def.h (lhd_omp_array_size): New.
2257 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
2258 (LANG_HOOKS_DECLS): Add it.
2259 * langhooks.cc (lhd_omp_array_size): New.
2260 * langhooks.h (struct lang_hooks_for_decls): Add hook.
2261 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
2262 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
2263
2264 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
2265
2266 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
2267 XOR/IOR case. Account for two instructions for double-word
2268 operations. In case of vector pandn, account for single
2269 instruction. Likewise for integer andn with TARGET_BMI.
2270 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
2271 <case NEG>: Double-word negation requires 3 instructions.
2272
2273 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
2274
2275 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
2276 Fix "K" extension prefix to be placed before "J".
2277 * config/riscv/arch-canonicalize: Likewise.
2278
2279 2022-05-23 liuhongt <hongtao.liu@intel.com>
2280
2281 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
2282 <-> mask cost from 5 to 6.
2283 (icelake_cost): Ditto.
2284
2285 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
2286
2287 * config/aarch64/aarch64.md
2288 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
2289 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
2290 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
2291 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
2292 (one_cmpl_<optab><mode>2): Likewise.
2293 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
2294 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
2295 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
2296 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
2297 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
2298 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
2299 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
2300 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
2301 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
2302 (rolsi3_insn_uxtw): New pattern.
2303 * config/aarch64/iterators.md (SHIFT): Add rotate left.
2304 (SHIFT_no_rotate): Add new iterator.
2305 (SHIFT:shift): Print rotate left as ror.
2306 (is_rotl): Add test for left rotate.
2307
2308 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
2309
2310 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
2311 processing. Add support for architectural extensions.
2312 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
2313 AARCH64_CPU_DEFAULT_FLAGS.
2314 (TARGET_CPU_NBITS): Remove.
2315 (TARGET_CPU_MASK): Remove.
2316 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
2317 (get_tune_cpu): Assert CPU is always valid.
2318 (get_arch): Assert architecture is always valid.
2319 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
2320 (aarch64_option_restore): Remove unnecessary checks on tune.
2321
2322 2022-05-20 David Malcolm <dmalcolm@redhat.com>
2323
2324 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
2325 "FINAL" and "OVERRIDE" with "final" and "override".
2326 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
2327 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
2328 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
2329 * diagnostic-path.h: Likewise.
2330 * digraph.cc: Likewise.
2331 * gcc-rich-location.h: Likewise.
2332 * gimple-array-bounds.cc: Likewise.
2333 * gimple-loop-versioning.cc: Likewise.
2334 * gimple-range-cache.cc: Likewise.
2335 * gimple-range-cache.h: Likewise.
2336 * gimple-range-fold.cc: Likewise.
2337 * gimple-range-fold.h: Likewise.
2338 * gimple-range-tests.cc: Likewise.
2339 * gimple-range.h: Likewise.
2340 * gimple-ssa-evrp.cc: Likewise.
2341 * input.cc: Likewise.
2342 * json.h: Likewise.
2343 * read-rtl-function.cc: Likewise.
2344 * tree-complex.cc: Likewise.
2345 * tree-diagnostic-path.cc: Likewise.
2346 * tree-ssa-ccp.cc: Likewise.
2347 * tree-ssa-copy.cc: Likewise.
2348 * tree-vrp.cc: Likewise.
2349 * value-query.h: Likewise.
2350 * vr-values.h: Likewise.
2351
2352 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
2353
2354 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
2355 target_memcpy_rect_async to omp_runtime_apis array.
2356
2357 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
2358
2359 * doc/sourcebuild.texi (Decimal floating point attributes): Document
2360 dfp_bid effective-target.
2361
2362 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
2363
2364 * config/aarch64/aarch64.cc
2365 (aarch64_split_128bit_move): Handle DFP modes.
2366 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
2367 (aarch64_classify_address): Likewise.
2368 (aarch64_legitimize_address_displacement): Likewise.
2369 (aarch64_reinterpret_float_as_int): Likewise.
2370 (aarch64_float_const_zero_rtx_p): Likewise.
2371 (aarch64_can_const_movi_rtx_p): Likewise.
2372 (aarch64_anchor_offset): Likewise.
2373 (aarch64_secondary_reload): Likewise.
2374 (aarch64_rtx_costs): Likewise.
2375 (aarch64_legitimate_constant_p): Likewise.
2376 (aarch64_gimplify_va_arg_expr): Likewise.
2377 (aapcs_vfp_sub_candidate): Likewise.
2378 (aarch64_vfp_is_call_or_return_candidate): Likewise.
2379 (aarch64_output_scalar_simd_mov_immediate): Likewise.
2380 (aarch64_gen_adjusted_ldpstp): Likewise.
2381 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
2382 * config/aarch64/aarch64.md
2383 (movsf_aarch64): Use SFD iterator and rename into
2384 mov<mode>_aarch64.
2385 (movdf_aarch64): Use DFD iterator and rename into
2386 mov<mode>_aarch64.
2387 (movtf_aarch64): Use TFD iterator and rename into
2388 mov<mode>_aarch64.
2389 (split pattern for move TF mode): Use TFD iterator.
2390 * config/aarch64/iterators.md
2391 (GPF_TF_F16_MOV): Add DFP modes.
2392 (SFD, DFD, TFD): New iterators.
2393 (GPF_TF): Add DFP modes.
2394 (TX, DX, DX2): Likewise.
2395
2396 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
2397
2398 * configure: Regenerate.
2399
2400 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
2401
2402 PR middle-end/98865
2403 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
2404 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
2405 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
2406
2407 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
2408
2409 * config/rs6000/rs6000-builtins.def: Rephrase
2410 to remove RS6000_BTC_SPECIAL from comment.
2411 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
2412 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
2413 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
2414 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
2415 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
2416 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
2417 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
2418 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
2419 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
2420 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
2421 RS6000_BTM_ALWAYS): Delete.
2422
2423 2022-05-19 Richard Biener <rguenther@suse.de>
2424
2425 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
2426 computation of the new value.
2427
2428 2022-05-19 Richard Biener <rguenther@suse.de>
2429
2430 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
2431 (add_to_value): Use get_expression_id.
2432 (bitmap_insert_into_set): Likewise.
2433 (bitmap_value_insert_into_set): Likewise.
2434
2435 2022-05-19 David Malcolm <dmalcolm@redhat.com>
2436
2437 * doc/invoke.texi (-fanalyzer-checker=): Add
2438 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
2439 the list of analyzer warnings disabled by
2440 -fanalyzer-checker=taint.
2441
2442 2022-05-19 Jakub Jelinek <jakub@redhat.com>
2443
2444 PR debug/105630
2445 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
2446 global vars without symtab node even when they have DECL_RTL
2447 set.
2448
2449 2022-05-19 Jakub Jelinek <jakub@redhat.com>
2450
2451 PR c/105635
2452 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
2453 doesn't have pointer or reference type.
2454
2455 2022-05-18 Marek Polacek <polacek@redhat.com>
2456
2457 PR c/105131
2458 * doc/invoke.texi: Document -Wenum-int-mismatch.
2459
2460 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
2461
2462 * config/i386/gnu-user-common.h (defined): Only define
2463 TARGET_CAN_SPLIT_STACK for glibc targets.
2464 * config/i386/gnu.h (defined): Ditto.
2465
2466 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
2467
2468 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
2469 is wider than word_mode, a multiplication costs three word_mode
2470 multiplications and two word_mode additions.
2471
2472 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
2473
2474 * config/i386/i386.md (define_split): Split *andsi_1
2475 and *andn_si_ccno after reload with -Oz.
2476
2477 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
2478
2479 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
2480 Output reason for failure to dump file.
2481 (scop_detection::harmful_loop_in_region): Likewise.
2482 (scop_detection::graphite_can_represent_expr): Likewise.
2483 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
2484 (scop_detection::stmt_simple_for_scop_p): Likewise.
2485 (print_sese_loop_numbers): New function.
2486 (scop_detection::add_scop): Use from here.
2487
2488 2022-05-18 liuhongt <hongtao.liu@intel.com>
2489
2490 PR middle-end/103462
2491 * match.pd (bitwise_induction_p): New match.
2492 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
2493 Declare.
2494 (analyze_and_compute_bitwise_induction_effect): New function.
2495 (enum bit_op_kind): New enum.
2496 (final_value_replacement_loop): Enhanced to handle bitwise
2497 induction.
2498
2499 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
2500
2501 PR target/95737
2502 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
2503
2504 2022-05-18 liuhongt <hongtao.liu@intel.com>
2505
2506 PR target/104375
2507 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
2508 define_insn.
2509
2510 2022-05-18 liuhongt <hongtao.liu@intel.com>
2511
2512 PR target/104610
2513 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
2514 for QImode when code is EQ or NE.
2515 * config/i386/i386.md (cbranchoi4): New expander.
2516
2517 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
2518 Segher Boessenkool <segher@kernel.crashing.org>
2519
2520 PR target/105556
2521 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
2522 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
2523 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
2524 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
2525 Update other operands accordingly.
2526
2527 2022-05-17 Marek Polacek <polacek@redhat.com>
2528
2529 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
2530
2531 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
2532
2533 PR target/99685
2534 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
2535 register count when not splitting IEEE 128-bit Complex.
2536
2537 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2538
2539 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
2540 target inside target if inner is reverse offload.
2541
2542 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2543
2544 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
2545 * config/nvptx/mkoffload.cc (process): Likewise.
2546
2547 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
2548
2549 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
2550 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
2551 (non_null_ref::~non_null_ref): Delete.
2552 (non_null_ref::set_nonnull): Delete.
2553 (non_null_ref::non_null_deref_p): Delete.
2554 (non_null_ref::process_name): Delete.
2555 (ranger_cache::ranger_cache): Initialize m_exit object.
2556 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
2557 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
2558 (ranger_cache::update_to_nonnull): Delete.
2559 (non_null_loadstore): Delete.
2560 (ranger_cache::block_apply_nonnull): Delete.
2561 (ranger_cache::apply_side_effects): New.
2562 * gimple-range-cache.h (class non_null_ref): Delete.
2563 (non_null_ref::adjust_range): Delete.
2564 (class ranger_cache): Adjust prototypes, add side effect manager.
2565 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
2566 side effect manager for queries.
2567 (path_range_query::adjust_for_non_null_uses): Ditto.
2568 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
2569 * gimple-range-side-effect.cc: New.
2570 * gimple-range-side-effect.h: New.
2571 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
2572 (gimple_ranger::range_of_expr): Check def block for override value.
2573 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
2574 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
2575 (gimple_ranger::register_side_effects): Call apply_side_effects.
2576 (enable_ranger): Update contructor.
2577 * gimple-range.h (class gimple_ranger): Update prototype.
2578 (enable_ranger): Update prototype.
2579 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
2580
2581 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
2582
2583 PR c++/105169
2584 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
2585 * varasm.cc (switch_to_comdat_section): New
2586 (handle_vtv_comdat_section): Call switch_to_comdat_section.
2587 * varasm.h: Declare switch_to_comdat_section.
2588
2589 2022-05-17 Richard Biener <rguenther@suse.de>
2590
2591 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
2592 not clear bb->aux of the copied blocks.
2593
2594 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
2595
2596 PR tree-optimization/105458
2597 * value-relation.cc (path_oracle::register_relation): Merge, then check
2598 for equivalence.
2599
2600 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
2601
2602 PR target/105624
2603 Revert:
2604 * config/i386/i386.md: Remove constraints when used with
2605 const_int_operand, const0_operand, const_1_operand, constm1_operand,
2606 const8_operand, const128_operand, const248_operand, const123_operand,
2607 const2367_operand, const1248_operand, const359_operand,
2608 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
2609 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
2610 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
2611 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
2612 const_0_to_255_mul_8_operand, const_1_to_31_operand,
2613 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
2614 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
2615 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
2616 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
2617 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
2618 const_24_to_27_operand and const_28_to_31_operand.
2619 * config/i386/mmx.md: Ditto.
2620 * config/i386/sse.md: Ditto.
2621 * config/i386/subst.md: Ditto.
2622 * config/i386/sync.md: Ditto.
2623
2624 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
2625
2626 * diagnostic.cc: Don't advise to call 'abort' instead of
2627 'internal_error'.
2628 * system.h: Advise to call 'internal_error' instead of 'abort' or
2629 'fancy_abort'.
2630
2631 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
2632
2633 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
2634 a reference to a variable which does not exist.
2635 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
2636 in comment.
2637
2638 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
2639
2640 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
2641 (isl_id_for_parameter): ... this new function name.
2642 (build_scop_context): Adjust function use.
2643
2644 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2645
2646 PR target/105602
2647 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
2648 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
2649
2650 2022-05-17 Jakub Jelinek <jakub@redhat.com>
2651
2652 * tree-core.h (enum omp_clause_depend_kind): Add
2653 OMP_CLAUSE_DEPEND_INOUTSET.
2654 * tree-pretty-print.cc (dump_omp_clause): Handle
2655 OMP_CLAUSE_DEPEND_INOUTSET.
2656 * gimplify.cc (gimplify_omp_depend): Likewise.
2657 * omp-low.cc (lower_depend_clauses): Likewise.
2658
2659 2022-05-17 Jakub Jelinek <jakub@redhat.com>
2660
2661 PR target/105613
2662 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
2663 andv4si3 only for EQ, for NE use iorv4si3 instead.
2664
2665 2022-05-17 Richard Biener <rguenther@suse.de>
2666
2667 PR tree-optimization/105618
2668 * tree-ssa-sink.cc (statement_sink_location): For virtual
2669 PHI uses ignore those defining the used virtual operand.
2670
2671 2022-05-17 Jakub Jelinek <jakub@redhat.com>
2672
2673 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
2674 hanlde -> handle. Fix up comment formatting.
2675
2676 2022-05-17 liuhongt <hongtao.liu@intel.com>
2677
2678 PR target/105033
2679 * config/i386/sse.md (*vec_concatv4si): Extend to ..
2680 (*vec_concat<mode>): .. V16QI and V8HImode.
2681 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
2682 (*vec_concatv8hi_permt2): Ditto.
2683
2684 2022-05-17 liuhongt <hongtao.liu@intel.com>
2685
2686 PR tree-optimization/105591
2687 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
2688 vec_perm_expr index.
2689
2690 2022-05-16 Jason Merrill <jason@redhat.com>
2691
2692 PR c/105492
2693 * attribs.cc (decl_attributes): Fix broken typedefs here.
2694
2695 2022-05-16 David Malcolm <dmalcolm@redhat.com>
2696
2697 PR analyzer/105103
2698 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
2699 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
2700 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
2701 -Wanalyzer-va-list-use-after-va-end.
2702
2703 2022-05-16 Richard Biener <rguenther@suse.de>
2704
2705 * gimple-match.h (gimple_build): Move code_helper overloads ...
2706 * gimple-fold.h (gimple_build): ... here.
2707 (gimple_build): Transition to new worker API. Provide
2708 overloads from sequence-based API.
2709 (gimple_convert): Likewise.
2710 (gimple_convert_to_ptrofftype): Likewise.
2711 (gimple_build_vector_from_val): Likewise.
2712 (gimple_build_vector): Likewise.
2713 (gimple_build_round_up): Likewise.
2714 * gimple-fold.cc (gimple_build_insert_seq): New helper.
2715 (gimple_build): Use it. Transition combined_fn and code_helper
2716 API parts.
2717 (gimple_convert): Transition to new worker API.
2718 (gimple_convert_to_ptrofftype): Likewise.
2719 (gimple_build_vector_from_val): Likewise.
2720 (gimple_build_vector): Likewise.
2721 (gimple_build_round_up): Likewise.
2722
2723 2022-05-16 Richard Biener <rguenther@suse.de>
2724
2725 * gimple-match.h (code_helper): Move class ...
2726 * tree.h (code_helper): ... here.
2727
2728 2022-05-16 Martin Liska <mliska@suse.cz>
2729
2730 * opts-global.cc (write_langs): Add comment.
2731
2732 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
2733
2734 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
2735 instead of a bitwise negation.
2736 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
2737
2738 2022-05-16 Martin Liska <mliska@suse.cz>
2739
2740 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
2741 (decls_mismatched_attributes): Likewise.
2742 * builtins.cc (c_strlen): Likewise.
2743 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
2744 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
2745 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
2746 (aarch64_init_simd_builtin_types): Likewise.
2747 (aarch64_init_builtin_rsqrt): Likewise.
2748 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
2749 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
2750 (arm_init_simd_builtin_types): Likewise.
2751 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
2752 (c_prefix): Likewise.
2753 (main): Likewise.
2754 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
2755 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
2756 * config/gcn/mkoffload.cc (process_obj): Likewise.
2757 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
2758 (fold_builtin_cpu): Likewise.
2759 * config/m32c/m32c.cc (PUSHM_N): Likewise.
2760 * config/nvptx/mkoffload.cc (process): Likewise.
2761 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
2762 * config/s390/s390.cc (NR_C_MODES): Likewise.
2763 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
2764 (create_insn_code_compression_table): Likewise.
2765 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
2766 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
2767 * dwarf2out.cc (ARRAY_SIZE): Likewise.
2768 * genhooks.cc (emit_documentation): Likewise.
2769 (emit_init_macros): Likewise.
2770 * gimple-ssa-sprintf.cc (format_floating): Likewise.
2771 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
2772 * godump.cc (keyword_hash_init): Likewise.
2773 * hash-table.cc (hash_table_higher_prime_index): Likewise.
2774 * input.cc (for_each_line_table_case): Likewise.
2775 * ipa-free-lang-data.cc (free_lang_data): Likewise.
2776 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
2777 * optc-save-gen.awk: Likewise.
2778 * spellcheck.cc (test_metric_conditions): Likewise.
2779 * tree-vect-slp-patterns.cc (sizeof): Likewise.
2780 (ARRAY_SIZE): Likewise.
2781 * tree.cc (build_common_tree_nodes): Likewise.
2782
2783 2022-05-16 Martin Liska <mliska@suse.cz>
2784
2785 * opts-global.cc (write_langs): Allocate at least one byte.
2786
2787 2022-05-16 Richard Biener <rguenther@suse.de>
2788
2789 * match.pd (A cmp B ? A : B -> min/max): New patterns
2790 carried over from fold_cond_expr_with_comparison.
2791
2792 2022-05-16 liuhongt <hongtao.liu@intel.com>
2793
2794 PR target/105587
2795 * config/i386/i386-expand.cc
2796 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
2797 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
2798
2799 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
2800
2801 * config/i386/i386.md: Remove constraints when used with
2802 const_int_operand, const0_operand, const_1_operand, constm1_operand,
2803 const8_operand, const128_operand, const248_operand, const123_operand,
2804 const2367_operand, const1248_operand, const359_operand,
2805 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
2806 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
2807 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
2808 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
2809 const_0_to_255_mul_8_operand, const_1_to_31_operand,
2810 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
2811 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
2812 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
2813 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
2814 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
2815 const_24_to_27_operand and const_28_to_31_operand.
2816 * config/i386/mmx.md: Ditto.
2817 * config/i386/sse.md: Ditto.
2818 * config/i386/subst.md: Ditto.
2819 * config/i386/sync.md: Ditto.
2820
2821 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
2822 Uroš Bizjak <ubizjak@gmail.com>
2823
2824 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
2825 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
2826 by a pshufd and pand.
2827 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
2828 vector equality as a V2DImode vector comparison (see above),
2829 followed by a pshufd and pand.
2830
2831 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
2832
2833 PR tree-optimization/83907
2834 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
2835 for memset with an constant char value.
2836 (handle_store): Improved handling of stores with a first byte
2837 of zero, but not storing_all_zeros_p.
2838
2839 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
2840 Manolis Tsamis <manolis.tsamis@vrull.eu>
2841
2842 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
2843 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
2844 * doc/sourcebuild.texi: add documentation for RISC-V specific
2845 test target keywords
2846
2847 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2848
2849 PR tree-optimization/105597
2850 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
2851 of the lhs and make sure it is not undefined.
2852
2853 2022-05-13 Sebastian Pop <spop@amazon.com>
2854
2855 PR target/105162
2856 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
2857 of str array.
2858 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
2859 memmodel_from_int and handle MEMMODEL_SYNC_*.
2860 (DEF0): Add __aarch64_*_sync functions.
2861
2862 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2863
2864 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
2865 enumerated values.
2866 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
2867 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
2868 new VREL enumerated values.
2869 (*::lhs_op2_relation): Ditto.
2870 (*::op1_op2_relation): Ditto.
2871 (*::fold_range): Use new VREL enumerated values.
2872 (minus_op1_op2_relation_effect): Ditto.
2873 (range_relational_tests): Ditto.
2874 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
2875 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
2876 relation_kind.
2877 (*_op1_op2_relation): Return relation_kind.
2878 (relop_early_resolve): Use VREL_UNDEFINED.
2879 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
2880 * value-relation.cc (VREL_LAST): Change enumerated value.
2881 (vrel_range_assert): Delete.
2882 (print_relation): Remove range assert.
2883 (rr_negate_table): Adjust table to use new enumerated values..
2884 (relation_negate): Remove range assert.
2885 (rr_swap_table): Adjust.
2886 (relation_swap): Remove range assert.
2887 (rr_intersect_table): Adjust.
2888 (relation_intersect): Remove range assert.
2889 (rr_union_table): Adjust.
2890 (relation_union): Remove range assert.
2891 (rr_transitive_table): Adjust.
2892 (relation_transitive): Remove range assert.
2893 (equiv_oracle::query_relation): Use new VREL enumerated values.
2894 (equiv_oracle::register_relation): Ditto.
2895 (relation_oracle::register_stmt): Ditto.
2896 (dom_oracle::set_one_relation): Ditto.
2897 (dom_oracle::register_transitives): Ditto.
2898 (dom_oracle::query_relation): Ditto.
2899 (path_oracle::register_relation): Ditto.
2900 (path_oracle::query_relation): Ditto.
2901 * value-relation.h (enum relation_kind_t): New relation_kind.
2902 (*_op1_op2_relation): Adjust prototypes.
2903
2904 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2905
2906 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
2907 * value-range.cc (irange::legacy_verbose_union_): Add return value.
2908 (irange::irange_single_pair_union): New.
2909 (irange::irange_union): Add return value.
2910 * value-range.h (class irange): Adjust prototypes.
2911
2912 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2913
2914 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
2915 (irange::irange_contains_p): New.
2916 (irange::irange_intersect): Add return value.
2917 * value-range.h (class irange): Adjust prototypes.
2918
2919 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2920
2921 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
2922 had_global value instead.
2923
2924 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2925
2926 PR tree-optimization/104547
2927 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
2928 the op1/op2 relation to the relation call.
2929 * range-op.cc (*::lhs_op1_relation): Add param.
2930 (*::lhs_op2_relation): Ditto.
2931 (operator_minus::lhs_op1_relation): New.
2932 (range_relational_tests): Add relation param.
2933 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
2934
2935 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2936
2937 * gimple-range.cc (gimple_ranger::register_side_effects): First check
2938 if the DEF should be exported as a global.
2939 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
2940 which will export globals.
2941 (execute_ranger_vrp): Remove call to export_global_ranges.
2942
2943 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2944
2945 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
2946
2947 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2948
2949 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
2950 worlist truncated.
2951 (ranger_cache::entry_range): Add rfd_mode parameter.
2952 (ranger_cache::exit_range): Ditto.
2953 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
2954 (ranger_cache::range_of_expr): Adjust call to entry_range.
2955 (ranger_cache::range_on_edge): Split to edge_range and call.
2956 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
2957 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
2958 mutiple predecessors.
2959 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
2960 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
2961 prototypes.
2962
2963 2022-05-13 Alexandre Oliva <oliva@adacore.com>
2964
2965 * gimple-harden-conditionals.cc: Include sbitmap.h.
2966 (pass_harden_conditional_branches::execute): Skip new blocks.
2967 (pass_harden_compares::execute): Likewise.
2968
2969 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
2970
2971 PR target/105463
2972 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
2973 mve_memory_operand.
2974 (*movmisalign<mode>_mve_load): Likewise.
2975 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
2976 form...
2977 (@movmisalign<mode>): ... thus. Use generic predicates and then
2978 rework operands if they are not valid. For MVE rework to a
2979 narrower element size if the alignment is not high enough.
2980
2981 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
2982
2983 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
2984 when there is no write-back. Fix use when strict is true.
2985
2986 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2987
2988 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
2989 definition.
2990
2991 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2992
2993 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
2994 extzvsi_internal): Rename from extv, extv_internal, extzv and
2995 extzv_internal, respectively.
2996
2997 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
2998
2999 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
3000 is the same on the LHS and RHS before rewriting one with the model
3001 of the other.
3002
3003 2022-05-13 Richard Biener <rguenther@suse.de>
3004
3005 * gimple-fold.cc (gimple_build): Adjust for new
3006 main API.
3007 * gimple-fold.h (gimple_build): New main APIs with
3008 iterator, insert direction and iterator update.
3009 (gimple_build): New forwarder template.
3010 (clear_padding_type_may_have_padding_p): Remove.
3011 (clear_type_padding_in_mask): Likewise.
3012 (arith_overflowed_p): Likewise.
3013 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
3014 (clear_type_padding_in_mask): Likewise.
3015 (arith_overflowed_p): Likewise.
3016 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
3017 (gimplify_build2): Likewise.
3018 (gimplify_build1): Likewise.
3019 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
3020 compare stmt.
3021 * gengtype.cc (open_base_files): Re-order includes.
3022 * builtins.cc: Re-order gimple-fold.h include.
3023 * calls.cc: Likewise.
3024 * cgraphbuild.cc: Likewise.
3025 * cgraphunit.cc: Likewise.
3026 * config/rs6000/rs6000-builtin.cc: Likewise.
3027 * config/rs6000/rs6000-call.cc: Likewise.
3028 * config/rs6000/rs6000.cc: Likewise.
3029 * config/s390/s390.cc: Likewise.
3030 * expr.cc: Likewise.
3031 * fold-const.cc: Likewise.
3032 * function-tests.cc: Likewise.
3033 * gimple-match-head.cc: Likewise.
3034 * gimple-range-fold.cc: Likewise.
3035 * gimple-ssa-evrp-analyze.cc: Likewise.
3036 * gimple-ssa-evrp.cc: Likewise.
3037 * gimple-ssa-sprintf.cc: Likewise.
3038 * gimple-ssa-warn-access.cc: Likewise.
3039 * gimplify.cc: Likewise.
3040 * graphite-isl-ast-to-gimple.cc: Likewise.
3041 * ipa-cp.cc: Likewise.
3042 * ipa-devirt.cc: Likewise.
3043 * ipa-prop.cc: Likewise.
3044 * omp-low.cc: Likewise.
3045 * pointer-query.cc: Likewise.
3046 * range-op.cc: Likewise.
3047 * tree-cfg.cc: Likewise.
3048 * tree-if-conv.cc: Likewise.
3049 * tree-inline.cc: Likewise.
3050 * tree-object-size.cc: Likewise.
3051 * tree-ssa-ccp.cc: Likewise.
3052 * tree-ssa-dom.cc: Likewise.
3053 * tree-ssa-forwprop.cc: Likewise.
3054 * tree-ssa-ifcombine.cc: Likewise.
3055 * tree-ssa-loop-ivcanon.cc: Likewise.
3056 * tree-ssa-math-opts.cc: Likewise.
3057 * tree-ssa-pre.cc: Likewise.
3058 * tree-ssa-propagate.cc: Likewise.
3059 * tree-ssa-reassoc.cc: Likewise.
3060 * tree-ssa-sccvn.cc: Likewise.
3061 * tree-ssa-strlen.cc: Likewise.
3062 * tree-ssa.cc: Likewise.
3063 * value-pointer-equiv.cc: Likewise.
3064 * vr-values.cc: Likewise.
3065
3066 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3067
3068 PR rtl-optimization/105455
3069 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
3070 probabilities for newly-conditional edges.
3071
3072 2022-05-13 liuhongt <hongtao.liu@intel.com>
3073
3074 PR tree-optimization/102583
3075 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
3076 contiguous stride in the VEC_PERM_EXPR.
3077
3078 2022-05-12 Richard Biener <rguenther@suse.de>
3079
3080 PR rtl-optimization/105577
3081 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
3082 edges before running fast DCE via df_analyze.
3083
3084 2022-05-12 Richard Biener <rguenther@suse.de>
3085
3086 PR tree-optimization/105562
3087 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
3088 against all CLOBBER defs if there's not an obvious must-alias
3089 and we are not doing redundant store elimination.
3090 (vn_walk_cb_data::redundant_store_removal_p): New field.
3091 (vn_reference_lookup_pieces): Initialize it.
3092 (vn_reference_lookup): Add argument to specify if we are
3093 doing redundant store removal.
3094 (eliminate_dom_walker::eliminate_stmt): Specify we do.
3095 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
3096
3097 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
3098
3099 PR target/104371
3100 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
3101 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
3102 New define_split pattern.
3103
3104 2022-05-12 Jakub Jelinek <jakub@redhat.com>
3105
3106 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
3107 if null_pointer_node.
3108 (gimplify_scan_omp_clauses): Likewise.
3109 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
3110 as omp_all_memory.
3111
3112 2022-05-11 Patrick Palka <ppalka@redhat.com>
3113
3114 * tree.h (TREE_VEC_BEGIN): Define.
3115 (TREE_VEC_END): Correct 'length' member access.
3116 (class tree_vec_range): Define.
3117
3118 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
3119
3120 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
3121
3122 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
3123
3124 * config/rs6000/rs6000.md: Use d instead of <Ff>.
3125
3126 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
3127
3128 * config/rs6000/constraints.md (register_constraint "f"): Use
3129 RS6000_CONSTRAINT_d.
3130 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
3131 RS6000_CONSTRAINT_f.
3132 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
3133 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
3134 RS6000_CONSTRAINT_d.
3135
3136 2022-05-11 Richard Biener <rguenther@suse.de>
3137
3138 * gimple-fold.h (gimple_build): Use variadic template
3139 functions for the gimple_build API forwarders without
3140 location_t argument.
3141
3142 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
3143
3144 PR middle-end/70090
3145 * asan.cc (initialize_sanitizer_builtins): Register
3146 __builtin_dynamic_object_size if necessary.
3147
3148 2022-05-11 Richard Biener <rguenther@suse.de>
3149
3150 PR rtl-optimization/105559
3151 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
3152 for non-debug insns.
3153
3154 2022-05-11 Richard Biener <rguenther@suse.de>
3155
3156 * generic-match-head.cc: Include tree-eh.h.
3157 * match.pd ((cond ...) cmp X): New simplification inspired
3158 by fold_binary_op_with_conditional_arg.
3159 (eq/ne (cmp ...) true/false): Likewise.
3160
3161 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3162
3163 * doc/install.texi: Don't document '--with-hsa-runtime',
3164 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
3165
3166 2022-05-11 Martin Liska <mliska@suse.cz>
3167
3168 PR other/105527
3169 * doc/install.texi: Document the configure option --with-zstd.
3170
3171 2022-05-11 Martin Liska <mliska@suse.cz>
3172
3173 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
3174 compute index in cpu_features2.
3175 (set_cpu_feature): Likewise.
3176 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
3177 loop for cpu_features2 and use NOP_EXPRs.
3178
3179 2022-05-11 Richard Biener <rguenther@suse.de>
3180
3181 PR bootstrap/105551
3182 * opts.cc (finish_options): Also disable var-tracking if
3183 !DWARF2_DEBUGGING_INFO.
3184
3185 2022-05-11 liuhongt <hongtao.liu@intel.com>
3186
3187 PR target/104915
3188 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
3189 pre_reload define_insn_and_split.
3190 (*vec_setv2di_0_zero_extendhi_1): Ditto.
3191 (*vec_set<mode>_0_zero_extendsi): Ditto.
3192 (*vec_setv2di_0_zero_extendsi_1): Ditto.
3193 (ssewvecmode): New mode attr.
3194 (ssewvecmodelower): Ditto.
3195 (ssepackmodelower): Ditto.
3196
3197 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
3198
3199 * config/rs6000/constraints.md (register constraint v): Use
3200 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
3201
3202 2022-05-11 Martin Liska <mliska@suse.cz>
3203
3204 PR target/105355
3205 * config/riscv/riscv.opt: Remove Separate from
3206 -msmall-data-limit=.
3207 * optc-gen.awk: Report error for the described situation.
3208 * gcc.cc: Use Separate syntax.
3209 * opts.cc (gen_command_line_string): Change option name.
3210
3211 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
3212
3213 PR target/105414
3214 * match.pd (minmax): Skip constant folding for fmin/fmax when both
3215 arguments are sNaN or one is sNaN and another is NaN.
3216
3217 2022-05-10 Jakub Jelinek <jakub@redhat.com>
3218
3219 PR tree-optimization/105528
3220 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
3221 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
3222
3223 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
3224
3225 * doc/md.texi (Defining Mode Iterators): Correct example replacement
3226 text.
3227
3228 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
3229
3230 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
3231 constants.
3232 (fmin<mode>3, fmax<mode>3): New insns.
3233
3234 2022-05-10 Richard Biener <rguenther@suse.de>
3235
3236 * tree-if-conv.cc (fold_build_cond_expr): Use
3237 match-and-simplify to simplify the condition.
3238 (ifcvt_follow_ssa_use_edges): Remove.
3239 (predicate_scalar_phi): Use follow_all_ssa_edges.
3240
3241 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3242
3243 PR middle-end/100400
3244 * omp-oacc-kernels-decompose.cc
3245 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
3246 call 'internal_error'.
3247
3248 2022-05-10 Richard Biener <rguenther@suse.de>
3249
3250 PR middle-end/105537
3251 * toplev.cc (process_options): Move flag_var_tracking
3252 handling ...
3253 * opts.cc (finish_options): ... here.
3254
3255 2022-05-10 Martin Liska <mliska@suse.cz>
3256
3257 * basic-block.h (struct basic_block_d): Use void *
3258 instead PTR.
3259 * cfgloop.h: Likewise.
3260 * cgraph.h: Likewise.
3261 * gengtype-state.cc (state_ident_by_name): Likewise.
3262 (record_type): Likewise.
3263 (read_state_already_seen_type): Likewise.
3264 * gengtype.cc (dump_type): Likewise.
3265 (input_file_by_name): Likewise.
3266 (main): Likewise.
3267 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
3268 * ipa-utils.h (struct ipa_dfs_info): Likewise.
3269 * plugin.cc (htab_hash_plugin): Likewise.
3270
3271 2022-05-10 Richard Biener <rguenther@suse.de>
3272
3273 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
3274 API with !GENERATOR_FILE.
3275 * opts.cc (global_options): Poison.
3276 (global_options_set): Likewise.
3277 (finish_options): Refer to options via opts.
3278
3279 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
3280 Roger Sayle <roger@nextmovesoftware.com>
3281
3282 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
3283 alternative when optimizing for size and the immediate operand is
3284 const_0_to_127_operand.
3285 (*andqi_2_maybe_si): Likewise.
3286 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
3287
3288 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
3289
3290 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
3291 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
3292 can't be negative.
3293
3294 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
3295
3296 PR target/105292
3297 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
3298 true only for 8-byte vector modes.
3299
3300 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
3301
3302 PR middle-end/70090
3303 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
3304 (instrument_object_size): Get dynamic object size expression.
3305
3306 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
3307
3308 PR preprocessor/101168
3309 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
3310 Avoid empty identifier.
3311
3312 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
3313
3314 PR target/101891
3315 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
3316 as a generic MMX mode instead of V4HImode.
3317 (zero_all_mm_registers): Use SET to zero instead of MOV for
3318 zeroing scratch registers.
3319 (ix86_zero_call_used_regs): Likewise.
3320
3321 2022-05-09 liuhongt <hongtao.liu@intel.com>
3322
3323 PR target/105354
3324 * config/i386/i386-expand.cc
3325 (expand_vec_perm_pslldq_psrldq_por): New function.
3326 (ix86_expand_vec_perm_const_1): Try
3327 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
3328 4/5-instruction sequence.
3329
3330 2022-05-09 Martin Liška <mliska@suse.cz>
3331
3332 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
3333 * system.h (STATIC_ASSERT): Define as static_assert for C++
3334 and fallback to array index in C.
3335
3336 2022-05-09 Richard Biener <rguenther@suse.de>
3337
3338 PR tree-optimization/105517
3339 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
3340 offset can be represented in the POINTER_PLUS_EXPR IL.
3341 (vn_reference_insert): Likewise.
3342 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
3343
3344 2022-05-09 Richard Biener <rguenther@suse.de>
3345
3346 * match.pd: Remove #if GIMPLE guards around ! using patterns.
3347
3348 2022-05-09 liuhongt <hongtao.liu@intel.com>
3349
3350 PR target/105072
3351 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
3352 New define_insn.
3353 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
3354 define_insn_and_split.
3355
3356 2022-05-09 Alex Coplan <alex.coplan@arm.com>
3357
3358 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
3359 symtab state is PARSING.
3360
3361 2022-05-09 Martin Liska <mliska@suse.cz>
3362
3363 * system.h (LIKELY): Define.
3364 (UNLIKELY): Likewise.
3365 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
3366 macros.
3367 * dse.cc (set_position_unneeded): Likewise.
3368 (set_all_positions_unneeded): Likewise.
3369 (any_positions_needed_p): Likewise.
3370 (all_positions_needed_p): Likewise.
3371 * expmed.cc (flip_storage_order): Likewise.
3372 * genmatch.cc (dt_simplify::gen_1): Likewise.
3373 * ggc-common.cc (gt_pch_save): Likewise.
3374 * print-rtl.cc: Likewise.
3375 * rtl-iter.h (T>::array_type::~array_type): Likewise.
3376 (T>::next): Likewise.
3377 * rtl-ssa/internals.inl: Likewise.
3378 * rtl-ssa/member-fns.inl: Likewise.
3379 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
3380 (rtx_properties::try_to_add_dest): Likewise.
3381 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
3382 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
3383 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
3384 * sort.cc (likely): Likewise.
3385 (mergesort): Likewise.
3386 * wide-int.h (wi::eq_p): Likewise.
3387 (wi::ltu_p): Likewise.
3388 (wi::cmpu): Likewise.
3389 (wi::bit_and): Likewise.
3390 (wi::bit_and_not): Likewise.
3391 (wi::bit_or): Likewise.
3392 (wi::bit_or_not): Likewise.
3393 (wi::bit_xor): Likewise.
3394 (wi::add): Likewise.
3395 (wi::sub): Likewise.
3396
3397 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
3398
3399 * config/riscv/arch-canonicalize: Handle g correctly.
3400
3401 2022-05-07 Marek Polacek <polacek@redhat.com>
3402
3403 PR c++/101833
3404 PR c++/47634
3405 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
3406
3407 2022-05-06 Jason Merrill <jason@redhat.com>
3408
3409 * diagnostic-color.cc: Add fnname and targs color entries.
3410 * doc/invoke.texi: Document them.
3411
3412 2022-05-06 Jason Merrill <jason@redhat.com>
3413
3414 * vec.h (vec::iterate): Fix comment.
3415
3416 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
3417
3418 PR target/102059
3419 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
3420 and -mpower10-fusion options for inlining purposes.
3421
3422 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
3423
3424 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
3425
3426 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3427
3428 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
3429 omp_runtime_apis array.
3430
3431 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
3432
3433 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
3434 (scan_sharing_clauses): Check a restriction on allocate clause.
3435
3436 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3437
3438 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
3439 and ORDERED clause conflict errors. Add check for GRAINSIZE and
3440 NUM_TASKS on TASKLOOP.
3441
3442 2022-05-05 Martin Liska <mliska@suse.cz>
3443
3444 * genautomata.cc (create_composed_state): Remove dead code.
3445 * graphite-poly.cc (print_pdrs): Likewise.
3446 * lto-wrapper.cc (run_gcc): Likewise.
3447 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
3448 Likewise.
3449
3450 2022-05-05 Martin Liska <mliska@suse.cz>
3451
3452 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
3453 PROF_*.
3454 (gimple_gen_time_profiler): Likewise.
3455
3456 2022-05-05 Martin Liska <mliska@suse.cz>
3457
3458 * value-prof.cc (stream_out_histogram_value): Remove sanity
3459 checking.
3460
3461 2022-05-05 Richard Biener <rguenther@suse.de>
3462
3463 PR tree-optimization/104162
3464 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
3465 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
3466 becomes invariant.
3467 (vn_reference_insert): Likewise.
3468
3469 2022-05-05 Richard Biener <rguenther@suse.de>
3470
3471 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
3472 to real_value field.
3473 (tree_real_cst::value): Add real_value field.
3474 * tree.h (TREE_REAL_CST_PTR): Adjust.
3475 * tree.cc (build_real): Remove separate allocation.
3476 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
3477 Likewise.
3478
3479 2022-05-05 Richard Biener <rguenther@suse.de>
3480
3481 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
3482 divisions with undefined overflow unconditionally.
3483 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
3484 overflow to defined.
3485
3486 2022-05-05 Richard Biener <rguenther@suse.de>
3487
3488 PR tree-optimization/105484
3489 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
3490 whether the CFG changed.
3491 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
3492
3493 2022-05-05 Richard Biener <rguenther@suse.de>
3494
3495 PR tree-optimization/104595
3496 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
3497 COND_EXPR do not fail if check_bool_pattern returns false.
3498
3499 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3500
3501 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
3502 item that is in an outer data-sharing clause.
3503
3504 2022-05-04 Richard Biener <rguenther@suse.de>
3505
3506 PR tree-optimization/104658
3507 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
3508 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
3509 type on nodes we promote.
3510 (vectorizable_bb_reduc_epilogue): Deal with externalized
3511 root.
3512 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
3513 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
3514
3515 2022-05-04 Richard Biener <rguenther@suse.de>
3516
3517 PR tree-optimization/103116
3518 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
3519 case we need peeling for gaps even though GROUP_GAP is zero.
3520
3521 2022-05-04 Martin Liska <mliska@suse.cz>
3522
3523 * gengtype-state.cc (read_a_state_token): Remove dead code.
3524 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
3525
3526 2022-05-04 Richard Biener <rguenther@suse.de>
3527
3528 * gimplify.cc (gimplify_init_constructor): First gimplify,
3529 then simplify the result to a VECTOR_CST.
3530
3531 2022-05-04 Jakub Jelinek <jakub@redhat.com>
3532
3533 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
3534 element at the end of insn_conditions.
3535 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
3536 ARRAY_SIZE (insn_conditions).
3537
3538 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
3539
3540 PR target/104662
3541 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
3542 vector of booleans and MVE is not enabled.
3543
3544 2022-05-04 Richard Biener <rguenther@suse.de>
3545
3546 PR debug/105158
3547 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
3548 Move debug stmts to the predecessor if moving to the
3549 destination is not possible.
3550 (remove_forwarder_block): Adjust.
3551 (remove_forwarder_block_with_phi): Likewise.
3552
3553 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
3554
3555 PR tree-optimization/102950
3556 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
3557 determine bounds of bitwise operations on signed types.
3558 (operator_bitwise_and::wi_fold): Call the above function.
3559 (operator_bitwise_or::wi_fold): Likewise.
3560 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
3561 result can't be zero if the operands can't be equal.
3562
3563 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
3564
3565 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
3566 protocol class methods linker-visible.
3567
3568 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
3569
3570 PR target/105079
3571 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
3572 define_insn_and_split pattern.
3573
3574 2022-05-03 Richard Biener <rguenther@suse.de>
3575
3576 PR middle-end/105083
3577 * tree-scalar-evolution.cc (scev_initialize): Verify we
3578 have appropriate loop state.
3579 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
3580 loop init and finalization.
3581
3582 2022-05-03 Richard Biener <rguenther@suse.de>
3583
3584 PR middle-end/105461
3585 * opts.cc (finish_options): Match the condition to
3586 disable flag_var_tracking to that of process_options.
3587
3588 2022-05-03 Richard Biener <rguenther@suse.de>
3589
3590 * opts.cc: #undef OPTIONS_SET_P.
3591 (finish_options): Use opts_set instead of OPTIONS_SET_P.
3592
3593 2022-05-03 Richard Biener <rguenther@suse.de>
3594
3595 PR tree-optimization/105394
3596 * tree-vect-generic.cc (expand_vector_condition): Adjust
3597 comp_width for non-integer mode masks as well.
3598
3599 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3600
3601 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
3602 omp_runtime_apis array.
3603
3604 2022-05-02 Richard Biener <rguenther@suse.de>
3605
3606 * tree-scalar-evolution.cc (expression_expensive_p):
3607 Never consider mismatched calls as cheap.
3608
3609 2022-05-02 Richard Biener <rguenther@suse.de>
3610
3611 PR tree-optimization/104240
3612 * tree-vect-slp.cc (op1_op0_map): New.
3613 (vect_get_operand_map): Handle compares.
3614 (vect_build_slp_tree_1): Support swapped operands for
3615 tcc_comparison.
3616
3617 2022-05-02 Jakub Jelinek <jakub@redhat.com>
3618
3619 PR debug/105415
3620 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
3621 if there is no symtab node for the VAR_DECL.
3622
3623 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3624
3625 * gcov-io.cc (gcov_rewrite): Clear the file error status.
3626
3627 2022-05-02 Richard Biener <rguenther@suse.de>
3628
3629 PR tree-optimization/105437
3630 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
3631 case where last_stmt alters control flow.
3632
3633 2022-05-02 Richard Biener <rguenther@suse.de>
3634
3635 * dojump.cc (do_jump): Use CASE_CONVERT.
3636 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
3637
3638 2022-05-02 Jakub Jelinek <jakub@redhat.com>
3639
3640 * system.h: Include initializer_list.
3641
3642 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
3643
3644 * config/rs6000/constraints.md (Y constraint): Fix comment.
3645
3646 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
3647
3648 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
3649 VR_RANGE before passing a piecewise range to set_range_info_raw.
3650
3651 2022-04-30 Patrick Palka <ppalka@redhat.com>
3652
3653 * gengtype.cc (adjust_field_tree_exp): Remove.
3654 (adjust_field_type): Don't handle the "tree_exp" special attribute.
3655 * tree-core.h (struct tree_exp): Remove "special" and "desc"
3656 attributes. Add "length" attribute.
3657
3658 2022-04-29 Martin Jambor <mjambor@suse.cz>
3659
3660 PR ipa/100413
3661 * cgraph.cc (cgraph_node::remove): Release body of the node this
3662 is clone_of if appropriate.
3663
3664 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
3665
3666 PR target/51954
3667 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
3668
3669 2022-04-29 Richard Biener <rguenther@suse.de>
3670
3671 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
3672 (canonicalize_cond_expr_cond): Move here from gimple.cc,
3673 allow both COND_EXPR and GIMPLE_COND forms.
3674 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
3675 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
3676 * gimple.h (canonicalize_cond_expr_cond): Likewise.
3677 * gimple-loop-versioning.cc (loop_versioning::version_loop):
3678 Use is_gimple_condexpr_for_cond.
3679 * tree-parloops.cc (gen_parallel_loop): Likewise.
3680 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
3681 a proper cond expr after canonicalize_cond_expr_cond.
3682 Use is_gimple_condexpr_for_cond where appropriate.
3683 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
3684 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
3685
3686 2022-04-29 Richard Biener <rguenther@suse.de>
3687
3688 * gimple-iterator.h (gsi_after_labels): Add overload for
3689 gimple_seq.
3690 (gsi_start_1): Rename to gsi_start and take a reference.
3691 (gsi_last_1): Likewise.
3692 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
3693 * omp-low.cc (lower_rec_input_clauses): Likewise.
3694 (lower_omp_scan): Likewise.
3695
3696 2022-04-29 Richard Biener <rguenther@suse.de>
3697
3698 PR tree-optimization/105431
3699 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
3700 (powi_as_mults): Use absu_hwi.
3701 (gimple_expand_builtin_powi): Remove now pointless n != -n
3702 check.
3703
3704 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
3705
3706 * range-op.cc (empty_range_varying): Move to range-op.h.
3707 (range_true): Move to range.h.
3708 (range_false): Same.
3709 (range_true_and_false): Same.
3710 (enum bool_range_state): Move to range-op.h.
3711 (relop_early_resolve): Same.
3712 (operator_equal::op1_op2_relation): Abstract code to...
3713 (equal_op1_op2_relation): ...here.
3714 (operator_not_equal::op1_op2_relation): Abstract code to...
3715 (not_equal_op1_op2_relation): ...here.
3716 (operator_lt::op1_op2_relation): Abstract code to...
3717 (lt_op1_op2_relation): ...here.
3718 (operator_le::op1_op2_relation): Abstract code to...
3719 (le_op1_op2_relation): ...here.
3720 (operator_gt::op1_op2_relation): Abstract code to...
3721 (gt_op1_op2_relation): ...here.
3722 (operator_ge::op1_op2_relation): Abstract code to...
3723 (ge_op1_op2_relation): ...here.
3724 (class range_op_table): Move to range-op.h.
3725 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
3726 (not_equal_op1_op2_relation): Same.
3727 (lt_op1_op2_relation): Same.
3728 (le_op1_op2_relation): Same.
3729 (gt_op1_op2_relation): Same.
3730 (ge_op1_op2_relation): Same.
3731 (enum bool_range_state): Same.
3732 (get_bool_state): Same.
3733 (empty_range_varying): Same.
3734 (relop_early_resolve): Same.
3735 (class range_op_table): Same.
3736 * range.h (range_true): Same.
3737 (range_false): Same.
3738 (range_true_and_false): Same.
3739
3740 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
3741
3742 * gimple-fold.cc (size_must_be_zero_p): Use reference
3743 instead of pointer
3744 * gimple-ssa-evrp-analyze.cc
3745 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
3746 intersect to legacy_verbose_intersect.
3747 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
3748 of pointer.
3749 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
3750 instead of value_range_equiv.
3751 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
3752 instead of pointer.
3753 (find_case_label_range): Same.
3754 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
3755 (value_range_equiv::legacy_verbose_intersect): ...this.
3756 (value_range_equiv::union_): Rename to...
3757 (value_range_equiv::legacy_verbose_union_): ...this.
3758 * value-range-equiv.h (class value_range_equiv): Rename union and
3759 intersect to legacy_verbose_{intersect,union}.
3760 * value-range.cc (irange::union_): Rename to...
3761 (irange::legacy_verbose_union_): ...this.
3762 (irange::intersect): Rename to...
3763 (irange::legacy_verbose_intersect): ...this.
3764 * value-range.h (irange::union_): Rename union_ to
3765 legacy_verbose_union.
3766 (irange::intersect): Rename intersect to legacy_verbose_intersect.
3767 * vr-values.cc (vr_values::update_value_range): Same.
3768 (vr_values::extract_range_for_var_from_comparison_expr): Same.
3769 (vr_values::extract_range_from_cond_expr): Rename union_ to
3770 legacy_verbose_union.
3771 (vr_values::extract_range_from_phi_node): Same.
3772
3773 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
3774
3775 * gimple-ssa-evrp-analyze.cc
3776 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
3777 that take a range.
3778 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
3779 * ipa-prop.cc (ipcp_update_vr): Same.
3780 * tree-inline.cc (remap_ssa_name): Same.
3781 * tree-ssa-copy.cc (fini_copy_prop): Same.
3782 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
3783 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
3784 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
3785 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
3786 * tree-ssa-strlen.cc (set_strlen_range): Same.
3787 (strlen_pass::handle_builtin_string_cmp): Same.
3788 * tree-ssanames.cc (set_range_info): Make static.
3789 (duplicate_ssa_name_range_info): Make static and add a new variant
3790 calling the static.
3791 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
3792 (duplicate_ssa_name_range_info): Remove version taking a
3793 range_info_def and replace with a version taking SSA names.
3794 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
3795 that take a range.
3796 (vect_do_peeling): Same.
3797 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
3798 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
3799
3800 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
3801
3802 * value-range.h (irange::irange): Use set_undefined.
3803
3804 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
3805
3806 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
3807 irange::intersect (wide_int, wide_int).
3808 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
3809 (adjust_imagpart_expr): Same.
3810 * value-range.h (irange::intersect (wide_int, wide_int)): Make
3811 private.
3812
3813 2022-04-29 Richard Biener <rguenther@suse.de>
3814
3815 PR tree-optimization/104322
3816 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
3817
3818 2022-04-29 Richard Biener <rguenther@suse.de>
3819
3820 PR middle-end/105376
3821 * tree.cc (build_real): Special case dconst* arguments
3822 for decimal floating point types.
3823
3824 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3825
3826 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
3827 Environments): New section.
3828
3829 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3830
3831 * doc/gcov-tool.texi: Document merge-stream subcommand.
3832 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
3833 subcommand of gcov-tool.
3834 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
3835 (print_merge_stream_usage_message): New.
3836 (merge_stream_usage): Likewise.
3837 (do_merge_stream): Likewise.
3838 (print_usage): Call print_merge_stream_usage_message().
3839 (main): Call do_merge_stream() to execute merge-stream subcommand.
3840
3841 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3842
3843 * gcov-io.cc (gcov_file_error): New enum.
3844 (gcov_var): Use gcov_file_error enum for the error member.
3845 (gcov_open): Use GCOV_FILE_NO_ERROR.
3846 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
3847 (gcov_write): Likewise.
3848 (gcov_write_unsigned): Likewise.
3849 (gcov_write_string): Likewise.
3850 (gcov_read_bytes): Set error code if EOF is reached.
3851 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
3852
3853 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3854
3855 * gcov-io.cc (GCOV_MODE_STDIN): Define.
3856 (gcov_position): For gcov-tool, return calculated position if file is
3857 stdin.
3858 (gcov_open): For gcov-tool, use stdin if filename is NULL.
3859 (gcov_close): For gcov-tool, do not close stdin.
3860 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
3861 (gcov_sync): For gcov-tool, discard input if file is stdin.
3862
3863 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3864
3865 * doc/invoke.texi (fprofile-info-section): Mention
3866 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
3867 standard language. Fix minor example code issues.
3868 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
3869
3870 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3871
3872 * gcov-io.cc (gcov_seek): Make it static.
3873 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
3874
3875 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3876
3877 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
3878 (gcov_output_files): Open files for reading and writing.
3879
3880 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3881
3882 * gcov-io.cc (gcov_open): Always use the mode parameter.
3883 * gcov-io.h (gcov_open): Declare it unconditionally.
3884
3885 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3886
3887 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
3888 (profile_merge): Allow merging of directories which contain no profile
3889 files.
3890
3891 2022-04-28 David Malcolm <dmalcolm@redhat.com>
3892
3893 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
3894 fpath.txt output.
3895
3896 2022-04-28 Jakub Jelinek <jakub@redhat.com>
3897
3898 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
3899 temporary only if out overlaps compare_op, not when it overlaps
3900 op0 or op1.
3901
3902 2022-04-28 Jakub Jelinek <jakub@redhat.com>
3903
3904 PR lto/105399
3905 * cgraph.cc (cgraph_node::verify_node): Don't verify
3906 semantic_interposition flag against
3907 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
3908
3909 2022-04-28 Jakub Jelinek <jakub@redhat.com>
3910
3911 PR target/105331
3912 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
3913 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
3914 of it.
3915
3916 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
3917
3918 * doc/install.texi (Configuration): Remove misleading text
3919 around LE PowerPC Linux multilibs.
3920
3921 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3922
3923 PR d/103528
3924 * doc/install.texi (Tools/packages necessary for building GCC)
3925 (GDC): Document libphobos requirement.
3926 (Host/target specific installation notes for GCC, *-*-solaris2*):
3927 Document libphobos and GDC specifics.
3928
3929 2022-04-28 Richard Biener <rguenther@suse.de>
3930
3931 PR tree-optimization/105219
3932 * tree-vect-loop.cc (vect_transform_loop): Disable
3933 special code narrowing the vectorized epilogue max
3934 iterations when peeling for alignment or gaps was in effect.
3935
3936 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
3937
3938 * config/loongarch/loongarch.cc
3939 (loongarch_flatten_aggregate_field): Ignore empty fields for
3940 RECORD_TYPE.
3941
3942 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
3943
3944 * config/loongarch/loongarch.md: Add fdiv define_expand template,
3945 then generate floating-point division and floating-point reciprocal
3946 instructions.
3947
3948 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
3949
3950 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
3951 to PLV instruction templates.
3952
3953 2022-04-27 Richard Biener <rguenther@suse.de>
3954
3955 PR middle-end/104492
3956 * gimple-ssa-warn-access.cc
3957 (pass_waccess::warn_invalid_pointer): Exclude equality compare
3958 diagnostics for all kind of invalidations.
3959 (pass_waccess::check_dangling_uses): Fix post-dominator query.
3960 (pass_waccess::check_pointer_uses): Likewise.
3961
3962 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
3963
3964 PR target/102024
3965 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
3966 prototype.
3967 * config/s390/s390.cc (s390_single_field_struct_p): New function.
3968 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
3969 (s390_function_arg_float): Likewise.
3970
3971 2022-04-27 Jakub Jelinek <jakub@redhat.com>
3972
3973 PR sanitizer/105396
3974 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
3975 where offset is bigger than off but smaller than m_prev_offset + 32
3976 bits by pushing one or more 0 bytes. Sink the
3977 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
3978 all cases to the end of the function.
3979
3980 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
3981
3982 PR target/105271
3983 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
3984 stanza.
3985
3986 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
3987
3988 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
3989 data-share memory exhausted" error more verbose.
3990
3991 2022-04-26 Martin Liska <mliska@suse.cz>
3992
3993 PR lto/105364
3994 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
3995 (run_gcc): Parse OPT_fdiagnostics_urls_.
3996 (main): Initialize global_dc.
3997
3998 2022-04-26 Jakub Jelinek <jakub@redhat.com>
3999
4000 PR rtl-optimization/105314
4001 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
4002 operand is equal to if_info->x, instead use the non-zero operand
4003 as one of the operands of AND with if_info->x as target.
4004
4005 2022-04-26 Jakub Jelinek <jakub@redhat.com>
4006
4007 PR tree-optimization/105374
4008 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
4009 !fold_convertible_p rather than assuming fold_convert must succeed.
4010
4011 2022-04-26 Jakub Jelinek <jakub@redhat.com>
4012
4013 PR target/105367
4014 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
4015 el_mode == DFmode ? double_type_node : float_type_node instead of
4016 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
4017
4018 2022-04-25 David Malcolm <dmalcolm@redhat.com>
4019
4020 PR analyzer/104308
4021 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
4022 the location of new_stmt in all places that don't already set it,
4023 whether explicitly, or via a call to gsi_replace.
4024
4025 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
4026
4027 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
4028
4029 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
4030
4031 PR tree-optimization/105276
4032 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
4033 existing global range with calculated value.
4034
4035 2022-04-25 Richard Biener <rguenther@suse.de>
4036
4037 PR tree-optimization/105368
4038 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
4039
4040 2022-04-25 Richard Biener <rguenther@suse.de>
4041
4042 PR tree-optimization/100810
4043 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
4044 (find_ssa_undef): New function.
4045 (add_candidate_1): Avoid adding derived candidates with
4046 undefined SSA names and mark the original ones.
4047 (determine_group_iv_cost_generic): Reject rewriting
4048 uses with a different IV when that involves undefined SSA names.
4049
4050 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
4051
4052 PR target/89125
4053 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
4054 bsd_libc_has_function.
4055 * targhooks.cc (bsd_libc_has_function): New function.
4056 Expand the supported math functions to inclue C99 libm.
4057 * targhooks.h (bsd_libc_has_function): New Prototype.
4058
4059 2022-04-25 Richard Biener <rguenther@suse.de>
4060
4061 PR rtl-optimization/105231
4062 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
4063 with landing pad > 0 is from i3. Put any REG_EH_REGION note
4064 on i3 or drop it if the insn can not trap.
4065 (try_combine): Ensure that we can merge REG_EH_REGION notes
4066 with non-call exceptions. Ensure we are not splitting a
4067 trapping part of an insn with non-call exceptions when there
4068 is any REG_EH_REGION note to preserve.
4069
4070 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
4071
4072 PR target/105339
4073 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
4074 Add parentheses for parameters and djust format.
4075 (_mm512_mask_scalef_round_pd): Ditto.
4076 (_mm512_maskz_scalef_round_pd): Ditto.
4077 (_mm512_scalef_round_ps): Ditto.
4078 (_mm512_mask_scalef_round_ps): Ditto.
4079 (_mm512_maskz_scalef_round_ps): Ditto.
4080 (_mm_scalef_round_sd): Use _mm_undefined_pd.
4081 (_mm_scalef_round_ss): Use _mm_undefined_ps.
4082 (_mm_mask_scalef_round_sd): New macro.
4083 (_mm_mask_scalef_round_ss): Ditto.
4084 (_mm_maskz_scalef_round_sd): Ditto.
4085 (_mm_maskz_scalef_round_ss): Ditto.
4086
4087 2022-04-23 Jakub Jelinek <jakub@redhat.com>
4088
4089 PR target/105338
4090 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
4091 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
4092 cases.
4093
4094 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
4095
4096 PR target/105334
4097 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
4098 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
4099 (pack<mode>_hard for FMOVE128): ... this...
4100 (pack<mode>_soft for FMOVE128): ... and this.
4101
4102 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
4103
4104 * doc/extend.texi: Correct "This" to "These".
4105
4106 2022-04-22 Jakub Jelinek <jakub@redhat.com>
4107
4108 PR rtl-optimization/105333
4109 * rtlanal.cc (replace_rtx): Use simplify_subreg or
4110 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
4111 CONST_INT_P.
4112
4113 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
4114
4115 PR target/103197
4116 PR target/102146
4117 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
4118 the "Z" alternatives in {l,st}{f,xs}iwzx.
4119 (zero_extendhi<mode>2 for EXTHI): Ditto.
4120 (zero_extendsi<mode>2 for EXTSI): Ditto.
4121 (*movsi_internal1): Ditto.
4122 (*mov<mode>_internal1 for QHI): Ditto.
4123 (movsd_hardfloat): Ditto.
4124
4125 2022-04-21 Martin Liska <mliska@suse.cz>
4126
4127 * configure.ac: Enable compressed debug sections for mold
4128 linker.
4129 * configure: Regenerate.
4130
4131 2022-04-21 Jakub Jelinek <jakub@redhat.com>
4132
4133 PR debug/105203
4134 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
4135 on DEBUG_INSNs.
4136
4137 2022-04-20 Richard Biener <rguenther@suse.de>
4138
4139 PR tree-optimization/104912
4140 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
4141 the cost model check to a separate BB to make sure it is
4142 checked first and not combined with other version checks.
4143
4144 2022-04-20 Richard Biener <rguenther@suse.de>
4145
4146 PR tree-optimization/105312
4147 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
4148 VCOND and VCONDU for EQ and NE.
4149
4150 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
4151
4152 PR ipa/103818
4153 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
4154 poly_offset_int to avoid overflow.
4155 (modref_access_node::update2): likewise.
4156
4157 2022-04-20 Jakub Jelinek <jakub@redhat.com>
4158
4159 PR ipa/105306
4160 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
4161 to opt_for_fn (decl, flag_semantic_interposition).
4162 * cgraphclones.cc (cgraph_node::create_clone): Copy over
4163 semantic_interposition flag.
4164
4165 2022-04-19 Sergei Trofimovich <siarheit@google.com>
4166
4167 PR gcov-profile/105282
4168 * value-prof.cc (stream_out_histogram_value): Allow negative counts
4169 on HIST_TYPE_INDIR_CALL.
4170
4171 2022-04-19 Jakub Jelinek <jakub@redhat.com>
4172
4173 PR target/105257
4174 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
4175 use gen_raw_REG instead of gen_rtx_REG and copy over also
4176 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
4177
4178 2022-04-19 Richard Biener <rguenther@suse.de>
4179
4180 PR tree-optimization/104010
4181 PR tree-optimization/103941
4182 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
4183 we run into stmts in patterns continue walking those
4184 for uses outside of the vectorized region instead of
4185 marking the lane live.
4186
4187 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
4188
4189 * doc/install.texi <CRIS>: Remove references to removed websites and
4190 adjust for cris-*-elf being the only remaining toolchain.
4191
4192 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
4193
4194 * doc/invoke.texi <CRIS>: Remove references to options for removed
4195 subtarget cris-axis-linux-gnu and tweak wording accordingly.
4196
4197 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
4198
4199 * doc/install.texi (Specific): Adjust mingw-w64 download link.
4200
4201 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
4202
4203 * config/i386/smmintrin.h: Correct target pragma from sse4.1
4204 and sse4.2 to crc32 for crc32 intrinsics.
4205
4206 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
4207
4208 PR debug/105089
4209 * ctfc.cc (ctf_dvd_ignore_insert): New function.
4210 (ctf_dvd_ignore_lookup): Likewise.
4211 (ctf_add_variable): Keep track of non-defining decl DIEs.
4212 (new_ctf_container): Initialize the new hash-table.
4213 (ctfc_delete_container): Empty hash-table.
4214 * ctfc.h (struct ctf_container): Add new hash-table.
4215 (ctf_dvd_ignore_lookup): New declaration.
4216 (ctf_add_variable): Add additional argument.
4217 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
4218 record for non-defining decl for which a defining decl exists
4219 in the same TU.
4220 (ctf_preprocess): Defer updating the number of global objts
4221 until here.
4222 (output_ctf_header): Use ctfc_vars_list_count as some CTF
4223 variables may not make it to the final output.
4224 (output_ctf_vars): Likewise.
4225 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
4226 if this is known to be a non-defining decl DIE.
4227
4228 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
4229
4230 * ctfc.h (struct ctf_container): Introduce a new member.
4231 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
4232 variable.
4233
4234 2022-04-14 Jakub Jelinek <jakub@redhat.com>
4235
4236 PR target/105247
4237 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
4238 or rotates by VOIDmode constant integer shift count use word_mode
4239 for the operand if int_mode is narrower than word.
4240
4241 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
4242
4243 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
4244 (s390_get_unit_mask): Likewise.
4245 (s390_is_fpd): Likewise.
4246 (s390_is_fxd): Likewise.
4247 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
4248 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
4249 Add z16.
4250 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
4251 Likewise.
4252 * config/s390/3931.md: New file.
4253
4254 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
4255
4256 PR tree-optimization/105254
4257 * config/aarch64/aarch64.cc
4258 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
4259 loop_vec_info as argument. Restrict the unroll factor to values
4260 that divide the VF.
4261 (aarch64_vector_costs::finish_cost): Update call accordingly.
4262
4263 2022-04-13 Richard Biener <rguenther@suse.de>
4264
4265 PR tree-optimization/105263
4266 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
4267 negates in multiplication chains with DFP.
4268
4269 2022-04-13 Jakub Jelinek <jakub@redhat.com>
4270
4271 PR middle-end/105253
4272 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
4273 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
4274 comparisons or tree_nop_conversion_p checks.
4275
4276 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
4277
4278 PR target/103069
4279 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
4280 Add missing set to target_val at pause label.
4281
4282 2022-04-13 Jakub Jelinek <jakub@redhat.com>
4283
4284 PR target/105234
4285 * attribs.cc (decl_attributes): Don't set
4286 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
4287 NULL.
4288
4289 2022-04-13 Richard Biener <rguenther@suse.de>
4290
4291 PR tree-optimization/105250
4292 * fold-const.cc (fold_convertible_p): Revert
4293 r12-7979-geaaf77dd85c333, instead check for size equality
4294 of the vector types involved.
4295
4296 2022-04-13 Richard Biener <rguenther@suse.de>
4297
4298 Revert:
4299 2022-04-13 Richard Biener <rguenther@suse.de>
4300
4301 PR tree-optimization/104912
4302 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
4303 the cost model check to a separate BB to make sure it is
4304 checked first and not combined with other version checks.
4305
4306 2022-04-13 Richard Biener <rguenther@suse.de>
4307
4308 PR tree-optimization/104912
4309 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
4310 the cost model check to a separate BB to make sure it is
4311 checked first and not combined with other version checks.
4312
4313 2022-04-13 Jakub Jelinek <jakub@redhat.com>
4314
4315 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
4316
4317 2022-04-12 Antoni Boucher <bouanto@zoho.com>
4318
4319 PR jit/104072
4320 * reginfo.cc: New functions (clear_global_regs_cache,
4321 reginfo_cc_finalize) to avoid an issue where compiling the same
4322 code multiple times gives an error about assigning the same
4323 register to 2 global variables.
4324 * rtl.h: New function (reginfo_cc_finalize).
4325 * toplev.cc: Call it.
4326
4327 2022-04-12 Antoni Boucher <bouanto@zoho.com>
4328
4329 PR jit/104071
4330 * toplev.cc: Call the new function tree_cc_finalize in
4331 toplev::finalize.
4332 * tree.cc: New functions (clear_nonstandard_integer_type_cache
4333 and tree_cc_finalize) to clear the cache of non-standard integer
4334 types to avoid having issues with some optimizations of
4335 bitcast where the SSA_NAME will have a size of a cached
4336 integer type that should have been invalidated, causing a
4337 comparison of integer constant to fail.
4338 * tree.h: New function (tree_cc_finalize).
4339
4340 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4341
4342 PR target/97348
4343 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
4344 * config/nvptx/nvptx.opt (misa): Adjust comment.
4345
4346 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4347
4348 Revert:
4349 2022-03-03 Tom de Vries <tdevries@suse.de>
4350
4351 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
4352
4353 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4354
4355 Revert:
4356 2022-03-31 Tom de Vries <tdevries@suse.de>
4357
4358 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4359
4360 2022-04-12 Richard Biener <rguenther@suse.de>
4361
4362 PR ipa/104303
4363 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
4364 include local escaped memory as obviously necessary stores.
4365
4366 2022-04-12 Richard Biener <rguenther@suse.de>
4367
4368 PR tree-optimization/105235
4369 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
4370 return whether the CFG changed.
4371 (execute_cse_sincos_1): Adjust.
4372
4373 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
4374
4375 PR target/104144
4376 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
4377 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
4378 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
4379 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
4380 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
4381 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
4382 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
4383
4384 2022-04-12 Richard Biener <rguenther@suse.de>
4385
4386 PR tree-optimization/105232
4387 * tree.cc (component_ref_size): Bail out for too large
4388 or non-constant sizes.
4389
4390 2022-04-12 Richard Biener <rguenther@suse.de>
4391
4392 PR tree-optimization/105226
4393 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
4394 we can split the exit of an outer loop we choose to version.
4395
4396 2022-04-12 Jakub Jelinek <jakub@redhat.com>
4397
4398 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
4399 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
4400 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
4401 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
4402 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
4403 Formatting fix.
4404 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
4405
4406 2022-04-12 Jakub Jelinek <jakub@redhat.com>
4407
4408 PR target/105214
4409 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
4410 do_pending_stack_adjust.
4411
4412 2022-04-12 Jakub Jelinek <jakub@redhat.com>
4413
4414 PR rtl-optimization/105211
4415 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
4416 fails for TREE_TYPE (arg), retry it with
4417 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
4418 fails, emit call normally.
4419
4420 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
4421
4422 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
4423 * config.gcc: Add z16 as march/mtune switch.
4424 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
4425 Recognize z16 with -march=native.
4426 * config/s390/s390-opts.h (enum processor_type): Rename
4427 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
4428 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
4429 (PROCESSOR_3931_Z16): ... throughout the file.
4430 (s390_processor processor_table): Add z16 as cpu string.
4431 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
4432 PF_Z16.
4433 (TARGET_CPU_ARCH14): Rename to ...
4434 (TARGET_CPU_Z16): ... this.
4435 (TARGET_CPU_ARCH14_P): Rename to ...
4436 (TARGET_CPU_Z16_P): ... this.
4437 (TARGET_ARCH14): Rename to ...
4438 (TARGET_Z16): ... this.
4439 (TARGET_ARCH14_P): Rename to ...
4440 (TARGET_Z16_P): ... this.
4441 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
4442 check TARGET_Z16 instead of TARGET_ARCH14.
4443 * config/s390/s390.opt: Add z16 to processor_type.
4444 * doc/invoke.texi: Document z16 and arch14.
4445
4446 2022-04-12 chenglulu <chenglulu@loongson.cn>
4447
4448 * config/loongarch/loongarch.cc: Fix bug for
4449 tmpdir-g++.dg-struct-layout-1/t033.
4450
4451 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
4452
4453 PR target/104894
4454 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
4455 to longcall functions.
4456
4457 2022-04-11 Jason Merrill <jason@redhat.com>
4458
4459 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
4460
4461 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
4462
4463 PR target/105213
4464 PR target/103623
4465 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
4466
4467 2022-04-11 Jakub Jelinek <jakub@redhat.com>
4468
4469 PR tree-optimization/105218
4470 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
4471 more than one predecessor or phi's bb more than 2 predecessors,
4472 reset phi result uses instead of adding a debug temp.
4473
4474 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
4475
4476 PR target/104853
4477 * config.gcc: Pass -misa-spec to arch-canonicalize and
4478 multilib-generator.
4479 * config/riscv/arch-canonicalize: Adding -misa-spec option.
4480 (SUPPORTED_ISA_SPEC): New.
4481 (arch_canonicalize): New argument `isa_spec`.
4482 Handle multiple ISA spec versions.
4483 * config/riscv/multilib-generator: Adding -misa-spec option.
4484
4485 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
4486
4487 * config/riscv/arch-canonicalize: Add TODO item.
4488 (IMPLIED_EXT): Sync.
4489 (arch_canonicalize): Checking until no change.
4490
4491 2022-04-11 Tamar Christina <tamar.christina@arm.com>
4492
4493 PR target/105197
4494 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
4495 not masked.
4496
4497 2022-04-11 Jason Merrill <jason@redhat.com>
4498
4499 PR c++/100370
4500 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
4501 deref == -1.
4502
4503 2022-04-11 Jakub Jelinek <jakub@redhat.com>
4504
4505 PR tree-optimization/104639
4506 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
4507 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
4508 into x != cst3.
4509
4510 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
4511
4512 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
4513 sign bit of the source ends up in CC.
4514
4515 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
4516
4517 PR ipa/103376
4518 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
4519 flag.
4520
4521 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
4522
4523 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
4524 nondeterministic and side_effects flags.
4525
4526 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
4527
4528 PR target/105157
4529 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
4530 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
4531 (TARGET_CPU_MASK): Likewise.
4532 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
4533 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
4534 (aarch64_get_arch): Likewise.
4535 (aarch64_override_options): Use TARGET_CPU_NBITS.
4536
4537 2022-04-08 Richard Biener <rguenther@suse.de>
4538
4539 PR tree-optimization/105198
4540 * tree-predcom.cc (find_looparound_phi): Check whether
4541 the found memory location of the entry value is clobbered
4542 inbetween the value we want to use and loop entry.
4543
4544 2022-04-08 Jakub Jelinek <jakub@redhat.com>
4545
4546 PR tree-optimization/105189
4547 * fold-const.cc (make_range_step): Fix up handling of
4548 (unsigned) x +[low, -] ranges for signed x if low fits into
4549 typeof (x).
4550
4551 2022-04-08 Richard Biener <rguenther@suse.de>
4552
4553 PR tree-optimization/105175
4554 * tree-vect-stmts.cc (vectorizable_operation): Suppress
4555 -Wvector-operation-performance if using emulated vectors.
4556 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
4557 -Wvector-operation-performance when suppressed.
4558 (expand_vector_parallel): Likewise.
4559 (expand_vector_comparison): Likewise.
4560 (expand_vector_condition): Likewise.
4561 (lower_vec_perm): Likewise.
4562 (expand_vector_conversion): Likewise.
4563
4564 2022-04-07 Tamar Christina <tamar.christina@arm.com>
4565
4566 PR target/104409
4567 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
4568 (aarch64_general_init_builtins): Move LS64 code.
4569 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
4570 arm_acle.h
4571 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
4572 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
4573
4574 2022-04-07 Richard Biener <rguenther@suse.de>
4575 Jan Hubicka <hubicka@ucw.cz>
4576
4577 PR ipa/104303
4578 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
4579 ref_may_alias_global_p, ref_may_alias_global_p,
4580 stmt_may_clobber_global_p, pt_solution_includes_global): Add
4581 bool parameters indicating whether escaped locals should be
4582 considered global.
4583 * tree-ssa-structalias.cc (pt_solution_includes_global):
4584 When the new escaped_nonlocal_p flag is true also consider
4585 pt->vars_contains_escaped.
4586 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
4587 Pass down new escaped_nonlocal_p flag.
4588 (ref_may_alias_global_p): Likewise.
4589 (stmt_may_clobber_global_p): Likewise.
4590 (ref_may_alias_global_p_1): Likewise. For decls also
4591 query the escaped solution if true.
4592 (ref_may_access_global_memory_p): Remove.
4593 (modref_may_conflict): Use ref_may_alias_global_p with
4594 escaped locals considered global.
4595 (ref_maybe_used_by_stmt_p): Adjust.
4596 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
4597 Likewise.
4598 * tree-ssa-dse.cc (dse_classify_store): Likewise.
4599 * trans-mem.cc (thread_private_new_memory): Likewise, but
4600 consider escaped locals global.
4601 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
4602
4603 2022-04-07 Richard Biener <rguenther@suse.de>
4604
4605 PR tree-optimization/105185
4606 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
4607 modref query again.
4608
4609 2022-04-07 Tamar Christina <tamar.christina@arm.com>
4610
4611 PR target/104049
4612 * config/aarch64/aarch64-simd.md
4613 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
4614 (reduc_plus_scal_<mode>): ... This.
4615 (reduc_plus_scal_v4sf): Moved.
4616 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
4617 (reduc_plus_scal_v2si): ... This.
4618
4619 2022-04-07 Jakub Jelinek <jakub@redhat.com>
4620
4621 PR tree-optimization/102586
4622 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
4623 langhook.
4624 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
4625 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
4626 * gimple-fold.cc (clear_padding_type): Use ftype instead of
4627 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
4628 name try the lang_hooks.types.classtype_as_base langhook and
4629 if it returns non-NULL, use that instead of ftype for recursive call.
4630
4631 2022-04-07 Jakub Jelinek <jakub@redhat.com>
4632
4633 PR tree-optimization/105150
4634 * tree.cc (tree_builtin_call_types_compatible_p): New function.
4635 (get_call_combined_fn): Use it.
4636
4637 2022-04-07 Richard Biener <rguenther@suse.de>
4638
4639 PR middle-end/105165
4640 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
4641 _Complex outputs.
4642
4643 2022-04-07 liuhongt <hongtao.liu@intel.com>
4644
4645 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
4646 Removed.
4647 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
4648 for mask_applied.
4649 (<code><mode>3<mask_name>): Ditto.
4650 (*<code><mode>3<mask_name>): Ditto.
4651 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
4652 real instruction.
4653 (VFB_512): Ditto.
4654 (VFB): Ditto.
4655
4656 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4657
4658 PR rtl-optimization/104985
4659 * combine.cc (struct undo): Add where.regno member.
4660 (do_SUBST_MODE): Rename to ...
4661 (subst_mode): ... this. Change first argument from rtx * into int,
4662 operate on regno_reg_rtx[regno] and save regno into where.regno.
4663 (SUBST_MODE): Remove.
4664 (try_combine): Use subst_mode instead of SUBST_MODE, change first
4665 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
4666 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
4667 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
4668 instead of *undo->where.r.
4669 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
4670 argument from regno_reg_rtx[whatever] to whatever.
4671
4672 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4673
4674 PR target/105069
4675 * config/sh/sh.opt (mdiv=): Add Save.
4676
4677 2022-04-06 Martin Liska <mliska@suse.cz>
4678
4679 PR driver/105096
4680 * common.opt: Document properly based on what it does.
4681 * gcc.cc (display_help): Unify with what we have in common.opt.
4682 * opts.cc (common_handle_option): Do not print undocumented
4683 options.
4684
4685 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
4686
4687 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
4688 cxx17_empty_base_field_p fields and set an indicator.
4689 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
4690 (mips_function_value_1): Inform psABI change about C++17 empty
4691 bases.
4692
4693 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4694
4695 PR tree-optimization/105150
4696 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
4697 builtin_decl_explicit here...
4698 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
4699 here.
4700
4701 2022-04-06 Richard Biener <rguenther@suse.de>
4702
4703 PR tree-optimization/105173
4704 * tree-ssa-reassoc.cc (find_insert_point): Get extra
4705 insert_before output argument and compute it.
4706 (insert_stmt_before_use): Adjust.
4707 (rewrite_expr_tree): Likewise.
4708
4709 2022-04-06 Richard Biener <rguenther@suse.de>
4710
4711 PR ipa/105166
4712 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
4713 out for non-pointer arguments.
4714
4715 2022-04-06 Richard Biener <rguenther@suse.de>
4716
4717 PR tree-optimization/105163
4718 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
4719 negated abnormals.
4720
4721 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4722
4723 PR tree-optimization/105150
4724 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
4725 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
4726 preferrably on builtin_decl_explicit decl rather than fndecl.
4727 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
4728 gimple_builtin_call_types_compatible_p here.
4729
4730 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
4731
4732 PR tree-optimization/103761
4733 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
4734 the ncopies parameter with an slp_node parameter. Calculate the
4735 number of vectors based on it and vectype. Rename lambda to
4736 group_memory_nvectors.
4737 (vectorizable_store, vectorizable_load): Update calls accordingly.
4738
4739 2022-04-06 Martin Liska <mliska@suse.cz>
4740
4741 * doc/invoke.texi: Document it.
4742
4743 2022-04-06 Richard Biener <rguenther@suse.de>
4744
4745 PR tree-optimization/105148
4746 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
4747 2 and 3 of ARRAY_REFs.
4748
4749 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
4750
4751 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
4752 (*andnottf3): Replace with...
4753 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
4754
4755 2022-04-06 Richard Biener <rguenther@suse.de>
4756
4757 PR tree-optimization/105142
4758 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
4759 basic-block parameter.
4760 (maybe_fold_or_comparisons): Likewise.
4761 * gimple-fold.cc (follow_outer_ssa_edges): New.
4762 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
4763 when an outer condition basic-block is specified.
4764 (and_comparisons_1, and_var_with_comparison,
4765 and_var_with_comparison_1, or_comparisons_1,
4766 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
4767 down the outer condition basic-block.
4768 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
4769 basic-block of the outer condition.
4770
4771 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
4772
4773 PR target/105002
4774 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
4775 comparison codes UNLT/UNLE/UNGT/UNGE.
4776
4777 2022-04-05 David Malcolm <dmalcolm@redhat.com>
4778
4779 * doc/extend.texi (Common Function Attributes): Document that
4780 'access' does not imply 'nonnull'.
4781
4782 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
4783
4784 PR target/105139
4785 * config/i386/mmx.md (*movv2qi_internal):
4786 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
4787
4788 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
4789
4790 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
4791 define_expand and turn operands 0 and 1 from REGs to MEMs.
4792 (*aarch64_cpymemdi): New pattern.
4793 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
4794 from a REG to a MEM.
4795 (*aarch64_setmemdi): New pattern.
4796 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
4797 copy_to_mode_reg on all three registers. Replace the original
4798 MEM addresses rather than creating wild reads and writes.
4799 (aarch64_expand_setmem_mops): Likewise for the size and for the
4800 destination memory and address.
4801
4802 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
4803
4804 PR target/103147
4805 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
4806 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
4807 from aarch64_simd_switcher.
4808 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
4809 New variable.
4810 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
4811 (register_tuple_type): Add more asserts. Expect the alignment
4812 of the structure to be subject to flag_pack_struct and
4813 maximum_field_alignment. Set aarch64_simd_tuple_modes.
4814 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
4815 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
4816 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
4817 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
4818 while calling aarch64_init_simd_builtins.
4819 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
4820 (sve_switcher::~sve_switcher): Remove code now performed by
4821 aarch64_simd_switcher.
4822
4823 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
4824
4825 PR target/104897
4826 * config/aarch64/aarch64-sve-builtins.cc
4827 (function_resolver::infer_vector_or_tuple_type): Use error_n
4828 for "%d vectors" messages.
4829
4830 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
4831
4832 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
4833 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
4834 current clause.
4835
4836 2022-04-05 Richard Biener <rguenther@suse.de>
4837
4838 PR c/105151
4839 * passes.def (pass_walloca): Move early instance into
4840 pass_build_ssa_passes to make SSA form available.
4841
4842 2022-04-05 liuhongt <hongtao.liu@intel.com>
4843
4844 PR target/101908
4845 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
4846 function
4847 (ix86_reorg): Call ix86_split_stlf_stall_load.
4848 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
4849 param.
4850
4851 2022-04-05 Alexandre Oliva <oliva@adacore.com>
4852
4853 * targhooks.cc (default_zero_call_used_regs): Attempt to group
4854 regs that the target refuses to use in their natural modes.
4855 (zcur_select_mode_rtx): New.
4856 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
4857 (hard_regno_max_nregs): Define.
4858 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
4859
4860 2022-04-04 Alex Coplan <alex.coplan@arm.com>
4861
4862 * doc/match-and-simplify.texi: Fix typos.
4863
4864 2022-04-04 Jakub Jelinek <jakub@redhat.com>
4865
4866 PR target/105144
4867 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
4868 only if configured with --enable-maintainer-mode, otherwise compare
4869 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
4870 if they differ, emit a message and fail.
4871
4872 2022-04-04 Jakub Jelinek <jakub@redhat.com>
4873
4874 PR target/105144
4875 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
4876 * config/aarch64/aarch64-tune.md: Regenerated.
4877
4878 2022-04-04 Richard Biener <rguenther@suse.de>
4879
4880 PR tree-optimization/105132
4881 * tree-vect-stmts.cc (vectorizable_operation): Check that
4882 the input vectors have the same number of elements.
4883
4884 2022-04-04 Richard Biener <rguenther@suse.de>
4885
4886 PR middle-end/105140
4887 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
4888
4889 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
4890
4891 PR target/104987
4892 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
4893 (delay slot descripts): Use different delay slot description when
4894 the insn as the "bbi" attribute.
4895 (bbi, bbin patterns): Set the bbi attribute to yes.
4896
4897 2022-04-03 Jakub Jelinek <jakub@redhat.com>
4898
4899 PR target/105123
4900 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
4901 using word as target for expand_simple_binop when doing ASHIFT and
4902 IOR.
4903
4904 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
4905
4906 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
4907 NULL before dereferencing it.
4908
4909 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
4910
4911 * config/i386/i386.cc (zero_all_st_registers): Return the value of
4912 num_of_st.
4913 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
4914 the return value of zero_all_st_registers.
4915 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
4916 * function.cc (gen_call_used_regs_seq): Add an assertion.
4917 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
4918
4919 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
4920
4921 PR target/102024
4922 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
4923 fields, and inform if it causes a psABI change.
4924
4925 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
4926
4927 PR target/102024
4928 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
4929 zero-width bit-fields and set up an indicator.
4930 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
4931 (mips_function_value_1): Diagnose when the presense of a C++
4932 zero-width bit-field changes function returning in GCC 12.
4933
4934 2022-04-01 Jakub Jelinek <jakub@redhat.com>
4935
4936 PR tree-optimization/104645
4937 * tree-ssa-phiopt.cc (value_replacement): If assign has
4938 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
4939 statement with constant evaluation.
4940
4941 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
4942
4943 * config/mips/mips.cc (mips_expand_prologue):
4944 IPL is 8bit for MCU ASE.
4945
4946 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
4947
4948 PR target/104004
4949 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
4950 (MTFSB0): Likewise.
4951 (MTFSB1): Likewise.
4952 (SET_FPSCR_RN): Likewise.
4953 (SET_FPSCR_DRN): Mark nosoft and no32bit.
4954
4955 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
4956
4957 * doc/options.texi (Option file format): Clarifications around
4958 option definition records' help texts.
4959
4960 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
4961
4962 * optc-gen.awk <END>: Fix "Multiple different help strings" error
4963 diagnostic.
4964
4965 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
4966
4967 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
4968 determine_suggested_unroll_factor and m_has_avg.
4969 (determine_suggested_unroll_factor): New function.
4970 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
4971 to set m_nosve_pattern.
4972 (aarch64_vector_costs::finish_costs): Use
4973 determine_suggested_unroll_factor.
4974 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
4975 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
4976
4977 2022-03-31 Martin Jambor <mjambor@suse.cz>
4978
4979 PR ipa/103083
4980 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
4981 (ipa_get_jf_ancestor_keep_null): New function.
4982 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
4983 ancestor function.
4984 (compute_complex_assign_jump_func): Pass false to keep_null
4985 parameter of ipa_set_ancestor_jf.
4986 (compute_complex_ancestor_jump_func): Pass true to keep_null
4987 parameter of ipa_set_ancestor_jf.
4988 (update_jump_functions_after_inlining): Carry over keep_null from the
4989 original ancestor jump-function or merge them.
4990 (ipa_write_jump_function): Stream keep_null flag.
4991 (ipa_read_jump_function): Likewise.
4992 (ipa_print_node_jump_functions_for_edge): Print the new flag.
4993 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
4994 member function known_nonzero_p.
4995 (ipcp_bits_lattice::known_nonzero_p): New.
4996 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
4997 observe it.
4998 (ipcp_bits_lattice::meet_with): Likewise.
4999 (propagate_bits_across_jump_function): Simplify. Pass true in
5000 drop_all_ones when it is necessary.
5001 (propagate_aggs_across_jump_function): Take care of keep_null
5002 flag.
5003 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
5004 jump functions.
5005
5006 2022-03-31 Martin Jambor <mjambor@suse.cz>
5007
5008 PR ipa/102513
5009 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
5010 which do not fit the known value_range.
5011
5012 2022-03-31 Martin Jambor <mjambor@suse.cz>
5013
5014 PR ipa/103171
5015 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
5016 always when an ADDR_EXPR constant is known to reach a load because
5017 of inlining, not just when removing an ADDR reference.
5018
5019 2022-03-31 Richard Biener <rguenther@suse.de>
5020
5021 PR tree-optimization/105109
5022 * tree-ssa.cc (execute_update_addresses_taken): Suppress
5023 diagnostics on the load of the other complex component.
5024
5025 2022-03-31 Tom de Vries <tdevries@suse.de>
5026
5027 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5028
5029 2022-03-31 Richard Biener <rguenther@suse.de>
5030
5031 PR rtl-optimization/105091
5032 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
5033 bases.
5034
5035 2022-03-31 Richard Biener <rguenther@suse.de>
5036
5037 Revert:
5038 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
5039
5040 PR target/102125
5041 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
5042 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
5043
5044 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
5045
5046 * gcov-io.cc (gcov_read_string): Reword documentation comment.
5047
5048 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
5049
5050 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
5051 stanza.
5052 (NEG_V4SF): Likewise.
5053 (NEG_V4SI): Likewise.
5054 (NEG_V8HI): Likewise.
5055 (NEG_V2DF): Move to [vsx] stanza.
5056 (NEG_V2DI): Likewise.
5057
5058 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
5059
5060 PR middle-end/105032
5061 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
5062
5063 2022-03-30 Tom de Vries <tdevries@suse.de>
5064 Tobias Burnus <tobias@codesourcery.com>
5065
5066 * doc/invoke.texi (march): Document __PTX_SM__.
5067 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
5068 __PTX_ISA_VERSION_MINOR__.
5069
5070 2022-03-30 Jakub Jelinek <jakub@redhat.com>
5071
5072 PR sanitizer/105093
5073 * ubsan.cc (instrument_object_size): If t is equal to inner and
5074 is a decl other than global var, punt. When emitting call to
5075 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
5076
5077 2022-03-30 Jakub Jelinek <jakub@redhat.com>
5078
5079 PR tree-optimization/105094
5080 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
5081 bitsize <= 0 rather than just == 0.
5082
5083 2022-03-30 Tom de Vries <tdevries@suse.de>
5084
5085 * doc/invoke.texi (misa, mptx): Update.
5086 (march, march-map): Add.
5087
5088 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
5089
5090 * opt-functions.awk (n_args): New function.
5091 (lang_enabled_by): Merge function into...
5092 * optc-gen.awk <END>: ... sole user here.
5093 Improve diagnostics.
5094
5095 2022-03-29 Marek Polacek <polacek@redhat.com>
5096 Jakub Jelinek <jakub@redhat.com>
5097
5098 PR middle-end/103597
5099 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
5100 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
5101 (gimplify_cond_expr): Set UNUSED_LABEL_P.
5102 * tree.h (UNUSED_LABEL_P): New.
5103
5104 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
5105
5106 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
5107 be any VSX register.
5108
5109 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
5110
5111 PR target/102024
5112 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
5113 zero-sized bit-fields. Detect cases where a warning may be needed.
5114 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
5115 zero-sized bit-field has caused parameter passing to change.
5116
5117 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
5118
5119 PR target/102024
5120 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
5121 bit-fields. Detect cases where a warning may be needed.
5122 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
5123 a zero-sized bit-field has caused parameter passing to change.
5124
5125 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
5126
5127 PR target/96882
5128 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
5129 ARM_PCS_AAPCS_LOCAL.
5130
5131 2022-03-29 Tom de Vries <tdevries@suse.de>
5132
5133 PR target/104857
5134 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
5135 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
5136 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
5137 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
5138
5139 2022-03-29 Tom de Vries <tdevries@suse.de>
5140
5141 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
5142 is ignored.
5143
5144 2022-03-29 Tom de Vries <tdevries@suse.de>
5145
5146 PR target/104714
5147 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
5148
5149 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
5150
5151 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
5152 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
5153 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
5154 (TARGET_USE_GATHER_4PARTS): New macro.
5155 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
5156 (X86_TUNE_USE_GATHER_4PARTS): New tune
5157
5158 2022-03-29 Tom de Vries <tdevries@suse.de>
5159
5160 * config/nvptx/nvptx.opt (march): Add alias of misa.
5161
5162 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5163 Lulu Cheng <chenglulu@loongson.cn>
5164
5165 * doc/install.texi: Add LoongArch options section.
5166 * doc/invoke.texi: Add LoongArch options section.
5167 * doc/md.texi: Add LoongArch options section.
5168
5169 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5170 Lulu Cheng <chenglulu@loongson.cn>
5171
5172 * config/loongarch/loongarch-c.cc
5173
5174 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5175 Lulu Cheng <chenglulu@loongson.cn>
5176
5177 * config/loongarch/larchintrin.h: New file.
5178 * config/loongarch/loongarch-builtins.cc: New file.
5179
5180 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5181 Lulu Cheng <chenglulu@loongson.cn>
5182
5183 * config/host-linux.cc: Add LoongArch support.
5184 * config/loongarch/loongarch-protos.h: New file.
5185 * config/loongarch/loongarch-tune.h: Likewise.
5186 * config/loongarch/loongarch.cc: Likewise.
5187 * config/loongarch/loongarch.h: Likewise.
5188
5189 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5190 Lulu Cheng <chenglulu@loongson.cn>
5191
5192 * config/loongarch/constraints.md: New file.
5193 * config/loongarch/generic.md: New file.
5194 * config/loongarch/la464.md: New file.
5195 * config/loongarch/loongarch-ftypes.def: New file.
5196 * config/loongarch/loongarch-modes.def: New file.
5197 * config/loongarch/loongarch.md: New file.
5198 * config/loongarch/predicates.md: New file.
5199 * config/loongarch/sync.md: New file.
5200
5201 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5202 Lulu Cheng <chenglulu@loongson.cn>
5203
5204 * configure: Regenerate file.
5205
5206 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5207 Lulu Cheng <chenglulu@loongson.cn>
5208
5209 * common/config/loongarch/loongarch-common.cc: New file.
5210 * config/loongarch/genopts/genstr.sh: New file.
5211 * config/loongarch/genopts/loongarch-strings: New file.
5212 * config/loongarch/genopts/loongarch.opt.in: New file.
5213 * config/loongarch/loongarch-str.h: New file.
5214 * config/loongarch/gnu-user.h: New file.
5215 * config/loongarch/linux.h: New file.
5216 * config/loongarch/loongarch-cpu.cc: New file.
5217 * config/loongarch/loongarch-cpu.h: New file.
5218 * config/loongarch/loongarch-def.c: New file.
5219 * config/loongarch/loongarch-def.h: New file.
5220 * config/loongarch/loongarch-driver.cc: New file.
5221 * config/loongarch/loongarch-driver.h: New file.
5222 * config/loongarch/loongarch-opts.cc: New file.
5223 * config/loongarch/loongarch-opts.h: New file.
5224 * config/loongarch/loongarch.opt: New file.
5225 * config/loongarch/t-linux: New file.
5226 * config/loongarch/t-loongarch: New file.
5227 * config.gcc: Add LoongArch support.
5228 * configure.ac: Add LoongArch support.
5229
5230 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
5231
5232 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
5233 typo.
5234
5235 2022-03-29 Richard Biener <rguenther@suse.de>
5236
5237 PR tree-optimization/105080
5238 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
5239 loops and SCEV.
5240
5241 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
5242
5243 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
5244 (output_ctf_vars): Likewise.
5245
5246 2022-03-28 Jason Merrill <jason@redhat.com>
5247
5248 PR c++/59426
5249 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
5250
5251 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
5252
5253 PR target/105068
5254 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
5255 "Yw" in clobber.
5256
5257 2022-03-28 Tom de Vries <tdevries@suse.de>
5258
5259 PR target/104818
5260 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
5261 * config/nvptx/nvptx-gen.opt: Regenerate.
5262 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
5263 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
5264 gen-opt.sh.
5265
5266 2022-03-28 David Malcolm <dmalcolm@redhat.com>
5267
5268 PR analyzer/104308
5269 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
5270 to loads then stores, set the location of the new load stmt.
5271
5272 2022-03-28 Richard Biener <rguenther@suse.de>
5273
5274 PR tree-optimization/105070
5275 * tree-switch-conversion.h
5276 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
5277 argument.
5278 * tree-switch-conversion.cc
5279 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
5280 cond with location.
5281 (bit_test_cluster::emit): Annotate all generated expressions
5282 with location.
5283
5284 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
5285
5286 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
5287
5288 2022-03-28 liuhongt <hongtao.liu@intel.com>
5289
5290 PR target/105066
5291 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
5292 alternative 4 from sse4_noavx to noavx.
5293
5294 2022-03-28 Jakub Jelinek <jakub@redhat.com>
5295
5296 PR tree-optimization/105056
5297 * tree-predcom.cc (component::component): Initialize also comp_step.
5298
5299 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
5300
5301 PR target/105068
5302 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
5303 "Yw".
5304
5305 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
5306
5307 PR middle-end/104885
5308 * calls.cc (mark_stack_region_used): Check that the region
5309 is within the allocated size of stack_usage_map.
5310
5311 2022-03-26 Jakub Jelinek <jakub@redhat.com>
5312
5313 PR rtl-optimization/103775
5314 * recog.cc (check_invalid_inc_dec): New function.
5315 (insn_invalid_p): Return 1 if REG_INC operand overlaps
5316 any stored REGs.
5317
5318 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
5319
5320 PR target/105058
5321 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
5322 (aes<aesklvariant>u8): Likewise.
5323
5324 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
5325
5326 PR target/105052
5327 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
5328 Replace "Yv" with "x".
5329 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
5330 (ssse3_psign<mode>3): Likewise.
5331
5332 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
5333
5334 * reload.cc (find_reloads): Align comment with code where
5335 considering the intersection of register classes then tweaking the
5336 regclass for the current alternative or rejecting it.
5337
5338 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
5339
5340 PR target/104882
5341 Revert
5342 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
5343
5344 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
5345 (mve_vec_unpack<US>_hi_<mode>): Delete.
5346 (@mve_vec_pack_trunc_lo_<mode>): Delete.
5347 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
5348 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
5349 from vec-common.md.
5350 (vec_unpack<US>_lo_<mode>): Likewise.
5351 (vec_pack_trunc_<mode>): Rename from
5352 neon_quad_vec_pack_trunc_<mode>.
5353 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
5354 (vec_unpack<US>_lo_<mode>): Delete.
5355 (vec_pack_trunc_<mode>): Delete.
5356
5357 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
5358
5359 PR middle-end/104971
5360 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
5361 regs to clear remove_p flag.
5362
5363 2022-03-25 Richard Biener <rguenther@suse.de>
5364
5365 PR tree-optimization/105053
5366 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
5367 the correct live-out stmt for a reduction chain.
5368
5369 2022-03-25 Richard Biener <rguenther@suse.de>
5370
5371 PR middle-end/105049
5372 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
5373 CONSTRUCTOR first elements.
5374
5375 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
5376
5377 PR analyzer/103533
5378 * doc/invoke.texi (Static Analyzer Options): Move
5379 @ignore block after @gccoptlist's '}' for 'make pdf'.
5380
5381 2022-03-25 David Malcolm <dmalcolm@redhat.com>
5382
5383 PR analyzer/104954
5384 * doc/invoke.texi (Static Analyzer Options): Add
5385 -fdump-analyzer-untracked.
5386
5387 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
5388
5389 PR analyzer/103533
5390 * doc/invoke.texi: Document that enabling taint analyzer
5391 checker disables some warnings from `-fanalyzer`.
5392
5393 2022-03-24 Alexandre Oliva <oliva@adacore.com>
5394
5395 PR debug/104564
5396 * gimple-harden-conditionals.cc (detach_value): Keep temps
5397 anonymous.
5398
5399 2022-03-24 Alexandre Oliva <oliva@adacore.com>
5400
5401 PR middle-end/104975
5402 * gimple-harden-conditionals.cc
5403 (pass_harden_compares::execute): Force split in case of
5404 multiple edges.
5405
5406 2022-03-24 Jakub Jelinek <jakub@redhat.com>
5407
5408 PR c++/105035
5409 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
5410 field0 or field1 is not a FIELD_DECL, return false.
5411
5412 2022-03-24 Richard Biener <rguenther@suse.de>
5413
5414 * tree-predcom.cc (chain::chain): Add CTOR.
5415 (component::component): Likewise.
5416 (pcom_worker::release_chain): Use delete.
5417 (release_components): Likewise.
5418 (pcom_worker::filter_suitable_components): Likewise.
5419 (pcom_worker::split_data_refs_to_components): Use new.
5420 (make_invariant_chain): Likewise.
5421 (make_rooted_chain): Likewise.
5422 (pcom_worker::combine_chains): Likewise.
5423 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5424 Make sure to release previously constructed scalar_results.
5425 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
5426 for vec_offsets.
5427 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
5428 Release m_flag_set_edges.
5429
5430 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
5431
5432 PR tree-optimization/104970
5433 * tree-object-size.cc (parm_object_size): Restrict size
5434 computation scenarios to explicit access attributes.
5435
5436 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
5437
5438 PR target/104967
5439 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
5440 function types.
5441
5442 2022-03-23 Richard Biener <rguenther@suse.de>
5443
5444 PR target/102125
5445 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
5446 use of movmisalign when either the source or destination
5447 decl is properly aligned.
5448
5449 2022-03-23 Richard Biener <rguenther@suse.de>
5450
5451 PR rtl-optimization/105028
5452 * ira-color.cc (form_threads_from_copies): Remove unnecessary
5453 copying of the sorted_copies tail.
5454
5455 2022-03-23 Martin Liska <mliska@suse.cz>
5456
5457 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5458 Use %qs in format.
5459 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5460 Reword the error message.
5461
5462 2022-03-23 liuhongt <hongtao.liu@intel.com>
5463
5464 PR target/104976
5465 * config/i386/sse.md (ssePSmodelower): New.
5466 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
5467 lowpart_subreg to avoid NULL_RTX.
5468 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
5469 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
5470 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
5471 <avx512>_<complexopname>_<mode>_mask<round_name>,
5472 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
5473 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
5474 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5475 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
5476 float<floatunssuffix><mode>v4hf2,
5477 float<floatunssuffix>v2div2hf2,
5478 fix<fixunssuffix>_truncv4hf<mode>2,
5479 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
5480 extendv2hfv2df2,
5481 trunc<mode>v4hf2,truncv2dfv2hf2,
5482 *avx512bw_permvar_truncv16siv16hi_1,
5483 *avx512bw_permvar_truncv16siv16hi_1_hf,
5484 *avx512f_permvar_truncv8siv8hi_1,
5485 *avx512f_permvar_truncv8siv8hi_1_hf,
5486 *avx512f_vpermvar_truncv8div8si_1,
5487 *avx512f_permvar_truncv32hiv32qi_1,
5488 *avx512f_permvar_truncv16hiv16qi_1,
5489 *avx512f_permvar_truncv4div4si_1,
5490 *avx512f_pshufb_truncv8hiv8qi_1,
5491 *avx512f_pshufb_truncv4siv4hi_1,
5492 *avx512f_pshufd_truncv2div2si_1,
5493 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
5494 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
5495
5496 2022-03-22 Tom de Vries <tdevries@suse.de>
5497
5498 PR target/104925
5499 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
5500 Use % as register prefix.
5501
5502 2022-03-22 Tom de Vries <tdevries@suse.de>
5503
5504 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
5505 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
5506 mexperimental.
5507
5508 2022-03-22 Tom de Vries <tdevries@suse.de>
5509
5510 * config/nvptx/nvptx.opt (mexperimental): New option.
5511
5512 2022-03-22 Tom de Vries <tdevries@suse.de>
5513
5514 PR target/104957
5515 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
5516 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
5517 for alias.
5518 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
5519 (nvptx_asm_output_def_from_decls): New function.
5520 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
5521 gcc_unreachable ().
5522 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
5523 nvptx_asm_output_def_from_decls.
5524 * config/nvptx/nvptx.opt (malias): New opt.
5525
5526 2022-03-22 Tom de Vries <tdevries@suse.de>
5527
5528 PR target/104916
5529 PR target/104783
5530 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
5531 sync (or uniform warp check for mptx < 6.0).
5532
5533 2022-03-22 Richard Biener <rguenther@suse.de>
5534
5535 PR tree-optimization/105012
5536 * tree-if-conv.cc (ifcvt_local_dce): Only call
5537 dse_classify_store when we have a VDEF.
5538
5539 2022-03-22 Martin Liska <mliska@suse.cz>
5540
5541 PR target/104902
5542 * config/nvptx/nvptx.cc (handle_ptx_version_option):
5543 Fix option wrapping in an error message.
5544
5545 2022-03-22 Martin Liska <mliska@suse.cz>
5546
5547 PR target/104903
5548 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5549 Wrap const keyword.
5550
5551 2022-03-22 Martin Liska <mliska@suse.cz>
5552
5553 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
5554 name.
5555
5556 2022-03-22 Martin Liska <mliska@suse.cz>
5557
5558 PR target/104898
5559 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5560 Use %qs instead of (%qs).
5561
5562 2022-03-22 Martin Liska <mliska@suse.cz>
5563
5564 PR target/104898
5565 * config/i386/i386-options.cc (ix86_option_override_internal):
5566 Use '%qs' instead of '(%qs)'.
5567
5568 2022-03-22 Martin Liska <mliska@suse.cz>
5569
5570 PR target/104898
5571 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
5572 Use 'qs' and remove usage '(%qs)'.
5573 (aarch64_handle_attr_cpu): Likewise.
5574 (aarch64_handle_attr_tune): Likewise.
5575 (aarch64_handle_attr_isa_flags): Likewise.
5576
5577 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5578 Andre Vieira <andre.simoesdiasvieira@arm.com>
5579
5580 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
5581 struct.
5582 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
5583 cost.
5584 (neoverse512tvb_tunings): Likewise.
5585
5586 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5587 Andre Vieira <andre.simoesdiasvieira@arm.com>
5588
5589 * config/aarch64/aarch64.cc (demeter_addrcost_table,
5590 demeter_regmove_cost, demeter_advsimd_vector_cost,
5591 demeter_sve_vector_cost, demeter_scalar_issue_info,
5592 demeter_advsimd_issue_info, demeter_sve_issue_info,
5593 demeter_vec_issue_info, demeter_vector_cost,
5594 demeter_tunings): New tuning structs.
5595 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
5596 tuning.
5597 * config/aarch64/aarch64-cores.def: Add entry for demeter.
5598 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
5599
5600 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5601 Andre Vieira <andre.simoesdiasvieira@arm.com>
5602
5603 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
5604 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
5605 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
5606 tunings to use cpu_memmov_cost struct.
5607
5608 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5609 Andre Vieira <andre.simoesdiasvieira@arm.com>
5610
5611 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
5612 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
5613 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
5614 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
5615 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
5616 (neoversen2_tunings): Use new structs and update tuning flags.
5617 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
5618 tuning.
5619
5620 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
5621
5622 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
5623 bit.
5624
5625 2022-03-22 liuhongt <hongtao.liu@intel.com>
5626
5627 PR target/104982
5628 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
5629 following splitter to reversed condition.
5630
5631 2022-03-22 Jakub Jelinek <jakub@redhat.com>
5632
5633 PR rtl-optimization/104989
5634 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
5635 sorry for passing too large argument, instead set sibcall_failure
5636 for pass == 0, or a new normal_failure flag otherwise. If
5637 normal_failure is set, don't assert all stack has been deallocated
5638 at the end and throw away the whole insn sequence.
5639
5640 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
5641
5642 * print-tree.cc: Change array length
5643
5644 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
5645
5646 PR target/104978
5647 * config/i386/sse.md
5648 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
5649 Use avx512f_movsf_mask instead of vmovaps or vblend, and
5650 force_reg before lowpart_subreg.
5651 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
5652
5653 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
5654
5655 PR target/105000
5656 * common/config/i386/i386-common.cc
5657 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
5658 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
5659
5660 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
5661
5662 PR target/104998
5663 * common/config/i386/cpuinfo.h (get_available_features): Pass
5664 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
5665 bit_AESKLE is set.
5666
5667 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
5668
5669 PR middle-end/104869
5670 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
5671 (clobber_group::next_clobber): Likewise.
5672 (def_lookup::prev_def): Rename to...
5673 (def_lookup::last_def_of_prev_group): ...this.
5674 (def_lookup::next_def): Rename to...
5675 (def_lookup::first_def_of_next_group): ...this.
5676 (def_lookup::matching_or_prev_def): Rename to...
5677 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
5678 (def_lookup::matching_or_next_def): Rename to...
5679 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
5680 (def_lookup::prev_def): New function, taking the lookup insn as
5681 argument.
5682 (def_lookup::next_def): Likewise.
5683 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
5684 (def_lookup::last_def_of_prev_group): ...this.
5685 (def_lookup::next_def): Rename to...
5686 (def_lookup::first_def_of_next_group): ...this.
5687 (def_lookup::matching_or_prev_def): Rename to...
5688 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
5689 (def_lookup::matching_or_next_def): Rename to...
5690 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
5691 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
5692 above renaming.
5693 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
5694 (clobber_group::next_clobber): Likewise.
5695 (def_lookup::prev_def): Likewise.
5696 (def_lookup::next_def): Likewise.
5697 (function_info::make_use_available): Pass the lookup insn to
5698 def_lookup::prev_def and def_lookup::next_def.
5699
5700 2022-03-21 Martin Liska <mliska@suse.cz>
5701
5702 * doc/invoke.texi: Document min-pagesize parameter.
5703
5704 2022-03-21 Richard Biener <rguenther@suse.de>
5705
5706 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
5707 we are estimating niter of loop.
5708
5709 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
5710
5711 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
5712 Update flag name and mask name.
5713 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
5714 misc macro for vector extensions.
5715 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
5716 (MASK_VECTOR_ELEN_32): ... this.
5717 (MASK_VECTOR_EEW_64): Rename to ...
5718 (MASK_VECTOR_ELEN_64): ... this.
5719 (MASK_VECTOR_EEW_FP_32): Rename to ...
5720 (MASK_VECTOR_ELEN_FP_32): ... this.
5721 (MASK_VECTOR_EEW_FP_64): Rename to ...
5722 (MASK_VECTOR_ELEN_FP_64): ... this.
5723 (TARGET_VECTOR_ELEN_32): New.
5724 (TARGET_VECTOR_ELEN_64): Ditto.
5725 (TARGET_VECTOR_ELEN_FP_32): Ditto.
5726 (TARGET_VECTOR_ELEN_FP_64): Ditto.
5727 (TARGET_MIN_VLEN): Ditto.
5728 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
5729 (riscv_vector_elen_flags): ... this.
5730
5731 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
5732
5733 PR target/104977
5734 * config/i386/sse.md
5735 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
5736 Correct round operand for intel dialect.
5737
5738 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
5739
5740 * diagnostic.cc (diagnostic_cc_tests): Rename to...
5741 (c_diagnostic_cc_tests): ...this.
5742 * opt-problem.cc (opt_problem_cc_tests): Rename to...
5743 (c_opt_problem_cc_tests): ...this.
5744 * selftest-run-tests.cc (selftest::run_tests): No longer run
5745 opt_problem_cc_tests or diagnostic_cc_tests.
5746 * selftest.h (diagnostic_cc_tests): Remove declaration.
5747 (opt_problem_cc_tests): Likewise.
5748
5749 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
5750
5751 PR jit/63854
5752 * hash-traits.h (struct typed_const_free_remove): New.
5753 (struct free_string_hash): New.
5754 * pass_manager.h: Use free_string_hash.
5755 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
5756 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
5757
5758 2022-03-19 Jakub Jelinek <jakub@redhat.com>
5759
5760 PR middle-end/104971
5761 * config/i386/i386-expand.cc
5762 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
5763 don't push/pop anything and just return const0_rtx.
5764
5765 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
5766
5767 PR rtl-optimization/104961
5768 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
5769
5770 2022-03-18 Jason Merrill <jason@redhat.com>
5771
5772 * tree.h (IDENTIFIER_LENGTH): Add comment.
5773
5774 2022-03-18 Jakub Jelinek <jakub@redhat.com>
5775
5776 PR middle-end/99578
5777 PR middle-end/100680
5778 PR tree-optimization/100834
5779 * params.opt (--param=min-pagesize=): New parameter.
5780 * pointer-query.cc
5781 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
5782 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
5783 of zero for pointer constants equal or larger than min-pagesize.
5784
5785 2022-03-18 Tom de Vries <tdevries@suse.de>
5786
5787 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
5788 Set gfor location only when dealing with a OMP_TASKLOOP.
5789
5790 2022-03-18 Tom de Vries <tdevries@suse.de>
5791
5792 * gimplify.cc (gimplify_omp_for): Set taskloop location.
5793
5794 2022-03-18 Tom de Vries <tdevries@suse.de>
5795
5796 PR target/104952
5797 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
5798 is executed unconditionally.
5799
5800 2022-03-18 liuhongt <hongtao.liu@intel.com>
5801
5802 PR target/104974
5803 * config/i386/i386.md (*movhi_internal): Set attr type from HI
5804 to HF for alternative 12 under TARGET_AVX512FP16.
5805
5806 2022-03-18 Cui,Lili <lili.cui@intel.com>
5807
5808 PR target/104963
5809 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
5810 * doc/invoke.texi: Update documents for Intel sapphirerapids.
5811
5812 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
5813
5814 PR target/86722
5815 PR tree-optimization/90356
5816 * config/i386/i386.md (*movtf_internal): Don't guard
5817 standard_sse_constant_p clause by optimize_function_for_size_p.
5818 (*movdf_internal): Likewise.
5819 (*movsf_internal): Likewise.
5820
5821 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
5822
5823 PR tree-optimization/102943
5824 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
5825 dominators and apply intermediary outgoing edge ranges.
5826
5827 2022-03-17 Richard Biener <rguenther@suse.de>
5828
5829 PR tree-optimization/104960
5830 * passes.def: Add pass parameter to pass_sink_code, mark
5831 last one to unsplit edges.
5832 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
5833 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
5834 when we need to unsplit edges.
5835
5836 2022-03-17 Jakub Jelinek <jakub@redhat.com>
5837
5838 PR middle-end/103984
5839 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
5840 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
5841 and asan unpoisioning, then append the temporary sequence and
5842 finally the TARGET_EXPR_CLEANUP clobbers.
5843
5844 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5845
5846 * config/i386/sse.md: Delete corrupt character/typo.
5847
5848 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5849
5850 PR target/94680
5851 * config/i386/sse.md (sse2_movq128): New define_expand to
5852 preserve previous named instruction.
5853 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
5854 generalized to VI8F_128 (both V2DI and V2DF).
5855
5856 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
5857
5858 PR tree-optimization/104941
5859 * tree-object-size.cc (size_for_offset): Make useless conversion
5860 check lighter and assign result of fold_convert to OFFSET.
5861
5862 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
5863
5864 PR target/104890
5865 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
5866 pushing target("general-regs-only").
5867
5868 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
5869
5870 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
5871 Add version info for zk, zks and zkn.
5872
5873 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
5874
5875 * common/config/riscv/riscv-common.cc
5876 (riscv_combine_info): New.
5877 (riscv_subset_list::handle_combine_ext): Combine back into zk to
5878 maintain the canonical order in isa strings.
5879 (riscv_subset_list::parse): Ditto.
5880 * config/riscv/riscv-subset.h (handle_combine_ext): New.
5881
5882 2022-03-16 Richard Biener <rguenther@suse.de>
5883
5884 PR tree-optimization/102008
5885 * passes.def: Move the added code sinking pass before the
5886 preceeding phiopt pass.
5887
5888 2022-03-16 Patrick Palka <ppalka@redhat.com>
5889
5890 PR c++/96780
5891 * doc/invoke.texi (C++ Dialect Options): Document
5892 -ffold-simple-inlines.
5893
5894 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
5895
5896 PR tree-optimization/104942
5897 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
5898
5899 2022-03-16 Jakub Jelinek <jakub@redhat.com>
5900
5901 PR target/104910
5902 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
5903 imm rtx.
5904
5905 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5906 Richard Biener <rguenther@suse.de>
5907
5908 * gimple-match-head.cc (single_use): Implement inline using a
5909 single loop.
5910
5911 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5912
5913 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
5914 instead of HONOR_NANS.
5915 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
5916 this can't trap/signal.
5917
5918 2022-03-16 liuhongt <hongtao.liu@intel.com>
5919
5920 PR target/104946
5921 * config/i386/i386-builtin.def (BDESC): Add
5922 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
5923 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
5924 __builtin_ia32_blendvpd w/o sse4.2
5925
5926 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
5927
5928 PR target/104923
5929 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
5930 acceptable MEM addresses.
5931
5932 2022-03-15 Jakub Jelinek <jakub@redhat.com>
5933
5934 PR target/91229
5935 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
5936 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
5937 to warning calls.
5938
5939 2022-03-15 Jakub Jelinek <jakub@redhat.com>
5940
5941 PR target/104890
5942 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
5943 instead of general-regs-only.
5944
5945 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
5946 Marc Glisse <marc.glisse@inria.fr>
5947 Richard Biener <rguenther@suse.de>
5948
5949 PR tree-optimization/101895
5950 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
5951 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
5952
5953 2022-03-15 Jakub Jelinek <jakub@redhat.com>
5954
5955 PR rtl-optimization/104814
5956 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
5957 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
5958
5959 2022-03-15 Martin Sebor <msebor@redhat.com>
5960
5961 PR middle-end/104436
5962 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
5963 Check for warning suppression. Avoid by-value arguments transformed
5964 into by-transparent-reference.
5965
5966 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
5967 Uroš Bizjak <ubizjak@gmail.com>
5968
5969 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
5970 transformation when *zero_extend<mode>si2 is not available.
5971
5972 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
5973
5974 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
5975 * config/mips/mips.cc (mips_option_override): Make
5976 -fsanitize=address imply -fasynchronous-unwind-tables. This is
5977 needed by libasan for stack backtrace on MIPS.
5978 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
5979
5980 2022-03-14 Jakub Jelinek <jakub@redhat.com>
5981
5982 PR debug/104778
5983 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
5984 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
5985 call simplified the first operand into VOIDmode constant.
5986
5987 2022-03-14 Jakub Jelinek <jakub@redhat.com>
5988
5989 PR tree-optimization/102586
5990 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
5991 argument type should be pointer to trivially-copyable type unless it
5992 is address of a variable or parameter.
5993
5994 2022-03-14 Jakub Jelinek <jakub@redhat.com>
5995
5996 PR target/99754
5997 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
5998 first rather than last element of the vector, use __m32_u to do
5999 a really unaligned load, use just 0 instead of (int)0.
6000 (_mm_loadu_si16): Put loaded value into first rather than last
6001 element of the vector, use __m16_u to do a really unaligned load,
6002 use just 0 instead of (short)0.
6003
6004 2022-03-14 Jakub Jelinek <jakub@redhat.com>
6005
6006 PR other/104899
6007 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
6008 in diagnostic message - cannott -> cannot. Use %< and %> around
6009 names of attribute. Avoid too long line.
6010 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
6011 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
6012
6013 2022-03-14 liuhongt <hongtao.liu@intel.com>
6014
6015 PR target/104666
6016 * config/i386/i386-expand.cc
6017 (ix86_check_builtin_isa_match): New func.
6018 (ix86_expand_builtin): Move code to
6019 ix86_check_builtin_isa_match and call it.
6020 * config/i386/i386-protos.h
6021 (ix86_check_builtin_isa_match): Declare.
6022 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
6023 builtin into gimple when isa mismatches.
6024
6025 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
6026
6027 * doc/invoke.texi: Fix typos.
6028 * doc/tm.texi.in: Remove duplicated word.
6029 * doc/tm.texi: Regenerate.
6030
6031 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
6032
6033 PR target/104829
6034 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
6035 "ppc" and "ppc64" based on rs6000_cpu.
6036
6037 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
6038
6039 PR middle-end/100280
6040 PR middle-end/104892
6041 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
6042 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
6043
6044 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
6045
6046 PR middle-end/100280
6047 PR middle-end/104086
6048 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
6049 Mark variables used in 'present' clauses as addressable.
6050 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
6051 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
6052
6053 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
6054
6055 PR other/65095
6056 * tree-core.h (user_omp_claus_code_name): Declare function.
6057 * tree.cc (user_omp_clause_code_name): New function.
6058
6059 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
6060
6061 PR middle-end/98420
6062 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
6063 (the defaut) or -fno-signed-zeros.
6064
6065 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
6066
6067 PR target/104868
6068 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
6069 moving from a GPR register to an Altivec register.
6070
6071 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
6072
6073 PR tree-optimization/98335
6074 * config/i386/i386.md (peephole2): Eliminate redundant insv.
6075 Combine movl followed by movb. Transform xorl followed by
6076 a suitable movb or movw into the equivalent movz[bw]l.
6077
6078 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
6079 Richard Biener <rguenther@suse.de>
6080
6081 PR tree-optimization/98335
6082 * builtins.cc (get_object_alignment_2): Export.
6083 * builtins.h (get_object_alignment_2): Likewise.
6084 * tree-ssa-alias.cc (ao_ref_alignment): New.
6085 * tree-ssa-alias.h (ao_ref_alignment): Declare.
6086 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
6087 to align head/tail, writing more bytes but using fewer store insns.
6088
6089 2022-03-11 Richard Biener <rguenther@suse.de>
6090
6091 PR tree-optimization/104880
6092 * tree-ssa.cc (execute_update_address_taken): Remember if we
6093 optimistically made something not addressable and
6094 prepare to undo it.
6095
6096 2022-03-11 Richard Biener <rguenther@suse.de>
6097
6098 PR target/104762
6099 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
6100 cost the first lane of SSE pieces as inserts for vec_construct.
6101
6102 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
6103
6104 PR c++/84964
6105 * calls.cc (expand_call): Ignore stack adjustments after sorry.
6106
6107 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
6108
6109 PR target/103074
6110 * lra-constraints.cc (split_reg): Set up
6111 check_and_force_assignment_correctness_p when splitting hard
6112 register live range.
6113
6114 2022-03-10 Martin Jambor <mjambor@suse.cz>
6115
6116 PR ipa/104813
6117 * ipa-cp.cc (create_specialized_node): Move removal of
6118 self-recursive calls from callers vector before refrence
6119 adjustments.
6120
6121 2022-03-10 Richard Biener <rguenther@suse.de>
6122
6123 PR tree-optimization/102943
6124 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
6125 Make a bitmap_head.
6126 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
6127 to tree view.
6128 (sbr_sparse_bitmap::set_bb_range): Adjust.
6129 (sbr_sparse_bitmap::get_bb_range): Likewise.
6130
6131 2022-03-10 Richard Biener <rguenther@suse.de>
6132
6133 PR tree-optimization/102943
6134 * tree-ssa-dom.cc (back_propagate_equivalences): Only
6135 populate the dominance bitmap if fast queries are not
6136 available. Use a tree view bitmap.
6137 (record_temporary_equivalences): Cache the dominance bitmap
6138 across all equivalences on the edge.
6139
6140 2022-03-10 Tom de Vries <tdevries@suse.de>
6141
6142 PR target/104840
6143 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
6144 of false,true.
6145
6146 2022-03-10 Tom de Vries <tdevries@suse.de>
6147
6148 PR target/104783
6149 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
6150 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
6151 (nvptx_get_unisimt_outside_simt_predicate): New function.
6152 (predicate_insn): New function, factored out of ...
6153 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
6154 * config/nvptx/nvptx.h (struct machine_function): Add
6155 unisimt_outside_simt_predicate field.
6156 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
6157 (define_insn "nvptx_uniform_warp_check"): Make predicable.
6158
6159 2022-03-10 Tom de Vries <tdevries@suse.de>
6160
6161 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
6162 result.
6163
6164 2022-03-10 Tom de Vries <tdevries@suse.de>
6165
6166 PR target/104815
6167 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
6168 modifier.
6169 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
6170
6171 2022-03-10 Tom de Vries <tdevries@suse.de>
6172
6173 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
6174 Emit atom.and.b64 instead of atom.b64.and.
6175
6176 2022-03-10 Tom de Vries <tdevries@suse.de>
6177
6178 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
6179 (MULTILIB_OPTIONS): ... here.
6180
6181 2022-03-10 Tom de Vries <tdevries@suse.de>
6182
6183 PR target/104758
6184 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
6185 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
6186
6187 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
6188
6189 PR middle-end/90115
6190 PR middle-end/102330
6191 PR middle-end/104774
6192 * omp-low.cc (oacc_privatization_candidate_p)
6193 (oacc_privatization_scan_clause_chain)
6194 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
6195 Analyze 'lookup_decl'-translated DECL.
6196
6197 2022-03-10 Jakub Jelinek <jakub@redhat.com>
6198
6199 PR target/99708
6200 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
6201 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
6202 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
6203 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
6204 "**NULL**" if type_node is NULL first. Handle
6205 ieee128_float_type_node.
6206 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
6207 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
6208 ieee128_float_type_node to NULL rather than long_double_type_node if
6209 they aren't supported. Do support __ibm128 even if
6210 !TARGET_FLOAT128_TYPE when long double is double double.
6211 (rs6000_expand_builtin): Error if bif_is_ibm128 and
6212 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
6213 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
6214 for it.
6215 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
6216 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
6217 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
6218 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
6219 Formatting fix.
6220 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
6221 (struct attrinfo): Add isibm128 member.
6222 (TYPE_MAP_SIZE): Remove.
6223 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
6224 ibm128_float_type_node only if it is non-NULL, otherwise fall back
6225 to long_double_type_node. Remove "pif" entry.
6226 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
6227 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
6228 (write_type_node): Use sizeof type_map / sizeof type_map[0]
6229 instead of TYPE_MAP_SIZE.
6230 (write_bif_static_init): Handle isibm128.
6231 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
6232 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
6233 attribute.
6234
6235 2022-03-09 Richard Biener <rguenther@suse.de>
6236
6237 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
6238 with non-decl operand, avoiding a copy.
6239
6240 2022-03-09 Jakub Jelinek <jakub@redhat.com>
6241
6242 PR target/104781
6243 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
6244
6245 2022-03-09 Richard Biener <rguenther@suse.de>
6246
6247 PR middle-end/104786
6248 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
6249 for VLAs without an upper size bound.
6250
6251 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
6252
6253 PR tree-optimization/104851
6254 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
6255 error.
6256
6257 2022-03-09 Jakub Jelinek <jakub@redhat.com>
6258
6259 PR c/104711
6260 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
6261 is enabled by it only for C++11 to C++17 rather than for C++03 or
6262 later.
6263 (-Wshift-negative-value): Similarly (except here we stated
6264 that it is enabled for C++11 or later).
6265
6266 2022-03-09 Jakub Jelinek <jakub@redhat.com>
6267
6268 PR rtl-optimization/104839
6269 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
6270 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
6271 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
6272 instead of incorrect 0 in SUBREG_PROMOTED_SET.
6273
6274 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
6275
6276 PR target/104842
6277 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
6278 value before adding an offset.
6279
6280 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
6281
6282 * config/arm/arm-builtins.cc
6283 (arm_binop_none_none_unone_qualifiers): Delete.
6284 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
6285
6286 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
6287
6288 PR translation/104552
6289 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
6290 the PCH out of memory error message punctuation and wording.
6291
6292 2022-03-08 Marek Polacek <polacek@redhat.com>
6293
6294 PR rtl-optimization/104777
6295 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
6296 ASM_OPERANDS_LABEL_VEC has at least one element.
6297
6298 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
6299
6300 PR target/104781
6301 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
6302 stack realignment or regparm nested function with EH return.
6303
6304 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
6305
6306 PR target/104790
6307 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
6308 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
6309 register for non widening loads or narrowing stores.
6310
6311 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
6312
6313 PR translation/104552
6314 * params.opt: Fix typo.
6315
6316 2022-03-08 Richard Biener <rguenther@suse.de>
6317
6318 PR tree-optimization/84201
6319 * params.opt (-param=vect-induction-float): Add.
6320 * doc/invoke.texi (vect-induction-float): Document.
6321 * tree-vect-loop.cc (vectorizable_induction): Honor
6322 param_vect_induction_float.
6323
6324 2022-03-08 Martin Jambor <mjambor@suse.cz>
6325
6326 PR translation/104552
6327 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
6328 "that" in the description.
6329
6330 2022-03-08 Richard Biener <rguenther@suse.de>
6331
6332 PR tree-optimization/104825
6333 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
6334 guard modref get_ao_ref on a pointer typed argument.
6335
6336 2022-03-08 liuhongt <hongtao.liu@intel.com>
6337
6338 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
6339 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
6340
6341 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
6342
6343 * doc/invoke.texi (C++ Modules): Remove anachronism.
6344
6345 2022-03-07 Martin Liska <mliska@suse.cz>
6346
6347 PR middle-end/104381
6348 * opts.cc (finish_options): If debug info is disabled
6349 (debug_info_level) and -fvar-tracking is unset, disable it.
6350
6351 2022-03-07 Jakub Jelinek <jakub@redhat.com>
6352
6353 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
6354 * config/riscv/riscv.cc: Likewise.
6355 * config/darwin.h: Likewise.
6356 * config/i386/i386.cc: Likewise.
6357 * config/aarch64/thunderx3t110.md: Likewise.
6358 * config/aarch64/fractional-cost.h: Likewise.
6359 * config/vax/vax.cc: Likewise.
6360 * config/rs6000/pcrel-opt.md: Likewise.
6361 * config/rs6000/predicates.md: Likewise.
6362 * ctfc.h: Likewise.
6363 * tree-ssa-uninit.cc: Likewise.
6364 * value-relation.h: Likewise.
6365 * gimple-range-gori.cc: Likewise.
6366 * ipa-polymorphic-call.cc: Likewise.
6367 * pointer-query.cc: Likewise.
6368 * ipa-sra.cc: Likewise.
6369 * internal-fn.cc: Likewise.
6370 * varasm.cc: Likewise.
6371 * gimple-ssa-warn-access.cc: Likewise.
6372
6373 2022-03-07 Martin Liska <mliska@suse.cz>
6374
6375 PR target/104794
6376 * config/arm/arm.cc (arm_option_override_internal): Add missing
6377 space.
6378
6379 2022-03-07 Richard Biener <rguenther@suse.de>
6380
6381 PR tree-optimization/104782
6382 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
6383 Re-instantiate r10-5979 fix, add comment.
6384
6385 2022-03-07 Martin Liska <mliska@suse.cz>
6386
6387 PR target/104797
6388 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
6389 parenthesis from built-in name.
6390
6391 2022-03-07 Martin Liska <mliska@suse.cz>
6392
6393 PR target/104794
6394 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
6395 of options in error messages.
6396 (arm_option_reconfigure_globals): Likewise.
6397
6398 2022-03-07 Martin Liska <mliska@suse.cz>
6399
6400 PR target/104794
6401 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
6402 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
6403 have only range [0,32].
6404
6405 2022-03-07 Jakub Jelinek <jakub@redhat.com>
6406
6407 PR target/104775
6408 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
6409 S constraint instead of T in the last alternative.
6410
6411 2022-03-07 Martin Liska <mliska@suse.cz>
6412
6413 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
6414 message.
6415
6416 2022-03-07 Martin Liska <mliska@suse.cz>
6417
6418 PR translation/90148
6419 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
6420 quote to a proper place.
6421 * plugin.cc (default_plugin_dir_name): Likewise.
6422
6423 2022-03-07 Martin Liska <mliska@suse.cz>
6424
6425 PR target/99297
6426 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
6427 string.
6428
6429 2022-03-07 Jakub Jelinek <jakub@redhat.com>
6430
6431 PR target/104779
6432 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
6433 define_expand pattern. Rename define_insn to ...
6434 (*avx512dq_mul<mode>3<mask_name>): ... this.
6435 (<code><mode>3_mask): New any_logic define_expand pattern.
6436 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
6437 (*<code><mode>3<mask_name>): ... this.
6438
6439 2022-03-05 Jakub Jelinek <jakub@redhat.com>
6440
6441 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
6442 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
6443
6444 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
6445 Uroš Bizjak <ubizjak@gmail.com>
6446
6447 PR testsuite/104732
6448 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
6449 Include DI mode unconditionally.
6450 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
6451 i.e. always split on !TARGET_64BIT.
6452 (*<any_or>di3_doubleword): Likewise.
6453 (*one_cmpldi2_doubleword): Likewise.
6454 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
6455 (<any_or><mode>3 expander): Likewise.
6456 (one_cmpl<mode>2 expander): Likewise.
6457
6458 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
6459
6460 PR target/104698
6461 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
6462 (mtvsrdd_diti_w1): Delete.
6463 (extendditi2): Convert from define_expand to
6464 define_insn_and_split. Replace with code to deal with both GPR
6465 registers and with altivec registers.
6466
6467 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
6468
6469 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
6470 bit. Handle most older CPUs.
6471
6472 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
6473
6474 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
6475 avoid a mismatch with DECL_MD_FUNCTION_CODE().
6476
6477 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
6478
6479 PR target/104117
6480 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
6481 (@machopic_low_<mode>): New.
6482 * config/rs6000/predicates.md (macho_pic_address): New.
6483 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
6484 apply the TLS processing to Darwin.
6485 * lra-constraints.cc (process_address_1): Revert the changes
6486 in r12-7209.
6487
6488 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
6489
6490 PR target/87496
6491 PR target/104208
6492 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
6493 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
6494 -mlong-double-128.
6495 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
6496 from here...
6497 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
6498 ... to here.
6499
6500 2022-03-04 Jakub Jelinek <jakub@redhat.com>
6501
6502 PR middle-end/104529
6503 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
6504 on automatic objects which will be runtime initialized.
6505
6506 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
6507
6508 PR middle-end/100280
6509 PR middle-end/104132
6510 PR middle-end/104133
6511 * omp-low.cc (task_shared_vars): Rename to
6512 'make_addressable_vars'. Adjust all users.
6513 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
6514 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
6515
6516 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
6517
6518 PR middle-end/100280
6519 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
6520 * tree-core.h: Document it.
6521 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
6522 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
6523 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6524 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
6525 'TREE_ADDRESSABLE'.
6526
6527 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
6528
6529 PR middle-end/100280
6530 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
6531 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
6532 '[...]' declared in block made addressable".
6533
6534 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
6535
6536 PR middle-end/100400
6537 PR middle-end/103836
6538 PR middle-end/104061
6539 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
6540 Catch 'GIMPLE_DEBUG'.
6541
6542 2022-03-04 Jakub Jelinek <jakub@redhat.com>
6543
6544 PR c/104627
6545 * tree.cc (warn_deprecated_use): For types prefer to use node
6546 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
6547 NULL.
6548
6549 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
6550
6551 PR target/104704
6552 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
6553 a pseudo register.
6554
6555 2022-03-03 Martin Sebor <msebor@redhat.com>
6556
6557 PR middle-end/104761
6558 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
6559 mark_dfs_back_edges.
6560
6561 2022-03-03 Martin Liska <mliska@suse.cz>
6562
6563 * configure.ac: Use linker plug-in by default.
6564 * configure: Regenerate.
6565
6566 2022-03-03 Martin Liska <mliska@suse.cz>
6567
6568 * configure.ac: Now ld.mold support LTO plugin API, use it.
6569 * configure: Regenerate.
6570
6571 2022-03-03 Tom de Vries <tdevries@suse.de>
6572
6573 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
6574
6575 2022-03-03 Tom de Vries <tdevries@suse.de>
6576
6577 PR target/104758
6578 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
6579
6580 2022-03-03 Tom de Vries <tdevries@suse.de>
6581
6582 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6583
6584 2022-03-03 Jakub Jelinek <jakub@redhat.com>
6585
6586 PR middle-end/104757
6587 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
6588 gimplify_omp_for.
6589 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
6590 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
6591
6592 2022-03-03 Jakub Jelinek <jakub@redhat.com>
6593
6594 PR middle-end/104558
6595 * calls.cc (store_one_arg): When not calling emit_push_insn
6596 because size_rtx is const0_rtx, call at least anti_adjust_stack
6597 on arg->locate.alignment_pad if !argblock and the alignment might
6598 be non-zero.
6599
6600 2022-03-02 Alexandre Oliva <oliva@adacore.com>
6601
6602 * lra-constraints.cc (undo_optional_reloads): Recognize and
6603 drop insns of multi-word move sequences, tolerate removal
6604 iteration on an already-removed clobber, and refuse to
6605 substitute original pseudos into clobbers.
6606
6607 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
6608
6609 PR middle-end/102276
6610 * common.opt (-Wtrivial-auto-var-init): New option.
6611 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
6612 (-ftrivial-auto-var-init): Update option;
6613 * gimplify.cc (emit_warn_switch_unreachable): New function.
6614 (warn_switch_unreachable_r): Rename to ...
6615 (warn_switch_unreachable_and_auto_init_r): This.
6616 (maybe_warn_switch_unreachable): Rename to ...
6617 (maybe_warn_switch_unreachable_and_auto_init): This.
6618 (gimplify_switch_expr): Update calls to renamed function.
6619
6620 2022-03-02 Richard Biener <rguenther@suse.de>
6621
6622 PR rtl-optimization/104686
6623 * ira-color.cc (object_conflicts_with_allocno_p): New function
6624 using a bitvector test instead of iterating when possible.
6625 (allocnos_conflict_p): Choose the best allocno to iterate over
6626 object conflicts.
6627 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
6628 last.
6629
6630 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6631
6632 * cfg.cc (dump_edge_info): Dump goto_locus if present.
6633
6634 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6635
6636 PR rtl-optimization/104589
6637 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
6638 INSN_LOCATION comparison with goto_locus.
6639
6640 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6641
6642 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
6643 strlen_pass::before_dom_children): Comment spelling fixes.
6644
6645 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6646
6647 * ipa-modref-tree.cc (modref_access_node::contains,
6648 modref_access_node::closer_pair_p, modref_access_node::insert,
6649 modref_access_node::insert_kill): Comment spelling fixes.
6650 * ipa-modref.cc: Likewise.
6651 (modref_summary::finalize, ignore_nondeterminism_p,
6652 class modref_access_analysis,
6653 modref_access_analysis::set_side_effects,
6654 modref_access_analysis::set_nondeterministic,
6655 modref_access_analysis::record_global_memory_load,
6656 modref_access_analysis::propagate, modref_access_analysis::analyze,
6657 struct escape_point, class modref_lattice, modref_lattice::merge,
6658 modref_lattice::merge_deref, class modref_eaf_analysis,
6659 modref_eaf_analysis::merge_call_lhs_flags,
6660 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
6661 modref_eaf_analysis::record_escape_points, remap_kills,
6662 update_escape_summary, remove_useless_summaries,
6663 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
6664 Likewise.
6665 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
6666 Likewise.
6667 * ipa-modref-tree.h (enum modref_special_parms,
6668 struct modref_access_node): Likewise.
6669
6670 2022-03-01 Jakub Jelinek <jakub@redhat.com>
6671
6672 PR tree-optimization/104715
6673 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
6674 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
6675 of a call if gimple_call_return_arg is equal to ptr, not just when it
6676 is non-NULL.
6677
6678 2022-03-01 Jakub Jelinek <jakub@redhat.com>
6679
6680 * gimple-ssa-warn-access.cc (warn_string_no_nul,
6681 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
6682 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
6683 pass_waccess::check_alloca, pass_waccess::check_strcat,
6684 memmodel_to_uhwi, fntype_argno_type,
6685 pass_waccess::maybe_check_access_sizes,
6686 pass_waccess::check_call_access,
6687 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
6688 Comment spelling fixes.
6689
6690 2022-03-01 Richard Biener <rguenther@suse.de>
6691
6692 PR tree-optimization/104716
6693 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
6694 Check if we can copy the loop.
6695
6696 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
6697
6698 PR middle-end/104721
6699 * cfgexpand.cc (expand_gimple_basic_block): Clear
6700 currently_expanding_gimple_stmt when returning inside the loop.
6701
6702 2022-03-01 Martin Liska <mliska@suse.cz>
6703
6704 PR ipa/104533
6705 * multiple_target.cc (get_attr_len): Move to tree.c.
6706 (expand_target_clones): Remove single value checking.
6707 * tree.cc (get_target_clone_attr_len): New fn.
6708 * tree.h (get_target_clone_attr_len): Likewise.
6709
6710 2022-03-01 Martin Liska <mliska@suse.cz>
6711
6712 PR gcov-profile/104677
6713 * doc/invoke.texi: Document more .gcda file name generation.
6714
6715 2022-03-01 Tom de Vries <tdevries@suse.de>
6716
6717 PR target/102429
6718 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
6719 * config/nvptx/nvptx.md
6720 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
6721 New predicate.
6722 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
6723 Use nvptx_register_or_complex_di_df_register_operand.
6724
6725 2022-03-01 Tom de Vries <tdevries@suse.de>
6726
6727 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
6728 * config/nvptx/gen-copyright.sh: New file.
6729 * config/nvptx/gen-h.sh: New file.
6730 * config/nvptx/gen-opt.sh: New file.
6731 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
6732 (TARGET_SM75, TARGET_SM80): Move ...
6733 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
6734 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
6735 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
6736 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
6737 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
6738
6739 2022-03-01 Tom de Vries <tdevries@suse.de>
6740
6741 * config/nvptx/gen-omp-device-properties.sh: New file.
6742 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
6743
6744 2022-03-01 Tom de Vries <tdevries@suse.de>
6745
6746 * config/nvptx/nvptx-sm.def: New file.
6747 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
6748 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
6749 * config/nvptx/nvptx.cc (sm_version_to_string)
6750 (nvptx_omp_device_kind_arch_isa): Same.
6751
6752 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
6753
6754 PR rtl-optimization/104154
6755 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
6756 comparison ifcvt passed us.
6757
6758 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
6759
6760 PR target/104664
6761 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
6762 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
6763
6764 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
6765
6766 PR tree-optimization/91384
6767 * config/i386/i386.md (peephole2): Eliminate final testl insn
6768 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
6769 transforming using *negsi_2 for the negation.
6770
6771 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
6772 Eric Botcazou <ebotcazou@adacore.com>
6773
6774 PR middle-end/80270
6775 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
6776 register, copy it to a pseudo before calling simplify_gen_subreg.
6777
6778 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
6779
6780 PR rtl-optimization/104637
6781 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
6782 as possible on one subpass.
6783
6784 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
6785
6786 PR middle-end/104550
6787 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
6788 created uses.
6789
6790 2022-02-28 Martin Liska <mliska@suse.cz>
6791
6792 PR ipa/104648
6793 * main.cc (main): Use flag_checking instead of CHECKING_P
6794 and run toplev::finalize only if there is not error seen.
6795
6796 2022-02-28 Richard Biener <rguenther@suse.de>
6797
6798 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
6799
6800 2022-02-28 Richard Biener <rguenther@suse.de>
6801
6802 PR tree-optimization/104700
6803 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
6804 into ...
6805 (find_or_generate_expression): ... here, simplifying code.
6806
6807 2022-02-28 Tom de Vries <tdevries@suse.de>
6808
6809 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
6810 PTX_VERSION_default.
6811 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
6812 PTX_VERSION_default.
6813 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
6814
6815 2022-02-28 Richard Biener <rguenther@suse.de>
6816
6817 PR rtl-optimization/104686
6818 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
6819 skipping bits that are zero.
6820 (ira_object_conflict_iter_cond): Likewise.
6821
6822 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
6823
6824 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
6825 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
6826 char to avoid error when using ~enum as parameter.
6827 (_mm512_mask_ternarylogic_epi64): Likewise.
6828 (_mm512_maskz_ternarylogic_epi64): Likewise.
6829 (_mm512_ternarylogic_epi32): Likewise.
6830 (_mm512_mask_ternarylogic_epi32): Likewise.
6831 (_mm512_maskz_ternarylogic_epi32): Likewise.
6832 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
6833 Adjust imm param type to unsigned char.
6834 (_mm256_mask_ternarylogic_epi64): Likewise.
6835 (_mm256_maskz_ternarylogic_epi64): Likewise.
6836 (_mm256_ternarylogic_epi32): Likewise.
6837 (_mm256_mask_ternarylogic_epi32): Likewise.
6838 (_mm256_maskz_ternarylogic_epi32): Likewise.
6839 (_mm_ternarylogic_epi64): Likewise.
6840 (_mm_mask_ternarylogic_epi64): Likewise.
6841 (_mm_maskz_ternarylogic_epi64): Likewise.
6842 (_mm_ternarylogic_epi32): Likewise.
6843 (_mm_mask_ternarylogic_epi32): Likewise.
6844 (_mm_maskz_ternarylogic_epi32): Likewise.
6845
6846 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6847 Marc Glisse <marc.glisse@inria.fr>
6848
6849 PR tree-optimization/104675
6850 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
6851 Restrict simplifications to INTEGRAL_TYPE_P.
6852
6853 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6854
6855 PR target/104681
6856 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
6857
6858 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
6859
6860 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
6861 comparison is not valid.
6862 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
6863 (movdicc): Likewise.
6864 (movsfcc): Likewise.
6865 (movdfcc): Likewise.
6866
6867 2022-02-25 Richard Biener <rguenther@suse.de>
6868
6869 PR tree-optimization/103037
6870 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
6871 (vn_nary_length_from_stmt): Likewise.
6872 (init_vn_nary_op_from_stmt): Likewise.
6873 (vn_nary_op_compute_hash): Likewise.
6874 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
6875 (vn_nary_length_from_stmt): Likewise.
6876 (init_vn_nary_op_from_stmt): Likewise.
6877 (vn_nary_op_compute_hash): Likewise.
6878 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
6879 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
6880 (re-)compute the hash value and if the expression is not
6881 found allocate it from pre_expr_obstack.
6882 (phi_translate_1): Do not insert the NARY found in the
6883 VN tables but build a PRE expression from the valueized
6884 NARY with the value-id we eventually found.
6885 (find_or_generate_expression): Assert we have an entry
6886 for constant values.
6887 (compute_avail): Insert not valueized expressions into
6888 EXP_GEN using the value-id from the VN tables.
6889 (init_pre): Allocate pre_expr_obstack.
6890 (fini_pre): Free pre_expr_obstack.
6891
6892 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6893
6894 PR target/104674
6895 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
6896 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
6897 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
6898
6899 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6900
6901 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
6902
6903 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6904
6905 PR middle-end/104679
6906 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
6907
6908 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6909
6910 PR tree-optimization/104675
6911 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
6912 COMPLEX_TYPE.
6913
6914 2022-02-25 Alexandre Oliva <oliva@adacore.com>
6915
6916 PR target/104121
6917 PR target/103302
6918 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
6919
6920 2022-02-25 Alexandre Oliva <oliva@adacore.com>
6921
6922 PR middle-end/104540
6923 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
6924 dw_cfi_cfa_loc.
6925
6926 2022-02-25 Alexandre Oliva <oliva@adacore.com>
6927
6928 PR tree-optimization/103856
6929 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
6930 eh edge to be requested through an extra parameter.
6931 (pass_harden_compares::execute): Copy PHI args in the EH dest
6932 block for the new EH edge added for the inverted compare.
6933
6934 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
6935
6936 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
6937 of position independence that -mcmodel=medany affords.
6938
6939 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
6940
6941 PR target/104656
6942 * configure.ac: --disable-gcov if targetting bpf-*.
6943 * configure: Regenerate.
6944
6945 2022-02-24 Richard Biener <rguenther@suse.de>
6946
6947 PR tree-optimization/104676
6948 * tree-loop-distribution.cc (loop_distribution::execute):
6949 Do a full scev_reset.
6950
6951 2022-02-24 Jakub Jelinek <jakub@redhat.com>
6952
6953 PR tree-optimization/104601
6954 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
6955 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
6956 vuse value number.
6957
6958 2022-02-24 Tom de Vries <tdevries@suse.de>
6959 Tobias Burnus <tobias@codesourcery.com>
6960
6961 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
6962 sm_70, sm_75 and sm_80.
6963 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
6964
6965 2022-02-24 Tom de Vries <tdevries@suse.de>
6966
6967 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
6968 "rotrsi3"): New define_insn.
6969
6970 2022-02-24 Tom de Vries <tdevries@suse.de>
6971
6972 * config/nvptx/nvptx.cc (gen_comment): Use
6973 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
6974
6975 2022-02-24 liuhongt <hongtao.liu@intel.com>
6976
6977 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
6978 isa attr of alternative 2 from avx to avx512vl.
6979
6980 2022-02-23 Richard Biener <rguenther@suse.de>
6981 Jakub Jelinek <jakub@redhat.com>
6982
6983 PR tree-optimization/104644
6984 * doc/match-and-simplify.texi: Amend ! documentation.
6985 * genmatch.cc (expr::gen_transform): Code-generate ! support
6986 for GENERIC.
6987 (parser::parse_expr): Allow ! for GENERIC.
6988 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
6989 bswap.
6990
6991 2022-02-23 Richard Biener <rguenther@suse.de>
6992
6993 PR tree-optimization/101636
6994 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
6995 vector type of the node.
6996 (vect_slp_analyze_operations): Make sure the CTOR
6997 is vectorized with an expected type.
6998 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
6999
7000 2022-02-23 Jakub Jelinek <jakub@redhat.com>
7001
7002 PR c/104633
7003 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
7004 Don't warn about calls to corresponding builtin from extern inline
7005 gnu_inline wrappers.
7006
7007 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
7008
7009 PR target/104489
7010 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
7011
7012 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
7013
7014 PR target/100757
7015 PR target/101325
7016 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
7017 typo.
7018
7019 2022-02-23 Cui,Lili <lili.cui@intel.com>
7020
7021 * doc/invoke.texi: Update documents for Intel architectures.
7022
7023 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
7024
7025 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
7026 bootstrap.
7027
7028 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
7029
7030 * omp-low.cc (omp_build_component_ref): Move function...
7031 * omp-general.cc (omp_build_component_ref): ... here. Remove
7032 'static'.
7033 * omp-general.h (omp_build_component_ref): Declare function.
7034 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
7035 function.
7036 (build_receiver_ref, build_sender_ref): Call
7037 'omp_build_component_ref' instead.
7038
7039 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
7040
7041 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
7042 simplify. Adjust all users.
7043
7044 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
7045
7046 PR target/88134
7047 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
7048 atomic_update_decl): Add GTY markup.
7049
7050 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7051
7052 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
7053
7054 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7055
7056 PR target/100757
7057 PR target/101325
7058 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
7059 predicate.
7060 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
7061 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
7062 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
7063 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
7064 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
7065 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
7066 * config/arm/mve.md: Use VxBI instead of HI.
7067
7068 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7069
7070 PR target/100757
7071 PR target/101325
7072 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
7073 qualifier.
7074 (STRSBU_P_QUALIFIERS): Likewise.
7075 (LDRGBS_Z_QUALIFIERS): Likewise.
7076 (LDRGBU_Z_QUALIFIERS): Likewise.
7077 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
7078 (LDRGBWBS_Z_QUALIFIERS): Likewise.
7079 (LDRGBWBU_Z_QUALIFIERS): Likewise.
7080 (STRSBWBS_P_QUALIFIERS): Likewise.
7081 (STRSBWBU_P_QUALIFIERS): Likewise.
7082 * config/arm/mve.md: Use VxBI instead of HI.
7083
7084 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7085
7086 PR target/100757
7087 PR target/101325
7088 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
7089 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
7090 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7091 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7092 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7093 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7094 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
7095 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
7096 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
7097 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
7098 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
7099 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7100 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7101 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
7102 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
7103 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
7104 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7105 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7106 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7107 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7108 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
7109 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
7110 (STRS_P_QUALIFIERS): Use predicate qualifier.
7111 (STRU_P_QUALIFIERS): Likewise.
7112 (STRSU_P_QUALIFIERS): Likewise.
7113 (STRSS_P_QUALIFIERS): Likewise.
7114 (LDRGS_Z_QUALIFIERS): Likewise.
7115 (LDRGU_Z_QUALIFIERS): Likewise.
7116 (LDRS_Z_QUALIFIERS): Likewise.
7117 (LDRU_Z_QUALIFIERS): Likewise.
7118 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
7119 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
7120 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
7121 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
7122 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
7123 * config/arm/mve.md: Use MVE_VPRED instead of HI.
7124
7125 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7126
7127 PR target/100757
7128 PR target/101325
7129 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
7130 Delete.
7131 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
7132 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
7133 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
7134 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
7135 predicated qualifiers.
7136 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
7137 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
7138
7139 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7140
7141 PR target/100757
7142 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
7143 (arm_expand_vector_compare): Update prototype.
7144 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
7145 (arm_vector_mode_supported_p): Add support for VxBI modes.
7146 (arm_expand_vector_compare): Remove useless generation of vpsel.
7147 (arm_expand_vcond): Fix select operands.
7148 (arm_get_mask_mode): New.
7149 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
7150 (vec_cmpu<mode><MVE_vpred>): New.
7151 (vcond_mask_<mode><MVE_vpred>): New.
7152 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
7153 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
7154 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
7155 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
7156 and disable for MVE.
7157 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
7158
7159 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7160
7161 PR target/100757
7162 PR target/101325
7163 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
7164 (BINOP_PRED_NONE_NONE_QUALIFIERS)
7165 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
7166 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
7167 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
7168 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
7169 modes.
7170 (arm_mode_to_pred_mode): New.
7171 (arm_expand_vector_compare): Use the right VxBI mode instead of
7172 HI.
7173 (arm_expand_vcond): Likewise.
7174 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
7175 (mve_bool_vec_to_const): New.
7176 (neon_make_constant): Call mve_bool_vec_to_const when needed.
7177 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
7178 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
7179 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
7180 (vpselq_s, vpselq_f): Use new predicated qualifiers.
7181 * config/arm/constraints.md (DB): New.
7182 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
7183 (MVE_VPRED, MVE_vpred): New attribute iterators.
7184 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
7185 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
7186 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
7187 (@mve_vpselq_<supf>v2di): Define separately.
7188 (mov<mode>): New expander for VxBI modes.
7189 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
7190 MVE_7_HI iterator and add support for DB constraint.
7191
7192 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7193 Richard Sandiford <richard.sandiford@arm.com>
7194
7195 PR target/100757
7196 PR target/101325
7197 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
7198 VNx2BI): Update definition.
7199 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
7200 simd types.
7201 (arm_init_builtin): Map predicate vectors arguments to HImode.
7202 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
7203 rtx. Move return value to HImode rtx.
7204 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
7205 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
7206 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
7207 Pred2x8_t,Pred4x4_t): New.
7208 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
7209 * genmodes.cc (mode_data): Add boolean field.
7210 (blank_mode): Initialize it.
7211 (make_complex_modes): Fix handling of boolean modes.
7212 (make_vector_modes): Likewise.
7213 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
7214 (make_vector_bool_mode): Likewise.
7215 (BOOL_MODE): New.
7216 (make_bool_mode): New.
7217 (emit_insn_modes_h): Fix generation of boolean modes.
7218 (emit_class_narrowest_mode): Likewise.
7219 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
7220 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
7221 define BImode.
7222 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
7223 Fix handling of constm1_rtx for VECTOR_BOOL.
7224 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
7225 (native_decode_vector_rtx): Likewise.
7226 (test_vector_ops_duplicate): Skip vec_merge test
7227 with vectors of booleans.
7228 * varasm.cc (output_constant_pool_2): Likewise.
7229
7230 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7231
7232 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
7233 for operand 1.
7234
7235 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7236
7237 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
7238
7239 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7240
7241 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
7242 (REG_CLASS_NAMES): Likewise.
7243 (REG_CLASS_CONTENTS): Likewise.
7244 (CLASS_MAX_NREGS): Handle VPR.
7245 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
7246
7247 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
7248 Tom de Vries <tdevries@suse.de>
7249
7250 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
7251 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
7252 Likewise.
7253 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
7254
7255 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
7256 Tom de Vries <tdevries@suse.de>
7257
7258 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
7259 * doc/invoke.texi (-mptx): Update for new values and defaults.
7260
7261 2022-02-22 Tom de Vries <tdevries@suse.de>
7262
7263 * config/nvptx/nvptx.cc (gen_comment): New function.
7264 (workaround_uninit_method_1, workaround_uninit_method_2)
7265 (workaround_uninit_method_3): : Use gen_comment.
7266 * config/nvptx/nvptx.opt (mptx-comment): New option.
7267
7268 2022-02-22 Richard Biener <rguenther@suse.de>
7269
7270 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
7271 for a splat.
7272
7273 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
7274 Richard Biener <rguenther@suse.de>
7275
7276 * fold-const.cc (ctor_single_nonzero_element): New function to
7277 return the single non-zero element of a (vector) constructor.
7278 * fold-const.h (ctor_single_nonzero_element): Prototype here.
7279 * match.pd (reduc (constructor@0)): Simplify reductions of a
7280 constructor containing a single non-zero element.
7281 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
7282 reductions of vector operations of the same operator with
7283 constant vector operands.
7284
7285 2022-02-22 Jakub Jelinek <jakub@redhat.com>
7286
7287 PR tree-optimization/104604
7288 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
7289 Only check if gimple_assign_rhs1 is COMPLEX_CST if
7290 gimple_assign_rhs_code is COMPLEX_CST.
7291
7292 2022-02-22 Jakub Jelinek <jakub@redhat.com>
7293
7294 PR target/104612
7295 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
7296 on input operands before calling lowpart_subreg on it. For output
7297 operand, use a vmode pseudo as destination and then move its lowpart
7298 subreg into operands[0] if lowpart_subreg fails on dest.
7299 (ix86_expand_xorsign): Likewise.
7300
7301 2022-02-22 Richard Biener <rguenther@suse.de>
7302
7303 PR tree-optimization/104582
7304 PR target/99881
7305 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7306 Cost GPR to vector register moves for integer vector construction.
7307
7308 2022-02-22 Richard Biener <rguenther@suse.de>
7309
7310 PR tree-optimization/104582
7311 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
7312 (vector_costs::add_stmt_cost): Add SLP node parameter.
7313 (dump_stmt_cost): Likewise.
7314 (add_stmt_cost): Likewise, new overload and adjust.
7315 (add_stmt_costs): Adjust.
7316 (record_stmt_cost): New overload.
7317 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
7318 (vector_costs::add_stmt_cost): Adjust.
7319 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
7320 Adjust.
7321 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
7322 the SLP node for costing.
7323 (vectorizable_slp_permutation): Likewise.
7324 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
7325 new overloads.
7326 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7327 Adjust.
7328 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
7329 Adjust.
7330 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
7331 Adjust.
7332 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
7333
7334 2022-02-22 Richard Biener <rguenther@suse.de>
7335
7336 PR tree-optimization/104582
7337 * tree-vectorizer.h (add_stmt_cost): New overload.
7338 (record_stmt_cost): Likewise.
7339 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
7340 Use add_stmt_costs.
7341 (vect_get_known_peeling_cost): Use new overloads.
7342 (vect_estimate_min_profitable_iters): Likewise. Consistently
7343 use scalar_stmt for costing versioning checks.
7344 * tree-vect-stmts.cc (record_stmt_cost): New overload.
7345
7346 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
7347
7348 PR target/103069
7349 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
7350 Split atomic fetch and loop part.
7351 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
7352 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
7353 prototype.
7354 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
7355 expander under TARGET_RELAX_CMPXCHG_LOOP.
7356 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
7357
7358 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
7359
7360 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
7361 Change wb_candidate[12] to wb_push_candidate[12].
7362 (aarch64_layout_frame): Likewise, and
7363 change callee_adjust when scs is enabled.
7364 (aarch64_save_callee_saves):
7365 Change wb_candidate[12] to wb_push_candidate[12].
7366 (aarch64_restore_callee_saves):
7367 Change wb_candidate[12] to wb_pop_candidate[12].
7368 (aarch64_get_separate_components):
7369 Change wb_candidate[12] to wb_push_candidate[12].
7370 (aarch64_expand_prologue): Push x30 onto SCS before it's
7371 pushed onto stack.
7372 (aarch64_expand_epilogue): Pop x30 frome SCS, while
7373 preventing it from being popped from the regular stack again.
7374 (aarch64_override_options_internal): Add SCS compile option check.
7375 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
7376 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
7377 wb_pop_candidate[12], and rename wb_candidate[12] to
7378 wb_push_candidate[12].
7379 * config/aarch64/aarch64.md (scs_push): New template.
7380 (scs_pop): Likewise.
7381 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
7382 * doc/tm.texi: Regenerate.
7383 * doc/tm.texi.in: Add hook have_shadow_call_stack.
7384 * flag-types.h (enum sanitize_code):
7385 Add SANITIZE_SHADOW_CALL_STACK.
7386 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
7387 and exclude SANITIZE_SHADOW_CALL_STACK.
7388 * target.def: New hook.
7389 * toplev.cc (process_options): Add SCS compile option check.
7390 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
7391
7392 2022-02-21 Tom de Vries <tdevries@suse.de>
7393
7394 PR target/104440
7395 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
7396 (workaround_uninit_method_2, workaround_uninit_method_3)
7397 (workaround_uninit): New function.
7398 (nvptx_reorg): Use workaround_uninit.
7399 * config/nvptx/nvptx.opt (minit-regs): New option.
7400
7401 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
7402
7403 PR rtl-optimization/104498
7404 * alias.cc (compare_base_symbol_refs): Correct distance computation
7405 when swapping x and y.
7406
7407 2022-02-21 Andrew Pinski <apinski@marvell.com>
7408
7409 PR c/104506
7410 * tree-ssa.cc (tree_ssa_useless_type_conversion):
7411 Check the inner type before calling useless_type_conversion_p.
7412
7413 2022-02-19 Tom de Vries <tdevries@suse.de>
7414
7415 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
7416 * config/nvptx/nvptx.md
7417 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
7418 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
7419 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
7420 (define_expand "atomic_store<mode>"): Handle rename. Use
7421 nvptx_atomic_store instead of atomic_exchange.
7422
7423 2022-02-19 Tom de Vries <tdevries@suse.de>
7424
7425 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
7426 insns with atomic attribute. Assert that all handled insns are
7427 PARALLELs.
7428 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
7429 Set atomic attribute to false.
7430
7431 2022-02-19 Tom de Vries <tdevries@suse.de>
7432
7433 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
7434 type to bool.
7435 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
7436 nvptx_warpsync, if necessary.
7437
7438 2022-02-19 Jakub Jelinek <jakub@redhat.com>
7439
7440 PR sanitizer/102656
7441 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
7442 known to be within bounds, treat it like automatic variables.
7443 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
7444 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
7445 it addressable.
7446
7447 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
7448
7449 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
7450 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
7451 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
7452 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
7453 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
7454 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
7455 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
7456 power10_sched_reorder): Likewise.
7457 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
7458 gen_addadd): Likewise
7459 * config/rs6000/fusion.md: Regenerate.
7460
7461 2022-02-18 Jakub Jelinek <jakub@redhat.com>
7462
7463 PR target/104257
7464 PR target/104598
7465 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
7466 rather than __posix_memalign.
7467
7468 2022-02-18 Richard Biener <rguenther@suse.de>
7469
7470 PR target/104581
7471 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
7472 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
7473 of calling ix86_avx_u128_mode_source which would eventually
7474 have returned AVX_U128_ANY in some very special case.
7475
7476 2022-02-18 Richard Biener <rguenther@suse.de>
7477
7478 PR tree-optimization/96881
7479 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
7480 CLOBBER handling.
7481 (control_parents_preserved_p): New function.
7482 (eliminate_unnecessary_stmts): Check that we preserved control
7483 parents before retaining a CLOBBER.
7484 (perform_tree_ssa_dce): Pass down aggressive flag
7485 to eliminate_unnecessary_stmts.
7486
7487 2022-02-17 Jason Merrill <jason@redhat.com>
7488
7489 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
7490 on TYPE_MAIN_VARIANT.
7491
7492 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
7493
7494 PR target/104257
7495 * config/rs6000/bmi2intrin.h: Uglify local variables.
7496 * config/rs6000/emmintrin.h: Likewise.
7497 * config/rs6000/mm_malloc.h: Likewise.
7498 * config/rs6000/mmintrin.h: Likewise.
7499 * config/rs6000/pmmintrin.h: Likewise.
7500 * config/rs6000/smmintrin.h: Likewise.
7501 * config/rs6000/tmmintrin.h: Likewise.
7502 * config/rs6000/xmmintrin.h: Likewise.
7503
7504 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
7505
7506 PR target/104335
7507 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
7508 if the expected comparison's first operand is of mode MODE_CC.
7509
7510 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
7511
7512 PR rtl-optimization/104447
7513 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
7514 hard reg set by lra_no_alloc_regs.
7515
7516 2022-02-17 liuhongt <hongtao.liu@intel.com>
7517
7518 PR tree-optimization/104551
7519 PR tree-optimization/103771
7520 * match.pd (cond_expr_convert_p): Add types_match check when
7521 convert is extension.
7522 * tree-vect-patterns.cc
7523 (gimple_cond_expr_convert_p): Adjust comments.
7524 (vect_recog_cond_expr_convert_pattern): Ditto.
7525
7526 2022-02-17 Jakub Jelinek <jakub@redhat.com>
7527
7528 PR debug/104557
7529 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
7530 if expr has VOIDmode.
7531
7532 2022-02-17 liuhongt <hongtao.liu@intel.com>
7533
7534 * config/i386/cpuid.h (bit_MPX): Removed.
7535 (bit_BNDREGS): Ditto.
7536 (bit_BNDCSR): Ditto.
7537
7538 2022-02-17 Michael Meissner <meissner@the-meissners.org>
7539
7540 PR target/99708
7541 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
7542 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
7543 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
7544 is created.
7545
7546 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
7547
7548 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
7549 range_compatible_p instead of direct type comparison.
7550
7551 2022-02-16 Jakub Jelinek <jakub@redhat.com>
7552
7553 PR rtl-optimization/104544
7554 * combine.cc (try_combine): When looking for insn whose links
7555 should be updated from i3 to i2, don't stop on debug insns, instead
7556 skip over them.
7557
7558 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
7559
7560 PR target/100056
7561 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
7562 * config/aarch64/aarch64.md: Extend the PR100056 patterns
7563 to handle plus in the same way as ior, if the operands have
7564 no set bits in common.
7565
7566 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
7567
7568 PR tree-optimization/104526
7569 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
7570 new routine.
7571 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
7572 of dependency chain if there isn't one.
7573 (gori_compute::condexpr_adjust): New.
7574 * gimple-range-gori.h (class gori_compute): New prototype.
7575
7576 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
7577
7578 PR target/100874
7579 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
7580 Declare.
7581 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
7582 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
7583
7584 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
7585
7586 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
7587 (vect_scalar_ops_slice_hash): Likewise.
7588 (vect_scalar_ops_slice::op): New function.
7589 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
7590 (vect_scalar_ops_slice_hash::hash): Likewise.
7591 (vect_scalar_ops_slice_hash::equal): Likewise.
7592 (vect_prologue_cost_for_slp): Check for duplicate vectors.
7593 * config/aarch64/aarch64.cc
7594 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
7595 (aarch64_aligned_constant_offset_p): New function.
7596 (aarch64_stp_sequence_cost): Likewise.
7597 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
7598 (aarch64_vector_costs::finish_cost): Likewise.
7599
7600 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
7601
7602 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
7603 use after free.
7604
7605 2022-02-15 Richard Biener <rguenther@suse.de>
7606
7607 PR tree-optimization/104543
7608 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
7609 come after the inner loop.
7610
7611 2022-02-15 Jakub Jelinek <jakub@redhat.com>
7612
7613 PR target/104536
7614 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
7615 cannot instead of can%'t in diagnostics. Formatting fixes.
7616
7617 2022-02-15 Jakub Jelinek <jakub@redhat.com>
7618
7619 PR middle-end/104522
7620 * fold-const.h (native_interpret_real): Declare.
7621 * fold-const.cc (native_interpret_real): No longer static. Don't
7622 perform MODE_COMPOSITE_P verification here.
7623 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
7624 for all modes.
7625 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
7626 instead of native_interpret_expr.
7627 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
7628 and comparison verification for all FLOAT_MODE_P modes, not just
7629 MODE_COMPOSITE_P.
7630
7631 2022-02-15 Richard Biener <rguenther@suse.de>
7632
7633 PR tree-optimization/104519
7634 * fold-const.cc (multiple_of_p): Remove never true condition.
7635 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
7636 the appropriate types for determining whether the difference
7637 of final and base is a multiple of the step.
7638
7639 2022-02-15 Jakub Jelinek <jakub@redhat.com>
7640
7641 PR debug/104517
7642 * omp-low.cc (task_cpyfns): New variable.
7643 (delete_omp_context): Don't call finalize_task_copyfn from here.
7644 (create_task_copyfn): Push task_stmt into task_cpyfns.
7645 (execute_lower_omp): Call finalize_task_copyfn here on entries from
7646 task_cpyfns vector and release the vector.
7647
7648 2022-02-14 Martin Sebor <msebor@redhat.com>
7649
7650 PR middle-end/104355
7651 * doc/invoke.texi (-Warray-bounds): Update documentation.
7652
7653 2022-02-14 Michael Meissner <meissner@the-meissners.org>
7654
7655 PR target/104253
7656 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
7657 conversion functions used to convert IFmode types.
7658
7659 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
7660
7661 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
7662
7663 2022-02-14 Richard Biener <rguenther@suse.de>
7664
7665 PR tree-optimization/104528
7666 * tree-ssa.h (find_released_ssa_name): Declare.
7667 * tree-ssa.cc (find_released_ssa_name): Export.
7668 * cfgloop.cc (verify_loop_structure): Look for released
7669 SSA names in loops nb_iterations.
7670 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
7671 estimates.
7672
7673 2022-02-14 Richard Biener <rguenther@suse.de>
7674
7675 PR tree-optimization/104511
7676 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
7677 touching DFP <-> FP conversions.
7678
7679 2022-02-14 Richard Biener <rguenther@suse.de>
7680
7681 PR middle-end/104497
7682 * gimplify.cc (gimplify_compound_lval): Make sure the
7683 base is a non-register if needed and possible.
7684
7685 2022-02-13 liuhongt <hongtao.liu@intel.com>
7686
7687 PR target/103771
7688 * match.pd (cond_expr_convert_p): New match.
7689 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
7690 (vect_recog_cond_expr_convert_pattern): New.
7691
7692 2022-02-12 Jakub Jelinek <jakub@redhat.com>
7693
7694 PR sanitizer/104449
7695 * asan.cc: Include tree-eh.h.
7696 (handle_builtin_alloca): Handle the case when __builtin_alloca or
7697 __builtin_alloca_with_align can throw.
7698
7699 2022-02-12 Jakub Jelinek <jakub@redhat.com>
7700
7701 PR target/104502
7702 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
7703 and AVX512VL isn't available, move operands[1] to operands[0] first.
7704
7705 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
7706
7707 PR target/79754
7708 * config/i386/i386.cc (type_natural_mode):
7709 Skip decimal float vector modes.
7710
7711 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
7712 Vladimir Makarov <vmakarov@redhat.com>
7713
7714 PR target/104117
7715 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
7716 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
7717 emitting PIC code.
7718 (legitimate_lo_sum_address_p): Likewise.
7719 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
7720 load from an invalid lo_sum address.
7721
7722 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7723
7724 PR tree-optimization/104499
7725 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
7726 of convert.
7727
7728 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7729
7730 * tree.cc (build_common_builtin_nodes): Fix up formatting in
7731 __builtin_clear_padding decl creation.
7732 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
7733 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
7734 argument rather than in 3rd argument.
7735 (gimplify_call_expr): Likewise. Fix up comment formatting.
7736 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
7737 2 arguments instead of 3, take for_auto_init from the value
7738 of 2nd argument.
7739
7740 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
7741
7742 PR rtl-optimization/104400
7743 * lra-constraints.cc (process_alt_operands): Don't make union of
7744 this_alternative_exclude_start_hard_regs when reg class in insn
7745 alternative covers other reg classes in the same alternative.
7746
7747 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7748
7749 PR middle-end/104446
7750 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
7751 operands.
7752
7753 2022-02-11 Richard Biener <rguenther@suse.de>
7754
7755 PR middle-end/104496
7756 * internal-fn.cc (vectorized_internal_fn_supported_p):
7757 Bail out for integer mode vector types.
7758
7759 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7760
7761 PR rtl-optimization/104459
7762 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
7763 moving DEBUG_INSNs between bbs.
7764
7765 2022-02-11 liuhongt <hongtao.liu@intel.com>
7766
7767 PR tree-optimization/104479
7768 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
7769 for the dest of uncond_op.
7770
7771 2022-02-11 Tom de Vries <tdevries@suse.de>
7772
7773 PR target/104456
7774 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
7775 insn.
7776
7777 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
7778
7779 PR middle-end/100775
7780 * function.cc (gen_call_used_regs_seq): Call
7781 df_update_exit_block_uses when updating df.
7782
7783 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
7784
7785 PR target/104469
7786 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
7787 Change operand 1 constraint to register_operand.
7788
7789 2022-02-10 Richard Biener <rguenther@suse.de>
7790
7791 PR tree-optimization/104373
7792 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
7793 walk kind.
7794 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
7795 walk kind as argument.
7796 (run_rpo_vn): Adjust.
7797 (pass_fre::execute): Likewise.
7798 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
7799 blocks not reachable.
7800 (execute_late_warn_uninitialized): Mark all edges as
7801 executable.
7802 (execute_early_warn_uninitialized): Use VN to compute
7803 executable edges.
7804 (pass_data_early_warn_uninitialized): Enable a dump file,
7805 change dump name to warn_uninit.
7806
7807 2022-02-10 Richard Biener <rguenther@suse.de>
7808
7809 PR middle-end/104467
7810 * match.pd (vector extract simplification): Multiply the
7811 number of CTOR elements with the number of element elements.
7812
7813 2022-02-10 Richard Biener <rguenther@suse.de>
7814
7815 PR tree-optimization/104466
7816 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
7817 for the MR_DEPENDENCE checks as intended.
7818
7819 2022-02-10 Tom de Vries <tdevries@suse.de>
7820
7821 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
7822 define_insn.
7823 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
7824 TARGET_SM70.
7825 (define_c_enum "unspecv"): Add UNSPECV_ST.
7826
7827 2022-02-10 Tom de Vries <tdevries@suse.de>
7828
7829 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
7830 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
7831 (nvptx_mem_maybe_shared_p): New function.
7832 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
7833 define_expand.
7834
7835 2022-02-10 Tom de Vries <tdevries@suse.de>
7836
7837 PR target/97005
7838 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
7839 driver JIT bug by using sub.s16 instead of sub.u16.
7840
7841 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7842
7843 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
7844 floating point constants as operands 1 and/or 2.
7845
7846 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7847
7848 PR target/104345
7849 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
7850 (sel_false<mode>): Likewise.
7851 (define_code_iterator eqne): New code iterator for EQ and NE.
7852 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
7853 the negation of a selp instruction.
7854 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
7855 the bitwise not of a selp instruction.
7856 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
7857
7858 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7859
7860 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
7861 in machine description.
7862 (logic): Move code attribute earlier in machine description.
7863 (ilogic): New code attribute, like logic but "ior" for IOR.
7864 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
7865 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
7866 (<ilogic>bi3): New define_insn for BI mode logic operations.
7867 (define_split): Lower logic operations from integer modes to
7868 BI mode predicate operations.
7869
7870 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7871
7872 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
7873 (one_cmplbi2): New define_insn for not.pred.
7874 (mulditi3): New define_expand for signed widening multiply.
7875 (umulditi3): New define_expand for unsigned widening multiply.
7876 (smul<mode>3_highpart): New define_insn for signed highpart mult.
7877 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
7878 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
7879 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
7880 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
7881 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
7882 (*setcc<mode>_from_not_bi): New define_insn.
7883 (*setcc_isinf<mode>): New define_insn for testp.infinite.
7884 (isinf<mode>2): New define_expand.
7885
7886 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7887
7888 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
7889 (setcc<mode>_from_bi): Additionally support QImode.
7890 (extendbi<mode>2): Additionally support QImode.
7891 (zero_extendbi<mode>2): Additionally support QImode.
7892 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
7893 iterators for signed and unsigned, binary and unary operations.
7894 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
7895 expanders to perform QImode operations using SImode instructions.
7896 (cstoreqi4): New define_expand.
7897 (*ext_truncsi2_qi): New define_insn.
7898 (*zext_truncsi2_qi): New define_insn.
7899
7900 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7901
7902 * config/nvptx/nvptx.md (*cmpf): New define_insn.
7903 (cstorehf4): New define_expand.
7904 (fmahf4): New define_insn.
7905 (neghf2): New define_insn.
7906 (abshf2): New define_insn.
7907
7908 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
7909
7910 * doc/install.texi (Specific): Change the www.bitwizard.nl
7911 reference to use https.
7912
7913 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
7914
7915 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
7916 OMP_CLAUSE_HAS_DEVICE_ADDR
7917 and handle array sections.
7918 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
7919 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
7920 (lower_omp_target): Same.
7921 * tree-core.h (enum omp_clause_code): Same.
7922 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
7923 (convert_local_omp_clauses): Same.
7924 * tree-pretty-print.cc (dump_omp_clause): Same.
7925 * tree.cc: Same.
7926
7927 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
7928
7929 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
7930 that will result in direct recursive calls.
7931
7932 2022-02-10 Andrew Pinski <apinski@marvell.com>
7933
7934 PR target/104474
7935 * config/aarch64/aarch64.cc
7936 (aarch64_sve_expand_vector_init_handle_trailing_constants):
7937 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
7938
7939 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
7940
7941 PR target/104462
7942 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
7943 Also include OPTION_MASK_ISA2_AVX2_UNSET.
7944
7945 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
7946
7947 PR target/104458
7948 * config/i386/i386-expand.cc (ix86_split_idivmod):
7949 Force operands[2] and operands[3] into a register..
7950
7951 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
7952
7953 PR target/97040
7954 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
7955 (*v850_fnmssf4): Renamed from fnmssf4
7956
7957 2022-02-09 Ian Lance Taylor <iant@golang.org>
7958
7959 * godump.cc (go_force_record_alignment): Really name the alignment
7960 field "_" (complete 2021-12-29 change).
7961
7962 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
7963
7964 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
7965 function prototype.
7966 (VREPLACE_UN_UV4SI): Likewise.
7967 (VREPLACE_UN_V2DF): Likewise.
7968 (VREPLACE_UN_V2DI): Likewise.
7969 (VREPLACE_UN_V4SF): Likewise.
7970 (VREPLACE_UN_V4SI): Likewise.
7971 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
7972 function prototypes.
7973 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
7974 (vreplace_un_<mode>): New define_insn.
7975
7976 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7977
7978 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
7979 (VDBL): Handle SF.
7980 (single_wx, single_type, single_dtype, dblq): New mode attributes.
7981 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
7982 from VDC to VDCSIF.
7983 (store_pair_lanes<mode>): Likewise.
7984 (*aarch64_combine_internal<mode>): Likewise.
7985 (*aarch64_combine_internal_be<mode>): Likewise.
7986 (*aarch64_combinez<mode>): Likewise.
7987 (*aarch64_combinez_be<mode>): Likewise.
7988 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
7989 8-byte modes for ADDR_QUERY_LDP_STP_N.
7990 (aarch64_print_operand): Likewise for %y.
7991
7992 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7993
7994 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
7995 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
7996 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
7997 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
7998 (vec_pack_trunc_<mode>): Take general_operand elements and use
7999 aarch64_combine rather than move_lo/hi_quad to combine them.
8000 (vec_pack_trunc_df): Likewise.
8001
8002 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8003
8004 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
8005 Delete.
8006 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
8007 to...
8008 (*aarch64_combinez<mode>): ...this.
8009 (@aarch64_combinez_be<mode>): Rename to...
8010 (*aarch64_combinez_be<mode>): ...this.
8011 (@aarch64_vec_concat<mode>): New expander.
8012 (aarch64_combine<mode>): Use it.
8013 (@aarch64_simd_combine<mode>): Delete.
8014 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
8015 (aarch64_expand_vector_init): Use aarch64_vec_concat.
8016
8017 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8018
8019 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
8020 New predicate.
8021 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
8022 (*aarch64_combine_internal_be<mode>): New patterns.
8023
8024 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8025
8026 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
8027 (move_lo_quad_internal_be_<mode>): Delete.
8028 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
8029
8030 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8031
8032 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
8033 Declare.
8034 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
8035 aarch64_mergeable_load_pair_p instead of inline check.
8036 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
8037 (aarch64_check_consecutive_mems): Allow the reversed parameter
8038 to be null.
8039 (aarch64_mergeable_load_pair_p): New function.
8040
8041 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8042
8043 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
8044 element to be an aarch64_simd_nonimmediate_operand.
8045
8046 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8047
8048 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
8049 aarch64_simd_nonimmediate_operand instead of
8050 aarch64_simd_general_operand.
8051 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
8052 general_operand.
8053 (@aarch64_combinez_be<mode>): Likewise.
8054
8055 2022-02-09 Richard Biener <rguenther@suse.de>
8056
8057 PR middle-end/104464
8058 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
8059 throwing check to after unproblematic replacement.
8060
8061 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
8062
8063 PR tree-optimization/104420
8064 * match.pd (mult @0 real_zerop): Tweak conditions for constant
8065 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
8066
8067 2022-02-09 Jakub Jelinek <jakub@redhat.com>
8068
8069 PR debug/104407
8070 * dwarf2out.cc (mangle_referenced_decls): New function.
8071 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
8072 early_dwarf. Instead walk the initializer and try to mangle vars or
8073 functions referenced from it.
8074
8075 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
8076
8077 PR tree-optimization/104288
8078 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
8079 (non_null_ref::adjust_range): Move to header.
8080 (ranger_cache::range_of_def): Don't check non-null.
8081 (ranger_cache::entry_range): Don't check non-null.
8082 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
8083 (ranger_cache::update_to_nonnull): New.
8084 (non_null_loadstore): New.
8085 (ranger_cache::block_apply_nonnull): New.
8086 * gimple-range-cache.h (class non_null_ref): Update prototypes.
8087 (non_null_ref::adjust_range): Move to here and inline.
8088 (class ranger_cache): Update prototypes.
8089 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
8090 not search dominators.
8091 (path_range_query::adjust_for_non_null_uses): Ditto.
8092 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
8093 def overrides. Do not check nonnull.
8094 (gimple_ranger::range_on_entry): Check dominators for nonnull.
8095 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
8096 (gimple_ranger::register_side_effects): New.
8097 * gimple-range.h (gimple_ranger::register_side_effects): New.
8098 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
8099
8100 2022-02-09 Richard Biener <rguenther@suse.de>
8101
8102 PR tree-optimization/104445
8103 PR tree-optimization/102832
8104 * optabs-query.h (can_vec_extract): New.
8105 * optabs-query.cc (can_vec_extract): Likewise.
8106 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
8107 we can extract a hi/lo part from the larger vector, rework
8108 check iteration from larger to smaller sizes.
8109
8110 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
8111
8112 PR target/35513
8113 PR target/100593
8114 * config/i386/gnu-property.cc: Include "i386-protos.h".
8115 (file_end_indicate_exec_stack_and_gnu_property): Generate
8116 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
8117 nodirect_extern_access attribute.
8118 * config/i386/i386-options.cc
8119 (handle_nodirect_extern_access_attribute): New function.
8120 (ix86_attribute_table): Add nodirect_extern_access attribute.
8121 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
8122 bool argument.
8123 (ix86_has_no_direct_extern_access): New.
8124 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
8125 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
8126 call operand. Force non-call load from GOT for
8127 -mno-direct-extern-access or nodirect_extern_access attribute.
8128 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
8129 for -mno-direct-extern-access or nodirect_extern_access attribute.
8130 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
8131 for call operand.
8132 (asm_preferred_eh_data_format): Use PC-relative format for
8133 -mno-direct-extern-access to avoid copy relocation. Check
8134 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
8135 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
8136 true for -mno-direct-extern-access or nodirect_extern_access
8137 attribute. Don't treat protected data as extern and avoid copy
8138 relocation on common symbol with -mno-direct-extern-access or
8139 nodirect_extern_access attribute.
8140 (ix86_reloc_rw_mask): New to avoid copy relocation for
8141 -mno-direct-extern-access.
8142 (TARGET_ASM_RELOC_RW_MASK): New.
8143 * config/i386/i386.opt: Add -mdirect-extern-access.
8144 * doc/extend.texi: Document nodirect_extern_access attribute.
8145 * doc/invoke.texi: Document -m[no-]direct-extern-access.
8146
8147 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
8148
8149 PR target/104441
8150 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
8151 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
8152 Call ix86_avx_u128_mode_source to check mode for each component
8153 of source operand.
8154
8155 2022-02-09 liuhongt <hongtao.liu@intel.com>
8156
8157 PR target/104451
8158 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
8159 operands[2] from SImode to QImode.
8160
8161 2022-02-09 Richard Biener <rguenther@suse.de>
8162
8163 PR middle-end/104450
8164 * gimple-isel.cc: Pass cfun around.
8165 (+gimple_expand_vec_cond_expr): Do not combine a throwing
8166 comparison with the select.
8167
8168 2022-02-09 Richard Biener <rguenther@suse.de>
8169
8170 PR target/104453
8171 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
8172 folding for NULL LHS.
8173
8174 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
8175
8176 PR rtl-optimization/104198
8177 PR rtl-optimization/104153
8178 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
8179 using it directly. Rework comparison handling and always
8180 perform a second pass.
8181
8182 2022-02-08 Jakub Jelinek <jakub@redhat.com>
8183
8184 PR target/102140
8185 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
8186 split1 pass has finished already.
8187
8188 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
8189
8190 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
8191 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
8192 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
8193 (vmsumcud): New define_insn.
8194
8195 2022-02-08 Tom de Vries <tdevries@suse.de>
8196
8197 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
8198 * config/nvptx/nvptx.h (TARGET_SM70): Define.
8199
8200 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
8201
8202 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
8203 on condition.
8204 * config/s390/s390.md: Use paradoxical subreg.
8205
8206 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
8207
8208 * combine.cc (reg_subword_p): Check for paradoxical subreg.
8209
8210 2022-02-08 Tom de Vries <tdevries@suse.de>
8211
8212 PR target/104283
8213 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
8214 and PTX_VERSION_4_2.
8215 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
8216 (default_ptx_version_option, ptx_version_to_string)
8217 (sm_version_to_string, handle_ptx_version_option): New function.
8218 (nvptx_option_override): Call handle_ptx_version_option.
8219 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
8220 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
8221 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
8222 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
8223
8224 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
8225
8226 * doc/install.texi (Configuration): Document `--with-isa-spec='
8227 RISC-V option.
8228 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
8229 option.
8230 (RISC-V Options): Document it.
8231
8232 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
8233
8234 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
8235
8236 2022-02-08 Tom de Vries <tdevries@suse.de>
8237
8238 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
8239
8240 2022-02-08 Tom de Vries <tdevries@suse.de>
8241
8242 PR target/104364
8243 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
8244 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
8245 change is validated.
8246 (nvptx_mem_local_p): New function.
8247 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
8248 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
8249 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
8250 non-atomic, non-predicable define_insn, factored out of ...
8251 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
8252 Make predicable again.
8253 (define_expand "atomic_compare_and_swap<mode>"): Use
8254 atomic_compare_and_swap<mode>_1_local.
8255
8256 2022-02-08 liuhongt <hongtao.liu@intel.com>
8257
8258 PR rtl-optimization/104059
8259 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
8260 for a more expensive reg-reg move.
8261
8262 2022-02-07 Tamar Christina <tamar.christina@arm.com>
8263
8264 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
8265 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
8266 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
8267 (usdot_laneq, sudot_laneq): New.
8268 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
8269 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
8270
8271 2022-02-07 Tamar Christina <tamar.christina@arm.com>
8272
8273 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
8274 vdot_laneq_s32, vdotq_laneq_s32): New.
8275 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
8276 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
8277 (<sup>dot_prod<vsi2qi>): Re-order rtl.
8278 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
8279 (neon_<sup>dot_laneq<vsi2qi>): New.
8280
8281 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
8282
8283 PR target/104327
8284 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
8285 if always_inline is set. Don't inline when tune differs without
8286 always_inline.
8287
8288 2022-02-07 Richard Biener <rguenther@suse.de>
8289
8290 PR middle-end/104402
8291 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
8292 compares are not valid.
8293 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
8294 check is_gimple_condexpr.
8295
8296 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
8297
8298 PR target/103627
8299 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
8300 hunk affecting VSX and ALTIVEC to appropriate place.
8301
8302 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
8303
8304 PR target/103627
8305 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
8306 MMA if !TARGET_VSX.
8307
8308 2022-02-06 Jakub Jelinek <jakub@redhat.com>
8309
8310 PR c++/89074
8311 PR c++/104033
8312 * fold-const.h (folding_initializer): Adjust comment.
8313 (folding_cxx_constexpr): Declare.
8314 * fold-const.cc (folding_initializer): Adjust comment.
8315 (folding_cxx_constexpr): New variable.
8316 (address_compare): Restrict the decl vs. STRING_CST
8317 or vice versa or STRING_CST vs. STRING_CST or
8318 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
8319 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
8320 assume non-aliased functions have non-zero size and have different
8321 addresses. For folding_cxx_constexpr, punt on comparisons of start
8322 of some object and end of another one, regardless whether it is a decl
8323 or string literal. Also punt for folding_cxx_constexpr on
8324 STRING_CST vs. STRING_CST comparisons if the two literals could be
8325 overlapping.
8326
8327 2022-02-05 Jakub Jelinek <jakub@redhat.com>
8328
8329 PR tree-optimization/104389
8330 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
8331 honored.
8332
8333 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
8334
8335 * configure.ac: Fix detection for zifencei support.
8336 * configure: Regenerate.
8337
8338 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
8339
8340 PR target/104219
8341 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
8342 (all_defaults): Add isa_spec.
8343 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
8344
8345 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
8346
8347 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
8348 parameters instead of arglist and nargs. Simplify accordingly. Remove
8349 unnecessary test for argument count mismatch.
8350 (resolve_vec_cmpne): Likewise.
8351 (resolve_vec_adde_sube): Likewise.
8352 (resolve_vec_addec_subec): Likewise.
8353 (altivec_resolve_overloaded_builtin): Move overload special handling
8354 after the gathering of arguments into args[] and types[] and the test
8355 for correct number of arguments. Don't perform the test for correct
8356 number of arguments for certain special cases. Call the other special
8357 cases with args and types instead of arglist and nargs.
8358
8359 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
8360
8361 PR target/100808
8362 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
8363 3.1): Provide consistent type names. Remove unnecessary semicolons.
8364 Fix bad line breaks.
8365
8366 2022-02-04 Jakub Jelinek <jakub@redhat.com>
8367
8368 PR target/104380
8369 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
8370 adjust mangling of __builtin*printf_chk.
8371
8372 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
8373
8374 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
8375
8376 2022-02-04 Richard Biener <rguenther@suse.de>
8377 Bin Cheng <bin.cheng@linux.alibaba.com>
8378
8379 PR tree-optimization/100499
8380 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
8381 to true.
8382 * fold-const.cc (multiple_of_p): Likewise. Honor it for
8383 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
8384 switching to false for conversions.
8385 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
8386 claim the outermost expression does not wrap when calling
8387 multiple_of_p. Refactor the check done to check the
8388 original IV, avoiding a bias that might wrap.
8389
8390 2022-02-04 Richard Biener <rguenther@suse.de>
8391
8392 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
8393 handling.
8394
8395 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
8396
8397 PR debug/104366
8398 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
8399 (dwarf2out_early_finish): Likewise.
8400
8401 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
8402
8403 PR tree-optimization/104356
8404 * match.pd (X / bool_range_Y is X): Add guard.
8405 (X / X is one): Likewise.
8406 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
8407 (X / -X is -1): Likewise.
8408 (1 / X -> X == 1): Likewise.
8409
8410 2022-02-04 Richard Biener <rguenther@suse.de>
8411
8412 PR tree-optimization/103641
8413 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
8414 Pass the vector mode to choose_mult_variant.
8415
8416 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
8417
8418 PR rtl-optimization/101885
8419 * combine.cc (try_combine): When splitting a parallel into two
8420 sequential sets, check not only that the first doesn't clobber
8421 the second but also that the second doesn't clobber the first.
8422
8423 2022-02-04 Richard Biener <rguenther@suse.de>
8424
8425 PR middle-end/90348
8426 PR middle-end/104092
8427 * tree-core.h (clobber_kind): New enum.
8428 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
8429 * tree.h (CLOBBER_KIND): Add.
8430 (build_clobber): Add clobber kind argument, defaulted to
8431 CLOBBER_UNDEF.
8432 * tree.cc (build_clobber): Likewise.
8433 * gimple.h (gimple_clobber_p): New overload with specified kind.
8434 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
8435 CLOBBER_KIND.
8436 * tree-streamer-out.cc (streamer_write_tree_bitfields):
8437 Likewise.
8438 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
8439 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
8440 with CLOBBER_EOL.
8441 (gimplify_target_expr): Likewise.
8442 * tree-inline.cc (expand_call_inline): Likewise.
8443 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
8444 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
8445 CLOBBER_EOL clobbers as ending lifetime of storage.
8446
8447 2022-02-04 Martin Sebor <msebor@redhat.com>
8448
8449 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
8450 cleanup.
8451
8452 2022-02-03 Martin Sebor <msebor@redhat.com>
8453
8454 PR middle-end/104260
8455 * passes.def (pass_warn_access): Adjust pass placement.
8456
8457 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
8458
8459 PR target/104362
8460 * config/i386/i386.cc (find_drap_reg): For 32bit targets
8461 return DI_REG if function uses __builtin_eh_return.
8462
8463 2022-02-03 Martin Sebor <msebor@redhat.com>
8464
8465 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
8466 (pass_wrestrict::m_ptr_qry): New member.
8467 (wrestrict_walk): Rename...
8468 (pass_wrestrict::check_block): ...to this.
8469 (pass_wrestrict::execute): Set up and tear down pointer_query and
8470 ranger.
8471 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
8472 (builtin_access::builtin_access): Same.
8473 (builtin_access::m_ptr_qry): New member.
8474 (check_call): Rename...
8475 (pass_wrestrict::check_call): ...to this.
8476 (check_bounds_or_overlap): Change argument.
8477 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
8478
8479 2022-02-03 Martin Sebor <msebor@redhat.com>
8480
8481 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
8482 Define ctor.
8483 (array_bounds_checker::get_value_range): Use new member.
8484 (array_bounds_checker::check_mem_ref): Same.
8485 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
8486 Outline ctor.
8487 (array_bounds_checker::m_ptr_query): New member.
8488
8489 2022-02-03 Martin Sebor <msebor@redhat.com>
8490
8491 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
8492 pointer_query cache.
8493 * pointer-query.cc (pointer_query::pointer_query): Remove cache
8494 argument. Zero-initialize new cache member.
8495 (pointer_query::get_ref): Replace cache pointer with direct access.
8496 (pointer_query::put_ref): Same.
8497 (pointer_query::flush_cache): Same.
8498 (pointer_query::dump): Same.
8499 * pointer-query.h (class pointer_query): Remove cache argument from
8500 ctor. Change cache pointer to cache subobject member.
8501 * tree-ssa-strlen.cc: Remove pointer_query cache.
8502
8503 2022-02-03 Martin Sebor <msebor@redhat.com>
8504
8505 PR tree-optimization/104119
8506 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
8507 (format_none): Same.
8508 (format_percent): Same.
8509 (format_integer): Same.
8510 (format_floating): Same.
8511 (get_string_length): Same.
8512 (format_character): Same.
8513 (format_string): Same.
8514 (format_plain): Same.
8515 (format_directive): Same.
8516 (compute_format_length): Same.
8517 (handle_printf_call): Same.
8518 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
8519 get_maxbound.
8520 (get_range_strlen_phi): Same.
8521 (get_maxbound): New function.
8522 (strlen_pass::get_len_or_size): Adjust to parameter change.
8523 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
8524
8525 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8526
8527 PR target/103686
8528 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
8529 test for !rs6000_fold_gimple.
8530 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
8531 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
8532
8533 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8534
8535 PR target/95082
8536 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
8537 endianness for vclzlsbb and vctzlsbb.
8538 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
8539 default pattern and indicate a different pattern will be used for
8540 big endian.
8541 (VCLZLSBB_V4SI): Likewise.
8542 (VCLZLSBB_V8HI): Likewise.
8543 (VCTZLSBB_V16QI): Likewise.
8544 (VCTZLSBB_V4SI): Likewise.
8545 (VCTZLSBB_V8HI): Likewise.
8546
8547 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8548
8549 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
8550 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
8551 from other files.
8552 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
8553 rs6000-builtin.cc.
8554 (cpu_supports_info): Likewise.
8555 (rs6000_type_string): Likewise.
8556 (altivec_expand_predicate_builtin): Likewise.
8557 (rs6000_htm_spr_icode): Likewise.
8558 (altivec_expand_vec_init_builtin): Likewise.
8559 (get_element_number): Likewise.
8560 (altivec_expand_vec_set_builtin): Likewise.
8561 (altivec_expand_vec_ext_builtin): Likewise.
8562 (rs6000_invalid_builtin): Likewise.
8563 (rs6000_fold_builtin): Likewise.
8564 (fold_build_vec_cmp): Likewise.
8565 (fold_compare_helper): Likewise.
8566 (map_to_integral_tree_type): Likewise.
8567 (fold_mergehl_helper): Likewise.
8568 (fold_mergeeo_helper): Likewise.
8569 (rs6000_builtin_valid_without_lhs): Likewise.
8570 (rs6000_builtin_is_supported): Likewise.
8571 (rs6000_gimple_fold_mma_builtin): Likewise.
8572 (rs6000_gimple_fold_builtin): Likewise.
8573 (rs6000_expand_ldst_mask): Likewise.
8574 (cpu_expand_builtin): Likewise.
8575 (elemrev_icode): Likewise.
8576 (ldv_expand_builtin): Likewise.
8577 (lxvrse_expand_builtin): Likewise.
8578 (lxvrze_expand_builtin): Likewise.
8579 (stv_expand_builtin): Likewise.
8580 (mma_expand_builtin): Likewise.
8581 (htm_spr_num): Likewise.
8582 (htm_expand_builtin): Likewise.
8583 (rs6000_expand_builtin): Likewise.
8584 (rs6000_vector_type): Likewise.
8585 (rs6000_init_builtins): Likewise. Remove initialization of
8586 builtin_mode_to_type entries.
8587 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
8588 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
8589 external declaration.
8590 (rs6000_builtin_md_vectorized_function): Likewise.
8591 (rs6000_builtin_reciprocal): Likewise.
8592 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
8593 (rs6000_builtin_types): Likewise.
8594 (builtin_mode_to_type): Remove.
8595 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
8596 static qualifier.
8597 (rs6000_builtin_md_vectorized_function): Likewise.
8598 (rs6000_builtin_reciprocal): Likewise.
8599 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
8600 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
8601
8602 2022-02-03 Richard Biener <rguenther@suse.de>
8603
8604 PR debug/104337
8605 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
8606 together via DECL_ABSTRACT_ORIGIN.
8607
8608 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8609
8610 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
8611 message for RES_BITS case.
8612
8613 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
8614
8615 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
8616
8617 2022-02-03 Jakub Jelinek <jakub@redhat.com>
8618
8619 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
8620 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
8621
8622 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
8623
8624 * cfganal.cc (verify_marked_backedges): New.
8625 * cfganal.h (verify_marked_backedges): New.
8626 * gimple-range-path.cc (path_range_query::path_range_query):
8627 Verify freshness of back edges.
8628 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
8629 mark_dfs_back_edges.
8630 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
8631 path_range_query construction after backedges have been
8632 updated.
8633
8634 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
8635
8636 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
8637 VALL to VALL_F16.
8638
8639 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
8640
8641 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
8642 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
8643 of VALL_F16MOV.
8644
8645 2022-02-03 Martin Liska <mliska@suse.cz>
8646
8647 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
8648 Change subject and object in the error message.
8649 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8650 Likewise.
8651
8652 2022-02-03 Martin Liska <mliska@suse.cz>
8653
8654 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8655 Use the error message for i386 target.
8656
8657 2022-02-03 Jakub Jelinek <jakub@redhat.com>
8658
8659 PR tree-optimization/104334
8660 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
8661 and rh_range type to widest_int and subtract in widest_int. Remove
8662 ov_rh, ov_lh and sign vars, always perform comparisons as signed
8663 and use >, < and == operators for it.
8664
8665 2022-02-03 Martin Sebor <msebor@redhat.com>
8666
8667 * common.opt (-Wuse-after-free): Correct typos.
8668
8669 2022-02-02 David Malcolm <dmalcolm@redhat.com>
8670
8671 PR analyzer/104270
8672 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
8673 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
8674 -ftrivial-auto-var-init= doesn't suppress warnings.
8675
8676 2022-02-02 Martin Liska <mliska@suse.cz>
8677
8678 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
8679
8680 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
8681
8682 PR target/94372
8683 * config/or1k/linux.h (CPP_SPEC): Define.
8684
8685 2022-02-02 Tamar Christina <tamar.christina@arm.com>
8686
8687 PR tree-optimization/102819
8688 PR tree-optimization/103169
8689 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
8690 canonical order.
8691
8692 2022-02-02 Tamar Christina <tamar.christina@arm.com>
8693
8694 PR tree-optimization/102819
8695 PR tree-optimization/103169
8696 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
8697 canonical order.
8698 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
8699
8700 2022-02-02 Tamar Christina <tamar.christina@arm.com>
8701
8702 PR tree-optimization/102819
8703 PR tree-optimization/103169
8704 * doc/md.texi: Update docs for cfms, cfma.
8705 * tree-data-ref.h (same_data_refs): Accept optional offset.
8706 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
8707 patterns.
8708 (vect_normalize_conj_loc): Remove.
8709 (is_eq_or_top): Change to take two nodes.
8710 (enum _conj_status, compatible_complex_nodes_p,
8711 vect_validate_multiplication): New.
8712 (class complex_add_pattern, complex_add_pattern::matches,
8713 complex_add_pattern::recognize, class complex_mul_pattern,
8714 complex_mul_pattern::recognize, class complex_fms_pattern,
8715 complex_fms_pattern::recognize, class complex_operations_pattern,
8716 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
8717 new cache.
8718 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
8719 cache and use new validation code.
8720 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
8721 vect_analyze_slp): Pass along cache.
8722 (compatible_calls_p): Expose.
8723 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
8724 slp_compat_nodes_map_t): New.
8725 (class vect_pattern): Update signatures include new cache.
8726
8727 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8728
8729 * config/cris/cris.cc (cris_preferred_reload_class): Reject
8730 "eliminated" registers and small-enough constants unless
8731 reloaded into a class that is a subset of GENERAL_REGS.
8732 * config/cris/cris.md (attribute "cpu_variant"): New.
8733 (attribute "enabled"): Conditionalize on a matching attribute
8734 cpu_variant, if specified.
8735 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
8736 memory, add cpu-variant-enabled variants for "r" alternatives on
8737 the far side of the "x" alternatives, preferring the "x" ones
8738 only for variants where MOF is present (in addition to SRP).
8739
8740 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8741
8742 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
8743 extra cost for ALL_REGS.
8744
8745 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8746
8747 * config/cris/constraints.md (define_register_constraint "b"): Now
8748 GENERAL_REGS.
8749 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
8750 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
8751 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
8752 and SPEC_GENNONACR_REGS.
8753 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
8754 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
8755
8756 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8757
8758 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
8759 Conditionalize on (sub-)register operands or operand 1 being 0.
8760
8761 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8762
8763 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
8764 (MUL_BUG_ASM_DEFAULT): New macro.
8765 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
8766 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
8767 accordingly.
8768
8769 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
8770
8771 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
8772 to 10 for AutoFDO.
8773
8774 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
8775
8776 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
8777
8778 2022-02-01 Andrew Pinski <apinski@marvell.com>
8779
8780 * doc/install.texi:
8781
8782 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
8783
8784 * config/s390/s390.cc (s390_code_end): Do not switch back to
8785 code section.
8786
8787 2022-02-01 Jakub Jelinek <jakub@redhat.com>
8788
8789 PR target/104323
8790 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
8791 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
8792 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
8793 GTY((user)) for struct bifdata and struct ovlddata. Instead add
8794 GTY((skip(""))) to members with pointer and enum types that don't need
8795 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
8796 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
8797 (write_extern_fntype, write_fntype): Remove.
8798 (write_fntype_init): Emit the fntype vars as automatic vars instead
8799 of file scope ones.
8800 (write_header_file): Don't iterate with write_extern_fntype.
8801 (write_init_file): Don't iterate with write_fntype. Don't emit
8802 gt_ggc_mx and gt_pch_nx definitions.
8803
8804 2022-02-01 Jason Merrill <jason@redhat.com>
8805
8806 * tree.h (struct tree_vec_map_cache_hasher): Move from...
8807 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
8808
8809 2022-02-01 Tom de Vries <tdevries@suse.de>
8810
8811 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
8812 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8813 UNSPECV_UNIFORM_WARP_CHECK.
8814 (define_insn "nvptx_uniform_warp_check"): New define_insn.
8815
8816 2022-02-01 Tom de Vries <tdevries@suse.de>
8817
8818 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
8819 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8820 UNSPECV_WARPSYNC.
8821 (define_insn "nvptx_warpsync"): New define_insn.
8822
8823 2022-02-01 Tom de Vries <tdevries@suse.de>
8824
8825 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
8826
8827 2022-02-01 Tom de Vries <tdevries@suse.de>
8828
8829 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
8830 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
8831 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
8832 insn for TARGET_PTX_6_0.
8833
8834 2022-02-01 Tom de Vries <tdevries@suse.de>
8835
8836 PR target/100428
8837 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
8838 insn.
8839
8840 2022-02-01 Tom de Vries <tdevries@suse.de>
8841
8842 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
8843 (define_insn "atomic_exchange<mode>")
8844 (define_insn "atomic_fetch_add<mode>")
8845 (define_insn "atomic_fetch_addsf")
8846 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
8847 if memory operands is frame-relative.
8848
8849 2022-02-01 Tom de Vries <tdevries@suse.de>
8850
8851 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
8852 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
8853 (VOID): New macro.
8854 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
8855 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
8856 NVPTX_BUILTIN_MEMBAR_CTA.
8857 (nvptx_lockfull_update): Add level parameter. Emit barriers.
8858 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
8859 nvptx_lockfull_update.
8860 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8861 UNSPECV_MEMBAR_GL.
8862 (define_expand "nvptx_membar_gl"): New expand.
8863 (define_insn "*nvptx_membar_gl"): New insn.
8864
8865 2022-02-01 Martin Liska <mliska@suse.cz>
8866
8867 * doc/install.texi: Remove option for GCC < 4.8.
8868
8869 2022-02-01 Jakub Jelinek <jakub@redhat.com>
8870
8871 PR middle-end/104307
8872 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
8873 stmts to uses vector, just set vec_cond_expr_only to false for
8874 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
8875 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
8876 like non-VEC_COND_EXPRs.
8877
8878 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
8879
8880 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
8881 (VEC_BLENDV): Likewise.
8882 (VEC_BPERM): Likewise.
8883 (VEC_CFUGE): Likewise.
8884 (VEC_CIPHER_BE): Likewise.
8885 (VEC_CIPHERLAST_BE): Likewise.
8886 (VEC_CLRL): Likewise.
8887 (VEC_CLRR): Likewise.
8888 (VEC_CMPNEZ): Likewise.
8889 (VEC_CNTLZ): Likewise.
8890 (VEC_CNTLZM): Likewise.
8891 (VEC_CNTTZM): Likewise.
8892 (VEC_CNTLZ_LSBB): Likewise.
8893 (VEC_CNTM): Likewise.
8894 (VEC_CNTTZ): Likewise.
8895 (VEC_CNTTZ_LSBB): Likewise.
8896 (VEC_CONVERT_4F32_8F16): Likewise.
8897 (VEC_DIV): Likewise.
8898 (VEC_DIVE): Likewise.
8899 (VEC_EQV): Likewise.
8900 (VEC_EXPANDM): Likewise.
8901 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
8902 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
8903 (VEC_EXTRACTH): Likewise.
8904 (VEC_EXTRACTL): Likewise.
8905 (VEC_EXTRACTM): Likewise.
8906 (VEC_EXTRACT4B): Likewise.
8907 (VEC_EXTULX): Likewise.
8908 (VEC_EXTURX): Likewise.
8909 (VEC_FIRSTMATCHINDEX): Likewise.
8910 (VEC_FIRSTMACHOREOSINDEX): Likewise.
8911 (VEC_FIRSTMISMATCHINDEX): Likewise.
8912 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
8913 (VEC_GB): Likewise.
8914 (VEC_GENBM): Likewise.
8915 (VEC_GENHM): Likewise.
8916 (VEC_GENWM): Likewise.
8917 (VEC_GENDM): Likewise.
8918 (VEC_GENQM): Likewise.
8919 (VEC_GENPCVM): Likewise.
8920 (VEC_GNB): Likewise.
8921 (VEC_INSERTH): Likewise.
8922 (VEC_INSERTL): Likewise.
8923 (VEC_INSERT4B): Likewise.
8924 (VEC_LXVL): Likewise.
8925 (VEC_MERGEE): Likewise.
8926 (VEC_MERGEO): Likewise.
8927 (VEC_MOD): Likewise.
8928 (VEC_MSUB): Likewise.
8929 (VEC_MULH): Likewise.
8930 (VEC_NAND): Likewise.
8931 (VEC_NCIPHER_BE): Likewise.
8932 (VEC_NCIPHERLAST_BE): Likewise.
8933 (VEC_NEARBYINT): Likewise.
8934 (VEC_NMADD): Likewise.
8935 (VEC_ORC): Likewise.
8936 (VEC_PDEP): Likewise.
8937 (VEC_PERMX): Likewise.
8938 (VEC_PEXT): Likewise.
8939 (VEC_POPCNT): Likewise.
8940 (VEC_PARITY_LSBB): Likewise.
8941 (VEC_REPLACE_ELT): Likewise.
8942 (VEC_REPLACE_UN): Likewise.
8943 (VEC_REVB): Likewise.
8944 (VEC_RINT): Likewise.
8945 (VEC_RLMI): Likewise.
8946 (VEC_RLNM): Likewise.
8947 (VEC_SBOX_BE): Likewise.
8948 (VEC_SIGNEXTI): Likewise.
8949 (VEC_SIGNEXTLL): Likewise.
8950 (VEC_SIGNEXTQ): Likewise.
8951 (VEC_SLDB): Likewise.
8952 (VEC_SLV): Likewise.
8953 (VEC_SPLATI): Likewise.
8954 (VEC_SPLATID): Likewise.
8955 (VEC_SPLATI_INS): Likewise.
8956 (VEC_SQRT): Likewise.
8957 (VEC_SRDB): Likewise.
8958 (VEC_SRV): Likewise.
8959 (VEC_STRIL): Likewise.
8960 (VEC_STRIL_P): Likewise.
8961 (VEC_STRIR): Likewise.
8962 (VEC_STRIR_P): Likewise.
8963 (VEC_STXVL): Likewise.
8964 (VEC_TERNARYLOGIC): Likewise.
8965 (VEC_TEST_LSBB_ALL_ONES): Likewise.
8966 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
8967 (VEC_VEE): Likewise.
8968 (VEC_VES): Likewise.
8969 (VEC_VIE): Likewise.
8970 (VEC_VPRTYB): Likewise.
8971 (VEC_VSCEEQ): Likewise.
8972 (VEC_VSCEGT): Likewise.
8973 (VEC_VSCELT): Likewise.
8974 (VEC_VSCEUO): Likewise.
8975 (VEC_VSEE): Likewise.
8976 (VEC_VSES): Likewise.
8977 (VEC_VSIE): Likewise.
8978 (VEC_VSTDC): Likewise.
8979 (VEC_VSTDCN): Likewise.
8980 (VEC_VTDC): Likewise.
8981 (VEC_XL): Likewise.
8982 (VEC_XL_BE): Likewise.
8983 (VEC_XL_LEN_R): Likewise.
8984 (VEC_XL_SEXT): Likewise.
8985 (VEC_XL_ZEXT): Likewise.
8986 (VEC_XST): Likewise.
8987 (VEC_XST_BE): Likewise.
8988 (VEC_XST_LEN_R): Likewise.
8989 (VEC_XST_TRUNC): Likewise.
8990 (VEC_XXPERMDI): Likewise.
8991 (VEC_XXSLDWI): Likewise.
8992 (VEC_TSTSFI_EQ_DD): Likewise.
8993 (VEC_TSTSFI_EQ_TD): Likewise.
8994 (VEC_TSTSFI_GT_DD): Likewise.
8995 (VEC_TSTSFI_GT_TD): Likewise.
8996 (VEC_TSTSFI_LT_DD): Likewise.
8997 (VEC_TSTSFI_LT_TD): Likewise.
8998 (VEC_TSTSFI_OV_DD): Likewise.
8999 (VEC_TSTSFI_OV_TD): Likewise.
9000 (VEC_VADDCUQ): Likewise.
9001 (VEC_VADDECUQ): Likewise.
9002 (VEC_VADDEUQM): Likewise.
9003 (VEC_VADDUDM): Likewise.
9004 (VEC_VADDUQM): Likewise.
9005 (VEC_VBPERMQ): Likewise.
9006 (VEC_VCLZB): Likewise.
9007 (VEC_VCLZD): Likewise.
9008 (VEC_VCLZH): Likewise.
9009 (VEC_VCLZW): Likewise.
9010 (VEC_VCTZB): Likewise.
9011 (VEC_VCTZD): Likewise.
9012 (VEC_VCTZH): Likewise.
9013 (VEC_VCTZW): Likewise.
9014 (VEC_VEEDP): Likewise.
9015 (VEC_VEESP): Likewise.
9016 (VEC_VESDP): Likewise.
9017 (VEC_VESSP): Likewise.
9018 (VEC_VIEDP): Likewise.
9019 (VEC_VIESP): Likewise.
9020 (VEC_VPKSDSS): Likewise.
9021 (VEC_VPKSDUS): Likewise.
9022 (VEC_VPKUDUM): Likewise.
9023 (VEC_VPKUDUS): Likewise.
9024 (VEC_VPOPCNT): Likewise.
9025 (VEC_VPOPCNTB): Likewise.
9026 (VEC_VPOPCNTD): Likewise.
9027 (VEC_VPOPCNTH): Likewise.
9028 (VEC_VPOPCNTW): Likewise.
9029 (VEC_VPRTYBD): Likewise.
9030 (VEC_VPRTYBQ): Likewise.
9031 (VEC_VPRTYBW): Likewise.
9032 (VEC_VRLD): Likewise.
9033 (VEC_VSLD): Likewise.
9034 (VEC_VSRAD): Likewise.
9035 (VEC_VSRD): Likewise.
9036 (VEC_VSTDCDP): Likewise.
9037 (VEC_VSTDCNDP): Likewise.
9038 (VEC_VSTDCNQP): Likewise.
9039 (VEC_VSTDCNSP): Likewise.
9040 (VEC_VSTDCQP): Likewise.
9041 (VEC_VSTDCSP): Likewise.
9042 (VEC_VSUBECUQ): Likewise.
9043 (VEC_VSUBEUQM): Likewise.
9044 (VEC_VSUBUDM): Likewise.
9045 (VEC_VSUBUQM): Likewise.
9046 (VEC_VTDCDP): Likewise.
9047 (VEC_VTDCSP): Likewise.
9048 (VEC_VUPKHSW): Likewise.
9049 (VEC_VUPKLSW): Likewise.
9050
9051 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
9052
9053 PR rtl-optimization/101260
9054 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
9055 copy_regno.
9056
9057 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
9058
9059 PR middle-end/95115
9060 * fold-const.cc (const_binop): Do not fold NaN result from
9061 non-NaN operands.
9062
9063 2022-02-01 Tom de Vries <tdevries@suse.de>
9064
9065 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
9066 -ftree-loop-distribute-patterns.
9067 (loop_distribution::execute): Don't call transform_reduction_loop for
9068 -fno-tree-loop-distribute-patterns.
9069
9070 2022-01-31 Andrew Pinski <apinski@marvell.com>
9071
9072 * fold-const.h (operand_compare::operand_equal_p):
9073 Fix comment about OEP_* flags.
9074
9075 2022-01-31 Jakub Jelinek <jakub@redhat.com>
9076
9077 PR target/104298
9078 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
9079 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
9080 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
9081 if not already defined.
9082
9083 2022-01-31 Martin Sebor <msebor@redhat.com>
9084
9085 PR middle-end/104232
9086 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
9087 Handle PHIs. Add a synonymous overload.
9088 (pass_waccess::check_pointer_uses): Call pointers_related_p.
9089
9090 2022-01-31 Richard Biener <rguenther@suse.de>
9091
9092 PR tree-optimization/100499
9093 * fold-const.cc (multiple_of_p): Pass the correct type of
9094 the expression to the recursive invocation of multiple_of_p
9095 for conversions and use CASE_CONVERT.
9096
9097 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
9098
9099 PR target/104189
9100 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
9101
9102 2022-01-31 Richard Biener <rguenther@suse.de>
9103
9104 PR tree-optimization/100499
9105 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
9106 on poly-ints instead of multiple_of_p.
9107 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
9108 (non_rewritable_mem_ref_base): Likewise.
9109 (non_rewritable_lvalue_p): Likewise.
9110 (execute_update_addresses_taken): Likewise.
9111
9112 2022-01-29 Jakub Jelinek <jakub@redhat.com>
9113 Andrew Pinski <apinski@marvell.com>
9114
9115 PR tree-optimization/104279
9116 PR tree-optimization/104280
9117 PR tree-optimization/104281
9118 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
9119 boolean_type_node and convert to type. Formatting fixes.
9120
9121 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
9122
9123 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
9124
9125 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
9126
9127 PR tree-optimization/103514
9128 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
9129 (a & b) == (a ^ b) -> !(a | b): New optimization.
9130
9131 2022-01-28 Marek Polacek <polacek@redhat.com>
9132
9133 * doc/invoke.texi: Update -Wbidi-chars documentation.
9134
9135 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
9136
9137 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
9138
9139 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
9140
9141 PR tree-optimization/95424
9142 * match.pd: Simplify 1 / X where X is an integer.
9143
9144 2022-01-28 Jakub Jelinek <jakub@redhat.com>
9145
9146 PR tree-optimization/104263
9147 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
9148 cfun->can_throw_non_call_exceptions && cfun->eh test whether
9149 last non-debug stmt in the bb is store_valid_for_store_merging_p
9150 rather than last stmt.
9151
9152 2022-01-28 Martin Liska <mliska@suse.cz>
9153
9154 * diagnostic.cc (diagnostic_action_after_output): Remove extra
9155 newline.
9156
9157 2022-01-28 Martin Liska <mliska@suse.cz>
9158
9159 * config/rs6000/host-darwin.cc (segv_crash_handler):
9160 Do not use leading capital letter.
9161 (segv_handler): Likewise.
9162 * ipa-sra.cc (verify_splitting_accesses): Likewise.
9163 * varasm.cc (get_section): Likewise.
9164
9165 2022-01-28 Richard Biener <rguenther@suse.de>
9166
9167 PR tree-optimization/104267
9168 * tree-vect-stmts.cc (vectorizable_call): Properly use the
9169 per-argument determined vector type for externals and
9170 invariants.
9171
9172 2022-01-28 Richard Biener <rguenther@suse.de>
9173
9174 PR tree-optimization/104263
9175 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
9176 Purge edges also when !cfun->has_nonlocal_label
9177 and !cfun->calls_setjmp.
9178
9179 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
9180
9181 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
9182 attributes.
9183
9184 2022-01-28 Jakub Jelinek <jakub@redhat.com>
9185
9186 PR lto/104237
9187 * cfgrtl.cc (loc_equal): New function.
9188 (unique_locus_on_edge_between_p): Use it.
9189
9190 2022-01-28 Richard Biener <rguenther@suse.de>
9191
9192 * cfganal.h (mark_dfs_back_edges): Provide API with struct
9193 function argument.
9194 * cfganal.cc (mark_dfs_back_edges): Take a struct function
9195 to work on, add a wrapper passing cfun.
9196 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
9197 uses with fun which is already passed.
9198 (draw_cfg_edges): Likewise.
9199 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
9200 for fun != cfun.
9201
9202 2022-01-27 Patrick Palka <ppalka@redhat.com>
9203
9204 PR c++/99895
9205 * tree.cc (build_call_vec): Add const to second parameter.
9206 * tree.h (build_call_vec): Likewise.
9207
9208 2022-01-27 Martin Liska <mliska@suse.cz>
9209
9210 PR web/104254
9211 * diagnostic.cc (diagnostic_initialize):
9212 Initialize report_bug flag.
9213 (diagnostic_action_after_output):
9214 Explain that -freport-bug option can be used for pre-processed
9215 file creation. Make the message shorter.
9216 (error_recursion): Rename Internal to internal.
9217 * diagnostic.h (struct diagnostic_context): New field.
9218 * opts.cc (common_handle_option): Init the field here.
9219
9220 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
9221
9222 PR target/103702
9223 * config/rs6000/rs6000.cc
9224 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
9225 assertion with early return.
9226
9227 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
9228
9229 PR middle-end/103642
9230 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
9231 for non-pointer or non-reference-to-pointer cases.
9232
9233 2022-01-27 Jakub Jelinek <jakub@redhat.com>
9234
9235 PR tree-optimization/104196
9236 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
9237 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
9238 return NULL and emit needed stmts before and after stmt.
9239 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
9240 pick as operand_entry that will hold the merged test the one feeding
9241 earliest condition, ensure that by swapping range->idx with some
9242 other range's idx if needed. If seq is non-NULL, don't actually swap
9243 it but instead rewrite stmts with undefined overflow in between
9244 the two locations.
9245 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
9246 corresponding condition even if they have non-NULL ops[]->op.
9247 Formatting fix.
9248
9249 2022-01-26 Jakub Jelinek <jakub@redhat.com>
9250
9251 PR target/104239
9252 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
9253 asm.
9254 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
9255 before for loop instead of for init clause.
9256 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
9257
9258 2022-01-26 Jakub Jelinek <jakub@redhat.com>
9259
9260 PR target/104239
9261 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
9262 _X86INTRIN_H_INCLUDED and adjust #error wording.
9263 * config/rs6000/bmi2intrin.h: Likewise.
9264
9265 2022-01-26 Jakub Jelinek <jakub@redhat.com>
9266
9267 PR debug/104194
9268 * dwarf2out.cc (long_double_as_float128): New function.
9269 (modified_type_die): For powerpc64le IEEE 754 quad long double
9270 and complex long double emit those as DW_TAG_typedef to
9271 _Float128 or complex _Float128 base type.
9272
9273 2022-01-26 Marek Polacek <polacek@redhat.com>
9274
9275 PR target/104213
9276 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
9277 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
9278
9279 2022-01-26 Martin Liska <mliska@suse.cz>
9280
9281 * ipa-modref-tree.cc (modref_access_node::update):
9282 Remove "--param param=foo" with "--param foo".
9283 (modref_access_node::insert): Likewise.
9284 (modref_access_node::insert_kill): Likewise.
9285 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
9286 (struct modref_base_node): Likewise.
9287 (struct modref_tree): Likewise.
9288
9289 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
9290
9291 PR target/94193
9292 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
9293 predicate check.
9294
9295 2022-01-25 Martin Sebor <msebor@redhat.com>
9296
9297 PR tree-optimization/104203
9298 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
9299 TV_WARN_ACCESS.
9300 * pointer-query.cc (access_ref::merge_ref): Change return type.
9301 Convert failure to a conservative success.
9302 (access_ref::get_ref): Adjust to the change above. Short-circuit
9303 PHI evaluation after first failure turned into conservative success.
9304 * pointer-query.h (access_ref::merge_ref): Change return type.
9305 * timevar.def (TV_WARN_ACCESS): New timer variable.
9306
9307 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
9308
9309 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
9310
9311 2022-01-25 Richard Biener <rguenther@suse.de>
9312
9313 PR tree-optimization/104214
9314 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
9315 stronger guarantees for relational pointer compares when
9316 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
9317 BASE0 + STEP0 - STEP1 cmp BASE1.
9318
9319 2022-01-25 Jakub Jelinek <jakub@redhat.com>
9320
9321 PR target/104172
9322 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
9323 declare.
9324 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
9325 ieee128_mangling_gcc_8_1): Remove.
9326 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
9327 (rs6000_mangle_type): Return "u9__ieee128" instead of
9328 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
9329 (rs6000_globalize_decl_name): Remove.
9330 * config/rs6000/rs6000-call.cc (init_cumulative_args,
9331 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
9332
9333 2022-01-24 Martin Sebor <msebor@redhat.com>
9334
9335 * pointer-query.cc (pointer_query::dump): Remove duplicate
9336 block.
9337
9338 2022-01-24 Marek Polacek <polacek@redhat.com>
9339
9340 PR preprocessor/104030
9341 * doc/invoke.texi: Update documentation for -Wbidi-chars.
9342
9343 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
9344
9345 PR target/94193
9346 * builtins.cc (expand_builtin_fegetround): New function.
9347 (expand_builtin_feclear_feraise_except): New function.
9348 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
9349 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
9350 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
9351 (feclearexceptsi): New Pattern.
9352 (feraiseexceptsi): New Pattern.
9353 * doc/extend.texi: Add a new introductory paragraph about the
9354 new builtins.
9355 * doc/md.texi: (fegetround@var{m}): Document new optab.
9356 (feclearexcept@var{m}): Document new optab.
9357 (feraiseexcept@var{m}): Document new optab.
9358 * optabs.def (fegetround_optab): New optab.
9359 (feclearexcept_optab): New optab.
9360 (feraiseexcept_optab): New optab.
9361
9362 2022-01-24 Richard Biener <rguenther@suse.de>
9363 Jiufu Guo <guojiufu@linux.ibm.com>
9364
9365 PR tree-optimization/100740
9366 PR tree-optimization/101508
9367 PR tree-optimization/101972
9368 PR tree-optimization/102131
9369 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
9370 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
9371 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
9372
9373 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9374
9375 PR sanitizer/104158
9376 * opt-functions.awk (var_set): Handle EnumBitSet property.
9377 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
9378 specified.
9379 * opts.h (enum cl_enum_var_value): New type.
9380 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
9381 Handle CLEV_BITSET.
9382 (cmdline_handle_error): Handle CLEV_BITSET.
9383 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
9384 * doc/options.texi (EnumBitSet): Document.
9385 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
9386 EnumSet.
9387 (trace-pc, trace-cmp): Drop Set properties.
9388
9389 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9390
9391 PR sanitizer/104158
9392 * common.opt (flag_sanitize_coverage): Remove Variable entry.
9393 (fsanitize-coverage=): Remove RejectNegative property, add
9394 Var(flag_sanitize_coverage) and EnumSet properties.
9395 (trace-pc): Add Set(1) property.
9396 (trace-cmp): Add Set(2) property.
9397 * opts.cc (common_handle_option): Don't handle
9398 OPT_fsanitize_coverage_.
9399
9400 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9401
9402 PR sanitizer/104158
9403 * opt-functions.awk (var_set): Handle EnumSet property.
9404 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
9405 specified.
9406 * opt-read.awk: Handle Set property.
9407 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
9408 (struct cl_decoded_option): Mention enum in value description.
9409 Add mask member.
9410 (set_option): Add mask argument defaulted to 0.
9411 * opts.cc (test_enum_sets): New function.
9412 (opts_cc_tests): Call it.
9413 * opts-common.cc (enum_arg_to_value): Change return argument
9414 from bool to int, on success return index into the cl_enum_arg
9415 array, on failure -1. Add len argument, if non-0, use strncmp
9416 instead of strcmp.
9417 (opt_enum_arg_to_value): Adjust caller.
9418 (decode_cmdline_option): Handle EnumSet represented as
9419 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
9420 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
9421 (handle_option): Pass decoded->mask to set_options last argument.
9422 (generate_option): Clear decoded->mask.
9423 (generate_option_input_file): Likewise.
9424 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
9425 (set_option): Add mask argument, use it for CLVC_ENUM.
9426 (control_warning_option): Adjust enum_arg_to_value caller.
9427 * doc/options.texi: Document Set and EnumSet properties.
9428
9429 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9430
9431 PR bootstrap/104170
9432 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9433 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9434 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9435 using OPTION_*_P macros.
9436 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9437 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9438 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9439 using OPTION_*_P macros.
9440 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9441 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9442 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9443 using OPTION_*_P macros.
9444 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
9445 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
9446 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
9447 using OPTION_*_P macros.
9448 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
9449 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
9450 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
9451 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
9452 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
9453 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
9454 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
9455 otherwise assume if (true).
9456
9457 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
9458
9459 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
9460 Skip zicsr and zifencei if I-ext is 2.0.
9461
9462 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
9463
9464 * config.gcc: Modify default isa_spec version.
9465
9466 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
9467
9468 PR tree-optimization/102087
9469 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
9470 Correct PLUS result type.
9471
9472 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
9473
9474 PR target/104188
9475 * config/i386/predicates.md (bcst_mem_operand): Also check mode
9476 of memory broadcast.
9477
9478 2022-01-23 Andrew Pinski <apinski@marvell.com>
9479
9480 PR target/64821
9481 * config/aarch64/aarch64-builtins.cc
9482 (aarch64_general_gimple_fold_builtin): Handle
9483 __builtin_aarch64_sqrt* and simplify into SQRT internal
9484 function.
9485
9486 2022-01-22 Jakub Jelinek <jakub@redhat.com>
9487
9488 PR other/104176
9489 * opts-global.cc (handle_common_deferred_options): Quote
9490 --enable-plugin in diagnostics to avoid -Werror=format-diag.
9491
9492 2022-01-21 Michael Meissner <meissner@the-meissners.org>
9493
9494 PR target/104136
9495 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
9496 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
9497 * config/rs6000/rs6000.md (prefixed attribute): Delete section
9498 that sets the prefixed attribute for xxspltiw, xxspltidp, and
9499 xxsplti32dx instructions.
9500 (movsf_hardfloat): Explicitly set the prefixed attribute
9501 when xxspltiw and xxspltidp instructions are generated.
9502 (mov<mode>_hardfloat32): Likewise.
9503 (mov<mode>_hardfloat64): Likewise.
9504 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
9505 prefixed attribute for xxspltiw and xxspltidp instructions.
9506 (vsx_mov<mode>_32bit): Likewise.
9507
9508 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
9509
9510 PR bootstrap/104170
9511 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
9512 Return true only on glibc.
9513 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
9514 Revert commit c163647ffbc.
9515 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
9516
9517 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
9518
9519 * common/config/s390/s390-common.cc (s390_supports_split_stack):
9520 Only support split-stack on glibc targets.
9521 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
9522 * config/i386/gnu.h (defined): Ditto.
9523
9524 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
9525
9526 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
9527 vector float and vector double.
9528
9529 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
9530
9531 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
9532 Fix mention of ifunc in string.
9533
9534 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
9535
9536 PR middle-end/104140
9537 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
9538 operands of the widening multiplication are either both signed or
9539 both unsigned, and abort the conversion if mismatched.
9540 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
9541 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
9542 signedness.
9543 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
9544 integer types with the same precision and signedness.
9545 (WIDEN_MULT_EXPR): Document that operands must have integer types
9546 with the same precision, but possibly differing signedness.
9547 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
9548 riscv_current_subset_list returning a NULL pointer (empty list).
9549
9550 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
9551
9552 PR target/103676
9553 * ira.h (struct target_ira): Add member
9554 x_ira_exclude_class_mode_regs.
9555 (ira_exclude_class_mode_regs): New macro.
9556 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
9557 move from here ...
9558 * lra-int.h: ... to here.
9559 (lra_create_new_reg_with_unique_value): Add arg
9560 exclude_start_hard_regs.
9561 (class lra_reg): Add member exclude_start_hard_regs.
9562 * lra-assigns.cc (find_hard_regno_for_1): Setup
9563 impossible_start_hard_regs from exclude_start_hard_regs.
9564 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
9565 it lra_create_new_reg[_with_unique_value].
9566 (match_reload): Ditto.
9567 (check_and_process_move): Pass NULL
9568 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
9569 (goal_alt_exclude_start_hard_regs): New static variable.
9570 (process_addr_reg, simplify_operand_subreg): Pass NULL
9571 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
9572 and get_reload_reg.
9573 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
9574 Use this_alternative_exclude_start_hard_regs additionally to find
9575 winning operand alternative.
9576 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
9577 exclude_start_hard_regs to lra_create_new_reg.
9578 (process_address_1, emit_inc): Ditto.
9579 (curr_insn_transform): Pass exclude_start_hard_regs value to
9580 lra_create_new_reg, get_reload_reg, match_reload.
9581 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
9582 to lra_create_new_reg.
9583 (process_invariant_for_inheritance): Ditto.
9584 * lra-remat.cc (update_scratch_ops): Ditto.
9585 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
9586 exclude_start_hard_regs. Setup the corresponding member of
9587 lra reg info.
9588 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
9589 to lra_create_new_reg_with_unique_value.
9590 (initialize_lra_reg_info_element): Initialize member
9591 exclude_start_hard_regs.
9592 (get_scratch_reg): Pass NULL to lra_create_new_reg.
9593 * ira.cc (setup_prohibited_class_mode_regs): Rename to
9594 setup_prohibited_and_exclude_class_mode_regs and calculate
9595 ira_exclude_class_mode_regs.
9596
9597 2022-01-21 Martin Liska <mliska@suse.cz>
9598
9599 * configure.ac: Detect ld_is_mold and use it for
9600 comdat_group=yes and gcc_cv_ld_hidden=yes.
9601 * configure: Regenerate.
9602
9603 2022-01-21 Richard Biener <rguenther@suse.de>
9604
9605 PR tree-optimization/100089
9606 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
9607 of if-converted loops with unvectorized COND_EXPRs for
9608 all but the unlimited cost models.
9609
9610 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
9611
9612 * config/arm/arm-opts.h (enum stack_protector_guard): New.
9613 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
9614 New.
9615 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
9616 (arm_option_override_internal): Handle and put in error checks.
9617 for stack protector guard options.
9618 (arm_option_reconfigure_globals): Likewise.
9619 (arm_stack_protect_tls_canary_mem): New.
9620 (arm_stack_protect_guard): New.
9621 * config/arm/arm.md (stack_protect_set): New.
9622 (stack_protect_set_tls): Likewise.
9623 (stack_protect_test): Likewise.
9624 (stack_protect_test_tls): Likewise.
9625 (reload_tp_hard): Likewise.
9626 * config/arm/arm.opt (-mstack-protector-guard): New
9627 (-mstack-protector-guard-offset): New.
9628 * doc/invoke.texi: Document new options.
9629
9630 2022-01-21 Richard Biener <rguenther@suse.de>
9631
9632 PR tree-optimization/104156
9633 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
9634 Collect and reset debug stmts with out-of-loop uses when
9635 hoisting guards.
9636 (find_loop_guard): Adjust.
9637 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
9638 (used_outside_loop_p): Push debug uses to a vector of
9639 debug stmts to reset.
9640 (hoist_guard): Adjust -fopt-info category.
9641
9642 2022-01-21 Richard Biener <rguenther@suse.de>
9643
9644 PR tree-optimization/104152
9645 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
9646 can_duplicate_and_interleave_p check.
9647
9648 2022-01-21 Jakub Jelinek <jakub@redhat.com>
9649
9650 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
9651 Avoid passing var to warning_at when the format string doesn't
9652 refer to it.
9653
9654 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
9655
9656 PR tree-optimization/103721
9657 * gimple-range-path.cc
9658 (path_range_query::relations_may_be_invalidated): New.
9659 (path_range_query::compute_ranges_in_block): Reset relations if
9660 they may be invalidated.
9661 (path_range_query::maybe_register_phi_relation): Exit if relations
9662 may be invalidated on incoming edge.
9663 (path_range_query::compute_phi_relations): Pass incoming PHI edge
9664 to maybe_register_phi_relation.
9665 * gimple-range-path.h (relations_may_be_invalidated): New.
9666 (maybe_register_phi_relation): Pass edge instead of tree.
9667 * tree-ssa-threadbackward.cc (back_threader::back_threader):
9668 Mark DFS edges.
9669 * value-relation.cc (path_oracle::path_oracle): Call
9670 mark_dfs_back_edges.
9671 (path_oracle::register_relation): Add SSA names to m_registered
9672 bitmap.
9673 (path_oracle::reset_path): Clear m_registered bitmap.
9674 * value-relation.h (path_oracle::set_root_oracle): New.
9675
9676 2022-01-21 Jakub Jelinek <jakub@redhat.com>
9677
9678 PR rtl-optimization/102478
9679 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
9680 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
9681 would be needed.
9682
9683 2022-01-20 Richard Biener <rguenther@suse.de>
9684
9685 PR middle-end/100786
9686 * gimple-fold.cc (get_symbol_constant_value): Only return
9687 values of compatible type to the symbol.
9688
9689 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
9690
9691 * value-relation.cc (relation_oracle::valid_equivs): Query and add
9692 if valid members of a set.
9693 (equiv_oracle::register_equiv): Call valid_equivs rather than
9694 bitmap direct operations.
9695 (path_oracle::register_equiv): Ditto.
9696 * value-relation.h (relation_oracle::valid_equivs): New prototype.
9697
9698 2022-01-20 Richard Biener <rguenther@suse.de>
9699
9700 PR target/100784
9701 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
9702 LHS before folding __builtin_ia32_shufpd and friends.
9703
9704 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9705
9706 * config/arm/crypto.md (aes_op_protect): Allow moves from core
9707 registers and from memory.
9708 (aes_op_protect_misalign_load): New pattern.
9709 (aes_op_protect_neon_vld1v16qi): New pattern.
9710
9711 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9712
9713 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
9714 New pattern.
9715 (aarch32_crypto_aese_fused_protected): Likewise.
9716 (aarch32_crypto_aesd_fused_protected): Likewise.
9717
9718 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9719
9720 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
9721 to define_expand. Add mitigation for the Cortex-A AES erratum
9722 when enabled.
9723 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
9724 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
9725 (aes_op_protect): New pattern.
9726 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
9727
9728 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9729
9730 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
9731 (ALL_QUIRKS): Add it.
9732 (cortex-a57, cortex-a72): Enable it.
9733 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
9734 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
9735 option.
9736 (mfix-cortex-a72-aes-1655431): New option alias.
9737 * config/arm/arm.cc (arm_option_override): Handle default settings
9738 for AES erratum switch.
9739 * doc/invoke.texi (Arm Options): Document new options.
9740
9741 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9742
9743 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
9744 <crypto_mode> rather than hard-coding the mode.
9745 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
9746 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
9747 (*aarch32_crypto_aese_fused): Likewise.
9748 (*aarch32_crypto_aesd_fused): Likewise.
9749 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
9750 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
9751 (crypto_sha1h_lb): Likewise.
9752 (crypto_vmullp64): Likewise.
9753 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
9754 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
9755
9756 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9757
9758 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
9759 iterator to pattern name to disambiguate.
9760 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
9761 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
9762 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
9763 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
9764 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
9765
9766 2022-01-20 Martin Liska <mliska@suse.cz>
9767
9768 PR bootstrap/104135
9769 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
9770 * rtl.cc: Partially disable -Wformat-diag for RTL checking
9771 error messages.
9772
9773 2022-01-20 Jakub Jelinek <jakub@redhat.com>
9774
9775 PR debug/103874
9776 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
9777 block_num > 0, index entry even if !have_multiple_function_sections.
9778
9779 2022-01-20 liuhongt <hongtao.liu@intel.com>
9780
9781 PR target/103771
9782 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
9783 integral mode mask pack by multi steps which takes
9784 vec_pack_sbool_trunc_optab as start when elements number is
9785 less than BITS_PER_UNITS.
9786
9787 2022-01-20 Richard Biener <rguenther@suse.de>
9788
9789 PR tree-optimization/104114
9790 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
9791 single element vector decomposition.
9792
9793 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9794
9795 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
9796 (noce_convert_multiple_sets): Call function a second time if we can
9797 improve the first try.
9798
9799 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9800
9801 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
9802 reversed comparison.
9803 (try_emit_cmove_seq): New function to facilitate creating a cmov
9804 sequence.
9805 (noce_convert_multiple_sets): Create two sequences and use the less
9806 expensive one.
9807
9808 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9809
9810 * rtl.h (struct rtx_comparison): New struct that holds an rtx
9811 comparison.
9812 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
9813 single parameters.
9814 (rs6000_emit_swsqrt): Likewise.
9815 * expmed.cc (expand_sdiv_pow2): Likewise.
9816 (emit_store_flag): Likewise.
9817 * expr.cc (expand_cond_expr_using_cmove): Likewise.
9818 (expand_expr_real_2): Likewise.
9819 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
9820 parameters.
9821 * optabs.cc (emit_conditional_move_1): New function.
9822 (expand_doubleword_shift_condmove): Use struct.
9823 (emit_conditional_move): Use struct and allow to call directly
9824 without going through preparation steps.
9825 * optabs.h (emit_conditional_move): Use struct.
9826
9827 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9828
9829 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
9830 (noce_process_if_block): Use potential costs.
9831
9832 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9833
9834 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
9835 (bb_ok_for_noce_convert_multiple_sets): Likewise.
9836
9837 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9838
9839 * ifcvt.cc (need_cmov_or_rewire): New function.
9840 (noce_convert_multiple_sets): Call it.
9841
9842 2022-01-19 David Malcolm <dmalcolm@redhat.com>
9843
9844 * attribs.cc (attribute_c_tests): Rename to...
9845 (attribs_cc_tests): ...this.
9846 * bitmap.cc (bitmap_c_tests): Rename to...
9847 (bitmap_cc_tests): ...this.
9848 * cgraph.cc (cgraph_c_finalize): Rename to...
9849 (cgraph_cc_finalize): ...this.
9850 (cgraph_c_tests): Rename to...
9851 (cgraph_cc_tests): ...this.
9852 * cgraph.h (cgraph_c_finalize): Rename to...
9853 (cgraph_cc_finalize): ...this.
9854 (cgraphunit_c_finalize): Rename to...
9855 (cgraphunit_cc_finalize): ...this.
9856 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
9857 (cgraphunit_cc_finalize): ...this.
9858 * convert.cc (convert_c_tests): Rename to...
9859 (convert_cc_tests): ...this.
9860 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
9861 (dbgcnt_cc_tests): ...this.
9862 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
9863 (diagnostic_show_locus_cc_tests): ...this.
9864 * diagnostic.cc (diagnostic_c_tests): Rename to...
9865 (diagnostic_cc_tests): ...this.
9866 * dumpfile.cc (dumpfile_c_tests): Rename to...
9867 (dumpfile_cc_tests): ...this.
9868 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
9869 (dwarf2out_cc_finalize): ...this.
9870 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
9871 (dwarf2out_cc_finalize): ...this.
9872 * edit-context.cc (edit_context_c_tests): Rename to...
9873 (edit_context_cc_tests): ...this.
9874 * et-forest.cc (et_forest_c_tests): Rename to...
9875 (et_forest_cc_tests): ...this.
9876 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
9877 (fibonacci_heap_cc_tests): ...this.
9878 * fold-const.cc (fold_const_c_tests): Rename to...
9879 (fold_const_cc_tests): ...this.
9880 * function-tests.cc (function_tests_c_tests): Rename to...
9881 (function_tests_cc_tests): ...this.
9882 * gcse.cc (gcse_c_finalize): Rename to...
9883 (gcse_cc_finalize): ...this.
9884 * gcse.h (gcse_c_finalize): Rename to...
9885 (gcse_cc_finalize): ...this.
9886 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
9887 (ggc_tests_cc_tests): ...this.
9888 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
9889 (store_merging_cc_tests): ...this.
9890 * gimple.cc (gimple_c_tests): Rename to...
9891 (gimple_cc_tests): ...this.
9892 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
9893 (hash_map_tests_cc_tests): ...this.
9894 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
9895 (hash_set_tests_cc_tests): ...this.
9896 * input.cc (input_c_tests): Rename to...
9897 (input_cc_tests): ...this.
9898 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
9899 (ipa_cp_cc_finalize): ...this.
9900 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
9901 (ipa_fnsummary_cc_finalize): ...this.
9902 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
9903 (ipa_fnsummary_cc_finalize): ...this.
9904 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
9905 (ipa_modref_tree_cc_tests): ...this.
9906 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
9907 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
9908 (ipa_modref_cc_finalize): ...this.
9909 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
9910 (ipa_modref_cc_finalize): ...this.
9911 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
9912 (ipa_cp_cc_finalize): ...this.
9913 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
9914 (ipa_reference_cc_finalize): ...this.
9915 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
9916 (ipa_reference_cc_finalize): ...this.
9917 * ira-costs.cc (ira_costs_c_finalize): Rename to...
9918 (ira_costs_cc_finalize): ...this.
9919 * ira.h (ira_costs_c_finalize): Rename to...
9920 (ira_costs_cc_finalize): ...this.
9921 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
9922 (opt_suggestions_cc_tests): ...this.
9923 * opts.cc (opts_c_tests): Rename to...
9924 (opts_cc_tests): ...this.
9925 * predict.cc (predict_c_tests): Rename to...
9926 (predict_cc_tests): ...this.
9927 * pretty-print.cc (pretty_print_c_tests): Rename to...
9928 (pretty_print_cc_tests): ...this.
9929 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
9930 (read_rtl_function_cc_tests): ...this.
9931 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
9932 (rtl_tests_cc_tests): ...this.
9933 * sbitmap.cc (sbitmap_c_tests): Rename to...
9934 (sbitmap_cc_tests): ...this.
9935 * selftest-run-tests.cc (selftest::run_tests): Update calls for
9936 _c_ to _cc_ function renamings; fix names of attribs and
9937 opt-suggestions tests.
9938 * selftest.cc (selftest_c_tests): Rename to...
9939 (selftest_cc_tests): ...this.
9940 * selftest.h (attribute_c_tests): Rename to...
9941 (attribs_cc_tests): ...this.
9942 (bitmap_c_tests): Rename to...
9943 (bitmap_cc_tests): ...this.
9944 (cgraph_c_tests): Rename to...
9945 (cgraph_cc_tests): ...this.
9946 (convert_c_tests): Rename to...
9947 (convert_cc_tests): ...this.
9948 (diagnostic_c_tests): Rename to...
9949 (diagnostic_cc_tests): ...this.
9950 (diagnostic_show_locus_c_tests): Rename to...
9951 (diagnostic_show_locus_cc_tests): ...this.
9952 (dumpfile_c_tests): Rename to...
9953 (dumpfile_cc_tests): ...this.
9954 (edit_context_c_tests): Rename to...
9955 (edit_context_cc_tests): ...this.
9956 (et_forest_c_tests): Rename to...
9957 (et_forest_cc_tests): ...this.
9958 (fibonacci_heap_c_tests): Rename to...
9959 (fibonacci_heap_cc_tests): ...this.
9960 (fold_const_c_tests): Rename to...
9961 (fold_const_cc_tests): ...this.
9962 (function_tests_c_tests): Rename to...
9963 (function_tests_cc_tests): ...this.
9964 (ggc_tests_c_tests): Rename to...
9965 (ggc_tests_cc_tests): ...this.
9966 (gimple_c_tests): Rename to...
9967 (gimple_cc_tests): ...this.
9968 (hash_map_tests_c_tests): Rename to...
9969 (hash_map_tests_cc_tests): ...this.
9970 (hash_set_tests_c_tests): Rename to...
9971 (hash_set_tests_cc_tests): ...this.
9972 (input_c_tests): Rename to...
9973 (input_cc_tests): ...this.
9974 (opts_c_tests): Rename to...
9975 (opts_cc_tests): ...this.
9976 (predict_c_tests): Rename to...
9977 (predict_cc_tests): ...this.
9978 (pretty_print_c_tests): Rename to...
9979 (pretty_print_cc_tests): ...this.
9980 (read_rtl_function_c_tests): Rename to...
9981 (read_rtl_function_cc_tests): ...this.
9982 (rtl_tests_c_tests): Rename to...
9983 (rtl_tests_cc_tests): ...this.
9984 (sbitmap_c_tests): Rename to...
9985 (sbitmap_cc_tests): ...this.
9986 (selftest_c_tests): Rename to...
9987 (selftest_cc_tests): ...this.
9988 (simplify_rtx_c_tests): Rename to...
9989 (simplify_rtx_cc_tests): ...this.
9990 (spellcheck_c_tests): Rename to...
9991 (spellcheck_cc_tests): ...this.
9992 (spellcheck_tree_c_tests): Rename to...
9993 (spellcheck_tree_cc_tests): ...this.
9994 (sreal_c_tests): Rename to...
9995 (sreal_cc_tests): ...this.
9996 (store_merging_c_tests): Rename to...
9997 (store_merging_cc_tests): ...this.
9998 (tree_c_tests): Rename to...
9999 (tree_cc_tests): ...this.
10000 (tree_cfg_c_tests): Rename to...
10001 (tree_cfg_cc_tests): ...this.
10002 (typed_splay_tree_c_tests): Rename to...
10003 (typed_splay_tree_cc_tests): ...this.
10004 (vec_c_tests): Rename to...
10005 (vec_cc_tests): ...this.
10006 (vec_perm_indices_c_tests): Rename to...
10007 (vec_perm_indices_cc_tests): ..this.
10008 (opt_proposer_c_tests): Rename to...
10009 (opt_suggestions_cc_tests): ...this.
10010 (dbgcnt_c_tests): Rename to...
10011 (dbgcnt_cc_tests): ...this.
10012 (ipa_modref_tree_c_tests): Rename to...
10013 (ipa_modref_tree_cc_tests): ...this.
10014 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
10015 (simplify_rtx_cc_tests): ...this.
10016 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
10017 (spellcheck_tree_cc_tests): ...this.
10018 * spellcheck.cc (spellcheck_c_tests): Rename to...
10019 (spellcheck_cc_tests): ...this.
10020 * sreal.cc (sreal_c_tests): Rename to...
10021 (sreal_cc_tests): ...this.
10022 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
10023 function renamings.
10024 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
10025 (tree_cfg_cc_tests): ...this.
10026 * tree.cc (tree_c_tests): Rename to...
10027 (tree_cc_tests): ...this.
10028 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
10029 (typed_splay_tree_cc_tests): ...this.
10030 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
10031 (vec_perm_indices_cc_tests): ...this.
10032 * vec.cc (vec_c_tests): Rename to...
10033 (vec_cc_tests): ...this.
10034
10035 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
10036
10037 PR tree-optimization/103997
10038 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
10039 vectorization.
10040
10041 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10042
10043 PR middle-end/102860
10044 * match.pd (x %[fl] y -> x % y): New simplification for
10045 unsigned integral types.
10046 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
10047 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
10048
10049 2022-01-19 Richard Biener <rguenther@suse.de>
10050
10051 PR tree-optimization/104112
10052 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
10053 for required intermediate vector types.
10054
10055 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10056
10057 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
10058
10059 2022-01-19 Martin Liska <mliska@suse.cz>
10060
10061 * configure.ac: Remove -Wno-error=format-diag.
10062 * configure: Regenerate.
10063
10064 2022-01-19 Martin Liska <mliska@suse.cz>
10065
10066 * config/riscv/riscv.cc (riscv_handle_type_attribute):
10067 Update one -Wformat-diag string in warning message.
10068
10069 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10070
10071 PR middle-end/104103
10072 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
10073 .ASAN_MARK calls.
10074
10075 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10076
10077 PR c++/89074
10078 * fold-const.cc (address_compare): Consider different STRING_CSTs
10079 with the same lengths that memcmp the same as equal, not different.
10080
10081 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10082
10083 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
10084 {%0}.
10085
10086 2022-01-19 Martin Liska <mliska@suse.cz>
10087 Thomas Schwinge <thomas@codesourcery.com>
10088
10089 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
10090 warning messages.
10091
10092 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
10093
10094 PR target/104090
10095 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
10096 rs6000_cpu.
10097
10098 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10099
10100 PR target/104104
10101 * config/i386/sse.md
10102 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
10103 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
10104 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
10105 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
10106 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
10107 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
10108 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
10109 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
10110 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
10111
10112 2022-01-19 Martin Sebor <msebor@redhat.com>
10113
10114 PR middle-end/104069
10115 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
10116 an unknown result as documented.
10117
10118 2022-01-18 Andrew Pinski <apinski@marvell.com>
10119
10120 * ipa-split.cc (visit_bb): Fix comment before the
10121 warning/error attribute checking code.
10122
10123 2022-01-18 David Faust <david.faust@oracle.com>
10124
10125 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
10126 for base strtab offset yet as it may change.
10127 (output_asm_btfext_core_reloc): Do so here instead.
10128 (output_btfext_core_sections): Likewise.
10129
10130 2022-01-18 David Faust <david.faust@oracle.com>
10131
10132 * config/bpf/coreout.cc (output_btfext_header): Account for
10133 4-byte record size in core_relo_len.
10134 (output_btfext_core_sections): Only write record size once.
10135 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
10136 member.
10137
10138 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
10139
10140 * common/config/riscv/riscv-common.cc
10141 (riscv_subset_list::parse_multiletter_ext): Move pointer
10142 arithmetic ahead of `free'.
10143
10144 2022-01-18 Jason Merrill <jason@redhat.com>
10145
10146 PR c++/104007
10147 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
10148 context.
10149
10150 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
10151
10152 PR middle-end/103163
10153 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
10154 (init_emit_once): ...not here.
10155
10156 2022-01-18 Martin Liska <mliska@suse.cz>
10157
10158 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
10159 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
10160 * config/arc/arc.md: Likewise.
10161 * config/avr/avr.cc (avr_section_type_flags): Likewise.
10162 * config/bfin/bfin.cc (bfin_option_override): Likewise.
10163 (bfin_handle_longcall_attribute): Likewise.
10164 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
10165 * config/frv/frv.cc (frv_expand_builtin): Likewise.
10166 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
10167 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
10168 (iq2000_print_operand_address): Likewise.
10169 (iq2000_print_operand): Likewise.
10170 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
10171 (m32c_pragma_address): Likewise.
10172 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
10173 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
10174 (mips_set_compression_mode): Likewise.
10175 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
10176 (mmix_print_operand): Likewise.
10177 (mmix_output_shiftvalue_op_from_str): Likewise.
10178 (mmix_output_shifted_value): Likewise.
10179 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
10180 * config/msp430/msp430.cc (msp430_option_override): Likewise.
10181 (msp430_attr): Likewise.
10182 (msp430_expand_delay_cycles): Likewise.
10183 (msp430_expand_builtin): Likewise.
10184 * config/rs6000/aix73.h: Likewise.
10185 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
10186 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
10187 (valid_psw_flag): Likewise.
10188 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
10189 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
10190 (xstormy16_expand_builtin_va_start): Likewise.
10191 (xstormy16_handle_below100_attribute): Likewise.
10192
10193 2022-01-18 Martin Liska <mliska@suse.cz>
10194
10195 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
10196 warning.
10197 (vms_pragma_standard): Likewise.
10198 (vms_pragma_extern_prefix): Likewise.
10199
10200 2022-01-18 Martin Liska <mliska@suse.cz>
10201
10202 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
10203 (print_operand_address): Likewise.
10204 (xtensa_multibss_section_type_flags): Likewise.
10205
10206 2022-01-18 Martin Liska <mliska@suse.cz>
10207
10208 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
10209 wording of an error message.
10210
10211 2022-01-18 Martin Liska <mliska@suse.cz>
10212
10213 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
10214 warning.
10215 (ghs_pragma_section): Likewise.
10216 (ghs_pragma_interrupt): Likewise.
10217 (ghs_pragma_starttda): Likewise.
10218 (ghs_pragma_startsda): Likewise.
10219 (ghs_pragma_startzda): Likewise.
10220 (ghs_pragma_endtda): Likewise.
10221 (ghs_pragma_endsda): Likewise.
10222 (ghs_pragma_endzda): Likewise.
10223
10224 2022-01-18 Martin Liska <mliska@suse.cz>
10225
10226 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
10227 Fix warnings.
10228 * config/nds32/nds32-intrinsic.md: Likewise.
10229 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
10230 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
10231 (nds32_insert_attributes): Likewise.
10232
10233 2022-01-18 Martin Liska <mliska@suse.cz>
10234
10235 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
10236 keyword.
10237 * config/nvptx/nvptx.md: Remove trailing dot.
10238
10239 2022-01-18 Martin Liska <mliska@suse.cz>
10240
10241 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
10242 Wrap keywords with quotes and remove trailing dots.
10243 (riscv_subset_list::parsing_subset_version): Likewise.
10244 (riscv_subset_list::parse_std_ext): Likewise.
10245 (riscv_subset_list::parse_multiletter_ext): Likewise.
10246 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
10247
10248 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
10249
10250 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
10251 argument suggested_unroll_factor.
10252 (vect_analyze_loop_costing): Likewise.
10253 (_loop_vec_info::_loop_vec_info): Initialize new member
10254 suggested_unroll_factor.
10255 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
10256 main loop use partial vectors.
10257 (vect_analyze_loop_2): Pass and use new argument
10258 suggested_unroll_factor.
10259 (vect_analyze_loop_1): Change to intialize local
10260 suggested_unroll_factor and use it.
10261 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
10262 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
10263 suggested_unroll_factor.
10264 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
10265 (vector_costs::suggested_unroll_factor): New getter function.
10266 (finish_cost): Set return argument suggested_unroll_factor.
10267
10268 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
10269
10270 PR tree-optimization/104038
10271 * doc/invoke.texi (relation-block-limit): New.
10272 * params.opt (relation-block-limit): New.
10273 * value-relation.cc (dom_oracle::register_relation): Check for NULL
10274 record before invoking transitive registery.
10275 (dom_oracle::set_one_relation): Check limit before creating record.
10276 (dom_oracle::register_transitives): Stop when no record created.
10277 * value-relation.h (relation_chain_head::m_num_relations): New.
10278
10279 2022-01-18 Richard Biener <rguenther@suse.de>
10280
10281 PR ipa/103989
10282 * ipa-inline.cc (inline_small_functions): Do not enqueue call
10283 edges originating in functions compiled with -Og.
10284
10285 2022-01-18 Richard Biener <rguenther@suse.de>
10286
10287 PR ipa/103989
10288 * passes.def (pass_all_optimizations_g): Remove pass_modref
10289 and pass_local_pure_const.
10290
10291 2022-01-18 Martin Liska <mliska@suse.cz>
10292
10293 * config/s390/s390.cc: Fix -Wformat-diag warnings.
10294
10295 2022-01-18 Martin Liska <mliska@suse.cz>
10296
10297 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
10298 keyword in quotes.
10299 (s390_resolve_overloaded_builtin): Remove trailing dot.
10300 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
10301 (s390_expand_builtin): Remove trailing dot.
10302 (s390_emit_prologue): Likewise, use semicolon.
10303 (s390_option_override_internal): Update keyword.
10304 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
10305
10306 2022-01-18 Martin Liska <mliska@suse.cz>
10307
10308 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
10309 keywords and use %qs instead of %<%s%>.
10310
10311 2022-01-18 Richard Biener <rguenther@suse.de>
10312
10313 PR tree-optimization/103987
10314 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
10315 query with a pointer check.
10316
10317 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
10318
10319 PR target/104005
10320 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
10321 When using MEM_EXPR, require the base to be a decl.
10322
10323 2022-01-18 Richard Biener <rguenther@suse.de>
10324
10325 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
10326 avoid padding.
10327 * function.h (struct function): Likewise.
10328
10329 2022-01-18 Arnaud Charlet <charlet@adacore.com>
10330
10331 * doc/install.texi: Update prerequisites for GNAT
10332
10333 2022-01-18 Andrew Pinski <apinski@marvell.com>
10334
10335 PR tree-optimization/101941
10336 * ipa-split.cc (visit_bb): Disallow function calls where
10337 the function has either error or warning attribute.
10338
10339 2022-01-18 Richard Biener <rguenther@suse.de>
10340
10341 PR tree-optimization/104064
10342 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
10343 DR_INIT fits in a signed HWI, represent the difference from the
10344 first DR in unsigned.
10345
10346 2022-01-17 Martin Liska <mliska@suse.cz>
10347
10348 * Makefile.in: Rename .c names to .cc.
10349 * config.gcc: Likewise.
10350 * configure: Regenerate. Likewise.
10351 * configure.ac: Likewise.
10352 * gengtype.cc (set_gc_used): Likewise.
10353 (source_dot_c_frul): Likewise.
10354 (source_dot_cc_frul): Likewise.
10355 (struct file_rule_st): Likewise.
10356 (close_output_files): Likewise.
10357 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
10358
10359 2022-01-17 Martin Liska <mliska@suse.cz>
10360
10361 * Makefile.in: Rename .c names to .cc.
10362 * alias.h: Likewise.
10363 * asan.cc: Likewise.
10364 * auto-profile.h: Likewise.
10365 * basic-block.h (struct basic_block_d): Likewise.
10366 * btfout.cc: Likewise.
10367 * builtins.cc (expand_builtin_longjmp): Likewise.
10368 (validate_arg): Likewise.
10369 (access_ref::offset_bounded): Likewise.
10370 * caller-save.cc (reg_restore_code): Likewise.
10371 (setup_save_areas): Likewise.
10372 * calls.cc (initialize_argument_information): Likewise.
10373 (expand_call): Likewise.
10374 (emit_library_call_value_1): Likewise.
10375 * cfg-flags.def (RTL): Likewise.
10376 (SIBCALL): Likewise.
10377 (CAN_FALLTHRU): Likewise.
10378 * cfganal.cc (post_order_compute): Likewise.
10379 * cfgcleanup.cc (try_simplify_condjump): Likewise.
10380 (merge_blocks_move_predecessor_nojumps): Likewise.
10381 (merge_blocks_move_successor_nojumps): Likewise.
10382 (merge_blocks_move): Likewise.
10383 (old_insns_match_p): Likewise.
10384 (try_crossjump_bb): Likewise.
10385 * cfgexpand.cc (expand_gimple_stmt): Likewise.
10386 * cfghooks.cc (split_block_before_cond_jump): Likewise.
10387 (profile_record_check_consistency): Likewise.
10388 * cfghooks.h: Likewise.
10389 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
10390 (rtl_can_merge_blocks): Likewise.
10391 (try_redirect_by_replacing_jump): Likewise.
10392 (make_pass_outof_cfg_layout_mode): Likewise.
10393 (cfg_layout_can_merge_blocks_p): Likewise.
10394 * cgraph.cc (release_function_body): Likewise.
10395 (cgraph_node::get_fun): Likewise.
10396 * cgraph.h (struct cgraph_node): Likewise.
10397 (asmname_hasher::equal): Likewise.
10398 (cgraph_inline_failed_type): Likewise.
10399 (thunk_adjust): Likewise.
10400 (dump_callgraph_transformation): Likewise.
10401 (record_references_in_initializer): Likewise.
10402 (ipa_discover_variable_flags): Likewise.
10403 * cgraphclones.cc (GTY): Likewise.
10404 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
10405 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
10406 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
10407 * collect2.cc (maybe_run_lto_and_relink): Likewise.
10408 * combine-stack-adj.cc: Likewise.
10409 * combine.cc (setup_incoming_promotions): Likewise.
10410 (combine_simplify_rtx): Likewise.
10411 (count_rtxs): Likewise.
10412 * common.opt: Likewise.
10413 * common/config/aarch64/aarch64-common.cc: Likewise.
10414 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
10415 * common/config/avr/avr-common.cc: Likewise.
10416 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
10417 * conditions.h: Likewise.
10418 * config.gcc: Likewise.
10419 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
10420 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
10421 (aarch64_get_extension_string_for_isa_flags): Likewise.
10422 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
10423 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
10424 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
10425 (aarch64_option_valid_attribute_p): Likewise.
10426 (aarch64_short_vector_p): Likewise.
10427 (aarch64_float_const_representable_p): Likewise.
10428 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
10429 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
10430 (GTY): Likewise.
10431 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
10432 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
10433 * config/aarch64/t-aarch64: Likewise.
10434 * config/aarch64/x-aarch64: Likewise.
10435 * config/aarch64/x-darwin: Likewise.
10436 * config/alpha/alpha-protos.h: Likewise.
10437 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
10438 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10439 (enum reg_class): Likewise.
10440 * config/alpha/alpha.md: Likewise.
10441 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
10442 * config/alpha/x-alpha: Likewise.
10443 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
10444 * config/arc/arc.cc (ARC_OPT): Likewise.
10445 (arc_ccfsm_advance): Likewise.
10446 (arc_arg_partial_bytes): Likewise.
10447 (conditionalize_nonjump): Likewise.
10448 * config/arc/arc.md: Likewise.
10449 * config/arc/builtins.def: Likewise.
10450 * config/arc/t-arc: Likewise.
10451 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
10452 (arm_pragma_target_parse): Likewise.
10453 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
10454 (arm_cpu_cpp_builtins): Likewise.
10455 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
10456 (shift_op): Likewise.
10457 (thumb2_final_prescan_insn): Likewise.
10458 (arm_final_prescan_insn): Likewise.
10459 (arm_asm_output_labelref): Likewise.
10460 (arm_small_register_classes_for_mode_p): Likewise.
10461 * config/arm/arm.h: Likewise.
10462 * config/arm/arm.md: Likewise.
10463 * config/arm/driver-arm.cc: Likewise.
10464 * config/arm/symbian.h: Likewise.
10465 * config/arm/t-arm: Likewise.
10466 * config/arm/thumb1.md: Likewise.
10467 * config/arm/x-arm: Likewise.
10468 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
10469 * config/avr/avr-fixed.md: Likewise.
10470 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
10471 * config/avr/avr-mcus.def: Likewise.
10472 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
10473 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
10474 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
10475 * config/avr/avr.cc (avr_option_override): Likewise.
10476 (avr_build_builtin_va_list): Likewise.
10477 (avr_mode_dependent_address_p): Likewise.
10478 (avr_function_arg_advance): Likewise.
10479 (avr_asm_output_aligned_decl_common): Likewise.
10480 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
10481 (SUPPORTS_INIT_PRIORITY): Likewise.
10482 * config/avr/avr.md: Likewise.
10483 * config/avr/builtins.def: Likewise.
10484 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10485 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
10486 (main): Likewise.
10487 * config/avr/t-avr: Likewise.
10488 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
10489 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
10490 * config/bpf/bpf.h (enum reg_class): Likewise.
10491 * config/bpf/t-bpf: Likewise.
10492 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
10493 * config/cr16/cr16-protos.h: Likewise.
10494 * config/cris/cris.cc (cris_address_cost): Likewise.
10495 (cris_side_effect_mode_ok): Likewise.
10496 (cris_init_machine_status): Likewise.
10497 (cris_emit_movem_store): Likewise.
10498 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
10499 (enum reg_class): Likewise.
10500 (struct cum_args): Likewise.
10501 * config/cris/cris.opt: Likewise.
10502 * config/cris/sync.md: Likewise.
10503 * config/csky/csky.cc (csky_expand_prologue): Likewise.
10504 * config/darwin-c.cc: Likewise.
10505 * config/darwin-f.cc: Likewise.
10506 * config/darwin-sections.def (zobj_const_section): Likewise.
10507 * config/darwin.cc (output_objc_section_asm_op): Likewise.
10508 (fprintf): Likewise.
10509 * config/darwin.h (GTY): Likewise.
10510 * config/elfos.h: Likewise.
10511 * config/epiphany/epiphany-sched.md: Likewise.
10512 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
10513 * config/epiphany/epiphany.h (GTY): Likewise.
10514 (NO_FUNCTION_CSE): Likewise.
10515 * config/epiphany/mode-switch-use.cc: Likewise.
10516 * config/epiphany/predicates.md: Likewise.
10517 * config/epiphany/t-epiphany: Likewise.
10518 * config/fr30/fr30-protos.h: Likewise.
10519 * config/frv/frv-protos.h: Likewise.
10520 * config/frv/frv.cc (TLS_BIAS): Likewise.
10521 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
10522 * config/ft32/ft32-protos.h: Likewise.
10523 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
10524 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
10525 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
10526 * config/gcn/t-gcn-hsa: Likewise.
10527 * config/gcn/t-omp-device: Likewise.
10528 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
10529 (same_cmp_following_p): Likewise.
10530 * config/h8300/h8300.cc (F): Likewise.
10531 * config/h8300/h8300.h (struct cum_arg): Likewise.
10532 (BRANCH_COST): Likewise.
10533 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
10534 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
10535 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
10536 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
10537 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
10538 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
10539 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
10540 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
10541 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
10542 (ix86_register_pragmas): Likewise.
10543 (ix86_d_has_stdcall_convention): Likewise.
10544 (i386_pe_seh_init_sections): Likewise.
10545 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
10546 (ix86_function_value_regno_p): Likewise.
10547 (ix86_compute_frame_layout): Likewise.
10548 (legitimize_pe_coff_symbol): Likewise.
10549 (output_pic_addr_const): Likewise.
10550 * config/i386/i386.h (defined): Likewise.
10551 (host_detect_local_cpu): Likewise.
10552 (CONSTANT_ADDRESS_P): Likewise.
10553 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
10554 (struct machine_frame_state): Likewise.
10555 * config/i386/i386.md: Likewise.
10556 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
10557 * config/i386/mmx.md: Likewise.
10558 * config/i386/sse.md: Likewise.
10559 * config/i386/t-cygming: Likewise.
10560 * config/i386/t-djgpp: Likewise.
10561 * config/i386/t-gnu-property: Likewise.
10562 * config/i386/t-i386: Likewise.
10563 * config/i386/t-intelmic: Likewise.
10564 * config/i386/t-omp-device: Likewise.
10565 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
10566 (i386_pe_adjust_class_at_definition): Likewise.
10567 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
10568 (i386_pe_mangle_decl_assembler_name): Likewise.
10569 (i386_pe_encode_section_info): Likewise.
10570 * config/i386/x-cygwin: Likewise.
10571 * config/i386/x-darwin: Likewise.
10572 * config/i386/x-i386: Likewise.
10573 * config/i386/x-mingw32: Likewise.
10574 * config/i386/x86-tune-sched-core.cc: Likewise.
10575 * config/i386/x86-tune.def: Likewise.
10576 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
10577 * config/ia64/freebsd.h: Likewise.
10578 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
10579 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
10580 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
10581 (ia64_secondary_reload_class): Likewise.
10582 (bundling): Likewise.
10583 * config/ia64/ia64.h: Likewise.
10584 * config/ia64/ia64.md: Likewise.
10585 * config/ia64/predicates.md: Likewise.
10586 * config/ia64/sysv4.h: Likewise.
10587 * config/ia64/t-ia64: Likewise.
10588 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
10589 * config/iq2000/iq2000.md: Likewise.
10590 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
10591 (if): Likewise.
10592 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
10593 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
10594 * config/m32c/t-m32c: Likewise.
10595 * config/m32r/m32r-protos.h: Likewise.
10596 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
10597 * config/m32r/m32r.h: Likewise.
10598 * config/m32r/m32r.md: Likewise.
10599 * config/m68k/m68k-isas.def: Likewise.
10600 * config/m68k/m68k-microarchs.def: Likewise.
10601 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
10602 (m68k_epilogue_uses): Likewise.
10603 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
10604 (m68k_sched_adjust_cost): Likewise.
10605 (m68k_sched_md_init): Likewise.
10606 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
10607 (enum m68k_function_kind): Likewise.
10608 * config/m68k/m68k.md: Likewise.
10609 * config/m68k/m68kemb.h: Likewise.
10610 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
10611 * config/mcore/mcore-protos.h: Likewise.
10612 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
10613 (mcore_expand_prolog): Likewise.
10614 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
10615 * config/mcore/mcore.md: Likewise.
10616 * config/microblaze/microblaze-protos.h: Likewise.
10617 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
10618 (microblaze_function_prologue): Likewise.
10619 (microblaze_function_epilogue): Likewise.
10620 (microblaze_select_section): Likewise.
10621 (microblaze_asm_output_mi_thunk): Likewise.
10622 (microblaze_eh_return): Likewise.
10623 * config/microblaze/microblaze.h: Likewise.
10624 * config/microblaze/microblaze.md: Likewise.
10625 * config/microblaze/t-microblaze: Likewise.
10626 * config/mips/driver-native.cc: Likewise.
10627 * config/mips/loongson2ef.md: Likewise.
10628 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
10629 * config/mips/mips.cc (mips_rtx_costs): Likewise.
10630 (mips_output_filename): Likewise.
10631 (mips_output_function_prologue): Likewise.
10632 (mips_output_function_epilogue): Likewise.
10633 (mips_output_mi_thunk): Likewise.
10634 * config/mips/mips.h: Likewise.
10635 * config/mips/mips.md: Likewise.
10636 * config/mips/t-mips: Likewise.
10637 * config/mips/x-native: Likewise.
10638 * config/mmix/mmix-protos.h: Likewise.
10639 * config/mmix/mmix.cc (mmix_option_override): Likewise.
10640 (mmix_dbx_register_number): Likewise.
10641 (mmix_expand_prologue): Likewise.
10642 * config/mmix/mmix.h: Likewise.
10643 * config/mmix/mmix.md: Likewise.
10644 * config/mmix/predicates.md: Likewise.
10645 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
10646 (mn10300_legitimate_pic_operand_p): Likewise.
10647 * config/mn10300/mn10300.h (enum reg_class): Likewise.
10648 (NO_FUNCTION_CSE): Likewise.
10649 * config/moxie/moxie-protos.h: Likewise.
10650 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
10651 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
10652 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
10653 (msp430_incoming_return_addr_rtx): Likewise.
10654 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
10655 * config/msp430/t-msp430: Likewise.
10656 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
10657 (nds32_rtx_costs_size_prefer): Likewise.
10658 (nds32_init_rtx_costs): Likewise.
10659 * config/nds32/nds32-doubleword.md: Likewise.
10660 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
10661 (nds32_builtin_decl): Likewise.
10662 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
10663 (enum nds32_isr_nested_type): Likewise.
10664 (enum reg_class): Likewise.
10665 * config/nds32/predicates.md: Likewise.
10666 * config/nds32/t-nds32: Likewise.
10667 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
10668 * config/nvptx/nvptx-protos.h: Likewise.
10669 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
10670 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
10671 * config/nvptx/t-nvptx: Likewise.
10672 * config/nvptx/t-omp-device: Likewise.
10673 * config/pa/elf.h: Likewise.
10674 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
10675 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
10676 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
10677 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
10678 (pa_legitimize_reload_address): Likewise.
10679 (pa_can_use_return_insn): Likewise.
10680 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
10681 (som_output_text_section_asm_op): Likewise.
10682 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
10683 * config/pa/pa.md: Likewise.
10684 * config/pa/som.h: Likewise.
10685 * config/pa/t-pa: Likewise.
10686 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
10687 * config/pdp11/pdp11.h: Likewise.
10688 * config/pdp11/pdp11.md: Likewise.
10689 * config/pdp11/t-pdp11: Likewise.
10690 * config/pru/pru.md: Likewise.
10691 * config/pru/t-pru: Likewise.
10692 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
10693 (riscv_gpr_save_operation_p): Likewise.
10694 (riscv_d_register_target_info): Likewise.
10695 (riscv_init_builtins): Likewise.
10696 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
10697 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
10698 * config/riscv/t-riscv: Likewise.
10699 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
10700 * config/rl78/t-rl78: Likewise.
10701 * config/rs6000/aix.h: Likewise.
10702 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
10703 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
10704 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
10705 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
10706 * config/rs6000/driver-rs6000.cc: Likewise.
10707 * config/rs6000/freebsd.h: Likewise.
10708 * config/rs6000/freebsd64.h: Likewise.
10709 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
10710 * config/rs6000/rbtree.cc: Likewise.
10711 * config/rs6000/rbtree.h: Likewise.
10712 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
10713 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
10714 (rs6000_expand_builtin): Likewise.
10715 (rs6000_init_builtins): Likewise.
10716 * config/rs6000/rs6000-cpus.def: Likewise.
10717 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
10718 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
10719 (quad_address_offset_p): Likewise.
10720 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
10721 (rs6000_emit_epilogue): Likewise.
10722 * config/rs6000/rs6000-overload.def: Likewise.
10723 * config/rs6000/rs6000-p8swap.cc: Likewise.
10724 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
10725 (rs6000_const_f32_to_i32): Likewise.
10726 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
10727 (rs6000_debug_legitimize_address): Likewise.
10728 (rs6000_mode_dependent_address): Likewise.
10729 (rs6000_adjust_priority): Likewise.
10730 (rs6000_c_mode_for_suffix): Likewise.
10731 * config/rs6000/rs6000.h (defined): Likewise.
10732 (LONG_DOUBLE_TYPE_SIZE): Likewise.
10733 * config/rs6000/rs6000.md: Likewise.
10734 * config/rs6000/sysv4.h: Likewise.
10735 * config/rs6000/t-linux: Likewise.
10736 * config/rs6000/t-linux64: Likewise.
10737 * config/rs6000/t-rs6000: Likewise.
10738 * config/rs6000/x-darwin: Likewise.
10739 * config/rs6000/x-darwin64: Likewise.
10740 * config/rs6000/x-rs6000: Likewise.
10741 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
10742 * config/rx/rx.cc (rx_expand_builtin): Likewise.
10743 * config/s390/constraints.md: Likewise.
10744 * config/s390/driver-native.cc: Likewise.
10745 * config/s390/htmxlintrin.h: Likewise.
10746 * config/s390/s390-builtins.def (B_DEF): Likewise.
10747 (OB_DEF_VAR): Likewise.
10748 * config/s390/s390-builtins.h: Likewise.
10749 * config/s390/s390-c.cc: Likewise.
10750 * config/s390/s390-opts.h: Likewise.
10751 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
10752 (s390_register_target_pragmas): Likewise.
10753 * config/s390/s390.cc (s390_init_builtins): Likewise.
10754 (s390_expand_plus_operand): Likewise.
10755 (s390_expand_atomic): Likewise.
10756 (s390_valid_target_attribute_inner_p): Likewise.
10757 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
10758 * config/s390/s390.md: Likewise.
10759 * config/s390/t-s390: Likewise.
10760 * config/s390/vx-builtins.md: Likewise.
10761 * config/s390/x-native: Likewise.
10762 * config/sh/divtab-sh4-300.cc (main): Likewise.
10763 * config/sh/divtab-sh4.cc (main): Likewise.
10764 * config/sh/divtab.cc (main): Likewise.
10765 * config/sh/elf.h: Likewise.
10766 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
10767 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
10768 (sh_struct_value_rtx): Likewise.
10769 (sh_remove_reg_dead_or_unused_notes): Likewise.
10770 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
10771 * config/sh/t-sh: Likewise.
10772 * config/sol2-protos.h (solaris_override_options): Likewise.
10773 * config/sol2.h: Likewise.
10774 * config/sparc/driver-sparc.cc: Likewise.
10775 * config/sparc/freebsd.h: Likewise.
10776 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
10777 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
10778 (sparc_asan_shadow_offset): Likewise.
10779 * config/sparc/sparc.h: Likewise.
10780 * config/sparc/sparc.md: Likewise.
10781 * config/sparc/t-sparc: Likewise.
10782 * config/sparc/x-sparc: Likewise.
10783 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
10784 * config/t-darwin: Likewise.
10785 * config/t-dragonfly: Likewise.
10786 * config/t-freebsd: Likewise.
10787 * config/t-glibc: Likewise.
10788 * config/t-linux: Likewise.
10789 * config/t-netbsd: Likewise.
10790 * config/t-openbsd: Likewise.
10791 * config/t-pnt16-warn: Likewise.
10792 * config/t-sol2: Likewise.
10793 * config/t-vxworks: Likewise.
10794 * config/t-winnt: Likewise.
10795 * config/tilegx/t-tilegx: Likewise.
10796 * config/tilegx/tilegx-c.cc: Likewise.
10797 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
10798 * config/tilegx/tilegx.md: Likewise.
10799 * config/tilepro/t-tilepro: Likewise.
10800 * config/tilepro/tilepro-c.cc: Likewise.
10801 * config/v850/t-v850: Likewise.
10802 * config/v850/v850-protos.h: Likewise.
10803 * config/v850/v850.cc (F): Likewise.
10804 * config/v850/v850.h (enum reg_class): Likewise.
10805 (SLOW_BYTE_ACCESS): Likewise.
10806 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
10807 * config/vax/vax.h (enum reg_class): Likewise.
10808 * config/vax/vax.md: Likewise.
10809 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
10810 * config/visium/visium.h: Likewise.
10811 * config/vms/t-vms: Likewise.
10812 * config/vms/vms-crtlmap.map: Likewise.
10813 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
10814 * config/vx-common.h: Likewise.
10815 * config/x-darwin: Likewise.
10816 * config/x-hpux: Likewise.
10817 * config/x-linux: Likewise.
10818 * config/x-netbsd: Likewise.
10819 * config/x-openbsd: Likewise.
10820 * config/x-solaris: Likewise.
10821 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
10822 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
10823 * config/xtensa/xtensa.h: Likewise.
10824 * configure.ac: Likewise.
10825 * context.cc: Likewise.
10826 * convert.h: Likewise.
10827 * coretypes.h: Likewise.
10828 * coverage.cc: Likewise.
10829 * coverage.h: Likewise.
10830 * cppdefault.h (struct default_include): Likewise.
10831 * cprop.cc (local_cprop_pass): Likewise.
10832 (one_cprop_pass): Likewise.
10833 * cse.cc (hash_rtx_cb): Likewise.
10834 (fold_rtx): Likewise.
10835 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
10836 * data-streamer.h (bp_unpack_var_len_int): Likewise.
10837 (streamer_write_widest_int): Likewise.
10838 * dbgcnt.def: Likewise.
10839 * dbxout.cc (dbxout_early_global_decl): Likewise.
10840 (dbxout_common_check): Likewise.
10841 * dbxout.h: Likewise.
10842 * debug.h (struct gcc_debug_hooks): Likewise.
10843 (dump_go_spec_init): Likewise.
10844 * df-core.cc: Likewise.
10845 * df-scan.cc (df_insn_info_delete): Likewise.
10846 (df_insn_delete): Likewise.
10847 * df.h (debug_df_chain): Likewise.
10848 (can_move_insns_across): Likewise.
10849 * dfp.cc (decimal_from_binary): Likewise.
10850 * diagnostic-color.cc: Likewise.
10851 * diagnostic-event-id.h: Likewise.
10852 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
10853 * diagnostic.cc (bt_callback): Likewise.
10854 (num_digits): Likewise.
10855 * doc/avr-mmcu.texi: Likewise.
10856 * doc/cfg.texi: Likewise.
10857 * doc/contrib.texi: Likewise.
10858 * doc/cppinternals.texi: Likewise.
10859 * doc/extend.texi: Likewise.
10860 * doc/generic.texi: Likewise.
10861 * doc/gimple.texi: Likewise.
10862 * doc/gty.texi: Likewise.
10863 * doc/invoke.texi: Likewise.
10864 * doc/loop.texi: Likewise.
10865 * doc/lto.texi: Likewise.
10866 * doc/match-and-simplify.texi: Likewise.
10867 * doc/md.texi: Likewise.
10868 * doc/optinfo.texi: Likewise.
10869 * doc/options.texi: Likewise.
10870 * doc/passes.texi: Likewise.
10871 * doc/plugins.texi: Likewise.
10872 * doc/rtl.texi: Likewise.
10873 * doc/sourcebuild.texi: Likewise.
10874 * doc/tm.texi: Likewise.
10875 * doc/tm.texi.in: Likewise.
10876 * doc/tree-ssa.texi: Likewise.
10877 * dojump.cc (do_jump): Likewise.
10878 * dojump.h: Likewise.
10879 * dumpfile.cc (test_impl_location): Likewise.
10880 (test_capture_of_dump_calls): Likewise.
10881 * dumpfile.h (enum dump_kind): Likewise.
10882 (class dump_location_t): Likewise.
10883 (dump_enabled_p): Likewise.
10884 (enable_rtl_dump_file): Likewise.
10885 (dump_combine_total_stats): Likewise.
10886 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
10887 * dwarf2ctf.h (ctf_debug_finish): Likewise.
10888 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
10889 (struct loc_descr_context): Likewise.
10890 (rtl_for_decl_location): Likewise.
10891 (gen_subprogram_die): Likewise.
10892 (gen_label_die): Likewise.
10893 (is_trivial_indirect_ref): Likewise.
10894 (dwarf2out_late_global_decl): Likewise.
10895 (dwarf_file_hasher::hash): Likewise.
10896 (dwarf2out_end_source_file): Likewise.
10897 (dwarf2out_define): Likewise.
10898 (dwarf2out_early_finish): Likewise.
10899 * dwarf2out.h (struct dw_fde_node): Likewise.
10900 (struct dw_discr_list_node): Likewise.
10901 (output_loc_sequence_raw): Likewise.
10902 * emit-rtl.cc (gen_raw_REG): Likewise.
10903 (maybe_set_max_label_num): Likewise.
10904 * emit-rtl.h (struct rtl_data): Likewise.
10905 * errors.cc (internal_error): Likewise.
10906 (trim_filename): Likewise.
10907 * et-forest.cc: Likewise.
10908 * except.cc (init_eh_for_function): Likewise.
10909 * explow.cc (promote_ssa_mode): Likewise.
10910 (get_dynamic_stack_size): Likewise.
10911 * explow.h: Likewise.
10912 * expmed.h: Likewise.
10913 * expr.cc (safe_from_p): Likewise.
10914 (expand_expr_real_2): Likewise.
10915 (expand_expr_real_1): Likewise.
10916 * file-prefix-map.cc (remap_filename): Likewise.
10917 * final.cc (app_enable): Likewise.
10918 (make_pass_compute_alignments): Likewise.
10919 (final_scan_insn_1): Likewise.
10920 (final_scan_insn): Likewise.
10921 * fixed-value.h (fixed_from_string): Likewise.
10922 * flag-types.h (NO_DEBUG): Likewise.
10923 (DWARF2_DEBUG): Likewise.
10924 (VMS_DEBUG): Likewise.
10925 (BTF_DEBUG): Likewise.
10926 (enum ctf_debug_info_levels): Likewise.
10927 * fold-const.cc (const_binop): Likewise.
10928 (fold_binary_loc): Likewise.
10929 (fold_checksum_tree): Likewise.
10930 * fp-test.cc: Likewise.
10931 * function.cc (expand_function_end): Likewise.
10932 * function.h (struct function): Likewise.
10933 * fwprop.cc (should_replace_address): Likewise.
10934 * gcc-main.cc: Likewise.
10935 * gcc-rich-location.h (class gcc_rich_location): Likewise.
10936 * gcc-symtab.h: Likewise.
10937 * gcc.cc (MIN_FATAL_STATUS): Likewise.
10938 (driver_handle_option): Likewise.
10939 (quote_spec_arg): Likewise.
10940 (driver::finalize): Likewise.
10941 * gcc.h (set_input): Likewise.
10942 * gcov-dump.cc: Likewise.
10943 * gcov.cc (solve_flow_graph): Likewise.
10944 * gcse-common.cc: Likewise.
10945 * gcse.cc (make_pass_rtl_hoist): Likewise.
10946 * genattr-common.cc: Likewise.
10947 * genattrtab.cc (min_fn): Likewise.
10948 (write_const_num_delay_slots): Likewise.
10949 * genautomata.cc: Likewise.
10950 * genconditions.cc (write_one_condition): Likewise.
10951 * genconstants.cc: Likewise.
10952 * genemit.cc (gen_exp): Likewise.
10953 * generic-match-head.cc: Likewise.
10954 * genextract.cc: Likewise.
10955 * gengenrtl.cc (always_void_p): Likewise.
10956 * gengtype-parse.cc (gtymarker_opt): Likewise.
10957 * gengtype-state.cc (state_writer::state_writer): Likewise.
10958 (write_state_trailer): Likewise.
10959 (equals_type_number): Likewise.
10960 (read_state): Likewise.
10961 * gengtype.cc (open_base_files): Likewise.
10962 (struct file_rule_st): Likewise.
10963 (header_dot_h_frul): Likewise.
10964 * gengtype.h: Likewise.
10965 * genmatch.cc (main): Likewise.
10966 * genmddeps.cc: Likewise.
10967 * genmodes.cc (emit_mode_inner): Likewise.
10968 (emit_mode_unit_size): Likewise.
10969 * genpeep.cc (gen_peephole): Likewise.
10970 * genpreds.cc (write_tm_preds_h): Likewise.
10971 * genrecog.cc (validate_pattern): Likewise.
10972 (write_header): Likewise.
10973 (main): Likewise.
10974 * gensupport.cc (change_subst_attribute): Likewise.
10975 (traverse_c_tests): Likewise.
10976 (add_predicate): Likewise.
10977 (init_predicate_table): Likewise.
10978 * gensupport.h (struct optab_pattern): Likewise.
10979 (get_num_insn_codes): Likewise.
10980 (maybe_eval_c_test): Likewise.
10981 (struct pred_data): Likewise.
10982 * ggc-internal.h: Likewise.
10983 * gimple-fold.cc (maybe_fold_reference): Likewise.
10984 (get_range_strlen_tree): Likewise.
10985 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
10986 * gimple-low.cc: Likewise.
10987 * gimple-match-head.cc (directly_supported_p): Likewise.
10988 * gimple-pretty-print.h: Likewise.
10989 * gimple-ssa-sprintf.cc (format_percent): Likewise.
10990 (adjust_range_for_overflow): Likewise.
10991 * gimple-streamer.h: Likewise.
10992 * gimple.h (struct GTY): Likewise.
10993 (is_gimple_resx): Likewise.
10994 * gimplify.cc (gimplify_expr): Likewise.
10995 (gimplify_init_constructor): Likewise.
10996 (omp_construct_selector_matches): Likewise.
10997 (gimplify_omp_target_update): Likewise.
10998 (gimplify_omp_ordered): Likewise.
10999 (gimplify_va_arg_expr): Likewise.
11000 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
11001 * haifa-sched.cc (increase_insn_priority): Likewise.
11002 (try_ready): Likewise.
11003 (sched_create_recovery_edges): Likewise.
11004 * ifcvt.cc (find_if_case_1): Likewise.
11005 (find_if_case_2): Likewise.
11006 * inchash.h: Likewise.
11007 * incpath.cc (add_env_var_paths): Likewise.
11008 * input.cc (dump_location_info): Likewise.
11009 (assert_loceq): Likewise.
11010 (test_lexer_string_locations_concatenation_1): Likewise.
11011 (test_lexer_string_locations_concatenation_2): Likewise.
11012 (test_lexer_string_locations_concatenation_3): Likewise.
11013 * input.h (BUILTINS_LOCATION): Likewise.
11014 (class string_concat_db): Likewise.
11015 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
11016 (expand_LOOP_VECTORIZED): Likewise.
11017 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
11018 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
11019 (ipa_fn_summary_t::duplicate): Likewise.
11020 (make_pass_ipa_fn_summary): Likewise.
11021 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
11022 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
11023 (free_lang_data_in_decl): Likewise.
11024 * ipa-inline.cc (compute_inlined_call_time): Likewise.
11025 (inline_always_inline_functions): Likewise.
11026 * ipa-inline.h (free_growth_caches): Likewise.
11027 (inline_account_function_p): Likewise.
11028 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
11029 (modref_eaf_analysis::analyze_ssa_name): Likewise.
11030 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
11031 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
11032 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
11033 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
11034 (unadjusted_ptr_and_unit_offset): Likewise.
11035 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
11036 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
11037 * ipa-split.cc (consider_split): Likewise.
11038 * ipa-sra.cc (isra_read_node_info): Likewise.
11039 * ipa-utils.h (struct ipa_dfs_info): Likewise.
11040 (recursive_call_p): Likewise.
11041 (ipa_make_function_pure): Likewise.
11042 * ira-build.cc (ira_create_allocno): Likewise.
11043 (ira_flattening): Likewise.
11044 * ira-color.cc (do_coloring): Likewise.
11045 (update_curr_costs): Likewise.
11046 * ira-conflicts.cc (process_regs_for_copy): Likewise.
11047 * ira-int.h (struct ira_emit_data): Likewise.
11048 (ira_prohibited_mode_move_regs): Likewise.
11049 (ira_get_dup_out_num): Likewise.
11050 (ira_destroy): Likewise.
11051 (ira_tune_allocno_costs): Likewise.
11052 (ira_implicitly_set_insn_hard_regs): Likewise.
11053 (ira_build_conflicts): Likewise.
11054 (ira_color): Likewise.
11055 * ira-lives.cc (process_bb_node_lives): Likewise.
11056 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
11057 (setup_uniform_class_p): Likewise.
11058 (def_dominates_uses): Likewise.
11059 * ira.h (ira_nullify_asm_goto): Likewise.
11060 * langhooks.cc (lhd_post_options): Likewise.
11061 * langhooks.h (class substring_loc): Likewise.
11062 (struct lang_hooks_for_tree_inlining): Likewise.
11063 (struct lang_hooks_for_types): Likewise.
11064 (struct lang_hooks): Likewise.
11065 * libfuncs.h (synchronize_libfunc): Likewise.
11066 * loop-doloop.cc (doloop_condition_get): Likewise.
11067 * loop-init.cc (fix_loop_structure): Likewise.
11068 * loop-invariant.cc: Likewise.
11069 * lower-subreg.h: Likewise.
11070 * lra-constraints.cc (curr_insn_transform): Likewise.
11071 * lra-int.h (struct lra_insn_reg): Likewise.
11072 (lra_undo_inheritance): Likewise.
11073 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
11074 (lra_split_hard_reg_for): Likewise.
11075 (lra_coalesce): Likewise.
11076 (lra_final_code_change): Likewise.
11077 * lra-spills.cc (lra_final_code_change): Likewise.
11078 * lra.cc (lra_process_new_insns): Likewise.
11079 * lto-compress.h (struct lto_compression_stream): Likewise.
11080 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
11081 (write_symbol): Likewise.
11082 * lto-streamer.h (enum LTO_tags): Likewise.
11083 (lto_value_range_error): Likewise.
11084 (lto_append_block): Likewise.
11085 (lto_streamer_hooks_init): Likewise.
11086 (stream_read_tree_ref): Likewise.
11087 (lto_prepare_function_for_streaming): Likewise.
11088 (select_what_to_stream): Likewise.
11089 (omp_lto_input_declare_variant_alt): Likewise.
11090 (cl_optimization_stream_in): Likewise.
11091 * lto-wrapper.cc (append_compiler_options): Likewise.
11092 * machmode.def: Likewise.
11093 * machmode.h (struct int_n_data_t): Likewise.
11094 * main.cc (main): Likewise.
11095 * match.pd: Likewise.
11096 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
11097 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
11098 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
11099 (make_pass_expand_omp_ssa): Likewise.
11100 * omp-low.cc (struct omp_context): Likewise.
11101 (struct omp_taskcopy_context): Likewise.
11102 (lower_omp): Likewise.
11103 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
11104 (mask_name): Likewise.
11105 (omp_sese_dump_pars): Likewise.
11106 (worker_single_simple): Likewise.
11107 * omp-offload.cc (omp_finish_file): Likewise.
11108 (execute_oacc_loop_designation): Likewise.
11109 * optabs-query.cc (lshift_cheap_p): Likewise.
11110 * optc-gen.awk: Likewise.
11111 * optc-save-gen.awk: Likewise.
11112 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
11113 * opts-common.cc: Likewise.
11114 * output.h (app_enable): Likewise.
11115 (output_operand_lossage): Likewise.
11116 (insn_current_reference_address): Likewise.
11117 (get_insn_template): Likewise.
11118 (output_quoted_string): Likewise.
11119 * pass_manager.h (struct register_pass_info): Likewise.
11120 * plugin.cc: Likewise.
11121 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
11122 * plugin.h (invoke_plugin_callbacks): Likewise.
11123 * pointer-query.cc (handle_mem_ref): Likewise.
11124 * postreload-gcse.cc (alloc_mem): Likewise.
11125 * predict.h (enum prediction): Likewise.
11126 (add_reg_br_prob_note): Likewise.
11127 * prefix.h: Likewise.
11128 * profile.h (get_working_sets): Likewise.
11129 * read-md.cc: Likewise.
11130 * read-md.h (struct mapping): Likewise.
11131 (class md_reader): Likewise.
11132 (class noop_reader): Likewise.
11133 * read-rtl-function.cc (function_reader::create_function): Likewise.
11134 (function_reader::extra_parsing_for_operand_code_0): Likewise.
11135 * read-rtl.cc (initialize_iterators): Likewise.
11136 * real.cc: Likewise.
11137 * real.h (struct real_value): Likewise.
11138 (format_helper::format_helper): Likewise.
11139 (real_hash): Likewise.
11140 (real_can_shorten_arithmetic): Likewise.
11141 * recog.cc (struct target_recog): Likewise.
11142 (offsettable_nonstrict_memref_p): Likewise.
11143 (constrain_operands): Likewise.
11144 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
11145 (which_op_alt): Likewise.
11146 (struct insn_gen_fn): Likewise.
11147 * reg-notes.def (REG_NOTE): Likewise.
11148 * reg-stack.cc: Likewise.
11149 * regs.h (reg_is_parm_p): Likewise.
11150 * regset.h: Likewise.
11151 * reload.cc (push_reload): Likewise.
11152 (find_reloads): Likewise.
11153 (find_reloads_address_1): Likewise.
11154 (find_replacement): Likewise.
11155 (refers_to_regno_for_reload_p): Likewise.
11156 (refers_to_mem_for_reload_p): Likewise.
11157 * reload.h (push_reload): Likewise.
11158 (deallocate_reload_reg): Likewise.
11159 * reload1.cc (emit_input_reload_insns): Likewise.
11160 * reorg.cc (relax_delay_slots): Likewise.
11161 * rtl.def (UNKNOWN): Likewise.
11162 (SEQUENCE): Likewise.
11163 (BARRIER): Likewise.
11164 (ASM_OPERANDS): Likewise.
11165 (EQ_ATTR_ALT): Likewise.
11166 * rtl.h (struct GTY): Likewise.
11167 (LABEL_NAME): Likewise.
11168 (LABEL_ALT_ENTRY_P): Likewise.
11169 (SUBREG_BYTE): Likewise.
11170 (get_stack_check_protect): Likewise.
11171 (dump_rtx_statistics): Likewise.
11172 (unwrap_const_vec_duplicate): Likewise.
11173 (subreg_promoted_mode): Likewise.
11174 (gen_lowpart_common): Likewise.
11175 (operand_subword): Likewise.
11176 (immed_wide_int_const): Likewise.
11177 (decide_function_section): Likewise.
11178 (active_insn_p): Likewise.
11179 (delete_related_insns): Likewise.
11180 (try_split): Likewise.
11181 (val_signbit_known_clear_p): Likewise.
11182 (simplifiable_subregs): Likewise.
11183 (set_insn_deleted): Likewise.
11184 (subreg_get_info): Likewise.
11185 (remove_free_EXPR_LIST_node): Likewise.
11186 (finish_subregs_of_mode): Likewise.
11187 (get_mem_attrs): Likewise.
11188 (lookup_constant_def): Likewise.
11189 (rtx_to_tree_code): Likewise.
11190 (hash_rtx): Likewise.
11191 (condjump_in_parallel_p): Likewise.
11192 (validate_subreg): Likewise.
11193 (make_compound_operation): Likewise.
11194 (schedule_ebbs): Likewise.
11195 (print_inline_rtx): Likewise.
11196 (fixup_args_size_notes): Likewise.
11197 (expand_dec): Likewise.
11198 (prepare_copy_insn): Likewise.
11199 (mark_elimination): Likewise.
11200 (valid_mode_changes_for_regno): Likewise.
11201 (make_debug_expr_from_rtl): Likewise.
11202 (delete_vta_debug_insns): Likewise.
11203 (simplify_using_condition): Likewise.
11204 (set_insn_locations): Likewise.
11205 (fatal_insn_not_found): Likewise.
11206 (word_register_operation_p): Likewise.
11207 * rtlanal.cc (get_call_fndecl): Likewise.
11208 (side_effects_p): Likewise.
11209 (subreg_nregs): Likewise.
11210 (rtx_cost): Likewise.
11211 (canonicalize_condition): Likewise.
11212 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
11213 * run-rtl-passes.cc (run_rtl_passes): Likewise.
11214 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
11215 * sched-deps.cc (add_dependence_1): Likewise.
11216 * sched-ebb.cc (begin_move_insn): Likewise.
11217 (add_deps_for_risky_insns): Likewise.
11218 (advance_target_bb): Likewise.
11219 * sched-int.h (reemit_notes): Likewise.
11220 (struct _haifa_insn_data): Likewise.
11221 (HID): Likewise.
11222 (DEP_CANCELLED): Likewise.
11223 (debug_ds): Likewise.
11224 (number_in_ready): Likewise.
11225 (schedule_ebbs_finish): Likewise.
11226 (find_modifiable_mems): Likewise.
11227 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
11228 * sel-sched-dump.cc (dump_lv_set): Likewise.
11229 * sel-sched-dump.h: Likewise.
11230 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
11231 (setup_id_reg_sets): Likewise.
11232 (has_dependence_p): Likewise.
11233 (sel_num_cfg_preds_gt_1): Likewise.
11234 (bb_ends_ebb_p): Likewise.
11235 * sel-sched-ir.h (struct _list_node): Likewise.
11236 (struct idata_def): Likewise.
11237 (bb_next_bb): Likewise.
11238 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
11239 (choose_best_pseudo_reg): Likewise.
11240 (verify_target_availability): Likewise.
11241 (can_speculate_dep_p): Likewise.
11242 (sel_rank_for_schedule): Likewise.
11243 * selftest-run-tests.cc (selftest::run_tests): Likewise.
11244 * selftest.h (class auto_fix_quotes): Likewise.
11245 * shrink-wrap.cc (handle_simple_exit): Likewise.
11246 * shrink-wrap.h: Likewise.
11247 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
11248 (simplify_context::simplify_gen_vec_select): Likewise.
11249 * spellcheck-tree.h: Likewise.
11250 * spellcheck.h: Likewise.
11251 * statistics.h (struct function): Likewise.
11252 * stmt.cc (conditional_probability): Likewise.
11253 * stmt.h: Likewise.
11254 * stor-layout.h: Likewise.
11255 * streamer-hooks.h: Likewise.
11256 * stringpool.h: Likewise.
11257 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
11258 * target.def (HOOK_VECTOR_END): Likewise.
11259 (type.): Likewise.
11260 * target.h (union cumulative_args_t): Likewise.
11261 (by_pieces_ninsns): Likewise.
11262 (class predefined_function_abi): Likewise.
11263 * targhooks.cc (default_translate_mode_attribute): Likewise.
11264 * timevar.def: Likewise.
11265 * timevar.h (class timer): Likewise.
11266 * toplev.h (enable_rtl_dump_file): Likewise.
11267 * trans-mem.cc (collect_bb2reg): Likewise.
11268 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
11269 * tree-cfg.cc (remove_bb): Likewise.
11270 (verify_gimple_debug): Likewise.
11271 (remove_edge_and_dominated_blocks): Likewise.
11272 (push_fndecl): Likewise.
11273 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
11274 * tree-complex.cc (expand_complex_multiplication): Likewise.
11275 (expand_complex_div_straight): Likewise.
11276 * tree-core.h (enum tree_index): Likewise.
11277 (enum operand_equal_flag): Likewise.
11278 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
11279 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
11280 * tree-inline.cc (initialize_inlined_parameters): Likewise.
11281 * tree-inline.h (force_value_to_type): Likewise.
11282 * tree-nested.cc (get_chain_decl): Likewise.
11283 (walk_all_functions): Likewise.
11284 * tree-object-size.h: Likewise.
11285 * tree-outof-ssa.cc: Likewise.
11286 * tree-parloops.cc (create_parallel_loop): Likewise.
11287 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
11288 (dump_generic_node): Likewise.
11289 * tree-profile.cc (tree_profiling): Likewise.
11290 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
11291 * tree-ssa-address.cc: Likewise.
11292 * tree-ssa-alias.cc: Likewise.
11293 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
11294 (dump_alias_stats): Likewise.
11295 * tree-ssa-ccp.cc: Likewise.
11296 * tree-ssa-coalesce.h: Likewise.
11297 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
11298 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
11299 * tree-ssa-loop-unswitch.cc: Likewise.
11300 * tree-ssa-math-opts.cc: Likewise.
11301 * tree-ssa-operands.cc (class operands_scanner): Likewise.
11302 * tree-ssa-pre.cc: Likewise.
11303 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
11304 (debug_range_entry): Likewise.
11305 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
11306 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
11307 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
11308 (equal_mem_array_ref_p): Likewise.
11309 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
11310 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
11311 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
11312 * tree-ssa-ter.h: Likewise.
11313 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
11314 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
11315 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
11316 (write_ts_block_tree_pointers): Likewise.
11317 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
11318 (streamer_read_tree_bitfields): Likewise.
11319 (streamer_write_integer_cst): Likewise.
11320 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
11321 (vect_synth_mult_by_constant): Likewise.
11322 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
11323 * tree-vectorizer.cc: Likewise.
11324 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
11325 (vect_update_inits_of_drs): Likewise.
11326 (vect_get_mask_type_for_stmt): Likewise.
11327 (vect_rgroup_iv_might_wrap_p): Likewise.
11328 (cse_and_gimplify_to_preheader): Likewise.
11329 (vect_free_slp_tree): Likewise.
11330 (vect_pattern_recog): Likewise.
11331 (vect_stmt_dominates_stmt_p): Likewise.
11332 * tree.cc (initialize_tree_contains_struct): Likewise.
11333 (need_assembler_name_p): Likewise.
11334 (type_with_interoperable_signedness): Likewise.
11335 * tree.def (SWITCH_EXPR): Likewise.
11336 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
11337 (poly_int_tree_p): Likewise.
11338 (inlined_function_outer_scope_p): Likewise.
11339 (tree_code_for_canonical_type_merging): Likewise.
11340 * value-prof.cc: Likewise.
11341 * value-prof.h (get_nth_most_common_value): Likewise.
11342 (find_func_by_profile_id): Likewise.
11343 * value-range.cc (vrp_operand_equal_p): Likewise.
11344 * value-range.h: Likewise.
11345 * var-tracking.cc: Likewise.
11346 * varasm.cc (default_function_section): Likewise.
11347 (function_section_1): Likewise.
11348 (assemble_variable): Likewise.
11349 (handle_vtv_comdat_section): Likewise.
11350 * vec.h (struct vec_prefix): Likewise.
11351 * vmsdbgout.cc (full_name): Likewise.
11352 * vtable-verify.cc: Likewise.
11353 * vtable-verify.h (struct vtv_graph_node): Likewise.
11354 * xcoffout.cc: Likewise.
11355 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
11356
11357 2022-01-17 Martin Liska <mliska@suse.cz>
11358
11359 * adjust-alignment.c: Moved to...
11360 * adjust-alignment.cc: ...here.
11361 * alias.c: Moved to...
11362 * alias.cc: ...here.
11363 * alloc-pool.c: Moved to...
11364 * alloc-pool.cc: ...here.
11365 * asan.c: Moved to...
11366 * asan.cc: ...here.
11367 * attribs.c: Moved to...
11368 * attribs.cc: ...here.
11369 * auto-inc-dec.c: Moved to...
11370 * auto-inc-dec.cc: ...here.
11371 * auto-profile.c: Moved to...
11372 * auto-profile.cc: ...here.
11373 * bb-reorder.c: Moved to...
11374 * bb-reorder.cc: ...here.
11375 * bitmap.c: Moved to...
11376 * bitmap.cc: ...here.
11377 * btfout.c: Moved to...
11378 * btfout.cc: ...here.
11379 * builtins.c: Moved to...
11380 * builtins.cc: ...here.
11381 * caller-save.c: Moved to...
11382 * caller-save.cc: ...here.
11383 * calls.c: Moved to...
11384 * calls.cc: ...here.
11385 * ccmp.c: Moved to...
11386 * ccmp.cc: ...here.
11387 * cfg.c: Moved to...
11388 * cfg.cc: ...here.
11389 * cfganal.c: Moved to...
11390 * cfganal.cc: ...here.
11391 * cfgbuild.c: Moved to...
11392 * cfgbuild.cc: ...here.
11393 * cfgcleanup.c: Moved to...
11394 * cfgcleanup.cc: ...here.
11395 * cfgexpand.c: Moved to...
11396 * cfgexpand.cc: ...here.
11397 * cfghooks.c: Moved to...
11398 * cfghooks.cc: ...here.
11399 * cfgloop.c: Moved to...
11400 * cfgloop.cc: ...here.
11401 * cfgloopanal.c: Moved to...
11402 * cfgloopanal.cc: ...here.
11403 * cfgloopmanip.c: Moved to...
11404 * cfgloopmanip.cc: ...here.
11405 * cfgrtl.c: Moved to...
11406 * cfgrtl.cc: ...here.
11407 * cgraph.c: Moved to...
11408 * cgraph.cc: ...here.
11409 * cgraphbuild.c: Moved to...
11410 * cgraphbuild.cc: ...here.
11411 * cgraphclones.c: Moved to...
11412 * cgraphclones.cc: ...here.
11413 * cgraphunit.c: Moved to...
11414 * cgraphunit.cc: ...here.
11415 * collect-utils.c: Moved to...
11416 * collect-utils.cc: ...here.
11417 * collect2-aix.c: Moved to...
11418 * collect2-aix.cc: ...here.
11419 * collect2.c: Moved to...
11420 * collect2.cc: ...here.
11421 * combine-stack-adj.c: Moved to...
11422 * combine-stack-adj.cc: ...here.
11423 * combine.c: Moved to...
11424 * combine.cc: ...here.
11425 * common/common-targhooks.c: Moved to...
11426 * common/common-targhooks.cc: ...here.
11427 * common/config/aarch64/aarch64-common.c: Moved to...
11428 * common/config/aarch64/aarch64-common.cc: ...here.
11429 * common/config/alpha/alpha-common.c: Moved to...
11430 * common/config/alpha/alpha-common.cc: ...here.
11431 * common/config/arc/arc-common.c: Moved to...
11432 * common/config/arc/arc-common.cc: ...here.
11433 * common/config/arm/arm-common.c: Moved to...
11434 * common/config/arm/arm-common.cc: ...here.
11435 * common/config/avr/avr-common.c: Moved to...
11436 * common/config/avr/avr-common.cc: ...here.
11437 * common/config/bfin/bfin-common.c: Moved to...
11438 * common/config/bfin/bfin-common.cc: ...here.
11439 * common/config/bpf/bpf-common.c: Moved to...
11440 * common/config/bpf/bpf-common.cc: ...here.
11441 * common/config/c6x/c6x-common.c: Moved to...
11442 * common/config/c6x/c6x-common.cc: ...here.
11443 * common/config/cr16/cr16-common.c: Moved to...
11444 * common/config/cr16/cr16-common.cc: ...here.
11445 * common/config/cris/cris-common.c: Moved to...
11446 * common/config/cris/cris-common.cc: ...here.
11447 * common/config/csky/csky-common.c: Moved to...
11448 * common/config/csky/csky-common.cc: ...here.
11449 * common/config/default-common.c: Moved to...
11450 * common/config/default-common.cc: ...here.
11451 * common/config/epiphany/epiphany-common.c: Moved to...
11452 * common/config/epiphany/epiphany-common.cc: ...here.
11453 * common/config/fr30/fr30-common.c: Moved to...
11454 * common/config/fr30/fr30-common.cc: ...here.
11455 * common/config/frv/frv-common.c: Moved to...
11456 * common/config/frv/frv-common.cc: ...here.
11457 * common/config/gcn/gcn-common.c: Moved to...
11458 * common/config/gcn/gcn-common.cc: ...here.
11459 * common/config/h8300/h8300-common.c: Moved to...
11460 * common/config/h8300/h8300-common.cc: ...here.
11461 * common/config/i386/i386-common.c: Moved to...
11462 * common/config/i386/i386-common.cc: ...here.
11463 * common/config/ia64/ia64-common.c: Moved to...
11464 * common/config/ia64/ia64-common.cc: ...here.
11465 * common/config/iq2000/iq2000-common.c: Moved to...
11466 * common/config/iq2000/iq2000-common.cc: ...here.
11467 * common/config/lm32/lm32-common.c: Moved to...
11468 * common/config/lm32/lm32-common.cc: ...here.
11469 * common/config/m32r/m32r-common.c: Moved to...
11470 * common/config/m32r/m32r-common.cc: ...here.
11471 * common/config/m68k/m68k-common.c: Moved to...
11472 * common/config/m68k/m68k-common.cc: ...here.
11473 * common/config/mcore/mcore-common.c: Moved to...
11474 * common/config/mcore/mcore-common.cc: ...here.
11475 * common/config/microblaze/microblaze-common.c: Moved to...
11476 * common/config/microblaze/microblaze-common.cc: ...here.
11477 * common/config/mips/mips-common.c: Moved to...
11478 * common/config/mips/mips-common.cc: ...here.
11479 * common/config/mmix/mmix-common.c: Moved to...
11480 * common/config/mmix/mmix-common.cc: ...here.
11481 * common/config/mn10300/mn10300-common.c: Moved to...
11482 * common/config/mn10300/mn10300-common.cc: ...here.
11483 * common/config/msp430/msp430-common.c: Moved to...
11484 * common/config/msp430/msp430-common.cc: ...here.
11485 * common/config/nds32/nds32-common.c: Moved to...
11486 * common/config/nds32/nds32-common.cc: ...here.
11487 * common/config/nios2/nios2-common.c: Moved to...
11488 * common/config/nios2/nios2-common.cc: ...here.
11489 * common/config/nvptx/nvptx-common.c: Moved to...
11490 * common/config/nvptx/nvptx-common.cc: ...here.
11491 * common/config/or1k/or1k-common.c: Moved to...
11492 * common/config/or1k/or1k-common.cc: ...here.
11493 * common/config/pa/pa-common.c: Moved to...
11494 * common/config/pa/pa-common.cc: ...here.
11495 * common/config/pdp11/pdp11-common.c: Moved to...
11496 * common/config/pdp11/pdp11-common.cc: ...here.
11497 * common/config/pru/pru-common.c: Moved to...
11498 * common/config/pru/pru-common.cc: ...here.
11499 * common/config/riscv/riscv-common.c: Moved to...
11500 * common/config/riscv/riscv-common.cc: ...here.
11501 * common/config/rs6000/rs6000-common.c: Moved to...
11502 * common/config/rs6000/rs6000-common.cc: ...here.
11503 * common/config/rx/rx-common.c: Moved to...
11504 * common/config/rx/rx-common.cc: ...here.
11505 * common/config/s390/s390-common.c: Moved to...
11506 * common/config/s390/s390-common.cc: ...here.
11507 * common/config/sh/sh-common.c: Moved to...
11508 * common/config/sh/sh-common.cc: ...here.
11509 * common/config/sparc/sparc-common.c: Moved to...
11510 * common/config/sparc/sparc-common.cc: ...here.
11511 * common/config/tilegx/tilegx-common.c: Moved to...
11512 * common/config/tilegx/tilegx-common.cc: ...here.
11513 * common/config/tilepro/tilepro-common.c: Moved to...
11514 * common/config/tilepro/tilepro-common.cc: ...here.
11515 * common/config/v850/v850-common.c: Moved to...
11516 * common/config/v850/v850-common.cc: ...here.
11517 * common/config/vax/vax-common.c: Moved to...
11518 * common/config/vax/vax-common.cc: ...here.
11519 * common/config/visium/visium-common.c: Moved to...
11520 * common/config/visium/visium-common.cc: ...here.
11521 * common/config/xstormy16/xstormy16-common.c: Moved to...
11522 * common/config/xstormy16/xstormy16-common.cc: ...here.
11523 * common/config/xtensa/xtensa-common.c: Moved to...
11524 * common/config/xtensa/xtensa-common.cc: ...here.
11525 * compare-elim.c: Moved to...
11526 * compare-elim.cc: ...here.
11527 * config/aarch64/aarch64-bti-insert.c: Moved to...
11528 * config/aarch64/aarch64-bti-insert.cc: ...here.
11529 * config/aarch64/aarch64-builtins.c: Moved to...
11530 * config/aarch64/aarch64-builtins.cc: ...here.
11531 * config/aarch64/aarch64-c.c: Moved to...
11532 * config/aarch64/aarch64-c.cc: ...here.
11533 * config/aarch64/aarch64-d.c: Moved to...
11534 * config/aarch64/aarch64-d.cc: ...here.
11535 * config/aarch64/aarch64.c: Moved to...
11536 * config/aarch64/aarch64.cc: ...here.
11537 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
11538 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
11539 * config/aarch64/driver-aarch64.c: Moved to...
11540 * config/aarch64/driver-aarch64.cc: ...here.
11541 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
11542 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
11543 * config/aarch64/host-aarch64-darwin.c: Moved to...
11544 * config/aarch64/host-aarch64-darwin.cc: ...here.
11545 * config/alpha/alpha.c: Moved to...
11546 * config/alpha/alpha.cc: ...here.
11547 * config/alpha/driver-alpha.c: Moved to...
11548 * config/alpha/driver-alpha.cc: ...here.
11549 * config/arc/arc-c.c: Moved to...
11550 * config/arc/arc-c.cc: ...here.
11551 * config/arc/arc.c: Moved to...
11552 * config/arc/arc.cc: ...here.
11553 * config/arc/driver-arc.c: Moved to...
11554 * config/arc/driver-arc.cc: ...here.
11555 * config/arm/aarch-common.c: Moved to...
11556 * config/arm/aarch-common.cc: ...here.
11557 * config/arm/arm-builtins.c: Moved to...
11558 * config/arm/arm-builtins.cc: ...here.
11559 * config/arm/arm-c.c: Moved to...
11560 * config/arm/arm-c.cc: ...here.
11561 * config/arm/arm-d.c: Moved to...
11562 * config/arm/arm-d.cc: ...here.
11563 * config/arm/arm.c: Moved to...
11564 * config/arm/arm.cc: ...here.
11565 * config/arm/driver-arm.c: Moved to...
11566 * config/arm/driver-arm.cc: ...here.
11567 * config/avr/avr-c.c: Moved to...
11568 * config/avr/avr-c.cc: ...here.
11569 * config/avr/avr-devices.c: Moved to...
11570 * config/avr/avr-devices.cc: ...here.
11571 * config/avr/avr-log.c: Moved to...
11572 * config/avr/avr-log.cc: ...here.
11573 * config/avr/avr.c: Moved to...
11574 * config/avr/avr.cc: ...here.
11575 * config/avr/driver-avr.c: Moved to...
11576 * config/avr/driver-avr.cc: ...here.
11577 * config/avr/gen-avr-mmcu-specs.c: Moved to...
11578 * config/avr/gen-avr-mmcu-specs.cc: ...here.
11579 * config/avr/gen-avr-mmcu-texi.c: Moved to...
11580 * config/avr/gen-avr-mmcu-texi.cc: ...here.
11581 * config/bfin/bfin.c: Moved to...
11582 * config/bfin/bfin.cc: ...here.
11583 * config/bpf/bpf.c: Moved to...
11584 * config/bpf/bpf.cc: ...here.
11585 * config/bpf/coreout.c: Moved to...
11586 * config/bpf/coreout.cc: ...here.
11587 * config/c6x/c6x.c: Moved to...
11588 * config/c6x/c6x.cc: ...here.
11589 * config/cr16/cr16.c: Moved to...
11590 * config/cr16/cr16.cc: ...here.
11591 * config/cris/cris.c: Moved to...
11592 * config/cris/cris.cc: ...here.
11593 * config/csky/csky.c: Moved to...
11594 * config/csky/csky.cc: ...here.
11595 * config/darwin-c.c: Moved to...
11596 * config/darwin-c.cc: ...here.
11597 * config/darwin-d.c: Moved to...
11598 * config/darwin-d.cc: ...here.
11599 * config/darwin-driver.c: Moved to...
11600 * config/darwin-driver.cc: ...here.
11601 * config/darwin-f.c: Moved to...
11602 * config/darwin-f.cc: ...here.
11603 * config/darwin.c: Moved to...
11604 * config/darwin.cc: ...here.
11605 * config/default-c.c: Moved to...
11606 * config/default-c.cc: ...here.
11607 * config/default-d.c: Moved to...
11608 * config/default-d.cc: ...here.
11609 * config/dragonfly-d.c: Moved to...
11610 * config/dragonfly-d.cc: ...here.
11611 * config/epiphany/epiphany.c: Moved to...
11612 * config/epiphany/epiphany.cc: ...here.
11613 * config/epiphany/mode-switch-use.c: Moved to...
11614 * config/epiphany/mode-switch-use.cc: ...here.
11615 * config/epiphany/resolve-sw-modes.c: Moved to...
11616 * config/epiphany/resolve-sw-modes.cc: ...here.
11617 * config/fr30/fr30.c: Moved to...
11618 * config/fr30/fr30.cc: ...here.
11619 * config/freebsd-d.c: Moved to...
11620 * config/freebsd-d.cc: ...here.
11621 * config/frv/frv.c: Moved to...
11622 * config/frv/frv.cc: ...here.
11623 * config/ft32/ft32.c: Moved to...
11624 * config/ft32/ft32.cc: ...here.
11625 * config/gcn/driver-gcn.c: Moved to...
11626 * config/gcn/driver-gcn.cc: ...here.
11627 * config/gcn/gcn-run.c: Moved to...
11628 * config/gcn/gcn-run.cc: ...here.
11629 * config/gcn/gcn-tree.c: Moved to...
11630 * config/gcn/gcn-tree.cc: ...here.
11631 * config/gcn/gcn.c: Moved to...
11632 * config/gcn/gcn.cc: ...here.
11633 * config/gcn/mkoffload.c: Moved to...
11634 * config/gcn/mkoffload.cc: ...here.
11635 * config/glibc-c.c: Moved to...
11636 * config/glibc-c.cc: ...here.
11637 * config/glibc-d.c: Moved to...
11638 * config/glibc-d.cc: ...here.
11639 * config/h8300/h8300.c: Moved to...
11640 * config/h8300/h8300.cc: ...here.
11641 * config/host-darwin.c: Moved to...
11642 * config/host-darwin.cc: ...here.
11643 * config/host-hpux.c: Moved to...
11644 * config/host-hpux.cc: ...here.
11645 * config/host-linux.c: Moved to...
11646 * config/host-linux.cc: ...here.
11647 * config/host-netbsd.c: Moved to...
11648 * config/host-netbsd.cc: ...here.
11649 * config/host-openbsd.c: Moved to...
11650 * config/host-openbsd.cc: ...here.
11651 * config/host-solaris.c: Moved to...
11652 * config/host-solaris.cc: ...here.
11653 * config/i386/djgpp.c: Moved to...
11654 * config/i386/djgpp.cc: ...here.
11655 * config/i386/driver-i386.c: Moved to...
11656 * config/i386/driver-i386.cc: ...here.
11657 * config/i386/driver-mingw32.c: Moved to...
11658 * config/i386/driver-mingw32.cc: ...here.
11659 * config/i386/gnu-property.c: Moved to...
11660 * config/i386/gnu-property.cc: ...here.
11661 * config/i386/host-cygwin.c: Moved to...
11662 * config/i386/host-cygwin.cc: ...here.
11663 * config/i386/host-i386-darwin.c: Moved to...
11664 * config/i386/host-i386-darwin.cc: ...here.
11665 * config/i386/host-mingw32.c: Moved to...
11666 * config/i386/host-mingw32.cc: ...here.
11667 * config/i386/i386-builtins.c: Moved to...
11668 * config/i386/i386-builtins.cc: ...here.
11669 * config/i386/i386-c.c: Moved to...
11670 * config/i386/i386-c.cc: ...here.
11671 * config/i386/i386-d.c: Moved to...
11672 * config/i386/i386-d.cc: ...here.
11673 * config/i386/i386-expand.c: Moved to...
11674 * config/i386/i386-expand.cc: ...here.
11675 * config/i386/i386-features.c: Moved to...
11676 * config/i386/i386-features.cc: ...here.
11677 * config/i386/i386-options.c: Moved to...
11678 * config/i386/i386-options.cc: ...here.
11679 * config/i386/i386.c: Moved to...
11680 * config/i386/i386.cc: ...here.
11681 * config/i386/intelmic-mkoffload.c: Moved to...
11682 * config/i386/intelmic-mkoffload.cc: ...here.
11683 * config/i386/msformat-c.c: Moved to...
11684 * config/i386/msformat-c.cc: ...here.
11685 * config/i386/winnt-cxx.c: Moved to...
11686 * config/i386/winnt-cxx.cc: ...here.
11687 * config/i386/winnt-d.c: Moved to...
11688 * config/i386/winnt-d.cc: ...here.
11689 * config/i386/winnt-stubs.c: Moved to...
11690 * config/i386/winnt-stubs.cc: ...here.
11691 * config/i386/winnt.c: Moved to...
11692 * config/i386/winnt.cc: ...here.
11693 * config/i386/x86-tune-sched-atom.c: Moved to...
11694 * config/i386/x86-tune-sched-atom.cc: ...here.
11695 * config/i386/x86-tune-sched-bd.c: Moved to...
11696 * config/i386/x86-tune-sched-bd.cc: ...here.
11697 * config/i386/x86-tune-sched-core.c: Moved to...
11698 * config/i386/x86-tune-sched-core.cc: ...here.
11699 * config/i386/x86-tune-sched.c: Moved to...
11700 * config/i386/x86-tune-sched.cc: ...here.
11701 * config/ia64/ia64-c.c: Moved to...
11702 * config/ia64/ia64-c.cc: ...here.
11703 * config/ia64/ia64.c: Moved to...
11704 * config/ia64/ia64.cc: ...here.
11705 * config/iq2000/iq2000.c: Moved to...
11706 * config/iq2000/iq2000.cc: ...here.
11707 * config/linux.c: Moved to...
11708 * config/linux.cc: ...here.
11709 * config/lm32/lm32.c: Moved to...
11710 * config/lm32/lm32.cc: ...here.
11711 * config/m32c/m32c-pragma.c: Moved to...
11712 * config/m32c/m32c-pragma.cc: ...here.
11713 * config/m32c/m32c.c: Moved to...
11714 * config/m32c/m32c.cc: ...here.
11715 * config/m32r/m32r.c: Moved to...
11716 * config/m32r/m32r.cc: ...here.
11717 * config/m68k/m68k.c: Moved to...
11718 * config/m68k/m68k.cc: ...here.
11719 * config/mcore/mcore.c: Moved to...
11720 * config/mcore/mcore.cc: ...here.
11721 * config/microblaze/microblaze-c.c: Moved to...
11722 * config/microblaze/microblaze-c.cc: ...here.
11723 * config/microblaze/microblaze.c: Moved to...
11724 * config/microblaze/microblaze.cc: ...here.
11725 * config/mips/driver-native.c: Moved to...
11726 * config/mips/driver-native.cc: ...here.
11727 * config/mips/frame-header-opt.c: Moved to...
11728 * config/mips/frame-header-opt.cc: ...here.
11729 * config/mips/mips-d.c: Moved to...
11730 * config/mips/mips-d.cc: ...here.
11731 * config/mips/mips.c: Moved to...
11732 * config/mips/mips.cc: ...here.
11733 * config/mmix/mmix.c: Moved to...
11734 * config/mmix/mmix.cc: ...here.
11735 * config/mn10300/mn10300.c: Moved to...
11736 * config/mn10300/mn10300.cc: ...here.
11737 * config/moxie/moxie.c: Moved to...
11738 * config/moxie/moxie.cc: ...here.
11739 * config/msp430/driver-msp430.c: Moved to...
11740 * config/msp430/driver-msp430.cc: ...here.
11741 * config/msp430/msp430-c.c: Moved to...
11742 * config/msp430/msp430-c.cc: ...here.
11743 * config/msp430/msp430-devices.c: Moved to...
11744 * config/msp430/msp430-devices.cc: ...here.
11745 * config/msp430/msp430.c: Moved to...
11746 * config/msp430/msp430.cc: ...here.
11747 * config/nds32/nds32-cost.c: Moved to...
11748 * config/nds32/nds32-cost.cc: ...here.
11749 * config/nds32/nds32-fp-as-gp.c: Moved to...
11750 * config/nds32/nds32-fp-as-gp.cc: ...here.
11751 * config/nds32/nds32-intrinsic.c: Moved to...
11752 * config/nds32/nds32-intrinsic.cc: ...here.
11753 * config/nds32/nds32-isr.c: Moved to...
11754 * config/nds32/nds32-isr.cc: ...here.
11755 * config/nds32/nds32-md-auxiliary.c: Moved to...
11756 * config/nds32/nds32-md-auxiliary.cc: ...here.
11757 * config/nds32/nds32-memory-manipulation.c: Moved to...
11758 * config/nds32/nds32-memory-manipulation.cc: ...here.
11759 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
11760 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
11761 * config/nds32/nds32-predicates.c: Moved to...
11762 * config/nds32/nds32-predicates.cc: ...here.
11763 * config/nds32/nds32-relax-opt.c: Moved to...
11764 * config/nds32/nds32-relax-opt.cc: ...here.
11765 * config/nds32/nds32-utils.c: Moved to...
11766 * config/nds32/nds32-utils.cc: ...here.
11767 * config/nds32/nds32.c: Moved to...
11768 * config/nds32/nds32.cc: ...here.
11769 * config/netbsd-d.c: Moved to...
11770 * config/netbsd-d.cc: ...here.
11771 * config/netbsd.c: Moved to...
11772 * config/netbsd.cc: ...here.
11773 * config/nios2/nios2.c: Moved to...
11774 * config/nios2/nios2.cc: ...here.
11775 * config/nvptx/mkoffload.c: Moved to...
11776 * config/nvptx/mkoffload.cc: ...here.
11777 * config/nvptx/nvptx-c.c: Moved to...
11778 * config/nvptx/nvptx-c.cc: ...here.
11779 * config/nvptx/nvptx.c: Moved to...
11780 * config/nvptx/nvptx.cc: ...here.
11781 * config/openbsd-d.c: Moved to...
11782 * config/openbsd-d.cc: ...here.
11783 * config/or1k/or1k.c: Moved to...
11784 * config/or1k/or1k.cc: ...here.
11785 * config/pa/pa-d.c: Moved to...
11786 * config/pa/pa-d.cc: ...here.
11787 * config/pa/pa.c: Moved to...
11788 * config/pa/pa.cc: ...here.
11789 * config/pdp11/pdp11.c: Moved to...
11790 * config/pdp11/pdp11.cc: ...here.
11791 * config/pru/pru-passes.c: Moved to...
11792 * config/pru/pru-passes.cc: ...here.
11793 * config/pru/pru-pragma.c: Moved to...
11794 * config/pru/pru-pragma.cc: ...here.
11795 * config/pru/pru.c: Moved to...
11796 * config/pru/pru.cc: ...here.
11797 * config/riscv/riscv-builtins.c: Moved to...
11798 * config/riscv/riscv-builtins.cc: ...here.
11799 * config/riscv/riscv-c.c: Moved to...
11800 * config/riscv/riscv-c.cc: ...here.
11801 * config/riscv/riscv-d.c: Moved to...
11802 * config/riscv/riscv-d.cc: ...here.
11803 * config/riscv/riscv-shorten-memrefs.c: Moved to...
11804 * config/riscv/riscv-shorten-memrefs.cc: ...here.
11805 * config/riscv/riscv-sr.c: Moved to...
11806 * config/riscv/riscv-sr.cc: ...here.
11807 * config/riscv/riscv.c: Moved to...
11808 * config/riscv/riscv.cc: ...here.
11809 * config/rl78/rl78-c.c: Moved to...
11810 * config/rl78/rl78-c.cc: ...here.
11811 * config/rl78/rl78.c: Moved to...
11812 * config/rl78/rl78.cc: ...here.
11813 * config/rs6000/driver-rs6000.c: Moved to...
11814 * config/rs6000/driver-rs6000.cc: ...here.
11815 * config/rs6000/host-darwin.c: Moved to...
11816 * config/rs6000/host-darwin.cc: ...here.
11817 * config/rs6000/host-ppc64-darwin.c: Moved to...
11818 * config/rs6000/host-ppc64-darwin.cc: ...here.
11819 * config/rs6000/rbtree.c: Moved to...
11820 * config/rs6000/rbtree.cc: ...here.
11821 * config/rs6000/rs6000-c.c: Moved to...
11822 * config/rs6000/rs6000-c.cc: ...here.
11823 * config/rs6000/rs6000-call.c: Moved to...
11824 * config/rs6000/rs6000-call.cc: ...here.
11825 * config/rs6000/rs6000-d.c: Moved to...
11826 * config/rs6000/rs6000-d.cc: ...here.
11827 * config/rs6000/rs6000-gen-builtins.c: Moved to...
11828 * config/rs6000/rs6000-gen-builtins.cc: ...here.
11829 * config/rs6000/rs6000-linux.c: Moved to...
11830 * config/rs6000/rs6000-linux.cc: ...here.
11831 * config/rs6000/rs6000-logue.c: Moved to...
11832 * config/rs6000/rs6000-logue.cc: ...here.
11833 * config/rs6000/rs6000-p8swap.c: Moved to...
11834 * config/rs6000/rs6000-p8swap.cc: ...here.
11835 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
11836 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
11837 * config/rs6000/rs6000-string.c: Moved to...
11838 * config/rs6000/rs6000-string.cc: ...here.
11839 * config/rs6000/rs6000.c: Moved to...
11840 * config/rs6000/rs6000.cc: ...here.
11841 * config/rx/rx.c: Moved to...
11842 * config/rx/rx.cc: ...here.
11843 * config/s390/driver-native.c: Moved to...
11844 * config/s390/driver-native.cc: ...here.
11845 * config/s390/s390-c.c: Moved to...
11846 * config/s390/s390-c.cc: ...here.
11847 * config/s390/s390-d.c: Moved to...
11848 * config/s390/s390-d.cc: ...here.
11849 * config/s390/s390.c: Moved to...
11850 * config/s390/s390.cc: ...here.
11851 * config/sh/divtab-sh4-300.c: Moved to...
11852 * config/sh/divtab-sh4-300.cc: ...here.
11853 * config/sh/divtab-sh4.c: Moved to...
11854 * config/sh/divtab-sh4.cc: ...here.
11855 * config/sh/divtab.c: Moved to...
11856 * config/sh/divtab.cc: ...here.
11857 * config/sh/sh-c.c: Moved to...
11858 * config/sh/sh-c.cc: ...here.
11859 * config/sh/sh.c: Moved to...
11860 * config/sh/sh.cc: ...here.
11861 * config/sol2-c.c: Moved to...
11862 * config/sol2-c.cc: ...here.
11863 * config/sol2-cxx.c: Moved to...
11864 * config/sol2-cxx.cc: ...here.
11865 * config/sol2-d.c: Moved to...
11866 * config/sol2-d.cc: ...here.
11867 * config/sol2-stubs.c: Moved to...
11868 * config/sol2-stubs.cc: ...here.
11869 * config/sol2.c: Moved to...
11870 * config/sol2.cc: ...here.
11871 * config/sparc/driver-sparc.c: Moved to...
11872 * config/sparc/driver-sparc.cc: ...here.
11873 * config/sparc/sparc-c.c: Moved to...
11874 * config/sparc/sparc-c.cc: ...here.
11875 * config/sparc/sparc-d.c: Moved to...
11876 * config/sparc/sparc-d.cc: ...here.
11877 * config/sparc/sparc.c: Moved to...
11878 * config/sparc/sparc.cc: ...here.
11879 * config/stormy16/stormy16.c: Moved to...
11880 * config/stormy16/stormy16.cc: ...here.
11881 * config/tilegx/mul-tables.c: Moved to...
11882 * config/tilegx/mul-tables.cc: ...here.
11883 * config/tilegx/tilegx-c.c: Moved to...
11884 * config/tilegx/tilegx-c.cc: ...here.
11885 * config/tilegx/tilegx.c: Moved to...
11886 * config/tilegx/tilegx.cc: ...here.
11887 * config/tilepro/mul-tables.c: Moved to...
11888 * config/tilepro/mul-tables.cc: ...here.
11889 * config/tilepro/tilepro-c.c: Moved to...
11890 * config/tilepro/tilepro-c.cc: ...here.
11891 * config/tilepro/tilepro.c: Moved to...
11892 * config/tilepro/tilepro.cc: ...here.
11893 * config/v850/v850-c.c: Moved to...
11894 * config/v850/v850-c.cc: ...here.
11895 * config/v850/v850.c: Moved to...
11896 * config/v850/v850.cc: ...here.
11897 * config/vax/vax.c: Moved to...
11898 * config/vax/vax.cc: ...here.
11899 * config/visium/visium.c: Moved to...
11900 * config/visium/visium.cc: ...here.
11901 * config/vms/vms-c.c: Moved to...
11902 * config/vms/vms-c.cc: ...here.
11903 * config/vms/vms-f.c: Moved to...
11904 * config/vms/vms-f.cc: ...here.
11905 * config/vms/vms.c: Moved to...
11906 * config/vms/vms.cc: ...here.
11907 * config/vxworks-c.c: Moved to...
11908 * config/vxworks-c.cc: ...here.
11909 * config/vxworks.c: Moved to...
11910 * config/vxworks.cc: ...here.
11911 * config/winnt-c.c: Moved to...
11912 * config/winnt-c.cc: ...here.
11913 * config/xtensa/xtensa.c: Moved to...
11914 * config/xtensa/xtensa.cc: ...here.
11915 * context.c: Moved to...
11916 * context.cc: ...here.
11917 * convert.c: Moved to...
11918 * convert.cc: ...here.
11919 * coverage.c: Moved to...
11920 * coverage.cc: ...here.
11921 * cppbuiltin.c: Moved to...
11922 * cppbuiltin.cc: ...here.
11923 * cppdefault.c: Moved to...
11924 * cppdefault.cc: ...here.
11925 * cprop.c: Moved to...
11926 * cprop.cc: ...here.
11927 * cse.c: Moved to...
11928 * cse.cc: ...here.
11929 * cselib.c: Moved to...
11930 * cselib.cc: ...here.
11931 * ctfc.c: Moved to...
11932 * ctfc.cc: ...here.
11933 * ctfout.c: Moved to...
11934 * ctfout.cc: ...here.
11935 * data-streamer-in.c: Moved to...
11936 * data-streamer-in.cc: ...here.
11937 * data-streamer-out.c: Moved to...
11938 * data-streamer-out.cc: ...here.
11939 * data-streamer.c: Moved to...
11940 * data-streamer.cc: ...here.
11941 * dbgcnt.c: Moved to...
11942 * dbgcnt.cc: ...here.
11943 * dbxout.c: Moved to...
11944 * dbxout.cc: ...here.
11945 * dce.c: Moved to...
11946 * dce.cc: ...here.
11947 * ddg.c: Moved to...
11948 * ddg.cc: ...here.
11949 * debug.c: Moved to...
11950 * debug.cc: ...here.
11951 * df-core.c: Moved to...
11952 * df-core.cc: ...here.
11953 * df-problems.c: Moved to...
11954 * df-problems.cc: ...here.
11955 * df-scan.c: Moved to...
11956 * df-scan.cc: ...here.
11957 * dfp.c: Moved to...
11958 * dfp.cc: ...here.
11959 * diagnostic-color.c: Moved to...
11960 * diagnostic-color.cc: ...here.
11961 * diagnostic-show-locus.c: Moved to...
11962 * diagnostic-show-locus.cc: ...here.
11963 * diagnostic-spec.c: Moved to...
11964 * diagnostic-spec.cc: ...here.
11965 * diagnostic.c: Moved to...
11966 * diagnostic.cc: ...here.
11967 * dojump.c: Moved to...
11968 * dojump.cc: ...here.
11969 * dominance.c: Moved to...
11970 * dominance.cc: ...here.
11971 * domwalk.c: Moved to...
11972 * domwalk.cc: ...here.
11973 * double-int.c: Moved to...
11974 * double-int.cc: ...here.
11975 * dse.c: Moved to...
11976 * dse.cc: ...here.
11977 * dumpfile.c: Moved to...
11978 * dumpfile.cc: ...here.
11979 * dwarf2asm.c: Moved to...
11980 * dwarf2asm.cc: ...here.
11981 * dwarf2cfi.c: Moved to...
11982 * dwarf2cfi.cc: ...here.
11983 * dwarf2ctf.c: Moved to...
11984 * dwarf2ctf.cc: ...here.
11985 * dwarf2out.c: Moved to...
11986 * dwarf2out.cc: ...here.
11987 * early-remat.c: Moved to...
11988 * early-remat.cc: ...here.
11989 * edit-context.c: Moved to...
11990 * edit-context.cc: ...here.
11991 * emit-rtl.c: Moved to...
11992 * emit-rtl.cc: ...here.
11993 * errors.c: Moved to...
11994 * errors.cc: ...here.
11995 * et-forest.c: Moved to...
11996 * et-forest.cc: ...here.
11997 * except.c: Moved to...
11998 * except.cc: ...here.
11999 * explow.c: Moved to...
12000 * explow.cc: ...here.
12001 * expmed.c: Moved to...
12002 * expmed.cc: ...here.
12003 * expr.c: Moved to...
12004 * expr.cc: ...here.
12005 * fibonacci_heap.c: Moved to...
12006 * fibonacci_heap.cc: ...here.
12007 * file-find.c: Moved to...
12008 * file-find.cc: ...here.
12009 * file-prefix-map.c: Moved to...
12010 * file-prefix-map.cc: ...here.
12011 * final.c: Moved to...
12012 * final.cc: ...here.
12013 * fixed-value.c: Moved to...
12014 * fixed-value.cc: ...here.
12015 * fold-const-call.c: Moved to...
12016 * fold-const-call.cc: ...here.
12017 * fold-const.c: Moved to...
12018 * fold-const.cc: ...here.
12019 * fp-test.c: Moved to...
12020 * fp-test.cc: ...here.
12021 * function-tests.c: Moved to...
12022 * function-tests.cc: ...here.
12023 * function.c: Moved to...
12024 * function.cc: ...here.
12025 * fwprop.c: Moved to...
12026 * fwprop.cc: ...here.
12027 * gcc-ar.c: Moved to...
12028 * gcc-ar.cc: ...here.
12029 * gcc-main.c: Moved to...
12030 * gcc-main.cc: ...here.
12031 * gcc-rich-location.c: Moved to...
12032 * gcc-rich-location.cc: ...here.
12033 * gcc.c: Moved to...
12034 * gcc.cc: ...here.
12035 * gcov-dump.c: Moved to...
12036 * gcov-dump.cc: ...here.
12037 * gcov-io.c: Moved to...
12038 * gcov-io.cc: ...here.
12039 * gcov-tool.c: Moved to...
12040 * gcov-tool.cc: ...here.
12041 * gcov.c: Moved to...
12042 * gcov.cc: ...here.
12043 * gcse-common.c: Moved to...
12044 * gcse-common.cc: ...here.
12045 * gcse.c: Moved to...
12046 * gcse.cc: ...here.
12047 * genattr-common.c: Moved to...
12048 * genattr-common.cc: ...here.
12049 * genattr.c: Moved to...
12050 * genattr.cc: ...here.
12051 * genattrtab.c: Moved to...
12052 * genattrtab.cc: ...here.
12053 * genautomata.c: Moved to...
12054 * genautomata.cc: ...here.
12055 * gencfn-macros.c: Moved to...
12056 * gencfn-macros.cc: ...here.
12057 * gencheck.c: Moved to...
12058 * gencheck.cc: ...here.
12059 * genchecksum.c: Moved to...
12060 * genchecksum.cc: ...here.
12061 * gencodes.c: Moved to...
12062 * gencodes.cc: ...here.
12063 * genconditions.c: Moved to...
12064 * genconditions.cc: ...here.
12065 * genconfig.c: Moved to...
12066 * genconfig.cc: ...here.
12067 * genconstants.c: Moved to...
12068 * genconstants.cc: ...here.
12069 * genemit.c: Moved to...
12070 * genemit.cc: ...here.
12071 * genenums.c: Moved to...
12072 * genenums.cc: ...here.
12073 * generic-match-head.c: Moved to...
12074 * generic-match-head.cc: ...here.
12075 * genextract.c: Moved to...
12076 * genextract.cc: ...here.
12077 * genflags.c: Moved to...
12078 * genflags.cc: ...here.
12079 * gengenrtl.c: Moved to...
12080 * gengenrtl.cc: ...here.
12081 * gengtype-parse.c: Moved to...
12082 * gengtype-parse.cc: ...here.
12083 * gengtype-state.c: Moved to...
12084 * gengtype-state.cc: ...here.
12085 * gengtype.c: Moved to...
12086 * gengtype.cc: ...here.
12087 * genhooks.c: Moved to...
12088 * genhooks.cc: ...here.
12089 * genmatch.c: Moved to...
12090 * genmatch.cc: ...here.
12091 * genmddeps.c: Moved to...
12092 * genmddeps.cc: ...here.
12093 * genmddump.c: Moved to...
12094 * genmddump.cc: ...here.
12095 * genmodes.c: Moved to...
12096 * genmodes.cc: ...here.
12097 * genopinit.c: Moved to...
12098 * genopinit.cc: ...here.
12099 * genoutput.c: Moved to...
12100 * genoutput.cc: ...here.
12101 * genpeep.c: Moved to...
12102 * genpeep.cc: ...here.
12103 * genpreds.c: Moved to...
12104 * genpreds.cc: ...here.
12105 * genrecog.c: Moved to...
12106 * genrecog.cc: ...here.
12107 * gensupport.c: Moved to...
12108 * gensupport.cc: ...here.
12109 * gentarget-def.c: Moved to...
12110 * gentarget-def.cc: ...here.
12111 * genversion.c: Moved to...
12112 * genversion.cc: ...here.
12113 * ggc-common.c: Moved to...
12114 * ggc-common.cc: ...here.
12115 * ggc-none.c: Moved to...
12116 * ggc-none.cc: ...here.
12117 * ggc-page.c: Moved to...
12118 * ggc-page.cc: ...here.
12119 * ggc-tests.c: Moved to...
12120 * ggc-tests.cc: ...here.
12121 * gimple-builder.c: Moved to...
12122 * gimple-builder.cc: ...here.
12123 * gimple-expr.c: Moved to...
12124 * gimple-expr.cc: ...here.
12125 * gimple-fold.c: Moved to...
12126 * gimple-fold.cc: ...here.
12127 * gimple-iterator.c: Moved to...
12128 * gimple-iterator.cc: ...here.
12129 * gimple-laddress.c: Moved to...
12130 * gimple-laddress.cc: ...here.
12131 * gimple-loop-jam.c: Moved to...
12132 * gimple-loop-jam.cc: ...here.
12133 * gimple-low.c: Moved to...
12134 * gimple-low.cc: ...here.
12135 * gimple-match-head.c: Moved to...
12136 * gimple-match-head.cc: ...here.
12137 * gimple-pretty-print.c: Moved to...
12138 * gimple-pretty-print.cc: ...here.
12139 * gimple-ssa-backprop.c: Moved to...
12140 * gimple-ssa-backprop.cc: ...here.
12141 * gimple-ssa-evrp-analyze.c: Moved to...
12142 * gimple-ssa-evrp-analyze.cc: ...here.
12143 * gimple-ssa-evrp.c: Moved to...
12144 * gimple-ssa-evrp.cc: ...here.
12145 * gimple-ssa-isolate-paths.c: Moved to...
12146 * gimple-ssa-isolate-paths.cc: ...here.
12147 * gimple-ssa-nonnull-compare.c: Moved to...
12148 * gimple-ssa-nonnull-compare.cc: ...here.
12149 * gimple-ssa-split-paths.c: Moved to...
12150 * gimple-ssa-split-paths.cc: ...here.
12151 * gimple-ssa-sprintf.c: Moved to...
12152 * gimple-ssa-sprintf.cc: ...here.
12153 * gimple-ssa-store-merging.c: Moved to...
12154 * gimple-ssa-store-merging.cc: ...here.
12155 * gimple-ssa-strength-reduction.c: Moved to...
12156 * gimple-ssa-strength-reduction.cc: ...here.
12157 * gimple-ssa-warn-alloca.c: Moved to...
12158 * gimple-ssa-warn-alloca.cc: ...here.
12159 * gimple-ssa-warn-restrict.c: Moved to...
12160 * gimple-ssa-warn-restrict.cc: ...here.
12161 * gimple-streamer-in.c: Moved to...
12162 * gimple-streamer-in.cc: ...here.
12163 * gimple-streamer-out.c: Moved to...
12164 * gimple-streamer-out.cc: ...here.
12165 * gimple-walk.c: Moved to...
12166 * gimple-walk.cc: ...here.
12167 * gimple-warn-recursion.c: Moved to...
12168 * gimple-warn-recursion.cc: ...here.
12169 * gimple.c: Moved to...
12170 * gimple.cc: ...here.
12171 * gimplify-me.c: Moved to...
12172 * gimplify-me.cc: ...here.
12173 * gimplify.c: Moved to...
12174 * gimplify.cc: ...here.
12175 * godump.c: Moved to...
12176 * godump.cc: ...here.
12177 * graph.c: Moved to...
12178 * graph.cc: ...here.
12179 * graphds.c: Moved to...
12180 * graphds.cc: ...here.
12181 * graphite-dependences.c: Moved to...
12182 * graphite-dependences.cc: ...here.
12183 * graphite-isl-ast-to-gimple.c: Moved to...
12184 * graphite-isl-ast-to-gimple.cc: ...here.
12185 * graphite-optimize-isl.c: Moved to...
12186 * graphite-optimize-isl.cc: ...here.
12187 * graphite-poly.c: Moved to...
12188 * graphite-poly.cc: ...here.
12189 * graphite-scop-detection.c: Moved to...
12190 * graphite-scop-detection.cc: ...here.
12191 * graphite-sese-to-poly.c: Moved to...
12192 * graphite-sese-to-poly.cc: ...here.
12193 * graphite.c: Moved to...
12194 * graphite.cc: ...here.
12195 * haifa-sched.c: Moved to...
12196 * haifa-sched.cc: ...here.
12197 * hash-map-tests.c: Moved to...
12198 * hash-map-tests.cc: ...here.
12199 * hash-set-tests.c: Moved to...
12200 * hash-set-tests.cc: ...here.
12201 * hash-table.c: Moved to...
12202 * hash-table.cc: ...here.
12203 * hooks.c: Moved to...
12204 * hooks.cc: ...here.
12205 * host-default.c: Moved to...
12206 * host-default.cc: ...here.
12207 * hw-doloop.c: Moved to...
12208 * hw-doloop.cc: ...here.
12209 * hwint.c: Moved to...
12210 * hwint.cc: ...here.
12211 * ifcvt.c: Moved to...
12212 * ifcvt.cc: ...here.
12213 * inchash.c: Moved to...
12214 * inchash.cc: ...here.
12215 * incpath.c: Moved to...
12216 * incpath.cc: ...here.
12217 * init-regs.c: Moved to...
12218 * init-regs.cc: ...here.
12219 * input.c: Moved to...
12220 * input.cc: ...here.
12221 * internal-fn.c: Moved to...
12222 * internal-fn.cc: ...here.
12223 * intl.c: Moved to...
12224 * intl.cc: ...here.
12225 * ipa-comdats.c: Moved to...
12226 * ipa-comdats.cc: ...here.
12227 * ipa-cp.c: Moved to...
12228 * ipa-cp.cc: ...here.
12229 * ipa-devirt.c: Moved to...
12230 * ipa-devirt.cc: ...here.
12231 * ipa-fnsummary.c: Moved to...
12232 * ipa-fnsummary.cc: ...here.
12233 * ipa-icf-gimple.c: Moved to...
12234 * ipa-icf-gimple.cc: ...here.
12235 * ipa-icf.c: Moved to...
12236 * ipa-icf.cc: ...here.
12237 * ipa-inline-analysis.c: Moved to...
12238 * ipa-inline-analysis.cc: ...here.
12239 * ipa-inline-transform.c: Moved to...
12240 * ipa-inline-transform.cc: ...here.
12241 * ipa-inline.c: Moved to...
12242 * ipa-inline.cc: ...here.
12243 * ipa-modref-tree.c: Moved to...
12244 * ipa-modref-tree.cc: ...here.
12245 * ipa-modref.c: Moved to...
12246 * ipa-modref.cc: ...here.
12247 * ipa-param-manipulation.c: Moved to...
12248 * ipa-param-manipulation.cc: ...here.
12249 * ipa-polymorphic-call.c: Moved to...
12250 * ipa-polymorphic-call.cc: ...here.
12251 * ipa-predicate.c: Moved to...
12252 * ipa-predicate.cc: ...here.
12253 * ipa-profile.c: Moved to...
12254 * ipa-profile.cc: ...here.
12255 * ipa-prop.c: Moved to...
12256 * ipa-prop.cc: ...here.
12257 * ipa-pure-const.c: Moved to...
12258 * ipa-pure-const.cc: ...here.
12259 * ipa-ref.c: Moved to...
12260 * ipa-ref.cc: ...here.
12261 * ipa-reference.c: Moved to...
12262 * ipa-reference.cc: ...here.
12263 * ipa-split.c: Moved to...
12264 * ipa-split.cc: ...here.
12265 * ipa-sra.c: Moved to...
12266 * ipa-sra.cc: ...here.
12267 * ipa-utils.c: Moved to...
12268 * ipa-utils.cc: ...here.
12269 * ipa-visibility.c: Moved to...
12270 * ipa-visibility.cc: ...here.
12271 * ipa.c: Moved to...
12272 * ipa.cc: ...here.
12273 * ira-build.c: Moved to...
12274 * ira-build.cc: ...here.
12275 * ira-color.c: Moved to...
12276 * ira-color.cc: ...here.
12277 * ira-conflicts.c: Moved to...
12278 * ira-conflicts.cc: ...here.
12279 * ira-costs.c: Moved to...
12280 * ira-costs.cc: ...here.
12281 * ira-emit.c: Moved to...
12282 * ira-emit.cc: ...here.
12283 * ira-lives.c: Moved to...
12284 * ira-lives.cc: ...here.
12285 * ira.c: Moved to...
12286 * ira.cc: ...here.
12287 * jump.c: Moved to...
12288 * jump.cc: ...here.
12289 * langhooks.c: Moved to...
12290 * langhooks.cc: ...here.
12291 * lcm.c: Moved to...
12292 * lcm.cc: ...here.
12293 * lists.c: Moved to...
12294 * lists.cc: ...here.
12295 * loop-doloop.c: Moved to...
12296 * loop-doloop.cc: ...here.
12297 * loop-init.c: Moved to...
12298 * loop-init.cc: ...here.
12299 * loop-invariant.c: Moved to...
12300 * loop-invariant.cc: ...here.
12301 * loop-iv.c: Moved to...
12302 * loop-iv.cc: ...here.
12303 * loop-unroll.c: Moved to...
12304 * loop-unroll.cc: ...here.
12305 * lower-subreg.c: Moved to...
12306 * lower-subreg.cc: ...here.
12307 * lra-assigns.c: Moved to...
12308 * lra-assigns.cc: ...here.
12309 * lra-coalesce.c: Moved to...
12310 * lra-coalesce.cc: ...here.
12311 * lra-constraints.c: Moved to...
12312 * lra-constraints.cc: ...here.
12313 * lra-eliminations.c: Moved to...
12314 * lra-eliminations.cc: ...here.
12315 * lra-lives.c: Moved to...
12316 * lra-lives.cc: ...here.
12317 * lra-remat.c: Moved to...
12318 * lra-remat.cc: ...here.
12319 * lra-spills.c: Moved to...
12320 * lra-spills.cc: ...here.
12321 * lra.c: Moved to...
12322 * lra.cc: ...here.
12323 * lto-cgraph.c: Moved to...
12324 * lto-cgraph.cc: ...here.
12325 * lto-compress.c: Moved to...
12326 * lto-compress.cc: ...here.
12327 * lto-opts.c: Moved to...
12328 * lto-opts.cc: ...here.
12329 * lto-section-in.c: Moved to...
12330 * lto-section-in.cc: ...here.
12331 * lto-section-out.c: Moved to...
12332 * lto-section-out.cc: ...here.
12333 * lto-streamer-in.c: Moved to...
12334 * lto-streamer-in.cc: ...here.
12335 * lto-streamer-out.c: Moved to...
12336 * lto-streamer-out.cc: ...here.
12337 * lto-streamer.c: Moved to...
12338 * lto-streamer.cc: ...here.
12339 * lto-wrapper.c: Moved to...
12340 * lto-wrapper.cc: ...here.
12341 * main.c: Moved to...
12342 * main.cc: ...here.
12343 * mcf.c: Moved to...
12344 * mcf.cc: ...here.
12345 * mode-switching.c: Moved to...
12346 * mode-switching.cc: ...here.
12347 * modulo-sched.c: Moved to...
12348 * modulo-sched.cc: ...here.
12349 * multiple_target.c: Moved to...
12350 * multiple_target.cc: ...here.
12351 * omp-expand.c: Moved to...
12352 * omp-expand.cc: ...here.
12353 * omp-general.c: Moved to...
12354 * omp-general.cc: ...here.
12355 * omp-low.c: Moved to...
12356 * omp-low.cc: ...here.
12357 * omp-offload.c: Moved to...
12358 * omp-offload.cc: ...here.
12359 * omp-simd-clone.c: Moved to...
12360 * omp-simd-clone.cc: ...here.
12361 * opt-suggestions.c: Moved to...
12362 * opt-suggestions.cc: ...here.
12363 * optabs-libfuncs.c: Moved to...
12364 * optabs-libfuncs.cc: ...here.
12365 * optabs-query.c: Moved to...
12366 * optabs-query.cc: ...here.
12367 * optabs-tree.c: Moved to...
12368 * optabs-tree.cc: ...here.
12369 * optabs.c: Moved to...
12370 * optabs.cc: ...here.
12371 * opts-common.c: Moved to...
12372 * opts-common.cc: ...here.
12373 * opts-global.c: Moved to...
12374 * opts-global.cc: ...here.
12375 * opts.c: Moved to...
12376 * opts.cc: ...here.
12377 * passes.c: Moved to...
12378 * passes.cc: ...here.
12379 * plugin.c: Moved to...
12380 * plugin.cc: ...here.
12381 * postreload-gcse.c: Moved to...
12382 * postreload-gcse.cc: ...here.
12383 * postreload.c: Moved to...
12384 * postreload.cc: ...here.
12385 * predict.c: Moved to...
12386 * predict.cc: ...here.
12387 * prefix.c: Moved to...
12388 * prefix.cc: ...here.
12389 * pretty-print.c: Moved to...
12390 * pretty-print.cc: ...here.
12391 * print-rtl-function.c: Moved to...
12392 * print-rtl-function.cc: ...here.
12393 * print-rtl.c: Moved to...
12394 * print-rtl.cc: ...here.
12395 * print-tree.c: Moved to...
12396 * print-tree.cc: ...here.
12397 * profile-count.c: Moved to...
12398 * profile-count.cc: ...here.
12399 * profile.c: Moved to...
12400 * profile.cc: ...here.
12401 * read-md.c: Moved to...
12402 * read-md.cc: ...here.
12403 * read-rtl-function.c: Moved to...
12404 * read-rtl-function.cc: ...here.
12405 * read-rtl.c: Moved to...
12406 * read-rtl.cc: ...here.
12407 * real.c: Moved to...
12408 * real.cc: ...here.
12409 * realmpfr.c: Moved to...
12410 * realmpfr.cc: ...here.
12411 * recog.c: Moved to...
12412 * recog.cc: ...here.
12413 * ree.c: Moved to...
12414 * ree.cc: ...here.
12415 * reg-stack.c: Moved to...
12416 * reg-stack.cc: ...here.
12417 * regcprop.c: Moved to...
12418 * regcprop.cc: ...here.
12419 * reginfo.c: Moved to...
12420 * reginfo.cc: ...here.
12421 * regrename.c: Moved to...
12422 * regrename.cc: ...here.
12423 * regstat.c: Moved to...
12424 * regstat.cc: ...here.
12425 * reload.c: Moved to...
12426 * reload.cc: ...here.
12427 * reload1.c: Moved to...
12428 * reload1.cc: ...here.
12429 * reorg.c: Moved to...
12430 * reorg.cc: ...here.
12431 * resource.c: Moved to...
12432 * resource.cc: ...here.
12433 * rtl-error.c: Moved to...
12434 * rtl-error.cc: ...here.
12435 * rtl-tests.c: Moved to...
12436 * rtl-tests.cc: ...here.
12437 * rtl.c: Moved to...
12438 * rtl.cc: ...here.
12439 * rtlanal.c: Moved to...
12440 * rtlanal.cc: ...here.
12441 * rtlhash.c: Moved to...
12442 * rtlhash.cc: ...here.
12443 * rtlhooks.c: Moved to...
12444 * rtlhooks.cc: ...here.
12445 * rtx-vector-builder.c: Moved to...
12446 * rtx-vector-builder.cc: ...here.
12447 * run-rtl-passes.c: Moved to...
12448 * run-rtl-passes.cc: ...here.
12449 * sancov.c: Moved to...
12450 * sancov.cc: ...here.
12451 * sanopt.c: Moved to...
12452 * sanopt.cc: ...here.
12453 * sbitmap.c: Moved to...
12454 * sbitmap.cc: ...here.
12455 * sched-deps.c: Moved to...
12456 * sched-deps.cc: ...here.
12457 * sched-ebb.c: Moved to...
12458 * sched-ebb.cc: ...here.
12459 * sched-rgn.c: Moved to...
12460 * sched-rgn.cc: ...here.
12461 * sel-sched-dump.c: Moved to...
12462 * sel-sched-dump.cc: ...here.
12463 * sel-sched-ir.c: Moved to...
12464 * sel-sched-ir.cc: ...here.
12465 * sel-sched.c: Moved to...
12466 * sel-sched.cc: ...here.
12467 * selftest-diagnostic.c: Moved to...
12468 * selftest-diagnostic.cc: ...here.
12469 * selftest-rtl.c: Moved to...
12470 * selftest-rtl.cc: ...here.
12471 * selftest-run-tests.c: Moved to...
12472 * selftest-run-tests.cc: ...here.
12473 * selftest.c: Moved to...
12474 * selftest.cc: ...here.
12475 * sese.c: Moved to...
12476 * sese.cc: ...here.
12477 * shrink-wrap.c: Moved to...
12478 * shrink-wrap.cc: ...here.
12479 * simplify-rtx.c: Moved to...
12480 * simplify-rtx.cc: ...here.
12481 * sparseset.c: Moved to...
12482 * sparseset.cc: ...here.
12483 * spellcheck-tree.c: Moved to...
12484 * spellcheck-tree.cc: ...here.
12485 * spellcheck.c: Moved to...
12486 * spellcheck.cc: ...here.
12487 * sreal.c: Moved to...
12488 * sreal.cc: ...here.
12489 * stack-ptr-mod.c: Moved to...
12490 * stack-ptr-mod.cc: ...here.
12491 * statistics.c: Moved to...
12492 * statistics.cc: ...here.
12493 * stmt.c: Moved to...
12494 * stmt.cc: ...here.
12495 * stor-layout.c: Moved to...
12496 * stor-layout.cc: ...here.
12497 * store-motion.c: Moved to...
12498 * store-motion.cc: ...here.
12499 * streamer-hooks.c: Moved to...
12500 * streamer-hooks.cc: ...here.
12501 * stringpool.c: Moved to...
12502 * stringpool.cc: ...here.
12503 * substring-locations.c: Moved to...
12504 * substring-locations.cc: ...here.
12505 * symtab.c: Moved to...
12506 * symtab.cc: ...here.
12507 * target-globals.c: Moved to...
12508 * target-globals.cc: ...here.
12509 * targhooks.c: Moved to...
12510 * targhooks.cc: ...here.
12511 * timevar.c: Moved to...
12512 * timevar.cc: ...here.
12513 * toplev.c: Moved to...
12514 * toplev.cc: ...here.
12515 * tracer.c: Moved to...
12516 * tracer.cc: ...here.
12517 * trans-mem.c: Moved to...
12518 * trans-mem.cc: ...here.
12519 * tree-affine.c: Moved to...
12520 * tree-affine.cc: ...here.
12521 * tree-call-cdce.c: Moved to...
12522 * tree-call-cdce.cc: ...here.
12523 * tree-cfg.c: Moved to...
12524 * tree-cfg.cc: ...here.
12525 * tree-cfgcleanup.c: Moved to...
12526 * tree-cfgcleanup.cc: ...here.
12527 * tree-chrec.c: Moved to...
12528 * tree-chrec.cc: ...here.
12529 * tree-complex.c: Moved to...
12530 * tree-complex.cc: ...here.
12531 * tree-data-ref.c: Moved to...
12532 * tree-data-ref.cc: ...here.
12533 * tree-dfa.c: Moved to...
12534 * tree-dfa.cc: ...here.
12535 * tree-diagnostic.c: Moved to...
12536 * tree-diagnostic.cc: ...here.
12537 * tree-dump.c: Moved to...
12538 * tree-dump.cc: ...here.
12539 * tree-eh.c: Moved to...
12540 * tree-eh.cc: ...here.
12541 * tree-emutls.c: Moved to...
12542 * tree-emutls.cc: ...here.
12543 * tree-if-conv.c: Moved to...
12544 * tree-if-conv.cc: ...here.
12545 * tree-inline.c: Moved to...
12546 * tree-inline.cc: ...here.
12547 * tree-into-ssa.c: Moved to...
12548 * tree-into-ssa.cc: ...here.
12549 * tree-iterator.c: Moved to...
12550 * tree-iterator.cc: ...here.
12551 * tree-loop-distribution.c: Moved to...
12552 * tree-loop-distribution.cc: ...here.
12553 * tree-nested.c: Moved to...
12554 * tree-nested.cc: ...here.
12555 * tree-nrv.c: Moved to...
12556 * tree-nrv.cc: ...here.
12557 * tree-object-size.c: Moved to...
12558 * tree-object-size.cc: ...here.
12559 * tree-outof-ssa.c: Moved to...
12560 * tree-outof-ssa.cc: ...here.
12561 * tree-parloops.c: Moved to...
12562 * tree-parloops.cc: ...here.
12563 * tree-phinodes.c: Moved to...
12564 * tree-phinodes.cc: ...here.
12565 * tree-predcom.c: Moved to...
12566 * tree-predcom.cc: ...here.
12567 * tree-pretty-print.c: Moved to...
12568 * tree-pretty-print.cc: ...here.
12569 * tree-profile.c: Moved to...
12570 * tree-profile.cc: ...here.
12571 * tree-scalar-evolution.c: Moved to...
12572 * tree-scalar-evolution.cc: ...here.
12573 * tree-sra.c: Moved to...
12574 * tree-sra.cc: ...here.
12575 * tree-ssa-address.c: Moved to...
12576 * tree-ssa-address.cc: ...here.
12577 * tree-ssa-alias.c: Moved to...
12578 * tree-ssa-alias.cc: ...here.
12579 * tree-ssa-ccp.c: Moved to...
12580 * tree-ssa-ccp.cc: ...here.
12581 * tree-ssa-coalesce.c: Moved to...
12582 * tree-ssa-coalesce.cc: ...here.
12583 * tree-ssa-copy.c: Moved to...
12584 * tree-ssa-copy.cc: ...here.
12585 * tree-ssa-dce.c: Moved to...
12586 * tree-ssa-dce.cc: ...here.
12587 * tree-ssa-dom.c: Moved to...
12588 * tree-ssa-dom.cc: ...here.
12589 * tree-ssa-dse.c: Moved to...
12590 * tree-ssa-dse.cc: ...here.
12591 * tree-ssa-forwprop.c: Moved to...
12592 * tree-ssa-forwprop.cc: ...here.
12593 * tree-ssa-ifcombine.c: Moved to...
12594 * tree-ssa-ifcombine.cc: ...here.
12595 * tree-ssa-live.c: Moved to...
12596 * tree-ssa-live.cc: ...here.
12597 * tree-ssa-loop-ch.c: Moved to...
12598 * tree-ssa-loop-ch.cc: ...here.
12599 * tree-ssa-loop-im.c: Moved to...
12600 * tree-ssa-loop-im.cc: ...here.
12601 * tree-ssa-loop-ivcanon.c: Moved to...
12602 * tree-ssa-loop-ivcanon.cc: ...here.
12603 * tree-ssa-loop-ivopts.c: Moved to...
12604 * tree-ssa-loop-ivopts.cc: ...here.
12605 * tree-ssa-loop-manip.c: Moved to...
12606 * tree-ssa-loop-manip.cc: ...here.
12607 * tree-ssa-loop-niter.c: Moved to...
12608 * tree-ssa-loop-niter.cc: ...here.
12609 * tree-ssa-loop-prefetch.c: Moved to...
12610 * tree-ssa-loop-prefetch.cc: ...here.
12611 * tree-ssa-loop-split.c: Moved to...
12612 * tree-ssa-loop-split.cc: ...here.
12613 * tree-ssa-loop-unswitch.c: Moved to...
12614 * tree-ssa-loop-unswitch.cc: ...here.
12615 * tree-ssa-loop.c: Moved to...
12616 * tree-ssa-loop.cc: ...here.
12617 * tree-ssa-math-opts.c: Moved to...
12618 * tree-ssa-math-opts.cc: ...here.
12619 * tree-ssa-operands.c: Moved to...
12620 * tree-ssa-operands.cc: ...here.
12621 * tree-ssa-phiopt.c: Moved to...
12622 * tree-ssa-phiopt.cc: ...here.
12623 * tree-ssa-phiprop.c: Moved to...
12624 * tree-ssa-phiprop.cc: ...here.
12625 * tree-ssa-pre.c: Moved to...
12626 * tree-ssa-pre.cc: ...here.
12627 * tree-ssa-propagate.c: Moved to...
12628 * tree-ssa-propagate.cc: ...here.
12629 * tree-ssa-reassoc.c: Moved to...
12630 * tree-ssa-reassoc.cc: ...here.
12631 * tree-ssa-sccvn.c: Moved to...
12632 * tree-ssa-sccvn.cc: ...here.
12633 * tree-ssa-scopedtables.c: Moved to...
12634 * tree-ssa-scopedtables.cc: ...here.
12635 * tree-ssa-sink.c: Moved to...
12636 * tree-ssa-sink.cc: ...here.
12637 * tree-ssa-strlen.c: Moved to...
12638 * tree-ssa-strlen.cc: ...here.
12639 * tree-ssa-structalias.c: Moved to...
12640 * tree-ssa-structalias.cc: ...here.
12641 * tree-ssa-tail-merge.c: Moved to...
12642 * tree-ssa-tail-merge.cc: ...here.
12643 * tree-ssa-ter.c: Moved to...
12644 * tree-ssa-ter.cc: ...here.
12645 * tree-ssa-threadbackward.c: Moved to...
12646 * tree-ssa-threadbackward.cc: ...here.
12647 * tree-ssa-threadedge.c: Moved to...
12648 * tree-ssa-threadedge.cc: ...here.
12649 * tree-ssa-threadupdate.c: Moved to...
12650 * tree-ssa-threadupdate.cc: ...here.
12651 * tree-ssa-uncprop.c: Moved to...
12652 * tree-ssa-uncprop.cc: ...here.
12653 * tree-ssa-uninit.c: Moved to...
12654 * tree-ssa-uninit.cc: ...here.
12655 * tree-ssa.c: Moved to...
12656 * tree-ssa.cc: ...here.
12657 * tree-ssanames.c: Moved to...
12658 * tree-ssanames.cc: ...here.
12659 * tree-stdarg.c: Moved to...
12660 * tree-stdarg.cc: ...here.
12661 * tree-streamer-in.c: Moved to...
12662 * tree-streamer-in.cc: ...here.
12663 * tree-streamer-out.c: Moved to...
12664 * tree-streamer-out.cc: ...here.
12665 * tree-streamer.c: Moved to...
12666 * tree-streamer.cc: ...here.
12667 * tree-switch-conversion.c: Moved to...
12668 * tree-switch-conversion.cc: ...here.
12669 * tree-tailcall.c: Moved to...
12670 * tree-tailcall.cc: ...here.
12671 * tree-vect-data-refs.c: Moved to...
12672 * tree-vect-data-refs.cc: ...here.
12673 * tree-vect-generic.c: Moved to...
12674 * tree-vect-generic.cc: ...here.
12675 * tree-vect-loop-manip.c: Moved to...
12676 * tree-vect-loop-manip.cc: ...here.
12677 * tree-vect-loop.c: Moved to...
12678 * tree-vect-loop.cc: ...here.
12679 * tree-vect-patterns.c: Moved to...
12680 * tree-vect-patterns.cc: ...here.
12681 * tree-vect-slp-patterns.c: Moved to...
12682 * tree-vect-slp-patterns.cc: ...here.
12683 * tree-vect-slp.c: Moved to...
12684 * tree-vect-slp.cc: ...here.
12685 * tree-vect-stmts.c: Moved to...
12686 * tree-vect-stmts.cc: ...here.
12687 * tree-vector-builder.c: Moved to...
12688 * tree-vector-builder.cc: ...here.
12689 * tree-vectorizer.c: Moved to...
12690 * tree-vectorizer.cc: ...here.
12691 * tree-vrp.c: Moved to...
12692 * tree-vrp.cc: ...here.
12693 * tree.c: Moved to...
12694 * tree.cc: ...here.
12695 * tsan.c: Moved to...
12696 * tsan.cc: ...here.
12697 * typed-splay-tree.c: Moved to...
12698 * typed-splay-tree.cc: ...here.
12699 * ubsan.c: Moved to...
12700 * ubsan.cc: ...here.
12701 * valtrack.c: Moved to...
12702 * valtrack.cc: ...here.
12703 * value-prof.c: Moved to...
12704 * value-prof.cc: ...here.
12705 * var-tracking.c: Moved to...
12706 * var-tracking.cc: ...here.
12707 * varasm.c: Moved to...
12708 * varasm.cc: ...here.
12709 * varpool.c: Moved to...
12710 * varpool.cc: ...here.
12711 * vec-perm-indices.c: Moved to...
12712 * vec-perm-indices.cc: ...here.
12713 * vec.c: Moved to...
12714 * vec.cc: ...here.
12715 * vmsdbgout.c: Moved to...
12716 * vmsdbgout.cc: ...here.
12717 * vr-values.c: Moved to...
12718 * vr-values.cc: ...here.
12719 * vtable-verify.c: Moved to...
12720 * vtable-verify.cc: ...here.
12721 * web.c: Moved to...
12722 * web.cc: ...here.
12723 * xcoffout.c: Moved to...
12724 * xcoffout.cc: ...here.
12725
12726 2022-01-17 qing zhao <qing.zhao@oracle.com>
12727
12728 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
12729 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
12730 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
12731 specially.
12732 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
12733 (warn_uninitialized_vars): Likewise.
12734 (warn_uninitialized_phi): Likewise.
12735
12736 2022-01-17 Jason Merrill <jason@redhat.com>
12737
12738 * diagnostic.h (struct diagnostic_context): Add includes_seen.
12739 * diagnostic.c (diagnostic_initialize): Initialize it.
12740 (diagnostic_finish): Clean it up.
12741 (includes_seen): New function.
12742 (diagnostic_report_current_module): Use it.
12743
12744 2022-01-17 Richard Biener <rguenther@suse.de>
12745
12746 PR middle-end/101292
12747 * diagnostic-spec.c (copy_warning): Make sure to not
12748 reference old hashtable content on possible resize.
12749 * warning-control.cc (copy_warning): Likewise.
12750
12751 2022-01-17 Jakub Jelinek <jakub@redhat.com>
12752
12753 PR target/103973
12754 * tree-cfg.h (cond_only_block_p): Declare.
12755 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
12756 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
12757 * optabs.def (spaceship_optab): New optab.
12758 * internal-fn.def (SPACESHIP): New internal function.
12759 * internal-fn.h (expand_SPACESHIP): Declare.
12760 * internal-fn.c (expand_PHI): Formatting fix.
12761 (expand_SPACESHIP): New function.
12762 * tree-ssa-math-opts.c (optimize_spaceship): New function.
12763 (math_opts_dom_walker::after_dom_children): Use it.
12764 * config/i386/i386.md (spaceship<mode>3): New define_expand.
12765 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
12766 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
12767 * doc/md.texi (spaceship@var{m}3): Document.
12768
12769 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
12770
12771 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
12772 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
12773 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
12774 known constant values to simplify code.
12775
12776 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
12777
12778 PR target/103124
12779 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
12780
12781 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
12782
12783 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
12784 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
12785 Insert zero-idiom in output template when attr enabled, set new attribute to
12786 true for non-mask/maskz insn.
12787 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
12788 Likewise.
12789 (avx512dq_mul<mode>3<mask_name>): Likewise.
12790 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
12791 (avx2_perm<mode>_1<mask_name>): Likewise.
12792 (avx512f_perm<mode>_1<mask_name>): Likewise.
12793 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
12794 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
12795 Likewise.
12796 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
12797 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
12798 Likewise.
12799 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
12800 subst_attr.
12801 (mask4_dest_false_dep_for_glc_cond): Likewise.
12802 (mask6_dest_false_dep_for_glc_cond): Likewise.
12803 (mask10_dest_false_dep_for_glc_cond): Likewise.
12804 (maskc_dest_false_dep_for_glc_cond): Likewise.
12805 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
12806 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
12807 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
12808 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
12809
12810 2022-01-15 Martin Sebor <msebor@redhat.com>
12811
12812 PR c/63272
12813 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
12814 -Wdangling-pointer.
12815 * doc/invoke.texi (-Wdangling-pointer): Document new option.
12816 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
12817 (pass_waccess::check_pointer_uses): New function.
12818 (pass_waccess::gimple_call_return_arg): New function.
12819 (pass_waccess::gimple_call_return_arg_ref): New function.
12820 (pass_waccess::check_call_dangling): New function.
12821 (pass_waccess::check_dangling_uses): New function overloads.
12822 (pass_waccess::check_dangling_stores): New function.
12823 (pass_waccess::check_dangling_stores): New function.
12824 (pass_waccess::m_clobbers): New data member.
12825 (pass_waccess::m_func): New data member.
12826 (pass_waccess::m_run_number): New data member.
12827 (pass_waccess::m_check_dangling_p): New data member.
12828 (pass_waccess::check_alloca): Check m_early_checks_p.
12829 (pass_waccess::check_alloc_size_call): Same.
12830 (pass_waccess::check_strcat): Same.
12831 (pass_waccess::check_strncat): Same.
12832 (pass_waccess::check_stxcpy): Same.
12833 (pass_waccess::check_stxncpy): Same.
12834 (pass_waccess::check_strncmp): Same.
12835 (pass_waccess::check_memop_access): Same.
12836 (pass_waccess::check_read_access): Same.
12837 (pass_waccess::check_builtin): Call check_pointer_uses.
12838 (pass_waccess::warn_invalid_pointer): Add arguments.
12839 (is_auto_decl): New function.
12840 (pass_waccess::check_stmt): New function.
12841 (pass_waccess::check_block): Call check_stmt.
12842 (pass_waccess::execute): Call check_dangling_uses,
12843 check_dangling_stores. Empty m_clobbers.
12844 * passes.def (pass_warn_access): Invoke pass two more times.
12845
12846 2022-01-15 Martin Sebor <msebor@redhat.com>
12847
12848 PR tree-optimization/80532
12849 * common.opt (-Wuse-after-free): New options.
12850 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
12851 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
12852 * diagnostic-spec.h (NW_DANGLING): New enumerator.
12853 * doc/invoke.texi (-Wuse-after-free): Document new option.
12854 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
12855 (pass_waccess::check_call_access): ...to this.
12856 (pass_waccess::check): Rename...
12857 (pass_waccess::check_block): ...to this.
12858 (pass_waccess::check_pointer_uses): New function.
12859 (pass_waccess::gimple_call_return_arg): New function.
12860 (pass_waccess::warn_invalid_pointer): New function.
12861 (pass_waccess::check_builtin): Handle free and realloc.
12862 (gimple_use_after_inval_p): New function.
12863 (get_realloc_lhs): New function.
12864 (maybe_warn_mismatched_realloc): New function.
12865 (pointers_related_p): New function.
12866 (pass_waccess::check_call): Call check_pointer_uses.
12867 (pass_waccess::execute): Compute and free dominance info.
12868
12869 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
12870
12871 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
12872 expand_simple_unop and expand_simple_binop instead of manually
12873 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
12874 consistently. Eliminate common subexpressions and simplify code.
12875 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
12876 (<any_logic:code><MODEF:mode>3): Make public.
12877
12878 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
12879
12880 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
12881 reverse flag as "reverse" for the sake of consistency.
12882 * ipa-sra.c: Fix copyright year.
12883 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
12884 (dump_isra_access): Tweak dump line.
12885 (isra_write_node_summary): Write the reverse flag.
12886 (isra_read_node_info): Read it.
12887 (pull_accesses_from_callee): Test its consistency and copy it.
12888
12889 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
12890
12891 PR middle-end/104026
12892 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
12893 partial_load_store_bias.
12894
12895 2022-01-14 Martin Sebor <msebor@redhat.com>
12896
12897 PR middle-end/101475
12898 * pointer-query.cc (handle_component_ref): Use the size of
12899 the enclosing object if it's smaller than the member.
12900
12901 2022-01-14 Martin Liska <mliska@suse.cz>
12902
12903 * configure: Regenerate.
12904
12905 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
12906
12907 * config/i386/i386.md (*add<mode>_1_slp"):
12908 Mark alternative 1 output operand earlyclobbered.
12909 (*sub<mode>_1_slp): Ditto.
12910 (*and<mode>_1_slp): Ditto.
12911 (*<code><mode>_1_slp): Ditto.
12912 (*neg<mode>_1_slp): Ditto.
12913 (*one_cmpl<mode>_1_slp): Ditto.
12914 (*ashl<mode>3_1_slp): Ditto.
12915 (*<insn><mode>3_1_slp): Ditto.
12916 (*<insn><mode>3_1_slp): Ditto.
12917
12918 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
12919
12920 PR tree-optimization/104015
12921 * tree-vect-loop.c (vect_analyze_loop): Check
12922 param_vect_partial_vector_usage for supports_partial_vectors.
12923
12924 2022-01-14 Jakub Jelinek <jakub@redhat.com>
12925
12926 PR c++/89074
12927 * fold-const.c (address_compare): Punt on comparison of address of
12928 one object with address of end of another object if
12929 folding_initializer.
12930
12931 2022-01-14 Jakub Jelinek <jakub@redhat.com>
12932
12933 PR target/98737
12934 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
12935 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
12936 and __atomic_op_fetch (p, x, y) iop x into
12937 __atomic_fetch_op (p, x, y).
12938
12939 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
12940
12941 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
12942 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
12943 (INCOMING_RETURN_ADDR_RTX): Likewise.
12944 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
12945
12946 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
12947
12948 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
12949 computin checking accumulator regs.
12950 (arc_expand_prologue): Update comments.
12951 (arc_expand_epilogue): Likewise.
12952
12953 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
12954 Uroš Bizjak <ubizjak@gmail.com>
12955
12956 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
12957 (ix86_expand_ti_to_v1ti): Use force_reg.
12958 (ix86_expand_v1ti_shift): Use force_reg.
12959 (ix86_expand_v1ti_rotate): Use force_reg.
12960 (ix86_expand_v1ti_ashiftrt): Provide new three operation
12961 implementations for shifts by 111..126 bits. Use force_reg.
12962
12963 2022-01-14 Martin Liska <mliska@suse.cz>
12964
12965 * common/config/arm/arm-common.c (arm_target_mode): Fix
12966 warning: unterminated quoting directive [-Wformat=].
12967
12968 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
12969
12970 PR tree-optimization/104009
12971 * tree-object-size.c (compute_builtin_object_size): Bail out on
12972 negative offset.
12973 (plus_stmt_object_size): Return maximum of wholesize and minimum
12974 of 0 for negative offset.
12975
12976 2022-01-14 liuhongt <hongtao.liu@intel.com>
12977
12978 PR target/104001
12979 PR target/94790
12980 PR target/104014
12981 * config/i386/i386.md (*xor2andn): Refine predicate of
12982 operands[0] from nonimmediate_operand to
12983 register_operand, remove TARGET_AVX512BW from condition.
12984
12985 2022-01-14 David Malcolm <dmalcolm@redhat.com>
12986
12987 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
12988 be used on field decls.
12989 (Common Function Attributes): Add entry on "tainted_args" attribute.
12990
12991 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
12992 Jason Merrill <jason@redhat.com>
12993
12994 PR c++/70417
12995 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
12996
12997 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
12998
12999 PR target/103861
13000 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
13001 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
13002 * config/i386/mmx.md (<any_shift:insn>v2qi):
13003 New insn_and_split pattern.
13004
13005 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
13006
13007 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
13008 (expand_partial_store_optab_fn): Likewise.
13009 (internal_len_load_store_bias): New function.
13010 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
13011 (internal_len_load_store_bias): New function.
13012 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
13013 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
13014 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
13015 (vect_estimate_min_profitable_iters): Account for bias.
13016 (vect_get_loop_len): Add bias-adjusted length.
13017 * tree-vect-stmts.c (vectorizable_store): Use.
13018 (vectorizable_load): Use.
13019 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
13020 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
13021 * config/rs6000/vsx.md: Use const0 bias predicate.
13022 * doc/md.texi: Document bias value.
13023
13024 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
13025
13026 PR tree-optimization/83072
13027 PR tree-optimization/83073
13028 PR tree-optimization/97909
13029 * fold-const.c (expr_not_equal_to): Use a multi-range class.
13030
13031 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
13032
13033 PR tree-optimization/96707
13034 * range-op.cc (operator_rshift::lhs_op1_relation): New.
13035
13036 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
13037
13038 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
13039 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
13040 (negv2qi splitters): Use lowpart_subreg instead of
13041 gen_lowpart to create subreg.
13042 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
13043 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
13044 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
13045 gen_lowpart to create subreg.
13046 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
13047
13048 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
13049
13050 PR target/104003
13051 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
13052
13053 2022-01-13 Martin Liska <mliska@suse.cz>
13054
13055 * common/config/arm/arm-common.c (arm_target_mode): Wrap
13056 keywords with %<, %> and remove trailing punctuation char.
13057 (arm_canon_arch_option_1): Likewise.
13058 (arm_asm_auto_mfpu): Likewise.
13059 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
13060 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
13061 (use_vfp_abi): Likewise.
13062 (aapcs_vfp_is_call_or_return_candidate): Likewise.
13063 (arm_handle_cmse_nonsecure_entry): Likewise.
13064 (arm_handle_cmse_nonsecure_call): Likewise.
13065 (thumb1_md_asm_adjust): Likewise.
13066
13067 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
13068
13069 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
13070 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
13071 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
13072 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
13073 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
13074 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
13075 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
13076 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
13077 macro.
13078
13079 2022-01-13 Jakub Jelinek <jakub@redhat.com>
13080
13081 PR tree-optimization/103989
13082 * tree-inline.c (setup_one_parameter): Don't copy parms with
13083 empty type.
13084
13085 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
13086
13087 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
13088 'TYPE_ADDR_SPACE' for offloading.
13089 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
13090 'TYPE_ADDR_SPACE' for offloading.
13091
13092 2022-01-13 Julian Brown <julian@codesourcery.com>
13093 Thomas Schwinge <thomas@codesourcery.com>
13094
13095 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
13096 of...
13097 (add_async_clauses_and_wait): ...here. Call new outlined function.
13098 (decompose_kernels_region_body): Add wait at the end of
13099 explicitly-asynchronous kernels regions.
13100
13101 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
13102
13103 PR middle-end/100280
13104 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
13105 Mark variables used in synthesized data clauses as addressable.
13106
13107 2022-01-13 Martin Liska <mliska@suse.cz>
13108
13109 * config/epiphany/epiphany.c (epiphany_mode_priority):
13110 Use gcc_unreachable for not handled cases.
13111
13112 2022-01-13 Martin Liska <mliska@suse.cz>
13113
13114 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
13115 Use %qs format specifier.
13116 (epiphany_override_options): Wrap keyword in %<, %>.
13117
13118 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
13119
13120 PR target/94790
13121 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
13122
13123 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
13124
13125 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
13126
13127 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
13128
13129 PR target/100637
13130 PR target/103861
13131 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
13132 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
13133 when constructing vector logic RTXes.
13134 (expand_vec_perm_pshufb2): Ditto.
13135 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
13136 (<plusminus:insn>v2qi3): Ditto.
13137 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
13138 (vcondu<mode><mode>): Ditto.
13139 (vcond_mask_<mode><mode>): Ditto.
13140 (one_cmpl<VI_32:mode>2): Remove expander.
13141 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
13142 Use VI_16_32 mode iterator.
13143 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
13144 Use lowpart_subreg instead of gen_lowpart to create subreg.
13145 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
13146 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
13147 Disparage GPR alternative a bit. Add CC clobber.
13148 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
13149 Use lowpart_subreg instead of gen_lowpart to create subreg.
13150 (*<any_logic:code><VI_16_32:mode>3): Merge from
13151 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
13152 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
13153 Add CC clobber.
13154 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
13155 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
13156
13157 2022-01-12 Clément Chigot <clement.chigot@atos.net>
13158
13159 * configure.ac: Check sizeof ino_t and dev_t.
13160 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
13161 syscall being able to handle 64bit inodes.
13162 * config.in: Regenerate.
13163 * configure: Regenerate.
13164 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
13165 (remove_duplicates): Use it.
13166
13167 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
13168
13169 PR tree-optimization/103551
13170 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
13171
13172 2022-01-12 Richard Biener <rguenther@suse.de>
13173
13174 PR tree-optimization/103990
13175 * tree-pass.h (tail_merge_optimize): Drop unused argument.
13176 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
13177 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
13178 and adjust call to tail_merge_optimize.
13179
13180 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
13181
13182 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
13183 does not add autovectorize_vector_modes.
13184
13185 2022-01-12 Martin Liska <mliska@suse.cz>
13186
13187 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
13188 %qs where possible.
13189 (aarch64_parse_sve_width_string): Likewise.
13190 (aarch64_override_options_internal): Likewise.
13191 (aarch64_print_hint_for_extensions): Likewise.
13192 (aarch64_validate_sls_mitigation): Likewise.
13193 (aarch64_handle_attr_arch): Likewise.
13194 (aarch64_handle_attr_cpu): Likewise.
13195 (aarch64_handle_attr_tune): Likewise.
13196 (aarch64_handle_attr_isa_flags): Likewise.
13197
13198 2022-01-12 Martin Liska <mliska@suse.cz>
13199
13200 * config.gcc: Include elfos.h before ${tm_file}.
13201
13202 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
13203
13204 * config/cris/cris.c: Quote identifiers in parameters to error
13205 and internal_error, and remove extraneous spaces with punctuation.
13206 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
13207 expression to internal_error, pass it as a parameter instead of
13208 appending it to the format part.
13209
13210 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
13211
13212 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
13213 parameter to as_a.
13214
13215 2022-01-11 qing zhao <qing.zhao@oracle.com>
13216
13217 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
13218 Change the 3rd argument of function .DEFERRED_INIT to the name of the
13219 decl.
13220 (gimplify_decl_expr): Delete the 3rd argument when call
13221 gimple_add_init_for_auto_var.
13222 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
13223 the 3rd argument change of function .DEFERRED_INIT.
13224 * tree-cfg.c (verify_gimple_call): Update comments and verification
13225 to reflect the 3rd argument change of function .DEFERRED_INIT.
13226 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
13227 (sra_modify_deferred_init): Change the 3rd argument of function
13228 .DEFERRED_INIT to the name of the decl.
13229
13230 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
13231
13232 * flag-types.h (enum gfc_convert): Add flags for
13233 conversion.
13234
13235 2022-01-11 Michael Meissner <meissner@the-meissners.org>
13236
13237 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
13238 checks for only C/C++ front ends before allowing the long double
13239 format to change without a warning.
13240
13241 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
13242
13243 PR rtl-optimization/103974
13244 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
13245 extra argument, default true, that says whether old-reload
13246 targets should be excluded.
13247 * ira-color.c (color_pass): Pass false.
13248
13249 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
13250
13251 PR target/103861
13252 * config/i386/mmx.md (vcond<mode><mode>):
13253 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
13254 (vcondu<mode><mode>): Ditto.
13255 (vcond_mask_<mode><mode>): Ditto.
13256 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
13257 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
13258 Use VI_16_32 mode iterator.
13259 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
13260 Update for rename. Handle V2QImode.
13261 (expand_vec_perm_blend): Update for rename.
13262
13263 2022-01-11 Jakub Jelinek <jakub@redhat.com>
13264
13265 PR c++/101597
13266 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
13267
13268 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
13269
13270 PR middle-end/70090
13271 * tree-object-size.c (size_valid_p): New function.
13272 (size_for_offset): Remove OFFSET constness assertion.
13273 (addr_object_size): Build dynamic expressions for object
13274 sizes and use size_valid_p to decide if it is valid for the
13275 given OBJECT_SIZE_TYPE.
13276 (compute_builtin_object_size): Allow dynamic offsets when
13277 computing size at O0.
13278 (call_object_size): Call size_valid_p.
13279 (plus_stmt_object_size): Allow non-constant offset and use
13280 size_valid_p to decide if it is valid for the given
13281 OBJECT_SIZE_TYPE.
13282
13283 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
13284
13285 PR middle-end/70090
13286 * tree-object-size.c (alloc_object_size): Make and return
13287 non-constant size expression.
13288 (call_object_size): Return expression or unknown based on
13289 whether dynamic object size is requested.
13290
13291 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
13292
13293 PR middle-end/70090
13294 * tree-object-size.c: Include tree-dfa.h.
13295 (parm_object_size): New function.
13296 (collect_object_sizes_for): Call it.
13297
13298 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
13299
13300 PR middle-end/70090
13301 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
13302 expressions.
13303 * tree-object-size.c: Include gimplify-me.h.
13304 (struct object_size_info): New member UNKNOWNS.
13305 (size_initval_p, size_usable_p, object_sizes_get_raw): New
13306 functions.
13307 (object_sizes_get): Return suitable gimple variable for
13308 object size.
13309 (bundle_sizes): New function.
13310 (object_sizes_set): Use it and handle dynamic object size
13311 expressions.
13312 (object_sizes_set_temp): New function.
13313 (size_for_offset): Adjust for dynamic size expressions.
13314 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
13315 New functions.
13316 (compute_builtin_object_size): Call gimplify_size_expressions
13317 for OST_DYNAMIC.
13318 (dynamic_object_size): New function.
13319 (cond_expr_object_size): Use it.
13320 (phi_dynamic_object_size): New function.
13321 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
13322 accommodate dynamic object sizes.
13323
13324 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
13325 Jakub Jelinek <jakub@redhat.com>
13326
13327 PR tree-optimization/103961
13328 * tree-object-size.c (plus_stmt_object_size): Always avoid
13329 computing offset for -1 size.
13330
13331 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
13332
13333 PR tree-optimization/103821
13334 * range-op.cc (range_operator::fold_range): Only do precise ranges
13335 when there are not too many subranges.
13336
13337 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
13338
13339 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
13340 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
13341
13342 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
13343 Richard Biener <rguenther@suse.de>
13344
13345 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
13346 highpart_mults_inserted field.
13347 (convert_mult_to_highpart): New function to convert right shift
13348 of a widening multiply into a MULT_HIGHPART_EXPR.
13349 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
13350 Call new convert_mult_to_highpart function.
13351 (pass_optimize_widening_mul::execute): Add a statistics counter
13352 for tracking "highpart multiplications inserted" events.
13353
13354 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
13355
13356 PR target/102239
13357 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
13358 declare.
13359 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
13360 function.
13361 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
13362
13363 2022-01-11 Olivier Hainque <hainque@adacore.com>
13364
13365 * gcc.c (driver_handle_option): State --sysroot as
13366 validated.
13367
13368 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
13369
13370 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
13371 useless related to option -mno-power10.
13372
13373 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
13374
13375 PR target/53652
13376 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
13377 operands[1] from register_operand to vector_operand.
13378
13379 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
13380
13381 PR target/103861
13382 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
13383 Handle V2QImode.
13384 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
13385 Use VI1_16_32 mode iterator.
13386 (*eq<mode>3): Ditto.
13387 (*gt<mode>3): Ditto.
13388 (*xop_maskcmp<mode>3): Ditto.
13389 (*xop_maskcmp_uns<mode>3): Ditto.
13390 (vec_cmp<mode><mode>): Ditto.
13391 (vec_cmpu<mode><mode>): Ditto.
13392
13393 2022-01-10 Richard Biener <rguenther@suse.de>
13394
13395 PR tree-optimization/103948
13396 * tree-vect-generic.c (expand_vector_condition): Return true if
13397 all ones vector is returned for true, all zeros vector for false
13398 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
13399
13400 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
13401
13402 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
13403 when _ARCH_PWR10. Use signed types.
13404 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
13405 (_mm_blendv_pd): Likewise.
13406
13407 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
13408
13409 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
13410 epilogue costing.
13411 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
13412 epilogues, unless we are guaranteed that we can't have partial vectors.
13413 * genopinit.c: (partial_vectors_supported): Generate new function.
13414
13415 2022-01-10 Jakub Jelinek <jakub@redhat.com>
13416
13417 PR target/102024
13418 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
13419 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
13420 always ignore them, when seeing other zero sized bitfields, either
13421 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
13422 it. Pass it to recursive calls. Add wrapper
13423 with old arguments and diagnose ABI differences for C structures
13424 with zero width bitfields. Formatting fixes.
13425
13426 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13427
13428 PR rtl-optimization/98782
13429 * ira-int.h (ira_soft_conflict): Declare.
13430 * ira-color.c (max_soft_conflict_loop_depth): New constant.
13431 (ira_soft_conflict): New function.
13432 (spill_soft_conflicts): Likewise.
13433 (assign_hard_reg): Use them to handle the case described by
13434 the comment above ira_soft_conflict.
13435 (improve_allocation): Likewise.
13436 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
13437 to share the same register.
13438
13439 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13440
13441 PR rtl-optimization/98782
13442 * ira-int.h (ira_caller_save_cost): New function.
13443 (ira_caller_save_loop_spill_p): Likewise.
13444 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
13445 cheaper to spill a call-clobbered register throughout a loop rather
13446 than spill it around each individual call. If so, treat all
13447 call-clobbered registers as conflicts and...
13448 (propagate_allocno_info): ...do not propagate call information
13449 from the child to the parent.
13450 * ira-color.c (move_spill_restore): Update accordingly.
13451 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
13452
13453 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13454
13455 PR rtl-optimization/98782
13456 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
13457 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
13458 (ira_single_region_allocno_p): New function.
13459 (ira_total_conflict_hard_regs): Likewise.
13460 * ira-build.c (ira_create_allocno): Initialize
13461 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
13462 (ira_propagate_hard_reg_costs): New function.
13463 (propagate_allocno_info): Use it. Try to avoid propagating
13464 hard register conflicts to parent allocnos if we can handle
13465 the conflicts by spilling instead. Limit the propagated
13466 register costs to the cost of spilling throughout the child loop.
13467 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
13468 test whether a child and parent allocno can share the same
13469 register.
13470 (move_spill_restore): Adjust for the new behavior of
13471 propagate_allocno_info.
13472
13473 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13474
13475 PR rtl-optimization/98782
13476 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
13477 extracted from...
13478 * ira-color.c (color_pass): ...here.
13479
13480 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13481
13482 PR rtl-optimization/98782
13483 * ira-color.c (color_pass): Add comments to describe the spill costs.
13484 (move_spill_restore): Likewise. Fix reversed calculation.
13485
13486 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13487
13488 PR rtl-optimization/98782
13489 * ira-int.h (ira_loop_border_costs): New class.
13490 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
13491 New constructor.
13492 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
13493 (color_pass): Likewise.
13494 (move_spill_restore): Likewise.
13495
13496 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
13497
13498 PR target/103465
13499 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
13500
13501 2022-01-10 Richard Biener <rguenther@suse.de>
13502
13503 PR tree-optimization/100359
13504 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
13505 Allow non-growing peeling with !allow_peel and UL_ALL.
13506
13507 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
13508
13509 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
13510 special case for TImode to V1TImode moves, going via V2DImode.
13511
13512 2022-01-08 Jakub Jelinek <jakub@redhat.com>
13513
13514 PR c++/89074
13515 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
13516 simplification.
13517
13518 2022-01-08 David Malcolm <dmalcolm@redhat.com>
13519
13520 * doc/analyzer.texi
13521 (Special Functions for Debugging the Analyzer): Document
13522 __analyzer_dump_escaped.
13523
13524 2022-01-08 David Malcolm <dmalcolm@redhat.com>
13525
13526 * doc/analyzer.texi (Other Debugging Techniques): Document
13527 region::is_named_decl_p.
13528
13529 2022-01-07 Andrew Pinski <apinski@marvell.com>
13530
13531 PR target/102941
13532 * config/arm/aarch-common.c (arm_md_asm_adjust):
13533 Use a temp if !REG_P.
13534
13535 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
13536
13537 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
13538 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
13539
13540 2022-01-07 liuhongt <hongtao.liu@intel.com>
13541
13542 PR rtl-optimization/103750
13543 * fwprop.c (forward_propagate_into): Allow propagations from
13544 inner loop to outer loop.
13545
13546 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
13547
13548 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
13549
13550 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
13551
13552 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
13553 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
13554 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
13555
13556 2022-01-07 liuhongt <hongtao.liu@intel.com>
13557
13558 * config/i386/sse.md
13559 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
13560 UNSPEC_PCMP_UNSIGNED.
13561
13562 2022-01-07 liuhongt <hongtao.liu@intel.com>
13563
13564 PR target/103753
13565 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
13566 gen_avx2_pblendph_1 when elt == 0.
13567 * config/i386/sse.md (avx2_pblendph): Rename to ..
13568 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
13569 (*avx2_pblendw): Rename to ..
13570 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
13571 (avx2_pblendw): Rename to ..
13572 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
13573 (blendsuf): Removed.
13574 (sse4_1_pblend<blendsuf>): Renamed to ..
13575 (sse4_1_pblend<ssemodesuffix>): .. this.
13576
13577 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
13578
13579 PR target/103925
13580 * config/i386/i386.c (ix86_output_indirect_function_return):
13581 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
13582
13583 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
13584
13585 PR target/102952
13586 * config/i386/i386-opts.h (harden_sls): Replace
13587 harden_sls_indirect_branch with harden_sls_indirect_jmp.
13588 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
13589 Likewise.
13590 (ix86_output_indirect_jmp): Likewise.
13591 (ix86_output_call_insn): Likewise.
13592 * config/i386/i386.opt: Replace indirect-branch with
13593 indirect-jmp. Replace harden_sls_indirect_branch with
13594 harden_sls_indirect_jmp.
13595 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
13596 indirect-jmp.
13597
13598 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
13599
13600 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
13601 Add %q modifier for operands in general registers.
13602 <MODE_SI>: Add %q modifier for operands in general registers.
13603 * config/i386/i386.md (*movhi_internal): Change type attribute of
13604 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
13605 to SImode for non-avx512fp16 targets.
13606 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
13607 * config/i386/mmx.md (*movv2qi_internal):
13608 Ditto for xmm-gpr interunit alternatives 8,9.
13609
13610 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
13611
13612 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
13613 vector extensions.
13614 (riscv_ext_version_table): Add version info for vector extensions.
13615 (riscv_ext_flag_table): Add option mask for vector extensions.
13616 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
13617 (MASK_VECTOR_EEW_64): New.
13618 (MASK_VECTOR_EEW_FP_32): New.
13619 (MASK_VECTOR_EEW_FP_64): New.
13620 (MASK_ZVL32B): New.
13621 (MASK_ZVL64B): New.
13622 (MASK_ZVL128B): New.
13623 (MASK_ZVL256B): New.
13624 (MASK_ZVL512B): New.
13625 (MASK_ZVL1024B): New.
13626 (MASK_ZVL2048B): New.
13627 (MASK_ZVL4096B): New.
13628 (MASK_ZVL8192B): New.
13629 (MASK_ZVL16384B): New.
13630 (MASK_ZVL32768B): New.
13631 (MASK_ZVL65536B): New.
13632 (TARGET_ZVL32B): New.
13633 (TARGET_ZVL64B): New.
13634 (TARGET_ZVL128B): New.
13635 (TARGET_ZVL256B): New.
13636 (TARGET_ZVL512B): New.
13637 (TARGET_ZVL1024B): New.
13638 (TARGET_ZVL2048B): New.
13639 (TARGET_ZVL4096B): New.
13640 (TARGET_ZVL8192B): New.
13641 (TARGET_ZVL16384B): New.
13642 (TARGET_ZVL32768B): New.
13643 (TARGET_ZVL65536B): New.
13644 * config/riscv/riscv.opt (Mask(VECTOR)): New.
13645 (riscv_vector_eew_flags): New.
13646 (riscv_zvl_flags): New.
13647
13648 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
13649
13650 * common/config/riscv/riscv-common.c
13651 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
13652 digit.
13653
13654 2022-01-06 Jakub Jelinek <jakub@redhat.com>
13655
13656 PR tree-optimization/103899
13657 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
13658 warning by moving context variable to the only spot where it is used
13659 and moving gcc_assert into if body.
13660
13661 2022-01-06 Jakub Jelinek <jakub@redhat.com>
13662
13663 PR rtl-optimization/103908
13664 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
13665 asm goto.
13666
13667 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
13668
13669 PR target/103622
13670 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
13671 Skip over instances with undefined function types.
13672
13673 2022-01-05 Andrew Pinski <apinski@marvell.com>
13674
13675 PR target/103910
13676 * config/i386/i386.h (x86_mfence): Mark with GTY.
13677
13678 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
13679
13680 PR target/103861
13681 * config/i386/mmx.md (VI_16_32): New mode iterator.
13682 (VI1_16_32): Ditto.
13683 (mmxvecsize): Handle V2QI mode.
13684 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
13685 Use VI1_16_32 mode iterator.
13686 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
13687 Use VI1_16_32 mode iterator.
13688 (abs<mode>2): Use VI_16_32 mode iterator.
13689 (uavgv2qi3_ceil): New insn pattern.
13690
13691 2022-01-05 Martin Sebor <msebor@redhat.com>
13692
13693 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
13694 %qs to avoid -Wformat-diag.
13695
13696 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
13697
13698 PR target/103915
13699 * config/i386/mmx.md (one_cmplv2qi2): Change
13700 alternatives 1,2 type from sselog to sselog1.
13701
13702 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
13703
13704 PR target/103905
13705 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
13706 narrow mode remapped elements for !one_operand_p case.
13707
13708 2022-01-05 Richard Biener <rguenther@suse.de>
13709
13710 PR tree-optimization/103816
13711 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
13712 check DR_GROUP_GAP compute for overflow and representability.
13713
13714 2022-01-05 Jakub Jelinek <jakub@redhat.com>
13715
13716 PR fortran/103691
13717 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
13718 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
13719 it can do unwanted rhs folding like &a[0] into &2.0 etc.
13720
13721 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
13722
13723 PR ipa/102059
13724 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
13725 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
13726 (rs6000_need_ipa_fn_target_info): New function.
13727 (rs6000_update_ipa_fn_target_info): Likewise.
13728 (rs6000_can_inline_p): Adjust for ipa function summary target info.
13729 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
13730 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
13731 summary target info.
13732 (analyze_function_body): Adjust for ipa function summary target info
13733 and call hook rs6000_need_ipa_fn_target_info and
13734 rs6000_update_ipa_fn_target_info.
13735 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
13736 target info.
13737 (inline_read_section): Likewise.
13738 (ipa_fn_summary_write): Likewise.
13739 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
13740 * doc/tm.texi: Regenerate.
13741 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
13742 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
13743 * target.def (update_ipa_fn_target_info): New hook.
13744 (need_ipa_fn_target_info): Likewise.
13745 * targhooks.c (default_need_ipa_fn_target_info): New function.
13746 (default_update_ipa_fn_target_info): Likewise.
13747 * targhooks.h (default_update_ipa_fn_target_info): New declare.
13748 (default_need_ipa_fn_target_info): Likewise.
13749
13750 2022-01-04 Martin Sebor <msebor@redhat.com>
13751
13752 PR middle-end/99612
13753 * builtins.c (get_memmodel): Move warning code to
13754 gimple-ssa-warn-access.cc.
13755 (expand_builtin_atomic_compare_exchange): Same.
13756 (expand_ifn_atomic_compare_exchange): Same.
13757 (expand_builtin_atomic_load): Same.
13758 (expand_builtin_atomic_store): Same.
13759 (expand_builtin_atomic_clear): Same.
13760 * doc/extend.texi (__atomic_exchange_n): Update valid memory
13761 models.
13762 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
13763 (struct memmodel_pair): New struct.
13764 (memmodel_name): New function.
13765 (pass_waccess::maybe_warn_memmodel): New function.
13766 (pass_waccess::check_atomic_memmodel): New function.
13767 (pass_waccess::check_atomic_builtin): Handle memory model.
13768 * input.c (expansion_point_location_if_in_system_header): Return
13769 original location if expansion location is in a system header.
13770
13771 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
13772
13773 PR target/103861
13774 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
13775 (one_cmplv2qi3 splitters): New post-reload splitters.
13776 (*andnotv2qi3): New insn pattern.
13777 (andnotv2qi3 splitters): New post-reload splitters.
13778 (<any_logic:code>v2qi3): New insn pattern.
13779 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
13780
13781 2022-01-04 Richard Biener <rguenther@suse.de>
13782
13783 PR tree-optimization/103800
13784 * tree-vect-loop.c (vectorizable_phi): Remove assert and
13785 expand comment.
13786
13787 2022-01-04 Richard Biener <rguenther@suse.de>
13788
13789 PR tree-optimization/103690
13790 * tree-pass.h (tail_merge_optimize): Adjust.
13791 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
13792 to re-split critical edges, move CFG cleanup ...
13793 * tree-ssa-pre.c (pass_pre::execute): ... here, before
13794 simple_dce_from_worklist and delay freeing inserted_exprs from
13795 ...
13796 (fini_pre): .. here.
13797
13798 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
13799
13800 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
13801 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
13802 (setcc_from_bi): Remove SImode specific pattern.
13803 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
13804 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
13805 for sign- and zero-extending BImode predicates to integers.
13806 (setcc_int<mode>): Remove previous (-1-based) instructions.
13807 (cstorebi4): Remove BImode to SImode specific expander.
13808 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
13809 (cstore<mode>4): For both integer and floating point modes.
13810
13811 2022-01-04 Olivier Hainque <hainque@adacore.com>
13812
13813 * gcc.c (driver_handle_option): do_save --sysroot.
13814
13815 2022-01-04 Richard Biener <rguenther@suse.de>
13816
13817 PR tree-optimization/103864
13818 PR tree-optimization/103544
13819 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
13820 reductions wrapped in conversions from SLP handling.
13821 (vect_analyze_slp): Revert PR103544 change.
13822
13823 2022-01-04 Jakub Jelinek <jakub@redhat.com>
13824
13825 PR rtl-optimization/103860
13826 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
13827 uselessly for blocks for which it has been called already.
13828
13829 2022-01-04 Cui,Lili <lili.cui@intel.com>
13830
13831 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
13832 to Alderlake and Rocketlake.
13833
13834 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
13835
13836 PR middle-end/103643
13837 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
13838 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
13839
13840 2022-01-04 liuhongt <hongtao.liu@intel.com>
13841
13842 PR target/103895
13843 * config/i386/sse.md (*bit_and_float_vector_all_ones):
13844 Force_reg operand 1 to avoid ICE.
13845
13846 2022-01-04 Jason Merrill <jason@redhat.com>
13847
13848 * tree-pretty-print.c (do_niy): Add spc parameter.
13849 (NIY): Pass it.
13850 (print_call_name): Add spc local variable.
13851
13852 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
13853
13854 PR target/103894
13855 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
13856 (mov<V_32:mode>_internal): Ditto.
13857 (*push<V_32:mode>_rex64): Ditto.
13858 (movmisalign<V_32:mode>): Ditto.
13859 (*push<V_32:mode>_rex64 splitter): Enable for
13860 TARGET_64BIT && TARGET_SSE.
13861 (*push<V_32:mode>2): Remove insn pattern.
13862
13863 2022-01-03 Andrew Pinski <apinski@marvell.com>
13864
13865 PR c/33193
13866 * doc/extend.texi: Extend the documentation about Complex
13867 types for casting and also rewrite the __real__/__imag__
13868 expression portion to use tables.
13869 Move __builtin_complex to the Complex type section.
13870
13871 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13872
13873 PR target/98737
13874 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
13875 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
13876 New internal fns.
13877 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
13878 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
13879 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
13880 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
13881 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
13882 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
13883 functions.
13884 * optabs.def (atomic_add_fetch_cmp_0_optab,
13885 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
13886 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
13887 direct optabs.
13888 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
13889 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
13890 * tree-ssa-ccp.c: Include internal-fn.h.
13891 (optimize_atomic_bit_test_and): Add . before internal fn call
13892 in function comment. Change return type from void to bool and
13893 return true only if successfully replaced.
13894 (optimize_atomic_op_fetch_cmp_0): New function.
13895 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
13896 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
13897 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
13898 for *XOR* ones only if optimize_atomic_bit_test_and failed.
13899 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
13900 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
13901 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
13902 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
13903 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
13904 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
13905 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
13906 new named patterns.
13907
13908 2022-01-03 Richard Biener <rguenther@suse.de>
13909
13910 PR middle-end/103851
13911 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
13912
13913 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13914
13915 PR c++/94716
13916 * symtab.c: Include fold-const.h.
13917 (symtab_node::equal_address_to): If folding_initializer is true,
13918 handle it like memory_accessed. Simplify.
13919
13920 2022-01-03 Martin Liska <mliska@suse.cz>
13921
13922 * doc/extend.texi: Use ; for function declarations.
13923
13924 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13925
13926 PR c++/103600
13927 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
13928 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
13929
13930 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13931
13932 * gcc.c (process_command): Update copyright notice dates.
13933 * gcov-dump.c (print_version): Ditto.
13934 * gcov.c (print_version): Ditto.
13935 * gcov-tool.c (print_version): Ditto.
13936 * gengtype.c (create_file): Ditto.
13937 * doc/cpp.texi: Bump @copying's copyright year.
13938 * doc/cppinternals.texi: Ditto.
13939 * doc/gcc.texi: Ditto.
13940 * doc/gccint.texi: Ditto.
13941 * doc/gcov.texi: Ditto.
13942 * doc/install.texi: Ditto.
13943 * doc/invoke.texi: Ditto.
13944
13945 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
13946
13947 PR target/103861
13948 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
13949 (VALID_INT_MODE_P): Ditto.
13950 * config/i386/i386.c (ix86_secondary_reload): Handle
13951 V2QImode reloads from SSE register to memory.
13952 (vector_mode_supported_p): Always return true for V2QImode.
13953 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
13954 (*negqi_ext<mode>_2): Ditto.
13955 * config/i386/mmx.md (movv2qi): New expander.
13956 (movmisalignv2qi): Ditto.
13957 (*movv2qi_internal): New insn pattern.
13958 (*pushv2qi2): Ditto.
13959 (negv2qi2 and splitters): Ditto.
13960 (<plusminus:insn>v2qi3 and splitters): Ditto.
13961
13962 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
13963
13964 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
13965 sync_lock_test_and_set libfunc. Call convert_memory_address to
13966 convert memory address to Pmode.
13967 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
13968
13969 \f
13970 Copyright (C) 2022 Free Software Foundation, Inc.
13971
13972 Copying and distribution of this file, with or without modification,
13973 are permitted in any medium without royalty provided the copyright
13974 notice and this notice are preserved.
This page took 0.646066 seconds and 5 git commands to generate.