1 2022-06-18 Jakub Jelinek <jakub@redhat.com>
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
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
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.
38 2022-06-18 Jakub Jelinek <jakub@redhat.com>
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.
45 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
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
54 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
63 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
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.
73 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
76 * config/i386/i386.cc (ix86_function_arg): Assert that
77 the mode of pointer argumet is equal to ptr_mode, not Pmode.
79 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
82 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
83 instead of REGNO comparisons in combine splitter.
85 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
87 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
90 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
92 * config/riscv/bitmanip.md: Supress warning.
94 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
97 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
98 Clear bits in the mask above bit 31.
100 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
102 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
103 to avoid spilling trivial literals to the constant pool.
105 2022-06-16 David Malcolm <dmalcolm@redhat.com>
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.
117 2022-06-16 Jason Merrill <jason@redhat.com>
119 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
120 opts_set->x_flag_sanitize.
122 2022-06-16 Jason Merrill <jason@redhat.com>
124 * flags.h (issue_strict_overflow_warning): Comment #endif.
126 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
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.
133 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
135 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
137 2022-06-16 Jakub Jelinek <jakub@redhat.com>
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.
144 2022-06-16 Jakub Jelinek <jakub@redhat.com>
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.
152 2022-06-16 Jakub Jelinek <jakub@redhat.com>
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
167 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
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.
196 2022-06-16 Martin Liska <mliska@suse.cz>
198 * gengtype-state.cc (read_a_state_token): Do not skip extra
199 character after escaped sequence.
201 2022-06-16 Martin Liska <mliska@suse.cz>
204 * spellcheck.cc (test_find_closest_string): Add new test.
205 * spellcheck.h (class best_match): Prefer a difference in
206 trailing sign symbol.
208 2022-06-16 liuhongt <hongtao.liu@intel.com>
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.
215 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
217 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
219 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
221 * config/xtensa/predicates.md (reload_operand):
223 * config/xtensa/xtensa.md: New peephole2 pattern.
225 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
227 * config/xtensa/xtensa.md (*round_up_to_even):
228 New insn-and-split pattern.
229 (*signed_ge_zero): Ditto.
231 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
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
241 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
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.
253 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
255 * doc/invoke.texi: Document -mextra-l32r-costs= option.
257 2022-06-15 David Malcolm <dmalcolm@redhat.com>
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
266 2022-06-15 David Malcolm <dmalcolm@redhat.com>
268 * value-relation.h: Add "final" and "override" to relation_oracle
269 vfunc implementations as appropriate.
271 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
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
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.
318 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
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.
325 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
328 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
330 2022-06-15 Richard Biener <rguenther@suse.de>
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.
337 2022-06-15 Richard Biener <rguenther@suse.de>
339 PR tree-optimization/105969
340 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
341 by zero in overflow check.
343 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
345 PR tree-optimization/105254
346 PR tree-optimization/105940
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
352 (aarch64_vector_costs::finish_cost): Update call accordingly.
354 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
356 * read-rtl.cc (find_int): Substitute symbolic constants
357 before converting the string to an integer.
359 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
360 Richard Biener <rguenther@suse.de>
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.
369 2022-06-15 liuhongt <hongtao.liu@intel.com>
372 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
375 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
377 PR rtl-optimization/105041
378 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
380 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
382 * config/rs6000/vsx.md (VS_scalar): Delete.
383 (rest of file): Adjust.
385 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
388 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
390 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
392 * config/riscv/bitmanip.md: Add split to handle opportunities
393 for slli + sh[123]add.uw
395 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
397 * config/riscv/predicates.md (consecutive_bits_operand):
398 Implement new predicate.
400 2022-06-14 Richard Biener <rguenther@suse.de>
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.
406 2022-06-14 Richard Biener <rguenther@suse.de>
409 * match.pd (view_convert CONSTRUCTOR): Handle single-element
412 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
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.
420 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
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.
426 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
428 * config/xtensa/predicates.md (shifted_mask_operand):
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.
436 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
438 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
440 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
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"
460 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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):
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.
478 2022-06-13 Jason Merrill <jason@redhat.com>
480 * tree-cfg.cc (pass_warn_function_return::execute): Also check
483 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
485 * config/riscv/riscv.md (length): Remove the explicit setting
488 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
490 * common/config/i386/cpuinfo.h (get_available_features): Require
491 AVX for F16C and VAES.
493 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
496 * config/i386/predicates.md (register_no_elim_operand):
497 Return true for subreg of a memory operand.
499 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
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
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.
532 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
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.
546 2022-06-13 Jakub Jelinek <jakub@redhat.com>
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.
552 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
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.
561 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
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}.
568 2022-06-13 Jakub Jelinek <jakub@redhat.com>
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.
576 2022-06-12 Simon Wright <simon@pushface.org>
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
583 2022-06-12 Mark Mentovai <mark@mentovai.com>
585 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
587 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
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
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
606 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
608 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
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.
618 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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
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
633 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
634 dependent option, however, preparatory work for now.
636 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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,
642 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
650 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
652 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
653 not generate block copies with vector pair instructions if we are
656 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
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.
665 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
667 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
669 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
671 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
672 New insn_and_split pattern.
674 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
676 * config/xtensa/xtensa.md (one_cmplsi2):
677 Rearrange as an insn_and_split pattern.
679 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
681 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
683 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
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.
695 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
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.
702 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
704 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
705 omp_discover_declare_target_fn_r): Don't walk reverse-offload
708 2022-06-09 Jakub Jelinek <jakub@redhat.com>
710 * doc/invoke.texi (-Waddress): Fix a typo in small example.
711 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
713 2022-06-09 Cui,Lili <lili.cui@intel.com>
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
724 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
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.
730 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
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.
737 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
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.
745 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
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.
752 2022-06-08 liuhongt <hongtao.liu@intel.com>
756 * config/i386/i386.md (*movsi_internal): Change alternative
758 (*movdi_internal): Ditto.
759 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
761 (*vec_extractv4sf_mem): Ditto.
762 (*vec_extracthf): Ditto.
764 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
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.
776 2022-06-07 liuhongt <hongtao.liu@intel.com>
779 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
782 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
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.
795 2022-06-07 Jan Beulich <jbeulich@suse.com>
798 2022-06-03 Jan Beulich <jbeulich@suse.com>
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.
807 2022-06-07 Jakub Jelinek <jakub@redhat.com>
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.
814 2022-06-07 Jan Beulich <jbeulich@suse.com>
816 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
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.
823 2022-06-07 Jan Beulich <jbeulich@suse.com>
825 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
826 into account for reg-only insns.
828 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
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.
836 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
838 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
841 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
843 * config.in: Regenerate.
844 * configure: Regenerate.
845 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
847 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
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)
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
866 2022-06-04 Jakub Jelinek <jakub@redhat.com>
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.
874 2022-06-03 Jakub Jelinek <jakub@redhat.com>
878 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
879 x > stype_max / cst || x < stype_min / cst): New simplification.
881 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
883 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
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.
889 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
891 * value-range.h (struct vrange_traits): Remove.
892 (is_a): Rewrite without vrange_traits.
895 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
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
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
925 (class unsupported_range): Remove most methods as they will now be
926 inherited from vrange.
928 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
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):
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.
971 2022-06-03 Jan Beulich <jbeulich@suse.com>
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.
980 2022-06-03 Jan Beulich <jbeulich@suse.com>
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.
987 2022-06-03 Alexandre Oliva <oliva@adacore.com>
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.
997 2022-06-02 David Malcolm <dmalcolm@redhat.com>
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
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.
1056 2022-06-02 David Malcolm <dmalcolm@redhat.com>
1058 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
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
1085 * gcc.cc (driver_handle_option): Pass dump_base_name to
1086 diagnostic_output_format_init.
1087 * opts.cc (common_handle_option): Likewise.
1089 2022-06-02 David Malcolm <dmalcolm@redhat.com>
1091 * json.cc (string::print): Fix escaping of '\'.
1093 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
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)
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).
1102 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
1105 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
1106 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
1108 2022-06-02 Jakub Jelinek <jakub@redhat.com>
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
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
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.
1147 2022-06-02 Richard Biener <rguenther@suse.de>
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.
1161 2022-06-02 Richard Biener <rguenther@suse.de>
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.
1167 2022-06-01 David Seifert <soap@gentoo.org>
1170 * configure: Regenerate.
1172 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
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
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.
1186 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
1188 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
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
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.
1212 2022-06-01 Jakub Jelinek <jakub@redhat.com>
1215 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
1216 x > ~(utype)0 / cst): New simplification.
1218 2022-06-01 Richard Biener <rguenther@suse.de>
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.
1225 2022-06-01 Jakub Jelinek <jakub@redhat.com>
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.
1231 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
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):
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.
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.
1364 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
1366 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
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):
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.
1398 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
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.
1478 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
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.
1490 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
1492 * value-range-equiv.cc (value_range_equiv::set): New.
1493 * value-range-equiv.h (class value_range_equiv): Make set method
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.
1523 * value-range.h (enum value_range_discriminator): New.
1524 (class vrange): New.
1525 (class unsupported_range): New.
1526 (struct vrange_traits): 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
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.
1546 2022-06-01 Richard Biener <rguenther@suse.de>
1548 PR tree-optimization/105763
1549 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
1550 Check gimple_range_ssa_p.
1552 2022-05-31 Jason Merrill <jason@redhat.com>
1554 * Makefile.in (TAGS): Look at libcpp/*.cc.
1556 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
1558 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
1559 Prefix mode names with E_.
1561 2022-05-31 Alan Modra <amodra@gmail.com>
1563 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
1564 spelling of DW_AT_namelist_item.
1566 2022-05-31 Jakub Jelinek <jakub@redhat.com>
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.
1573 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
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.
1579 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
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.
1590 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
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.
1596 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
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.
1621 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
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.
1643 2022-05-30 Jan Beulich <jbeulich@suse.com>
1645 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
1648 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1650 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
1652 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
1655 * config/darwin.h: Move versions-specific handling of multiply_defined
1656 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
1658 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
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.
1666 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
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
1672 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
1673 from leaking into cc1.
1675 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
1678 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
1679 is special) for various scenarios.
1681 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
1683 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
1684 describing this macro.
1686 2022-05-27 Richard Biener <rguenther@suse.de>
1688 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
1690 2022-05-27 Martin Jambor <mjambor@suse.cz>
1693 * ipa-prop.cc (propagate_controlled_uses): Check type of the
1694 constant before adding a LOAD reference.
1696 2022-05-27 Jakub Jelinek <jakub@redhat.com>
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.
1710 2022-05-27 Richard Biener <rguenther@suse.de>
1712 PR tree-optimization/105726
1713 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
1714 Constrain array-of-flexarray case more.
1716 2022-05-27 Jakub Jelinek <jakub@redhat.com>
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.
1722 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
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.
1733 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
1735 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
1736 to split a combined "and;cmp" sequence into "not;test".
1738 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
1747 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
1758 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1760 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
1761 Make instruction counting more accurate, and simplify emitting insns.
1763 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
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.
1774 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1776 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
1777 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
1780 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
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.
1787 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
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.
1810 2022-05-25 Simon Cook <simon.cook@embecosm.com>
1812 * config/riscv/arch-canonicalize: Only add mafd extension if
1813 base was rv32/rv64g.
1815 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
1817 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
1819 2022-05-25 Jakub Jelinek <jakub@redhat.com>
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.
1826 2022-05-25 Martin Liska <mliska@suse.cz>
1827 Richard Biener <rguenther@suse.de>
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
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.
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.
1860 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
1862 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
1863 counts for the epilog loop.
1865 2022-05-24 Martin Sebor <msebor@redhat.com>
1866 Richard Biener <rguenther@suse.de>
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
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.
1877 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1879 * target.def (vec_perm_const): Define new parameter op_mode and
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
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.
1919 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
1922 * config/i386/i386.opt: Remove Undocumented.
1923 * doc/invoke.texi: Document -mcet-switch.
1925 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
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
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.
1958 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
1960 * config.in: Regenerate.
1961 * config/gcn/gcn-hsa.h (X_FIJI): 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.
1996 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
1998 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
1999 i.e. a double word negation of a zero extended operand, to
2002 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
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.
2012 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
2014 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
2015 to strncmp for strings of length one.
2017 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
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
2023 (RISCV_ATYPE_SI): New.
2024 (RISCV_ATYPE_DI): New.
2025 * config/riscv/riscv-ftypes.def (0): 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.
2032 (riscv_prefetchi_<mode>): New.
2033 * config/riscv/riscv-cmo.def: New file.
2035 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
2037 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
2038 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
2041 (TARGET_ZICBOZ): New.
2042 (TARGET_ZICBOM): New.
2043 (TARGET_ZICBOP): New.
2044 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
2046 2022-05-24 David Malcolm <dmalcolm@redhat.com>
2048 * tree-vect-slp-patterns.cc: Add "final" and "override" to
2049 vect_pattern::build impls as appropriate.
2051 2022-05-24 David Malcolm <dmalcolm@redhat.com>
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.
2066 2022-05-24 Martin Liska <mliska@suse.cz>
2069 2022-05-24 Martin Liska <mliska@suse.cz>
2071 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
2074 2022-05-24 Martin Liska <mliska@suse.cz>
2076 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
2079 2022-05-24 Bruno Haible <bruno@clisp.org>
2082 * doc/install.texi (Configuration): Add more details about --with-zstd.
2083 Document --with-zstd-include and --with-zstd-lib
2085 2022-05-24 Richard Biener <rguenther@suse.de>
2087 PR middle-end/105711
2088 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
2090 (extract_bit_field_1): Pass down the mode of op0 to
2091 extract_bit_field_as_subreg.
2093 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
2095 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
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.
2103 2022-05-24 Jakub Jelinek <jakub@redhat.com>
2106 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
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.
2114 2022-05-24 Richard Biener <rguenther@suse.de>
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.
2120 2022-05-24 Richard Biener <rguenther@suse.de>
2122 PR tree-optimization/105629
2123 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
2124 a sign-extending conversion.
2126 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
2129 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
2131 (union_uses): Skip debug use_insn.
2133 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
2135 * config/riscv/predicates.md (const_0_operand): Remove
2137 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
2139 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
2141 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
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
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
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.
2203 2022-05-23 Martin Liska <mliska@suse.cz>
2205 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
2207 2022-05-23 Richard Biener <rguenther@suse.de>
2209 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
2210 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
2212 2022-05-23 Richard Biener <rguenther@suse.de>
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.
2223 2022-05-23 Richard Biener <rguenther@suse.de>
2225 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
2226 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
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):
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
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.
2253 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
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.
2264 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
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.
2273 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
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.
2279 2022-05-23 liuhongt <hongtao.liu@intel.com>
2281 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
2282 <-> mask cost from 5 to 6.
2283 (icelake_cost): Ditto.
2285 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
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.
2308 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
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.
2322 2022-05-20 David Malcolm <dmalcolm@redhat.com>
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.
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.
2352 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
2354 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
2355 target_memcpy_rect_async to omp_runtime_apis array.
2357 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
2359 * doc/sourcebuild.texi (Decimal floating point attributes): Document
2360 dfp_bid effective-target.
2362 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
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
2385 (movdf_aarch64): Use DFD iterator and rename into
2387 (movtf_aarch64): Use TFD iterator and rename into
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.
2396 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
2398 * configure: Regenerate.
2400 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
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.
2407 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
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.
2423 2022-05-19 Richard Biener <rguenther@suse.de>
2425 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
2426 computation of the new value.
2428 2022-05-19 Richard Biener <rguenther@suse.de>
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.
2435 2022-05-19 David Malcolm <dmalcolm@redhat.com>
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.
2442 2022-05-19 Jakub Jelinek <jakub@redhat.com>
2445 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
2446 global vars without symtab node even when they have DECL_RTL
2449 2022-05-19 Jakub Jelinek <jakub@redhat.com>
2452 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
2453 doesn't have pointer or reference type.
2455 2022-05-18 Marek Polacek <polacek@redhat.com>
2458 * doc/invoke.texi: Document -Wenum-int-mismatch.
2460 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
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.
2466 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
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.
2472 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
2474 * config/i386/i386.md (define_split): Split *andsi_1
2475 and *andn_si_ccno after reload with -Oz.
2477 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
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.
2488 2022-05-18 liuhongt <hongtao.liu@intel.com>
2490 PR middle-end/103462
2491 * match.pd (bitwise_induction_p): New match.
2492 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
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
2499 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
2502 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
2504 2022-05-18 liuhongt <hongtao.liu@intel.com>
2507 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
2510 2022-05-18 liuhongt <hongtao.liu@intel.com>
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.
2517 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
2518 Segher Boessenkool <segher@kernel.crashing.org>
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.
2527 2022-05-17 Marek Polacek <polacek@redhat.com>
2529 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
2531 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
2534 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
2535 register count when not splitting IEEE 128-bit Complex.
2537 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2539 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
2540 target inside target if inner is reverse offload.
2542 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2544 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
2545 * config/nvptx/mkoffload.cc (process): Likewise.
2547 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
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.
2581 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
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.
2589 2022-05-17 Richard Biener <rguenther@suse.de>
2591 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
2592 not clear bb->aux of the copied blocks.
2594 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
2596 PR tree-optimization/105458
2597 * value-relation.cc (path_oracle::register_relation): Merge, then check
2600 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
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.
2624 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
2626 * diagnostic.cc: Don't advise to call 'abort' instead of
2628 * system.h: Advise to call 'internal_error' instead of 'abort' or
2631 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
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
2638 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
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.
2644 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2647 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
2648 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
2650 2022-05-17 Jakub Jelinek <jakub@redhat.com>
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.
2659 2022-05-17 Jakub Jelinek <jakub@redhat.com>
2662 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
2663 andv4si3 only for EQ, for NE use iorv4si3 instead.
2665 2022-05-17 Richard Biener <rguenther@suse.de>
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.
2671 2022-05-17 Jakub Jelinek <jakub@redhat.com>
2673 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
2674 hanlde -> handle. Fix up comment formatting.
2676 2022-05-17 liuhongt <hongtao.liu@intel.com>
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.
2684 2022-05-17 liuhongt <hongtao.liu@intel.com>
2686 PR tree-optimization/105591
2687 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
2688 vec_perm_expr index.
2690 2022-05-16 Jason Merrill <jason@redhat.com>
2693 * attribs.cc (decl_attributes): Fix broken typedefs here.
2695 2022-05-16 David Malcolm <dmalcolm@redhat.com>
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.
2703 2022-05-16 Richard Biener <rguenther@suse.de>
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
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.
2723 2022-05-16 Richard Biener <rguenther@suse.de>
2725 * gimple-match.h (code_helper): Move class ...
2726 * tree.h (code_helper): ... here.
2728 2022-05-16 Martin Liska <mliska@suse.cz>
2730 * opts-global.cc (write_langs): Add comment.
2732 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
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.
2738 2022-05-16 Martin Liska <mliska@suse.cz>
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.
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.
2783 2022-05-16 Martin Liska <mliska@suse.cz>
2785 * opts-global.cc (write_langs): Allocate at least one byte.
2787 2022-05-16 Richard Biener <rguenther@suse.de>
2789 * match.pd (A cmp B ? A : B -> min/max): New patterns
2790 carried over from fold_cond_expr_with_comparison.
2792 2022-05-16 liuhongt <hongtao.liu@intel.com>
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.
2799 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
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.
2821 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
2822 Uroš Bizjak <ubizjak@gmail.com>
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.
2831 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
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.
2839 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
2840 Manolis Tsamis <manolis.tsamis@vrull.eu>
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
2847 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
2853 2022-05-13 Sebastian Pop <spop@amazon.com>
2856 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
2858 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
2859 memmodel_from_int and handle MEMMODEL_SYNC_*.
2860 (DEF0): Add __aarch64_*_sync functions.
2862 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2864 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
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
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.
2904 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
2912 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
2919 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2921 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
2922 had_global value instead.
2924 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
2935 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
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.
2943 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2945 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
2947 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
2949 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
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
2963 2022-05-13 Alexandre Oliva <oliva@adacore.com>
2965 * gimple-harden-conditionals.cc: Include sbitmap.h.
2966 (pass_harden_conditional_branches::execute): Skip new blocks.
2967 (pass_harden_compares::execute): Likewise.
2969 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
2972 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
2974 (*movmisalign<mode>_mve_load): Likewise.
2975 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
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.
2981 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
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.
2986 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2988 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
2991 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2993 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
2994 extzvsi_internal): Rename from extv, extv_internal, extzv and
2995 extzv_internal, respectively.
2997 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
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
3003 2022-05-13 Richard Biener <rguenther@suse.de>
3005 * gimple-fold.cc (gimple_build): Adjust for new
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
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.
3066 2022-05-13 Alexandre Oliva <oliva@adacore.com>
3068 PR rtl-optimization/105455
3069 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
3070 probabilities for newly-conditional edges.
3072 2022-05-13 liuhongt <hongtao.liu@intel.com>
3074 PR tree-optimization/102583
3075 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
3076 contiguous stride in the VEC_PERM_EXPR.
3078 2022-05-12 Richard Biener <rguenther@suse.de>
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.
3084 2022-05-12 Richard Biener <rguenther@suse.de>
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.
3097 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
3100 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
3101 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
3102 New define_split pattern.
3104 2022-05-12 Jakub Jelinek <jakub@redhat.com>
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
3112 2022-05-11 Patrick Palka <ppalka@redhat.com>
3114 * tree.h (TREE_VEC_BEGIN): Define.
3115 (TREE_VEC_END): Correct 'length' member access.
3116 (class tree_vec_range): Define.
3118 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
3120 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
3122 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
3124 * config/rs6000/rs6000.md: Use d instead of <Ff>.
3126 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
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.
3136 2022-05-11 Richard Biener <rguenther@suse.de>
3138 * gimple-fold.h (gimple_build): Use variadic template
3139 functions for the gimple_build API forwarders without
3140 location_t argument.
3142 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
3145 * asan.cc (initialize_sanitizer_builtins): Register
3146 __builtin_dynamic_object_size if necessary.
3148 2022-05-11 Richard Biener <rguenther@suse.de>
3150 PR rtl-optimization/105559
3151 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
3152 for non-debug insns.
3154 2022-05-11 Richard Biener <rguenther@suse.de>
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.
3161 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3163 * doc/install.texi: Don't document '--with-hsa-runtime',
3164 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
3166 2022-05-11 Martin Liska <mliska@suse.cz>
3169 * doc/install.texi: Document the configure option --with-zstd.
3171 2022-05-11 Martin Liska <mliska@suse.cz>
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.
3179 2022-05-11 Richard Biener <rguenther@suse.de>
3182 * opts.cc (finish_options): Also disable var-tracking if
3183 !DWARF2_DEBUGGING_INFO.
3185 2022-05-11 liuhongt <hongtao.liu@intel.com>
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.
3197 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
3199 * config/rs6000/constraints.md (register constraint v): Use
3200 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
3202 2022-05-11 Martin Liska <mliska@suse.cz>
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.
3211 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
3214 * match.pd (minmax): Skip constant folding for fmin/fmax when both
3215 arguments are sNaN or one is sNaN and another is NaN.
3217 2022-05-10 Jakub Jelinek <jakub@redhat.com>
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.
3223 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
3225 * doc/md.texi (Defining Mode Iterators): Correct example replacement
3228 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
3230 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
3232 (fmin<mode>3, fmax<mode>3): New insns.
3234 2022-05-10 Richard Biener <rguenther@suse.de>
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.
3241 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
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'.
3248 2022-05-10 Richard Biener <rguenther@suse.de>
3250 PR middle-end/105537
3251 * toplev.cc (process_options): Move flag_var_tracking
3253 * opts.cc (finish_options): ... here.
3255 2022-05-10 Martin Liska <mliska@suse.cz>
3257 * basic-block.h (struct basic_block_d): Use void *
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.
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.
3271 2022-05-10 Richard Biener <rguenther@suse.de>
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.
3279 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
3280 Roger Sayle <roger@nextmovesoftware.com>
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.
3288 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
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,
3294 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
3297 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
3298 true only for 8-byte vector modes.
3300 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
3303 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
3304 (instrument_object_size): Get dynamic object size expression.
3306 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
3308 PR preprocessor/101168
3309 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
3310 Avoid empty identifier.
3312 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
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.
3321 2022-05-09 liuhongt <hongtao.liu@intel.com>
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.
3330 2022-05-09 Martin Liška <mliska@suse.cz>
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.
3336 2022-05-09 Richard Biener <rguenther@suse.de>
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.
3344 2022-05-09 Richard Biener <rguenther@suse.de>
3346 * match.pd: Remove #if GIMPLE guards around ! using patterns.
3348 2022-05-09 liuhongt <hongtao.liu@intel.com>
3351 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
3353 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
3354 define_insn_and_split.
3356 2022-05-09 Alex Coplan <alex.coplan@arm.com>
3358 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
3359 symtab state is PARSING.
3361 2022-05-09 Martin Liska <mliska@suse.cz>
3363 * system.h (LIKELY): Define.
3364 (UNLIKELY): Likewise.
3365 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
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.
3397 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
3399 * config/riscv/arch-canonicalize: Handle g correctly.
3401 2022-05-07 Marek Polacek <polacek@redhat.com>
3405 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
3407 2022-05-06 Jason Merrill <jason@redhat.com>
3409 * diagnostic-color.cc: Add fnname and targs color entries.
3410 * doc/invoke.texi: Document them.
3412 2022-05-06 Jason Merrill <jason@redhat.com>
3414 * vec.h (vec::iterate): Fix comment.
3416 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
3419 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
3420 and -mpower10-fusion options for inlining purposes.
3422 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
3424 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
3426 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3428 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
3429 omp_runtime_apis array.
3431 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
3433 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
3434 (scan_sharing_clauses): Check a restriction on allocate clause.
3436 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
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.
3442 2022-05-05 Martin Liska <mliska@suse.cz>
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):
3450 2022-05-05 Martin Liska <mliska@suse.cz>
3452 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
3454 (gimple_gen_time_profiler): Likewise.
3456 2022-05-05 Martin Liska <mliska@suse.cz>
3458 * value-prof.cc (stream_out_histogram_value): Remove sanity
3461 2022-05-05 Richard Biener <rguenther@suse.de>
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
3467 (vn_reference_insert): Likewise.
3469 2022-05-05 Richard Biener <rguenther@suse.de>
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):
3479 2022-05-05 Richard Biener <rguenther@suse.de>
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.
3486 2022-05-05 Richard Biener <rguenther@suse.de>
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.
3493 2022-05-05 Richard Biener <rguenther@suse.de>
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.
3499 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3501 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
3502 item that is in an outer data-sharing clause.
3504 2022-05-04 Richard Biener <rguenther@suse.de>
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
3512 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
3513 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
3515 2022-05-04 Richard Biener <rguenther@suse.de>
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.
3521 2022-05-04 Martin Liska <mliska@suse.cz>
3523 * gengtype-state.cc (read_a_state_token): Remove dead code.
3524 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
3526 2022-05-04 Richard Biener <rguenther@suse.de>
3528 * gimplify.cc (gimplify_init_constructor): First gimplify,
3529 then simplify the result to a VECTOR_CST.
3531 2022-05-04 Jakub Jelinek <jakub@redhat.com>
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).
3538 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
3541 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
3542 vector of booleans and MVE is not enabled.
3544 2022-05-04 Richard Biener <rguenther@suse.de>
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.
3553 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
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.
3563 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
3565 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
3566 protocol class methods linker-visible.
3568 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
3571 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
3572 define_insn_and_split pattern.
3574 2022-05-03 Richard Biener <rguenther@suse.de>
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.
3582 2022-05-03 Richard Biener <rguenther@suse.de>
3584 PR middle-end/105461
3585 * opts.cc (finish_options): Match the condition to
3586 disable flag_var_tracking to that of process_options.
3588 2022-05-03 Richard Biener <rguenther@suse.de>
3590 * opts.cc: #undef OPTIONS_SET_P.
3591 (finish_options): Use opts_set instead of OPTIONS_SET_P.
3593 2022-05-03 Richard Biener <rguenther@suse.de>
3595 PR tree-optimization/105394
3596 * tree-vect-generic.cc (expand_vector_condition): Adjust
3597 comp_width for non-integer mode masks as well.
3599 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3601 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
3602 omp_runtime_apis array.
3604 2022-05-02 Richard Biener <rguenther@suse.de>
3606 * tree-scalar-evolution.cc (expression_expensive_p):
3607 Never consider mismatched calls as cheap.
3609 2022-05-02 Richard Biener <rguenther@suse.de>
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
3617 2022-05-02 Jakub Jelinek <jakub@redhat.com>
3620 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
3621 if there is no symtab node for the VAR_DECL.
3623 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3625 * gcov-io.cc (gcov_rewrite): Clear the file error status.
3627 2022-05-02 Richard Biener <rguenther@suse.de>
3629 PR tree-optimization/105437
3630 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
3631 case where last_stmt alters control flow.
3633 2022-05-02 Richard Biener <rguenther@suse.de>
3635 * dojump.cc (do_jump): Use CASE_CONVERT.
3636 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
3638 2022-05-02 Jakub Jelinek <jakub@redhat.com>
3640 * system.h: Include initializer_list.
3642 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
3644 * config/rs6000/constraints.md (Y constraint): Fix comment.
3646 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
3648 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
3649 VR_RANGE before passing a piecewise range to set_range_info_raw.
3651 2022-04-30 Patrick Palka <ppalka@redhat.com>
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.
3658 2022-04-29 Martin Jambor <mjambor@suse.cz>
3661 * cgraph.cc (cgraph_node::remove): Release body of the node this
3662 is clone_of if appropriate.
3664 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
3667 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
3669 2022-04-29 Richard Biener <rguenther@suse.de>
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.
3686 2022-04-29 Richard Biener <rguenther@suse.de>
3688 * gimple-iterator.h (gsi_after_labels): Add overload for
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.
3696 2022-04-29 Richard Biener <rguenther@suse.de>
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
3704 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
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.
3740 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
3742 * gimple-fold.cc (size_must_be_zero_p): Use reference
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
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
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.
3773 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
3775 * gimple-ssa-evrp-analyze.cc
3776 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
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
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
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.
3800 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
3802 * value-range.h (irange::irange): Use set_undefined.
3804 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
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
3813 2022-04-29 Richard Biener <rguenther@suse.de>
3815 PR tree-optimization/104322
3816 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
3818 2022-04-29 Richard Biener <rguenther@suse.de>
3820 PR middle-end/105376
3821 * tree.cc (build_real): Special case dconst* arguments
3822 for decimal floating point types.
3824 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3826 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
3827 Environments): New section.
3829 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
3841 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
3853 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3855 * gcov-io.cc (GCOV_MODE_STDIN): Define.
3856 (gcov_position): For gcov-tool, return calculated position if file is
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.
3863 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
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.
3870 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3872 * gcov-io.cc (gcov_seek): Make it static.
3873 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
3875 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3877 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
3878 (gcov_output_files): Open files for reading and writing.
3880 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3882 * gcov-io.cc (gcov_open): Always use the mode parameter.
3883 * gcov-io.h (gcov_open): Declare it unconditionally.
3885 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
3887 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
3888 (profile_merge): Allow merging of directories which contain no profile
3891 2022-04-28 David Malcolm <dmalcolm@redhat.com>
3893 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
3896 2022-04-28 Jakub Jelinek <jakub@redhat.com>
3898 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
3899 temporary only if out overlaps compare_op, not when it overlaps
3902 2022-04-28 Jakub Jelinek <jakub@redhat.com>
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.
3909 2022-04-28 Jakub Jelinek <jakub@redhat.com>
3912 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
3913 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
3916 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
3918 * doc/install.texi (Configuration): Remove misleading text
3919 around LE PowerPC Linux multilibs.
3921 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
3929 2022-04-28 Richard Biener <rguenther@suse.de>
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.
3936 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
3938 * config/loongarch/loongarch.cc
3939 (loongarch_flatten_aggregate_field): Ignore empty fields for
3942 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
3944 * config/loongarch/loongarch.md: Add fdiv define_expand template,
3945 then generate floating-point division and floating-point reciprocal
3948 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
3950 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
3951 to PLV instruction templates.
3953 2022-04-27 Richard Biener <rguenther@suse.de>
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.
3962 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
3965 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
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.
3971 2022-04-27 Jakub Jelinek <jakub@redhat.com>
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.
3980 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
3983 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
3986 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
3988 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
3989 data-share memory exhausted" error more verbose.
3991 2022-04-26 Martin Liska <mliska@suse.cz>
3994 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
3995 (run_gcc): Parse OPT_fdiagnostics_urls_.
3996 (main): Initialize global_dc.
3998 2022-04-26 Jakub Jelinek <jakub@redhat.com>
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.
4005 2022-04-26 Jakub Jelinek <jakub@redhat.com>
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.
4011 2022-04-26 Jakub Jelinek <jakub@redhat.com>
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.
4018 2022-04-25 David Malcolm <dmalcolm@redhat.com>
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.
4025 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
4027 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
4029 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
4031 PR tree-optimization/105276
4032 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
4033 existing global range with calculated value.
4035 2022-04-25 Richard Biener <rguenther@suse.de>
4037 PR tree-optimization/105368
4038 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
4040 2022-04-25 Richard Biener <rguenther@suse.de>
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.
4050 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
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.
4059 2022-04-25 Richard Biener <rguenther@suse.de>
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.
4070 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
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.
4087 2022-04-23 Jakub Jelinek <jakub@redhat.com>
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
4094 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
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.
4102 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
4104 * doc/extend.texi: Correct "This" to "These".
4106 2022-04-22 Jakub Jelinek <jakub@redhat.com>
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
4113 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
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.
4125 2022-04-21 Martin Liska <mliska@suse.cz>
4127 * configure.ac: Enable compressed debug sections for mold
4129 * configure: Regenerate.
4131 2022-04-21 Jakub Jelinek <jakub@redhat.com>
4134 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
4137 2022-04-20 Richard Biener <rguenther@suse.de>
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.
4144 2022-04-20 Richard Biener <rguenther@suse.de>
4146 PR tree-optimization/105312
4147 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
4148 VCOND and VCONDU for EQ and NE.
4150 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
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.
4157 2022-04-20 Jakub Jelinek <jakub@redhat.com>
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.
4165 2022-04-19 Sergei Trofimovich <siarheit@google.com>
4167 PR gcov-profile/105282
4168 * value-prof.cc (stream_out_histogram_value): Allow negative counts
4169 on HIST_TYPE_INDIR_CALL.
4171 2022-04-19 Jakub Jelinek <jakub@redhat.com>
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 */.
4178 2022-04-19 Richard Biener <rguenther@suse.de>
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.
4187 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
4189 * doc/install.texi <CRIS>: Remove references to removed websites and
4190 adjust for cris-*-elf being the only remaining toolchain.
4192 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
4194 * doc/invoke.texi <CRIS>: Remove references to options for removed
4195 subtarget cris-axis-linux-gnu and tweak wording accordingly.
4197 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
4199 * doc/install.texi (Specific): Adjust mingw-w64 download link.
4201 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
4203 * config/i386/smmintrin.h: Correct target pragma from sse4.1
4204 and sse4.2 to crc32 for crc32 intrinsics.
4206 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
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
4220 (ctf_preprocess): Defer updating the number of global objts
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.
4228 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
4230 * ctfc.h (struct ctf_container): Introduce a new member.
4231 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
4234 2022-04-14 Jakub Jelinek <jakub@redhat.com>
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.
4241 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
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):
4250 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
4252 * config/s390/3931.md: New file.
4254 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
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
4261 (aarch64_vector_costs::finish_cost): Update call accordingly.
4263 2022-04-13 Richard Biener <rguenther@suse.de>
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.
4269 2022-04-13 Jakub Jelinek <jakub@redhat.com>
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.
4276 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
4279 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
4280 Add missing set to target_val at pause label.
4282 2022-04-13 Jakub Jelinek <jakub@redhat.com>
4285 * attribs.cc (decl_attributes): Don't set
4286 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
4289 2022-04-13 Richard Biener <rguenther@suse.de>
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.
4296 2022-04-13 Richard Biener <rguenther@suse.de>
4299 2022-04-13 Richard Biener <rguenther@suse.de>
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.
4306 2022-04-13 Richard Biener <rguenther@suse.de>
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.
4313 2022-04-13 Jakub Jelinek <jakub@redhat.com>
4315 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
4317 2022-04-12 Antoni Boucher <bouanto@zoho.com>
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.
4327 2022-04-12 Antoni Boucher <bouanto@zoho.com>
4330 * toplev.cc: Call the new function tree_cc_finalize in
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).
4340 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4343 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
4344 * config/nvptx/nvptx.opt (misa): Adjust comment.
4346 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4349 2022-03-03 Tom de Vries <tdevries@suse.de>
4351 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
4353 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
4356 2022-03-31 Tom de Vries <tdevries@suse.de>
4358 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
4360 2022-04-12 Richard Biener <rguenther@suse.de>
4363 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
4364 include local escaped memory as obviously necessary stores.
4366 2022-04-12 Richard Biener <rguenther@suse.de>
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.
4373 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
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.
4384 2022-04-12 Richard Biener <rguenther@suse.de>
4386 PR tree-optimization/105232
4387 * tree.cc (component_ref_size): Bail out for too large
4388 or non-constant sizes.
4390 2022-04-12 Richard Biener <rguenther@suse.de>
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.
4396 2022-04-12 Jakub Jelinek <jakub@redhat.com>
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):
4404 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
4406 2022-04-12 Jakub Jelinek <jakub@redhat.com>
4409 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
4410 do_pending_stack_adjust.
4412 2022-04-12 Jakub Jelinek <jakub@redhat.com>
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.
4420 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
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
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.
4446 2022-04-12 chenglulu <chenglulu@loongson.cn>
4448 * config/loongarch/loongarch.cc: Fix bug for
4449 tmpdir-g++.dg-struct-layout-1/t033.
4451 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
4454 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
4455 to longcall functions.
4457 2022-04-11 Jason Merrill <jason@redhat.com>
4459 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
4461 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
4465 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
4467 2022-04-11 Jakub Jelinek <jakub@redhat.com>
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.
4474 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
4477 * config.gcc: Pass -misa-spec to arch-canonicalize and
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.
4485 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
4487 * config/riscv/arch-canonicalize: Add TODO item.
4488 (IMPLIED_EXT): Sync.
4489 (arch_canonicalize): Checking until no change.
4491 2022-04-11 Tamar Christina <tamar.christina@arm.com>
4494 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
4497 2022-04-11 Jason Merrill <jason@redhat.com>
4500 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
4503 2022-04-11 Jakub Jelinek <jakub@redhat.com>
4505 PR tree-optimization/104639
4506 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
4507 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
4510 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
4512 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
4513 sign bit of the source ends up in CC.
4515 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
4518 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
4521 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
4523 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
4524 nondeterministic and side_effects flags.
4526 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
4537 2022-04-08 Richard Biener <rguenther@suse.de>
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.
4544 2022-04-08 Jakub Jelinek <jakub@redhat.com>
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
4551 2022-04-08 Richard Biener <rguenther@suse.de>
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.
4564 2022-04-07 Tamar Christina <tamar.christina@arm.com>
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
4571 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
4572 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
4574 2022-04-07 Richard Biener <rguenther@suse.de>
4575 Jan Hubicka <hubicka@ucw.cz>
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
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):
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.
4603 2022-04-07 Richard Biener <rguenther@suse.de>
4605 PR tree-optimization/105185
4606 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
4609 2022-04-07 Tamar Christina <tamar.christina@arm.com>
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.
4619 2022-04-07 Jakub Jelinek <jakub@redhat.com>
4621 PR tree-optimization/102586
4622 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
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.
4631 2022-04-07 Jakub Jelinek <jakub@redhat.com>
4633 PR tree-optimization/105150
4634 * tree.cc (tree_builtin_call_types_compatible_p): New function.
4635 (get_call_combined_fn): Use it.
4637 2022-04-07 Richard Biener <rguenther@suse.de>
4639 PR middle-end/105165
4640 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
4643 2022-04-07 liuhongt <hongtao.liu@intel.com>
4645 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
4647 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
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
4656 2022-04-06 Jakub Jelinek <jakub@redhat.com>
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.
4672 2022-04-06 Jakub Jelinek <jakub@redhat.com>
4675 * config/sh/sh.opt (mdiv=): Add Save.
4677 2022-04-06 Martin Liska <mliska@suse.cz>
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
4685 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
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
4693 2022-04-06 Jakub Jelinek <jakub@redhat.com>
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
4701 2022-04-06 Richard Biener <rguenther@suse.de>
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.
4709 2022-04-06 Richard Biener <rguenther@suse.de>
4712 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
4713 out for non-pointer arguments.
4715 2022-04-06 Richard Biener <rguenther@suse.de>
4717 PR tree-optimization/105163
4718 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
4721 2022-04-06 Jakub Jelinek <jakub@redhat.com>
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.
4730 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
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.
4739 2022-04-06 Martin Liska <mliska@suse.cz>
4741 * doc/invoke.texi: Document it.
4743 2022-04-06 Richard Biener <rguenther@suse.de>
4745 PR tree-optimization/105148
4746 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
4747 2 and 3 of ARRAY_REFs.
4749 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
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.
4755 2022-04-06 Richard Biener <rguenther@suse.de>
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.
4771 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
4774 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
4775 comparison codes UNLT/UNLE/UNGT/UNGE.
4777 2022-04-05 David Malcolm <dmalcolm@redhat.com>
4779 * doc/extend.texi (Common Function Attributes): Document that
4780 'access' does not imply 'nonnull'.
4782 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
4785 * config/i386/mmx.md (*movv2qi_internal):
4786 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
4788 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
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.
4802 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
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):
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.
4823 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
4826 * config/aarch64/aarch64-sve-builtins.cc
4827 (function_resolver::infer_vector_or_tuple_type): Use error_n
4828 for "%d vectors" messages.
4830 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
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
4836 2022-04-05 Richard Biener <rguenther@suse.de>
4839 * passes.def (pass_walloca): Move early instance into
4840 pass_build_ssa_passes to make SSA form available.
4842 2022-04-05 liuhongt <hongtao.liu@intel.com>
4845 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
4847 (ix86_reorg): Call ix86_split_stlf_stall_load.
4848 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
4851 2022-04-05 Alexandre Oliva <oliva@adacore.com>
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.
4860 2022-04-04 Alex Coplan <alex.coplan@arm.com>
4862 * doc/match-and-simplify.texi: Fix typos.
4864 2022-04-04 Jakub Jelinek <jakub@redhat.com>
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.
4872 2022-04-04 Jakub Jelinek <jakub@redhat.com>
4875 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
4876 * config/aarch64/aarch64-tune.md: Regenerated.
4878 2022-04-04 Richard Biener <rguenther@suse.de>
4880 PR tree-optimization/105132
4881 * tree-vect-stmts.cc (vectorizable_operation): Check that
4882 the input vectors have the same number of elements.
4884 2022-04-04 Richard Biener <rguenther@suse.de>
4886 PR middle-end/105140
4887 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
4889 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
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.
4897 2022-04-03 Jakub Jelinek <jakub@redhat.com>
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
4904 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
4906 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
4907 NULL before dereferencing it.
4909 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
4911 * config/i386/i386.cc (zero_all_st_registers): Return the value of
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.
4919 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
4922 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
4923 fields, and inform if it causes a psABI change.
4925 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
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.
4934 2022-04-01 Jakub Jelinek <jakub@redhat.com>
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.
4941 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
4943 * config/mips/mips.cc (mips_expand_prologue):
4944 IPL is 8bit for MCU ASE.
4946 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
4949 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
4952 (SET_FPSCR_RN): Likewise.
4953 (SET_FPSCR_DRN): Mark nosoft and no32bit.
4955 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
4957 * doc/options.texi (Option file format): Clarifications around
4958 option definition records' help texts.
4960 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
4962 * optc-gen.awk <END>: Fix "Multiple different help strings" error
4965 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
4977 2022-03-31 Martin Jambor <mjambor@suse.cz>
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
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,
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
5003 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
5006 2022-03-31 Martin Jambor <mjambor@suse.cz>
5009 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
5010 which do not fit the known value_range.
5012 2022-03-31 Martin Jambor <mjambor@suse.cz>
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.
5019 2022-03-31 Richard Biener <rguenther@suse.de>
5021 PR tree-optimization/105109
5022 * tree-ssa.cc (execute_update_addresses_taken): Suppress
5023 diagnostics on the load of the other complex component.
5025 2022-03-31 Tom de Vries <tdevries@suse.de>
5027 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
5029 2022-03-31 Richard Biener <rguenther@suse.de>
5031 PR rtl-optimization/105091
5032 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
5035 2022-03-31 Richard Biener <rguenther@suse.de>
5038 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
5041 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
5042 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
5044 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
5046 * gcov-io.cc (gcov_read_string): Reword documentation comment.
5048 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
5050 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
5052 (NEG_V4SF): Likewise.
5053 (NEG_V4SI): Likewise.
5054 (NEG_V8HI): Likewise.
5055 (NEG_V2DF): Move to [vsx] stanza.
5056 (NEG_V2DI): Likewise.
5058 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
5060 PR middle-end/105032
5061 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
5063 2022-03-30 Tom de Vries <tdevries@suse.de>
5064 Tobias Burnus <tobias@codesourcery.com>
5066 * doc/invoke.texi (march): Document __PTX_SM__.
5067 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
5068 __PTX_ISA_VERSION_MINOR__.
5070 2022-03-30 Jakub Jelinek <jakub@redhat.com>
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.
5077 2022-03-30 Jakub Jelinek <jakub@redhat.com>
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.
5083 2022-03-30 Tom de Vries <tdevries@suse.de>
5085 * doc/invoke.texi (misa, mptx): Update.
5086 (march, march-map): Add.
5088 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
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.
5095 2022-03-29 Marek Polacek <polacek@redhat.com>
5096 Jakub Jelinek <jakub@redhat.com>
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.
5104 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
5106 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
5107 be any VSX register.
5109 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
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.
5117 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
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.
5125 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
5128 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
5129 ARM_PCS_AAPCS_LOCAL.
5131 2022-03-29 Tom de Vries <tdevries@suse.de>
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.
5139 2022-03-29 Tom de Vries <tdevries@suse.de>
5141 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
5144 2022-03-29 Tom de Vries <tdevries@suse.de>
5147 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
5149 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
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
5158 2022-03-29 Tom de Vries <tdevries@suse.de>
5160 * config/nvptx/nvptx.opt (march): Add alias of misa.
5162 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5163 Lulu Cheng <chenglulu@loongson.cn>
5165 * doc/install.texi: Add LoongArch options section.
5166 * doc/invoke.texi: Add LoongArch options section.
5167 * doc/md.texi: Add LoongArch options section.
5169 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5170 Lulu Cheng <chenglulu@loongson.cn>
5172 * config/loongarch/loongarch-c.cc
5174 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5175 Lulu Cheng <chenglulu@loongson.cn>
5177 * config/loongarch/larchintrin.h: New file.
5178 * config/loongarch/loongarch-builtins.cc: New file.
5180 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5181 Lulu Cheng <chenglulu@loongson.cn>
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.
5189 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5190 Lulu Cheng <chenglulu@loongson.cn>
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.
5201 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5202 Lulu Cheng <chenglulu@loongson.cn>
5204 * configure: Regenerate file.
5206 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
5207 Lulu Cheng <chenglulu@loongson.cn>
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.
5230 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
5232 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
5235 2022-03-29 Richard Biener <rguenther@suse.de>
5237 PR tree-optimization/105080
5238 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
5241 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
5243 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
5244 (output_ctf_vars): Likewise.
5246 2022-03-28 Jason Merrill <jason@redhat.com>
5249 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
5251 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
5254 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
5257 2022-03-28 Tom de Vries <tdevries@suse.de>
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
5266 2022-03-28 David Malcolm <dmalcolm@redhat.com>
5269 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
5270 to loads then stores, set the location of the new load stmt.
5272 2022-03-28 Richard Biener <rguenther@suse.de>
5274 PR tree-optimization/105070
5275 * tree-switch-conversion.h
5276 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
5278 * tree-switch-conversion.cc
5279 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
5281 (bit_test_cluster::emit): Annotate all generated expressions
5284 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
5286 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
5288 2022-03-28 liuhongt <hongtao.liu@intel.com>
5291 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
5292 alternative 4 from sse4_noavx to noavx.
5294 2022-03-28 Jakub Jelinek <jakub@redhat.com>
5296 PR tree-optimization/105056
5297 * tree-predcom.cc (component::component): Initialize also comp_step.
5299 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
5302 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
5305 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
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.
5311 2022-03-26 Jakub Jelinek <jakub@redhat.com>
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
5318 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
5321 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
5322 (aes<aesklvariant>u8): Likewise.
5324 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
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.
5332 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
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.
5338 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
5342 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
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
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.
5357 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
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.
5363 2022-03-25 Richard Biener <rguenther@suse.de>
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.
5369 2022-03-25 Richard Biener <rguenther@suse.de>
5371 PR middle-end/105049
5372 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
5373 CONSTRUCTOR first elements.
5375 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
5378 * doc/invoke.texi (Static Analyzer Options): Move
5379 @ignore block after @gccoptlist's '}' for 'make pdf'.
5381 2022-03-25 David Malcolm <dmalcolm@redhat.com>
5384 * doc/invoke.texi (Static Analyzer Options): Add
5385 -fdump-analyzer-untracked.
5387 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
5390 * doc/invoke.texi: Document that enabling taint analyzer
5391 checker disables some warnings from `-fanalyzer`.
5393 2022-03-24 Alexandre Oliva <oliva@adacore.com>
5396 * gimple-harden-conditionals.cc (detach_value): Keep temps
5399 2022-03-24 Alexandre Oliva <oliva@adacore.com>
5401 PR middle-end/104975
5402 * gimple-harden-conditionals.cc
5403 (pass_harden_compares::execute): Force split in case of
5406 2022-03-24 Jakub Jelinek <jakub@redhat.com>
5409 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
5410 field0 or field1 is not a FIELD_DECL, return false.
5412 2022-03-24 Richard Biener <rguenther@suse.de>
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
5427 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
5428 Release m_flag_set_edges.
5430 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
5432 PR tree-optimization/104970
5433 * tree-object-size.cc (parm_object_size): Restrict size
5434 computation scenarios to explicit access attributes.
5436 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
5439 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
5442 2022-03-23 Richard Biener <rguenther@suse.de>
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.
5449 2022-03-23 Richard Biener <rguenther@suse.de>
5451 PR rtl-optimization/105028
5452 * ira-color.cc (form_threads_from_copies): Remove unnecessary
5453 copying of the sorted_copies tail.
5455 2022-03-23 Martin Liska <mliska@suse.cz>
5457 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5459 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5460 Reword the error message.
5462 2022-03-23 liuhongt <hongtao.liu@intel.com>
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,
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.
5496 2022-03-22 Tom de Vries <tdevries@suse.de>
5499 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
5500 Use % as register prefix.
5502 2022-03-22 Tom de Vries <tdevries@suse.de>
5504 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
5505 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
5508 2022-03-22 Tom de Vries <tdevries@suse.de>
5510 * config/nvptx/nvptx.opt (mexperimental): New option.
5512 2022-03-22 Tom de Vries <tdevries@suse.de>
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
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
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.
5526 2022-03-22 Tom de Vries <tdevries@suse.de>
5530 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
5531 sync (or uniform warp check for mptx < 6.0).
5533 2022-03-22 Richard Biener <rguenther@suse.de>
5535 PR tree-optimization/105012
5536 * tree-if-conv.cc (ifcvt_local_dce): Only call
5537 dse_classify_store when we have a VDEF.
5539 2022-03-22 Martin Liska <mliska@suse.cz>
5542 * config/nvptx/nvptx.cc (handle_ptx_version_option):
5543 Fix option wrapping in an error message.
5545 2022-03-22 Martin Liska <mliska@suse.cz>
5548 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
5551 2022-03-22 Martin Liska <mliska@suse.cz>
5553 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
5556 2022-03-22 Martin Liska <mliska@suse.cz>
5559 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
5560 Use %qs instead of (%qs).
5562 2022-03-22 Martin Liska <mliska@suse.cz>
5565 * config/i386/i386-options.cc (ix86_option_override_internal):
5566 Use '%qs' instead of '(%qs)'.
5568 2022-03-22 Martin Liska <mliska@suse.cz>
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.
5577 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5578 Andre Vieira <andre.simoesdiasvieira@arm.com>
5580 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
5582 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
5584 (neoverse512tvb_tunings): Likewise.
5586 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5587 Andre Vieira <andre.simoesdiasvieira@arm.com>
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
5597 * config/aarch64/aarch64-cores.def: Add entry for demeter.
5598 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
5600 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5601 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
5608 2022-03-22 Tamar Christina <tamar.christina@arm.com>
5609 Andre Vieira <andre.simoesdiasvieira@arm.com>
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
5620 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
5622 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
5625 2022-03-22 liuhongt <hongtao.liu@intel.com>
5628 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
5629 following splitter to reversed condition.
5631 2022-03-22 Jakub Jelinek <jakub@redhat.com>
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.
5640 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
5642 * print-tree.cc: Change array length
5644 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
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.
5653 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
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.
5660 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
5663 * common/config/i386/cpuinfo.h (get_available_features): Pass
5664 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
5667 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
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
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
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.
5700 2022-03-21 Martin Liska <mliska@suse.cz>
5702 * doc/invoke.texi: Document min-pagesize parameter.
5704 2022-03-21 Richard Biener <rguenther@suse.de>
5706 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
5707 we are estimating niter of loop.
5709 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
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.
5731 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
5734 * config/i386/sse.md
5735 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
5736 Correct round operand for intel dialect.
5738 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
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.
5749 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
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.
5758 2022-03-19 Jakub Jelinek <jakub@redhat.com>
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.
5765 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
5767 PR rtl-optimization/104961
5768 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
5770 2022-03-18 Jason Merrill <jason@redhat.com>
5772 * tree.h (IDENTIFIER_LENGTH): Add comment.
5774 2022-03-18 Jakub Jelinek <jakub@redhat.com>
5777 PR middle-end/100680
5778 PR tree-optimization/100834
5779 * params.opt (--param=min-pagesize=): New parameter.
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.
5785 2022-03-18 Tom de Vries <tdevries@suse.de>
5787 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
5788 Set gfor location only when dealing with a OMP_TASKLOOP.
5790 2022-03-18 Tom de Vries <tdevries@suse.de>
5792 * gimplify.cc (gimplify_omp_for): Set taskloop location.
5794 2022-03-18 Tom de Vries <tdevries@suse.de>
5797 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
5798 is executed unconditionally.
5800 2022-03-18 liuhongt <hongtao.liu@intel.com>
5803 * config/i386/i386.md (*movhi_internal): Set attr type from HI
5804 to HF for alternative 12 under TARGET_AVX512FP16.
5806 2022-03-18 Cui,Lili <lili.cui@intel.com>
5809 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
5810 * doc/invoke.texi: Update documents for Intel sapphirerapids.
5812 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
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.
5821 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
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.
5827 2022-03-17 Richard Biener <rguenther@suse.de>
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.
5836 2022-03-17 Jakub Jelinek <jakub@redhat.com>
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.
5844 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5846 * config/i386/sse.md: Delete corrupt character/typo.
5848 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
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).
5856 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
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.
5862 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
5865 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
5866 pushing target("general-regs-only").
5868 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
5870 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
5871 Add version info for zk, zks and zkn.
5873 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
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.
5882 2022-03-16 Richard Biener <rguenther@suse.de>
5884 PR tree-optimization/102008
5885 * passes.def: Move the added code sinking pass before the
5886 preceeding phiopt pass.
5888 2022-03-16 Patrick Palka <ppalka@redhat.com>
5891 * doc/invoke.texi (C++ Dialect Options): Document
5892 -ffold-simple-inlines.
5894 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
5896 PR tree-optimization/104942
5897 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
5899 2022-03-16 Jakub Jelinek <jakub@redhat.com>
5902 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
5905 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
5906 Richard Biener <rguenther@suse.de>
5908 * gimple-match-head.cc (single_use): Implement inline using a
5911 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
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.
5918 2022-03-16 liuhongt <hongtao.liu@intel.com>
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
5926 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
5929 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
5930 acceptable MEM addresses.
5932 2022-03-15 Jakub Jelinek <jakub@redhat.com>
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
5939 2022-03-15 Jakub Jelinek <jakub@redhat.com>
5942 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
5943 instead of general-regs-only.
5945 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
5946 Marc Glisse <marc.glisse@inria.fr>
5947 Richard Biener <rguenther@suse.de>
5949 PR tree-optimization/101895
5950 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
5951 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
5953 2022-03-15 Jakub Jelinek <jakub@redhat.com>
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.
5959 2022-03-15 Martin Sebor <msebor@redhat.com>
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.
5966 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
5967 Uroš Bizjak <ubizjak@gmail.com>
5969 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
5970 transformation when *zero_extend<mode>si2 is not available.
5972 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
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.
5980 2022-03-14 Jakub Jelinek <jakub@redhat.com>
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.
5987 2022-03-14 Jakub Jelinek <jakub@redhat.com>
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.
5994 2022-03-14 Jakub Jelinek <jakub@redhat.com>
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.
6004 2022-03-14 Jakub Jelinek <jakub@redhat.com>
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.
6013 2022-03-14 liuhongt <hongtao.liu@intel.com>
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.
6025 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
6027 * doc/invoke.texi: Fix typos.
6028 * doc/tm.texi.in: Remove duplicated word.
6029 * doc/tm.texi: Regenerate.
6031 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
6034 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
6035 "ppc" and "ppc64" based on rs6000_cpu.
6037 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
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'.
6044 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
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'.
6053 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
6056 * tree-core.h (user_omp_claus_code_name): Declare function.
6057 * tree.cc (user_omp_clause_code_name): New function.
6059 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
6062 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
6063 (the defaut) or -fno-signed-zeros.
6065 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
6068 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
6069 moving from a GPR register to an Altivec register.
6071 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
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.
6078 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
6079 Richard Biener <rguenther@suse.de>
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.
6089 2022-03-11 Richard Biener <rguenther@suse.de>
6091 PR tree-optimization/104880
6092 * tree-ssa.cc (execute_update_address_taken): Remember if we
6093 optimistically made something not addressable and
6096 2022-03-11 Richard Biener <rguenther@suse.de>
6099 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
6100 cost the first lane of SSE pieces as inserts for vec_construct.
6102 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
6105 * calls.cc (expand_call): Ignore stack adjustments after sorry.
6107 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
6110 * lra-constraints.cc (split_reg): Set up
6111 check_and_force_assignment_correctness_p when splitting hard
6112 register live range.
6114 2022-03-10 Martin Jambor <mjambor@suse.cz>
6117 * ipa-cp.cc (create_specialized_node): Move removal of
6118 self-recursive calls from callers vector before refrence
6121 2022-03-10 Richard Biener <rguenther@suse.de>
6123 PR tree-optimization/102943
6124 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
6126 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
6128 (sbr_sparse_bitmap::set_bb_range): Adjust.
6129 (sbr_sparse_bitmap::get_bb_range): Likewise.
6131 2022-03-10 Richard Biener <rguenther@suse.de>
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.
6140 2022-03-10 Tom de Vries <tdevries@suse.de>
6143 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
6146 2022-03-10 Tom de Vries <tdevries@suse.de>
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.
6159 2022-03-10 Tom de Vries <tdevries@suse.de>
6161 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
6164 2022-03-10 Tom de Vries <tdevries@suse.de>
6167 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
6169 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
6171 2022-03-10 Tom de Vries <tdevries@suse.de>
6173 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
6174 Emit atom.and.b64 instead of atom.b64.and.
6176 2022-03-10 Tom de Vries <tdevries@suse.de>
6178 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
6179 (MULTILIB_OPTIONS): ... here.
6181 2022-03-10 Tom de Vries <tdevries@suse.de>
6184 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
6185 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
6187 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
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.
6197 2022-03-10 Jakub Jelinek <jakub@redhat.com>
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
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.
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
6235 2022-03-09 Richard Biener <rguenther@suse.de>
6237 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
6238 with non-decl operand, avoiding a copy.
6240 2022-03-09 Jakub Jelinek <jakub@redhat.com>
6243 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
6245 2022-03-09 Richard Biener <rguenther@suse.de>
6247 PR middle-end/104786
6248 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
6249 for VLAs without an upper size bound.
6251 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
6253 PR tree-optimization/104851
6254 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
6257 2022-03-09 Jakub Jelinek <jakub@redhat.com>
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
6263 (-Wshift-negative-value): Similarly (except here we stated
6264 that it is enabled for C++11 or later).
6266 2022-03-09 Jakub Jelinek <jakub@redhat.com>
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.
6274 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
6277 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
6278 value before adding an offset.
6280 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
6282 * config/arm/arm-builtins.cc
6283 (arm_binop_none_none_unone_qualifiers): Delete.
6284 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
6286 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
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.
6292 2022-03-08 Marek Polacek <polacek@redhat.com>
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.
6298 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
6301 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
6302 stack realignment or regparm nested function with EH return.
6304 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
6311 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
6313 PR translation/104552
6314 * params.opt: Fix typo.
6316 2022-03-08 Richard Biener <rguenther@suse.de>
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.
6324 2022-03-08 Martin Jambor <mjambor@suse.cz>
6326 PR translation/104552
6327 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
6328 "that" in the description.
6330 2022-03-08 Richard Biener <rguenther@suse.de>
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.
6336 2022-03-08 liuhongt <hongtao.liu@intel.com>
6338 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
6339 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
6341 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
6343 * doc/invoke.texi (C++ Modules): Remove anachronism.
6345 2022-03-07 Martin Liska <mliska@suse.cz>
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.
6351 2022-03-07 Jakub Jelinek <jakub@redhat.com>
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.
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.
6373 2022-03-07 Martin Liska <mliska@suse.cz>
6376 * config/arm/arm.cc (arm_option_override_internal): Add missing
6379 2022-03-07 Richard Biener <rguenther@suse.de>
6381 PR tree-optimization/104782
6382 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
6383 Re-instantiate r10-5979 fix, add comment.
6385 2022-03-07 Martin Liska <mliska@suse.cz>
6388 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
6389 parenthesis from built-in name.
6391 2022-03-07 Martin Liska <mliska@suse.cz>
6394 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
6395 of options in error messages.
6396 (arm_option_reconfigure_globals): Likewise.
6398 2022-03-07 Martin Liska <mliska@suse.cz>
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].
6405 2022-03-07 Jakub Jelinek <jakub@redhat.com>
6408 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
6409 S constraint instead of T in the last alternative.
6411 2022-03-07 Martin Liska <mliska@suse.cz>
6413 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
6416 2022-03-07 Martin Liska <mliska@suse.cz>
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.
6423 2022-03-07 Martin Liska <mliska@suse.cz>
6426 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
6429 2022-03-07 Jakub Jelinek <jakub@redhat.com>
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.
6439 2022-03-05 Jakub Jelinek <jakub@redhat.com>
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.
6444 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
6445 Uroš Bizjak <ubizjak@gmail.com>
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.
6458 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
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.
6467 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
6469 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
6470 bit. Handle most older CPUs.
6472 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
6474 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
6475 avoid a mismatch with DECL_MD_FUNCTION_CODE().
6477 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
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
6488 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
6492 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
6493 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
6495 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
6497 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
6500 2022-03-04 Jakub Jelinek <jakub@redhat.com>
6502 PR middle-end/104529
6503 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
6504 on automatic objects which will be runtime initialized.
6506 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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.
6516 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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
6527 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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".
6534 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
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'.
6542 2022-03-04 Jakub Jelinek <jakub@redhat.com>
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
6549 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
6552 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
6555 2022-03-03 Martin Sebor <msebor@redhat.com>
6557 PR middle-end/104761
6558 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
6559 mark_dfs_back_edges.
6561 2022-03-03 Martin Liska <mliska@suse.cz>
6563 * configure.ac: Use linker plug-in by default.
6564 * configure: Regenerate.
6566 2022-03-03 Martin Liska <mliska@suse.cz>
6568 * configure.ac: Now ld.mold support LTO plugin API, use it.
6569 * configure: Regenerate.
6571 2022-03-03 Tom de Vries <tdevries@suse.de>
6573 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
6575 2022-03-03 Tom de Vries <tdevries@suse.de>
6578 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
6580 2022-03-03 Tom de Vries <tdevries@suse.de>
6582 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
6584 2022-03-03 Jakub Jelinek <jakub@redhat.com>
6586 PR middle-end/104757
6587 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
6589 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
6590 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
6592 2022-03-03 Jakub Jelinek <jakub@redhat.com>
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
6600 2022-03-02 Alexandre Oliva <oliva@adacore.com>
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.
6607 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
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.
6620 2022-03-02 Richard Biener <rguenther@suse.de>
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
6627 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
6630 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6632 * cfg.cc (dump_edge_info): Dump goto_locus if present.
6634 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6636 PR rtl-optimization/104589
6637 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
6638 INSN_LOCATION comparison with goto_locus.
6640 2022-03-02 Jakub Jelinek <jakub@redhat.com>
6642 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
6643 strlen_pass::before_dom_children): Comment spelling fixes.
6645 2022-03-02 Jakub Jelinek <jakub@redhat.com>
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):
6665 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
6667 * ipa-modref-tree.h (enum modref_special_parms,
6668 struct modref_access_node): Likewise.
6670 2022-03-01 Jakub Jelinek <jakub@redhat.com>
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
6678 2022-03-01 Jakub Jelinek <jakub@redhat.com>
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.
6690 2022-03-01 Richard Biener <rguenther@suse.de>
6692 PR tree-optimization/104716
6693 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
6694 Check if we can copy the loop.
6696 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
6698 PR middle-end/104721
6699 * cfgexpand.cc (expand_gimple_basic_block): Clear
6700 currently_expanding_gimple_stmt when returning inside the loop.
6702 2022-03-01 Martin Liska <mliska@suse.cz>
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.
6710 2022-03-01 Martin Liska <mliska@suse.cz>
6712 PR gcov-profile/104677
6713 * doc/invoke.texi: Document more .gcda file name generation.
6715 2022-03-01 Tom de Vries <tdevries@suse.de>
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"):
6722 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
6723 Use nvptx_register_or_complex_di_df_register_operand.
6725 2022-03-01 Tom de Vries <tdevries@suse.de>
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.
6739 2022-03-01 Tom de Vries <tdevries@suse.de>
6741 * config/nvptx/gen-omp-device-properties.sh: New file.
6742 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
6744 2022-03-01 Tom de Vries <tdevries@suse.de>
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.
6752 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
6754 PR rtl-optimization/104154
6755 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
6756 comparison ifcvt passed us.
6758 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
6761 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
6762 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
6764 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
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.
6771 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
6772 Eric Botcazou <ebotcazou@adacore.com>
6775 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
6776 register, copy it to a pseudo before calling simplify_gen_subreg.
6778 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
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.
6784 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
6786 PR middle-end/104550
6787 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
6790 2022-02-28 Martin Liska <mliska@suse.cz>
6793 * main.cc (main): Use flag_checking instead of CHECKING_P
6794 and run toplev::finalize only if there is not error seen.
6796 2022-02-28 Richard Biener <rguenther@suse.de>
6798 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
6800 2022-02-28 Richard Biener <rguenther@suse.de>
6802 PR tree-optimization/104700
6803 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
6805 (find_or_generate_expression): ... here, simplifying code.
6807 2022-02-28 Tom de Vries <tdevries@suse.de>
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.
6815 2022-02-28 Richard Biener <rguenther@suse.de>
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.
6822 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
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.
6846 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6847 Marc Glisse <marc.glisse@inria.fr>
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.
6853 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6856 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
6858 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
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.
6867 2022-02-25 Richard Biener <rguenther@suse.de>
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.
6892 2022-02-25 Jakub Jelinek <jakub@redhat.com>
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.
6899 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6901 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
6903 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6905 PR middle-end/104679
6906 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
6908 2022-02-25 Jakub Jelinek <jakub@redhat.com>
6910 PR tree-optimization/104675
6911 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
6914 2022-02-25 Alexandre Oliva <oliva@adacore.com>
6918 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
6920 2022-02-25 Alexandre Oliva <oliva@adacore.com>
6922 PR middle-end/104540
6923 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
6926 2022-02-25 Alexandre Oliva <oliva@adacore.com>
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.
6934 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
6936 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
6937 of position independence that -mcmodel=medany affords.
6939 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
6942 * configure.ac: --disable-gcov if targetting bpf-*.
6943 * configure: Regenerate.
6945 2022-02-24 Richard Biener <rguenther@suse.de>
6947 PR tree-optimization/104676
6948 * tree-loop-distribution.cc (loop_distribution::execute):
6949 Do a full scev_reset.
6951 2022-02-24 Jakub Jelinek <jakub@redhat.com>
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
6958 2022-02-24 Tom de Vries <tdevries@suse.de>
6959 Tobias Burnus <tobias@codesourcery.com>
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.
6965 2022-02-24 Tom de Vries <tdevries@suse.de>
6967 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
6968 "rotrsi3"): New define_insn.
6970 2022-02-24 Tom de Vries <tdevries@suse.de>
6972 * config/nvptx/nvptx.cc (gen_comment): Use
6973 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
6975 2022-02-24 liuhongt <hongtao.liu@intel.com>
6977 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
6978 isa attr of alternative 2 from avx to avx512vl.
6980 2022-02-23 Richard Biener <rguenther@suse.de>
6981 Jakub Jelinek <jakub@redhat.com>
6983 PR tree-optimization/104644
6984 * doc/match-and-simplify.texi: Amend ! documentation.
6985 * genmatch.cc (expr::gen_transform): Code-generate ! support
6987 (parser::parse_expr): Allow ! for GENERIC.
6988 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
6991 2022-02-23 Richard Biener <rguenther@suse.de>
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.
7000 2022-02-23 Jakub Jelinek <jakub@redhat.com>
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.
7007 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
7010 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
7012 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
7016 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
7019 2022-02-23 Cui,Lili <lili.cui@intel.com>
7021 * doc/invoke.texi: Update documents for Intel architectures.
7023 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
7025 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
7028 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
7030 * omp-low.cc (omp_build_component_ref): Move function...
7031 * omp-general.cc (omp_build_component_ref): ... here. Remove
7033 * omp-general.h (omp_build_component_ref): Declare function.
7034 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
7036 (build_receiver_ref, build_sender_ref): Call
7037 'omp_build_component_ref' instead.
7039 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
7041 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
7042 simplify. Adjust all users.
7044 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
7047 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
7048 atomic_update_decl): Add GTY markup.
7050 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7052 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
7054 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7058 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
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.
7068 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7072 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
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.
7084 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
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.
7125 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7129 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
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.
7139 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
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.
7159 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
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
7170 (arm_mode_to_pred_mode): New.
7171 (arm_expand_vector_compare): Use the right VxBI mode instead of
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.
7192 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7193 Richard Sandiford <richard.sandiford@arm.com>
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
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.
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
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.
7230 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7232 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
7235 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
7237 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
7239 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
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.
7247 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
7248 Tom de Vries <tdevries@suse.de>
7250 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
7251 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
7253 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
7255 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
7256 Tom de Vries <tdevries@suse.de>
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.
7261 2022-02-22 Tom de Vries <tdevries@suse.de>
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.
7268 2022-02-22 Richard Biener <rguenther@suse.de>
7270 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
7273 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
7274 Richard Biener <rguenther@suse.de>
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.
7285 2022-02-22 Jakub Jelinek <jakub@redhat.com>
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.
7292 2022-02-22 Jakub Jelinek <jakub@redhat.com>
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.
7301 2022-02-22 Richard Biener <rguenther@suse.de>
7303 PR tree-optimization/104582
7305 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7306 Cost GPR to vector register moves for integer vector construction.
7308 2022-02-22 Richard Biener <rguenther@suse.de>
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):
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
7326 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
7328 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
7330 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
7332 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
7334 2022-02-22 Richard Biener <rguenther@suse.de>
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):
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.
7346 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
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
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.
7358 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
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
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.
7392 2022-02-21 Tom de Vries <tdevries@suse.de>
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.
7401 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
7403 PR rtl-optimization/104498
7404 * alias.cc (compare_base_symbol_refs): Correct distance computation
7405 when swapping x and y.
7407 2022-02-21 Andrew Pinski <apinski@marvell.com>
7410 * tree-ssa.cc (tree_ssa_useless_type_conversion):
7411 Check the inner type before calling useless_type_conversion_p.
7413 2022-02-19 Tom de Vries <tdevries@suse.de>
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.
7423 2022-02-19 Tom de Vries <tdevries@suse.de>
7425 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
7426 insns with atomic attribute. Assert that all handled insns are
7428 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
7429 Set atomic attribute to false.
7431 2022-02-19 Tom de Vries <tdevries@suse.de>
7433 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
7435 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
7436 nvptx_warpsync, if necessary.
7438 2022-02-19 Jakub Jelinek <jakub@redhat.com>
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
7447 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
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.
7461 2022-02-18 Jakub Jelinek <jakub@redhat.com>
7465 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
7466 rather than __posix_memalign.
7468 2022-02-18 Richard Biener <rguenther@suse.de>
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.
7476 2022-02-18 Richard Biener <rguenther@suse.de>
7478 PR tree-optimization/96881
7479 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
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.
7487 2022-02-17 Jason Merrill <jason@redhat.com>
7489 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
7490 on TYPE_MAIN_VARIANT.
7492 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
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.
7504 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
7507 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
7508 if the expected comparison's first operand is of mode MODE_CC.
7510 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
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.
7516 2022-02-17 liuhongt <hongtao.liu@intel.com>
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.
7526 2022-02-17 Jakub Jelinek <jakub@redhat.com>
7529 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
7530 if expr has VOIDmode.
7532 2022-02-17 liuhongt <hongtao.liu@intel.com>
7534 * config/i386/cpuid.h (bit_MPX): Removed.
7535 (bit_BNDREGS): Ditto.
7536 (bit_BNDCSR): Ditto.
7538 2022-02-17 Michael Meissner <meissner@the-meissners.org>
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
7546 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
7548 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
7549 range_compatible_p instead of direct type comparison.
7551 2022-02-16 Jakub Jelinek <jakub@redhat.com>
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
7558 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
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.
7566 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
7568 PR tree-optimization/104526
7569 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
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.
7576 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
7579 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
7581 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
7582 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
7584 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
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.
7600 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
7602 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
7605 2022-02-15 Richard Biener <rguenther@suse.de>
7607 PR tree-optimization/104543
7608 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
7609 come after the inner loop.
7611 2022-02-15 Jakub Jelinek <jakub@redhat.com>
7614 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
7615 cannot instead of can%'t in diagnostics. Formatting fixes.
7617 2022-02-15 Jakub Jelinek <jakub@redhat.com>
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
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
7631 2022-02-15 Richard Biener <rguenther@suse.de>
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.
7639 2022-02-15 Jakub Jelinek <jakub@redhat.com>
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.
7648 2022-02-14 Martin Sebor <msebor@redhat.com>
7650 PR middle-end/104355
7651 * doc/invoke.texi (-Warray-bounds): Update documentation.
7653 2022-02-14 Michael Meissner <meissner@the-meissners.org>
7656 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
7657 conversion functions used to convert IFmode types.
7659 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
7661 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
7663 2022-02-14 Richard Biener <rguenther@suse.de>
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
7673 2022-02-14 Richard Biener <rguenther@suse.de>
7675 PR tree-optimization/104511
7676 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
7677 touching DFP <-> FP conversions.
7679 2022-02-14 Richard Biener <rguenther@suse.de>
7681 PR middle-end/104497
7682 * gimplify.cc (gimplify_compound_lval): Make sure the
7683 base is a non-register if needed and possible.
7685 2022-02-13 liuhongt <hongtao.liu@intel.com>
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.
7692 2022-02-12 Jakub Jelinek <jakub@redhat.com>
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.
7699 2022-02-12 Jakub Jelinek <jakub@redhat.com>
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.
7705 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
7708 * config/i386/i386.cc (type_natural_mode):
7709 Skip decimal float vector modes.
7711 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
7712 Vladimir Makarov <vmakarov@redhat.com>
7715 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
7716 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
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.
7722 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7724 PR tree-optimization/104499
7725 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
7728 2022-02-11 Jakub Jelinek <jakub@redhat.com>
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
7740 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
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.
7747 2022-02-11 Jakub Jelinek <jakub@redhat.com>
7749 PR middle-end/104446
7750 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
7753 2022-02-11 Richard Biener <rguenther@suse.de>
7755 PR middle-end/104496
7756 * internal-fn.cc (vectorized_internal_fn_supported_p):
7757 Bail out for integer mode vector types.
7759 2022-02-11 Jakub Jelinek <jakub@redhat.com>
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.
7765 2022-02-11 liuhongt <hongtao.liu@intel.com>
7767 PR tree-optimization/104479
7768 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
7769 for the dest of uncond_op.
7771 2022-02-11 Tom de Vries <tdevries@suse.de>
7774 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
7777 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
7779 PR middle-end/100775
7780 * function.cc (gen_call_used_regs_seq): Call
7781 df_update_exit_block_uses when updating df.
7783 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
7786 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
7787 Change operand 1 constraint to register_operand.
7789 2022-02-10 Richard Biener <rguenther@suse.de>
7791 PR tree-optimization/104373
7792 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
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
7802 (execute_early_warn_uninitialized): Use VN to compute
7804 (pass_data_early_warn_uninitialized): Enable a dump file,
7805 change dump name to warn_uninit.
7807 2022-02-10 Richard Biener <rguenther@suse.de>
7809 PR middle-end/104467
7810 * match.pd (vector extract simplification): Multiply the
7811 number of CTOR elements with the number of element elements.
7813 2022-02-10 Richard Biener <rguenther@suse.de>
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.
7819 2022-02-10 Tom de Vries <tdevries@suse.de>
7821 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
7823 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
7825 (define_c_enum "unspecv"): Add UNSPECV_ST.
7827 2022-02-10 Tom de Vries <tdevries@suse.de>
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
7835 2022-02-10 Tom de Vries <tdevries@suse.de>
7838 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
7839 driver JIT bug by using sub.s16 instead of sub.u16.
7841 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
7843 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
7844 floating point constants as operands 1 and/or 2.
7846 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
7858 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
7870 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
7886 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
7900 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
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.
7908 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
7910 * doc/install.texi (Specific): Change the www.bitwizard.nl
7911 reference to use https.
7913 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
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.
7927 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
7929 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
7930 that will result in direct recursive calls.
7932 2022-02-10 Andrew Pinski <apinski@marvell.com>
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.
7939 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
7942 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
7943 Also include OPTION_MASK_ISA2_AVX2_UNSET.
7945 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
7948 * config/i386/i386-expand.cc (ix86_split_idivmod):
7949 Force operands[2] and operands[3] into a register..
7951 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
7954 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
7955 (*v850_fnmssf4): Renamed from fnmssf4
7957 2022-02-09 Ian Lance Taylor <iant@golang.org>
7959 * godump.cc (go_force_record_alignment): Really name the alignment
7960 field "_" (complete 2021-12-29 change).
7962 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
7964 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
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.
7976 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
7978 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
7980 (single_wx, single_type, single_dtype, dblq): New mode attributes.
7981 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
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.
7992 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
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.
8002 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8004 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
8006 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
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.
8017 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8019 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
8021 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
8022 (*aarch64_combine_internal_be<mode>): New patterns.
8024 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
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.
8030 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8032 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
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
8039 (aarch64_mergeable_load_pair_p): New function.
8041 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
8043 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
8044 element to be an aarch64_simd_nonimmediate_operand.
8046 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
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
8053 (@aarch64_combinez_be<mode>): Likewise.
8055 2022-02-09 Richard Biener <rguenther@suse.de>
8057 PR middle-end/104464
8058 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
8059 throwing check to after unproblematic replacement.
8061 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
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.
8067 2022-02-09 Jakub Jelinek <jakub@redhat.com>
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.
8075 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
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.
8100 2022-02-09 Richard Biener <rguenther@suse.de>
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.
8110 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
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
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
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.
8147 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
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
8155 2022-02-09 liuhongt <hongtao.liu@intel.com>
8158 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
8159 operands[2] from SImode to QImode.
8161 2022-02-09 Richard Biener <rguenther@suse.de>
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.
8168 2022-02-09 Richard Biener <rguenther@suse.de>
8171 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
8172 folding for NULL LHS.
8174 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
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.
8182 2022-02-08 Jakub Jelinek <jakub@redhat.com>
8185 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
8186 split1 pass has finished already.
8188 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
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.
8195 2022-02-08 Tom de Vries <tdevries@suse.de>
8197 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
8198 * config/nvptx/nvptx.h (TARGET_SM70): Define.
8200 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
8202 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
8204 * config/s390/s390.md: Use paradoxical subreg.
8206 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
8208 * combine.cc (reg_subword_p): Check for paradoxical subreg.
8210 2022-02-08 Tom de Vries <tdevries@suse.de>
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'.
8224 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
8226 * doc/install.texi (Configuration): Document `--with-isa-spec='
8228 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
8230 (RISC-V Options): Document it.
8232 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
8234 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
8236 2022-02-08 Tom de Vries <tdevries@suse.de>
8238 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
8240 2022-02-08 Tom de Vries <tdevries@suse.de>
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.
8256 2022-02-08 liuhongt <hongtao.liu@intel.com>
8258 PR rtl-optimization/104059
8259 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
8260 for a more expensive reg-reg move.
8262 2022-02-07 Tamar Christina <tamar.christina@arm.com>
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.
8271 2022-02-07 Tamar Christina <tamar.christina@arm.com>
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.
8281 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
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
8288 2022-02-07 Richard Biener <rguenther@suse.de>
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.
8296 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
8299 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
8300 hunk affecting VSX and ALTIVEC to appropriate place.
8302 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
8305 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
8308 2022-02-06 Jakub Jelinek <jakub@redhat.com>
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
8327 2022-02-05 Jakub Jelinek <jakub@redhat.com>
8329 PR tree-optimization/104389
8330 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
8333 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
8335 * configure.ac: Fix detection for zifencei support.
8336 * configure: Regenerate.
8338 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
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.
8345 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
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.
8359 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
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.
8366 2022-02-04 Jakub Jelinek <jakub@redhat.com>
8369 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
8370 adjust mangling of __builtin*printf_chk.
8372 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
8374 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
8376 2022-02-04 Richard Biener <rguenther@suse.de>
8377 Bin Cheng <bin.cheng@linux.alibaba.com>
8379 PR tree-optimization/100499
8380 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
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.
8390 2022-02-04 Richard Biener <rguenther@suse.de>
8392 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
8395 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
8398 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
8399 (dwarf2out_early_finish): Likewise.
8401 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
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.
8410 2022-02-04 Richard Biener <rguenther@suse.de>
8412 PR tree-optimization/103641
8413 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
8414 Pass the vector mode to choose_mult_variant.
8416 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
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.
8423 2022-02-04 Richard Biener <rguenther@suse.de>
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
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
8436 * tree-streamer-out.cc (streamer_write_tree_bitfields):
8438 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
8439 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
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.
8447 2022-02-04 Martin Sebor <msebor@redhat.com>
8449 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
8452 2022-02-03 Martin Sebor <msebor@redhat.com>
8454 PR middle-end/104260
8455 * passes.def (pass_warn_access): Adjust pass placement.
8457 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
8460 * config/i386/i386.cc (find_drap_reg): For 32bit targets
8461 return DI_REG if function uses __builtin_eh_return.
8463 2022-02-03 Martin Sebor <msebor@redhat.com>
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
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.
8479 2022-02-03 Martin Sebor <msebor@redhat.com>
8481 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
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):
8487 (array_bounds_checker::m_ptr_query): New member.
8489 2022-02-03 Martin Sebor <msebor@redhat.com>
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.
8503 2022-02-03 Martin Sebor <msebor@redhat.com>
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
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.
8525 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
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.
8533 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
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
8541 (VCLZLSBB_V4SI): Likewise.
8542 (VCLZLSBB_V8HI): Likewise.
8543 (VCTZLSBB_V16QI): Likewise.
8544 (VCTZLSBB_V4SI): Likewise.
8545 (VCTZLSBB_V8HI): Likewise.
8547 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8549 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
8550 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
8552 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
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
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.
8602 2022-02-03 Richard Biener <rguenther@suse.de>
8605 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
8606 together via DECL_ABSTRACT_ORIGIN.
8608 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
8610 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
8611 message for RES_BITS case.
8613 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
8615 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
8617 2022-02-03 Jakub Jelinek <jakub@redhat.com>
8619 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
8620 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
8622 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
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
8634 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
8636 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
8639 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
8641 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
8642 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
8645 2022-02-03 Martin Liska <mliska@suse.cz>
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):
8652 2022-02-03 Martin Liska <mliska@suse.cz>
8654 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
8655 Use the error message for i386 target.
8657 2022-02-03 Jakub Jelinek <jakub@redhat.com>
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.
8665 2022-02-03 Martin Sebor <msebor@redhat.com>
8667 * common.opt (-Wuse-after-free): Correct typos.
8669 2022-02-02 David Malcolm <dmalcolm@redhat.com>
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.
8676 2022-02-02 Martin Liska <mliska@suse.cz>
8678 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
8680 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
8683 * config/or1k/linux.h (CPP_SPEC): Define.
8685 2022-02-02 Tamar Christina <tamar.christina@arm.com>
8687 PR tree-optimization/102819
8688 PR tree-optimization/103169
8689 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
8692 2022-02-02 Tamar Christina <tamar.christina@arm.com>
8694 PR tree-optimization/102819
8695 PR tree-optimization/103169
8696 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
8698 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
8700 2022-02-02 Tamar Christina <tamar.christina@arm.com>
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
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
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.
8727 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
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).
8740 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8742 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
8743 extra cost for ALL_REGS.
8745 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8747 * config/cris/constraints.md (define_register_constraint "b"): Now
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.
8756 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
8758 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
8759 Conditionalize on (sub-)register operands or operand 1 being 0.
8761 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
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
8769 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
8771 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
8774 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
8776 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
8778 2022-02-01 Andrew Pinski <apinski@marvell.com>
8782 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
8784 * config/s390/s390.cc (s390_code_end): Do not switch back to
8787 2022-02-01 Jakub Jelinek <jakub@redhat.com>
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
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.
8804 2022-02-01 Jason Merrill <jason@redhat.com>
8806 * tree.h (struct tree_vec_map_cache_hasher): Move from...
8807 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
8809 2022-02-01 Tom de Vries <tdevries@suse.de>
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.
8816 2022-02-01 Tom de Vries <tdevries@suse.de>
8818 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
8819 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
8821 (define_insn "nvptx_warpsync"): New define_insn.
8823 2022-02-01 Tom de Vries <tdevries@suse.de>
8825 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
8827 2022-02-01 Tom de Vries <tdevries@suse.de>
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.
8834 2022-02-01 Tom de Vries <tdevries@suse.de>
8837 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
8840 2022-02-01 Tom de Vries <tdevries@suse.de>
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.
8849 2022-02-01 Tom de Vries <tdevries@suse.de>
8851 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
8852 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
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
8862 (define_expand "nvptx_membar_gl"): New expand.
8863 (define_insn "*nvptx_membar_gl"): New insn.
8865 2022-02-01 Martin Liska <mliska@suse.cz>
8867 * doc/install.texi: Remove option for GCC < 4.8.
8869 2022-02-01 Jakub Jelinek <jakub@redhat.com>
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.
8878 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
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.
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.
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.
9051 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
9053 PR rtl-optimization/101260
9054 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
9057 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
9060 * fold-const.cc (const_binop): Do not fold NaN result from
9063 2022-02-01 Tom de Vries <tdevries@suse.de>
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.
9070 2022-01-31 Andrew Pinski <apinski@marvell.com>
9072 * fold-const.h (operand_compare::operand_equal_p):
9073 Fix comment about OEP_* flags.
9075 2022-01-31 Jakub Jelinek <jakub@redhat.com>
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.
9083 2022-01-31 Martin Sebor <msebor@redhat.com>
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.
9090 2022-01-31 Richard Biener <rguenther@suse.de>
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.
9097 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
9100 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
9102 2022-01-31 Richard Biener <rguenther@suse.de>
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.
9112 2022-01-29 Jakub Jelinek <jakub@redhat.com>
9113 Andrew Pinski <apinski@marvell.com>
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.
9121 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
9123 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
9125 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
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.
9131 2022-01-28 Marek Polacek <polacek@redhat.com>
9133 * doc/invoke.texi: Update -Wbidi-chars documentation.
9135 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
9137 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
9139 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
9141 PR tree-optimization/95424
9142 * match.pd: Simplify 1 / X where X is an integer.
9144 2022-01-28 Jakub Jelinek <jakub@redhat.com>
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.
9152 2022-01-28 Martin Liska <mliska@suse.cz>
9154 * diagnostic.cc (diagnostic_action_after_output): Remove extra
9157 2022-01-28 Martin Liska <mliska@suse.cz>
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.
9165 2022-01-28 Richard Biener <rguenther@suse.de>
9167 PR tree-optimization/104267
9168 * tree-vect-stmts.cc (vectorizable_call): Properly use the
9169 per-argument determined vector type for externals and
9172 2022-01-28 Richard Biener <rguenther@suse.de>
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.
9179 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
9181 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
9184 2022-01-28 Jakub Jelinek <jakub@redhat.com>
9187 * cfgrtl.cc (loc_equal): New function.
9188 (unique_locus_on_edge_between_p): Use it.
9190 2022-01-28 Richard Biener <rguenther@suse.de>
9192 * cfganal.h (mark_dfs_back_edges): Provide API with struct
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
9202 2022-01-27 Patrick Palka <ppalka@redhat.com>
9205 * tree.cc (build_call_vec): Add const to second parameter.
9206 * tree.h (build_call_vec): Likewise.
9208 2022-01-27 Martin Liska <mliska@suse.cz>
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.
9220 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
9223 * config/rs6000/rs6000.cc
9224 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
9225 assertion with early return.
9227 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
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.
9233 2022-01-27 Jakub Jelinek <jakub@redhat.com>
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
9245 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
9246 corresponding condition even if they have non-NULL ops[]->op.
9249 2022-01-26 Jakub Jelinek <jakub@redhat.com>
9252 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
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.
9258 2022-01-26 Jakub Jelinek <jakub@redhat.com>
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.
9265 2022-01-26 Jakub Jelinek <jakub@redhat.com>
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.
9273 2022-01-26 Marek Polacek <polacek@redhat.com>
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.
9279 2022-01-26 Martin Liska <mliska@suse.cz>
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.
9289 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
9292 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
9295 2022-01-25 Martin Sebor <msebor@redhat.com>
9297 PR tree-optimization/104203
9298 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
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.
9307 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
9309 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
9311 2022-01-25 Richard Biener <rguenther@suse.de>
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.
9319 2022-01-25 Jakub Jelinek <jakub@redhat.com>
9322 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
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.
9333 2022-01-24 Martin Sebor <msebor@redhat.com>
9335 * pointer-query.cc (pointer_query::dump): Remove duplicate
9338 2022-01-24 Marek Polacek <polacek@redhat.com>
9340 PR preprocessor/104030
9341 * doc/invoke.texi: Update documentation for -Wbidi-chars.
9343 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
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
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.
9362 2022-01-24 Richard Biener <rguenther@suse.de>
9363 Jiufu Guo <guojiufu@linux.ibm.com>
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.
9373 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9376 * opt-functions.awk (var_set): Handle EnumBitSet property.
9377 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
9379 * opts.h (enum cl_enum_var_value): New type.
9380 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
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
9387 (trace-pc, trace-cmp): Drop Set properties.
9389 2022-01-24 Jakub Jelinek <jakub@redhat.com>
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_.
9400 2022-01-24 Jakub Jelinek <jakub@redhat.com>
9403 * opt-functions.awk (var_set): Handle EnumSet property.
9404 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
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.
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
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.
9429 2022-01-24 Jakub Jelinek <jakub@redhat.com>
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).
9457 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
9459 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
9460 Skip zicsr and zifencei if I-ext is 2.0.
9462 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
9464 * config.gcc: Modify default isa_spec version.
9466 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
9468 PR tree-optimization/102087
9469 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
9470 Correct PLUS result type.
9472 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
9475 * config/i386/predicates.md (bcst_mem_operand): Also check mode
9476 of memory broadcast.
9478 2022-01-23 Andrew Pinski <apinski@marvell.com>
9481 * config/aarch64/aarch64-builtins.cc
9482 (aarch64_general_gimple_fold_builtin): Handle
9483 __builtin_aarch64_sqrt* and simplify into SQRT internal
9486 2022-01-22 Jakub Jelinek <jakub@redhat.com>
9489 * opts-global.cc (handle_common_deferred_options): Quote
9490 --enable-plugin in diagnostics to avoid -Werror=format-diag.
9492 2022-01-21 Michael Meissner <meissner@the-meissners.org>
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.
9508 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
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.
9517 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
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.
9524 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
9526 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
9527 vector float and vector double.
9529 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
9531 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
9532 Fix mention of ifunc in string.
9534 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
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
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).
9550 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
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
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
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
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.
9597 2022-01-21 Martin Liska <mliska@suse.cz>
9599 * configure.ac: Detect ld_is_mold and use it for
9600 comdat_group=yes and gcc_cv_ld_hidden=yes.
9601 * configure: Regenerate.
9603 2022-01-21 Richard Biener <rguenther@suse.de>
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.
9610 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
9612 * config/arm/arm-opts.h (enum stack_protector_guard): New.
9613 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
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.
9630 2022-01-21 Richard Biener <rguenther@suse.de>
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
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.
9642 2022-01-21 Richard Biener <rguenther@suse.de>
9644 PR tree-optimization/104152
9645 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
9646 can_duplicate_and_interleave_p check.
9648 2022-01-21 Jakub Jelinek <jakub@redhat.com>
9650 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
9651 Avoid passing var to warning_at when the format string doesn't
9654 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
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):
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
9673 (path_oracle::reset_path): Clear m_registered bitmap.
9674 * value-relation.h (path_oracle::set_root_oracle): New.
9676 2022-01-21 Jakub Jelinek <jakub@redhat.com>
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
9683 2022-01-20 Richard Biener <rguenther@suse.de>
9685 PR middle-end/100786
9686 * gimple-fold.cc (get_symbol_constant_value): Only return
9687 values of compatible type to the symbol.
9689 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
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.
9698 2022-01-20 Richard Biener <rguenther@suse.de>
9701 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
9702 LHS before folding __builtin_ia32_shufpd and friends.
9704 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
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.
9711 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9713 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
9715 (aarch32_crypto_aese_fused_protected): Likewise.
9716 (aarch32_crypto_aesd_fused_protected): Likewise.
9718 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
9720 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
9721 to define_expand. Add mitigation for the Cortex-A AES erratum
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.
9728 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
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
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.
9741 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
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.
9756 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
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.
9766 2022-01-20 Martin Liska <mliska@suse.cz>
9769 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
9770 * rtl.cc: Partially disable -Wformat-diag for RTL checking
9773 2022-01-20 Jakub Jelinek <jakub@redhat.com>
9776 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
9777 block_num > 0, index entry even if !have_multiple_function_sections.
9779 2022-01-20 liuhongt <hongtao.liu@intel.com>
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.
9787 2022-01-20 Richard Biener <rguenther@suse.de>
9789 PR tree-optimization/104114
9790 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
9791 single element vector decomposition.
9793 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
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.
9799 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
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
9805 (noce_convert_multiple_sets): Create two sequences and use the less
9808 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9810 * rtl.h (struct rtx_comparison): New struct that holds an rtx
9812 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
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
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.
9827 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9829 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
9830 (noce_process_if_block): Use potential costs.
9832 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9834 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
9835 (bb_ok_for_noce_convert_multiple_sets): Likewise.
9837 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
9839 * ifcvt.cc (need_cmov_or_rewire): New function.
9840 (noce_convert_multiple_sets): Call it.
9842 2022-01-19 David Malcolm <dmalcolm@redhat.com>
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.
10035 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
10037 PR tree-optimization/103997
10038 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
10041 2022-01-19 Jakub Jelinek <jakub@redhat.com>
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.
10049 2022-01-19 Richard Biener <rguenther@suse.de>
10051 PR tree-optimization/104112
10052 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
10053 for required intermediate vector types.
10055 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10057 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
10059 2022-01-19 Martin Liska <mliska@suse.cz>
10061 * configure.ac: Remove -Wno-error=format-diag.
10062 * configure: Regenerate.
10064 2022-01-19 Martin Liska <mliska@suse.cz>
10066 * config/riscv/riscv.cc (riscv_handle_type_attribute):
10067 Update one -Wformat-diag string in warning message.
10069 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10071 PR middle-end/104103
10072 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
10075 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10078 * fold-const.cc (address_compare): Consider different STRING_CSTs
10079 with the same lengths that memcmp the same as equal, not different.
10081 2022-01-19 Jakub Jelinek <jakub@redhat.com>
10083 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
10086 2022-01-19 Martin Liska <mliska@suse.cz>
10087 Thomas Schwinge <thomas@codesourcery.com>
10089 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
10092 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
10095 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
10098 2022-01-19 Jakub Jelinek <jakub@redhat.com>
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}.
10112 2022-01-19 Martin Sebor <msebor@redhat.com>
10114 PR middle-end/104069
10115 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
10116 an unknown result as documented.
10118 2022-01-18 Andrew Pinski <apinski@marvell.com>
10120 * ipa-split.cc (visit_bb): Fix comment before the
10121 warning/error attribute checking code.
10123 2022-01-18 David Faust <david.faust@oracle.com>
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.
10130 2022-01-18 David Faust <david.faust@oracle.com>
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
10138 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
10140 * common/config/riscv/riscv-common.cc
10141 (riscv_subset_list::parse_multiletter_ext): Move pointer
10142 arithmetic ahead of `free'.
10144 2022-01-18 Jason Merrill <jason@redhat.com>
10147 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
10150 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
10152 PR middle-end/103163
10153 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
10154 (init_emit_once): ...not here.
10156 2022-01-18 Martin Liska <mliska@suse.cz>
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.
10193 2022-01-18 Martin Liska <mliska@suse.cz>
10195 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
10197 (vms_pragma_standard): Likewise.
10198 (vms_pragma_extern_prefix): Likewise.
10200 2022-01-18 Martin Liska <mliska@suse.cz>
10202 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
10203 (print_operand_address): Likewise.
10204 (xtensa_multibss_section_type_flags): Likewise.
10206 2022-01-18 Martin Liska <mliska@suse.cz>
10208 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
10209 wording of an error message.
10211 2022-01-18 Martin Liska <mliska@suse.cz>
10213 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
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.
10224 2022-01-18 Martin Liska <mliska@suse.cz>
10226 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
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.
10233 2022-01-18 Martin Liska <mliska@suse.cz>
10235 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
10237 * config/nvptx/nvptx.md: Remove trailing dot.
10239 2022-01-18 Martin Liska <mliska@suse.cz>
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.
10248 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
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.
10268 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
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.
10279 2022-01-18 Richard Biener <rguenther@suse.de>
10282 * ipa-inline.cc (inline_small_functions): Do not enqueue call
10283 edges originating in functions compiled with -Og.
10285 2022-01-18 Richard Biener <rguenther@suse.de>
10288 * passes.def (pass_all_optimizations_g): Remove pass_modref
10289 and pass_local_pure_const.
10291 2022-01-18 Martin Liska <mliska@suse.cz>
10293 * config/s390/s390.cc: Fix -Wformat-diag warnings.
10295 2022-01-18 Martin Liska <mliska@suse.cz>
10297 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
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.
10306 2022-01-18 Martin Liska <mliska@suse.cz>
10308 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
10309 keywords and use %qs instead of %<%s%>.
10311 2022-01-18 Richard Biener <rguenther@suse.de>
10313 PR tree-optimization/103987
10314 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
10315 query with a pointer check.
10317 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
10320 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
10321 When using MEM_EXPR, require the base to be a decl.
10323 2022-01-18 Richard Biener <rguenther@suse.de>
10325 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
10327 * function.h (struct function): Likewise.
10329 2022-01-18 Arnaud Charlet <charlet@adacore.com>
10331 * doc/install.texi: Update prerequisites for GNAT
10333 2022-01-18 Andrew Pinski <apinski@marvell.com>
10335 PR tree-optimization/101941
10336 * ipa-split.cc (visit_bb): Disallow function calls where
10337 the function has either error or warning attribute.
10339 2022-01-18 Richard Biener <rguenther@suse.de>
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.
10346 2022-01-17 Martin Liska <mliska@suse.cz>
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.
10359 2022-01-17 Martin Liska <mliska@suse.cz>
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.
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.
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.
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.
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.
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.
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.
11357 2022-01-17 Martin Liska <mliska@suse.cz>
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...
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...
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...
11947 * ddg.c: Moved to...
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...
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...
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...
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...
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...
12287 * jump.c: Moved to...
12288 * jump.cc: ...here.
12289 * langhooks.c: Moved to...
12290 * langhooks.cc: ...here.
12291 * lcm.c: Moved to...
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...
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...
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...
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...
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...
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...
12723 * xcoffout.c: Moved to...
12724 * xcoffout.cc: ...here.
12726 2022-01-17 qing zhao <qing.zhao@oracle.com>
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
12732 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
12733 (warn_uninitialized_vars): Likewise.
12734 (warn_uninitialized_phi): Likewise.
12736 2022-01-17 Jason Merrill <jason@redhat.com>
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.
12744 2022-01-17 Richard Biener <rguenther@suse.de>
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.
12751 2022-01-17 Jakub Jelinek <jakub@redhat.com>
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.
12769 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
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.
12776 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
12779 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
12781 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
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>):
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>):
12796 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
12797 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
12799 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
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
12810 2022-01-15 Martin Sebor <msebor@redhat.com>
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.
12846 2022-01-15 Martin Sebor <msebor@redhat.com>
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.
12869 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
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.
12878 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
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.
12889 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
12891 PR middle-end/104026
12892 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
12893 partial_load_store_bias.
12895 2022-01-14 Martin Sebor <msebor@redhat.com>
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.
12901 2022-01-14 Martin Liska <mliska@suse.cz>
12903 * configure: Regenerate.
12905 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
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.
12918 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
12920 PR tree-optimization/104015
12921 * tree-vect-loop.c (vect_analyze_loop): Check
12922 param_vect_partial_vector_usage for supports_partial_vectors.
12924 2022-01-14 Jakub Jelinek <jakub@redhat.com>
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.
12931 2022-01-14 Jakub Jelinek <jakub@redhat.com>
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).
12939 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
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.
12946 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
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.
12953 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
12954 Uroš Bizjak <ubizjak@gmail.com>
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.
12963 2022-01-14 Martin Liska <mliska@suse.cz>
12965 * common/config/arm/arm-common.c (arm_target_mode): Fix
12966 warning: unterminated quoting directive [-Wformat=].
12968 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
12970 PR tree-optimization/104009
12971 * tree-object-size.c (compute_builtin_object_size): Bail out on
12973 (plus_stmt_object_size): Return maximum of wholesize and minimum
12974 of 0 for negative offset.
12976 2022-01-14 liuhongt <hongtao.liu@intel.com>
12981 * config/i386/i386.md (*xor2andn): Refine predicate of
12982 operands[0] from nonimmediate_operand to
12983 register_operand, remove TARGET_AVX512BW from condition.
12985 2022-01-14 David Malcolm <dmalcolm@redhat.com>
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.
12991 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
12992 Jason Merrill <jason@redhat.com>
12995 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
12997 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
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.
13005 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
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.
13024 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
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.
13031 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
13033 PR tree-optimization/96707
13034 * range-op.cc (operator_rshift::lhs_op1_relation): New.
13036 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
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.
13048 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
13051 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
13053 2022-01-13 Martin Liska <mliska@suse.cz>
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.
13067 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
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
13079 2022-01-13 Jakub Jelinek <jakub@redhat.com>
13081 PR tree-optimization/103989
13082 * tree-inline.c (setup_one_parameter): Don't copy parms with
13085 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
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.
13092 2022-01-13 Julian Brown <julian@codesourcery.com>
13093 Thomas Schwinge <thomas@codesourcery.com>
13095 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
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.
13101 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
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.
13107 2022-01-13 Martin Liska <mliska@suse.cz>
13109 * config/epiphany/epiphany.c (epiphany_mode_priority):
13110 Use gcc_unreachable for not handled cases.
13112 2022-01-13 Martin Liska <mliska@suse.cz>
13114 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
13115 Use %qs format specifier.
13116 (epiphany_override_options): Wrap keyword in %<, %>.
13118 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
13121 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
13123 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
13125 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
13127 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
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.
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.
13157 2022-01-12 Clément Chigot <clement.chigot@atos.net>
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.
13167 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
13169 PR tree-optimization/103551
13170 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
13172 2022-01-12 Richard Biener <rguenther@suse.de>
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.
13180 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
13182 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
13183 does not add autovectorize_vector_modes.
13185 2022-01-12 Martin Liska <mliska@suse.cz>
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.
13198 2022-01-12 Martin Liska <mliska@suse.cz>
13200 * config.gcc: Include elfos.h before ${tm_file}.
13202 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
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.
13210 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
13212 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
13215 2022-01-11 qing zhao <qing.zhao@oracle.com>
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
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.
13230 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
13232 * flag-types.h (enum gfc_convert): Add flags for
13235 2022-01-11 Michael Meissner <meissner@the-meissners.org>
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.
13241 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
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.
13249 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
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.
13263 2022-01-11 Jakub Jelinek <jakub@redhat.com>
13266 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
13268 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
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
13283 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
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.
13291 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
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.
13298 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
13300 PR middle-end/70090
13301 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
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
13307 (object_sizes_get): Return suitable gimple variable for
13309 (bundle_sizes): New function.
13310 (object_sizes_set): Use it and handle dynamic object size
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):
13316 (compute_builtin_object_size): Call gimplify_size_expressions
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.
13324 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
13325 Jakub Jelinek <jakub@redhat.com>
13327 PR tree-optimization/103961
13328 * tree-object-size.c (plus_stmt_object_size): Always avoid
13329 computing offset for -1 size.
13331 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
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.
13337 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
13339 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
13340 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
13342 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
13343 Richard Biener <rguenther@suse.de>
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.
13354 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
13357 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
13359 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
13361 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
13363 2022-01-11 Olivier Hainque <hainque@adacore.com>
13365 * gcc.c (driver_handle_option): State --sysroot as
13368 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
13370 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
13371 useless related to option -mno-power10.
13373 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
13376 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
13377 operands[1] from register_operand to vector_operand.
13379 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
13382 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
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.
13393 2022-01-10 Richard Biener <rguenther@suse.de>
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.
13400 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
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.
13407 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
13409 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
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.
13415 2022-01-10 Jakub Jelinek <jakub@redhat.com>
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.
13426 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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.
13439 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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.
13453 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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
13470 (move_spill_restore): Adjust for the new behavior of
13471 propagate_allocno_info.
13473 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
13475 PR rtl-optimization/98782
13476 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
13478 * ira-color.c (color_pass): ...here.
13480 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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.
13486 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
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):
13492 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
13493 (color_pass): Likewise.
13494 (move_spill_restore): Likewise.
13496 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
13499 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
13501 2022-01-10 Richard Biener <rguenther@suse.de>
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.
13507 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
13509 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
13510 special case for TImode to V1TImode moves, going via V2DImode.
13512 2022-01-08 Jakub Jelinek <jakub@redhat.com>
13515 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
13518 2022-01-08 David Malcolm <dmalcolm@redhat.com>
13520 * doc/analyzer.texi
13521 (Special Functions for Debugging the Analyzer): Document
13522 __analyzer_dump_escaped.
13524 2022-01-08 David Malcolm <dmalcolm@redhat.com>
13526 * doc/analyzer.texi (Other Debugging Techniques): Document
13527 region::is_named_decl_p.
13529 2022-01-07 Andrew Pinski <apinski@marvell.com>
13532 * config/arm/aarch-common.c (arm_md_asm_adjust):
13533 Use a temp if !REG_P.
13535 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
13537 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
13538 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
13540 2022-01-07 liuhongt <hongtao.liu@intel.com>
13542 PR rtl-optimization/103750
13543 * fwprop.c (forward_propagate_into): Allow propagations from
13544 inner loop to outer loop.
13546 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
13548 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
13550 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
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.
13556 2022-01-07 liuhongt <hongtao.liu@intel.com>
13558 * config/i386/sse.md
13559 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
13560 UNSPEC_PCMP_UNSIGNED.
13562 2022-01-07 liuhongt <hongtao.liu@intel.com>
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.
13577 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
13580 * config/i386/i386.c (ix86_output_indirect_function_return):
13581 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
13583 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
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):
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
13598 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
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.
13610 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
13612 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
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.
13648 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
13650 * common/config/riscv/riscv-common.c
13651 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
13654 2022-01-06 Jakub Jelinek <jakub@redhat.com>
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.
13661 2022-01-06 Jakub Jelinek <jakub@redhat.com>
13663 PR rtl-optimization/103908
13664 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
13667 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
13670 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
13671 Skip over instances with undefined function types.
13673 2022-01-05 Andrew Pinski <apinski@marvell.com>
13676 * config/i386/i386.h (x86_mfence): Mark with GTY.
13678 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
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.
13691 2022-01-05 Martin Sebor <msebor@redhat.com>
13693 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
13694 %qs to avoid -Wformat-diag.
13696 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
13699 * config/i386/mmx.md (one_cmplv2qi2): Change
13700 alternatives 1,2 type from sselog to sselog1.
13702 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
13705 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
13706 narrow mode remapped elements for !one_operand_p case.
13708 2022-01-05 Richard Biener <rguenther@suse.de>
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.
13714 2022-01-05 Jakub Jelinek <jakub@redhat.com>
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.
13721 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
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
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.
13750 2022-01-04 Martin Sebor <msebor@redhat.com>
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
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.
13771 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
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.
13781 2022-01-04 Richard Biener <rguenther@suse.de>
13783 PR tree-optimization/103800
13784 * tree-vect-loop.c (vectorizable_phi): Remove assert and
13787 2022-01-04 Richard Biener <rguenther@suse.de>
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
13796 (fini_pre): .. here.
13798 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
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.
13811 2022-01-04 Olivier Hainque <hainque@adacore.com>
13813 * gcc.c (driver_handle_option): do_save --sysroot.
13815 2022-01-04 Richard Biener <rguenther@suse.de>
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.
13823 2022-01-04 Jakub Jelinek <jakub@redhat.com>
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.
13829 2022-01-04 Cui,Lili <lili.cui@intel.com>
13831 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
13832 to Alderlake and Rocketlake.
13834 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
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'
13840 2022-01-04 liuhongt <hongtao.liu@intel.com>
13843 * config/i386/sse.md (*bit_and_float_vector_all_ones):
13844 Force_reg operand 1 to avoid ICE.
13846 2022-01-04 Jason Merrill <jason@redhat.com>
13848 * tree-pretty-print.c (do_niy): Add spc parameter.
13850 (print_call_name): Add spc local variable.
13852 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
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.
13863 2022-01-03 Andrew Pinski <apinski@marvell.com>
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.
13871 2022-01-03 Jakub Jelinek <jakub@redhat.com>
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):
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
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
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.
13908 2022-01-03 Richard Biener <rguenther@suse.de>
13910 PR middle-end/103851
13911 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
13913 2022-01-03 Jakub Jelinek <jakub@redhat.com>
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.
13920 2022-01-03 Martin Liska <mliska@suse.cz>
13922 * doc/extend.texi: Use ; for function declarations.
13924 2022-01-03 Jakub Jelinek <jakub@redhat.com>
13927 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
13928 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
13930 2022-01-03 Jakub Jelinek <jakub@redhat.com>
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.
13945 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
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.
13962 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
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.
13970 Copyright (C) 2022 Free Software Foundation, Inc.
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.