RISC-V: Add RISC-V into vect_cmdline_needed
[official-gcc.git] / gcc / ChangeLog-2022
blob248b5dea178a45a071c45095ee9eba7b8e589db9
1 2022-12-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2             Iain Sandoe  <iain@sandoe.co.uk>
4         PR modula2/107612
5         * Makefile.in: Make the configured libintl includes avaiable in INCINTL.
6         (BUILD_CPPFLAGS): Use INCINTL.
8 2022-12-30  Alexandre Oliva  <oliva@adacore.com>
10         * hash-table.h (check_complete_insertion, check_insert_slot):
11         New hash_table methods.
12         (m_inserting_slot): New hash_table field.
13         (begin, hash_table ctors, ~hash_table): Check previous insert.
14         (expand, empty_slow, clear_slot, find_with_hash): Likewise.
15         (remote_elt_with_hash, traverse_noresize): Likewise.
16         (gt_pch_nx): Likewise.
17         (find_slot_with_hash): Likewise.  Record requested insert.
19 2022-12-30  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
21         PR target/107714
22         * config/arm/arm-protos.h (mve_struct_mem_operand): New protoype.
23         * config/arm/arm.cc (mve_struct_mem_operand): New function.
24         * config/arm/constraints.md (Ug): New constraint.
25         * config/arm/mve.md (mve_vst4q<mode>): Change constraint.
26         (mve_vst2q<mode>): Likewise.
27         (mve_vld4q<mode>): Likewise.
28         (mve_vld2q<mode>): Likewise.
29         * config/arm/predicates.md (mve_struct_operand): New predicate.
31 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
33         * hash-map.h (put, get_or_insert): Check that added entry
34         doesn't look deleted either.
35         * hash-set.h (add): Likewise.
37 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
39         * tree-parloops.cc (take_address_of): Skip INSERT if !gsi.
41 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
43         * hash-map.h (put, get_or_insert): Check that entry does not
44         look empty after insertion.
46 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
48         * hash-set.h (add): Check that the inserted entry does not
49         look empty.
51 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
53         * trans-mem.cc (split_bb_make_tm_edge): Record new node in
54         tm_restart.
56 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
58         * postreload-gcse.cc (lookup_expr_in_table): Use NO_INSERT.
60 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
62         * tree-inline.cc (declare_return_variable): Don't remap NULL
63         default def of result.
65 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
67         * tree-ssa-loop-niter.cc (expand_simple_operands): Refrain
68         from caching NULL TREE_OPERANDs.
70 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
72         * tree-inline.cc (insert_decl_map): Skip mapping a NULL decl
73         as value to itself.
75 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
77         * varpool.cc (symbol_table::remove_unreferenced_decls): Do not
78         add NULL vnodes to referenced table.
80 2022-12-29  Alexandre Oliva  <oliva@adacore.com>
82         * tree-ssa-scopedtables.cc
83         (avail_exprs_stack::lookup_avail_expr): Finish hash table
84         insertion before further lookups.
86 2022-12-29  Max Filippov  <jcmvbkbc@gmail.com>
88         * config/xtensa/xtensa.cc (xtensa_return_in_memory): Use
89         GP_RETURN_* instead of magic constant.
91 2022-12-29  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
93         * config/xtensa/xtensa.cc (xtensa_expand_prologue): Fix to check
94         DF availability before use of DF_* macros.
96 2022-12-28  Roger Sayle  <roger@nextmovesoftware.com>
98         * config/i386/i386.md (*clzsi2_lzcnt_zext_2): define_insn_and_split
99         to match ZERO_EXTEND form of *clzsi2_lzcnt_zext.
100         (*clzsi2_lzcnt_zext_2_falsedep): Likewise, new define_insn to match
101         ZERO_EXTEND form of *clzsi2_lzcnt_zext_falsedep.
102         (*bmi2_bzhi_zero_extendsidi_5): Likewise, new define_insn to match
103         ZERO_EXTEND form of *bmi2_bzhi_zero_extendsidi.
104         (*popcountsi2_zext_2): Likewise, new define_insn_and_split to match
105         ZERO_EXTEND form of *popcountsi2_zext.
106         (*popcountsi2_zext_2_falsedep): Likewise, new define_insn to match
107         ZERO_EXTEND form of *popcountsi2_zext_falsedep.
108         (*popcounthi2_2): Likewise, new define_insn_and_split to match
109         ZERO_EXTEND form of *popcounthi2.
110         (define_peephole2): ZERO_EXTEND variant of HImode popcount&1 using
111         parity flag peephole2.
113 2022-12-28  Roger Sayle  <roger@nextmovesoftware.com>
115         * config/i386/i386-expand.cc (ix86_split_ashl): Call
116         ix86_expand_clear to generate an xor instruction.
118 2022-12-28  Martin Liska  <mliska@suse.cz>
120         PR tree-optimization/108137
121         * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything
122         different from INTEGER_CST.
124 2022-12-28  Kito Cheng  <kito.cheng@sifive.com>
126         * config/riscv/riscv-vsetvl.h (vl_vtype_info::get_avl_info):
127         Return const reference rather than value.
129 2022-12-27  Jeff Law  <jlaw@ventanamicro.com>
131         * config/riscv/riscv.md: Add missing modes to last patch.t
133 2022-12-27  Raphael Moreira Zinsly  <rzinsly@ventanamicro.com>
135         PR target/95632
136         PR target/106602
137         * config/riscv/riscv.md: New pattern to simulate complex
138         const_int loads.
140 2022-12-27  Christoph Müllner  <christoph.muellner@vrull.eu>
142         * config/riscv/riscv.cc (riscv_next_saved_reg): New function.
143         (riscv_is_eh_return_data_register): New function.
144         (riscv_for_each_saved_reg): Restructure loop.
146 2022-12-27  Christoph Müllner  <christoph.muellner@vrull.eu>
148         * config/riscv/riscv.md: Sync comments with code.
150 2022-12-27  jinma  <jinma@linux.alibaba.com>
152         * common/config/riscv/riscv-common.cc:
154 2022-12-27  Jonathan Yong  <10walls@gmail.com>
156         * configure.ac: use grep -i for case insensitive test.
157         * configure: Regenerate.
159 2022-12-27  Max Filippov  <jcmvbkbc@gmail.com>
161         * config/xtensa/xtensa.md (unspec): Extract UNSPEC_* constants
162         into this enum.
163         (unspecv): Extract UNSPECV_* constants into this enum.
165 2022-12-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
167         * config/xtensa/xtensa.md (set_frame_ptr): Fix to reflect
168         TARGET_DENSITY.
170 2022-12-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
172         * config/xtensa/xtensa.h (GP_RETURN, GP_RETURN_REG_COUNT):
173         Change to GP_RETURN_FIRST and GP_RETURN_LAST, respectively.
174         * config/xtensa/xtensa.cc (xtensa_function_value,
175         xtensa_libcall_value, xtensa_function_value_regno_p): Ditto.
177 2022-12-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
179         * config/xtensa/xtensa.cc (xtensa_expand_prologue): Modify to
180         exit the inspection loops as soon as the necessity of stack
181         pointer is found.
183 2022-12-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
185         * config/xtensa/elf.h: Tabify, and trim trailing spaces.
186         * config/xtensa/linux.h: Likewise.
187         * config/xtensa/uclinux.h: Likewise.
188         * config/xtensa/xtensa-dynconfig.c: Likewise.
189         * config/xtensa/xtensa.cc: Likewise.
190         * config/xtensa/xtensa.h: Likewise.
191         * config/xtensa/xtensa.md: Likewise.
193 2022-12-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
195         * config/riscv/riscv-vsetvl.cc
196         (pass_vsetvl::compute_global_backward_infos): Change to visit CFG.
197         (pass_vsetvl::prune_expressions): Ditto.
199 2022-12-27  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
201         * config/riscv/riscv-vsetvl.cc (change_insn): Remove pp_print.
202         (avl_info::avl_info): Add copy function.
203         (vector_insn_info::dump): Remove pp_print.
204         * config/riscv/riscv-vsetvl.h: Add copy function.
206 2022-12-27  Kewen Lin  <linkw@linux.ibm.com>
208         PR target/106680
209         * common/config/rs6000/rs6000-common.cc (rs6000_handle_option): Remove
210         the adjustment for option powerpc64 in -m64 handling, and remove the
211         whole -m32 handling.
212         * config/rs6000/rs6000.cc (rs6000_option_override_internal): When no
213         explicit powerpc64 option is provided, enable it for -m64.  For 32 bit
214         and OS_MISSING_POWERPC64, disable powerpc64 if it's enabled but not
215         specified explicitly.
217 2022-12-26  liuhongt  <hongtao.liu@intel.com>
219         PR target/55522
220         PR target/36821
221         * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC):
222         Link crtfastmath.o whenever -mdaz-ftz is specified. Don't link
223         crtfastmath.o when -share or -mno-daz-ftz is specified.
224         * config/i386/i386.opt (mdaz-ftz): New option.
225         * doc/invoke.texi (x86 options): Document mftz-daz.
227 2022-12-25  Roger Sayle  <roger@nextmovesoftware.com>
228             Uroš Bizjak  <ubizjak@gmail.com>
230         * config/i386/i386-builtin.def (__builtin_ia32_movss): Update
231         CODE_FOR_sse_movss to CODE_FOR_sse_movss_v4sf.
232         (__builtin_ia32_movsd): Likewise, update CODE_FOR_sse2_movsd to
233         CODE_FOR_sse2_movsd_v2df.
234         * config/i386/i386-expand.cc (split_convert_uns_si_sse): Update
235         gen_sse_movss call to gen_sse_movss_v4sf, and gen_sse2_movsd call
236         to gen_sse2_movsd_v2df.
237         (expand_vec_perm_movs): Also allow V4SImode with TARGET_SSE and
238         V2DImode with TARGET_SSE2.
239         * config/i386/sse.md
240         (avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>): Update
241         gen_sse_movss call to gen_sse_movss_v4sf.
242         (avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>): Likewise.
243         (sse_movss_<mode>): Renamed from sse_movss using VI4F_128 mode
244         iterator to handle both V4SF and V4SI.
245         (sse2_movsd_<mode>): Likewise, renamed from sse2_movsd using
246         VI8F_128 mode iterator to handle both V2DF and V2DI.
248 2022-12-23  Jakub Jelinek  <jakub@redhat.com>
249             Aldy Hernandez  <aldyh@redhat.com>
251         * tree-ssa-phiopt.cc (value_replacement): Instead of resetting
252         phires range info, union it with carg.
254 2022-12-23  Jakub Jelinek  <jakub@redhat.com>
256         PR tree-optimization/108068
257         * tree.h (real_maybe_zerop): Declare.
258         * tree.cc (real_maybe_zerop): Define.
259         * tree-ssa-dom.cc (record_edge_info): Use it instead of
260         real_zerop or TREE_CODE (op1) == SSA_NAME || real_zerop.  Always set
261         can_infer_simple_equiv to false for decimal floating point types.
263 2022-12-23  Roger Sayle  <roger@nextmovesoftware.com>
265         PR target/107548
266         * config/i386/i386-features.cc (scalar_chain::add_insn): The
267         operands of a VEC_SELECT don't need to added to the scalar chain.
268         (general_scalar_chain::compute_convert_gain) <case VEC_SELECT>:
269         Provide gains for performing STV on a VEC_SELECT.
270         (general_scalar_chain::convert_insn): Convert VEC_SELECT to pshufd,
271         psrldq or no-op.
272         (general_scalar_to_vector_candidate_p): Handle VEC_SELECT of a
273         single element from a vector register to a scalar register.
275 2022-12-23  H.J. Lu  <hjl.tools@gmail.com>
276             Roger Sayle  <roger@nextmovesoftware.com>
278         PR target/106933
279         PR target/106959
280         * config/i386/i386-features.cc (single_def_chain_p): New predicate
281         function to check that a pseudo's use-def chain is in SSA form.
282         (timode_scalar_to_vector_candidate_p): Check that TImode regs that
283         are SET_DEST or SET_SRC of an insn match/are single_def_chain_p.
285 2022-12-23  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
287         * config/riscv/vector.md: Fix contraints.
289 2022-12-23  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
291         * config/riscv/riscv-protos.h (get_avl_type_rtx): New function.
292         * config/riscv/riscv-v.cc (get_avl_type_rtx): Ditto.
293         * config/riscv/riscv-vector-builtins-bases.cc (class loadstore): New
294         class.
295         (BASE): Ditto.
296         * config/riscv/riscv-vector-builtins-bases.h: Ditto.
297         * config/riscv/riscv-vector-builtins-functions.def (vle): Ditto.
298         (vse): Ditto.
299         * config/riscv/riscv-vector-builtins-shapes.cc (build_one): Ditto.
300         (struct loadstore_def): Ditto.
301         (SHAPE): Ditto.
302         * config/riscv/riscv-vector-builtins-shapes.h: Ditto.
303         * config/riscv/riscv-vector-builtins-types.def (DEF_RVV_U_OPS): New
304         macro.
305         (DEF_RVV_F_OPS): Ditto.
306         (vuint8mf8_t): Add corresponding mask type.
307         (vuint8mf4_t): Ditto.
308         (vuint8mf2_t): Ditto.
309         (vuint8m1_t): Ditto.
310         (vuint8m2_t): Ditto.
311         (vuint8m4_t): Ditto.
312         (vuint8m8_t): Ditto.
313         (vuint16mf4_t): Ditto.
314         (vuint16mf2_t): Ditto.
315         (vuint16m1_t): Ditto.
316         (vuint16m2_t): Ditto.
317         (vuint16m4_t): Ditto.
318         (vuint16m8_t): Ditto.
319         (vuint32mf2_t): Ditto.
320         (vuint32m1_t): Ditto.
321         (vuint32m2_t): Ditto.
322         (vuint32m4_t): Ditto.
323         (vuint32m8_t): Ditto.
324         (vuint64m1_t): Ditto.
325         (vuint64m2_t): Ditto.
326         (vuint64m4_t): Ditto.
327         (vuint64m8_t): Ditto.
328         (vfloat32mf2_t): Ditto.
329         (vfloat32m1_t): Ditto.
330         (vfloat32m2_t): Ditto.
331         (vfloat32m4_t): Ditto.
332         (vfloat32m8_t): Ditto.
333         (vfloat64m1_t): Ditto.
334         (vfloat64m2_t): Ditto.
335         (vfloat64m4_t): Ditto.
336         (vfloat64m8_t): Ditto.
337         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Adjust for new
338         macro.
339         (DEF_RVV_I_OPS): Ditto.
340         (DEF_RVV_U_OPS): New macro.
341         (DEF_RVV_F_OPS): New macro.
342         (use_real_mask_p): New function.
343         (use_real_merge_p): Ditto.
344         (get_tail_policy_for_pred): Ditto.
345         (get_mask_policy_for_pred): Ditto.
346         (function_builder::apply_predication): Ditto.
347         (function_builder::append_base_name): Ditto.
348         (function_builder::append_sew): Ditto.
349         (function_expander::add_vundef_operand): Ditto.
350         (function_expander::add_mem_operand): Ditto.
351         (function_expander::use_contiguous_load_insn): Ditto.
352         (function_expander::use_contiguous_store_insn): Ditto.
353         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Adjust for
354         adding mask type.
355         (vbool64_t): Ditto.
356         (vbool32_t): Ditto.
357         (vbool16_t): Ditto.
358         (vbool8_t): Ditto.
359         (vbool4_t): Ditto.
360         (vbool2_t): Ditto.
361         (vbool1_t): Ditto.
362         (vint8mf8_t): Ditto.
363         (vint8mf4_t): Ditto.
364         (vint8mf2_t): Ditto.
365         (vint8m1_t): Ditto.
366         (vint8m2_t): Ditto.
367         (vint8m4_t): Ditto.
368         (vint8m8_t): Ditto.
369         (vint16mf4_t): Ditto.
370         (vint16mf2_t): Ditto.
371         (vint16m1_t): Ditto.
372         (vint16m2_t): Ditto.
373         (vint16m4_t): Ditto.
374         (vint16m8_t): Ditto.
375         (vint32mf2_t): Ditto.
376         (vint32m1_t): Ditto.
377         (vint32m2_t): Ditto.
378         (vint32m4_t): Ditto.
379         (vint32m8_t): Ditto.
380         (vint64m1_t): Ditto.
381         (vint64m2_t): Ditto.
382         (vint64m4_t): Ditto.
383         (vint64m8_t): Ditto.
384         (vfloat32mf2_t): Ditto.
385         (vfloat32m1_t): Ditto.
386         (vfloat32m2_t): Ditto.
387         (vfloat32m4_t): Ditto.
388         (vfloat32m8_t): Ditto.
389         (vfloat64m1_t): Ditto.
390         (vfloat64m4_t): Ditto.
391         * config/riscv/riscv-vector-builtins.h
392         (function_expander::add_output_operand): New function.
393         (function_expander::add_all_one_mask_operand): Ditto.
394         (function_expander::add_fixed_operand): Ditto.
395         (function_expander::vector_mode): Ditto.
396         (function_base::apply_vl_p): Ditto.
397         (function_base::can_be_overloaded_p): Ditto.
398         * config/riscv/riscv-vsetvl.cc (get_vl): Remove restrict of supporting
399         AVL is not VLMAX.
400         * config/riscv/t-riscv: Add include file.
402 2022-12-23  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
404         * config/riscv/riscv-vector-builtins-shapes.cc (struct vsetvl_def): Add
405         "__riscv_" prefix.
407 2022-12-23  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
409         * config/riscv/riscv-vector-builtins-bases.cc: Change it to no side effects.
410         * config/riscv/vector.md (@vsetvl<mode>_no_side_effects): New pattern.
412 2022-12-23  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
414         * config/riscv/riscv-vector-builtins-bases.cc: Remove side effects.
416 2022-12-23  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
418         * config/riscv/riscv-vsetvl.cc (anticipatable_occurrence_p): Fix
419         incorrect annotations.
420         (available_occurrence_p): Ditto.
421         (backward_propagate_worthwhile_p): Ditto.
422         (can_backward_propagate_p): Ditto.
424 2022-12-23  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
426         * config/riscv/riscv-vsetvl.cc (vlmax_avl_insn_p): Fix multi-line
427         conditional.
428         (vsetvl_insn_p): Ditto.
429         (same_bb_and_before_p): Ditto.
430         (same_bb_and_after_or_equal_p): Ditto.
432 2022-12-22  Andrew Carlotti  <andrew.carlotti@arm.com>
434         * doc/md.texi: Move example code remark next to it's code block.
436 2022-12-22  Andrew Carlotti  <andrew.carlotti@arm.com>
438         * doc/md.texi: Fix inconsistent example name.
440 2022-12-22  Andrew Carlotti  <andrew.carlotti@arm.com>
442         * doc/md.texi: Fix incorrect pxref.
444 2022-12-22  Richard Biener  <rguenther@suse.de>
446         PR bootstrap/106482
447         * doc/install.texi (ISO C++11 Compiler): Document GCC version
448         known to work.
450 2022-12-22  Jakub Jelinek  <jakub@redhat.com>
452         PR tree-optimization/108166
453         * tree-ssa-phiopt.cc (value_replacement): For the maybe_equal_p
454         case turned into equal_p reset SSA_NAME_RANGE_INFO of phi result.
456 2022-12-22  Jakub Jelinek  <jakub@redhat.com>
458         PR rtl-optimization/108193
459         * cse.cc (compute_const_anchors): Change n type to
460         unsigned HOST_WIDE_INT, adjust comparison against it to avoid
461         warnings.  Formatting fix.
462         (insert_const_anchor): Use gen_int_mode instead of GEN_INT.
464 2022-12-22  Richard Biener  <rguenther@suse.de>
466         PR tree-optimization/107451
467         * tree-vect-stmts.cc (vectorizable_load): Avoid loading
468         SLP group members from group numbers in excess of the
469         vectorization factor.
471 2022-12-22  Jakub Jelinek  <jakub@redhat.com>
473         * config/aarch64/t-aarch64 (TM_H): Don't add aarch64-cores.def,
474         add aarch64-fusion-pairs.def, aarch64-tuning-flags.def and
475         aarch64-option-extensions.def.
476         (OPTIONS_H_EXTRA): Don't add aarch64-fusion-pairs.def nor
477         aarch64-tuning-flags.def.
479 2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
481         * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Add
482         TARGET_AVX512_SPLIT_REGS
483         * config/i386/i386-options.cc (ix86_option_override_internal):
484         Honor x86_TONE_AVOID_256FMA_CHAINS.
485         * config/i386/i386.cc (ix86_vec_cost): Honor TARGET_AVX512_SPLIT_REGS.
486         (ix86_reassociation_width): Likewise.
487         * config/i386/i386.h (TARGET_AVX512_SPLIT_REGS): New tune.
488         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): Disable
489         for znver4.
490         (X86_TUNE_USE_GATHER_4PARTS): Likewise.
491         (X86_TUNE_AVOID_256FMA_CHAINS): Set for znver4.
492         (X86_TUNE_AVOID_512FMA_CHAINS): New utne; set for znver4.
493         (X86_TUNE_AVX256_OPTIMAL): Add znver4.
494         (X86_TUNE_AVX512_SPLIT_REGS): New tune.
495         (X86_TUNE_AVX256_MOVE_BY_PIECES): Add znver1-3.
496         (X86_TUNE_AVX256_STORE_BY_PIECES): Add znver1-3.
497         (X86_TUNE_AVX512_MOVE_BY_PIECES): Add znver4.
498         (X86_TUNE_AVX512_STORE_BY_PIECES): Add znver4.
500 2022-12-22  Jan Hubicka  <hubicka@ucw.cz>
502         * config/i386/x86-tune-costs.h (znver4_cost): Upate costs of FP and SSE
503         moves, division multiplication, gathers, L2 cache size, and more
504         complex FP instrutions.
506 2022-12-21  Andrew Pinski  <apinski@marvell.com>
508         PR tree-optimization/105532
509         * match.pd (~(X >> Y) -> ~X >> Y): Check if it is an integral
510         type before calling tree_nonzero_bits.
511         (popcount(X) + popcount(Y)): Likewise.
512         (popcount(X&C1)): Likewise.
514 2022-12-21  Chung-Lin Tang  <cltang@codesourcery.com>
516         * config/nvptx/nvptx.cc (nvptx_print_operand): Add 'p' case, adjust
517         comments.
518         (enum nvptx_builtins): Add NVPTX_BUILTIN_BAR_RED_AND,
519         NVPTX_BUILTIN_BAR_RED_OR, and NVPTX_BUILTIN_BAR_RED_POPC.
520         (nvptx_expand_bar_red): New function.
521         (nvptx_init_builtins):
522         Add DEFs of __builtin_nvptx_bar_red_[and/or/popc].
523         (nvptx_expand_builtin): Use nvptx_expand_bar_red to expand
524         NVPTX_BUILTIN_BAR_RED_[AND/OR/POPC] cases.
525         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
526         UNSPECV_BARRED_AND, UNSPECV_BARRED_OR, and UNSPECV_BARRED_POPC.
527         (BARRED): New int iterator.
528         (barred_op,barred_mode,barred_ptxtype): New int attrs.
529         (nvptx_barred_<barred_op>): New define_insn.
531 2022-12-21  Richard Biener  <rguenther@suse.de>
533         PR middle-end/107994
534         * gimplify.cc (gimplify_expr): Catch errorneous comparison
535         operand.
537 2022-12-21  Jan Hubicka  <hubicka@ucw.cz>
539         * lto-opts.cc (lto_write_options): Also skip -fwhole-program.
541 2022-12-21  Jan Hubicka  <jh@suse.cz>
543         * lto-cgraph.cc (lto_output_node): When doing WPA in incremental link
544         pass down resolution info.
546 2022-12-21  Jan Hubicka  <hubicka@ucw.cz>
548         * doc/invoke.texi: Fix documentation of -fwhole-program with LTO
549         and document behaviour for incremental linking.
551 2022-12-21  Kewen Lin  <linkw@linux.ibm.com>
553         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Fix the
554         location for OPTION_MASK_P10_FUSION flag setting.
556 2022-12-21  Kewen Lin  <linkw@linux.ibm.com>
558         * fold-const.cc (fold_convert_const_real_from_real): Treat floating
559         point conversion to a type with same mode as copy instead of normal
560         convertFormat.
562 2022-12-21  Kewen Lin  <linkw@linux.ibm.com>
564         PR target/106736
565         * config/rs6000/mma.md (define_expand movoo): Call function
566         rs6000_opaque_type_invalid_use_p to check and emit error message for
567         the invalid use of opaque type.
568         (define_expand movxo): Likewise.
569         * config/rs6000/rs6000-protos.h
570         (rs6000_opaque_type_invalid_use_p): New function declaration.
571         (currently_expanding_gimple_stmt): New extern declaration.
572         * config/rs6000/rs6000.cc (rs6000_opaque_type_invalid_use_p): New
573         function.
575 2022-12-21  Jason Merrill  <jason@redhat.com>
577         * fold-const.cc (fold_convert_loc): Check return value of
578         protected_set_expr_location_unshare.
580 2022-12-21  Jason Merrill  <jason@redhat.com>
582         PR c++/84471
583         PR c++/107504
584         * fold-const.cc (protected_set_expr_location_unshare): Not static.
585         * tree.h: Declare it.
586         * tree.cc (decl_value_expr_insert): Use it.
588 2022-12-20  Patrick Palka  <ppalka@redhat.com>
590         PR c++/101886
591         * tree.cc (walk_tree_1) <case TREE_VEC>: Walk the elements
592         in forward instead of reverse order.
593         <case VECTOR_CST>: Likewise.
595 2022-12-20  Andrew MacLeod  <amacleod@redhat.com>
597         PR tree-optimization/108139
598         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Do not
599         use equivalences originating from PHIS.
601 2022-12-20  Richard Biener  <rguenther@suse.de>
603         PR d/104749
604         * doc/install.texi (GDC): Document GDC 9.4 or later is required
605         to build the D language frontend.
607 2022-12-20  Jiufu Guo  <guojiufu@linux.ibm.com>
609         PR target/103743
610         * config/rs6000/rs6000-protos.h (can_be_rotated_to_lowbits): New.
611         (can_be_rotated_to_positive_16bits): New.
612         (can_be_rotated_to_negative_15bits): New.
613         * config/rs6000/rs6000.cc (can_be_rotated_to_lowbits): New definition.
614         (can_be_rotated_to_positive_16bits): New definition.
615         (can_be_rotated_to_negative_15bits): New definition.
616         * config/rs6000/rs6000.md (*rotate_on_cmpdi): New define_insn_and_split.
617         (eqne): Move earlier.
619 2022-12-19  Jason Merrill  <jason@redhat.com>
621         * sort.cc: Disable -Wconditionally-supported in
622         CHECKING_P code.
624 2022-12-19  Jason Merrill  <jason@redhat.com>
626         PR c++/64867
627         * configure.ac (strict_warn): Add -Wconditionally-supported.
628         * configure: Regenerate.
630 2022-12-19  Richard Biener  <rguenther@suse.de>
632         PR tree-optimization/108164
633         * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
634         Perform vect_step_op_add update in the appropriate type.
636 2022-12-19  Richard Earnshaw  <rearnsha@arm.com>
638         * config/arm/arm-c.cc (__ARM_FEATURE_CLZ): Fix definition of
639         preprocessor macro when target has CLZ in another ISA.
641 2022-12-19  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
643         * config/riscv/vector.md: Remove vste.
645 2022-12-19  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
647         * config.gcc: Add riscv-vsetvl.o.
648         * config/riscv/riscv-passes.def (INSERT_PASS_BEFORE): Add VSETVL PASS
649         location.
650         * config/riscv/riscv-protos.h (make_pass_vsetvl): New function.
651         (enum avl_type): New enum.
652         (get_ta): New function.
653         (get_ma): Ditto.
654         (get_avl_type): Ditto.
655         (calculate_ratio): Ditto.
656         (enum tail_policy): New enum.
657         (enum mask_policy): Ditto.
658         * config/riscv/riscv-v.cc (calculate_ratio): New function.
659         (emit_pred_op): change the VLMAX mov codgen.
660         (get_ta): New function.
661         (get_ma): Ditto.
662         (enum tail_policy): Change enum.
663         (get_prefer_tail_policy): New function.
664         (enum mask_policy): Change enum.
665         (get_prefer_mask_policy): New function.
666         * config/riscv/t-riscv: Add riscv-vsetvl.o
667         * config/riscv/vector.md: Adjust attribute and pattern for VSETVL
668         PASS.
669         (@vlmax_avl<mode>): Ditto.
670         (@vsetvl<mode>_no_side_effects): Delete.
671         (vsetvl_vtype_change_only): New MD pattern.
672         (@vsetvl_discard_result<mode>): Ditto.
673         * config/riscv/riscv-vsetvl.cc: New file.
674         * config/riscv/riscv-vsetvl.h: New file.
676 2022-12-19  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
678         * config/riscv/riscv-vector-switch.def (ENTRY): Correct attributes.
680 2022-12-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
682         PR target/108140
683         * config/aarch64/aarch64-builtins.cc
684         (aarch64_expand_builtin_data_intrinsic): Handle NULL target.
686 2022-12-19  Jakub Jelinek  <jakub@redhat.com>
688         * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): Add libhwasan_preinit.o
689         to link spec if not -shared.
691 2022-12-19  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
693         * config/riscv/riscv-v.cc (emit_vlmax_vsetvl): Pass through VLMUL enum
694         instead of machine mode.
695         * config/riscv/riscv-vector-builtins-bases.cc: Ditto.
696         * config/riscv/riscv.cc (riscv_print_operand): Print LMUL by enum vlmul
697         instead of machine mode.
699 2022-12-19  Jiufu Guo  <guojiufu@linux.ibm.com>
701         PR target/106708
702         * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add using
703         "li; x?oris" to build constant.
705 2022-12-19  liuhongt  <hongtao.liu@intel.com>
707         PR target/55522
708         * config/i386/gnu-user-common.h (GNU_USER_TARGET_MATHFILE_SPEC):
709         Don't add crtfastmath.o for -shared.
710         * doc/invoke.texi (-shared): Add related documentation.
712 2022-12-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
714         * config.gcc: Determine Solaris minor version.
715         Obsolete *-*-solaris2.11.[0-3]*.
716         * doc/install.texi (Specific, *-*-solaris2*): Document it.
718 2022-12-17  Segher Boessenkool  <segher@kernel.crashing.org>
720         * config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue):
721         Handle GNU Rust for the tbtab lang field.
723 2022-12-16  John David Anglin  <danglin@gcc.gnu.org>
725         * config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
727 2022-12-16  Vladimir N. Makarov  <vmakarov@redhat.com>
729         Revert:
730         2022-12-15  Vladimir N. Makarov  <vmakarov@redhat.com>
732         * ira-costs.cc: Include print-rtl.h.
733         (record_reg_classes, scan_one_insn): Add code to print debug info.
734         * ira.cc (ira_init_register_move_cost): Check that at least one hard
735         reg of the mode are in the class contents to calculate the
736         register move costs.
738 2022-12-16  Qing Zhao  <qing.zhao@oracle.com>
740         * doc/invoke.texi: Document -Wstrict-flex-arrays option.
741         * gimple-array-bounds.cc (check_out_of_bounds_and_warn): Add two more
742         arguments.
743         (array_bounds_checker::check_array_ref): Issue warnings for
744         -Wstrict-flex-arrays.
745         * opts.cc (finish_options): Issue warning for unsupported combination
746         of -Wstrict_flex_arrays and -fstrict-flex-array.
747         * tree-vrp.cc (execute_ranger_vrp): Enable the pass when
748         warn_strict_flex_array is true.
750 2022-12-16  Palmer Dabbelt  <palmer@rivosinc.com>
752         * config/riscv/riscv.cc (riscv_option_override): Fix comment
753         wording.
755 2022-12-16  Palmer Dabbelt  <palmer@rivosinc.com>
757         * doc/extend.texi (__builtin_riscv_pause): Imply
758         Xgnuzihintpausestate.
760 2022-12-16  Richard Biener  <rguenther@suse.de>
762         PR middle-end/108086
763         * tree-inline.cc (remap_ssa_name): Do not unshare the
764         result from the decl_map.
766 2022-12-16  Richard Biener  <rguenther@suse.de>
768         PR middle-end/108086
769         * tree-inline.cc (copy_bb): Remove handling of (foo *)&this->m
770         substitution which is done in remap_gimple_op_r via
771         re-gimplifying.
773 2022-12-16  Jakub Jelinek  <jakub@redhat.com>
775         PR rtl-optimization/106751
776         * loop-invariant.cc (move_invariant_reg): If preheader bb ends
777         with a JUMP_INSN, split the preheader edge and emit invariants
778         into the new preheader basic block.
780 2022-12-16  Richard Biener  <rguenther@suse.de>
782         PR middle-end/108086
783         * tree-inline.cc (remap_gimple_stmt): Add stmts to the
784         sequence without updating them.  Simplify x == x detection.
786 2022-12-16  Haochen Jiang  <haochen.jiang@intel.com>
788         * config/i386/cmpccxaddintrin.h
789         (__cmpccxadd_epi32): Rename to _cmpccxadd_epi32.
790         (__cmpccxadd_epi64): Rename to _cmpccxadd_epi64.
792 2022-12-15  Vladimir N. Makarov  <vmakarov@redhat.com>
794         * ira-costs.cc: Include print-rtl.h.
795         (record_reg_classes, scan_one_insn): Add code to print debug info.
796         * ira.cc (ira_init_register_move_cost): Check that at least one hard
797         reg of the mode are in the class contents to calculate the
798         register move costs.
800 2022-12-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
802         * doc/extend.texi (__builtin_dynamic_object_size): Document
803         builtin.
804         * doc/passes.texi
805         (Optimize calls to @code{__builtin_object_size}): Also mention
806         __builtin_dynamic_object_size.
808 2022-12-15  Siddhesh Poyarekar  <siddhesh@gotplt.org>
810         PR middle-end/70090
811         * doc/invoke.texi (-fsanitize=object-size): Use
812         __builtin_dynamic_object_size instead of
813         __builtin_object_size.
815 2022-12-15  Richard Biener  <rguenther@suse.de>
817         PR middle-end/108086
818         * tree-inline.cc (copy_edges_for_bb): Walk stmts backwards for
819         splitting the block to avoid quadratic behavior with setting
820         stmts BB on multliple splits.
822 2022-12-15  Spacetown  <michael.foerderer@gmx.de>
824         PR gcov-profile/107537
825         * gcov.cc (output_branch_count): Add annotation '(fallthrough)'
826         or '(throw)' also to uncovered branches.
828 2022-12-15  Richard Biener  <rguenther@suse.de>
830         PR middle-end/108086
831         * tree-inline.cc (copy_edges_for_bb): Do not update all
832         stmts again.
834 2022-12-15  Jakub Jelinek  <jakub@redhat.com>
836         PR tree-optimization/108095
837         * tree-into-ssa.cc (maybe_register_def): Insert debug stmt
838         on all non-EH edges from asm goto if they have a single
839         predecessor rather than asserting there is at most one such edge.
840         Test whether there are no PHI nodes next to the single predecessor
841         test.
843 2022-12-14  David Faust  <david.faust@oracle.com>
845         PR target/106773
846         * btfout.cc (get_section_name): New function.
847         (btf_collect_datasec): Use it here. Process functions, marking them
848         'extern' and generating DATASEC entries for them as appropriate. Move
849         creation of BTF_KIND_FUNC records to here...
850         (btf_dtd_emit_preprocess_cb): ... from here.
852 2022-12-14  David Faust  <david.faust@oracle.com>
854         PR target/106773
855         * btfout.cc (btf_collect_datasec): Correct size of void entries.
856         (btf_dvd_emit_preprocess_cb): Do not skip emitting variables which
857         refer to void types.
858         (btf_init_postprocess): Create 'const void' type record if needed and
859         adjust variables to refer to it as appropriate.
861 2022-12-14  David Faust  <david.faust@oracle.com>
863         PR target/106773
864         * btfout.cc (btf_collect_datasec): Mark extern variables as such.
865         (btf_dvd_emit_preprocess_cb): Skip non-defining extern variable decl
866         if there is a defining decl for the same variable.
867         (btf_asm_varent): Accomodate 'extern' linkage.
869 2022-12-14  Martin Jambor  <mjambor@suse.cz>
871         * ipa-sra.cc (create_parameter_descriptors): Consider the first
872         parameter of a method safe to dereference.
874 2022-12-14  Martin Jambor  <mjambor@suse.cz>
876         * ipa-sra.cc (loaded_decls): Adjust comment.
877         (scan_expr_access): Also detect assignments of address of local
878         variables to a variable.  Bail out early on SSA_NAMEs and
879         constants as an optimization.
881 2022-12-14  Gaius Mulley  <gaiusmod2@gmail.com>
883         * configure.ac (HAVE_PYTHON): Test for Python3 added.
884         * dwarf2out.cc (gen_compile_unit_die): Check language_string
885         and language to DW_LANG_Modula2.
886         * doc/install.texi: Add m2 as a language.
887         (--disable-libgm2): Documented.  Add make check-m2 to testing selected
888         tests.
889         * doc/sourcebuild.texi (GM2): New prerequisite item.
890         (Python3 modules) New item.
891         (libgm2) Added.
892         (gcc/m2) Added.
893         * configure: Rebuilt.
894         * config.in: Rebuilt.
895         * doc/gm2.texi: New file.
897 2022-12-14  Martin Jambor  <mjambor@suse.cz>
899         * doc/invoke.texi (ipa-sra-ptrwrap-growth-factor): Fix the
900         description.
901         * params.opt (ipa-sra-ptrwrap-growth-factor): Likewise.
903 2022-12-14  Tamar Christina  <tamar.christina@arm.com>
905         PR target/107988
906         * config/aarch64/aarch64.cc
907         (aarch64_vectorize_can_special_div_by_constant): Ensure input and output
908         RTL are registers.
910 2022-12-14  Martin Liska  <mliska@suse.cz>
912         * doc/invoke.texi: Document ipa-sra-ptrwrap-growth-factor.
914 2022-12-14  Richard Biener  <rguenther@suse.de>
916         PR tree-optimization/107617
917         * tree-ssa-sccvn.cc (vn_walk_cb_data::push_partial_def):
918         Handle negative pd.rhs_off.
919         (vn_reference_lookup_3): Properly provide pd.rhs_off
920         for .LEN_STORE on big-endian targets.
922 2022-12-13  Martin Jambor  <mjambor@suse.cz>
924         * ipa-param-manipulation.cc
925         (ipa_param_body_adjustments::modify_expression): Bail out early if
926         there are no replacements.
927         (ipa_param_body_adjustments::modify_assignment): Likewise.
929 2022-12-13  Martin Jambor  <mjambor@suse.cz>
931         * ipa-sra.cc (isra_param_desc): New fields safe_size,
932         conditionally_dereferenceable and safe_size_set.
933         (struct gensum_param_desc): New field conditionally_dereferenceable.
934         (struct isra_param_flow): Updated comment of field unit_size.
935         (ipa_sra_function_summaries::duplicate): Copy the new fields.
936         (isra_call_summary::dump): Dump unit_size when representing safe_size.
937         (dump_gensum_param_descriptor): Dump new flag.
938         (dump_isra_param_descriptor): Dump new fields.
939         (isra_analyze_call): Fill unit_size when it represents known safe
940         size.
941         (check_gensum_access): Instead of disqualifying pointers which are not
942         always dereference, mark them as conditionally dereferencable if loads
943         are frequent enough.
944         (process_scan_results): Copy the conditionally_dereferenceable flag.
945         (isra_write_node_summary): Stream new fields, or assert they are not
946         initialized yet.
947         (isra_read_node_info): Stream new fields.
948         (update_safe_size): New function.
949         (propagate_param_hints_accross_call): Propagate safe_sizes.
950         (propagate_hints_to_all_callees): New function.
951         (adjust_parameter_descriptions): Check conditionally_dereferenceable
952         candidates, rework dumping.
953         (ipa_sra_analysis): Move most of hint propagation for one node to
954         propagate_hints_to_all_callees.  Add another loop to stabilize within
955         SCCs and another one to verify.
957 2022-12-13  Martin Jambor  <mjambor@suse.cz>
959         * ipa-sra.cc (isra_param_desc): New field not_specially_constructed.
960         (struct isra_param_flow): New field constructed_for_calls.
961         (isra_call_summary::dump): Dump the new flag.
962         (loaded_decls): New variable.
963         (dump_isra_param_descriptor): New parameter hints, dump
964         not_specially_constructed if it is true.
965         (dump_isra_param_descriptors): New parameter hints, pass it to
966         dump_isra_param_descriptor.
967         (ipa_sra_function_summaries::duplicate): Duplicate new flag.
968         (create_parameter_descriptors): Adjust comment.
969         (get_gensum_param_desc): Bail out when decl2desc is NULL.
970         (scan_expr_access): Add loaded local variables to loaded_decls.
971         (scan_function): Survive if final_bbs is NULL.
972         (isra_analyze_call): Compute constructed_for_calls flag.
973         (process_scan_results): Be optimistic about size limits.  Do not dump
974         computed param hints when dumpint IPA-SRA structures.
975         (isra_write_edge_summary): Stream constructed_for_calls.
976         (isra_read_edge_summary): Likewise.
977         (ipa_sra_dump_all_summaries): New parameter hints, pass it to
978         dump_isra_param_descriptor.
979         (flip_all_hints_pessimistic): New function.
980         (flip_all_param_hints_pessimistic): Likewise.
981         (propagate_param_hints): Likewise.
982         (disable_unavailable_parameters): Renamed to
983         adjust_parameter_descriptions.  Expand size limits for parameters
984         which are specially contstructed by all callers.  Check limits again.p
985         (ipa_sra_analysis): Pass required hints to ipa_sra_dump_all_summaries.
986         Add hint propagation.
987         (ipa_sra_summarize_function): Initialize and destory loaded_decls,
988         rearrange so that scan_function is called even when there are no
989         candidates.
990         * params.opt (ipa-sra-ptrwrap-growth-factor): New parameter.
992 2022-12-13  Martin Jambor  <mjambor@suse.cz>
994         * ipa-sra.cc (ipa_sra_analysis): Move top-down analysis before
995         bottom-up analysis.  Replace FOR_EACH_VEC_ELT with C++11 iteration.
997 2022-12-13  Martin Jambor  <mjambor@suse.cz>
999         PR ipa/103585
1000         * params.opt (ipa-sra-deref-prob-threshold): New parameter.
1001         * doc/invoke.texi (ipa-sra-deref-prob-threshold): Document it.
1002         * ipa-sra.cc (struct gensum_param_access): New field load_count.
1003         (struct gensum_param_desc): New field safe_ref, adjusted comments.
1004         (by_ref_count): Renamed to unsafe_by_ref_count, adjusted all uses.
1005         (dump_gensum_access): Dump the new field.
1006         (dump_gensum_param_descriptor): Likewise.
1007         (create_parameter_descriptors): Set safe_ref field, move setting
1008         by_ref forward.  Only increment unsafe_by_ref_count for unsafe
1009         by_ref parameters.
1010         (allocate_access): Initialize new field.
1011         (mark_param_dereference): Adjust indentation.  Only add data to
1012         bb_dereferences for unsafe by_ref parameters.
1013         (scan_expr_access): For loads, accumulate BB counts.
1014         (dereference_probable_p): New function.
1015         (check_gensum_access): Fix leading comment, add parameter FUN.
1016         Check cumulative counts of loads for safe by_ref accesses instead
1017         of dereferences.
1018         (process_scan_results): Do not propagate dereference distances for
1019         safe by_ref parameters.  Pass fun to check_gensum_access.  Safe
1020         by_ref params do not need the postdominance check.
1022 2022-12-13  Martin Jambor  <mjambor@suse.cz>
1024         * ipa-cp.cc (clone_for_param_removal_p): New function.
1025         (estimate_local_effects): Call it before considering cloning
1026         just to remove unused parameters.
1028 2022-12-13  Martin Jambor  <mjambor@suse.cz>
1030         PR ipa/103227
1031         * ipa-param-manipulation.h (class ipa_param_adjustments): Removed
1032         member function get_updated_index_or_split.
1033         (class ipa_param_body_adjustments): New overload of
1034         register_replacement, new member function append_init_stmts, new
1035         member m_split_agg_csts_inits.
1036         * ipa-param-manipulation.cc: Include ipa-prop.h.
1037         (ipa_param_adjustments::get_updated_index_or_split): Removed.
1038         (ipa_param_body_adjustments::register_replacement): New overload, use
1039         it from the older one.
1040         (ipa_param_body_adjustments::common_initialization): Added the
1041         capability to create replacements for conflicting IPA-CP discovered
1042         constants.
1043         (ipa_param_body_adjustments::ipa_param_body_adjustments): Construct
1044         the new member.
1045         (ipa_param_body_adjustments::append_init_stmts): New function.
1046         * ipa-sra.cc: Include ipa-prop.h.
1047         (push_param_adjustments_for_index): Require IPA-CP transformation
1048         summary as a parameter, do not create replacements which are known to
1049         have constant values.
1050         (process_isra_node_results): Find and pass to the above function the
1051         IPA-CP transformation summary.
1052         * ipa-prop.cc (adjust_agg_replacement_values): Remove the
1053         functionality replacing IPA-SRA created scalar parameters with
1054         constants.  Simplify, do not require parameter descriptors, do not
1055         return anything.
1056         (ipcp_transform_function): Simplify now that
1057         adjust_agg_replacement_values does not change cfg.  Move definition
1058         and initialization of descriptors lower.
1059         * tree-inline.cc (tree_function_versioning): Call append_init_stmts of
1060         param_body_adjs, if there are any.
1062 2022-12-13  Martin Jambor  <mjambor@suse.cz>
1064         * ipa-prop.cc (useful_ipcp_transformation_info_p): New function.
1065         (write_ipcp_transformation_info): Added a parameter, simplified
1066         given that is known not to be NULL.
1067         (ipcp_write_transformation_summaries): Write out all useful
1068         transformation summaries.
1069         (read_ipcp_transformation_info): Simplify given that some info
1070         will be read.
1071         (read_replacements_section): Remove assert.
1072         * lto-cgraph.cc (add_node_to): Also set encode_body for clones.
1073         * lto-streamer-out.cc (lto_output): Do not output virtual clones.
1075 2022-12-13  Jakub Jelinek  <jakub@redhat.com>
1077         PR target/108044
1078         * config/i386/i386.md (*concat<half><mode>3_5, *concat<mode><dwi>3_6,
1079         *concat<mode><dwi>3_7): Split alternative with =ro output constraint
1080         into =r,o,o and use Wd input constraint for the last alternative which
1081         is enabled for TARGET_64BIT.  Reject ix86_endbr_immediate_operand
1082         in the input constant.
1084 2022-12-13  Tamar Christina  <tamar.christina@arm.com>
1086         * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use gen_int_mode.
1088 2022-12-13  Jakub Jelinek  <jakub@redhat.com>
1090         PR tree-optimization/108064
1091         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Pass uvectype
1092         as 4th argument to append_pattern_def_seq for statements with lhs
1093         with utype type.
1095 2022-12-13  Richard Biener  <rguenther@suse.de>
1097         PR tree-optimization/105801
1098         * tree-ssa-ccp.cc (likely_value): .DEFERRED_INIT produces
1099         UNDEFINED.
1100         * doc/invoke.texi (ftrivial-auto-var-init): Explicitely
1101         mention we treat variables without an initializer as
1102         undefined also for optimization purposes.
1104 2022-12-13  Tom Tromey  <tom@tromey.com>
1105             Mark Wielaard  <mark@klomp.org>
1106             Marc Poulhiès  <dkm@kataplop.net>
1108         * dwarf2out.cc (is_rust): New.
1109         (base_type_die): Use DW_ATE_UTF for the Rust 'char' type.
1110         (gen_compile_unit_die): Handle "GNU Rust".
1112 2022-12-13  Richard Biener  <rguenther@suse.de>
1114         PR tree-optimization/108076
1115         * tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
1116         with non-local or forced labels that we later remove
1117         labels from.
1119 2022-12-13  Haochen Gui  <guihaoc@gcc.gnu.org>
1121         * config/rs6000/rs6000.md (cbranchcc4): New expander.
1123 2022-12-13  Haochen Gui  <guihaoc@gcc.gnu.org>
1125         * optabs.cc (prepare_cmp_insn): Return a NULL rtx other than
1126         assertion failure when targets don't have cbranch optab or
1127         predicate check fails.
1129 2022-12-12  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1131         * config/aarch64/aarch64.cc (aarch64_rtx_costs): Add correct costs
1132         for 24-bit and 12-bit shifted immediate add/sub.
1133         (TARGET_CONST_ANCHOR): Define.
1134         * config/aarch64/predicates.md (aarch64_pluslong_immediate):
1135         Fix range check.
1137 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
1139         * match.pd: Add new rule.
1141 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
1143         * config/aarch64/aarch64.cc (aarch64_can_change_mode_class): Restrict
1144         conversions between partial struct types properly.
1146 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
1148         * config/aarch64/aarch64.md (*tb<optab><mode>1): Rename to...
1149         (*tb<optab><ALLI:mode><GPI:mode>1): ... this.
1150         (tbranch_<code><mode>4): New.
1151         * config/aarch64/iterators.md(ZEROM, zerom): New.
1153 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
1155         * dojump.cc (do_jump): Pass along value.
1156         (do_jump_by_parts_greater_rtx): Likewise.
1157         (do_jump_by_parts_zero_rtx): Likewise.
1158         (do_jump_by_parts_equality_rtx): Likewise.
1159         (do_compare_rtx_and_jump): Likewise.
1160         (do_compare_and_jump): Likewise.
1161         * dojump.h (do_compare_rtx_and_jump): New.
1162         * optabs.cc (emit_cmp_and_jump_insn_1): Refactor to take optab to check.
1163         (validate_test_and_branch): New.
1164         (emit_cmp_and_jump_insns): Optiobally take a value, and when value is
1165         supplied then check if it's suitable for tbranch.
1166         * optabs.def (tbranch_eq$a4, tbranch_ne$a4): New.
1167         * doc/md.texi (tbranch_@var{op}@var{mode}4): Document it.
1168         * optabs.h (emit_cmp_and_jump_insns): New.
1169         * tree.h (tree_zero_one_valued_p): New.
1171 2022-12-12  Tamar Christina  <tamar.christina@arm.com>
1173         * config/aarch64/aarch64-simd.md (*aarch64_simd_movv2hf): New.
1174         (mov<mode>, movmisalign<mode>, aarch64_dup_lane<mode>,
1175         aarch64_store_lane0<mode>, aarch64_simd_vec_set<mode>,
1176         @aarch64_simd_vec_copy_lane<mode>, vec_set<mode>,
1177         reduc_<optab>_scal_<mode>, reduc_<fmaxmin>_scal_<mode>,
1178         aarch64_reduc_<optab>_internal<mode>, aarch64_get_lane<mode>,
1179         vec_init<mode><Vel>, vec_extract<mode><Vel>): Support V2HF.
1180         (aarch64_simd_dupv2hf): New.
1181         * config/aarch64/aarch64.cc (aarch64_classify_vector_mode):
1182         Add E_V2HFmode.
1183         * config/aarch64/iterators.md (VHSDF_P): New.
1184         (V2F, VMOVE, nunits, Vtype, Vmtype, Vetype, stype, VEL,
1185         Vel, q, vp): Add V2HF.
1186         * config/arm/types.md (neon_fp_reduc_add_h): New.
1188 2022-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1190         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
1191         __ARM_FEATURE_PAUTH and __ARM_FEATURE_BTI when appropriate.
1192         * config/aarch64/aarch64.h (TARGET_BTI): Define.
1194 2022-12-12  Richard Biener  <rguenther@suse.de>
1196         * genmatch.cc (dt_simplify::gen): Revert last change.
1197         * match.pd: Revert simplification of CONSTUCTOR leaf handling.
1198         (&x cmp SSA_NAME): Handle ADDR_EXPR in SSA defs.
1199         * fold-const.cc (split_address_to_core_and_offset): Handle
1200         ADDR_EXPRs in SSA defs.
1201         (address_compare): Likewise.
1203 2022-12-12  Richard Biener  <rguenther@suse.de>
1205         PR tree-optimization/89317
1206         * tree-ssa-ccp.cc (ccp_fold): Handle GIMPLE_COND via
1207         gimple_fold_stmt_to_constant_1.
1208         * match.pd (&a != &a + c): Apply to pointer_plus with non-ADDR_EXPR
1209         base as well.
1211 2022-12-11  Richard Biener  <rguenther@suse.de>
1213         PR tree-optimization/89317
1214         * match.pd ((p + b) - &p->c -> b - offsetof(c)): New patterns.
1216 2022-12-11  Richard Biener  <rguenther@suse.de>
1218         * genmatch.cc (dt_node::gen_kids): Handle ADDR_EXPR in both
1219         the GENERIC and GIMPLE op position.
1220         (dt_simplify::gen): Capture both GENERIC and GIMPLE op
1221         position for ADDR_EXPR and CONSTRUCTOR.
1222         * match.pd: Simplify CONSTRUCTOR leaf handling.
1224 2022-12-11  Richard Biener  <rguenther@suse.de>
1226         PR tree-optimization/106904
1227         * tree.h (strip_zero_offset_components): Declare.
1228         * tree.cc (strip_zero_offset_components): Define.
1229         * tree-vect-data-refs.cc (vect_create_addr_base_for_vector_ref):
1230         Strip zero offset components before building the address.
1232 2022-12-10  Jakub Jelinek  <jakub@redhat.com>
1234         PR tree-optimization/107997
1235         * tree-ssa-loop-ivopts.cc: Include cfganal.h.
1236         (create_new_iv) <case IP_END>: If ip_end_pos bb is non-empty and ends
1237         with a stmt which ends bb, instead of adding iv update after it split
1238         the latch edge and insert iterator into the new latch bb.
1240 2022-12-09  Jiufu Guo  <guojiufu@linux.ibm.com>
1242         * config/rs6000/rs6000.cc (rs6000_emit_set_const): Remove copy_rtx.
1243         (rs6000_emit_set_long_const): Likewise.
1245 2022-12-09  Martin Liska  <mliska@suse.cz>
1247         * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
1248         as for PR103661.
1249         * doc/extend.texi: Fix "x86-64" use.
1251 2022-12-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1253         * config/rtems.h (SUBTARGET_CC1_SPEC): Rename to...
1254         (OS_CC1_SPEC): ...this.
1255         * gcc.cc (SUBTARGET_CC1_SPEC): Rename to...
1256         (OS_CC1_SPEC): ...this.
1258 2022-12-09  David Malcolm  <dmalcolm@redhat.com>
1260         * Makefile.in (ANALYZER_OBJS): Update for renaming of
1261         analyzer/region-model-impl-calls.cc to analyzer/kf.cc.
1263 2022-12-09  liuhongt  <hongtao.liu@intel.com>
1265         * doc/invoke.texi (x86 options): Document
1266         -mlam={none,u48,u57}.
1267         * config/i386/i386-opts.h (enum lam_type): New enum.
1268         * config/i386/i386.cc (ix86_memtag_can_tag_addresses): New.
1269         (ix86_memtag_set_tag): Ditto.
1270         (ix86_memtag_extract_tag): Ditto.
1271         (ix86_memtag_add_tag): Ditto.
1272         (ix86_memtag_tag_size): Ditto.
1273         (ix86_memtag_untagged_pointer): Ditto.
1274         (TARGET_MEMTAG_CAN_TAG_ADDRESSES): New.
1275         (TARGET_MEMTAG_ADD_TAG): Ditto.
1276         (TARGET_MEMTAG_SET_TAG): Ditto.
1277         (TARGET_MEMTAG_EXTRACT_TAG): Ditto.
1278         (TARGET_MEMTAG_UNTAGGED_POINTER): Ditto.
1279         (TARGET_MEMTAG_TAG_SIZE): Ditto.
1280         (IX86_HWASAN_SHIFT): Ditto.
1281         (IX86_HWASAN_TAG_SIZE): Ditto.
1282         * config/i386/i386-expand.cc (ix86_expand_call): Untag code
1283         pointer.
1284         * config/i386/i386-options.cc (ix86_option_override_internal):
1285         Error when enable -mlam=[u48|u57] for 32-bit code.
1286         * config/i386/i386.opt: Add -mlam=[none|u48|u57].
1287         * config/i386/i386-protos.h (ix86_memtag_untagged_pointer):
1288         Declare.
1289         (ix86_memtag_can_tag_addresses): Ditto.
1291 2022-12-08  Marek Polacek  <polacek@redhat.com>
1293         * doc/invoke.texi (-fsanitize=address): Suggest options to improve
1294         stack traces.
1296 2022-12-08  Eugene Rozenfeld  <erozen@microsoft.com>
1298         PR ipa/108000
1299         * ipa-cp.cc (ipcp_propagate_stage): Fix profile count comparison
1301 2022-12-08  David Faust  <david.faust@oracle.com>
1303         * config/bpf/bpf.md (bswap<mode>2): New define_insn.
1305 2022-12-08  Sebastian Pop  <spop@amazon.com>
1307         PR target/98776
1308         * config/aarch64/aarch64-protos.h (aarch64_output_patchable_area):
1309         Declared.
1310         * config/aarch64/aarch64.cc (aarch64_print_patchable_function_entry):
1311         Emit an UNSPECV_PATCHABLE_AREA pseudo instruction.
1312         (aarch64_output_patchable_area): New.
1313         * config/aarch64/aarch64.md (UNSPECV_PATCHABLE_AREA): New.
1314         (patchable_area): Define.
1316 2022-12-08  Jakub Jelinek  <jakub@redhat.com>
1318         PR debug/106719
1319         * cfgbuild.cc (find_bb_boundaries): If there are NOTEs in between
1320         debug_insn (seen after flow_transfer_insn) and insn, move NOTEs
1321         before all the DEBUG_INSNs and split after NOTEs.  If there are
1322         other insns like jump table data, clear debug_insn.
1324 2022-12-08  Jakub Jelinek  <jakub@redhat.com>
1326         PR target/107627
1327         * config/i386/i386.md (HALF, half): New mode attributes.
1328         (*concat<half><mode>3_5, *concat<mode><dwi>3_6,
1329         *concat<mode><dwi>3_7): New define_insn_and_split patterns.
1331 2022-12-08  Andrew MacLeod  <amacleod@redhat.com>
1333         PR tree-optimization/107985
1334         * gimple-range-op.cc
1335         (gimple_range_op_handler::gimple_range_op_handler): Check if type
1336         of the operands is supported.
1337         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Do
1338         not assert if here is no range-op handler.
1340 2022-12-08  Jiufu Guo  <guojiufu@linux.ibm.com>
1342         * config/rs6000/predicates.md: Use sext_hwi.
1343         * config/rs6000/rs6000.cc (num_insns_constant_gpr): Likewise.
1344         (darwin_rs6000_legitimate_lo_sum_const_p): Likewise.
1345         (mem_operand_gpr): Likewise.
1346         (mem_operand_ds_form): Likewise.
1347         (rs6000_legitimize_address): Likewise.
1348         (rs6000_emit_set_const): Likewise.
1349         (rs6000_emit_set_long_const): Likewise.
1350         (print_operand): Likewise.
1351         (constant_generates_xxspltiw): Remove unnecessary expressions.
1352         * config/rs6000/rs6000.md: Use sext_hwi.
1354 2022-12-08  Richard Biener  <rguenther@suse.de>
1356         PR tree-optimization/107699
1357         * match.pd (&a !=/== &a.b + c -> (&a - &a.b) !=/== c): New
1358         pattern variant.
1360 2022-12-08  Jakub Jelinek  <jakub@redhat.com>
1362         * range-op-float.cc (frange_nextafter): For MODE_COMPOSITE_P from
1363         denormal or zero, use real_nextafter on DFmode with conversions
1364         around it.
1365         (frange_arithmetic): For mode_composite, on top of rounding in the
1366         right direction accept extra 1ulp error for PLUS/MINUS_EXPR, extra
1367         2ulps error for MULT_EXPR and extra 3ulps error for RDIV_EXPR.
1369 2022-12-08  Jakub Jelinek  <jakub@redhat.com>
1371         PR tree-optimization/107967
1372         * range-op-float.cc (frange_arithmetic): Fix a thinko - if
1373         inf is negative, use nextafter if !real_less (&result, &value)
1374         rather than if real_less (&result, &value).  If result is +-INF
1375         while value is finite and -fno-rounding-math, don't do rounding
1376         if !inexact or if result is significantly above max representable
1377         value or below min representable value.
1379 2022-12-07  Max Filippov  <jcmvbkbc@gmail.com>
1381         * config.gcc (xtensa*-*-*): Add xtensa-dynconfig.o to extra_objs.
1382         * config/xtensa/t-xtensa (TM_H): Add xtensa-dynconfig.h.
1383         (xtensa-dynconfig.o): New rule.
1384         * config/xtensa/xtensa-dynconfig.c: New file.
1385         * config/xtensa/xtensa-protos.h (xtensa_get_config_strings): New
1386         declaration.
1387         * config/xtensa/xtensa.h (xtensa-config.h): Replace #include
1388         with xtensa-dynconfig.h
1389         (XCHAL_HAVE_MUL32_HIGH, XCHAL_HAVE_RELEASE_SYNC)
1390         (XCHAL_HAVE_S32C1I, XCHAL_HAVE_THREADPTR)
1391         (XCHAL_HAVE_FP_POSTINC): Drop definitions.
1392         (TARGET_DIV32): Replace with __XCHAL_HAVE_DIV32.
1393         (TARGET_CPU_CPP_BUILTINS): Add new 'builtin' variable and loop
1394         through string array returned by the xtensa_get_config_strings
1395         function call.
1397 2022-12-07  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1399         PR target/108006
1400         * config/aarch64/aarch64.cc (aarch64_expand_sve_const_vector):
1401         Fix call to aarch64_move_imm to use SI/DI.
1403 2022-12-07  Richard Biener  <rguenther@suse.de>
1405         PR ipa/105676
1406         * ipa-pure-const.cc (ipa_make_function_pure): Skip also
1407         for functions already being const.
1409 2022-12-07  Hongyu Wang  <hongyu.wang@intel.com>
1411         * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
1412         m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM.
1414 2022-12-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1416         PR target/107920
1417         * config/aarch64/aarch64-sve-builtins-base.cc: Use
1418         gsi_replace_with_seq_vops to handle virtual operands, and gate
1419         the transform on !flag_non_call_exceptions.
1420         * gimple-fold.cc (gsi_replace_with_seq_vops): Make function non static.
1421         * gimple-fold.h (gsi_replace_with_seq_vops): Declare.
1423 2022-12-07  liuhongt  <hongtao.liu@intel.com>
1425         PR target/107970
1426         * config/i386/mmx.md (btruncv2sf2): Add TARGET_MMX_WITH_SSE to
1427         the condition.
1429 2022-12-06  Wilco Dijkstra  <wilco.dijkstra@arm.com>
1431         * config/aarch64/aarch64.cc (aarch64_bitmask_imm): Use unsigned type.
1432         (aarch64_is_mov_xn_imm): New function.
1433         (aarch64_move_imm): Refactor, assert mode is SImode or DImode.
1434         (aarch64_internal_mov_immediate): Assert mode is SImode or DImode.
1435         Simplify special cases.
1436         (aarch64_uimm12_shift): Simplify code.
1437         (aarch64_clamp_to_uimm12_shift): Likewise.
1438         (aarch64_movw_imm): Rename to aarch64_is_movz.
1439         (aarch64_float_const_rtx_p): Pass either SImode or DImode to
1440         aarch64_internal_mov_immediate.
1441         (aarch64_rtx_costs): Likewise.
1442         * config/aarch64/aarch64.md (movdi_aarch64): Merge 'N' and 'M'
1443         constraints into single 'O'.
1444         (mov<mode>_aarch64): Likewise.
1445         * config/aarch64/aarch64-protos.h (aarch64_move_imm): Use unsigned.
1446         (aarch64_bitmask_imm): Likewise.
1447         (aarch64_uimm12_shift): Likewise.
1448         (aarch64_is_mov_xn_imm): New prototype.
1449         * config/aarch64/constraints.md: Add 'O' for 32/64-bit immediates,
1450         limit 'N' to 64-bit only moves.
1452 2022-12-06  Qing Zhao  <qing.zhao@oracle.com>
1454         * attribs.cc (strict_flex_array_level_of): New function.
1455         * attribs.h (strict_flex_array_level_of): Prototype for new function.
1456         * doc/invoke.texi: Update -Warray-bounds by specifying the impact from
1457         -fstrict-flex-arrays. Also update -Warray-bounds=2 by eliminating its
1458         impact on treating trailing arrays as flexible array members.
1459         * gimple-array-bounds.cc (get_up_bounds_for_array_ref): New function.
1460         (check_out_of_bounds_and_warn): New function.
1461         (array_bounds_checker::check_array_ref): Update with call to the above
1462         new functions.
1463         * tree.cc (array_ref_flexible_size_p): Add one new argument.
1464         (component_ref_sam_type): New function.
1465         (component_ref_size): Control with level of strict-flex-array.
1466         * tree.h (array_ref_flexible_size_p): Update prototype.
1467         (enum struct special_array_member): Add two new enum values.
1468         (component_ref_sam_type): New prototype.
1470 2022-12-06  David Malcolm  <dmalcolm@redhat.com>
1472         * doc/analyzer.texi: Drop out-of-date ideas for other checkers.
1474 2022-12-06  David Malcolm  <dmalcolm@redhat.com>
1476         * Makefile.in (ANALYZER_OBJS): Add analyzer/call-details.o,
1477         analyzer/kf-analyzer.o, and kf-lang-cp.o.
1479 2022-12-06  Marcel Vollweiler  <marcel@codesourcery.com>
1481         * gimplify.cc (optimize_target_teams): Set initial num_teams_upper
1482         to "-2" instead of "1" for non-existing num_teams clause in order to
1483         disambiguate from the case of an existing num_teams clause with value 1.
1485 2022-12-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>
1487         PR target/107987
1488         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>,
1489         @mve_vcmp<mve_cmp_op>q_n_f<mode>): Apply vec_duplicate to scalar
1490         operand.
1492 2022-12-06  Jakub Jelinek  <jakub@redhat.com>
1494         PR target/107969
1495         * config/i386/i386.md (cbranchbf4, cstorebf4): Guard expanders
1496         with the same condition as cbranchsf4 or cstoresf4 expanders.
1498 2022-12-06  Richard Biener  <rguenther@suse.de>
1500         PR tree-optimization/104475
1501         * pointer-query.h (access_ref::ref_nullptr_p): New flag.
1502         * pointer-query.cc (access_ref::access_ref): Initialize
1503         ref_nullptr_p.
1504         (compute_objsize_r): Set ref_nullptr_p if we treat it that way.
1505         (access_ref::inform_access): If ref was treated as nullptr
1506         based, indicate that.
1508 2022-12-06  Jakub Jelinek  <jakub@redhat.com>
1510         PR tree-optimization/107972
1511         * range-op-float.cc (frange_drop_infs): New function.
1512         (float_binary_op_range_finish): Add DIV_OP2 argument.  If DIV_OP2 is
1513         false and lhs is finite or if DIV_OP2 is true and lhs is non-zero and
1514         not NAN, r must be finite too.
1515         (foperator_div::op2_range): Pass true to DIV_OP2 of
1516         float_binary_op_range_finish.
1518 2022-12-06  Jakub Jelinek  <jakub@redhat.com>
1520         PR tree-optimization/107975
1521         * range-op-float.cc (foperator_mult::op1_range,
1522         foperator_div::op1_range, foperator_div::op2_range): Just
1523         return float_binary_op_range_finish result if lhs is known
1524         NAN, or the other operand is known NAN or UNDEFINED.
1526 2022-12-06  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1528         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Use dup
1529         and zip1 for interleaving elements in vector initializer.
1531 2022-12-05  Richard Biener  <rguenther@suse.de>
1533         PR middle-end/40635
1534         * tree-into-ssa.cc (rewrite_update_phi_arguments): Only
1535         update the argument when the reaching definition is different
1536         from the current argument.  Keep an existing argument
1537         location.
1539 2022-12-05  Richard Biener  <rguenther@suse.de>
1541         PR tree-optimization/106868
1542         * gimple-ssa-warn-access.cc (pass_waccess::gimple_call_return_arg_ref):
1543         Inline into single user ...
1544         (pass_waccess::check_dangling_uses): ... here and adjust the
1545         call and the PHI case to require that ref.aref is the address
1546         of the decl.
1548 2022-12-05  Jakub Jelinek  <jakub@redhat.com>
1550         PR middle-end/106805
1551         * match.pd (cmp @0 REAL_CST@1): Don't optimize x cmp NaN
1552         or NaN cmp x to false/true for cmp >/>=/</<= if -ftrapping-math.
1554 2022-12-05  Jakub Jelinek  <jakub@redhat.com>
1556         PR tree-optimization/107879
1557         * range-op-float.cc (foperator_mult::op1_range): If both
1558         lhs and op2 ranges contain zero or both ranges contain
1559         some infinity, set r range to zero_to_inf_range depending on
1560         signbit_known_p.
1561         (foperator_div::op2_range): Similarly for lhs and op1 ranges.
1562         (foperator_div::op1_range): If lhs range contains zero and op2
1563         range contains some infinity or vice versa, set r range to
1564         zero_to_inf_range depending on signbit_known_p.
1565         (foperator_div::rv_fold): Fix up condition for returning known NAN.
1567 2022-12-05  Richard Biener  <rguenther@suse.de>
1569         PR tree-optimization/107833
1570         PR tree-optimization/107839
1571         * cfghooks.cc: Include tree.h.
1572         * tree-ssa-loop-im.cc (movement_possibility): Wrap and
1573         make stmts using any ssa_name_maybe_undef_p operand
1574         to preserve execution.
1575         (loop_invariant_motion_in_fun): Call mark_ssa_maybe_undefs
1576         to init maybe-undefined status.
1577         * tree-ssa-loop-ivopts.cc (ssa_name_maybe_undef_p,
1578         ssa_name_set_maybe_undef, ssa_name_any_use_dominates_bb_p,
1579         mark_ssa_maybe_undefs): Move ...
1580         * tree-ssa.cc: ... here.
1581         * tree-ssa.h (ssa_name_any_use_dominates_bb_p,
1582         mark_ssa_maybe_undefs): Declare.
1583         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): Define.
1585 2022-12-05  Andrew Pinski  <pinskia@gmail.com>
1587         PR tree-optimization/107956
1588         * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
1589         Check for NULL LHS on masked loads.
1591 2022-12-05  Kewen Lin  <linkw@linux.ibm.com>
1592             Richard Sandiford   <richard.sandiford@arm.com>
1594         PR tree-optimization/107412
1595         * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
1596         untruncated type for the length, and avoid to_constant and tree
1597         arithmetic for subtraction.
1599 2022-12-02  Bernhard Reutner-Fischer  <rep.dot.nop@gmail.com>
1600             Jason Merrill  <jason@redhat.com>
1602         * function.cc (init_function_start): Use DECL_RESULT location
1603         for -Waggregate-return warning.
1605 2022-12-02  Andrew MacLeod  <amacleod@redhat.com>
1607         * fold-const.cc (fold_unary_loc): Check TREE_TYPE of node.
1608         (tree_invalid_nonnegative_warnv_p): Likewise.
1610 2022-12-02  Jason Merrill  <jason@redhat.com>
1612         * gcc.cc (validate_switches): Reset suffix/starred on loop.
1614 2022-12-02  Vladimir N. Makarov  <vmakarov@redhat.com>
1616         * lra-constraints.cc (curr_insn_transform): Check available hard
1617         regs for pseudo and its subreg to decide what to reload.
1619 2022-12-02  liuhongt  <hongtao.liu@intel.com>
1621         * config/i386/i386-expand.cc
1622         (ix86_expand_fast_convert_bf_to_sf): Use extendbfsf2_1 for
1623         nonimmediate operand.
1625 2022-12-02  Martin Liska  <mliska@suse.cz>
1627         * configure: Regenerate.
1629 2022-12-02  Jakub Jelinek  <jakub@redhat.com>
1631         PR target/106577
1632         * config/i386/i386-expand.cc (ix86_vector_duplicate_value): Save/restore
1633         recog_data around recog_memoized calls.
1635 2022-12-02  Michael Collison  <collison@rivosinc.com>
1637         * match.pd ((x & 0x1) == 0) ? y : z <op> y
1638         -> (-(typeof(y))(x & 0x1) & z) <op> y.
1640 2022-12-02  Richard Biener  <rguenther@suse.de>
1642         PR tree-optimization/107946
1643         * params.opt (-param=max-unswitch-depth=): New.
1644         * doc/invoke.texi (--param=max-unswitch-depth): Document.
1645         * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): Honor
1646         --param=max-unswitch-depth
1648 2022-12-02  Eric Gallager  <egallager@gcc.gnu.org>
1650         PR bootstrap/59447
1651         * configure: Regenerate.
1652         * configure.ac: Document --with-dwarf2 flag as also
1653         applying to later DWARF standards.
1654         * doc/install.texi: Likewise.
1656 2022-12-02  liuhongt  <hongtao.liu@intel.com>
1658         PR target/107934
1659         * config/i386/i386.md (extendbfsf2_1): Change type from
1660         sseishft to sseishft1.
1662 2022-12-01  Alex Coplan  <alex.coplan@arm.com>
1664         * varasm.cc (assemble_variable): Fix type confusion bug when
1665         checking for ".vtable_map_vars" section.
1667 2022-12-01  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1669         * config/riscv/riscv-v.cc (emit_pred_op): Adapt for mask mode.
1670         * config/riscv/vector.md: Remove Tail && make policy operand for mask mode mov.
1672 2022-12-01  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1674         * config/riscv/riscv-protos.h (enum vlmul_type): New enum.
1675         (get_vlmul): New function.
1676         (get_ratio): Ditto.
1677         * config/riscv/riscv-v.cc (struct mode_vtype_group): New struct.
1678         (ENTRY): Adapt for attributes.
1679         (enum vlmul_type): New enum.
1680         (get_vlmul): New function.
1681         (get_ratio): New function.
1682         * config/riscv/riscv-vector-switch.def (ENTRY): Adapt for attributes.
1683         * config/riscv/riscv.cc (ENTRY): Ditto.
1684         * config/riscv/vector.md (false,true): Add attributes.
1686 2022-12-01  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
1688         * config/riscv/constraints.md (Wdm): New constraint.
1689         * config/riscv/predicates.md (direct_broadcast_operand): New predicate.
1690         * config/riscv/riscv-protos.h (RVV_VLMAX): New macro.
1691         (emit_pred_op): Refine function.
1692         * config/riscv/riscv-selftests.cc (run_const_vector_selftests): New function.
1693         (run_broadcast_selftests): Ditto.
1694         (BROADCAST_TEST): New tests.
1695         (riscv_run_selftests): More tests.
1696         * config/riscv/riscv-v.cc (emit_pred_move): Refine function.
1697         (emit_vlmax_vsetvl): Ditto.
1698         (emit_pred_op): Ditto.
1699         (expand_const_vector): New function.
1700         (legitimize_move): Add constant vector support.
1701         * config/riscv/riscv.cc (riscv_print_operand): New asm print rule for const vector.
1702         * config/riscv/riscv.h (X0_REGNUM): New macro.
1703         * config/riscv/vector-iterators.md: New attribute.
1704         * config/riscv/vector.md (vec_duplicate<mode>): New pattern.
1705         (@pred_broadcast<mode>): New pattern.
1707 2022-12-01  Paul-Antoine Arras  <pa@codesourcery.com>
1709         * config/gcn/gcn-opts.h (TARGET_FIJI): -march=fiji.
1710         (TARGET_VEGA10): -march=gfx900.
1711         (TARGET_VEGA20): -march=gfx906.
1712         (TARGET_GFX908): -march=gfx908.
1713         (TARGET_GFX90a): -march=gfx90a.
1714         * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS): Define a builtin that
1715         uniquely maps to '-march'.
1717 2022-12-01  Richard Biener  <rguenther@suse.de>
1719         PR tree-optimization/107937
1720         * gimple-predicate-analysis.h (predicate::is_true): New.
1721         (predicate::is_false): Likewise.
1722         (predicate::empty_val): Likewise.
1723         (uninit_analysis::uninit_analysis): Properly initialize
1724         def_preds.
1725         * gimple-predicate-analysis.cc (simplify_1b): Indicate
1726         whether the chain became empty.
1727         (predicate::simplify): Release emptied chain before removing it.
1728         (predicate::normalize): Replace temporary object with assertion.
1729         (uninit_analysis::is_use_guarded): Deal with predicates
1730         that simplify to true/false.
1732 2022-12-01  Richard Biener  <rguenther@suse.de>
1734         PR tree-optimization/107935
1735         * tree-ssa-sccvn.cc (visit_phi): Honor forced VARYING on
1736         backedges.
1738 2022-12-01  Jakub Jelinek  <jakub@redhat.com>
1740         PR target/107627
1741         * config/i386/i386.md (*concat<mode><dwi>3_1, *concat<mode><dwi>3_2):
1742         For operands which are zero_extend arguments allow memory if
1743         output operand is a register.
1744         (*concat<mode><dwi>3_3, *concat<mode><dwi>3_4): Likewise.  If
1745         both input operands are memory, use early clobber on output operand.
1746         * config/i386/i386-expand.cc (split_double_concat): Deal with corner
1747         cases where one input is memory and the other is not and the address
1748         of the memory input uses a register we'd overwrite before loading
1749         the memory into a register.
1751 2022-12-01  Haochen Gui  <guihaoc@gcc.gnu.org>
1753         * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode):
1754         Corrects comments of this function and make them clear.
1756 2022-12-01  liuhongt  <hongtao.liu@intel.com>
1758         PR target/107863
1759         * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
1760         Convert op1 to target mode whenever mode mismatch.
1762 2022-12-01  David Malcolm  <dmalcolm@redhat.com>
1764         PR analyzer/106626
1765         * diagnostic-path.h
1766         (diagnostic_path::get_first_event_in_a_function): New decl.
1767         * diagnostic.cc (diagnostic_path::get_first_event_in_a_function):
1768         New.
1769         (diagnostic_path::interprocedural_p): Ignore leading events that
1770         are outside of any function.
1772 2022-12-01  David Malcolm  <dmalcolm@redhat.com>
1774         * Makefile.in (ANALYZER_OBJS): Add analyzer/bounds-checking.o.
1776 2022-12-01  Haochen Gui  <guihaoc@gcc.gnu.org>
1778         PR target/100866
1779         * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode):
1780         Generate permute index directly for little endian targets.
1781         * config/rs6000/vsx.md (revb_<mode>): Call vprem directly with
1782         corresponding permute indexes.
1784 2022-11-30  John David Anglin  <danglin@gcc.gnu.org>
1786         * config/pa/pa.md (addvdi3): Force operand 2 to a register.
1787         Remove "addi,tsv,*" instruction from unamed pattern.
1788         (subvdi3): Force operand 1 to a register.
1789         Remove "subi,tsv" instruction from from unamed pattern.
1791 2022-11-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1793         * config/aarch64/aarch64.md (aarch64_cpymemdi): Specify clobber of CC reg.
1794         (*aarch64_cpymemdi): Likewise.
1795         (aarch64_movmemdi): Likewise.
1796         (aarch64_setmemdi): Likewise.
1797         (*aarch64_setmemdi): Likewise.
1799 2022-11-30  Martin Liska  <mliska@suse.cz>
1801         * tree-switch-conversion.cc (bit_test_cluster::emit): Remove
1802         dead variable bt_range.
1804 2022-11-30  Iskander Shakirzyanov  <iskander@ispras.ru>
1805             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1807         PR driver/107787
1808         * common.opt (Warray-bounds): Turn into alias of
1809         -Warray-bounds=1.
1810         * builtins.cc (c_strlen): Use OPT_Warray_bounds_
1811         instead of OPT_Warray_bounds.
1812         * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Ditto.
1813         * gimple-array-bounds.cc (array_bounds_checker::check_array_ref,
1814         array_bounds_checker::check_mem_ref,
1815         array_bounds_checker::check_addr_expr,
1816         array_bounds_checker::check_array_bounds): Ditto.
1817         * gimple-ssa-warn-restrict.cc (maybe_diag_access_bounds): Ditto.
1819 2022-11-30  Martin Liska  <mliska@suse.cz>
1821         PR tree-optimization/101301
1822         PR tree-optimization/103680
1823         * tree-switch-conversion.cc (bit_test_cluster::emit):
1824         Handle correctly remaining probability.
1825         (switch_decision_tree::try_switch_expansion): Fix BB's count
1826         where a cluster expansion happens.
1827         (switch_decision_tree::emit_cmp_and_jump_insns): Fill up also
1828         BB count.
1829         (switch_decision_tree::do_jump_if_equal): Likewise.
1830         (switch_decision_tree::emit_case_nodes): Handle special case
1831         for BT expansion which can also fallback to a default BB.
1832         * tree-switch-conversion.h (cluster::cluster): Add
1833         m_default_prob probability.
1835 2022-11-30  Richard Biener  <rguenther@suse.de>
1837         PR tree-optimization/107919
1838         * gimple-predicate-analysis.cc (simplify_1): Rename to ...
1839         (simplify_1a): .. this.
1840         (simplify_1b): New.
1841         (predicate::simplify): Call both simplify_1a and simplify_1b.
1843 2022-11-30  Richard Biener  <rguenther@suse.de>
1845         * tree-ssa-uninit.cc (find_uninit_use): Dump the edge for a
1846         PHI node.
1848 2022-11-30  Richard Biener  <rguenther@suse.de>
1850         PR tree-optimization/107919
1851         * gimple-predicate-analysis.cc (predicate::simplify_2):
1852         Handle predicates of arbitrary length.
1854 2022-11-30  Jakub Jelinek  <jakub@redhat.com>
1856         PR tree-optimization/107835
1857         * tree-chrec.cc (chrec_apply): Don't handle "{a, +, a} (x-1)"
1858         as "a*x" if type is a pointer type.
1860 2022-11-30  Paul-Antoine Arras  <pa@codesourcery.com>
1862         * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Add gfx803.
1863         * config/gcn/t-omp-device: Add gfx803.
1865 2022-11-30  Lulu Cheng  <chenglulu@loongson.cn>
1867         * config/loongarch/linux.h (STACK_CHECK_MOVING_SP):
1868         Define this macro to 1.
1869         * config/loongarch/loongarch.cc (STACK_CLASH_PROTECTION_GUARD_SIZE):
1870         Size of guard page.
1871         (loongarch_first_stack_step): Return the size of the first drop stack
1872         according to whether stack checking is performed.
1873         (loongarch_emit_probe_stack_range): Adjust the method of stack checking in prologue.
1874         (loongarch_output_probe_stack_range): Delete useless code.
1875         (loongarch_expand_prologue): Adjust the method of stack checking in prologue.
1876         (loongarch_option_override_internal): Enforce that interval is the same
1877         size as size so the mid-end does the right thing.
1878         * config/loongarch/loongarch.h (STACK_CLASH_MAX_UNROLL_PAGES):
1879         New macro decide whether to loop stack detection.
1881 2022-11-30  David Malcolm  <dmalcolm@redhat.com>
1883         PR analyzer/103546
1884         * doc/invoke.texi (Static Analyzer Options): Add isatty, ferror,
1885         fileno, and getc to the list of functions known to the analyzer.
1887 2022-11-29  Richard Biener  <rguenther@suse.de>
1889         PR tree-optimization/107852
1890         * tree-ssa-sccvn.cc (visit_phi): Use equivalences recorded
1891         as predicated values to elide more redundant PHIs.
1893 2022-11-29  Richard Biener  <rguenther@suse.de>
1895         PR tree-optimization/106995
1896         * tree-if-conv.cc (pass_if_conversion::execute): Also redirect the
1897         versioning condition to the original loop if this very loop
1898         vanished during CFG cleanup.
1900 2022-11-29  Richard Biener  <rguenther@suse.de>
1902         PR tree-optimization/107898
1903         * gimple-ssa-warn-alloca.cc (alloca_call_type): Check
1904         the type of the alloca argument is compatible with size_t
1905         before querying ranges.
1907 2022-11-29  Richard Biener  <rguenther@suse.de>
1909         PR ipa/107897
1910         * multiple_target.cc (pass_target_clone::gate): Disable
1911         after errors.
1913 2022-11-29  Martin Liska  <mliska@suse.cz>
1915         * configure: Regenerate.
1917 2022-11-29  YunQiang Su  <yunqiang.su@cipunited.com>
1919         * configure.ac: add description for
1920         AC_DEFINE(ENABLE_MULTIARCH, 1)
1922 2022-11-28  Andrew Pinski  <apinski@marvell.com>
1924         * match.pd ((A / (1 << B)) -> (A >> B).):
1925         Fix comment.
1927 2022-11-28  Sinan  <sinan.lin@linux.alibaba.com>
1929         * config/riscv/riscv.cc (riscv_build_integer): Improve some cases
1930         of loading 64bit constants for rv32.
1932 2022-11-28  Maciej W. Rozycki  <macro@embecosm.com>
1934         * config/riscv/riscv.cc (riscv_emit_int_order_test): Use EQ 0
1935         rather that XOR 1 for LE and LEU operations.
1937 2022-11-28  Richard Biener  <rguenther@suse.de>
1939         PR tree-optimization/107896
1940         * tree-vect-stmts.cc (supportable_widening_operation):
1941         Handle non-vector mode intermediate mode.
1943 2022-11-28  Frolov Daniil  <frolov.da@phystech.edu>
1945         * gimple-ssa-sprintf.cc (fmtresult::type_max_digits): Handle
1946         base == 2.
1947         (tree_digits): Likewise.
1948         (format_integer): Likewise.
1949         (parse_directive): Add cases for %b and %B directives.
1951 2022-11-28  Fei Gao  <gaofei@eswincomputing.com>
1953         * config/riscv/riscv.cc (riscv_first_stack_step): Fix computation
1954         of MIN_FIRST_STEP to cover FP save area too.
1956 2022-11-28  Richard Biener  <rguenther@suse.de>
1958         PR tree-optimization/107493
1959         * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):
1960         Only handle no-op and sign-changing conversions.
1962 2022-11-28  Tobias Burnus  <tobias@codesourcery.com>
1964         * config/gcn/gcn.cc (gcn_expand_builtin_1): Work on s1 instead
1965         of s[0:1] and use USE to prevent removal of setting that register.
1966         * config/gcn/gcn.md (prologue_use_di): Remove.
1968 2022-11-28  Yuri Gribov  <y.gribov@samsung.com>
1970         PR sanitizer/106558
1971         * sanopt.cc: Do not optimize out checks for non-SSA addresses.
1973 2022-11-28  Jakub Jelinek  <jakub@redhat.com>
1975         PR target/106875
1976         * config/i386/i386.opt (x_ix86_abi): Remove TargetSave.
1977         (ix86_abi): Replace it with TargetVariable.
1978         * config/i386/i386-options.cc (ix86_function_specific_save,
1979         ix86_function_specific_restore): Don't save and restore x_ix86_abi.
1981 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1983         * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si,
1984         mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs.
1986 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1988         * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>)
1989         (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix
1990         spacing vs tabs.
1992 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1994         * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing.
1996 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
1998         * config/arm/mve.md (mve_vaddlvq_p_<supf>v4si)
1999         (mve_vaddq_n_<supf><mode>, mve_vaddvaq_<supf><mode>)
2000         (mve_vaddlvaq_<supf>v4si, mve_vaddq_n_f<mode>)
2001         (mve_vaddlvaq_p_<supf>v4si, mve_vaddq<mode>, mve_vaddq_f<mode>):
2002         Fix spacing.
2004 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2006         * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads.
2007         (__arm_vsubq_x Integer): New.
2009 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2011         PR target/107515
2012         * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types.
2014 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2016         PR target/96795
2017         * config/arm/arm_mve.h (__arm_vaddq): Fix Overloading.
2018         (__arm_vmulq): Likewise.
2019         (__arm_vcmpeqq): Likewise.
2020         (__arm_vcmpneq): Likewise.
2021         (__arm_vmaxnmavq): Likewise.
2022         (__arm_vmaxnmvq): Likewise.
2023         (__arm_vminnmavq): Likewise.
2024         (__arm_vsubq): Likewise.
2025         (__arm_vminnmvq): Likewise.
2026         (__arm_vrshlq): Likewise.
2027         (__arm_vqsubq): Likewise.
2028         (__arm_vqdmulltq): Likewise.
2029         (__arm_vqdmullbq): Likewise.
2030         (__arm_vqdmulhq): Likewise.
2031         (__arm_vqaddq): Likewise.
2032         (__arm_vhaddq): Likewise.
2033         (__arm_vhsubq): Likewise.
2034         (__arm_vqdmlashq): Likewise.
2035         (__arm_vqrdmlahq): Likewise.
2036         (__arm_vmlasq): Likewise.
2037         (__arm_vqdmlahq): Likewise.
2038         (__arm_vmaxnmavq_p): Likewise.
2039         (__arm_vmaxnmvq_p): Likewise.
2040         (__arm_vminnmavq_p): Likewise.
2041         (__arm_vminnmvq_p): Likewise.
2042         (__arm_vfmasq_m): Likewise.
2043         (__arm_vsetq_lane): Likewise.
2044         (__arm_vcmpneq_m): Likewise.
2045         (__arm_vhaddq_x): Likewise.
2046         (__arm_vhsubq_x): Likewise.
2047         (__arm_vqrdmlashq_m): Likewise.
2048         (__arm_vqdmlashq_m): Likewise.
2049         (__arm_vmlaldavaxq_p): Likewise.
2050         (__arm_vmlasq_m): Likewise.
2051         (__arm_vqdmulhq_m): Likewise.
2052         (__arm_vqdmulltq_m): Likewise.
2053         (__arm_viwdupq_m): Likewise.
2054         (__arm_viwdupq_u16): Likewise.
2055         (__arm_viwdupq_u32): Likewise.
2056         (__arm_viwdupq_u8): Likewise.
2057         (__arm_vdwdupq_m): Likewise.
2058         (__arm_vdwdupq_u16): Likewise.
2059         (__arm_vdwdupq_u32): Likewise.
2060         (__arm_vdwdupq_u8): Likewise.
2061         (__arm_vaddlvaq): Likewise.
2062         (__arm_vaddlvaq_p): Likewise.
2063         (__arm_vaddvaq): Likewise.
2064         (__arm_vaddvaq_p): Likewise.
2065         (__arm_vcmphiq_m): Likewise.
2066         (__arm_vmladavaq_p): Likewise.
2067         (__arm_vmladavaxq): Likewise.
2068         (__arm_vmlaldavaxq): Likewise.
2069         (__arm_vrmlaldavhaq_p): Likewise.
2071 2022-11-28  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
2073         PR target/96795
2074         * config/arm/arm_mve.h (__arm_vaddq_m_n_s8): Change types.
2075         (__arm_vaddq_m_n_s32): Likewise.
2076         (__arm_vaddq_m_n_s16): Likewise.
2077         (__arm_vaddq_m_n_u8): Likewise.
2078         (__arm_vaddq_m_n_u32): Likewise.
2079         (__arm_vaddq_m_n_u16): Likewise.
2080         (__arm_vaddq_m): Fix Overloading.
2081         (__ARM_mve_coerce3): New.
2083 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2085         * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing.
2087 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2089         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>): Fix
2090         spacing.
2091         * config/arm/arm_mve.h (__arm_vcmpgtq_m, __arm_vcmpleq_m)
2092         (__arm_vcmpltq_m, __arm_vcmpneq_m): Add missing defines.
2094 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2096         * config/arm/mve.md (mve_vdupq_n_f<mode>)
2097         (mve_vdupq_n_<supf><mode>, mve_vdupq_m_n_<supf><mode>)
2098         (mve_vdupq_m_n_f<mode>): Fix spacing.
2100 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2102         * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing.
2104 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2106         * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u'
2107         spacing.
2108         (mve_vddupq_m_wb_u<mode>_insn): Likewise.
2110 2022-11-28  Andrea Corallo  <andrea.corallo@arm.com>
2112         * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix
2113         'vmsr' spacing and reg capitalization.
2115 2022-11-28  Richard Biener  <rguenther@suse.de>
2117         PR tree-optimization/107876
2118         * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe
2119         dominator info if we removed an edge.
2121 2022-11-28  Richard Biener  <rguenther@suse.de>
2123         PR tree-optimization/107867
2124         * tree-ssa-forwprop.cc (pass_forwprop::execute): Handle
2125         abnormal cleanup after substitution.
2127 2022-11-28  Lulu Cheng  <chenglulu@loongson.cn>
2129         * config/loongarch/loongarch.cc (enum loongarch_load_imm_method):
2130         Remove the member METHOD_INSV that is not currently used.
2131         (struct loongarch_integer_op): Define a new member curr_value,
2132         that records the value of the number stored in the destination
2133         register immediately after the current instruction has run.
2134         (loongarch_build_integer): Assign a value to the curr_value member variable.
2135         (loongarch_move_integer): Adds information for the immediate load instruction.
2136         * config/loongarch/loongarch.md (*movdi_32bit): Redefine as define_insn_and_split.
2137         (*movdi_64bit): Likewise.
2138         (*movsi_internal): Likewise.
2139         (*movhi_internal): Likewise.
2140         * config/loongarch/predicates.md: Return true as long as it is CONST_INT, ensure
2141         that the immediate number is not optimized by decomposition during expand
2142         optimization loop.
2144 2022-11-28  liuhongt  <hongtao.liu@intel.com>
2146         PR target/107748
2147         * config/i386/avx512bf16intrin.h (_mm_cvtsbh_ss): Refined.
2148         * config/i386/i386-builtin-types.def (FLOAT_FTYPE_BFLOAT16):
2149         New function type.
2150         * config/i386/i386-builtin.def (BDESC): New builtin.
2151         * config/i386/i386-expand.cc (ix86_expand_args_builtin):
2152         Handle the builtin.
2153         * config/i386/i386.md (extendbfsf2): New expander.
2154         (extendbfsf2_1): New define_insn.
2155         (truncsfbf2): Ditto.
2157 2022-11-26  Andrew Pinski  <apinski@marvell.com>
2159         PR tree-optimization/103356
2160         * match.pd: ((~a) == b -> a ^ b): New pattern.
2162 2022-11-25  Sandra Loosemore  <sandra@codesourcery.com>
2164         * common.opt (fopenmp-target-simd-clone): New option.
2165         (target_simd_clone_device): New enum to go with it.
2166         * doc/invoke.texi (-fopenmp-target-simd-clone): Document.
2167         * flag-types.h (enum omp_target_simd_clone_device_kind): New.
2168         * omp-simd-clone.cc (auto_simd_fail): New function.
2169         (auto_simd_check_stmt): New function.
2170         (plausible_type_for_simd_clone): New function.
2171         (ok_for_auto_simd_clone): New function.
2172         (simd_clone_create): Add force_local argument, make the symbol
2173         have internal linkage if it is true.
2174         (expand_simd_clones): Also check for cloneable functions with
2175         "omp declare target".  Pass explicit_p argument to
2176         simd_clone.compute_vecsize_and_simdlen target hook.
2177         * opts.cc (default_options_table): Add -fopenmp-target-simd-clone.
2178         * target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN):
2179         Add bool explicit_p argument.
2180         * doc/tm.texi: Regenerated.
2181         * config/aarch64/aarch64.cc
2182         (aarch64_simd_clone_compute_vecsize_and_simdlen): Update.
2183         * config/gcn/gcn.cc
2184         (gcn_simd_clone_compute_vecsize_and_simdlen): Update.
2185         * config/i386/i386.cc
2186         (ix86_simd_clone_compute_vecsize_and_simdlen): Update.
2188 2022-11-25  Tamar Christina  <tamar.christina@arm.com>
2190         PR target/107830
2191         * config/aarch64/aarch64.cc
2192         (aarch64_vectorize_can_special_div_by_constant): Check validity during
2193         codegen phase as well.
2195 2022-11-25  Eric Botcazou  <ebotcazou@adacore.com>
2197         * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
2199 2022-11-25  Richard Biener  <rguenther@suse.de>
2201         PR tree-optimization/107865
2202         * tree-cfg.cc (move_sese_region_to_fn): Free the number of
2203         iterations of moved loops.
2205 2022-11-25  Kewen.Lin  <linkw@gcc.gnu.org>
2207         PR target/99889
2208         * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry):
2209         Adjust to call function default_print_patchable_function_entry.
2210         * targhooks.cc (default_print_patchable_function_entry_1): Remove and
2211         move the flags preparation ...
2212         (default_print_patchable_function_entry): ... here, adjust to use
2213         current_function_funcdef_no for label no.
2214         * targhooks.h (default_print_patchable_function_entry_1): Remove.
2215         * varasm.cc (default_elf_asm_named_section): Adjust code for
2216         __patchable_function_entries section support with LPFE label.
2218 2022-11-24  Wilco Dijkstra  <wilco.dijkstra@arm.com>
2220         PR tree-optimization/107413
2221         * config/aarch64/aarch64.cc (struct tune_params): Add
2222         fma_reassoc_width to all CPU tuning structures.
2223         (aarch64_reassociation_width): Use fma_reassoc_width.
2224         * config/aarch64/aarch64-protos.h (struct tune_params): Add
2225         fma_reassoc_width.
2227 2022-11-24  Jakub Jelinek  <jakub@redhat.com>
2229         PR middle-end/107317
2230         * asan.cc: Include diagnostic-core.h.
2231         (asan_emit_stack_protection): Return NULL early if seen_error ().
2233 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
2235         * vr-values.cc (simplify_using_ranges::compare_names): Remove.
2236         (vrp_evaluate_conditional_warnv_with_ops): Remove call to
2237         compare_names.
2238         (simplify_using_ranges::vrp_visit_cond_stmt): Remove use_equiv_p
2239         argument to vrp_evaluate_conditional_warnv_with_ops.
2240         * vr-values.h (class simplify_using_ranges): Remove
2241         compare_names.
2242         Remove use_equiv_p to vrp_evaluate_conditional_warnv_with_ops.
2244 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
2246         * tree-vrp.cc (overflow_comparison_p_1): Remove follow_assert_exprs.
2247         (overflow_comparison_p): Remove use_equiv_p.
2248         * tree-vrp.h (overflow_comparison_p): Same.
2249         * vr-values.cc (vrp_evaluate_conditional_warnv_with_ops): Remove
2250         use_equiv_p argument to overflow_comparison_p.
2252 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
2254         * doc/gimple.texi: Remove ASSERT_EXPR references.
2255         * fold-const.cc (tree_expr_nonzero_warnv_p): Same.
2256         (fold_binary_loc): Same.
2257         (tree_expr_nonnegative_warnv_p): Same.
2258         * gimple-array-bounds.cc (get_base_decl): Same.
2259         * gimple-pretty-print.cc (dump_unary_rhs): Same.
2260         * gimple.cc (get_gimple_rhs_num_ops): Same.
2261         * pointer-query.cc (handle_ssa_name): Same.
2262         * tree-cfg.cc (verify_gimple_assign_single): Same.
2263         * tree-pretty-print.cc (dump_generic_node): Same.
2264         * tree-scalar-evolution.cc (scev_dfs::follow_ssa_edge_expr):Same.
2265         (interpret_rhs_expr): Same.
2266         * tree-ssa-operands.cc (operands_scanner::get_expr_operands): Same.
2267         * tree-ssa-propagate.cc
2268         (substitute_and_fold_dom_walker::before_dom_children): Same.
2269         * tree-ssa-threadedge.cc: Same.
2270         * tree-vrp.cc (overflow_comparison_p): Same.
2271         * tree.def (ASSERT_EXPR): Add note.
2272         * tree.h (ASSERT_EXPR_VAR): Remove.
2273         (ASSERT_EXPR_COND): Remove.
2274         * vr-values.cc (simplify_using_ranges::vrp_visit_cond_stmt):
2275         Remove comment.
2277 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
2279         * Makefile.in: Remove value-range-equiv.o
2280         * gimple-array-bounds.cc
2281         (array_bounds_checker::array_bounds_checker): Remove comment.
2282         * tree-vrp.cc (supported_types_p): Remove use of value_range_equiv.
2283         * value-query.cc (class equiv_allocator): Same.
2284         (range_query::allocate_value_range_equiv): Remove.
2285         (range_query::free_value_range_equiv): Remove.
2286         (range_query::get_value_range): Remove.
2287         * value-query.h (class range_query): Remove get_value_range.
2288         Remove allocate_value_range_equiv.
2289         Remove free_value_range_equiv.
2290         * vr-values.cc (compare_ranges): Replace value_range_equiv with
2291         value_range.
2292         (simplify_using_ranges::get_vr_for_comparison): Same.
2293         (simplify_using_ranges::compare_names): Same.
2294         * vr-values.h: Remove value_range_equiv references.
2295         * value-range-equiv.cc: Removed.
2296         * value-range-equiv.h: Removed.
2298 2022-11-24  Aldy Hernandez  <aldyh@redhat.com>
2300         * doc/invoke.texi: Remove docs for max-vrp-switch-assertions,
2301         vrp1-mode, and vrp2-mode.
2302         * params.opt: Same.
2303         * range-op.cc (masked_increment): Move from tree-vrp.cc.
2304         * tree-vrp.cc (class live_names): Remove.
2305         (live_names::init_bitmap_if_needed): Remove.
2306         (live_names::block_has_live_names_p): Remove.
2307         (live_names::clear_block): Remove.
2308         (live_names::merge): Remove.
2309         (live_names::set): Remove.
2310         (live_names::clear): Remove.
2311         (live_names::live_names): Remove.
2312         (live_names::~live_names): Remove.
2313         (live_names::live_on_block_p): Remove.
2314         (live_names::live_on_edge_p): Remove.
2315         (get_single_symbol): Make static.
2316         (build_symbolic_expr): Remove.
2317         (adjust_symbolic_bound): Remove.
2318         (combine_bound): Remove.
2319         (set_value_range_with_overflow): Remove.
2320         (extract_range_from_pointer_plus_expr): Remove.
2321         (extract_range_from_plus_minus_expr): Remove.
2322         (drop_undefines_to_varying): Remove.
2323         (range_fold_binary_symbolics_p): Remove.
2324         (range_fold_unary_symbolics_p): Remove.
2325         (range_fold_binary_expr): Remove.
2326         (infer_value_range): Remove.
2327         (dump_assert_info): Remove.
2328         (dump_asserts_info): Remove.
2329         (add_assert_info): Remove.
2330         (extract_code_and_val_from_cond_with_ops): Remove.
2331         (masked_increment): Move to range-op.cc.
2332         (register_edge_assert_for_2): Remove.
2333         (find_case_label_index): Remove.
2334         (find_case_label_range): Remove.
2335         (register_edge_assert_for_1): Remove.
2336         (is_masked_range_test): Remove.
2337         (register_edge_assert_for): Remove.
2338         (stmt_interesting_for_vrp): Remove.
2339         (struct case_info): Remove.
2340         (struct assert_locus): Remove.
2341         (class vrp_asserts): Remove.
2342         (vrp_asserts::build_assert_expr_for): Remove.
2343         (vrp_asserts::dump): Remove.
2344         (vrp_asserts::register_new_assert_for): Remove.
2345         (vrp_asserts::finish_register_edge_assert_for): Remove.
2346         (vrp_asserts::find_conditional_asserts): Remove.
2347         (vrp_asserts::compare_case_labels): Remove.
2348         (vrp_asserts::find_switch_asserts): Remove.
2349         (vrp_asserts::find_assert_locations_in_bb): Remove.
2350         (vrp_asserts::find_assert_locations): Remove.
2351         (vrp_asserts::process_assert_insertions_for): Remove.
2352         (vrp_asserts::compare_assert_loc): Remove.
2353         (vrp_asserts::process_assert_insertions): Remove.
2354         (vrp_asserts::insert_range_assertions): Remove.
2355         (vrp_asserts::all_imm_uses_in_stmt_or_feed_cond): Remove.
2356         (vrp_asserts::remove_range_assertions): Remove.
2357         (class vrp_prop): Remove.
2358         (vrp_prop::initialize): Remove.
2359         (enum ssa_prop_result): Remove.
2360         (vrp_prop::visit_stmt): Remove.
2361         (vrp_prop::visit_phi): Remove.
2362         (vrp_prop::finalize): Remove.
2363         (class vrp_folder): Remove.
2364         (vrp_folder::fold_predicate_in): Remove.
2365         (vrp_folder::fold_stmt): Remove.
2366         (vrp_folder::simplify_casted_conds): Remove.
2367         (execute_vrp): Remove.
2368         * tree-vrp.h (struct assert_info): Remove.
2369         (register_edge_assert_for): Remove.
2370         (stmt_interesting_for_vrp): Remove.
2371         (infer_value_range): Remove.
2372         (get_single_symbol): Remove.
2373         (masked_increment): Remove.
2374         (execute_ranger_vrp): Remove.
2375         * vr-values.cc (set_value_range_to_nonnegative): Remove.
2376         (set_value_range_to_truthvalue): Remove.
2377         (vr_values::get_lattice_entry): Remove.
2378         (vr_values::get_value_range): Remove.
2379         (vr_values::range_of_expr): Remove.
2380         (vr_values::value_of_expr): Remove.
2381         (vr_values::value_on_edge): Remove.
2382         (vr_values::value_of_stmt): Remove.
2383         (vr_values::set_def_to_varying): Remove.
2384         (vr_values::set_defs_to_varying): Remove.
2385         (vr_values::update_value_range): Remove.
2386         (symbolic_range_based_on_p): Remove.
2387         (gimple_assign_nonzero_p): Remove.
2388         (gimple_stmt_nonzero_p): Remove.
2389         (vr_values::vrp_stmt_computes_nonzero): Remove.
2390         (vr_values::op_with_constant_singleton_value_range): Remove.
2391         (vr_values::extract_range_for_var_from_comparison_expr): Remove.
2392         (vr_values::extract_range_from_assert): Remove.
2393         (vr_values::extract_range_from_ssa_name): Remove.
2394         (vr_values::extract_range_from_binary_expr): Remove.
2395         (vr_values::extract_range_from_unary_expr): Remove.
2396         (vr_values::extract_range_from_cond_expr): Remove.
2397         (vr_values::extract_range_from_comparison): Remove.
2398         (vr_values::extract_range_from_ubsan_builtin): Remove.
2399         (vr_values::extract_range_basic): Remove.
2400         (vr_values::extract_range_from_assignment): Remove.
2401         (vr_values::adjust_range_with_scev): Remove.
2402         (vr_values::dump): Remove.
2403         (vr_values::vr_values): Remove.
2404         (vr_values::~vr_values): Remove.
2405         (vrp_valueize): Remove.
2406         (vrp_valueize_1): Remove.
2407         (get_output_for_vrp): Remove.
2408         (vr_values::vrp_visit_assignment_or_call): Remove.
2409         (simplify_using_ranges::vrp_evaluate_conditional): Remove.
2410         (vr_values::vrp_visit_switch_stmt): Remove.
2411         (vr_values::extract_range_from_stmt): Remove.
2412         (vr_values::extract_range_from_phi_node): Remove.
2413         (simplify_using_ranges::fold_cond): Add FIXME note.
2414         (vr_values::set_vr_value): Remove.
2415         (vr_values::swap_vr_value): Remove.
2416         * vr-values.h (class vr_values): Remove.
2417         (get_output_for_vrp): Remove.
2419 2022-11-24  Hongyu Wang  <hongyu.wang@intel.com>
2421         PR target/107692
2422         * common/config/i386/i386-common.cc (ix86_optimization_table):
2423         Enable loop unroll O2, disable -fweb and -frename-registers
2424         by default.
2425         * config/i386/i386-options.cc
2426         (ix86_override_options_after_change):
2427         Disable small loop unroll when funroll-loops enabled, reset
2428         cunroll_grow_size when it is not explicitly enabled.
2429         (ix86_option_override_internal): Call
2430         ix86_override_options_after_change instead of calling
2431         ix86_recompute_optlev_based_flags and ix86_default_align
2432         separately.
2433         * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
2434         factor if -munroll-only-small-loops enabled.
2435         * loop-init.cc (pass_rtl_unroll_loops::gate): Do not enable
2436         loop unrolling for -O2-speed.
2437         (pass_rtl_unroll_loops::execute): Rmove
2438         targetm.loop_unroll_adjust check.
2440 2022-11-23  Ramana Radhakrishnan  <ramana.gcc@gmail.com>
2442         * config/arm/types.md: Update comment.
2443         (is_neon_type): Add neon_fcmla, neon_fcadd.
2445 2022-11-23  Jonathan Wakely  <jwakely@redhat.com>
2447         * doc/invoke.texi (C++ Dialect Options): Recommend using
2448         -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor.
2450 2022-11-23  Jakub Jelinek  <jakub@redhat.com>
2452         PR bootstrap/107722
2453         * diagnostic.cc (test_diagnostic_get_location_text): Test
2454         special_fname_builtin () rather than "<built-in>" and expect
2455         special_fname_builtin () concatenated with ":" for it.
2457 2022-11-23  Martin Liska  <mliska@suse.cz>
2459         * Makefile.in: Set DO_LINK_MUTEX.
2461 2022-11-23  Lulu Cheng  <chenglulu@loongson.cn>
2462             xujiahao  <xujiahao@loongson.cn>
2464         * config/loongarch/constraints.md (ZD): New constraint.
2465         * config/loongarch/loongarch-def.c: Initial number of parallel prefetch.
2466         * config/loongarch/loongarch-tune.h (struct loongarch_cache):
2467         Define number of parallel prefetch.
2468         * config/loongarch/loongarch.cc (loongarch_option_override_internal):
2469         Set up parameters to be used in prefetching algorithm.
2470         * config/loongarch/loongarch.md (prefetch): New template.
2472 2022-11-23  Marek Polacek  <polacek@redhat.com>
2474         Revert:
2475         2022-11-23  Marek Polacek  <polacek@redhat.com>
2477         * Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
2478         Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
2479         ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
2480         * configure.ac (--enable-host-shared): Don't set PICFLAG here.
2481         (--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
2482         check.
2483         * configure: Regenerate.
2484         * doc/install.texi: Document --enable-host-pie.
2486 2022-11-23  Marek Polacek  <polacek@redhat.com>
2488         Revert:
2489         2022-11-23  Marek Polacek  <polacek@redhat.com>
2491         * configure.ac (--enable-host-bind-now): New check.  Add
2492         -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
2493         * configure: Regenerate.
2494         * doc/install.texi: Document --enable-host-bind-now.
2496 2022-11-23  Marek Polacek  <polacek@redhat.com>
2498         * configure.ac (--enable-host-bind-now): New check.  Add
2499         -Wl,-z,now to LD_PICFLAG if --enable-host-bind-now.
2500         * configure: Regenerate.
2501         * doc/install.texi: Document --enable-host-bind-now.
2503 2022-11-23  Marek Polacek  <polacek@redhat.com>
2505         * Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
2506         Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
2507         ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
2508         * configure.ac (--enable-host-shared): Don't set PICFLAG here.
2509         (--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
2510         check.
2511         * configure: Regenerate.
2512         * doc/install.texi: Document --enable-host-pie.
2514 2022-11-22  Jeff Law  <jlaw@ventanamicro.com>
2516         * tree-ssa-dom.cc (record_edge_info): Fix thinko in last commit.
2518 2022-11-22  Jeff Law  <jlaw@ventanamicro.com>
2520         * tree-ssa-dom.cc (record_edge_info): Fix comment typos.
2522 2022-11-22  Jeff Law  <jeffreyalaw@gmail.com>
2524         * config/riscv/riscv.cc (riscv_get_separate_components): Do not
2525         do shrink-wrapping for a frame with a variable size.
2527 2022-11-22  Siddhesh Poyarekar  <siddhesh@gotplt.org>
2529         * tree-object-size.cc (todo): New variable.
2530         (object_sizes_execute): Use it.
2531         (strdup_object_size): New function.
2532         (call_object_size): Use it.
2534 2022-11-22  Eric Botcazou  <ebotcazou@adacore.com>
2536         * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
2537         Bail out if source and destination do not have the same storage order.
2539 2022-11-22  Martin Jambor  <mjambor@suse.cz>
2541         * ipa-sra.cc (ipa_sra_dump_all_summaries): Dump edge summaries even
2542         for non-candidates.
2544 2022-11-22  Martin Jambor  <mjambor@suse.cz>
2546         * ipa-cp.cc (push_agg_values_from_edge): Do not consider constants
2547         in unused aggregate parameters.
2549 2022-11-22  Martin Jambor  <mjambor@suse.cz>
2551         * ipa-param-manipulation.h (ipa_param_body_adjustments): Removed
2552         member m_split_modifications_p.
2553         * ipa-param-manipulation.cc
2554         (ipa_param_body_adjustments::common_initialization): Do not set
2555         m_split_modifications_p.
2556         (ipa_param_body_adjustments::ipa_param_body_adjustments): Remove
2557         initializations of m_split_modifications_p.
2558         (ipa_param_body_adjustments::modify_call_stmt): Check that
2559         m_replacements is empty instead of m_split_modifications_p.
2561 2022-11-22  Martin Jambor  <mjambor@suse.cz>
2563         PR ipa/107661
2564         * ipa-cp.cc (push_agg_values_from_edge): New parameter
2565         optimize_self_recursion, use it to decide whether to pass interim to
2566         the helper function.
2567         (find_aggregate_values_for_callers_subset): Pass true in the new
2568         parameter of push_agg_values_from_edge.
2569         (cgraph_edge_brings_all_agg_vals_for_node): Pass false in the new
2570         parameter of push_agg_values_from_edge.
2572 2022-11-22  Tobias Burnus  <tobias@codesourcery.com>
2573             Andrew Stubbs  <ams@codesourcery.com>
2575         * config/gcn/gcn-builtins.def (FIRST_CALL_THIS_THREAD_P,
2576         GET_STACK_LIMIT): Add new builtins.
2577         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand them.
2578         * config/gcn/gcn.md (prologue_use): Add "register_operand" as
2579         arg to match_operand.
2580         (prologue_use_di): New; DI insn_and_split variant of the former.
2582 2022-11-22  Richard Biener  <rguenther@suse.de>
2584         PR tree-optimization/107803
2585         * tree-ssa-propagate.cc (substitute_and_fold_dom_walker): Add
2586         need_ab_cleanup member.
2587         (substitute_and_fold_dom_walker::before_dom_children): When
2588         a stmt can no longer transfer control flow abnormally set
2589         need_ab_cleanup.
2590         (substitute_and_fold_engine::substitute_and_fold): Cleanup
2591         abnormal control flow.
2593 2022-11-22  Richard Biener  <rguenther@suse.de>
2595         PR tree-optimization/107672
2596         * tree-vect-stmts.cc (supportable_widening_operation): Avoid
2597         type_for_mode on vector modes.
2599 2022-11-22  Richard Biener  <rguenther@suse.de>
2601         PR tree-optimization/107766
2602         * tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
2603         Use *node to check for FP vector types.
2605 2022-11-22  liuhongt  <hongtao.liu@intel.com>
2607         * config/i386/mmx.md (*mov<mode>_internal): Add
2608         ix86_hard_reg_move_ok to condition.
2610 2022-11-22  liuhongt  <hongtao.liu@intel.com>
2612         * config/i386/i386.cc (ix86_can_change_mode_class): Also guard
2613         size of TO.
2614         (ix86_hard_regno_mode_ok): Remove VALID_AVX512FP16_SCALAR_MODE
2615         * config/i386/i386.h (VALID_AVX512FP16_SCALAR_MODE): Merged to
2616         ..
2617         (VALID_AVX512F_SCALAR_MODE): .. this, also add HImode.
2618         (VALID_SSE_REG_MODE): Add DI/HImode.
2620 2022-11-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2622         * config/rtems.h (SUBTARGET_CC1_SPEC): Undef and define.
2624 2022-11-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2626         * gcc.cc (SUBTARGET_CC1_SPEC): Define if not defined.
2627         (cc1_spec): Append SUBTARGET_CC1_SPEC.
2629 2022-11-21  Dimitar Dimitrov  <dimitar@dinux.eu>
2631         * doc/sourcebuild.texi (sockets): Document new check.
2633 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
2635         * tree-ssa-loop.h (tree_niter_desc): Update comment.
2637 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
2639         * tree-ssa-loop-niter.cc
2640         (number_of_iterations_exit_assumptions): Modify to call...
2641         (number_of_iterations_bitcount): ...this new function.
2642         (number_of_iterations_popcount): Now called by the above.
2643         Refactor, and extract popcount expression builder to...
2644         (build_popcount_expr): this new function.
2646 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
2648         * tree-ssa-loop-niter.cc (ssa_defined_by_minus_one_stmt_p): Move
2649         (number_of_iterations_popcount): Move, and remove separate prototype.
2651 2022-11-21  Andrew Carlotti  <andrew.carlotti@arm.com>
2653         * tree-ssa-loop-niter.cc (number_of_iterations_exit_assumptions):
2654         Move at_stmt assignment.
2656 2022-11-21  Christophe Lyon  <christophe.lyon@arm.com>
2658         * genmultilib: Fix options and dirnames/osdirnames sanity check.
2660 2022-11-21  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2662         PR target/107786
2663         * config/riscv/riscv.md
2664         (*branch<ANYI:mode>_shiftedarith_equals_zero): Wrap ANYI
2665         in a subreg, as our branch instructions only supports X.
2667 2022-11-21  Jakub Jelinek  <jakub@redhat.com>
2669         PR target/107748
2670         * config/i386/avx512fp16intrin.h (_mm512_castph512_ph128,
2671         _mm512_castph512_ph256, _mm512_castph128_ph512,
2672         _mm512_castph256_ph512, _mm512_set1_pch): Uglify names of local
2673         variables and union members.
2674         * config/i386/avx512fp16vlintrin.h (_mm256_castph256_ph128,
2675         _mm256_castph128_ph256, _mm256_set1_pch, _mm_set1_pch): Likewise.
2676         * config/i386/smmintrin.h (_mm_extract_ps): Likewise.
2678 2022-11-21  Christophe Lyon  <christophe.lyon@arm.com>
2680         * genmultilib: Add sanity check.
2682 2022-11-21  Eric Botcazou  <ebotcazou@adacore.com>
2684         * config/arm/arm.cc (arm_attribute_table) <cmse_nonsecure_call>:
2685         Change decl_required field to false.
2686         (arm_handle_cmse_nonsecure_call): Deal with a TYPE node.
2688 2022-11-21  Andrew Pinski  <apinski@marvell.com>
2690         * gimplify.cc (gimplify_modify_expr): If
2691         either *from_p or *to_p were error_operand
2692         return early.
2694 2022-11-21  liuhongt  <hongtao.liu@intel.com>
2696         * config/i386/i386-builtins.cc (def_builtin): Handle "shared"
2697         avx512bf16vl-avxneconvert builtins.
2699 2022-11-20  Jakub Jelinek  <jakub@redhat.com>
2701         PR target/107183
2702         * reg-stack.cc (next_flags_user): Add DEBUG_SEEN argument.
2703         If >= 0 and a DEBUG_INSN would be otherwise returned, set
2704         DEBUG_SEEN to 1 and ignore it.
2705         (swap_rtx_condition): Add DEBUG_SEEN argument.  In >= 0
2706         mode only set DEBUG_SEEN to 1 if problematic DEBUG_ISNSs
2707         were seen and revert all changes on success in that case.
2708         Don't try to recog_memoized DEBUG_INSNs.
2709         (compare_for_stack_reg): Adjust swap_rtx_condition caller.
2710         If it returns true and debug_seen is 1, call swap_rtx_condition
2711         again with debug_seen -1.
2713 2022-11-20  Jeff Law  <jlaw@ventanamicro.com>
2715         PR other/104044
2716         * config/mn10300/mn10300.cc (mn10300_print_operand): Remove
2717         extraneous semicolon.
2718         * config/nvptx/nvptx.cc (nvptx_goacc_reduction_fini): Likewise.
2720 2022-11-19  Andrew Pinski  <apinski@marvell.com>
2722         PR middle-end/14840
2723         * tree-core.h (tree_code_type): Constexprify
2724         by including all-tree.def.
2725         (tree_code_length): Likewise.
2726         * tree.cc (tree_code_type): Remove.
2727         (tree_code_length): Remove.
2729 2022-11-19  Thomas Schwinge  <thomas@codesourcery.com>
2731         * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
2732         '-mmainkernel'.
2734 2022-11-19  Jonathan Wakely  <jwakely@redhat.com>
2735             LIU Hao  <lh_mouse@126.com>
2737         * system.h [INCLUDE_MUTEX]: Include header for std::mutex.
2739 2022-11-19  Jakub Jelinek  <jakub@redhat.com>
2741         PR target/107628
2742         * config/i386/i386-protos.h (ix86_expand_fast_convert_bf_to_sf):
2743         Declare.
2744         * config/i386/i386-expand.cc (ix86_expand_fast_convert_bf_to_sf): New
2745         function.
2746         * config/i386/i386.md (cbranchbf4, cstorebf4): Use it.
2748 2022-11-19  Jeff Chapman II  <jchapman@lock3software.com>
2749             Andrew Sutton   <asutton@lock3software.com>
2750             Andrew Marmaduke  <amarmaduke@lock3software.com>
2751             Michael Lopez  <mlopez@lock3software.com>
2752             Jason Merrill   <jason@redhat.com>
2754         * doc/invoke.texi: Document contracts flags.
2756 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2758         * config/riscv/bitmanip.md (*minmax): Additional pattern for
2759         min/max against constants that are extension-invariant.
2760         * config/riscv/iterators.md (minmax_optab): Add an iterator
2761         that has only min and max rtl.
2763 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2765         * config/riscv/bitmanip.md
2766         (*branch<X:mode>_mask_twobits_equals_singlebit):
2767         Handle "if ((a & T) == C)" using Zbs, when T has 2 bits set and C
2768         has one of these tow bits set.
2769         * config/riscv/predicates.md (const_twobits_not_arith_operand):
2770         New predicate.
2772 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2774         * config/riscv/bitmanip.md (*<or_optab>i<mode>_extrabit):
2775         New pattern for binvi+binvi/xori and bseti+bseti/ori
2776         (*andi<mode>_extrabit): New pattern for bclri+bclri/andi
2777         * config/riscv/iterators.md (any_or): Match or and ior
2778         * config/riscv/predicates.md (const_twobits_operand):
2779         New predicate.
2780         (uimm_extra_bit_operand): New predicate.
2781         (uimm_extra_bit_or_twobits): New predicate.
2782         (not_uimm_extra_bit_operand): New predicate.
2783         (not_uimm_extra_bit_or_nottwobits): New predicate.
2784         * config/riscv/riscv.h (UIMM_EXTRA_BIT_OPERAND):
2785         Helper for the uimm_extra_bit_operand and
2786         not_uimm_extra_bit_operand predicates.
2788 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2790         * config/riscv/bitmanip.md: Handle corner-cases for combine
2791         when chaining slli(.uw)? + addw
2792         * config/riscv/riscv-protos.h (riscv_shamt_matches_mask_p):
2793         Define prototype.
2794         * config/riscv/riscv.cc (riscv_shamt_matches_mask_p):
2795         Helper for evaluating the relationship between two operands.
2797 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2799         * config/riscv/bitmanip.md: Add a define_split to optimize
2800         slliw + addiw + divw into sh[123]add + divw.
2802 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2804         * config/riscv/predicates.md (shifted_const_arith_operand): New predicate.
2805         (uimm_extra_bit_operand): New predicate.
2806         * config/riscv/riscv.md (*branch<ANYI:mode>_shiftedarith_equals_zero):
2807         New pattern.
2808         (*branch<ANYI:mode>_shiftedmask_equals_zero): New pattern.
2810 2022-11-18  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2812         * config/riscv/bitmanip.md (*bsetidisi): New pattern.
2814 2022-11-18  Richard Purdie  <richard.purdie@linuxfoundation.org>
2816         * doc/invoke.texi: Document prefix-maps don't affect directives.
2818 2022-11-18  Andrew Pinski  <apinski@marvell.com>
2820         PR middle-end/107705
2821         * function.cc (aggregate_value_p): Return 0 if
2822         the function type was an error operand.
2824 2022-11-18  Andrew Pinski  <apinski@marvell.com>
2826         PR c/106764
2827         PR c/106765
2828         PR c/107307
2829         * gimplify.cc (gimplify_compound_lval): Return GS_ERROR
2830         if gimplify_expr had return GS_ERROR.
2831         (gimplify_call_expr): Likewise.
2833 2022-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2835         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_sext):
2836         Use <GPI:w>  for destination format.
2837         * config/aarch64/iterators.md (w_sz): Delete.
2839 2022-11-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2841         * config/aarch64/aarch64.h (TARGET_RCPC2): Define.
2842         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
2843         Adjust output template.
2844         (*aarch64_atomic_load<ALLX:mode>_rcpc_sex): Guard on TARGET_RCPC2.
2845         Adjust output template.
2846         * config/aarch64/iterators.md (w_sz): New mode attr.
2848 2022-11-18  Richard Biener  <rguenther@suse.de>
2850         PR tree-optimization/107647
2851         * tree-vect-slp-patterns.cc (addsub_pattern::recognize): Only
2852         allow FMA generation with -ffp-contract=fast for FP types.
2853         (complex_mul_pattern::matches): Likewise.
2855 2022-11-18  Jinyang He  <hejinyang@loongson.cn>
2857         PR target/107713
2858         * config/loongarch/sync.md
2859         (atomic_cas_value_exchange_7_<mode>): New define_insn.
2860         (atomic_exchange): Use atomic_cas_value_exchange_7_si instead of
2861         atomic_cas_value_cmp_and_7_si.
2863 2022-11-17  Andrew Pinski  <apinski@marvell.com>
2865         PR middle-end/107734
2866         * match.pd (perm + vector op pattern): Clear the sbitmap before
2867         use.
2869 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
2871         PR tree-optimization/107732
2872         * range-op-float.cc (foperator_abs::op1_range): Early exit when
2873         result is undefined.
2875 2022-11-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2877         * config/riscv/bitmanip.md (*bclri<mode>_nottwobits): New pattern.
2878         (*bclridisi_nottwobits): New pattern, handling the sign-bit.
2879         * config/riscv/predicates.md (const_nottwobits_operand):
2880         New predicate.
2882 2022-11-17  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2884         * config/riscv/bitmanip.md: Add a splitter to generate
2885         polarity-reversed masks from a set bit using bexti + addi.
2887 2022-11-17  mtsamis  <manolis.tsamis@vrull.eu>
2889         * config/riscv/riscv.cc (struct machine_function): Add array to store
2890         register wrapping information.
2891         (riscv_for_each_saved_reg): Skip registers that are wrapped separetely.
2892         (riscv_get_separate_components): New function.
2893         (riscv_components_for_bb): Likewise.
2894         (riscv_disqualify_components): Likewise.
2895         (riscv_process_components): Likewise.
2896         (riscv_emit_prologue_components): Likewise.
2897         (riscv_emit_epilogue_components): Likewise.
2898         (riscv_set_handled_components): Likewise.
2899         (TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS): Define.
2900         (TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB): Likewise.
2901         (TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS): Likewise.
2902         (TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS): Likewise.
2903         (TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS): Likewise.
2904         (TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Likewise.
2906 2022-11-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2908         * config/aarch64/atomics.md (*aarch64_atomic_load<ALLX:mode>_rcpc_zext):
2909         Add mode size check to condition.
2910         (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): Likewise.
2912 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
2914         PR tree-optimization/68097
2915         * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call
2916         range_of_stmt for floats.
2918 2022-11-17  Lili Cui  <lili.cui@intel.com>
2920         * config/i386/x86-tune.def
2921         (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake.
2922         (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto.
2924 2022-11-17  Tamar Christina  <tamar.christina@arm.com>
2926         PR tree-optimization/107717
2927         * match.pd: Ensure same SSA_NAME.
2929 2022-11-17  Tamar Christina  <tamar.christina@arm.com>
2931         * match.pd: Replace GET_MODE_WIDER_MODE with
2932         custom code.
2934 2022-11-17  Aldy Hernandez  <aldyh@redhat.com>
2936         * range-op-float.cc (range_operator_float::fold_range): Make check
2937         for maybe_isnan more readable.
2939 2022-11-17  Kewen Lin  <linkw@linux.ibm.com>
2941         * gimple-fold.cc (gimple_fold_partial_load_store_mem_ref): Use
2942         tree_fits_shwi_p rather than tree_fits_uhwi_p as bias is signed.
2944 2022-11-17  Jia-Wei Chen  <jiawei@iscas.ac.cn>
2946         * config/riscv/riscv.cc (riscv_expand_epilogue):
2947         Do not emit useless add sp, sp, 0 instrutions.
2949 2022-11-17  Jeff Law  <jlaw@ventanamicro.com>
2951         * config/sh/sh_treg_combine.cc: Include tm-preds.h.
2952         (t_reg_operand): Remove bogus prototype.
2953         (negt_reg_operand): Likewise.
2955 2022-11-16  Marek Polacek  <polacek@redhat.com>
2957         PR c++/106649
2958         * doc/invoke.texi: Document -Winvalid-constexpr.
2960 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2962         * config/riscv/bitmanip.md: Add split covering
2963         "(a & (1 << BIT_NO)) ? 0 : 1".
2965 2022-11-16  Philipp Tomsich  <philipp.tomsich@vrull.eu>
2967         * config/riscv/bitmanip.md (*bext<mode>): Add an additional
2968         pattern that allows the 3rd argument to zero_extract to be
2969         an Xmode register operand.
2971 2022-11-16  Richard Biener  <rguenther@suse.de>
2973         PR tree-optimization/107686
2974         * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
2975         VEC_UNPACK support to integral typed bitfield refs.
2977 2022-11-16  Richard Biener  <rguenther@suse.de>
2979         PR middle-end/107679
2980         * tree-into-ssa.cc (maybe_register_def): Use new temporary if
2981         we require an uninitialized value for a parameter decl.
2983 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
2985         PR target/107676
2986         * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
2988 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
2990         PR target/87832
2991         * config/i386/znver.md: (znver1_fp_op_mul): Correct cycles in
2992         the reservation.
2993         (znver1_fp_op_mul_load): Ditto.
2994         (znver1_mmx_mul): Ditto.
2995         (znver1_mmx_load): Ditto.
2996         (znver1_ssemul_ss_ps): Ditto.
2997         (znver1_ssemul_ss_ps_load): Ditto.
2998         (znver1_ssemul_avx256_ps): Ditto.
2999         (znver1_ssemul_avx256_ps_load): Ditto.
3000         (znver1_ssemul_sd_pd): Ditto.
3001         (znver1_ssemul_sd_pd_load): Ditto.
3002         (znver2_ssemul_sd_pd): Ditto.
3003         (znver2_ssemul_sd_pd_load): Ditto.
3004         (znver1_ssemul_avx256_pd): Ditto.
3005         (znver1_ssemul_avx256_pd_load): Ditto.
3006         (znver1_sseimul): Ditto.
3007         (znver1_sseimul_avx256): Ditto.
3008         (znver1_sseimul_load): Ditto.
3009         (znver1_sseimul_avx256_load): Ditto.
3010         (znver1_sseimul_di): Ditto.
3011         (znver1_sseimul_load_di): Ditto.
3013 2022-11-16  Alexander Monakov  <amonakov@ispras.ru>
3015         PR target/87832
3016         * config/i386/znver.md (znver1_fdiv): New automaton.
3017         (znver1-fdiv): New unit.
3018         (znver1_fp_op_div): Correct unit and cycles in the reservation.
3019         (znver1_fp_op_div_load): Ditto.
3020         (znver1_fp_op_idiv_load): Ditto.
3021         (znver2_fp_op_idiv_load): Ditto.
3022         (znver1_ssediv_ss_ps): Ditto.
3023         (znver1_ssediv_ss_ps_load): Ditto.
3024         (znver1_ssediv_sd_pd): Ditto.
3025         (znver1_ssediv_sd_pd_load): Ditto.
3026         (znver1_ssediv_avx256_ps): Ditto.
3027         (znver1_ssediv_avx256_ps_load): Ditto.
3028         (znver1_ssediv_avx256_pd): Ditto.
3029         (znver1_ssediv_avx256_pd_load): Ditto.
3031 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
3032             Andrew Stubbs  <ams@codesourcery.com>
3034         * config/gcn/gcn-builtins.def (KERNARG_PTR): Add.
3035         * config/gcn/gcn.cc (gcn_init_builtin_types): Change siptr_type_node,
3036         sfptr_type_node and voidptr_type_node from FLAT to ADDR_SPACE_DEFAULT.
3037         (gcn_expand_builtin_1): Handle GCN_BUILTIN_KERNARG_PTR.
3038         (gcn_oacc_dim_size): Return in ADDR_SPACE_FLAT.
3040 2022-11-16  David Malcolm  <dmalcolm@redhat.com>
3042         * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o.
3044 2022-11-16  Max Filippov  <jcmvbkbc@gmail.com>
3046         PR target/107645
3047         * config/m68k/predicates.md (symbolic_operand): Return false
3048         when UNSPEC is under the CONST node.
3050 2022-11-16  Christoph Müllner  <christoph.muellner@vrull.eu>
3052         * doc/invoke.texi: Fix PRU/RISC-V option list formatting.
3054 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
3056         * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...'
3057         besides tailing '$nohost' as being for reverse offload.
3059 2022-11-16  Jakub Jelinek  <jakub@redhat.com>
3061         PR tree-optimization/107668
3062         * range-op-float.cc (float_binary_op_range_finish): Set VARYING
3063         also when r is UNDEFINED.
3065 2022-11-16  Kewen Lin  <linkw@linux.ibm.com>
3067         PR rtl-optimization/90259
3068         * function.cc (rest_of_handle_thread_prologue_and_epilogue): Add
3069         parameter fun, and call function purge_all_dead_edges.
3070         (pass_thread_prologue_and_epilogue::execute): Name unamed parameter
3071         as fun, and use it for rest_of_handle_thread_prologue_and_epilogue.
3073 2022-11-15  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3075         * config/riscv/riscv-builtins.cc (struct riscv_builtin_description):
3076         add the pause machine-dependent builtin with no result and no
3077         arguments; mark it as always present (pause is a true hint
3078         that encodes into a fence-insn, if not supported with the new
3079         pause semantics).
3080         * config/riscv/riscv-ftypes.def: Add type for void -> void.
3081         * config/riscv/riscv.md (riscv_pause): Add risc_pause and
3082         UNSPECV_PAUSE
3083         * doc/extend.texi: Document __builtin_riscv_pause.
3084         * optabs.cc (maybe_gen_insn): Allow nops == 0 (void -> void).
3086 2022-11-15  David Faust  <david.faust@oracle.com>
3088         * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized
3089         variable in error case.
3091 2022-11-15  David Malcolm  <dmalcolm@redhat.com>
3093         PR analyzer/106140
3094         * doc/invoke.texi (Static Analyzer Options): Add
3095         -Wanalyzer-fd-phase-mismatch and -Wanalyzer-fd-type-mismatch.  Add
3096         "socket", "bind", "listen", "accept", and "connect" to the list of
3097         functions known to the analyzer.
3099 2022-11-15  David Malcolm  <dmalcolm@redhat.com>
3101         PR analyzer/106302
3102         * Makefile.in (ANALYZER_OBJS): Add analyzer/analyzer-language.o.
3103         (GTFILES): Add analyzer/analyzer-language.cc.
3104         * doc/analyzer.texi: Document __analyzer_dump_named_constant.
3106 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
3108         * json.h (class string): Add M_LEN member to store the length of
3109         the data.  Add constructor taking an explicit length.
3110         * json.cc (string::string):  Implement the new constructor.
3111         (string::print): Support printing strings that are not
3112         null-terminated.  Escape embdedded null bytes on output.
3113         (test_writing_strings): Test the new null-byte-related features of
3114         json::string.
3116 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
3118         * diagnostic.cc (diagnostic_get_location_text): Use
3119         special_fname_builtin () rather than a hardcoded string (which was
3120         also incorrectly left untranslated previously.)
3121         * input.cc (special_fname_builtin): New function.
3122         (expand_location_1): Use special_fname_builtin () rather than a
3123         hard-coded string.
3124         (test_builtins): Likewise.
3125         * input.h (special_fname_builtin): Declare.
3127 2022-11-15  Lewis Hyatt  <lhyatt@gmail.com>
3129         * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc
3130         location in return value of linemap_resolve_location().
3132 2022-11-15  Jonathan Wakely  <jwakely@redhat.com>
3134         * doc/cpp.texi (Pragmas): Use @item and @itemx for region
3135         pragmas.
3137 2022-11-15  Maciej W. Rozycki  <macro@embecosm.com>
3139         * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over
3140         `full_costs'.
3142 2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
3144         * config/aarch64/atomics.md
3145         (*aarch64_atomic_load<ALLX:mode>_rcpc_zext): New pattern.
3146         (*aarch64_atomic_load<ALLX:mode>_rcpc_sext): New pattern.
3148 2022-11-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
3149             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3151         * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New Macro.
3152         (TARGET_RCPC): New Macro.
3153         * config/aarch64/atomics.md (atomic_load<mode>): Change into an expand.
3154         (aarch64_atomic_load<mode>_rcpc): New define_insn for ldapr.
3155         (aarch64_atomic_load<mode>): Rename of old define_insn for ldar.
3156         * config/aarch64/iterators.md (UNSPEC_LDAP): New unspec enum value.
3157         * doc/invoke.texi (rcpc): Ammend documentation to mention the effects
3158         on code generation.
3160 2022-11-15  Hongyu Wang  <hongyu.wang@intel.com>
3162         PR target/98167
3163         * match.pd: New perm + vector op patterns for int and fp vector.
3165 2022-11-15  Andrew Pinski  <apinski@marvell.com>
3167         * doc/invoke.texi: Remove Score option section.
3169 2022-11-15  Andrew Pinski  <apinski@marvell.com>
3171         * doc/extend.texi: Remove picoChip builtin section.
3172         * doc/invoke.texi: Remove picoChip option section.
3174 2022-11-15  Andrew Pinski  <apinski@marvell.com>
3176         * doc/extend.texi: Remove MeP documentation.
3177         * doc/invoke.texi: Remove MeP Options documentation.
3179 2022-11-15  Andrew Pinski  <apinski@marvell.com>
3181         * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd.
3183 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3185         Revert:
3186         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3188         * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
3189         (RISCV_CORE): Ditto.
3190         * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
3191         * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
3192         * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
3194 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3196         Revert:
3197         2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3199         * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
3200         constants to identify supported fusion patterns.
3201         (struct riscv_tune_param): Add fusible_op field.
3202         (riscv_macro_fusion_p): Implement.
3203         (riscv_fusion_enabled_p): Implement.
3204         (riscv_macro_fusion_pair_p): Implement and recognize fusible
3205         idioms for Ventana VT1.
3206         (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
3207         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
3208         riscv_macro_fusion_pair_p.
3210 2022-11-14  Maciej W. Rozycki  <macro@embecosm.com>
3212         * ira-build.cc (create_insn_allocnos): Fix documentation.
3214 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
3216         * match.pd: Remove returns.
3218 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3220         * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
3221         unspec.
3222         * config/riscv/riscv.md: Add UNSPEC_ORC_B.
3224 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
3226         * target.def: Fix typo.
3228 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3230         * config/riscv/riscv.cc (enum riscv_fusion_pairs): Add symbolic
3231         constants to identify supported fusion patterns.
3232         (struct riscv_tune_param): Add fusible_op field.
3233         (riscv_macro_fusion_p): Implement.
3234         (riscv_fusion_enabled_p): Implement.
3235         (riscv_macro_fusion_pair_p): Implement and recognize fusible
3236         idioms for Ventana VT1.
3237         (TARGET_SCHED_MACRO_FUSION_P): Point to riscv_macro_fusion_p.
3238         (TARGET_SCHED_MACRO_FUSION_PAIR_P): Point to
3239         riscv_macro_fusion_pair_p.
3241 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3243         * config/riscv/riscv-cores.def (RISCV_TUNE): Add ventana-vt1.
3244         (RISCV_CORE): Ditto.
3245         * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): Ditto.
3246         * config/riscv/riscv.cc: Add tune_info for ventana-vt1.
3247         * doc/invoke.texi: Document -mcpu= and -mtune with ventana-vt1.
3249 2022-11-14  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3251         * config/aarch64/aarch64-option-extensions.def (cssc): Define.
3252         * config/aarch64/aarch64.h (AARCH64_ISA_CSSC): Define.
3253         (TARGET_CSSC): Likewise.
3254         * config/aarch64/aarch64.md (*aarch64_abs<mode>2_cssc_ins): New define_insn.
3255         (abs<mode>2): Adjust for the above.
3256         (aarch64_umax<mode>3_insn): New define_insn.
3257         (umax<mode>3): Adjust for the above.
3258         (*aarch64_popcount<mode>2_cssc_insn): New define_insn.
3259         (popcount<mode>2): Adjust for the above.
3260         (<optab><mode>3): New define_insn.
3261         * config/aarch64/constraints.md (Usm): Define.
3262         (Uum): Likewise.
3263         * doc/invoke.texi (AArch64 options): Document +cssc.
3264         * config/aarch64/iterators.md (MAXMIN_NOUMAX): New code iterator.
3265         * config/aarch64/predicates.md (aarch64_sminmax_immediate): Define.
3266         (aarch64_sminmax_operand): Likewise.
3267         (aarch64_uminmax_immediate): Likewise.
3268         (aarch64_uminmax_operand): Likewise.
3270 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
3272         * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New.
3274 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
3276         * config/aarch64/aarch64-simd.md (@aarch64_bitmask_udiv<mode>3): New.
3277         * config/aarch64/aarch64.cc (aarch64_vectorize_can_special_div_by_constant): New.
3279 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
3281         * expmed.h (expand_divmod): Pass tree operands down in addition to RTX.
3282         * expmed.cc (expand_divmod): Likewise.
3283         * explow.cc (round_push, align_dynamic_address): Likewise.
3284         * expr.cc (force_operand, expand_expr_divmod): Likewise.
3285         * optabs.cc (expand_doubleword_mod, expand_doubleword_divmod):
3286         Likewise.
3287         * target.h: Include tree-core.
3288         * target.def (can_special_div_by_const): New.
3289         * targhooks.cc (default_can_special_div_by_const): New.
3290         * targhooks.h (default_can_special_div_by_const): New.
3291         * tree-vect-generic.cc (expand_vector_operation): Use it.
3292         * doc/tm.texi.in: Document it.
3293         * doc/tm.texi: Regenerate.
3294         * tree-vect-patterns.cc (vect_recog_divmod_pattern): Check for support.
3295         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
3297 2022-11-14  Tamar Christina  <tamar.christina@arm.com>
3299         * generic-match-head.cc: Include langooks.
3300         * gimple-match-head.cc: Likewise.
3301         * match.pd: Add fneg/fadd rule.
3303 2022-11-14  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3305         * config/arm/arm-cpus.in (cortex-x1c): Define new CPU.
3306         * config/arm/arm-tables.opt: Regenerate.
3307         * config/arm/arm-tune.md: Likewise.
3308         * doc/invoke.texi: Document Cortex-X1C CPU.
3310 2022-11-14  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
3312         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X3
3313         CPU.
3314         * config/aarch64/aarch64-tune.md: Regenerate.
3315         * doc/invoke.texi: Document Cortex-X3 CPU.
3317 2022-11-14  Andrew Pinski  <apinski@marvell.com>
3319         * doc/invoke.texi: Fix @opindex
3320         for m80387 option.
3322 2022-11-14  Andrew Pinski  <apinski@marvell.com>
3324         * doc/invoke.texi: Remove the front - from
3325         some @opindex.
3327 2022-11-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
3329         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add ampere1a.
3330         * config/aarch64/aarch64-cost-tables.h: Add ampere1a_extra_costs.
3331         * config/aarch64/aarch64-fusion-pairs.def (AARCH64_FUSION_PAIR):
3332         Define a new fusion pair for A+B+1/A-B-1 (i.e., add/subtract two
3333         registers and then +1/-1).
3334         * config/aarch64/aarch64-tune.md: Regenerate.
3335         * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
3336         idiom-matcher for the new fusion pair.
3337         * doc/invoke.texi: Add ampere1a.
3339 2022-11-14  Richard Biener  <rguenther@suse.de>
3341         * match.pd: Remove duplicates.
3343 2022-11-14  Martin Liska  <mliska@suse.cz>
3345         * doc/contrib.texi: Port from Sphinx.
3346         * doc/cpp.texi: Likewise.
3347         * doc/install.texi: Likewise.
3348         * doc/invoke.texi: Likewise.
3350 2022-11-14  Martin Liska  <mliska@suse.cz>
3352         Revert:
3353         2022-11-14  Martin Liska  <mliska@suse.cz>
3355         * doc/cpp/character-sets.rst: New file.
3356         * doc/cpp/conditional-syntax.rst: New file.
3357         * doc/cpp/conditional-uses.rst: New file.
3358         * doc/cpp/conditionals.rst: New file.
3359         * doc/cpp/conf.py: New file.
3360         * doc/cpp/copyright.rst: New file.
3361         * doc/cpp/deleted-code.rst: New file.
3362         * doc/cpp/diagnostics.rst: New file.
3363         * doc/cpp/environment-variables.rst: New file.
3364         * doc/cpp/gnu-free-documentation-license.rst: New file.
3365         * doc/cpp/header-files.rst: New file.
3366         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
3367         * doc/cpp/header-files/computed-includes.rst: New file.
3368         * doc/cpp/header-files/include-operation.rst: New file.
3369         * doc/cpp/header-files/include-syntax.rst: New file.
3370         * doc/cpp/header-files/once-only-headers.rst: New file.
3371         * doc/cpp/header-files/search-path.rst: New file.
3372         * doc/cpp/header-files/system-headers.rst: New file.
3373         * doc/cpp/header-files/wrapper-headers.rst: New file.
3374         * doc/cpp/implementation-defined-behavior.rst: New file.
3375         * doc/cpp/implementation-details.rst: New file.
3376         * doc/cpp/implementation-limits.rst: New file.
3377         * doc/cpp/index.rst: New file.
3378         * doc/cpp/indices-and-tables.rst: New file.
3379         * doc/cpp/initial-processing.rst: New file.
3380         * doc/cpp/invocation.rst: New file.
3381         * doc/cpp/line-control.rst: New file.
3382         * doc/cpp/macros.rst: New file.
3383         * doc/cpp/macros/concatenation.rst: New file.
3384         * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
3385         * doc/cpp/macros/function-like-macros.rst: New file.
3386         * doc/cpp/macros/macro-arguments.rst: New file.
3387         * doc/cpp/macros/macro-pitfalls.rst: New file.
3388         * doc/cpp/macros/object-like-macros.rst: New file.
3389         * doc/cpp/macros/predefined-macros.rst: New file.
3390         * doc/cpp/macros/stringizing.rst: New file.
3391         * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
3392         * doc/cpp/macros/variadic-macros.rst: New file.
3393         * doc/cpp/obsolete-features.rst: New file.
3394         * doc/cpp/other-directives.rst: New file.
3395         * doc/cpp/overview.rst: New file.
3396         * doc/cpp/pragmas.rst: New file.
3397         * doc/cpp/preprocessor-output.rst: New file.
3398         * doc/cpp/the-preprocessing-language.rst: New file.
3399         * doc/cpp/tokenization.rst: New file.
3400         * doc/cpp/traditional-lexical-analysis.rst: New file.
3401         * doc/cpp/traditional-macros.rst: New file.
3402         * doc/cpp/traditional-miscellany.rst: New file.
3403         * doc/cpp/traditional-mode.rst: New file.
3404         * doc/cpp/traditional-warnings.rst: New file.
3405         * doc/cppinternals/conf.py: New file.
3406         * doc/cppinternals/copyright.rst: New file.
3407         * doc/cppinternals/cppinternals.rst: New file.
3408         * doc/cppinternals/cpplib.rst: New file.
3409         * doc/cppinternals/files.rst: New file.
3410         * doc/cppinternals/index.rst: New file.
3411         * doc/cppinternals/indices-and-tables.rst: New file.
3412         * doc/cppinternals/internal-representation-of-macros.rst: New file.
3413         * doc/cppinternals/just-which-line-number-anyway.rst: New file.
3414         * doc/cppinternals/lexing-a-line.rst: New file.
3415         * doc/cppinternals/lexing-a-token.rst: New file.
3416         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
3417         * doc/cppinternals/macro-expansion-overview.rst: New file.
3418         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
3419         * doc/cppinternals/multiple-include-optimization.rst: New file.
3420         * doc/cppinternals/overview.rst: New file.
3421         * doc/cppinternals/representation-of-line-numbers.rst: New file.
3422         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
3423         * doc/gcc/binary-compatibility.rst: New file.
3424         * doc/gcc/c++-implementation-defined-behavior.rst: New file.
3425         * doc/gcc/c-implementation-defined-behavior.rst: New file.
3426         * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
3427         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
3428         * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
3429         * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
3430         * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
3431         * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
3432         * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
3433         * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
3434         * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
3435         * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
3436         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
3437         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
3438         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
3439         * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
3440         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
3441         New file.
3442         * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
3443         * doc/gcc/conditionally-supported-behavior.rst: New file.
3444         * doc/gcc/conf.py: New file.
3445         * doc/gcc/contributing-to-gcc-development.rst: New file.
3446         * doc/gcc/contributors-to-gcc.rst: New file.
3447         * doc/gcc/copyright.rst: New file.
3448         * doc/gcc/exception-handling.rst: New file.
3449         * doc/gcc/extensions-to-the-c++-language.rst: New file.
3450         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
3451         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
3452         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
3453         New file.
3454         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
3455         New file.
3456         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
3457         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
3458         New file.
3459         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
3460         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
3461         * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
3462         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
3463         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
3464         New file.
3465         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
3466         * doc/gcc/extensions-to-the-c-language-family.rst: New file.
3467         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
3468         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
3469         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
3470         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
3471         New file.
3472         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
3473         New file.
3474         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
3475         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
3476         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
3477         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
3478         New file.
3479         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
3480         New file.
3481         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
3482         New file.
3483         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
3484         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
3485         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
3486         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
3487         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
3488         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
3489         New file.
3490         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
3491         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
3492         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
3493         New file.
3494         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
3495         New file.
3496         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
3497         New file.
3498         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
3499         New file.
3500         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
3501         New file.
3502         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
3503         New file.
3504         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
3505         New file.
3506         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
3507         New file.
3508         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
3509         New file.
3510         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
3511         New file.
3512         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
3513         New file.
3514         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
3515         New file.
3516         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
3517         New file.
3518         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
3519         New file.
3520         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
3521         New file.
3522         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
3523         New file.
3524         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
3525         New file.
3526         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
3527         New file.
3528         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
3529         New file.
3530         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
3531         New file.
3532         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
3533         New file.
3534         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
3535         New file.
3536         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
3537         New file.
3538         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
3539         New file.
3540         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
3541         New file.
3542         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
3543         New file.
3544         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
3545         New file.
3546         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
3547         New file.
3548         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
3549         New file.
3550         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
3551         New file.
3552         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
3553         New file.
3554         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
3555         New file.
3556         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
3557         New file.
3558         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
3559         New file.
3560         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
3561         New file.
3562         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
3563         New file.
3564         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
3565         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
3566         New file.
3567         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
3568         New file.
3569         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
3570         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
3571         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
3572         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
3573         New file.
3574         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
3575         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
3576         New file.
3577         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
3578         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
3579         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
3580         New file.
3581         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
3582         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
3583         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
3584         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
3585         New file.
3586         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
3587         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
3588         New file.
3589         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
3590         New file.
3591         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
3592         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
3593         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
3594         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
3595         New file.
3596         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
3597         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
3598         New file.
3599         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
3600         New file.
3601         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
3602         New file.
3603         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
3604         New file.
3605         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
3606         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
3607         New file.
3608         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
3609         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
3610         New file.
3611         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
3612         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
3613         New file.
3614         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
3615         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
3616         New file.
3617         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
3618         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
3619         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
3620         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
3621         New file.
3622         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
3623         New file.
3624         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
3625         New file.
3626         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
3627         New file.
3628         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
3629         New file.
3630         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
3631         New file.
3632         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
3633         New file.
3634         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
3635         New file.
3636         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
3637         New file.
3638         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
3639         New file.
3640         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
3641         New file.
3642         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
3643         New file.
3644         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
3645         New file.
3646         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
3647         New file.
3648         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
3649         New file.
3650         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
3651         New file.
3652         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
3653         New file.
3654         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
3655         New file.
3656         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
3657         New file.
3658         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
3659         New file.
3660         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
3661         New file.
3662         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
3663         New file.
3664         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
3665         New file.
3666         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
3667         New file.
3668         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
3669         New file.
3670         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
3671         New file.
3672         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
3673         New file.
3674         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
3675         New file.
3676         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
3677         New file.
3678         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
3679         New file.
3680         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
3681         New file.
3682         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
3683         New file.
3684         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
3685         New file.
3686         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
3687         New file.
3688         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
3689         New file.
3690         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
3691         New file.
3692         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
3693         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
3694         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
3695         New file.
3696         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
3697         New file.
3698         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
3699         New file.
3700         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
3701         New file.
3702         * doc/gcc/funding.rst: New file.
3703         * doc/gcc/gcc-command-options.rst: New file.
3704         * doc/gcc/gcc-command-options/c++-modules.rst: New file.
3705         * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
3706         * doc/gcc/gcc-command-options/description.rst: New file.
3707         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
3708         * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
3709         * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
3710         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
3711         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
3712         New file.
3713         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
3714         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
3715         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
3716         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
3717         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
3718         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
3719         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
3720         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
3721         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
3722         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
3723         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
3724         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
3725         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
3726         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
3727         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
3728         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
3729         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
3730         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
3731         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
3732         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
3733         New file.
3734         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
3735         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
3736         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
3737         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
3738         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
3739         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
3740         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
3741         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
3742         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
3743         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
3744         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
3745         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
3746         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
3747         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
3748         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
3749         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
3750         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
3751         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
3752         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
3753         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
3754         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
3755         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
3756         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
3757         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
3758         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
3759         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
3760         New file.
3761         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
3762         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
3763         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
3764         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
3765         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
3766         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
3767         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
3768         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
3769         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
3770         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
3771         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
3772         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
3773         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
3774         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
3775         * doc/gcc/gcc-command-options/option-summary.rst: New file.
3776         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
3777         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
3778         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
3779         New file.
3780         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
3781         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
3782         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
3783         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
3784         * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
3785         * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
3786         * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
3787         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
3788         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
3789         New file.
3790         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
3791         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
3792         * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
3793         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
3794         New file.
3795         * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
3796         * doc/gcc/gcc.rst: New file.
3797         * doc/gcc/gcov-dump.rst: New file.
3798         * doc/gcc/gcov-tool.rst: New file.
3799         * doc/gcc/gcov.rst: New file.
3800         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
3801         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
3802         * doc/gcc/gcov/introduction-to-gcov.rst: New file.
3803         * doc/gcc/gcov/invoking-gcov.rst: New file.
3804         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
3805         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
3806         * doc/gcc/general-public-license-3.rst: New file.
3807         * doc/gcc/gnu-free-documentation-license.rst: New file.
3808         * doc/gcc/gnu-objective-c-features.rst: New file.
3809         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
3810         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
3811         * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
3812         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
3813         * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
3814         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
3815         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
3816         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
3817         * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
3818         * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
3819         * doc/gcc/gnu.rst: New file.
3820         * doc/gcc/have-you-found-a-bug.rst: New file.
3821         * doc/gcc/how-and-where-to-report-bugs.rst: New file.
3822         * doc/gcc/how-to-get-help-with-gcc.rst: New file.
3823         * doc/gcc/index.rst: New file.
3824         * doc/gcc/indices-and-tables.rst: New file.
3825         * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
3826         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
3827         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
3828         New file.
3829         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
3830         New file.
3831         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
3832         New file.
3833         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
3834         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
3835         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
3836         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
3837         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
3838         New file.
3839         * doc/gcc/language-standards-supported-by-gcc.rst: New file.
3840         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
3841         * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
3842         * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
3843         * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
3844         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
3845         New file.
3846         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
3847         * doc/gcc/lto-dump.rst: New file.
3848         * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
3849         * doc/gcc/reporting-bugs.rst: New file.
3850         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
3851         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
3852         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
3853         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
3854         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
3855         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
3856         New file.
3857         * doc/gccint/analysis-and-representation-of-loops.rst: New file.
3858         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
3859         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
3860         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
3861         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
3862         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
3863         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
3864         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
3865         New file.
3866         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
3867         * doc/gccint/analyzer-internals.rst: New file.
3868         * doc/gccint/collect2.rst: New file.
3869         * doc/gccint/conf.py: New file.
3870         * doc/gccint/contributing-to-gcc-development.rst: New file.
3871         * doc/gccint/contributors-to-gcc.rst: New file.
3872         * doc/gccint/control-flow-graph.rst: New file.
3873         * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
3874         * doc/gccint/control-flow-graph/edges.rst: New file.
3875         * doc/gccint/control-flow-graph/liveness-information.rst: New file.
3876         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
3877         * doc/gccint/control-flow-graph/profile-information.rst: New file.
3878         * doc/gccint/copyright.rst: New file.
3879         * doc/gccint/debugging-the-analyzer.rst: New file.
3880         * doc/gccint/funding.rst: New file.
3881         * doc/gccint/gcc-and-portability.rst: New file.
3882         * doc/gccint/general-public-license-3.rst: New file.
3883         * doc/gccint/generic.rst: New file.
3884         * doc/gccint/generic/attributes-in-trees.rst: New file.
3885         * doc/gccint/generic/c-and-c++-trees.rst: New file.
3886         * doc/gccint/generic/declarations.rst: New file.
3887         * doc/gccint/generic/deficiencies.rst: New file.
3888         * doc/gccint/generic/expressions.rst: New file.
3889         * doc/gccint/generic/functions.rst: New file.
3890         * doc/gccint/generic/language-dependent-trees.rst: New file.
3891         * doc/gccint/generic/overview.rst: New file.
3892         * doc/gccint/generic/statements.rst: New file.
3893         * doc/gccint/generic/types.rst: New file.
3894         * doc/gccint/gimple-api.rst: New file.
3895         * doc/gccint/gimple.rst: New file.
3896         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
3897         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
3898         * doc/gccint/gimple/exception-handling.rst: New file.
3899         * doc/gccint/gimple/gimple-instruction-set.rst: New file.
3900         * doc/gccint/gimple/gimple-sequences.rst: New file.
3901         * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
3902         * doc/gccint/gimple/operands.rst: New file.
3903         * doc/gccint/gimple/sequence-iterators.rst: New file.
3904         * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
3905         * doc/gccint/gimple/temporaries.rst: New file.
3906         * doc/gccint/gimple/tuple-representation.rst: New file.
3907         * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
3908         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
3909         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
3910         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
3911         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
3912         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
3913         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
3914         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
3915         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
3916         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
3917         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
3918         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
3919         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
3920         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
3921         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
3922         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
3923         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
3924         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
3925         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
3926         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
3927         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
3928         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
3929         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
3930         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
3931         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
3932         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
3933         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
3934         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
3935         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
3936         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
3937         * doc/gccint/gnu-free-documentation-license.rst: New file.
3938         * doc/gccint/guidelines-for-diagnostics.rst: New file.
3939         * doc/gccint/guidelines-for-options.rst: New file.
3940         * doc/gccint/host-common.rst: New file.
3941         * doc/gccint/host-configuration.rst: New file.
3942         * doc/gccint/host-filesystem.rst: New file.
3943         * doc/gccint/host-makefile-fragments.rst: New file.
3944         * doc/gccint/host-misc.rst: New file.
3945         * doc/gccint/index.rst: New file.
3946         * doc/gccint/indices-and-tables.rst: New file.
3947         * doc/gccint/interfacing-to-gcc-output.rst: New file.
3948         * doc/gccint/introduction.rst: New file.
3949         * doc/gccint/language-front-ends-in-gcc.rst: New file.
3950         * doc/gccint/link-time-optimization.rst: New file.
3951         * doc/gccint/link-time-optimization/design-overview.rst: New file.
3952         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
3953         * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
3954         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
3955         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
3956         New file.
3957         * doc/gccint/machine-descriptions.rst: New file.
3958         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
3959         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
3960         * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
3961         * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
3962         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
3963         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
3964         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
3965         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
3966         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
3967         * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
3968         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
3969         * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
3970         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
3971         * doc/gccint/machine-descriptions/iterators.rst: New file.
3972         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
3973         * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
3974         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
3975         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
3976         New file.
3977         * doc/gccint/machine-descriptions/predicates.rst: New file.
3978         * doc/gccint/machine-descriptions/rtl-template.rst: New file.
3979         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
3980         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
3981         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
3982         * doc/gccint/makefile-fragments.rst: New file.
3983         * doc/gccint/match-and-simplify.rst: New file.
3984         * doc/gccint/memory-management-and-type-information.rst: New file.
3985         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
3986         New file.
3987         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
3988         New file.
3989         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
3990         New file.
3991         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
3992         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
3993         New file.
3994         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
3995         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
3996         New file.
3997         * doc/gccint/option-file-format.rst: New file.
3998         * doc/gccint/option-properties.rst: New file.
3999         * doc/gccint/option-specification-files.rst: New file.
4000         * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
4001         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
4002         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
4003         New file.
4004         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
4005         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
4006         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
4007         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
4008         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
4009         * doc/gccint/plugins.rst: New file.
4010         * doc/gccint/plugins/building-gcc-plugins.rst: New file.
4011         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
4012         * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
4013         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
4014         * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
4015         * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
4016         * doc/gccint/plugins/loading-plugins.rst: New file.
4017         * doc/gccint/plugins/plugin-api.rst: New file.
4018         * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
4019         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
4020         * doc/gccint/rtl-representation.rst: New file.
4021         * doc/gccint/rtl-representation/access-to-operands.rst: New file.
4022         * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
4023         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
4024         * doc/gccint/rtl-representation/bit-fields.rst: New file.
4025         * doc/gccint/rtl-representation/comparison-operations.rst: New file.
4026         * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
4027         * doc/gccint/rtl-representation/conversions.rst: New file.
4028         * doc/gccint/rtl-representation/declarations.rst: New file.
4029         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
4030         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
4031         * doc/gccint/rtl-representation/insns.rst: New file.
4032         * doc/gccint/rtl-representation/machine-modes.rst: New file.
4033         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
4034         * doc/gccint/rtl-representation/reading-rtl.rst: New file.
4035         * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
4036         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
4037         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
4038         * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
4039         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
4040         * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
4041         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
4042         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
4043         * doc/gccint/rtl-representation/vector-operations.rst: New file.
4044         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
4045         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
4046         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
4047         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
4048         New file.
4049         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
4050         New file.
4051         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
4052         New file.
4053         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
4054         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
4055         New file.
4056         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
4057         New file.
4058         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
4059         * doc/gccint/source-tree-structure-and-build-system.rst: New file.
4060         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
4061         New file.
4062         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
4063         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
4064         New file.
4065         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
4066         New file.
4067         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
4068         New file.
4069         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
4070         New file.
4071         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
4072         New file.
4073         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
4074         New file.
4075         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
4076         New file.
4077         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
4078         New file.
4079         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
4080         New file.
4081         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
4082         New file.
4083         * doc/gccint/standard-header-file-directories.rst: New file.
4084         * doc/gccint/static-analyzer.rst: New file.
4085         * doc/gccint/target-macros.rst: New file.
4086         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
4087         * doc/gccint/target-macros/addressing-modes.rst: New file.
4088         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
4089         * doc/gccint/target-macros/anchored-addresses.rst: New file.
4090         * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
4091         * doc/gccint/target-macros/condition-code-status.rst: New file.
4092         * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
4093         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
4094         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
4095         * doc/gccint/target-macros/d-abi-parameters.rst: New file.
4096         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
4097         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
4098         New file.
4099         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
4100         * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
4101         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
4102         New file.
4103         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
4104         New file.
4105         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
4106         New file.
4107         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4108         New file.
4109         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4110         New file.
4111         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4112         New file.
4113         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
4114         New file.
4115         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
4116         New file.
4117         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
4118         New file.
4119         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
4120         New file.
4121         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
4122         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
4123         * doc/gccint/target-macros/emulating-tls.rst: New file.
4124         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
4125         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
4126         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
4127         * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
4128         * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
4129         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
4130         New file.
4131         * doc/gccint/target-macros/position-independent-code.rst: New file.
4132         * doc/gccint/target-macros/register-classes.rst: New file.
4133         * doc/gccint/target-macros/register-usage.rst: New file.
4134         * doc/gccint/target-macros/run-time-target-specification.rst: New file.
4135         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
4136         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
4137         New file.
4138         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
4139         New file.
4140         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
4141         New file.
4142         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
4143         New file.
4144         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
4145         New file.
4146         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
4147         New file.
4148         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
4149         New file.
4150         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
4151         New file.
4152         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
4153         New file.
4154         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
4155         New file.
4156         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
4157         New file.
4158         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
4159         New file.
4160         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
4161         New file.
4162         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
4163         New file.
4164         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
4165         New file.
4166         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
4167         New file.
4168         * doc/gccint/target-macros/storage-layout.rst: New file.
4169         * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
4170         * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
4171         * doc/gccint/target-makefile-fragments.rst: New file.
4172         * doc/gccint/testsuites.rst: New test.
4173         * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
4174         * doc/gccint/testsuites/c-language-testsuites.rst: New test.
4175         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
4176         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
4177         New test.
4178         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
4179         New test.
4180         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
4181         New test.
4182         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
4183         New test.
4184         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
4185         New test.
4186         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
4187         New test.
4188         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
4189         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
4190         * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
4191         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
4192         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
4193         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
4194         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
4195         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
4196         * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
4197         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
4198         New file.
4199         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
4200         New file.
4201         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
4202         New file.
4203         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
4204         New file.
4205         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
4206         New file.
4207         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
4208         New file.
4209         * doc/gccint/the-language.rst: New file.
4210         * doc/gccint/user-experience-guidelines.rst: New file.
4211         * doc/install/binaries.rst: New file.
4212         * doc/install/building.rst: New file.
4213         * doc/install/building/building-a-cross-compiler.rst: New file.
4214         * doc/install/building/building-a-native-compiler.rst: New file.
4215         * doc/install/building/building-in-parallel.rst: New file.
4216         * doc/install/building/building-the-ada-compiler.rst: New file.
4217         * doc/install/building/building-the-d-compiler.rst: New file.
4218         * doc/install/building/building-with-profile-feedback.rst: New file.
4219         * doc/install/conf.py: New file.
4220         * doc/install/configuration.rst: New file.
4221         * doc/install/copyright.rst: New file.
4222         * doc/install/downloading-gcc.rst: New file.
4223         * doc/install/final-installation.rst: New file.
4224         * doc/install/gnu-free-documentation-license.rst: New file.
4225         * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
4226         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
4227         * doc/install/how-to-interpret-test-results.rst: New file.
4228         * doc/install/index.rst: New file.
4229         * doc/install/indices-and-tables.rst: New file.
4230         * doc/install/installing-gcc.rst: New file.
4231         * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
4232         * doc/install/prerequisites.rst: New file.
4233         * doc/install/submitting-test-results.rst: New file.
4234         * doc/install/testing.rst: New file.
4236 2022-11-14  Martin Liska  <mliska@suse.cz>
4238         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert.
4240 2022-11-14  Martin Liska  <mliska@suse.cz>
4242         Revert:
4243         2022-11-14  Martin Liska  <mliska@suse.cz>
4245         * common/common-target.def: Port to RST.
4246         * target.def: Port to RST.
4248 2022-11-14  Martin Liska  <mliska@suse.cz>
4250         Revert:
4251         2022-11-09  Martin Liska  <mliska@suse.cz>
4253         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
4254         * doc/gccint/target-macros/addressing-modes.rst: Likewise.
4255         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
4256         * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
4257         * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
4258         * doc/gccint/target-macros/condition-code-status.rst: Likewise.
4259         * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
4260         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
4261         * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
4262         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
4263         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
4264         Likewise.
4265         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
4266         Likewise.
4267         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
4268         Likewise.
4269         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
4270         Likewise.
4271         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
4272         Likewise.
4273         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
4274         Likewise.
4275         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
4276         Likewise.
4277         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
4278         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
4279         * doc/gccint/target-macros/emulating-tls.rst: Likewise.
4280         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
4281         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
4282         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
4283         * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
4284         * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
4285         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
4286         Likewise.
4287         * doc/gccint/target-macros/register-classes.rst: Likewise.
4288         * doc/gccint/target-macros/register-usage.rst: Likewise.
4289         * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
4290         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
4291         Likewise.
4292         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
4293         Likewise.
4294         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
4295         Likewise.
4296         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
4297         Likewise.
4298         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
4299         Likewise.
4300         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
4301         Likewise.
4302         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
4303         Likewise.
4304         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
4305         Likewise.
4306         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
4307         Likewise.
4308         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
4309         Likewise.
4310         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
4311         Likewise.
4312         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
4313         Likewise.
4314         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
4315         Likewise.
4316         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
4317         Likewise.
4318         * doc/gccint/target-macros/storage-layout.rst: Likewise.
4319         * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
4321 2022-11-14  Martin Liska  <mliska@suse.cz>
4323         Revert:
4324         2022-11-14  Martin Liska  <mliska@suse.cz>
4326         * Makefile.in: Support Sphinx based documentation.
4327         * configure: Regenerate.
4328         * configure.ac: Support Sphinx based documentation.
4329         * genhooks.cc (struct s_hook): Emit tm.rst.in file.
4331 2022-11-14  Martin Liska  <mliska@suse.cz>
4333         Revert:
4334         2022-11-09  Martin Liska  <mliska@suse.cz>
4336         * doc/gccint/target-macros/tm.rst.in: New file.
4338 2022-11-14  Martin Liska  <mliska@suse.cz>
4340         Revert:
4341         2022-11-14  Martin Liska  <mliska@suse.cz>
4343         * doc/analyzer.texi: Removed.
4344         * doc/avr-mmcu.texi: Removed.
4345         * doc/bugreport.texi: Removed.
4346         * doc/cfg.texi: Removed.
4347         * doc/collect2.texi: Removed.
4348         * doc/compat.texi: Removed.
4349         * doc/configfiles.texi: Removed.
4350         * doc/configterms.texi: Removed.
4351         * doc/contrib.texi: Removed.
4352         * doc/contribute.texi: Removed.
4353         * doc/cpp.texi: Removed.
4354         * doc/cppdiropts.texi: Removed.
4355         * doc/cppenv.texi: Removed.
4356         * doc/cppinternals.texi: Removed.
4357         * doc/cppopts.texi: Removed.
4358         * doc/cppwarnopts.texi: Removed.
4359         * doc/extend.texi: Removed.
4360         * doc/fragments.texi: Removed.
4361         * doc/frontends.texi: Removed.
4362         * doc/gcc.texi: Removed.
4363         * doc/gccint.texi: Removed.
4364         * doc/gcov-dump.texi: Removed.
4365         * doc/gcov-tool.texi: Removed.
4366         * doc/gcov.texi: Removed.
4367         * doc/generic.texi: Removed.
4368         * doc/gimple.texi: Removed.
4369         * doc/gnu.texi: Removed.
4370         * doc/gty.texi: Removed.
4371         * doc/headerdirs.texi: Removed.
4372         * doc/hostconfig.texi: Removed.
4373         * doc/implement-c.texi: Removed.
4374         * doc/implement-cxx.texi: Removed.
4375         * doc/include/fdl.texi: Removed.
4376         * doc/include/funding.texi: Removed.
4377         * doc/include/gcc-common.texi: Removed.
4378         * doc/include/gpl_v3.texi: Removed.
4379         * doc/install.texi: Removed.
4380         * doc/interface.texi: Removed.
4381         * doc/invoke.texi: Removed.
4382         * doc/languages.texi: Removed.
4383         * doc/libgcc.texi: Removed.
4384         * doc/loop.texi: Removed.
4385         * doc/lto-dump.texi: Removed.
4386         * doc/lto.texi: Removed.
4387         * doc/makefile.texi: Removed.
4388         * doc/match-and-simplify.texi: Removed.
4389         * doc/md.texi: Removed.
4390         * doc/objc.texi: Removed.
4391         * doc/optinfo.texi: Removed.
4392         * doc/options.texi: Removed.
4393         * doc/passes.texi: Removed.
4394         * doc/plugins.texi: Removed.
4395         * doc/poly-int.texi: Removed.
4396         * doc/portability.texi: Removed.
4397         * doc/rtl.texi: Removed.
4398         * doc/service.texi: Removed.
4399         * doc/sourcebuild.texi: Removed.
4400         * doc/standards.texi: Removed.
4401         * doc/tm.texi: Removed.
4402         * doc/tree-ssa.texi: Removed.
4403         * doc/trouble.texi: Removed.
4404         * doc/ux.texi: Removed.
4405         * doc/tm.texi.in: Removed.
4407 2022-11-14  Martin Liska  <mliska@suse.cz>
4409         Revert:
4410         2022-11-09  Martin Liska  <mliska@suse.cz>
4412         * target.def: Use proper lexers for target macros.
4413         * doc/gccint/target-macros/tm.rst.in: Re-generate.
4415 2022-11-14  Martin Liska  <mliska@suse.cz>
4417         Revert:
4418         2022-11-09  Martin Liska  <mliska@suse.cz>
4420         * Makefile.in: Support --with-sphinx-build.
4421         * configure.ac:
4422         * configure: Regenerate.
4424 2022-11-14  Martin Liska  <mliska@suse.cz>
4426         Revert:
4427         2022-11-14  Martin Liska  <mliska@suse.cz>
4429         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
4430         Fix cross manual refs.
4431         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
4432         Likewise.
4434 2022-11-14  Martin Liska  <mliska@suse.cz>
4436         Revert:
4437         2022-11-09  Martin Liska  <mliska@suse.cz>
4439         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
4440         Do not include tm.rst.in.
4441         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
4442         Likewise.
4443         * doc/gccint/target-macros/run-time-target-specification.rst:
4444         Likewise.
4446 2022-11-14  Martin Liska  <mliska@suse.cz>
4448         Revert:
4449         2022-11-09  Martin Liska  <mliska@suse.cz>
4451         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
4452         Port to RST.
4453         * doc/gccint/target-macros/storage-layout.rst: Likewise.
4454         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
4455         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
4457 2022-11-14  Martin Liska  <mliska@suse.cz>
4459         Revert:
4460         2022-11-09  Martin Liska  <mliska@suse.cz>
4462         * Makefile.in: Support installation if sphinx-build is missing.
4464 2022-11-14  Martin Liska  <mliska@suse.cz>
4466         Revert:
4467         2022-11-09  Martin Liska  <mliska@suse.cz>
4469         * Makefile.in: Add vpath default for .rst files.
4470         * config/avr/avr-devices.cc: For port RST.
4471         * config/avr/avr-mcus.def: Update path.
4472         * config/avr/gen-avr-mmcu-texi.cc: Moved to...
4473         * config/avr/gen-avr-mmcu-rst.cc: ...here.
4474         * config/avr/t-avr: Update to rst.
4475         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
4477 2022-11-14  Martin Liska  <mliska@suse.cz>
4479         Revert:
4480         2022-11-09  Martin Liska  <mliska@suse.cz>
4482         * opts.cc (get_option_html_page): Port to sphinx URLs.
4483         (get_option_url): Likewise.
4484         (test_get_option_html_page): Likewise.
4486 2022-11-14  Martin Liska  <mliska@suse.cz>
4488         Revert:
4489         2022-11-14  Martin Liska  <mliska@suse.cz>
4491         * doc/cpp/character-sets.rst:
4492         Add trailing newline.
4493         * doc/cpp/conditional-syntax.rst:
4494         Add trailing newline.
4495         * doc/cpp/conditional-uses.rst:
4496         Add trailing newline.
4497         * doc/cpp/conditionals.rst:
4498         Add trailing newline.
4499         * doc/cpp/copyright.rst:
4500         Add trailing newline.
4501         * doc/cpp/deleted-code.rst:
4502         Add trailing newline.
4503         * doc/cpp/diagnostics.rst:
4504         Add trailing newline.
4505         * doc/cpp/environment-variables.rst:
4506         Add trailing newline.
4507         * doc/cpp/gnu-free-documentation-license.rst:
4508         Add trailing newline.
4509         * doc/cpp/header-files.rst:
4510         Add trailing newline.
4511         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
4512         Add trailing newline.
4513         * doc/cpp/header-files/computed-includes.rst:
4514         Add trailing newline.
4515         * doc/cpp/header-files/include-operation.rst:
4516         Add trailing newline.
4517         * doc/cpp/header-files/include-syntax.rst:
4518         Add trailing newline.
4519         * doc/cpp/header-files/once-only-headers.rst:
4520         Add trailing newline.
4521         * doc/cpp/header-files/search-path.rst:
4522         Add trailing newline.
4523         * doc/cpp/header-files/system-headers.rst:
4524         Add trailing newline.
4525         * doc/cpp/header-files/wrapper-headers.rst:
4526         Add trailing newline.
4527         * doc/cpp/implementation-defined-behavior.rst:
4528         Add trailing newline.
4529         * doc/cpp/implementation-details.rst:
4530         Add trailing newline.
4531         * doc/cpp/implementation-limits.rst:
4532         Add trailing newline.
4533         * doc/cpp/index.rst:
4534         Add trailing newline.
4535         * doc/cpp/indices-and-tables.rst:
4536         Add trailing newline.
4537         * doc/cpp/initial-processing.rst:
4538         Add trailing newline.
4539         * doc/cpp/invocation.rst:
4540         Add trailing newline.
4541         * doc/cpp/line-control.rst:
4542         Add trailing newline.
4543         * doc/cpp/macros.rst:
4544         Add trailing newline.
4545         * doc/cpp/macros/concatenation.rst:
4546         Add trailing newline.
4547         * doc/cpp/macros/directives-within-macro-arguments.rst:
4548         Add trailing newline.
4549         * doc/cpp/macros/function-like-macros.rst:
4550         Add trailing newline.
4551         * doc/cpp/macros/macro-arguments.rst:
4552         Add trailing newline.
4553         * doc/cpp/macros/macro-pitfalls.rst:
4554         Add trailing newline.
4555         * doc/cpp/macros/object-like-macros.rst:
4556         Add trailing newline.
4557         * doc/cpp/macros/predefined-macros.rst:
4558         Add trailing newline.
4559         * doc/cpp/macros/stringizing.rst:
4560         Add trailing newline.
4561         * doc/cpp/macros/undefining-and-redefining-macros.rst:
4562         Add trailing newline.
4563         * doc/cpp/macros/variadic-macros.rst:
4564         Add trailing newline.
4565         * doc/cpp/obsolete-features.rst:
4566         Add trailing newline.
4567         * doc/cpp/other-directives.rst:
4568         Add trailing newline.
4569         * doc/cpp/overview.rst:
4570         Add trailing newline.
4571         * doc/cpp/pragmas.rst:
4572         Add trailing newline.
4573         * doc/cpp/preprocessor-output.rst:
4574         Add trailing newline.
4575         * doc/cpp/the-preprocessing-language.rst:
4576         Add trailing newline.
4577         * doc/cpp/tokenization.rst:
4578         Add trailing newline.
4579         * doc/cpp/traditional-lexical-analysis.rst:
4580         Add trailing newline.
4581         * doc/cpp/traditional-macros.rst:
4582         Add trailing newline.
4583         * doc/cpp/traditional-miscellany.rst:
4584         Add trailing newline.
4585         * doc/cpp/traditional-mode.rst:
4586         Add trailing newline.
4587         * doc/cpp/traditional-warnings.rst:
4588         Add trailing newline.
4589         * doc/cppinternals/copyright.rst:
4590         Add trailing newline.
4591         * doc/cppinternals/cppinternals.rst:
4592         Add trailing newline.
4593         * doc/cppinternals/cpplib.rst:
4594         Add trailing newline.
4595         * doc/cppinternals/files.rst:
4596         Add trailing newline.
4597         * doc/cppinternals/index.rst:
4598         Add trailing newline.
4599         * doc/cppinternals/indices-and-tables.rst:
4600         Add trailing newline.
4601         * doc/cppinternals/internal-representation-of-macros.rst:
4602         Add trailing newline.
4603         * doc/cppinternals/just-which-line-number-anyway.rst:
4604         Add trailing newline.
4605         * doc/cppinternals/lexing-a-line.rst:
4606         Add trailing newline.
4607         * doc/cppinternals/lexing-a-token.rst:
4608         Add trailing newline.
4609         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
4610         Add trailing newline.
4611         * doc/cppinternals/macro-expansion-overview.rst:
4612         Add trailing newline.
4613         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
4614         Add trailing newline.
4615         * doc/cppinternals/multiple-include-optimization.rst:
4616         Add trailing newline.
4617         * doc/cppinternals/overview.rst:
4618         Add trailing newline.
4619         * doc/cppinternals/representation-of-line-numbers.rst:
4620         Add trailing newline.
4621         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
4622         Add trailing newline.
4623         * doc/gcc/binary-compatibility.rst:
4624         Add trailing newline.
4625         * doc/gcc/c++-implementation-defined-behavior.rst:
4626         Add trailing newline.
4627         * doc/gcc/c-implementation-defined-behavior.rst:
4628         Add trailing newline.
4629         * doc/gcc/c-implementation-defined-behavior/architecture.rst:
4630         Add trailing newline.
4631         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
4632         Add trailing newline.
4633         * doc/gcc/c-implementation-defined-behavior/characters.rst:
4634         Add trailing newline.
4635         * doc/gcc/c-implementation-defined-behavior/declarators.rst:
4636         Add trailing newline.
4637         * doc/gcc/c-implementation-defined-behavior/environment.rst:
4638         Add trailing newline.
4639         * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
4640         Add trailing newline.
4641         * doc/gcc/c-implementation-defined-behavior/hints.rst:
4642         Add trailing newline.
4643         * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
4644         Add trailing newline.
4645         * doc/gcc/c-implementation-defined-behavior/integers.rst:
4646         Add trailing newline.
4647         * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
4648         Add trailing newline.
4649         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
4650         Add trailing newline.
4651         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
4652         Add trailing newline.
4653         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
4654         Add trailing newline.
4655         * doc/gcc/c-implementation-defined-behavior/statements.rst:
4656         Add trailing newline.
4657         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
4658         Add trailing newline.
4659         * doc/gcc/c-implementation-defined-behavior/translation.rst:
4660         Add trailing newline.
4661         * doc/gcc/conditionally-supported-behavior.rst:
4662         Add trailing newline.
4663         * doc/gcc/contributing-to-gcc-development.rst:
4664         Add trailing newline.
4665         * doc/gcc/contributors-to-gcc.rst:
4666         Add trailing newline.
4667         * doc/gcc/copyright.rst:
4668         Add trailing newline.
4669         * doc/gcc/exception-handling.rst:
4670         Add trailing newline.
4671         * doc/gcc/extensions-to-the-c++-language.rst:
4672         Add trailing newline.
4673         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
4674         Add trailing newline.
4675         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
4676         Add trailing newline.
4677         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
4678         Add trailing newline.
4679         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
4680         Add trailing newline.
4681         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
4682         Add trailing newline.
4683         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
4684         Add trailing newline.
4685         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
4686         Add trailing newline.
4687         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
4688         Add trailing newline.
4689         * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
4690         Add trailing newline.
4691         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
4692         Add trailing newline.
4693         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
4694         Add trailing newline.
4695         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
4696         Add trailing newline.
4697         * doc/gcc/extensions-to-the-c-language-family.rst:
4698         Add trailing newline.
4699         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
4700         Add trailing newline.
4701         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
4702         Add trailing newline.
4703         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
4704         Add trailing newline.
4705         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
4706         Add trailing newline.
4707         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
4708         Add trailing newline.
4709         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
4710         Add trailing newline.
4711         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
4712         Add trailing newline.
4713         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
4714         Add trailing newline.
4715         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
4716         Add trailing newline.
4717         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
4718         Add trailing newline.
4719         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
4720         Add trailing newline.
4721         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
4722         Add trailing newline.
4723         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
4724         Add trailing newline.
4725         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
4726         Add trailing newline.
4727         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
4728         Add trailing newline.
4729         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
4730         Add trailing newline.
4731         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
4732         Add trailing newline.
4733         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
4734         Add trailing newline.
4735         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
4736         Add trailing newline.
4737         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
4738         Add trailing newline.
4739         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
4740         Add trailing newline.
4741         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
4742         Add trailing newline.
4743         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
4744         Add trailing newline.
4745         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
4746         Add trailing newline.
4747         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
4748         Add trailing newline.
4749         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
4750         Add trailing newline.
4751         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
4752         Add trailing newline.
4753         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
4754         Add trailing newline.
4755         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
4756         Add trailing newline.
4757         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
4758         Add trailing newline.
4759         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
4760         Add trailing newline.
4761         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
4762         Add trailing newline.
4763         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
4764         Add trailing newline.
4765         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
4766         Add trailing newline.
4767         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
4768         Add trailing newline.
4769         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
4770         Add trailing newline.
4771         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
4772         Add trailing newline.
4773         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
4774         Add trailing newline.
4775         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
4776         Add trailing newline.
4777         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
4778         Add trailing newline.
4779         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
4780         Add trailing newline.
4781         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
4782         Add trailing newline.
4783         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
4784         Add trailing newline.
4785         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
4786         Add trailing newline.
4787         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
4788         Add trailing newline.
4789         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
4790         Add trailing newline.
4791         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
4792         Add trailing newline.
4793         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
4794         Add trailing newline.
4795         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
4796         Add trailing newline.
4797         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
4798         Add trailing newline.
4799         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
4800         Add trailing newline.
4801         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
4802         Add trailing newline.
4803         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
4804         Add trailing newline.
4805         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
4806         Add trailing newline.
4807         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
4808         Add trailing newline.
4809         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
4810         Add trailing newline.
4811         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
4812         Add trailing newline.
4813         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
4814         Add trailing newline.
4815         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
4816         Add trailing newline.
4817         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
4818         Add trailing newline.
4819         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
4820         Add trailing newline.
4821         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
4822         Add trailing newline.
4823         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
4824         Add trailing newline.
4825         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
4826         Add trailing newline.
4827         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
4828         Add trailing newline.
4829         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
4830         Add trailing newline.
4831         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
4832         Add trailing newline.
4833         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
4834         Add trailing newline.
4835         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
4836         Add trailing newline.
4837         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
4838         Add trailing newline.
4839         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
4840         Add trailing newline.
4841         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
4842         Add trailing newline.
4843         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
4844         Add trailing newline.
4845         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
4846         Add trailing newline.
4847         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
4848         Add trailing newline.
4849         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
4850         Add trailing newline.
4851         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
4852         Add trailing newline.
4853         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
4854         Add trailing newline.
4855         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
4856         Add trailing newline.
4857         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
4858         Add trailing newline.
4859         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
4860         Add trailing newline.
4861         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
4862         Add trailing newline.
4863         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
4864         Add trailing newline.
4865         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
4866         Add trailing newline.
4867         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
4868         Add trailing newline.
4869         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
4870         Add trailing newline.
4871         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
4872         Add trailing newline.
4873         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
4874         Add trailing newline.
4875         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
4876         Add trailing newline.
4877         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
4878         Add trailing newline.
4879         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
4880         Add trailing newline.
4881         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
4882         Add trailing newline.
4883         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
4884         Add trailing newline.
4885         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
4886         Add trailing newline.
4887         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
4888         Add trailing newline.
4889         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
4890         Add trailing newline.
4891         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
4892         Add trailing newline.
4893         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
4894         Add trailing newline.
4895         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
4896         Add trailing newline.
4897         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
4898         Add trailing newline.
4899         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
4900         Add trailing newline.
4901         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
4902         Add trailing newline.
4903         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
4904         Add trailing newline.
4905         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
4906         Add trailing newline.
4907         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
4908         Add trailing newline.
4909         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
4910         Add trailing newline.
4911         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
4912         Add trailing newline.
4913         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
4914         Add trailing newline.
4915         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
4916         Add trailing newline.
4917         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
4918         Add trailing newline.
4919         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
4920         Add trailing newline.
4921         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
4922         Add trailing newline.
4923         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
4924         Add trailing newline.
4925         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
4926         Add trailing newline.
4927         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
4928         Add trailing newline.
4929         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
4930         Add trailing newline.
4931         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
4932         Add trailing newline.
4933         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
4934         Add trailing newline.
4935         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
4936         Add trailing newline.
4937         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
4938         Add trailing newline.
4939         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
4940         Add trailing newline.
4941         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
4942         Add trailing newline.
4943         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
4944         Add trailing newline.
4945         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
4946         Add trailing newline.
4947         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
4948         Add trailing newline.
4949         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
4950         Add trailing newline.
4951         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
4952         Add trailing newline.
4953         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
4954         Add trailing newline.
4955         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
4956         Add trailing newline.
4957         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
4958         Add trailing newline.
4959         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
4960         Add trailing newline.
4961         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
4962         Add trailing newline.
4963         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
4964         Add trailing newline.
4965         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
4966         Add trailing newline.
4967         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
4968         Add trailing newline.
4969         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
4970         Add trailing newline.
4971         * doc/gcc/funding.rst:
4972         Add trailing newline.
4973         * doc/gcc/gcc-command-options.rst:
4974         Add trailing newline.
4975         * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
4976         Add trailing newline.
4977         * doc/gcc/gcc-command-options/description.rst:
4978         Add trailing newline.
4979         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
4980         Add trailing newline.
4981         * doc/gcc/gcc-command-options/gcc-developer-options.rst:
4982         Add trailing newline.
4983         * doc/gcc/gcc-command-options/machine-dependent-options.rst:
4984         Add trailing newline.
4985         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
4986         Add trailing newline.
4987         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
4988         Add trailing newline.
4989         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
4990         Add trailing newline.
4991         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
4992         Add trailing newline.
4993         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
4994         Add trailing newline.
4995         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
4996         Add trailing newline.
4997         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
4998         Add trailing newline.
4999         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
5000         Add trailing newline.
5001         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
5002         Add trailing newline.
5003         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
5004         Add trailing newline.
5005         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
5006         Add trailing newline.
5007         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
5008         Add trailing newline.
5009         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
5010         Add trailing newline.
5011         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
5012         Add trailing newline.
5013         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
5014         Add trailing newline.
5015         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
5016         Add trailing newline.
5017         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
5018         Add trailing newline.
5019         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
5020         Add trailing newline.
5021         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
5022         Add trailing newline.
5023         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
5024         Add trailing newline.
5025         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
5026         Add trailing newline.
5027         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
5028         Add trailing newline.
5029         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
5030         Add trailing newline.
5031         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
5032         Add trailing newline.
5033         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
5034         Add trailing newline.
5035         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
5036         Add trailing newline.
5037         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
5038         Add trailing newline.
5039         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
5040         Add trailing newline.
5041         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
5042         Add trailing newline.
5043         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
5044         Add trailing newline.
5045         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
5046         Add trailing newline.
5047         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
5048         Add trailing newline.
5049         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
5050         Add trailing newline.
5051         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
5052         Add trailing newline.
5053         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
5054         Add trailing newline.
5055         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
5056         Add trailing newline.
5057         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
5058         Add trailing newline.
5059         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
5060         Add trailing newline.
5061         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
5062         Add trailing newline.
5063         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
5064         Add trailing newline.
5065         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
5066         Add trailing newline.
5067         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
5068         Add trailing newline.
5069         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
5070         Add trailing newline.
5071         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
5072         Add trailing newline.
5073         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
5074         Add trailing newline.
5075         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
5076         Add trailing newline.
5077         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
5078         Add trailing newline.
5079         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
5080         Add trailing newline.
5081         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
5082         Add trailing newline.
5083         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
5084         Add trailing newline.
5085         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
5086         Add trailing newline.
5087         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
5088         Add trailing newline.
5089         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
5090         Add trailing newline.
5091         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
5092         Add trailing newline.
5093         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
5094         Add trailing newline.
5095         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
5096         Add trailing newline.
5097         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
5098         Add trailing newline.
5099         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
5100         Add trailing newline.
5101         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
5102         Add trailing newline.
5103         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
5104         Add trailing newline.
5105         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
5106         Add trailing newline.
5107         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
5108         Add trailing newline.
5109         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
5110         Add trailing newline.
5111         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
5112         Add trailing newline.
5113         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
5114         Add trailing newline.
5115         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
5116         Add trailing newline.
5117         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
5118         Add trailing newline.
5119         * doc/gcc/gcc-command-options/options-for-directory-search.rst:
5120         Add trailing newline.
5121         * doc/gcc/gcc-command-options/options-for-linking.rst:
5122         Add trailing newline.
5123         * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
5124         Add trailing newline.
5125         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5126         Add trailing newline.
5127         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5128         Add trailing newline.
5129         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
5130         Add trailing newline.
5131         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
5132         Add trailing newline.
5133         * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
5134         Add trailing newline.
5135         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
5136         Add trailing newline.
5137         * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
5138         Add trailing newline.
5139         * doc/gcc/gcc.rst:
5140         Add trailing newline.
5141         * doc/gcc/gcov-dump.rst:
5142         Add trailing newline.
5143         * doc/gcc/gcov-tool.rst:
5144         Add trailing newline.
5145         * doc/gcc/gcov.rst:
5146         Add trailing newline.
5147         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
5148         Add trailing newline.
5149         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
5150         Add trailing newline.
5151         * doc/gcc/gcov/introduction-to-gcov.rst:
5152         Add trailing newline.
5153         * doc/gcc/gcov/invoking-gcov.rst:
5154         Add trailing newline.
5155         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
5156         Add trailing newline.
5157         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
5158         Add trailing newline.
5159         * doc/gcc/general-public-license-3.rst:
5160         Add trailing newline.
5161         * doc/gcc/gnu-free-documentation-license.rst:
5162         Add trailing newline.
5163         * doc/gcc/gnu-objective-c-features.rst:
5164         Add trailing newline.
5165         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
5166         Add trailing newline.
5167         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
5168         Add trailing newline.
5169         * doc/gcc/gnu-objective-c-features/exceptions.rst:
5170         Add trailing newline.
5171         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
5172         Add trailing newline.
5173         * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
5174         Add trailing newline.
5175         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
5176         Add trailing newline.
5177         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
5178         Add trailing newline.
5179         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
5180         Add trailing newline.
5181         * doc/gcc/gnu-objective-c-features/synchronization.rst:
5182         Add trailing newline.
5183         * doc/gcc/gnu-objective-c-features/type-encoding.rst:
5184         Add trailing newline.
5185         * doc/gcc/gnu.rst:
5186         Add trailing newline.
5187         * doc/gcc/have-you-found-a-bug.rst:
5188         Add trailing newline.
5189         * doc/gcc/how-and-where-to-report-bugs.rst:
5190         Add trailing newline.
5191         * doc/gcc/how-to-get-help-with-gcc.rst:
5192         Add trailing newline.
5193         * doc/gcc/index.rst:
5194         Add trailing newline.
5195         * doc/gcc/indices-and-tables.rst:
5196         Add trailing newline.
5197         * doc/gcc/known-causes-of-trouble-with-gcc.rst:
5198         Add trailing newline.
5199         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
5200         Add trailing newline.
5201         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
5202         Add trailing newline.
5203         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
5204         Add trailing newline.
5205         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
5206         Add trailing newline.
5207         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
5208         Add trailing newline.
5209         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
5210         Add trailing newline.
5211         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
5212         Add trailing newline.
5213         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
5214         Add trailing newline.
5215         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
5216         Add trailing newline.
5217         * doc/gcc/language-standards-supported-by-gcc.rst:
5218         Add trailing newline.
5219         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
5220         Add trailing newline.
5221         * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
5222         Add trailing newline.
5223         * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
5224         Add trailing newline.
5225         * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
5226         Add trailing newline.
5227         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
5228         Add trailing newline.
5229         * doc/gcc/lto-dump.rst:
5230         Add trailing newline.
5231         * doc/gcc/programming-languages-supported-by-gcc.rst:
5232         Add trailing newline.
5233         * doc/gcc/reporting-bugs.rst:
5234         Add trailing newline.
5235         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
5236         Add trailing newline.
5237         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
5238         Add trailing newline.
5239         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
5240         Add trailing newline.
5241         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
5242         Add trailing newline.
5243         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5244         Add trailing newline.
5245         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
5246         Add trailing newline.
5247         * doc/gccint/analysis-and-representation-of-loops.rst:
5248         Add trailing newline.
5249         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
5250         Add trailing newline.
5251         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
5252         Add trailing newline.
5253         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
5254         Add trailing newline.
5255         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
5256         Add trailing newline.
5257         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
5258         Add trailing newline.
5259         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
5260         Add trailing newline.
5261         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
5262         Add trailing newline.
5263         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
5264         Add trailing newline.
5265         * doc/gccint/analyzer-internals.rst:
5266         Add trailing newline.
5267         * doc/gccint/collect2.rst:
5268         Add trailing newline.
5269         * doc/gccint/contributing-to-gcc-development.rst:
5270         Add trailing newline.
5271         * doc/gccint/contributors-to-gcc.rst:
5272         Add trailing newline.
5273         * doc/gccint/control-flow-graph.rst:
5274         Add trailing newline.
5275         * doc/gccint/control-flow-graph/basic-blocks.rst:
5276         Add trailing newline.
5277         * doc/gccint/control-flow-graph/edges.rst:
5278         Add trailing newline.
5279         * doc/gccint/control-flow-graph/liveness-information.rst:
5280         Add trailing newline.
5281         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
5282         Add trailing newline.
5283         * doc/gccint/control-flow-graph/profile-information.rst:
5284         Add trailing newline.
5285         * doc/gccint/copyright.rst:
5286         Add trailing newline.
5287         * doc/gccint/debugging-the-analyzer.rst:
5288         Add trailing newline.
5289         * doc/gccint/funding.rst:
5290         Add trailing newline.
5291         * doc/gccint/gcc-and-portability.rst:
5292         Add trailing newline.
5293         * doc/gccint/general-public-license-3.rst:
5294         Add trailing newline.
5295         * doc/gccint/generic.rst:
5296         Add trailing newline.
5297         * doc/gccint/generic/attributes-in-trees.rst:
5298         Add trailing newline.
5299         * doc/gccint/generic/c-and-c++-trees.rst:
5300         Add trailing newline.
5301         * doc/gccint/generic/declarations.rst:
5302         Add trailing newline.
5303         * doc/gccint/generic/deficiencies.rst:
5304         Add trailing newline.
5305         * doc/gccint/generic/expressions.rst:
5306         Add trailing newline.
5307         * doc/gccint/generic/functions.rst:
5308         Add trailing newline.
5309         * doc/gccint/generic/language-dependent-trees.rst:
5310         Add trailing newline.
5311         * doc/gccint/generic/overview.rst:
5312         Add trailing newline.
5313         * doc/gccint/generic/statements.rst:
5314         Add trailing newline.
5315         * doc/gccint/generic/types.rst:
5316         Add trailing newline.
5317         * doc/gccint/gimple-api.rst:
5318         Add trailing newline.
5319         * doc/gccint/gimple.rst:
5320         Add trailing newline.
5321         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
5322         Add trailing newline.
5323         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
5324         Add trailing newline.
5325         * doc/gccint/gimple/exception-handling.rst:
5326         Add trailing newline.
5327         * doc/gccint/gimple/gimple-instruction-set.rst:
5328         Add trailing newline.
5329         * doc/gccint/gimple/gimple-sequences.rst:
5330         Add trailing newline.
5331         * doc/gccint/gimple/manipulating-gimple-statements.rst:
5332         Add trailing newline.
5333         * doc/gccint/gimple/operands.rst:
5334         Add trailing newline.
5335         * doc/gccint/gimple/sequence-iterators.rst:
5336         Add trailing newline.
5337         * doc/gccint/gimple/statement-and-operand-traversals.rst:
5338         Add trailing newline.
5339         * doc/gccint/gimple/temporaries.rst:
5340         Add trailing newline.
5341         * doc/gccint/gimple/tuple-representation.rst:
5342         Add trailing newline.
5343         * doc/gccint/gimple/tuple-specific-accessors.rst:
5344         Add trailing newline.
5345         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
5346         Add trailing newline.
5347         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
5348         Add trailing newline.
5349         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
5350         Add trailing newline.
5351         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
5352         Add trailing newline.
5353         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
5354         Add trailing newline.
5355         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
5356         Add trailing newline.
5357         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
5358         Add trailing newline.
5359         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
5360         Add trailing newline.
5361         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
5362         Add trailing newline.
5363         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
5364         Add trailing newline.
5365         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
5366         Add trailing newline.
5367         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
5368         Add trailing newline.
5369         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
5370         Add trailing newline.
5371         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
5372         Add trailing newline.
5373         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
5374         Add trailing newline.
5375         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
5376         Add trailing newline.
5377         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
5378         Add trailing newline.
5379         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
5380         Add trailing newline.
5381         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
5382         Add trailing newline.
5383         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
5384         Add trailing newline.
5385         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
5386         Add trailing newline.
5387         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
5388         Add trailing newline.
5389         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
5390         Add trailing newline.
5391         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
5392         Add trailing newline.
5393         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
5394         Add trailing newline.
5395         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
5396         Add trailing newline.
5397         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
5398         Add trailing newline.
5399         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
5400         Add trailing newline.
5401         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
5402         Add trailing newline.
5403         * doc/gccint/gnu-free-documentation-license.rst:
5404         Add trailing newline.
5405         * doc/gccint/guidelines-for-diagnostics.rst:
5406         Add trailing newline.
5407         * doc/gccint/guidelines-for-options.rst:
5408         Add trailing newline.
5409         * doc/gccint/host-common.rst:
5410         Add trailing newline.
5411         * doc/gccint/host-configuration.rst:
5412         Add trailing newline.
5413         * doc/gccint/host-filesystem.rst:
5414         Add trailing newline.
5415         * doc/gccint/host-makefile-fragments.rst:
5416         Add trailing newline.
5417         * doc/gccint/host-misc.rst:
5418         Add trailing newline.
5419         * doc/gccint/index.rst:
5420         Add trailing newline.
5421         * doc/gccint/indices-and-tables.rst:
5422         Add trailing newline.
5423         * doc/gccint/interfacing-to-gcc-output.rst:
5424         Add trailing newline.
5425         * doc/gccint/introduction.rst:
5426         Add trailing newline.
5427         * doc/gccint/language-front-ends-in-gcc.rst:
5428         Add trailing newline.
5429         * doc/gccint/link-time-optimization.rst:
5430         Add trailing newline.
5431         * doc/gccint/link-time-optimization/design-overview.rst:
5432         Add trailing newline.
5433         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
5434         Add trailing newline.
5435         * doc/gccint/link-time-optimization/lto-file-sections.rst:
5436         Add trailing newline.
5437         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
5438         Add trailing newline.
5439         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
5440         Add trailing newline.
5441         * doc/gccint/machine-descriptions.rst:
5442         Add trailing newline.
5443         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
5444         Add trailing newline.
5445         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
5446         Add trailing newline.
5447         * doc/gccint/machine-descriptions/conditional-execution.rst:
5448         Add trailing newline.
5449         * doc/gccint/machine-descriptions/constant-definitions.rst:
5450         Add trailing newline.
5451         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
5452         Add trailing newline.
5453         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
5454         Add trailing newline.
5455         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
5456         Add trailing newline.
5457         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
5458         Add trailing newline.
5459         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
5460         Add trailing newline.
5461         * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
5462         Add trailing newline.
5463         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
5464         Add trailing newline.
5465         * doc/gccint/machine-descriptions/instruction-attributes.rst:
5466         Add trailing newline.
5467         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
5468         Add trailing newline.
5469         * doc/gccint/machine-descriptions/iterators.rst:
5470         Add trailing newline.
5471         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
5472         Add trailing newline.
5473         * doc/gccint/machine-descriptions/operand-constraints.rst:
5474         Add trailing newline.
5475         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
5476         Add trailing newline.
5477         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
5478         Add trailing newline.
5479         * doc/gccint/machine-descriptions/predicates.rst:
5480         Add trailing newline.
5481         * doc/gccint/machine-descriptions/rtl-template.rst:
5482         Add trailing newline.
5483         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
5484         Add trailing newline.
5485         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
5486         Add trailing newline.
5487         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
5488         Add trailing newline.
5489         * doc/gccint/makefile-fragments.rst:
5490         Add trailing newline.
5491         * doc/gccint/match-and-simplify.rst:
5492         Add trailing newline.
5493         * doc/gccint/memory-management-and-type-information.rst:
5494         Add trailing newline.
5495         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
5496         Add trailing newline.
5497         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
5498         Add trailing newline.
5499         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
5500         Add trailing newline.
5501         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
5502         Add trailing newline.
5503         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
5504         Add trailing newline.
5505         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
5506         Add trailing newline.
5507         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
5508         Add trailing newline.
5509         * doc/gccint/option-file-format.rst:
5510         Add trailing newline.
5511         * doc/gccint/option-properties.rst:
5512         Add trailing newline.
5513         * doc/gccint/option-specification-files.rst:
5514         Add trailing newline.
5515         * doc/gccint/passes-and-files-of-the-compiler.rst:
5516         Add trailing newline.
5517         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
5518         Add trailing newline.
5519         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
5520         Add trailing newline.
5521         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
5522         Add trailing newline.
5523         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
5524         Add trailing newline.
5525         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
5526         Add trailing newline.
5527         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
5528         Add trailing newline.
5529         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
5530         Add trailing newline.
5531         * doc/gccint/plugins.rst:
5532         Add trailing newline.
5533         * doc/gccint/plugins/building-gcc-plugins.rst:
5534         Add trailing newline.
5535         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
5536         Add trailing newline.
5537         * doc/gccint/plugins/giving-information-about-a-plugin.rst:
5538         Add trailing newline.
5539         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
5540         Add trailing newline.
5541         * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
5542         Add trailing newline.
5543         * doc/gccint/plugins/keeping-track-of-available-passes.rst:
5544         Add trailing newline.
5545         * doc/gccint/plugins/loading-plugins.rst:
5546         Add trailing newline.
5547         * doc/gccint/plugins/plugin-api.rst:
5548         Add trailing newline.
5549         * doc/gccint/plugins/recording-information-about-pass-execution.rst:
5550         Add trailing newline.
5551         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
5552         Add trailing newline.
5553         * doc/gccint/rtl-representation.rst:
5554         Add trailing newline.
5555         * doc/gccint/rtl-representation/access-to-operands.rst:
5556         Add trailing newline.
5557         * doc/gccint/rtl-representation/access-to-special-operands.rst:
5558         Add trailing newline.
5559         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
5560         Add trailing newline.
5561         * doc/gccint/rtl-representation/bit-fields.rst:
5562         Add trailing newline.
5563         * doc/gccint/rtl-representation/comparison-operations.rst:
5564         Add trailing newline.
5565         * doc/gccint/rtl-representation/constant-expression-types.rst:
5566         Add trailing newline.
5567         * doc/gccint/rtl-representation/conversions.rst:
5568         Add trailing newline.
5569         * doc/gccint/rtl-representation/declarations.rst:
5570         Add trailing newline.
5571         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
5572         Add trailing newline.
5573         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
5574         Add trailing newline.
5575         * doc/gccint/rtl-representation/insns.rst:
5576         Add trailing newline.
5577         * doc/gccint/rtl-representation/machine-modes.rst:
5578         Add trailing newline.
5579         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
5580         Add trailing newline.
5581         * doc/gccint/rtl-representation/reading-rtl.rst:
5582         Add trailing newline.
5583         * doc/gccint/rtl-representation/registers-and-memory.rst:
5584         Add trailing newline.
5585         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
5586         Add trailing newline.
5587         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
5588         Add trailing newline.
5589         * doc/gccint/rtl-representation/rtl-object-types.rst:
5590         Add trailing newline.
5591         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
5592         Add trailing newline.
5593         * doc/gccint/rtl-representation/side-effect-expressions.rst:
5594         Add trailing newline.
5595         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
5596         Add trailing newline.
5597         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
5598         Add trailing newline.
5599         * doc/gccint/rtl-representation/vector-operations.rst:
5600         Add trailing newline.
5601         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
5602         Add trailing newline.
5603         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
5604         Add trailing newline.
5605         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
5606         Add trailing newline.
5607         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
5608         Add trailing newline.
5609         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
5610         Add trailing newline.
5611         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
5612         Add trailing newline.
5613         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
5614         Add trailing newline.
5615         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
5616         Add trailing newline.
5617         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
5618         Add trailing newline.
5619         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
5620         Add trailing newline.
5621         * doc/gccint/source-tree-structure-and-build-system.rst:
5622         Add trailing newline.
5623         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
5624         Add trailing newline.
5625         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
5626         Add trailing newline.
5627         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
5628         Add trailing newline.
5629         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
5630         Add trailing newline.
5631         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
5632         Add trailing newline.
5633         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
5634         Add trailing newline.
5635         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
5636         Add trailing newline.
5637         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
5638         Add trailing newline.
5639         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
5640         Add trailing newline.
5641         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
5642         Add trailing newline.
5643         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
5644         Add trailing newline.
5645         * doc/gccint/standard-header-file-directories.rst:
5646         Add trailing newline.
5647         * doc/gccint/static-analyzer.rst:
5648         Add trailing newline.
5649         * doc/gccint/target-macros.rst:
5650         Add trailing newline.
5651         * doc/gccint/target-macros/controlling-debugging-information-format.rst:
5652         Add trailing newline.
5653         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
5654         Add trailing newline.
5655         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
5656         Add trailing newline.
5657         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
5658         Add trailing newline.
5659         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
5660         Add trailing newline.
5661         * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
5662         Add trailing newline.
5663         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
5664         Add trailing newline.
5665         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
5666         Add trailing newline.
5667         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
5668         Add trailing newline.
5669         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
5670         Add trailing newline.
5671         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
5672         Add trailing newline.
5673         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
5674         Add trailing newline.
5675         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
5676         Add trailing newline.
5677         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
5678         Add trailing newline.
5679         * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
5680         Add trailing newline.
5681         * doc/gccint/target-macros/position-independent-code.rst:
5682         Add trailing newline.
5683         * doc/gccint/target-macros/register-usage.rst:
5684         Add trailing newline.
5685         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
5686         Add trailing newline.
5687         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
5688         Add trailing newline.
5689         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
5690         Add trailing newline.
5691         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
5692         Add trailing newline.
5693         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
5694         Add trailing newline.
5695         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
5696         Add trailing newline.
5697         * doc/gccint/target-macros/support-for-nested-functions.rst:
5698         Add trailing newline.
5699         * doc/gccint/target-macros/the-global-targetm-variable.rst:
5700         Add trailing newline.
5701         * doc/gccint/target-makefile-fragments.rst:
5702         Add trailing newline.
5703         * doc/gccint/testsuites.rst:
5704         Add trailing newline.
5705         * doc/gccint/testsuites/ada-language-testsuites.rst:
5706         Add trailing newline.
5707         * doc/gccint/testsuites/c-language-testsuites.rst:
5708         Add trailing newline.
5709         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
5710         Add trailing newline.
5711         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
5712         Add trailing newline.
5713         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
5714         Add trailing newline.
5715         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
5716         Add trailing newline.
5717         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
5718         Add trailing newline.
5719         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
5720         Add trailing newline.
5721         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
5722         Add trailing newline.
5723         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
5724         Add trailing newline.
5725         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
5726         Add trailing newline.
5727         * doc/gccint/testsuites/support-for-testing-gcov.rst:
5728         Add trailing newline.
5729         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
5730         Add trailing newline.
5731         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
5732         Add trailing newline.
5733         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
5734         Add trailing newline.
5735         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
5736         Add trailing newline.
5737         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
5738         Add trailing newline.
5739         * doc/gccint/the-gcc-low-level-runtime-library.rst:
5740         Add trailing newline.
5741         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
5742         Add trailing newline.
5743         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
5744         Add trailing newline.
5745         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
5746         Add trailing newline.
5747         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
5748         Add trailing newline.
5749         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
5750         Add trailing newline.
5751         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
5752         Add trailing newline.
5753         * doc/gccint/the-language.rst:
5754         Add trailing newline.
5755         * doc/gccint/user-experience-guidelines.rst:
5756         Add trailing newline.
5757         * doc/install/binaries.rst:
5758         Add trailing newline.
5759         * doc/install/building.rst:
5760         Add trailing newline.
5761         * doc/install/building/building-a-cross-compiler.rst:
5762         Add trailing newline.
5763         * doc/install/building/building-a-native-compiler.rst:
5764         Add trailing newline.
5765         * doc/install/building/building-in-parallel.rst:
5766         Add trailing newline.
5767         * doc/install/building/building-the-ada-compiler.rst:
5768         Add trailing newline.
5769         * doc/install/building/building-the-d-compiler.rst:
5770         Add trailing newline.
5771         * doc/install/building/building-with-profile-feedback.rst:
5772         Add trailing newline.
5773         * doc/install/configuration.rst:
5774         Add trailing newline.
5775         * doc/install/copyright.rst:
5776         Add trailing newline.
5777         * doc/install/downloading-gcc.rst:
5778         Add trailing newline.
5779         * doc/install/final-installation.rst:
5780         Add trailing newline.
5781         * doc/install/gnu-free-documentation-license.rst:
5782         Add trailing newline.
5783         * doc/install/host-target-specific-installation-notes-for-gcc.rst:
5784         Add trailing newline.
5785         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
5786         Add trailing newline.
5787         * doc/install/how-to-interpret-test-results.rst:
5788         Add trailing newline.
5789         * doc/install/index.rst:
5790         Add trailing newline.
5791         * doc/install/indices-and-tables.rst:
5792         Add trailing newline.
5793         * doc/install/installing-gcc.rst:
5794         Add trailing newline.
5795         * doc/install/passing-options-and-running-multiple-testsuites.rst:
5796         Add trailing newline.
5797         * doc/install/prerequisites.rst:
5798         Add trailing newline.
5799         * doc/install/submitting-test-results.rst:
5800         Add trailing newline.
5801         * doc/install/testing.rst:
5802         Add trailing newline.
5804 2022-11-14  Martin Liska  <mliska@suse.cz>
5806         Revert:
5807         2022-11-14  Martin Liska  <mliska@suse.cz>
5809         * Makefile.in: Use new install URL.
5810         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
5811         Use intersphinx link.
5812         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
5813         Use new URL.
5814         * doc/gccint/source-tree-structure-and-build-system.rst: Use
5815         intersphinx link.
5816         * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
5817         * doc/install/installing-gcc.rst: Likewise.
5819 2022-11-14  Martin Liska  <mliska@suse.cz>
5821         Revert:
5822         2022-11-09  Martin Liska  <mliska@suse.cz>
5823                     Sinan  <sinan.lin@linux.alibaba.com>
5825         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5826         Add missing variable name.
5828 2022-11-14  Martin Liska  <mliska@suse.cz>
5830         Revert:
5831         2022-11-14  Martin Liska  <mliska@suse.cz>
5833         * doc/cpp/conf.py: Add newline at last line.
5834         * doc/cppinternals/conf.py: Add newline at last line.
5835         * doc/gcc/conf.py: Add newline at last line.
5836         * doc/gccint/conf.py: Add newline at last line.
5837         * doc/install/conf.py: Add newline at last line.
5839 2022-11-14  Martin Liska  <mliska@suse.cz>
5841         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5842         Revert.
5844 2022-11-14  Martin Liska  <mliska@suse.cz>
5846         * doc/cpp/pragmas.rst: Revert.
5848 2022-11-14  Martin Liska  <mliska@suse.cz>
5850         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
5852 2022-11-14  Martin Liska  <mliska@suse.cz>
5854         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
5856 2022-11-14  Martin Liska  <mliska@suse.cz>
5858         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
5859         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: Revert.
5861 2022-11-14  Martin Liska  <mliska@suse.cz>
5863         Revert:
5864         2022-11-13  Jonathan Wakely  <jwakely@redhat.com>
5866         * doc/install/testing.rst: Remove anachronism about separate
5867         source tarballs.
5869 2022-11-14  Martin Liska  <mliska@suse.cz>
5871         Revert:
5872         2022-11-13  Martin Liska  <mliska@suse.cz>
5874         PR other/107620
5875         * configure: Regenerate.
5876         * configure.ac: Always set sphinx-build.
5878 2022-11-14  Martin Liska  <mliska@suse.cz>
5880         * doc/gcc/gcc-command-options/option-summary.rst: Revert.
5881         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
5883 2022-11-14  Haochen Jiang  <haochen.jiang@intel.com>
5885         * common/config/i386/i386-common.cc
5886         (OPTION_MASK_ISA2_AMX_INT8_SET): Add AMX-TILE dependency.
5887         (OPTION_MASK_ISA2_AMX_BF16_SET): Ditto.
5888         (OPTION_MASK_ISA2_AMX_FP16_SET): Ditto.
5889         (OPTION_MASK_ISA2_AMX_TILE_UNSET): Disable AMX_{INT8,
5890         BF16, FP16} when disable AMX_TILE.
5892 2022-11-14  Martin Liska  <mliska@suse.cz>
5894         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
5895         Revert.
5896         * doc/gcc/gcc-command-options/option-summary.rst:
5897         Revert.
5899 2022-11-14  Hongyu Wang  <hongyu.wang@intel.com>
5901         * common/config/i386/i386-common.cc (ix86_optimization_table):
5902         Enable small loop unroll at O2 by default.
5903         * config/i386/i386.cc (ix86_loop_unroll_adjust): Adjust unroll
5904         factor if -munroll-only-small-loops enabled and -funroll-loops/
5905         -funroll-all-loops are disabled.
5906         * config/i386/i386.h (struct processor_costs): Add 2 field
5907         small_unroll_ninsns and small_unroll_factor.
5908         * config/i386/i386.opt: Add -munroll-only-small-loops.
5909         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst:
5910         Document -munroll-only-small-loops.
5911         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
5912         * loop-init.cc (pass_rtl_unroll_loops::gate): Enable rtl
5913         loop unrolling for -O2-speed and above if target hook
5914         loop_unroll_adjust exists.
5915         (pass_rtl_unroll_loops::execute): Set UAP_UNROLL flag
5916         when target hook loop_unroll_adjust exists.
5917         * config/i386/x86-tune-costs.h: Update all processor costs
5918         with small_unroll_ninsns = 4 and small_unroll_factor = 2.
5920 2022-11-13  David Malcolm  <dmalcolm@redhat.com>
5922         PR analyzer/106235
5923         * doc/gcc/gcc-command-options/option-summary.rst: Add
5924         -Wno-analyzer-tainted-assertion.
5925         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5926         Add -Wno-analyzer-tainted-assertion.
5928 2022-11-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5930         * config/riscv/bitmanip.md: New define_split.
5932 2022-11-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
5934         * config/riscv/riscv.cc (riscv_rtx_costs): Recognize shNadd,
5935         if expressed as a plus and multiplication with a power-of-2.
5936         Split costing for MINUS from PLUS.
5938 2022-11-13  Martin Liska  <mliska@suse.cz>
5940         PR other/107620
5941         * configure: Regenerate.
5942         * configure.ac: Always set sphinx-build.
5944 2022-11-13  Joseph Myers  <joseph@codesourcery.com>
5946         * ginclude/float.h [__STDC_VERSION__ > 201710L]
5947         (__STDC_VERSION_FLOAT_H__): New macro.
5948         * ginclude/stdarg.h [__STDC_VERSION__ > 201710L]
5949         (__STDC_VERSION_STDARG_H__): New macro.
5950         * ginclude/stdatomic.h [__STDC_VERSION__ > 201710L]
5951         (__STDC_VERSION_STDATOMIC_H__): New macro.
5952         * ginclude/stddef.h [__STDC_VERSION__ > 201710L]
5953         (__STDC_VERSION_STDDEF_H__): New macro.
5954         * ginclude/stdint-gcc.h [__STDC_VERSION__ > 201710L]
5955         (__STDC_VERSION_STDINT_H__): New macro.
5956         * glimits.h [__STDC_VERSION__ > 201710L]
5957         (__STDC_VERSION_LIMITS_H__): New macro.
5959 2022-11-13  Jonathan Wakely  <jwakely@redhat.com>
5961         * doc/install/testing.rst: Remove anachronism about separate
5962         source tarballs.
5964 2022-11-12  Joseph Myers  <joseph@codesourcery.com>
5966         * dfp.cc (decimal_from_binary): Convert a canonical NaN to a
5967         canonical NaN.
5969 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
5971         * value-range.cc (range_tests_signbit): Move to set from here...
5972         (range_tests_signed_zeros): ...to here.
5974 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
5976         * range-op-float.cc (build_lt): Adjust with frange_nextafter
5977         instead of default to a closed range.
5978         (build_gt): Same.
5980 2022-11-12  Aldy Hernandez  <aldyh@redhat.com>
5981             Jakub Jelinek  <jakub@redhat.com>
5983         * range-op-float.cc (float_binary_op_range_finish): New function.
5984         (foperator_plus::op1_range): New.
5985         (foperator_plus::op2_range): New.
5986         (foperator_minus::op1_range): New.
5987         (foperator_minus::op2_range): New.
5988         (foperator_mult::op1_range): New.
5989         (foperator_mult::op2_range): New.
5990         (foperator_div::op1_range): New.
5991         (foperator_div::op2_range): New.
5993 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
5995         PR tree-optimization/107569
5996         * range-op-float.cc (zero_p, contains_p, singleton_inf_p,
5997         signbit_known_p, zero_range, inf_range, zero_to_inf_range): New
5998         functions.
5999         (foperator_mult_div_base): New class.
6000         (foperator_mult, foperator_div): Derive from that and use
6001         protected static method from it as well as above new functions
6002         to simplify the code.
6004 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
6006         PR tree-optimization/107569
6007         * range-op-float.cc (foperator_div): New class.
6008         (floating_op_table::floating_op_table): Use foperator_div
6009         for RDIV_EXPR.
6011 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
6013         PR tree-optimization/107569
6014         PR tree-optimization/107591
6015         * range-op.h (range_operator_float::rv_fold): Add relation_kind
6016         argument.
6017         * range-op-float.cc (range_operator_float::fold_range): Name
6018         last argument trio and pass trio.op1_op2 () as last argument to
6019         rv_fold.
6020         (range_operator_float::rv_fold): Add relation_kind argument.
6021         (foperator_plus::rv_fold, foperator_minus::rv_fold): Likewise.
6022         (foperator_mult): New class.
6023         (floating_op_table::floating_op_table): Use foperator_mult for
6024         MULT_EXPR.
6026 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
6028         * config/loongarch/loongarch.md (UNSPEC_FLOGB): New unspec.
6029         (type): Add flogb.
6030         (logb_non_negative<mode>2): New instruction template.
6031         (logb<mode>2): New define_expand.
6033 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
6035         * config/loongarch/loongarch.md (UNSPEC_FSCALEB): New unspec.
6036         (type): Add fscaleb.
6037         (IMODE): New mode attr.
6038         (ldexp<mode>3): New instruction template.
6040 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
6042         * config/loongarch/loongarch.md (UNSPEC_FTINT): New unspec.
6043         (UNSPEC_FTINTRM): Likewise.
6044         (UNSPEC_FTINTRP): Likewise.
6045         (LRINT): New define_int_iterator.
6046         (lrint_pattern): New define_int_attr.
6047         (lrint_submenmonic): Likewise.
6048         (lrint_allow_inexact): Likewise.
6049         (ANYFI): New define_mode_iterator.
6050         (lrint<ANYF><ANYFI>): New instruction template.
6052 2022-11-12  Xi Ruoyao  <xry111@xry111.site>
6054         * config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
6055         (rint<mode>2): .. this.
6057 2022-11-11  David Malcolm  <dmalcolm@redhat.com>
6059         PR analyzer/106147
6060         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
6061         Add -Wanalyzer-infinite-recursion.
6062         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
6063         (-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.
6065 2022-11-11  David Malcolm  <dmalcolm@redhat.com>
6067         PR analyzer/106147
6068         * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
6070 2022-11-11  Andrew MacLeod  <amacleod@redhat.com>
6072         PR tree-optimization/107523
6073         * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
6074         rather than fur_depend.
6076 2022-11-11  Andrew MacLeod  <amacleod@redhat.com>
6078         * tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
6079         (rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
6080         (rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
6081         (rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.
6083 2022-11-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
6085         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
6086         CPU.
6087         * config/aarch64/aarch64-tune.md: Regenerate.
6088         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
6089         Document Cortex-X1C CPU.
6091 2022-11-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
6093         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
6094         CPU.
6095         * config/aarch64/aarch64-tune.md: Regenerate.
6096         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
6097         Document Cortex-A715 CPU.
6099 2022-11-11  Richard Biener  <rguenther@suse.de>
6100             Nikita Voronov  <nik_1357@mail.ru>
6102         PR tree-optimization/107554
6103         * tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
6104         Use unsigned HOST_WIDE_INT type for the strlen.
6106 2022-11-11  Richard Biener  <rguenther@suse.de>
6108         PR tree-optimization/105142
6109         * gimple-fold.cc (fosa_unwind): New global.
6110         (follow_outer_ssa_edges): When the SSA definition to follow
6111         is does not dominate fosa_bb, temporarily clear flow-sensitive
6112         info.  Make sure to not expand stmts with not defined overflow.
6113         (maybe_fold_comparisons_from_match_pd): Set up unwind stack
6114         for follow_outer_ssa_edges and unwind flow-sensitive info
6115         clearing after matching.
6117 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
6119         * range-op.cc (operator_mult::fold_range): Remove.
6120         (operator_div::fold_range): Remove.
6121         (operator_bitwise_and): Remove.
6123 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
6125         * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
6127 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
6129         * range-op.cc (range_operator::fold_range): Call
6130         update_known_bitmask.
6131         (operator_bitwise_and::fold_range): Avoid setting nonzero bits
6132         when range is undefined.
6134 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
6136         * range-op.cc (class operator_div): Remove tree code.
6137         (operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
6138         TRUNC_DIV_EXPR.
6140 2022-11-11  Aldy Hernandez  <aldyh@redhat.com>
6142         * range-op.cc: (range_op_table::set): Set m_code.
6143         (integral_table::integral_table): Handle shared entries.
6144         (pointer_table::pointer_table): Same.
6145         * range-op.h (class range_operator): Add m_code.
6147 2022-11-11  Richard Biener  <rguenther@suse.de>
6149         PR tree-optimization/107618
6150         * tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
6151         assignments with a single SSA use.
6152         (copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
6153         to perform simple constant folding.
6154         (copy_prop::visit_stmt): Visit all assignments.
6156 2022-11-11  Richard Biener  <rguenther@suse.de>
6158         PR tree-optimization/84646
6159         * tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
6160         wheter to run update-address-taken.
6161         (pass_dce::execute): Honor it.
6162         * passes.def: Exchange last DCE and CD-DCE invocations.
6163         Swap pass_tail_calls and the last DCE.
6165 2022-11-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
6166             Monk Chiang  <monk.chiang@sifive.com>
6168         * config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
6169         (legitimize_move): Ditto.
6170         * config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
6171         (riscv_first_stack_step): Adjust for scalable register spilling.
6172         (riscv_expand_prologue): Ditto.
6173         (riscv_expand_epilogue): Ditto.
6174         (riscv_dwarf_poly_indeterminate_value): New function.
6175         (TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
6176         * config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
6177         (RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
6178         (RISCV_PROLOGUE_TEMP2): Ditto.
6179         * config/riscv/vector-iterators.md: New iterators.
6180         * config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
6181         (*mov<mode>_whole): New pattern.
6182         (*mov<mode>_fract): New pattern.
6183         (@pred_mov<mode>): Fix it for register spilling.
6185 2022-11-11  Jonathan Wakely  <jwakely@redhat.com>
6187         PR c/85487
6188         * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
6190 2022-11-11  Haochen Jiang  <haochen.jiang@intel.com>
6192         * config/i386/i386-builtin.def (BDESC): Add
6193         OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
6194         * config/i386/i386-expand.cc (ix86_expand_builtin):
6195         Add ISA check before emit_insn.
6196         * config/i386/prfchiintrin.h: Add target for intrin.
6198 2022-11-10  David Malcolm  <dmalcolm@redhat.com>
6200         PR analyzer/99671
6201         * tristate.h (tristate::is_unknown): New.
6203 2022-11-10  David Malcolm  <dmalcolm@redhat.com>
6205         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
6206         Add -Wanalyzer-deref-before-check.
6208 2022-11-10  Marek Polacek  <polacek@redhat.com>
6210         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
6211         Extend the description of -Wdangling-reference.
6213 2022-11-10  Andrew Pinski  <apinski@marvell.com>
6215         * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
6216         * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
6217         * system.h: Poison SLOW_SHORT_ACCESS
6219 2022-11-10  Aldy Hernandez  <aldyh@redhat.com>
6221         * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
6222         (range_tests_signed_zeros): Adjust test.
6224 2022-11-10  Richard Biener  <rguenther@suse.de>
6226         PR tree-optimization/84646
6227         * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
6228         copy propagation across PHIs.
6230 2022-11-10  Philipp Tomsich  <philipp.tomsich@vrull.eu>
6232         * config/riscv/riscv-cores.def (RISCV_TUNE): Update
6233         sifive-7-series to point to the sifive_7 pipeline description.
6235 2022-11-10  Richard Biener  <rguenther@suse.de>
6237         PR tree-optimization/84646
6238         * tree-ssa-ccp.cc (set_lattice_value): Make sure we
6239         allow a const -> copy transition and avoid using meet
6240         in that case.
6242 2022-11-10  Martin Liska  <mliska@suse.cz>
6244         * doc/cpp/conf.py: Add newline at last line.
6245         * doc/cppinternals/conf.py: Add newline at last line.
6246         * doc/gcc/conf.py: Add newline at last line.
6247         * doc/gccint/conf.py: Add newline at last line.
6248         * doc/install/conf.py: Add newline at last line.
6250 2022-11-10  Richard Biener  <rguenther@suse.de>
6252         * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
6253         candidates and determine the outermost loop to unswitch.
6254         (tree_ssa_unswitch_loops): First perform all guard hoisting,
6255         then perform unswitching on innermost loop predicates.
6256         (find_unswitching_predicates_for_bb): Keep track of the
6257         outermost loop to unswitch.
6258         (evaluate_bbs): Adjust exit test.
6259         (tree_unswitch_single_loop): Dump whether we unswitched an outer
6260         loop.
6261         (tree_unswitch_loop): Remove assert we unswitch only innermost
6262         loops.
6264 2022-11-10  Jakub Jelinek  <jakub@redhat.com>
6266         PR target/107585
6267         PR target/107546
6268         * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
6269         gen_int_mode rather than GEN_INT.
6271 2022-11-09  Martin Liska  <mliska@suse.cz>
6272             Sinan  <sinan.lin@linux.alibaba.com>
6274         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
6275         Add missing variable name.
6277 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
6279         * value-range-storage.cc (frange_storage_slot::get_frange): Clear
6280         NAN if appropriate.
6281         * value-range.cc (range_tests_floats): New test.
6283 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
6285         * range-op-float.cc (class foperator_plus): Remove op[12]_range.
6286         (class foperator_minus): Same.
6288 2022-11-09  Qing Zhao  <qing.zhao@oracle.com>
6290         * gimple-array-bounds.cc (trailing_array): Replace
6291         array_at_struct_end_p with new name and update comments.
6292         * gimple-fold.cc (get_range_strlen_tree): Likewise.
6293         * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
6294         Likewise.
6295         * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
6296         * tree-if-conv.cc (idx_within_array_bound): Likewise.
6297         * tree-object-size.cc (addr_object_size): Likewise.
6298         * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
6299         Likewise.
6300         (stmt_kills_ref_p): Likewise.
6301         * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
6302         * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
6303         * tree.cc (array_at_struct_end_p): Rename to ...
6304         (array_ref_flexible_size_p): ... this.
6305         (component_ref_size): Replace array_at_struct_end_p with new name.
6306         * tree.h (array_at_struct_end_p): Rename to ...
6307         (array_ref_flexible_size_p): ... this.
6309 2022-11-09  Martin Liska  <mliska@suse.cz>
6311         * Makefile.in: Use new install URL.
6312         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
6313         Use intersphinx link.
6314         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
6315         Use new URL.
6316         * doc/gccint/source-tree-structure-and-build-system.rst: Use
6317         intersphinx link.
6318         * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
6319         * doc/install/installing-gcc.rst: Likewise.
6321 2022-11-09  Richard Biener  <rguenther@suse.de>
6323         PR tree-optimization/84646
6324         * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
6325         Remove premature cycle rejection.
6327 2022-11-09  Martin Liska  <mliska@suse.cz>
6329         * doc/cpp/character-sets.rst:
6330         Add trailing newline.
6331         * doc/cpp/conditional-syntax.rst:
6332         Add trailing newline.
6333         * doc/cpp/conditional-uses.rst:
6334         Add trailing newline.
6335         * doc/cpp/conditionals.rst:
6336         Add trailing newline.
6337         * doc/cpp/copyright.rst:
6338         Add trailing newline.
6339         * doc/cpp/deleted-code.rst:
6340         Add trailing newline.
6341         * doc/cpp/diagnostics.rst:
6342         Add trailing newline.
6343         * doc/cpp/environment-variables.rst:
6344         Add trailing newline.
6345         * doc/cpp/gnu-free-documentation-license.rst:
6346         Add trailing newline.
6347         * doc/cpp/header-files.rst:
6348         Add trailing newline.
6349         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
6350         Add trailing newline.
6351         * doc/cpp/header-files/computed-includes.rst:
6352         Add trailing newline.
6353         * doc/cpp/header-files/include-operation.rst:
6354         Add trailing newline.
6355         * doc/cpp/header-files/include-syntax.rst:
6356         Add trailing newline.
6357         * doc/cpp/header-files/once-only-headers.rst:
6358         Add trailing newline.
6359         * doc/cpp/header-files/search-path.rst:
6360         Add trailing newline.
6361         * doc/cpp/header-files/system-headers.rst:
6362         Add trailing newline.
6363         * doc/cpp/header-files/wrapper-headers.rst:
6364         Add trailing newline.
6365         * doc/cpp/implementation-defined-behavior.rst:
6366         Add trailing newline.
6367         * doc/cpp/implementation-details.rst:
6368         Add trailing newline.
6369         * doc/cpp/implementation-limits.rst:
6370         Add trailing newline.
6371         * doc/cpp/index.rst:
6372         Add trailing newline.
6373         * doc/cpp/indices-and-tables.rst:
6374         Add trailing newline.
6375         * doc/cpp/initial-processing.rst:
6376         Add trailing newline.
6377         * doc/cpp/invocation.rst:
6378         Add trailing newline.
6379         * doc/cpp/line-control.rst:
6380         Add trailing newline.
6381         * doc/cpp/macros.rst:
6382         Add trailing newline.
6383         * doc/cpp/macros/concatenation.rst:
6384         Add trailing newline.
6385         * doc/cpp/macros/directives-within-macro-arguments.rst:
6386         Add trailing newline.
6387         * doc/cpp/macros/function-like-macros.rst:
6388         Add trailing newline.
6389         * doc/cpp/macros/macro-arguments.rst:
6390         Add trailing newline.
6391         * doc/cpp/macros/macro-pitfalls.rst:
6392         Add trailing newline.
6393         * doc/cpp/macros/object-like-macros.rst:
6394         Add trailing newline.
6395         * doc/cpp/macros/predefined-macros.rst:
6396         Add trailing newline.
6397         * doc/cpp/macros/stringizing.rst:
6398         Add trailing newline.
6399         * doc/cpp/macros/undefining-and-redefining-macros.rst:
6400         Add trailing newline.
6401         * doc/cpp/macros/variadic-macros.rst:
6402         Add trailing newline.
6403         * doc/cpp/obsolete-features.rst:
6404         Add trailing newline.
6405         * doc/cpp/other-directives.rst:
6406         Add trailing newline.
6407         * doc/cpp/overview.rst:
6408         Add trailing newline.
6409         * doc/cpp/pragmas.rst:
6410         Add trailing newline.
6411         * doc/cpp/preprocessor-output.rst:
6412         Add trailing newline.
6413         * doc/cpp/the-preprocessing-language.rst:
6414         Add trailing newline.
6415         * doc/cpp/tokenization.rst:
6416         Add trailing newline.
6417         * doc/cpp/traditional-lexical-analysis.rst:
6418         Add trailing newline.
6419         * doc/cpp/traditional-macros.rst:
6420         Add trailing newline.
6421         * doc/cpp/traditional-miscellany.rst:
6422         Add trailing newline.
6423         * doc/cpp/traditional-mode.rst:
6424         Add trailing newline.
6425         * doc/cpp/traditional-warnings.rst:
6426         Add trailing newline.
6427         * doc/cppinternals/copyright.rst:
6428         Add trailing newline.
6429         * doc/cppinternals/cppinternals.rst:
6430         Add trailing newline.
6431         * doc/cppinternals/cpplib.rst:
6432         Add trailing newline.
6433         * doc/cppinternals/files.rst:
6434         Add trailing newline.
6435         * doc/cppinternals/index.rst:
6436         Add trailing newline.
6437         * doc/cppinternals/indices-and-tables.rst:
6438         Add trailing newline.
6439         * doc/cppinternals/internal-representation-of-macros.rst:
6440         Add trailing newline.
6441         * doc/cppinternals/just-which-line-number-anyway.rst:
6442         Add trailing newline.
6443         * doc/cppinternals/lexing-a-line.rst:
6444         Add trailing newline.
6445         * doc/cppinternals/lexing-a-token.rst:
6446         Add trailing newline.
6447         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
6448         Add trailing newline.
6449         * doc/cppinternals/macro-expansion-overview.rst:
6450         Add trailing newline.
6451         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
6452         Add trailing newline.
6453         * doc/cppinternals/multiple-include-optimization.rst:
6454         Add trailing newline.
6455         * doc/cppinternals/overview.rst:
6456         Add trailing newline.
6457         * doc/cppinternals/representation-of-line-numbers.rst:
6458         Add trailing newline.
6459         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
6460         Add trailing newline.
6461         * doc/gcc/binary-compatibility.rst:
6462         Add trailing newline.
6463         * doc/gcc/c++-implementation-defined-behavior.rst:
6464         Add trailing newline.
6465         * doc/gcc/c-implementation-defined-behavior.rst:
6466         Add trailing newline.
6467         * doc/gcc/c-implementation-defined-behavior/architecture.rst:
6468         Add trailing newline.
6469         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
6470         Add trailing newline.
6471         * doc/gcc/c-implementation-defined-behavior/characters.rst:
6472         Add trailing newline.
6473         * doc/gcc/c-implementation-defined-behavior/declarators.rst:
6474         Add trailing newline.
6475         * doc/gcc/c-implementation-defined-behavior/environment.rst:
6476         Add trailing newline.
6477         * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
6478         Add trailing newline.
6479         * doc/gcc/c-implementation-defined-behavior/hints.rst:
6480         Add trailing newline.
6481         * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
6482         Add trailing newline.
6483         * doc/gcc/c-implementation-defined-behavior/integers.rst:
6484         Add trailing newline.
6485         * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
6486         Add trailing newline.
6487         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
6488         Add trailing newline.
6489         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
6490         Add trailing newline.
6491         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
6492         Add trailing newline.
6493         * doc/gcc/c-implementation-defined-behavior/statements.rst:
6494         Add trailing newline.
6495         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
6496         Add trailing newline.
6497         * doc/gcc/c-implementation-defined-behavior/translation.rst:
6498         Add trailing newline.
6499         * doc/gcc/conditionally-supported-behavior.rst:
6500         Add trailing newline.
6501         * doc/gcc/contributing-to-gcc-development.rst:
6502         Add trailing newline.
6503         * doc/gcc/contributors-to-gcc.rst:
6504         Add trailing newline.
6505         * doc/gcc/copyright.rst:
6506         Add trailing newline.
6507         * doc/gcc/exception-handling.rst:
6508         Add trailing newline.
6509         * doc/gcc/extensions-to-the-c++-language.rst:
6510         Add trailing newline.
6511         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
6512         Add trailing newline.
6513         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
6514         Add trailing newline.
6515         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
6516         Add trailing newline.
6517         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
6518         Add trailing newline.
6519         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
6520         Add trailing newline.
6521         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
6522         Add trailing newline.
6523         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
6524         Add trailing newline.
6525         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
6526         Add trailing newline.
6527         * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
6528         Add trailing newline.
6529         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
6530         Add trailing newline.
6531         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
6532         Add trailing newline.
6533         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
6534         Add trailing newline.
6535         * doc/gcc/extensions-to-the-c-language-family.rst:
6536         Add trailing newline.
6537         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
6538         Add trailing newline.
6539         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
6540         Add trailing newline.
6541         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
6542         Add trailing newline.
6543         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
6544         Add trailing newline.
6545         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
6546         Add trailing newline.
6547         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
6548         Add trailing newline.
6549         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
6550         Add trailing newline.
6551         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
6552         Add trailing newline.
6553         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
6554         Add trailing newline.
6555         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
6556         Add trailing newline.
6557         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
6558         Add trailing newline.
6559         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
6560         Add trailing newline.
6561         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
6562         Add trailing newline.
6563         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
6564         Add trailing newline.
6565         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
6566         Add trailing newline.
6567         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
6568         Add trailing newline.
6569         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
6570         Add trailing newline.
6571         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
6572         Add trailing newline.
6573         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
6574         Add trailing newline.
6575         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
6576         Add trailing newline.
6577         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
6578         Add trailing newline.
6579         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
6580         Add trailing newline.
6581         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
6582         Add trailing newline.
6583         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
6584         Add trailing newline.
6585         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
6586         Add trailing newline.
6587         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
6588         Add trailing newline.
6589         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
6590         Add trailing newline.
6591         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
6592         Add trailing newline.
6593         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
6594         Add trailing newline.
6595         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
6596         Add trailing newline.
6597         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
6598         Add trailing newline.
6599         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
6600         Add trailing newline.
6601         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
6602         Add trailing newline.
6603         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
6604         Add trailing newline.
6605         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
6606         Add trailing newline.
6607         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
6608         Add trailing newline.
6609         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
6610         Add trailing newline.
6611         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
6612         Add trailing newline.
6613         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
6614         Add trailing newline.
6615         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
6616         Add trailing newline.
6617         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
6618         Add trailing newline.
6619         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
6620         Add trailing newline.
6621         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
6622         Add trailing newline.
6623         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
6624         Add trailing newline.
6625         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
6626         Add trailing newline.
6627         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
6628         Add trailing newline.
6629         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
6630         Add trailing newline.
6631         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
6632         Add trailing newline.
6633         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
6634         Add trailing newline.
6635         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
6636         Add trailing newline.
6637         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
6638         Add trailing newline.
6639         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
6640         Add trailing newline.
6641         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
6642         Add trailing newline.
6643         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
6644         Add trailing newline.
6645         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
6646         Add trailing newline.
6647         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
6648         Add trailing newline.
6649         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
6650         Add trailing newline.
6651         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
6652         Add trailing newline.
6653         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
6654         Add trailing newline.
6655         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
6656         Add trailing newline.
6657         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
6658         Add trailing newline.
6659         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
6660         Add trailing newline.
6661         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
6662         Add trailing newline.
6663         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
6664         Add trailing newline.
6665         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
6666         Add trailing newline.
6667         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
6668         Add trailing newline.
6669         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
6670         Add trailing newline.
6671         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
6672         Add trailing newline.
6673         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
6674         Add trailing newline.
6675         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
6676         Add trailing newline.
6677         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
6678         Add trailing newline.
6679         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
6680         Add trailing newline.
6681         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
6682         Add trailing newline.
6683         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
6684         Add trailing newline.
6685         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
6686         Add trailing newline.
6687         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
6688         Add trailing newline.
6689         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
6690         Add trailing newline.
6691         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
6692         Add trailing newline.
6693         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
6694         Add trailing newline.
6695         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
6696         Add trailing newline.
6697         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
6698         Add trailing newline.
6699         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
6700         Add trailing newline.
6701         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
6702         Add trailing newline.
6703         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
6704         Add trailing newline.
6705         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
6706         Add trailing newline.
6707         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
6708         Add trailing newline.
6709         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
6710         Add trailing newline.
6711         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
6712         Add trailing newline.
6713         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
6714         Add trailing newline.
6715         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
6716         Add trailing newline.
6717         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
6718         Add trailing newline.
6719         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
6720         Add trailing newline.
6721         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
6722         Add trailing newline.
6723         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
6724         Add trailing newline.
6725         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
6726         Add trailing newline.
6727         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
6728         Add trailing newline.
6729         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
6730         Add trailing newline.
6731         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
6732         Add trailing newline.
6733         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
6734         Add trailing newline.
6735         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
6736         Add trailing newline.
6737         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
6738         Add trailing newline.
6739         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
6740         Add trailing newline.
6741         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
6742         Add trailing newline.
6743         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
6744         Add trailing newline.
6745         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
6746         Add trailing newline.
6747         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
6748         Add trailing newline.
6749         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
6750         Add trailing newline.
6751         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
6752         Add trailing newline.
6753         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
6754         Add trailing newline.
6755         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
6756         Add trailing newline.
6757         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
6758         Add trailing newline.
6759         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
6760         Add trailing newline.
6761         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
6762         Add trailing newline.
6763         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
6764         Add trailing newline.
6765         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
6766         Add trailing newline.
6767         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
6768         Add trailing newline.
6769         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
6770         Add trailing newline.
6771         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
6772         Add trailing newline.
6773         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
6774         Add trailing newline.
6775         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
6776         Add trailing newline.
6777         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
6778         Add trailing newline.
6779         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
6780         Add trailing newline.
6781         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
6782         Add trailing newline.
6783         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
6784         Add trailing newline.
6785         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
6786         Add trailing newline.
6787         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
6788         Add trailing newline.
6789         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
6790         Add trailing newline.
6791         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
6792         Add trailing newline.
6793         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
6794         Add trailing newline.
6795         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
6796         Add trailing newline.
6797         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
6798         Add trailing newline.
6799         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
6800         Add trailing newline.
6801         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
6802         Add trailing newline.
6803         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
6804         Add trailing newline.
6805         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
6806         Add trailing newline.
6807         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
6808         Add trailing newline.
6809         * doc/gcc/funding.rst:
6810         Add trailing newline.
6811         * doc/gcc/gcc-command-options.rst:
6812         Add trailing newline.
6813         * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
6814         Add trailing newline.
6815         * doc/gcc/gcc-command-options/description.rst:
6816         Add trailing newline.
6817         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
6818         Add trailing newline.
6819         * doc/gcc/gcc-command-options/gcc-developer-options.rst:
6820         Add trailing newline.
6821         * doc/gcc/gcc-command-options/machine-dependent-options.rst:
6822         Add trailing newline.
6823         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
6824         Add trailing newline.
6825         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
6826         Add trailing newline.
6827         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
6828         Add trailing newline.
6829         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
6830         Add trailing newline.
6831         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
6832         Add trailing newline.
6833         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
6834         Add trailing newline.
6835         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
6836         Add trailing newline.
6837         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
6838         Add trailing newline.
6839         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
6840         Add trailing newline.
6841         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
6842         Add trailing newline.
6843         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
6844         Add trailing newline.
6845         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
6846         Add trailing newline.
6847         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
6848         Add trailing newline.
6849         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
6850         Add trailing newline.
6851         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
6852         Add trailing newline.
6853         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
6854         Add trailing newline.
6855         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
6856         Add trailing newline.
6857         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
6858         Add trailing newline.
6859         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
6860         Add trailing newline.
6861         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
6862         Add trailing newline.
6863         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
6864         Add trailing newline.
6865         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
6866         Add trailing newline.
6867         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
6868         Add trailing newline.
6869         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
6870         Add trailing newline.
6871         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
6872         Add trailing newline.
6873         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
6874         Add trailing newline.
6875         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
6876         Add trailing newline.
6877         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
6878         Add trailing newline.
6879         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
6880         Add trailing newline.
6881         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
6882         Add trailing newline.
6883         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
6884         Add trailing newline.
6885         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
6886         Add trailing newline.
6887         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
6888         Add trailing newline.
6889         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
6890         Add trailing newline.
6891         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
6892         Add trailing newline.
6893         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
6894         Add trailing newline.
6895         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
6896         Add trailing newline.
6897         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
6898         Add trailing newline.
6899         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
6900         Add trailing newline.
6901         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
6902         Add trailing newline.
6903         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
6904         Add trailing newline.
6905         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
6906         Add trailing newline.
6907         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
6908         Add trailing newline.
6909         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
6910         Add trailing newline.
6911         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
6912         Add trailing newline.
6913         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
6914         Add trailing newline.
6915         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
6916         Add trailing newline.
6917         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
6918         Add trailing newline.
6919         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
6920         Add trailing newline.
6921         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
6922         Add trailing newline.
6923         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
6924         Add trailing newline.
6925         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
6926         Add trailing newline.
6927         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
6928         Add trailing newline.
6929         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
6930         Add trailing newline.
6931         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
6932         Add trailing newline.
6933         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
6934         Add trailing newline.
6935         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
6936         Add trailing newline.
6937         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
6938         Add trailing newline.
6939         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
6940         Add trailing newline.
6941         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
6942         Add trailing newline.
6943         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
6944         Add trailing newline.
6945         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
6946         Add trailing newline.
6947         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
6948         Add trailing newline.
6949         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
6950         Add trailing newline.
6951         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
6952         Add trailing newline.
6953         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
6954         Add trailing newline.
6955         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
6956         Add trailing newline.
6957         * doc/gcc/gcc-command-options/options-for-directory-search.rst:
6958         Add trailing newline.
6959         * doc/gcc/gcc-command-options/options-for-linking.rst:
6960         Add trailing newline.
6961         * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
6962         Add trailing newline.
6963         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
6964         Add trailing newline.
6965         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
6966         Add trailing newline.
6967         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
6968         Add trailing newline.
6969         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
6970         Add trailing newline.
6971         * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
6972         Add trailing newline.
6973         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
6974         Add trailing newline.
6975         * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
6976         Add trailing newline.
6977         * doc/gcc/gcc.rst:
6978         Add trailing newline.
6979         * doc/gcc/gcov-dump.rst:
6980         Add trailing newline.
6981         * doc/gcc/gcov-tool.rst:
6982         Add trailing newline.
6983         * doc/gcc/gcov.rst:
6984         Add trailing newline.
6985         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
6986         Add trailing newline.
6987         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
6988         Add trailing newline.
6989         * doc/gcc/gcov/introduction-to-gcov.rst:
6990         Add trailing newline.
6991         * doc/gcc/gcov/invoking-gcov.rst:
6992         Add trailing newline.
6993         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
6994         Add trailing newline.
6995         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
6996         Add trailing newline.
6997         * doc/gcc/general-public-license-3.rst:
6998         Add trailing newline.
6999         * doc/gcc/gnu-free-documentation-license.rst:
7000         Add trailing newline.
7001         * doc/gcc/gnu-objective-c-features.rst:
7002         Add trailing newline.
7003         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
7004         Add trailing newline.
7005         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
7006         Add trailing newline.
7007         * doc/gcc/gnu-objective-c-features/exceptions.rst:
7008         Add trailing newline.
7009         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
7010         Add trailing newline.
7011         * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
7012         Add trailing newline.
7013         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
7014         Add trailing newline.
7015         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
7016         Add trailing newline.
7017         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
7018         Add trailing newline.
7019         * doc/gcc/gnu-objective-c-features/synchronization.rst:
7020         Add trailing newline.
7021         * doc/gcc/gnu-objective-c-features/type-encoding.rst:
7022         Add trailing newline.
7023         * doc/gcc/gnu.rst:
7024         Add trailing newline.
7025         * doc/gcc/have-you-found-a-bug.rst:
7026         Add trailing newline.
7027         * doc/gcc/how-and-where-to-report-bugs.rst:
7028         Add trailing newline.
7029         * doc/gcc/how-to-get-help-with-gcc.rst:
7030         Add trailing newline.
7031         * doc/gcc/index.rst:
7032         Add trailing newline.
7033         * doc/gcc/indices-and-tables.rst:
7034         Add trailing newline.
7035         * doc/gcc/known-causes-of-trouble-with-gcc.rst:
7036         Add trailing newline.
7037         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
7038         Add trailing newline.
7039         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
7040         Add trailing newline.
7041         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
7042         Add trailing newline.
7043         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
7044         Add trailing newline.
7045         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
7046         Add trailing newline.
7047         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
7048         Add trailing newline.
7049         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
7050         Add trailing newline.
7051         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
7052         Add trailing newline.
7053         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
7054         Add trailing newline.
7055         * doc/gcc/language-standards-supported-by-gcc.rst:
7056         Add trailing newline.
7057         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
7058         Add trailing newline.
7059         * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
7060         Add trailing newline.
7061         * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
7062         Add trailing newline.
7063         * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
7064         Add trailing newline.
7065         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
7066         Add trailing newline.
7067         * doc/gcc/lto-dump.rst:
7068         Add trailing newline.
7069         * doc/gcc/programming-languages-supported-by-gcc.rst:
7070         Add trailing newline.
7071         * doc/gcc/reporting-bugs.rst:
7072         Add trailing newline.
7073         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
7074         Add trailing newline.
7075         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
7076         Add trailing newline.
7077         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
7078         Add trailing newline.
7079         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
7080         Add trailing newline.
7081         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
7082         Add trailing newline.
7083         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
7084         Add trailing newline.
7085         * doc/gccint/analysis-and-representation-of-loops.rst:
7086         Add trailing newline.
7087         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
7088         Add trailing newline.
7089         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
7090         Add trailing newline.
7091         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
7092         Add trailing newline.
7093         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
7094         Add trailing newline.
7095         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
7096         Add trailing newline.
7097         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
7098         Add trailing newline.
7099         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
7100         Add trailing newline.
7101         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
7102         Add trailing newline.
7103         * doc/gccint/analyzer-internals.rst:
7104         Add trailing newline.
7105         * doc/gccint/collect2.rst:
7106         Add trailing newline.
7107         * doc/gccint/contributing-to-gcc-development.rst:
7108         Add trailing newline.
7109         * doc/gccint/contributors-to-gcc.rst:
7110         Add trailing newline.
7111         * doc/gccint/control-flow-graph.rst:
7112         Add trailing newline.
7113         * doc/gccint/control-flow-graph/basic-blocks.rst:
7114         Add trailing newline.
7115         * doc/gccint/control-flow-graph/edges.rst:
7116         Add trailing newline.
7117         * doc/gccint/control-flow-graph/liveness-information.rst:
7118         Add trailing newline.
7119         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
7120         Add trailing newline.
7121         * doc/gccint/control-flow-graph/profile-information.rst:
7122         Add trailing newline.
7123         * doc/gccint/copyright.rst:
7124         Add trailing newline.
7125         * doc/gccint/debugging-the-analyzer.rst:
7126         Add trailing newline.
7127         * doc/gccint/funding.rst:
7128         Add trailing newline.
7129         * doc/gccint/gcc-and-portability.rst:
7130         Add trailing newline.
7131         * doc/gccint/general-public-license-3.rst:
7132         Add trailing newline.
7133         * doc/gccint/generic.rst:
7134         Add trailing newline.
7135         * doc/gccint/generic/attributes-in-trees.rst:
7136         Add trailing newline.
7137         * doc/gccint/generic/c-and-c++-trees.rst:
7138         Add trailing newline.
7139         * doc/gccint/generic/declarations.rst:
7140         Add trailing newline.
7141         * doc/gccint/generic/deficiencies.rst:
7142         Add trailing newline.
7143         * doc/gccint/generic/expressions.rst:
7144         Add trailing newline.
7145         * doc/gccint/generic/functions.rst:
7146         Add trailing newline.
7147         * doc/gccint/generic/language-dependent-trees.rst:
7148         Add trailing newline.
7149         * doc/gccint/generic/overview.rst:
7150         Add trailing newline.
7151         * doc/gccint/generic/statements.rst:
7152         Add trailing newline.
7153         * doc/gccint/generic/types.rst:
7154         Add trailing newline.
7155         * doc/gccint/gimple-api.rst:
7156         Add trailing newline.
7157         * doc/gccint/gimple.rst:
7158         Add trailing newline.
7159         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
7160         Add trailing newline.
7161         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
7162         Add trailing newline.
7163         * doc/gccint/gimple/exception-handling.rst:
7164         Add trailing newline.
7165         * doc/gccint/gimple/gimple-instruction-set.rst:
7166         Add trailing newline.
7167         * doc/gccint/gimple/gimple-sequences.rst:
7168         Add trailing newline.
7169         * doc/gccint/gimple/manipulating-gimple-statements.rst:
7170         Add trailing newline.
7171         * doc/gccint/gimple/operands.rst:
7172         Add trailing newline.
7173         * doc/gccint/gimple/sequence-iterators.rst:
7174         Add trailing newline.
7175         * doc/gccint/gimple/statement-and-operand-traversals.rst:
7176         Add trailing newline.
7177         * doc/gccint/gimple/temporaries.rst:
7178         Add trailing newline.
7179         * doc/gccint/gimple/tuple-representation.rst:
7180         Add trailing newline.
7181         * doc/gccint/gimple/tuple-specific-accessors.rst:
7182         Add trailing newline.
7183         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
7184         Add trailing newline.
7185         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
7186         Add trailing newline.
7187         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
7188         Add trailing newline.
7189         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
7190         Add trailing newline.
7191         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
7192         Add trailing newline.
7193         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
7194         Add trailing newline.
7195         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
7196         Add trailing newline.
7197         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
7198         Add trailing newline.
7199         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
7200         Add trailing newline.
7201         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
7202         Add trailing newline.
7203         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
7204         Add trailing newline.
7205         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
7206         Add trailing newline.
7207         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
7208         Add trailing newline.
7209         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
7210         Add trailing newline.
7211         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
7212         Add trailing newline.
7213         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
7214         Add trailing newline.
7215         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
7216         Add trailing newline.
7217         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
7218         Add trailing newline.
7219         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
7220         Add trailing newline.
7221         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
7222         Add trailing newline.
7223         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
7224         Add trailing newline.
7225         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
7226         Add trailing newline.
7227         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
7228         Add trailing newline.
7229         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
7230         Add trailing newline.
7231         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
7232         Add trailing newline.
7233         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
7234         Add trailing newline.
7235         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
7236         Add trailing newline.
7237         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
7238         Add trailing newline.
7239         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
7240         Add trailing newline.
7241         * doc/gccint/gnu-free-documentation-license.rst:
7242         Add trailing newline.
7243         * doc/gccint/guidelines-for-diagnostics.rst:
7244         Add trailing newline.
7245         * doc/gccint/guidelines-for-options.rst:
7246         Add trailing newline.
7247         * doc/gccint/host-common.rst:
7248         Add trailing newline.
7249         * doc/gccint/host-configuration.rst:
7250         Add trailing newline.
7251         * doc/gccint/host-filesystem.rst:
7252         Add trailing newline.
7253         * doc/gccint/host-makefile-fragments.rst:
7254         Add trailing newline.
7255         * doc/gccint/host-misc.rst:
7256         Add trailing newline.
7257         * doc/gccint/index.rst:
7258         Add trailing newline.
7259         * doc/gccint/indices-and-tables.rst:
7260         Add trailing newline.
7261         * doc/gccint/interfacing-to-gcc-output.rst:
7262         Add trailing newline.
7263         * doc/gccint/introduction.rst:
7264         Add trailing newline.
7265         * doc/gccint/language-front-ends-in-gcc.rst:
7266         Add trailing newline.
7267         * doc/gccint/link-time-optimization.rst:
7268         Add trailing newline.
7269         * doc/gccint/link-time-optimization/design-overview.rst:
7270         Add trailing newline.
7271         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
7272         Add trailing newline.
7273         * doc/gccint/link-time-optimization/lto-file-sections.rst:
7274         Add trailing newline.
7275         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
7276         Add trailing newline.
7277         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
7278         Add trailing newline.
7279         * doc/gccint/machine-descriptions.rst:
7280         Add trailing newline.
7281         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
7282         Add trailing newline.
7283         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
7284         Add trailing newline.
7285         * doc/gccint/machine-descriptions/conditional-execution.rst:
7286         Add trailing newline.
7287         * doc/gccint/machine-descriptions/constant-definitions.rst:
7288         Add trailing newline.
7289         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
7290         Add trailing newline.
7291         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
7292         Add trailing newline.
7293         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
7294         Add trailing newline.
7295         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
7296         Add trailing newline.
7297         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
7298         Add trailing newline.
7299         * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
7300         Add trailing newline.
7301         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
7302         Add trailing newline.
7303         * doc/gccint/machine-descriptions/instruction-attributes.rst:
7304         Add trailing newline.
7305         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
7306         Add trailing newline.
7307         * doc/gccint/machine-descriptions/iterators.rst:
7308         Add trailing newline.
7309         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
7310         Add trailing newline.
7311         * doc/gccint/machine-descriptions/operand-constraints.rst:
7312         Add trailing newline.
7313         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
7314         Add trailing newline.
7315         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
7316         Add trailing newline.
7317         * doc/gccint/machine-descriptions/predicates.rst:
7318         Add trailing newline.
7319         * doc/gccint/machine-descriptions/rtl-template.rst:
7320         Add trailing newline.
7321         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
7322         Add trailing newline.
7323         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
7324         Add trailing newline.
7325         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
7326         Add trailing newline.
7327         * doc/gccint/makefile-fragments.rst:
7328         Add trailing newline.
7329         * doc/gccint/match-and-simplify.rst:
7330         Add trailing newline.
7331         * doc/gccint/memory-management-and-type-information.rst:
7332         Add trailing newline.
7333         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
7334         Add trailing newline.
7335         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
7336         Add trailing newline.
7337         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
7338         Add trailing newline.
7339         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
7340         Add trailing newline.
7341         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
7342         Add trailing newline.
7343         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
7344         Add trailing newline.
7345         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
7346         Add trailing newline.
7347         * doc/gccint/option-file-format.rst:
7348         Add trailing newline.
7349         * doc/gccint/option-properties.rst:
7350         Add trailing newline.
7351         * doc/gccint/option-specification-files.rst:
7352         Add trailing newline.
7353         * doc/gccint/passes-and-files-of-the-compiler.rst:
7354         Add trailing newline.
7355         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
7356         Add trailing newline.
7357         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
7358         Add trailing newline.
7359         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
7360         Add trailing newline.
7361         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
7362         Add trailing newline.
7363         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
7364         Add trailing newline.
7365         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
7366         Add trailing newline.
7367         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
7368         Add trailing newline.
7369         * doc/gccint/plugins.rst:
7370         Add trailing newline.
7371         * doc/gccint/plugins/building-gcc-plugins.rst:
7372         Add trailing newline.
7373         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
7374         Add trailing newline.
7375         * doc/gccint/plugins/giving-information-about-a-plugin.rst:
7376         Add trailing newline.
7377         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
7378         Add trailing newline.
7379         * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
7380         Add trailing newline.
7381         * doc/gccint/plugins/keeping-track-of-available-passes.rst:
7382         Add trailing newline.
7383         * doc/gccint/plugins/loading-plugins.rst:
7384         Add trailing newline.
7385         * doc/gccint/plugins/plugin-api.rst:
7386         Add trailing newline.
7387         * doc/gccint/plugins/recording-information-about-pass-execution.rst:
7388         Add trailing newline.
7389         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
7390         Add trailing newline.
7391         * doc/gccint/rtl-representation.rst:
7392         Add trailing newline.
7393         * doc/gccint/rtl-representation/access-to-operands.rst:
7394         Add trailing newline.
7395         * doc/gccint/rtl-representation/access-to-special-operands.rst:
7396         Add trailing newline.
7397         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
7398         Add trailing newline.
7399         * doc/gccint/rtl-representation/bit-fields.rst:
7400         Add trailing newline.
7401         * doc/gccint/rtl-representation/comparison-operations.rst:
7402         Add trailing newline.
7403         * doc/gccint/rtl-representation/constant-expression-types.rst:
7404         Add trailing newline.
7405         * doc/gccint/rtl-representation/conversions.rst:
7406         Add trailing newline.
7407         * doc/gccint/rtl-representation/declarations.rst:
7408         Add trailing newline.
7409         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
7410         Add trailing newline.
7411         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
7412         Add trailing newline.
7413         * doc/gccint/rtl-representation/insns.rst:
7414         Add trailing newline.
7415         * doc/gccint/rtl-representation/machine-modes.rst:
7416         Add trailing newline.
7417         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
7418         Add trailing newline.
7419         * doc/gccint/rtl-representation/reading-rtl.rst:
7420         Add trailing newline.
7421         * doc/gccint/rtl-representation/registers-and-memory.rst:
7422         Add trailing newline.
7423         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
7424         Add trailing newline.
7425         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
7426         Add trailing newline.
7427         * doc/gccint/rtl-representation/rtl-object-types.rst:
7428         Add trailing newline.
7429         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
7430         Add trailing newline.
7431         * doc/gccint/rtl-representation/side-effect-expressions.rst:
7432         Add trailing newline.
7433         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
7434         Add trailing newline.
7435         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
7436         Add trailing newline.
7437         * doc/gccint/rtl-representation/vector-operations.rst:
7438         Add trailing newline.
7439         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
7440         Add trailing newline.
7441         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
7442         Add trailing newline.
7443         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
7444         Add trailing newline.
7445         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
7446         Add trailing newline.
7447         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
7448         Add trailing newline.
7449         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
7450         Add trailing newline.
7451         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
7452         Add trailing newline.
7453         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
7454         Add trailing newline.
7455         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
7456         Add trailing newline.
7457         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
7458         Add trailing newline.
7459         * doc/gccint/source-tree-structure-and-build-system.rst:
7460         Add trailing newline.
7461         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
7462         Add trailing newline.
7463         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
7464         Add trailing newline.
7465         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
7466         Add trailing newline.
7467         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
7468         Add trailing newline.
7469         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
7470         Add trailing newline.
7471         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
7472         Add trailing newline.
7473         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
7474         Add trailing newline.
7475         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
7476         Add trailing newline.
7477         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
7478         Add trailing newline.
7479         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
7480         Add trailing newline.
7481         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
7482         Add trailing newline.
7483         * doc/gccint/standard-header-file-directories.rst:
7484         Add trailing newline.
7485         * doc/gccint/static-analyzer.rst:
7486         Add trailing newline.
7487         * doc/gccint/target-macros.rst:
7488         Add trailing newline.
7489         * doc/gccint/target-macros/controlling-debugging-information-format.rst:
7490         Add trailing newline.
7491         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
7492         Add trailing newline.
7493         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
7494         Add trailing newline.
7495         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
7496         Add trailing newline.
7497         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
7498         Add trailing newline.
7499         * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
7500         Add trailing newline.
7501         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
7502         Add trailing newline.
7503         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
7504         Add trailing newline.
7505         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
7506         Add trailing newline.
7507         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
7508         Add trailing newline.
7509         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
7510         Add trailing newline.
7511         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
7512         Add trailing newline.
7513         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
7514         Add trailing newline.
7515         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
7516         Add trailing newline.
7517         * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
7518         Add trailing newline.
7519         * doc/gccint/target-macros/position-independent-code.rst:
7520         Add trailing newline.
7521         * doc/gccint/target-macros/register-usage.rst:
7522         Add trailing newline.
7523         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
7524         Add trailing newline.
7525         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
7526         Add trailing newline.
7527         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
7528         Add trailing newline.
7529         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
7530         Add trailing newline.
7531         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
7532         Add trailing newline.
7533         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
7534         Add trailing newline.
7535         * doc/gccint/target-macros/support-for-nested-functions.rst:
7536         Add trailing newline.
7537         * doc/gccint/target-macros/the-global-targetm-variable.rst:
7538         Add trailing newline.
7539         * doc/gccint/target-makefile-fragments.rst:
7540         Add trailing newline.
7541         * doc/gccint/testsuites.rst:
7542         Add trailing newline.
7543         * doc/gccint/testsuites/ada-language-testsuites.rst:
7544         Add trailing newline.
7545         * doc/gccint/testsuites/c-language-testsuites.rst:
7546         Add trailing newline.
7547         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
7548         Add trailing newline.
7549         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
7550         Add trailing newline.
7551         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
7552         Add trailing newline.
7553         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
7554         Add trailing newline.
7555         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
7556         Add trailing newline.
7557         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
7558         Add trailing newline.
7559         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
7560         Add trailing newline.
7561         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
7562         Add trailing newline.
7563         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
7564         Add trailing newline.
7565         * doc/gccint/testsuites/support-for-testing-gcov.rst:
7566         Add trailing newline.
7567         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
7568         Add trailing newline.
7569         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
7570         Add trailing newline.
7571         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
7572         Add trailing newline.
7573         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
7574         Add trailing newline.
7575         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
7576         Add trailing newline.
7577         * doc/gccint/the-gcc-low-level-runtime-library.rst:
7578         Add trailing newline.
7579         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
7580         Add trailing newline.
7581         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
7582         Add trailing newline.
7583         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
7584         Add trailing newline.
7585         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
7586         Add trailing newline.
7587         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
7588         Add trailing newline.
7589         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
7590         Add trailing newline.
7591         * doc/gccint/the-language.rst:
7592         Add trailing newline.
7593         * doc/gccint/user-experience-guidelines.rst:
7594         Add trailing newline.
7595         * doc/install/binaries.rst:
7596         Add trailing newline.
7597         * doc/install/building.rst:
7598         Add trailing newline.
7599         * doc/install/building/building-a-cross-compiler.rst:
7600         Add trailing newline.
7601         * doc/install/building/building-a-native-compiler.rst:
7602         Add trailing newline.
7603         * doc/install/building/building-in-parallel.rst:
7604         Add trailing newline.
7605         * doc/install/building/building-the-ada-compiler.rst:
7606         Add trailing newline.
7607         * doc/install/building/building-the-d-compiler.rst:
7608         Add trailing newline.
7609         * doc/install/building/building-with-profile-feedback.rst:
7610         Add trailing newline.
7611         * doc/install/configuration.rst:
7612         Add trailing newline.
7613         * doc/install/copyright.rst:
7614         Add trailing newline.
7615         * doc/install/downloading-gcc.rst:
7616         Add trailing newline.
7617         * doc/install/final-installation.rst:
7618         Add trailing newline.
7619         * doc/install/gnu-free-documentation-license.rst:
7620         Add trailing newline.
7621         * doc/install/host-target-specific-installation-notes-for-gcc.rst:
7622         Add trailing newline.
7623         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
7624         Add trailing newline.
7625         * doc/install/how-to-interpret-test-results.rst:
7626         Add trailing newline.
7627         * doc/install/index.rst:
7628         Add trailing newline.
7629         * doc/install/indices-and-tables.rst:
7630         Add trailing newline.
7631         * doc/install/installing-gcc.rst:
7632         Add trailing newline.
7633         * doc/install/passing-options-and-running-multiple-testsuites.rst:
7634         Add trailing newline.
7635         * doc/install/prerequisites.rst:
7636         Add trailing newline.
7637         * doc/install/submitting-test-results.rst:
7638         Add trailing newline.
7639         * doc/install/testing.rst:
7640         Add trailing newline.
7642 2022-11-09  Martin Liska  <mliska@suse.cz>
7644         * opts.cc (get_option_html_page): Port to sphinx URLs.
7645         (get_option_url): Likewise.
7646         (test_get_option_html_page): Likewise.
7648 2022-11-09  Jakub Jelinek  <jakub@redhat.com>
7650         PR tree-optimization/107569
7651         * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
7652         from the negatives frange before unioning it into r.
7654 2022-11-09  Martin Liska  <mliska@suse.cz>
7656         * Makefile.in: Add vpath default for .rst files.
7657         * config/avr/avr-devices.cc: For port RST.
7658         * config/avr/avr-mcus.def: Update path.
7659         * config/avr/gen-avr-mmcu-texi.cc: Moved to...
7660         * config/avr/gen-avr-mmcu-rst.cc: ...here.
7661         * config/avr/t-avr: Update to rst.
7662         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
7664 2022-11-09  Philipp Tomsich  <philipp.tomsich@vrull.eu>
7666         * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
7668 2022-11-09  Xi Ruoyao  <xry111@xry111.site>
7670         * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
7671         Avoid signed overflow.
7673 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
7675         * range-op-float.cc (foperator_plus::op1_range): New.
7676         (foperator_plus::op2_range): New.
7677         (foperator_minus::op1_range): New.
7678         (foperator_minus::op2_range): New.
7680 2022-11-09  Martin Liska  <mliska@suse.cz>
7682         * Makefile.in: Support installation if sphinx-build is missing.
7684 2022-11-09  Martin Liska  <mliska@suse.cz>
7686         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
7687         Port to RST.
7688         * doc/gccint/target-macros/storage-layout.rst: Likewise.
7689         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
7690         * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
7692 2022-11-09  Martin Liska  <mliska@suse.cz>
7694         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
7695         Do not include tm.rst.in.
7696         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
7697         Likewise.
7698         * doc/gccint/target-macros/run-time-target-specification.rst:
7699         Likewise.
7701 2022-11-09  Martin Liska  <mliska@suse.cz>
7703         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
7704         Fix cross manual refs.
7705         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
7706         Likewise.
7708 2022-11-09  Martin Liska  <mliska@suse.cz>
7710         * Makefile.in: Support --with-sphinx-build.
7711         * configure.ac:
7712         * configure: Regenerate.
7714 2022-11-09  Martin Liska  <mliska@suse.cz>
7716         * target.def: Use proper lexers for target macros.
7717         * doc/gccint/target-macros/tm.rst.in: Re-generate.
7719 2022-11-09  Martin Liska  <mliska@suse.cz>
7721         * doc/analyzer.texi: Removed.
7722         * doc/avr-mmcu.texi: Removed.
7723         * doc/bugreport.texi: Removed.
7724         * doc/cfg.texi: Removed.
7725         * doc/collect2.texi: Removed.
7726         * doc/compat.texi: Removed.
7727         * doc/configfiles.texi: Removed.
7728         * doc/configterms.texi: Removed.
7729         * doc/contrib.texi: Removed.
7730         * doc/contribute.texi: Removed.
7731         * doc/cpp.texi: Removed.
7732         * doc/cppdiropts.texi: Removed.
7733         * doc/cppenv.texi: Removed.
7734         * doc/cppinternals.texi: Removed.
7735         * doc/cppopts.texi: Removed.
7736         * doc/cppwarnopts.texi: Removed.
7737         * doc/extend.texi: Removed.
7738         * doc/fragments.texi: Removed.
7739         * doc/frontends.texi: Removed.
7740         * doc/gcc.texi: Removed.
7741         * doc/gccint.texi: Removed.
7742         * doc/gcov-dump.texi: Removed.
7743         * doc/gcov-tool.texi: Removed.
7744         * doc/gcov.texi: Removed.
7745         * doc/generic.texi: Removed.
7746         * doc/gimple.texi: Removed.
7747         * doc/gnu.texi: Removed.
7748         * doc/gty.texi: Removed.
7749         * doc/headerdirs.texi: Removed.
7750         * doc/hostconfig.texi: Removed.
7751         * doc/implement-c.texi: Removed.
7752         * doc/implement-cxx.texi: Removed.
7753         * doc/include/fdl.texi: Removed.
7754         * doc/include/funding.texi: Removed.
7755         * doc/include/gcc-common.texi: Removed.
7756         * doc/include/gpl_v3.texi: Removed.
7757         * doc/install.texi: Removed.
7758         * doc/interface.texi: Removed.
7759         * doc/invoke.texi: Removed.
7760         * doc/languages.texi: Removed.
7761         * doc/libgcc.texi: Removed.
7762         * doc/loop.texi: Removed.
7763         * doc/lto-dump.texi: Removed.
7764         * doc/lto.texi: Removed.
7765         * doc/makefile.texi: Removed.
7766         * doc/match-and-simplify.texi: Removed.
7767         * doc/md.texi: Removed.
7768         * doc/objc.texi: Removed.
7769         * doc/optinfo.texi: Removed.
7770         * doc/options.texi: Removed.
7771         * doc/passes.texi: Removed.
7772         * doc/plugins.texi: Removed.
7773         * doc/poly-int.texi: Removed.
7774         * doc/portability.texi: Removed.
7775         * doc/rtl.texi: Removed.
7776         * doc/service.texi: Removed.
7777         * doc/sourcebuild.texi: Removed.
7778         * doc/standards.texi: Removed.
7779         * doc/tm.texi: Removed.
7780         * doc/tree-ssa.texi: Removed.
7781         * doc/trouble.texi: Removed.
7782         * doc/ux.texi: Removed.
7783         * doc/tm.texi.in: Removed.
7785 2022-11-09  Martin Liska  <mliska@suse.cz>
7787         * doc/gccint/target-macros/tm.rst.in: New file.
7789 2022-11-09  Martin Liska  <mliska@suse.cz>
7791         * Makefile.in: Support Sphinx based documentation.
7792         * configure: Regenerate.
7793         * configure.ac: Support Sphinx based documentation.
7794         * genhooks.cc (struct s_hook): Emit tm.rst.in file.
7796 2022-11-09  Martin Liska  <mliska@suse.cz>
7798         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
7799         * doc/gccint/target-macros/addressing-modes.rst: Likewise.
7800         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
7801         * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
7802         * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
7803         * doc/gccint/target-macros/condition-code-status.rst: Likewise.
7804         * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
7805         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
7806         * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
7807         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
7808         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
7809         Likewise.
7810         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
7811         Likewise.
7812         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
7813         Likewise.
7814         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
7815         Likewise.
7816         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
7817         Likewise.
7818         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
7819         Likewise.
7820         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
7821         Likewise.
7822         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
7823         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
7824         * doc/gccint/target-macros/emulating-tls.rst: Likewise.
7825         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
7826         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
7827         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
7828         * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
7829         * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
7830         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
7831         Likewise.
7832         * doc/gccint/target-macros/register-classes.rst: Likewise.
7833         * doc/gccint/target-macros/register-usage.rst: Likewise.
7834         * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
7835         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
7836         Likewise.
7837         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
7838         Likewise.
7839         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
7840         Likewise.
7841         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
7842         Likewise.
7843         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
7844         Likewise.
7845         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
7846         Likewise.
7847         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
7848         Likewise.
7849         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
7850         Likewise.
7851         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
7852         Likewise.
7853         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
7854         Likewise.
7855         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
7856         Likewise.
7857         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
7858         Likewise.
7859         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
7860         Likewise.
7861         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
7862         Likewise.
7863         * doc/gccint/target-macros/storage-layout.rst: Likewise.
7864         * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
7866 2022-11-09  Martin Liska  <mliska@suse.cz>
7868         * common/common-target.def: Port to RST.
7869         * target.def: Port to RST.
7871 2022-11-09  Martin Liska  <mliska@suse.cz>
7873         * doc/cpp/character-sets.rst: New file.
7874         * doc/cpp/conditional-syntax.rst: New file.
7875         * doc/cpp/conditional-uses.rst: New file.
7876         * doc/cpp/conditionals.rst: New file.
7877         * doc/cpp/conf.py: New file.
7878         * doc/cpp/copyright.rst: New file.
7879         * doc/cpp/deleted-code.rst: New file.
7880         * doc/cpp/diagnostics.rst: New file.
7881         * doc/cpp/environment-variables.rst: New file.
7882         * doc/cpp/gnu-free-documentation-license.rst: New file.
7883         * doc/cpp/header-files.rst: New file.
7884         * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
7885         * doc/cpp/header-files/computed-includes.rst: New file.
7886         * doc/cpp/header-files/include-operation.rst: New file.
7887         * doc/cpp/header-files/include-syntax.rst: New file.
7888         * doc/cpp/header-files/once-only-headers.rst: New file.
7889         * doc/cpp/header-files/search-path.rst: New file.
7890         * doc/cpp/header-files/system-headers.rst: New file.
7891         * doc/cpp/header-files/wrapper-headers.rst: New file.
7892         * doc/cpp/implementation-defined-behavior.rst: New file.
7893         * doc/cpp/implementation-details.rst: New file.
7894         * doc/cpp/implementation-limits.rst: New file.
7895         * doc/cpp/index.rst: New file.
7896         * doc/cpp/indices-and-tables.rst: New file.
7897         * doc/cpp/initial-processing.rst: New file.
7898         * doc/cpp/invocation.rst: New file.
7899         * doc/cpp/line-control.rst: New file.
7900         * doc/cpp/macros.rst: New file.
7901         * doc/cpp/macros/concatenation.rst: New file.
7902         * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
7903         * doc/cpp/macros/function-like-macros.rst: New file.
7904         * doc/cpp/macros/macro-arguments.rst: New file.
7905         * doc/cpp/macros/macro-pitfalls.rst: New file.
7906         * doc/cpp/macros/object-like-macros.rst: New file.
7907         * doc/cpp/macros/predefined-macros.rst: New file.
7908         * doc/cpp/macros/stringizing.rst: New file.
7909         * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
7910         * doc/cpp/macros/variadic-macros.rst: New file.
7911         * doc/cpp/obsolete-features.rst: New file.
7912         * doc/cpp/other-directives.rst: New file.
7913         * doc/cpp/overview.rst: New file.
7914         * doc/cpp/pragmas.rst: New file.
7915         * doc/cpp/preprocessor-output.rst: New file.
7916         * doc/cpp/the-preprocessing-language.rst: New file.
7917         * doc/cpp/tokenization.rst: New file.
7918         * doc/cpp/traditional-lexical-analysis.rst: New file.
7919         * doc/cpp/traditional-macros.rst: New file.
7920         * doc/cpp/traditional-miscellany.rst: New file.
7921         * doc/cpp/traditional-mode.rst: New file.
7922         * doc/cpp/traditional-warnings.rst: New file.
7923         * doc/cppinternals/conf.py: New file.
7924         * doc/cppinternals/copyright.rst: New file.
7925         * doc/cppinternals/cppinternals.rst: New file.
7926         * doc/cppinternals/cpplib.rst: New file.
7927         * doc/cppinternals/files.rst: New file.
7928         * doc/cppinternals/index.rst: New file.
7929         * doc/cppinternals/indices-and-tables.rst: New file.
7930         * doc/cppinternals/internal-representation-of-macros.rst: New file.
7931         * doc/cppinternals/just-which-line-number-anyway.rst: New file.
7932         * doc/cppinternals/lexing-a-line.rst: New file.
7933         * doc/cppinternals/lexing-a-token.rst: New file.
7934         * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
7935         * doc/cppinternals/macro-expansion-overview.rst: New file.
7936         * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
7937         * doc/cppinternals/multiple-include-optimization.rst: New file.
7938         * doc/cppinternals/overview.rst: New file.
7939         * doc/cppinternals/representation-of-line-numbers.rst: New file.
7940         * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
7941         * doc/gcc/binary-compatibility.rst: New file.
7942         * doc/gcc/c++-implementation-defined-behavior.rst: New file.
7943         * doc/gcc/c-implementation-defined-behavior.rst: New file.
7944         * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
7945         * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
7946         * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
7947         * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
7948         * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
7949         * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
7950         * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
7951         * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
7952         * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
7953         * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
7954         * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
7955         * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
7956         * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
7957         * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
7958         * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
7959         New file.
7960         * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
7961         * doc/gcc/conditionally-supported-behavior.rst: New file.
7962         * doc/gcc/conf.py: New file.
7963         * doc/gcc/contributing-to-gcc-development.rst: New file.
7964         * doc/gcc/contributors-to-gcc.rst: New file.
7965         * doc/gcc/copyright.rst: New file.
7966         * doc/gcc/exception-handling.rst: New file.
7967         * doc/gcc/extensions-to-the-c++-language.rst: New file.
7968         * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
7969         * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
7970         * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
7971         New file.
7972         * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
7973         New file.
7974         * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
7975         * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
7976         New file.
7977         * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
7978         * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
7979         * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
7980         * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
7981         * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
7982         New file.
7983         * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
7984         * doc/gcc/extensions-to-the-c-language-family.rst: New file.
7985         * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
7986         * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
7987         * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
7988         * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
7989         New file.
7990         * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
7991         New file.
7992         * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
7993         * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
7994         * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
7995         * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
7996         New file.
7997         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
7998         New file.
7999         * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
8000         New file.
8001         * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
8002         * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
8003         * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
8004         * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
8005         * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
8006         * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
8007         New file.
8008         * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
8009         * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
8010         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
8011         New file.
8012         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
8013         New file.
8014         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
8015         New file.
8016         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
8017         New file.
8018         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
8019         New file.
8020         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
8021         New file.
8022         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
8023         New file.
8024         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
8025         New file.
8026         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
8027         New file.
8028         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
8029         New file.
8030         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
8031         New file.
8032         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
8033         New file.
8034         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
8035         New file.
8036         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
8037         New file.
8038         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
8039         New file.
8040         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
8041         New file.
8042         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
8043         New file.
8044         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
8045         New file.
8046         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
8047         New file.
8048         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
8049         New file.
8050         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
8051         New file.
8052         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
8053         New file.
8054         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
8055         New file.
8056         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
8057         New file.
8058         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
8059         New file.
8060         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
8061         New file.
8062         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
8063         New file.
8064         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
8065         New file.
8066         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
8067         New file.
8068         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
8069         New file.
8070         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
8071         New file.
8072         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
8073         New file.
8074         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
8075         New file.
8076         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
8077         New file.
8078         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
8079         New file.
8080         * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
8081         New file.
8082         * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
8083         * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
8084         New file.
8085         * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
8086         New file.
8087         * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
8088         * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
8089         * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
8090         * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
8091         New file.
8092         * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
8093         * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
8094         New file.
8095         * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
8096         * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
8097         * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
8098         New file.
8099         * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
8100         * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
8101         * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
8102         * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
8103         New file.
8104         * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
8105         * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
8106         New file.
8107         * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
8108         New file.
8109         * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
8110         * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
8111         * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
8112         * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
8113         New file.
8114         * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
8115         * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
8116         New file.
8117         * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
8118         New file.
8119         * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
8120         New file.
8121         * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
8122         New file.
8123         * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
8124         * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
8125         New file.
8126         * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
8127         * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
8128         New file.
8129         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
8130         * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
8131         New file.
8132         * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
8133         * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
8134         New file.
8135         * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
8136         * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
8137         * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
8138         * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
8139         New file.
8140         * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
8141         New file.
8142         * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
8143         New file.
8144         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
8145         New file.
8146         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
8147         New file.
8148         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
8149         New file.
8150         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
8151         New file.
8152         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
8153         New file.
8154         * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
8155         New file.
8156         * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
8157         New file.
8158         * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
8159         New file.
8160         * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
8161         New file.
8162         * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
8163         New file.
8164         * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
8165         New file.
8166         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
8167         New file.
8168         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
8169         New file.
8170         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
8171         New file.
8172         * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
8173         New file.
8174         * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
8175         New file.
8176         * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
8177         New file.
8178         * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
8179         New file.
8180         * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
8181         New file.
8182         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
8183         New file.
8184         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
8185         New file.
8186         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
8187         New file.
8188         * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
8189         New file.
8190         * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
8191         New file.
8192         * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
8193         New file.
8194         * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
8195         New file.
8196         * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
8197         New file.
8198         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
8199         New file.
8200         * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
8201         New file.
8202         * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
8203         New file.
8204         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
8205         New file.
8206         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
8207         New file.
8208         * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
8209         New file.
8210         * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
8211         * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
8212         * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
8213         New file.
8214         * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
8215         New file.
8216         * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
8217         New file.
8218         * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
8219         New file.
8220         * doc/gcc/funding.rst: New file.
8221         * doc/gcc/gcc-command-options.rst: New file.
8222         * doc/gcc/gcc-command-options/c++-modules.rst: New file.
8223         * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
8224         * doc/gcc/gcc-command-options/description.rst: New file.
8225         * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
8226         * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
8227         * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
8228         * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
8229         * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
8230         New file.
8231         * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
8232         * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
8233         * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
8234         * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
8235         * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
8236         * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
8237         * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
8238         * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
8239         * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
8240         * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
8241         * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
8242         * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
8243         * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
8244         * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
8245         * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
8246         * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
8247         * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
8248         * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
8249         * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
8250         * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
8251         New file.
8252         * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
8253         * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
8254         * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
8255         * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
8256         * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
8257         * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
8258         * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
8259         * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
8260         * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
8261         * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
8262         * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
8263         * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
8264         * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
8265         * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
8266         * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
8267         * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
8268         * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
8269         * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
8270         * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
8271         * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
8272         * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
8273         * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
8274         * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
8275         * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
8276         * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
8277         * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
8278         New file.
8279         * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
8280         * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
8281         * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
8282         * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
8283         * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
8284         * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
8285         * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
8286         * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
8287         * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
8288         * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
8289         * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
8290         * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
8291         * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
8292         * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
8293         * doc/gcc/gcc-command-options/option-summary.rst: New file.
8294         * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
8295         * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
8296         * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
8297         New file.
8298         * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
8299         * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
8300         * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
8301         * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
8302         * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
8303         * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
8304         * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
8305         * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
8306         * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
8307         New file.
8308         * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
8309         * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
8310         * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
8311         * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
8312         New file.
8313         * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
8314         * doc/gcc/gcc.rst: New file.
8315         * doc/gcc/gcov-dump.rst: New file.
8316         * doc/gcc/gcov-tool.rst: New file.
8317         * doc/gcc/gcov.rst: New file.
8318         * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
8319         * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
8320         * doc/gcc/gcov/introduction-to-gcov.rst: New file.
8321         * doc/gcc/gcov/invoking-gcov.rst: New file.
8322         * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
8323         * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
8324         * doc/gcc/general-public-license-3.rst: New file.
8325         * doc/gcc/gnu-free-documentation-license.rst: New file.
8326         * doc/gcc/gnu-objective-c-features.rst: New file.
8327         * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
8328         * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
8329         * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
8330         * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
8331         * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
8332         * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
8333         * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
8334         * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
8335         * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
8336         * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
8337         * doc/gcc/gnu.rst: New file.
8338         * doc/gcc/have-you-found-a-bug.rst: New file.
8339         * doc/gcc/how-and-where-to-report-bugs.rst: New file.
8340         * doc/gcc/how-to-get-help-with-gcc.rst: New file.
8341         * doc/gcc/index.rst: New file.
8342         * doc/gcc/indices-and-tables.rst: New file.
8343         * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
8344         * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
8345         * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
8346         New file.
8347         * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
8348         New file.
8349         * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
8350         New file.
8351         * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
8352         * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
8353         * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
8354         * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
8355         * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
8356         New file.
8357         * doc/gcc/language-standards-supported-by-gcc.rst: New file.
8358         * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
8359         * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
8360         * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
8361         * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
8362         * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
8363         New file.
8364         * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
8365         * doc/gcc/lto-dump.rst: New file.
8366         * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
8367         * doc/gcc/reporting-bugs.rst: New file.
8368         * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
8369         * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
8370         * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
8371         * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
8372         * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
8373         * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
8374         New file.
8375         * doc/gccint/analysis-and-representation-of-loops.rst: New file.
8376         * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
8377         * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
8378         * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
8379         * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
8380         * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
8381         * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
8382         * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
8383         New file.
8384         * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
8385         * doc/gccint/analyzer-internals.rst: New file.
8386         * doc/gccint/collect2.rst: New file.
8387         * doc/gccint/conf.py: New file.
8388         * doc/gccint/contributing-to-gcc-development.rst: New file.
8389         * doc/gccint/contributors-to-gcc.rst: New file.
8390         * doc/gccint/control-flow-graph.rst: New file.
8391         * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
8392         * doc/gccint/control-flow-graph/edges.rst: New file.
8393         * doc/gccint/control-flow-graph/liveness-information.rst: New file.
8394         * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
8395         * doc/gccint/control-flow-graph/profile-information.rst: New file.
8396         * doc/gccint/copyright.rst: New file.
8397         * doc/gccint/debugging-the-analyzer.rst: New file.
8398         * doc/gccint/funding.rst: New file.
8399         * doc/gccint/gcc-and-portability.rst: New file.
8400         * doc/gccint/general-public-license-3.rst: New file.
8401         * doc/gccint/generic.rst: New file.
8402         * doc/gccint/generic/attributes-in-trees.rst: New file.
8403         * doc/gccint/generic/c-and-c++-trees.rst: New file.
8404         * doc/gccint/generic/declarations.rst: New file.
8405         * doc/gccint/generic/deficiencies.rst: New file.
8406         * doc/gccint/generic/expressions.rst: New file.
8407         * doc/gccint/generic/functions.rst: New file.
8408         * doc/gccint/generic/language-dependent-trees.rst: New file.
8409         * doc/gccint/generic/overview.rst: New file.
8410         * doc/gccint/generic/statements.rst: New file.
8411         * doc/gccint/generic/types.rst: New file.
8412         * doc/gccint/gimple-api.rst: New file.
8413         * doc/gccint/gimple.rst: New file.
8414         * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
8415         * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
8416         * doc/gccint/gimple/exception-handling.rst: New file.
8417         * doc/gccint/gimple/gimple-instruction-set.rst: New file.
8418         * doc/gccint/gimple/gimple-sequences.rst: New file.
8419         * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
8420         * doc/gccint/gimple/operands.rst: New file.
8421         * doc/gccint/gimple/sequence-iterators.rst: New file.
8422         * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
8423         * doc/gccint/gimple/temporaries.rst: New file.
8424         * doc/gccint/gimple/tuple-representation.rst: New file.
8425         * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
8426         * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
8427         * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
8428         * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
8429         * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
8430         * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
8431         * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
8432         * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
8433         * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
8434         * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
8435         * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
8436         * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
8437         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
8438         * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
8439         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
8440         * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
8441         * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
8442         * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
8443         * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
8444         * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
8445         * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
8446         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
8447         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
8448         * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
8449         * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
8450         * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
8451         * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
8452         * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
8453         * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
8454         * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
8455         * doc/gccint/gnu-free-documentation-license.rst: New file.
8456         * doc/gccint/guidelines-for-diagnostics.rst: New file.
8457         * doc/gccint/guidelines-for-options.rst: New file.
8458         * doc/gccint/host-common.rst: New file.
8459         * doc/gccint/host-configuration.rst: New file.
8460         * doc/gccint/host-filesystem.rst: New file.
8461         * doc/gccint/host-makefile-fragments.rst: New file.
8462         * doc/gccint/host-misc.rst: New file.
8463         * doc/gccint/index.rst: New file.
8464         * doc/gccint/indices-and-tables.rst: New file.
8465         * doc/gccint/interfacing-to-gcc-output.rst: New file.
8466         * doc/gccint/introduction.rst: New file.
8467         * doc/gccint/language-front-ends-in-gcc.rst: New file.
8468         * doc/gccint/link-time-optimization.rst: New file.
8469         * doc/gccint/link-time-optimization/design-overview.rst: New file.
8470         * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
8471         * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
8472         * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
8473         * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
8474         New file.
8475         * doc/gccint/machine-descriptions.rst: New file.
8476         * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
8477         * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
8478         * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
8479         * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
8480         * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
8481         * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
8482         * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
8483         * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
8484         * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
8485         * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
8486         * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
8487         * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
8488         * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
8489         * doc/gccint/machine-descriptions/iterators.rst: New file.
8490         * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
8491         * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
8492         * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
8493         * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
8494         New file.
8495         * doc/gccint/machine-descriptions/predicates.rst: New file.
8496         * doc/gccint/machine-descriptions/rtl-template.rst: New file.
8497         * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
8498         * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
8499         * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
8500         * doc/gccint/makefile-fragments.rst: New file.
8501         * doc/gccint/match-and-simplify.rst: New file.
8502         * doc/gccint/memory-management-and-type-information.rst: New file.
8503         * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
8504         New file.
8505         * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
8506         New file.
8507         * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
8508         New file.
8509         * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
8510         * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
8511         New file.
8512         * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
8513         * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
8514         New file.
8515         * doc/gccint/option-file-format.rst: New file.
8516         * doc/gccint/option-properties.rst: New file.
8517         * doc/gccint/option-specification-files.rst: New file.
8518         * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
8519         * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
8520         * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
8521         New file.
8522         * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
8523         * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
8524         * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
8525         * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
8526         * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
8527         * doc/gccint/plugins.rst: New file.
8528         * doc/gccint/plugins/building-gcc-plugins.rst: New file.
8529         * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
8530         * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
8531         * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
8532         * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
8533         * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
8534         * doc/gccint/plugins/loading-plugins.rst: New file.
8535         * doc/gccint/plugins/plugin-api.rst: New file.
8536         * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
8537         * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
8538         * doc/gccint/rtl-representation.rst: New file.
8539         * doc/gccint/rtl-representation/access-to-operands.rst: New file.
8540         * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
8541         * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
8542         * doc/gccint/rtl-representation/bit-fields.rst: New file.
8543         * doc/gccint/rtl-representation/comparison-operations.rst: New file.
8544         * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
8545         * doc/gccint/rtl-representation/conversions.rst: New file.
8546         * doc/gccint/rtl-representation/declarations.rst: New file.
8547         * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
8548         * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
8549         * doc/gccint/rtl-representation/insns.rst: New file.
8550         * doc/gccint/rtl-representation/machine-modes.rst: New file.
8551         * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
8552         * doc/gccint/rtl-representation/reading-rtl.rst: New file.
8553         * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
8554         * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
8555         * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
8556         * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
8557         * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
8558         * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
8559         * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
8560         * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
8561         * doc/gccint/rtl-representation/vector-operations.rst: New file.
8562         * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
8563         * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
8564         * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
8565         * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
8566         New file.
8567         * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
8568         New file.
8569         * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
8570         New file.
8571         * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
8572         * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
8573         New file.
8574         * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
8575         New file.
8576         * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
8577         * doc/gccint/source-tree-structure-and-build-system.rst: New file.
8578         * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
8579         New file.
8580         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
8581         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
8582         New file.
8583         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
8584         New file.
8585         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
8586         New file.
8587         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
8588         New file.
8589         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
8590         New file.
8591         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
8592         New file.
8593         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
8594         New file.
8595         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
8596         New file.
8597         * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
8598         New file.
8599         * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
8600         New file.
8601         * doc/gccint/standard-header-file-directories.rst: New file.
8602         * doc/gccint/static-analyzer.rst: New file.
8603         * doc/gccint/target-macros.rst: New file.
8604         * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
8605         * doc/gccint/target-macros/addressing-modes.rst: New file.
8606         * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
8607         * doc/gccint/target-macros/anchored-addresses.rst: New file.
8608         * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
8609         * doc/gccint/target-macros/condition-code-status.rst: New file.
8610         * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
8611         * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
8612         * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
8613         * doc/gccint/target-macros/d-abi-parameters.rst: New file.
8614         * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
8615         * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
8616         New file.
8617         * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
8618         * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
8619         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
8620         New file.
8621         * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
8622         New file.
8623         * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
8624         New file.
8625         * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
8626         New file.
8627         * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
8628         New file.
8629         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
8630         New file.
8631         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
8632         New file.
8633         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
8634         New file.
8635         * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
8636         New file.
8637         * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
8638         New file.
8639         * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
8640         * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
8641         * doc/gccint/target-macros/emulating-tls.rst: New file.
8642         * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
8643         * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
8644         * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
8645         * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
8646         * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
8647         * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
8648         New file.
8649         * doc/gccint/target-macros/position-independent-code.rst: New file.
8650         * doc/gccint/target-macros/register-classes.rst: New file.
8651         * doc/gccint/target-macros/register-usage.rst: New file.
8652         * doc/gccint/target-macros/run-time-target-specification.rst: New file.
8653         * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
8654         * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
8655         New file.
8656         * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
8657         New file.
8658         * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
8659         New file.
8660         * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
8661         New file.
8662         * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
8663         New file.
8664         * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
8665         New file.
8666         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
8667         New file.
8668         * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
8669         New file.
8670         * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
8671         New file.
8672         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
8673         New file.
8674         * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
8675         New file.
8676         * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
8677         New file.
8678         * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
8679         New file.
8680         * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
8681         New file.
8682         * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
8683         New file.
8684         * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
8685         New file.
8686         * doc/gccint/target-macros/storage-layout.rst: New file.
8687         * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
8688         * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
8689         * doc/gccint/target-makefile-fragments.rst: New file.
8690         * doc/gccint/testsuites.rst: New test.
8691         * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
8692         * doc/gccint/testsuites/c-language-testsuites.rst: New test.
8693         * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
8694         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
8695         New test.
8696         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
8697         New test.
8698         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
8699         New test.
8700         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
8701         New test.
8702         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
8703         New test.
8704         * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
8705         New test.
8706         * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
8707         * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
8708         * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
8709         * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
8710         * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
8711         * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
8712         * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
8713         * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
8714         * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
8715         * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
8716         New file.
8717         * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
8718         New file.
8719         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
8720         New file.
8721         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
8722         New file.
8723         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
8724         New file.
8725         * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
8726         New file.
8727         * doc/gccint/the-language.rst: New file.
8728         * doc/gccint/user-experience-guidelines.rst: New file.
8729         * doc/install/binaries.rst: New file.
8730         * doc/install/building.rst: New file.
8731         * doc/install/building/building-a-cross-compiler.rst: New file.
8732         * doc/install/building/building-a-native-compiler.rst: New file.
8733         * doc/install/building/building-in-parallel.rst: New file.
8734         * doc/install/building/building-the-ada-compiler.rst: New file.
8735         * doc/install/building/building-the-d-compiler.rst: New file.
8736         * doc/install/building/building-with-profile-feedback.rst: New file.
8737         * doc/install/conf.py: New file.
8738         * doc/install/configuration.rst: New file.
8739         * doc/install/copyright.rst: New file.
8740         * doc/install/downloading-gcc.rst: New file.
8741         * doc/install/final-installation.rst: New file.
8742         * doc/install/gnu-free-documentation-license.rst: New file.
8743         * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
8744         * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
8745         * doc/install/how-to-interpret-test-results.rst: New file.
8746         * doc/install/index.rst: New file.
8747         * doc/install/indices-and-tables.rst: New file.
8748         * doc/install/installing-gcc.rst: New file.
8749         * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
8750         * doc/install/prerequisites.rst: New file.
8751         * doc/install/submitting-test-results.rst: New file.
8752         * doc/install/testing.rst: New file.
8754 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
8756         * range-op-float.cc (class foperator_minus): New.
8757         (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
8759 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
8761         * range-op-float.cc (range_operator_float::fold_range): Abstract
8762         out from foperator_plus.
8763         (range_operator_float::rv_fold): New.
8764         (foperator_plus::fold_range): Remove.
8765         (foperator_plus::rv_fold): New.
8766         (propagate_nans): Remove.
8767         * range-op.h (class range_operator_float): Add rv_fold.
8769 2022-11-09  Aldy Hernandez  <aldyh@redhat.com>
8771         * range-op-float.cc (foperator_plus::fold_range): Set NAN for
8772         addition of different signed infinities.
8773         (range_op_float_tests): New test.
8775 2022-11-09  liuhongt  <hongtao.liu@intel.com>
8777         PR target/107540
8778         * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
8779         type from sselog to sselog1.
8780         (avx_movddup256<mask_name>): Ditto.
8782 2022-11-08  David Faust  <david.faust@oracle.com>
8784         * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
8785         (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
8786         bpf_builtins for error checks.
8787         (bpf_core_walk): Use values of enum bpf_builtins.
8788         (bpf_core_newdecl): Likewise.
8789         (bpf_expand_builtin): Likewise.
8791 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
8793         PR tree-optimization/24021
8794         * range-op-float.cc (propagate_nans): New.
8795         (frange_nextafter): New.
8796         (frange_arithmetic): New.
8797         (class foperator_plus): New.
8798         (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
8800 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
8802         * real.cc (real_isdenormal): New.
8803         (encode_ieee_single): Call real_isdenormal.
8804         (encode_ieee_double): Same.
8805         (encode_ieee_extended): Same.
8806         (encode_ieee_quad): Same.
8807         (encode_ieee_half): Same.
8808         (encode_arm_bfloat_half): Same.
8809         * real.h (real_isdenormal): Add mode argument.  Rewrite for
8810         normalized values.
8811         * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
8812         real_isdenormal.
8814 2022-11-08  Richard Biener  <rguenther@suse.de>
8816         PR tree-optimization/107389
8817         * gimple-low.cc (lower_builtin_assume_aligned): New.
8818         (lower_stmt): Call it.
8820 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
8822         * range-op.cc (operator_div::fold_range): Call
8823         update_known_bitmask.
8824         * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
8825         2 as a right shift.
8827 2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>
8829         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
8830         of GCN_BUILTIN_LDEXPV to V64DFmode.
8832 2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>
8834         * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
8835         * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
8836         GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
8838 2022-11-08  Aldy Hernandez  <aldyh@redhat.com>
8840         * range-op.cc (irange_to_masked_value): New.
8841         (update_known_bitmask): New.
8842         (operator_mult::fold_range): Call update_known_bitmask.
8844 2022-11-08  Jakub Jelinek  <jakub@redhat.com>
8846         PR tree-optimization/107547
8847         * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
8848         of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}.  Handle
8849         BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
8851 2022-11-08  Jakub Jelinek  <jakub@redhat.com>
8853         PR target/107546
8854         * config/i386/predicates.md (vector_or_const_vector_operand): New
8855         predicate.
8856         * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
8857         vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
8858         vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
8859         predicate instead of nonimmediate_operand and
8860         vector_or_const_vector_operand instead of vector_operand.
8861         * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
8862         LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
8863         into LE/LEU or GT/GTU with larger or smaller by one cop1 if
8864         there is no wrap-around.  Force CONST_VECTOR cop0 or cop1 into
8865         REG.  Formatting fix.
8867 2022-11-08  Max Filippov  <jcmvbkbc@gmail.com>
8869         PR rtl-optimization/107482
8870         * ira-color.cc (assign_hard_reg): Only call
8871         update_costs_from_copies when retry_p is false.
8873 2022-11-08  konglin1  <lingling.kong@intel.com>
8875         Revert:
8876         2022-11-07  konglin1  <lingling.kong@intel.com>
8878         * config/i386/i386.opt:Add -mprefer-remote-atomic.
8879         * config/i386/sync.md (atomic_<plus_logic><mode>):
8880         New define_expand.
8881         (atomic_add<mode>): Rename to below one.
8882         (atomic_add<mode>_1): To this.
8883         (atomic_<logic><mode>): Ditto.
8884         (atomic_<logic><mode>_1): Ditto.
8885         * doc/invoke.texi: Add -mprefer-remote-atomic.
8887 2022-11-08  Haochen Jiang  <haochen.jiang@intel.com>
8889         * config/i386/i386-options.cc (m_CORE_ATOM): New.
8890         * config/i386/x86-tune.def
8891         (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
8892         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
8893         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
8894         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
8895         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
8896         (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
8897         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
8898         (X86_TUNE_USE_LEAVE): Ditto.
8899         (X86_TUNE_PUSH_MEMORY): Ditto.
8900         (X86_TUNE_USE_INCDEC): Ditto.
8901         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
8902         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
8903         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
8904         (X86_TUNE_USE_SAHF): Ditto.
8905         (X86_TUNE_USE_BT): Ditto.
8906         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
8907         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
8908         (X86_TUNE_AVOID_MFENCE): Ditto.
8909         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
8910         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
8911         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
8912         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
8913         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
8914         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
8915         (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
8916         (X86_TUNE_USE_GATHER_2PARTS): Ditto.
8917         (X86_TUNE_USE_GATHER_4PARTS): Ditto.
8918         (X86_TUNE_USE_GATHER): Ditto.
8920 2022-11-08  Andrew MacLeod  <amacleod@redhat.com>
8922         PR tree-optimization/104530
8923         * gimple-range-cache.cc (ranger_cache::register_inferred_value):
8924         New.  Split from:
8925         (ranger_cache::apply_inferred_ranges): Move setting cache to
8926         separate function.
8927         * gimple-range-cache.h (register_inferred_value): New prototype.
8928         * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
8929         * gimple-range-infer.h (has_range_p): New prototype.
8930         * gimple-range.cc (register_transitive_inferred_ranges): New.
8931         * gimple-range.h (register_transitive_inferred_ranges): New proto.
8932         * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
8933         ranges at the end of the block before folding final stmt.
8935 2022-11-07  David Faust  <david.faust@oracle.com>
8937         * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
8939 2022-11-07  Aldy Hernandez  <aldyh@redhat.com>
8941         PR tree-optimization/55157
8942         * range-op.cc (operator_mult::wi_fold): Optimize multiplications
8943         by powers of 2.
8945 2022-11-07  H.J. Lu  <hjl.tools@gmail.com>
8947         PR middle-end/102566
8948         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
8949         if (_5 < 0) and if (_5 >= 0).
8951 2022-11-07  Richard Purdie  <richard.purdie@linuxfoundation.org>
8953         * file-prefix-map.cc (remap_filename): Handle NULL filenames.
8955 2022-11-07  Alexander Monakov  <amonakov@ispras.ru>
8957         PR tree-optimization/107505
8958         * tree-ssa-sink.cc (statement_sink_location): Additionally
8959         reject ECF_RETURNS_TWICE calls.
8961 2022-11-07  Aldy Hernandez  <aldyh@redhat.com>
8963         PR tree-optimization/107541
8964         * range-op.cc (operator_div::fold_range): Restrict power of 2
8965         optimization to positive numbers.
8967 2022-11-07  Richard Biener  <rguenther@suse.de>
8969         * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
8970         (unswitch_predicate::unswitch_predicate): Initialize count.
8971         (init_loop_unswitch_info): First collect candidates and
8972         determine the outermost loop to unswitch.
8973         (tree_ssa_unswitch_loops): First perform all guard hoisting,
8974         then perform unswitching on innermost loop predicates.
8975         (find_unswitching_predicates_for_bb): Keep track of the
8976         most profitable predicate to unswitch on.
8977         (tree_unswitch_single_loop): Unswitch given predicate if
8978         not NULL.
8980 2022-11-07  Martin Liska  <mliska@suse.cz>
8981             Gerald Pfeifer  <gerald@pfeifer.com>
8983         * doc/invoke.texi: Improve wording.
8985 2022-11-07  Martin Liska  <mliska@suse.cz>
8987         * range-op.cc: Add final override keywords.
8989 2022-11-07  Kewen Lin  <linkw@linux.ibm.com>
8991         PR tree-optimization/107412
8992         * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
8993         (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
8994         mask_p indicating it's for mask or length, and add some handlings for
8995         IFN LEN_{LOAD,STORE}.
8996         (gimple_fold_mask_load): Rename to ...
8997         (gimple_fold_partial_load): ... this, add one parameter mask_p.
8998         (gimple_fold_mask_store): Rename to ...
8999         (gimple_fold_partial_store): ... this, add one parameter mask_p.
9000         (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
9001         and adjust calls on gimple_fold_mask_load_store_mem_ref to
9002         gimple_fold_partial_load_store_mem_ref.
9004 2022-11-07  Hu, Lin1  <lin1.hu@intel.com>
9006         * common/config/i386/cpuinfo.h
9007         (get_intel_cpu): Handle Grand Ridge.
9008         * common/config/i386/i386-common.cc
9009         (processor_names): Add grandridge.
9010         (processor_alias_table): Ditto.
9011         * common/config/i386/i386-cpuinfo.h:
9012         (enum processor_types): Add INTEL_GRANDRIDGE.
9013         * config.gcc: Add -march=grandridge.
9014         * config/i386/driver-i386.cc (host_detect_local_cpu):
9015         Handle grandridge.
9016         * config/i386/i386-c.cc (ix86_target_macros_internal):
9017         Ditto.
9018         * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
9019         (processor_cost_table): Add grandridge.
9020         * config/i386/i386.h (enum processor_type):
9021         Add PROCESSOR_GRANDRIDGE.
9022         (PTA_GRANDRIDGE): Ditto.
9023         * doc/extend.texi: Add grandridge.
9024         * doc/invoke.texi: Ditto.
9026 2022-11-07  konglin1  <lingling.kong@intel.com>
9028         * config/i386/i386.opt:Add -mprefer-remote-atomic.
9029         * config/i386/sync.md (atomic_<plus_logic><mode>):
9030         New define_expand.
9031         (atomic_add<mode>): Rename to below one.
9032         (atomic_add<mode>_1): To this.
9033         (atomic_<logic><mode>): Ditto.
9034         (atomic_<logic><mode>_1): Ditto.
9035         * doc/invoke.texi: Add -mprefer-remote-atomic.
9037 2022-11-07  konglin1  <lingling.kong@intel.com>
9039         * common/config/i386/cpuinfo.h (get_available_features):
9040         Detect raoint.
9041         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
9042         OPTION_MASK_ISA2_RAOINT_UNSET): New.
9043         (ix86_handle_option): Handle -mraoint.
9044         * common/config/i386/i386-cpuinfo.h (enum processor_features):
9045         Add FEATURE_RAOINT.
9046         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
9047         raoint.
9048         * config.gcc: Add raointintrin.h
9049         * config/i386/cpuid.h (bit_RAOINT): New.
9050         * config/i386/i386-builtin.def (BDESC): Add new builtins.
9051         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
9052         __RAOINT__.
9053         * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
9054         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
9055         Add -mraoint.
9056         * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
9057         * config/i386/i386.opt: Add option -mraoint.
9058         * config/i386/x86gprintrin.h: Include raointintrin.h.
9059         * doc/extend.texi: Document raoint.
9060         * doc/invoke.texi: Document -mraoint.
9061         * doc/sourcebuild.texi: Document target raoint.
9062         * config/i386/raointintrin.h: New file.
9064 2022-11-07  Haochen Jiang  <haochen.jiang@intel.com>
9066         * common/config/i386/cpuinfo.h
9067         (get_intel_cpu): Handle Granite Rapids.
9068         * common/config/i386/i386-common.cc:
9069         (processor_names): Add graniterapids.
9070         (processor_alias_table): Ditto.
9071         * common/config/i386/i386-cpuinfo.h
9072         (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
9073         * config.gcc: Add -march=graniterapids.
9074         * config/i386/driver-i386.cc (host_detect_local_cpu):
9075         Handle graniterapids.
9076         * config/i386/i386-c.cc (ix86_target_macros_internal):
9077         Ditto.
9078         * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
9079         (processor_cost_table): Add graniterapids.
9080         * config/i386/i386.h (enum processor_type):
9081         Add PROCESSOR_GRANITERAPIDS.
9082         (PTA_GRANITERAPIDS): Ditto.
9083         * doc/extend.texi: Add graniterapids.
9084         * doc/invoke.texi: Ditto.
9086 2022-11-07  Haochen Jiang  <haochen.jiang@intel.com>
9087             Hongtao Liu  <hongtao.liu@intel.com>
9089         * common/config/i386/cpuinfo.h (get_available_features):
9090         Detect PREFETCHI.
9091         * common/config/i386/i386-common.cc
9092         (OPTION_MASK_ISA2_PREFETCHI_SET,
9093         OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
9094         (ix86_handle_option): Handle -mprefetchi.
9095         * common/config/i386/i386-cpuinfo.h
9096         (enum processor_features): Add FEATURE_PREFETCHI.
9097         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
9098         for prefetchi.
9099         * config.gcc: Add prfchiintrin.h.
9100         * config/i386/cpuid.h (bit_PREFETCHI): New.
9101         * config/i386/i386-builtin-types.def:
9102         Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
9103         and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
9104         * config/i386/i386-builtin.def (BDESC): Add new builtins.
9105         * config/i386/i386-c.cc (ix86_target_macros_internal):
9106         Define __PREFETCHI__.
9107         * config/i386/i386-expand.cc: Handle new builtins.
9108         * config/i386/i386-isa.def (PREFETCHI):
9109         Add DEF_PTA(PREFETCHI).
9110         * config/i386/i386-options.cc
9111         (ix86_valid_target_attribute_inner_p): Handle prefetchi.
9112         * config/i386/i386.md (prefetchi): New define_insn.
9113         * config/i386/i386.opt: Add option -mprefetchi.
9114         * config/i386/predicates.md (local_func_symbolic_operand):
9115         New predicates.
9116         * config/i386/x86gprintrin.h: Include prfchiintrin.h.
9117         * config/i386/xmmintrin.h (enum _mm_hint): New enum for
9118         prefetchi.
9119         (_mm_prefetch): Handle the highest bit of enum.
9120         * doc/extend.texi: Document prefetchi.
9121         * doc/invoke.texi: Document -mprefetchi.
9122         * doc/sourcebuild.texi: Document target prefetchi.
9123         * config/i386/prfchiintrin.h: New file.
9125 2022-11-06  Uroš Bizjak  <ubizjak@gmail.com>
9127         * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
9128         mode when checking vec_set_optab.
9130 2022-11-06  Xi Ruoyao  <xry111@xry111.site>
9132         * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
9133         (type): Add fcopysign.
9134         (copysign<mode>3): New instruction template.
9136 2022-11-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
9138         * multiple_target.cc (expand_target_clones): Free memory.
9140 2022-11-06  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
9142         * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
9143         * multiple_target.cc (create_dispatcher_calls): Likewise.
9145 2022-11-05  Jonathan Wakely  <jwakely@redhat.com>
9147         PR c/41041
9148         * doc/cppopts.texi: Document -fwide-exec-charset defaults
9149         correctly.
9151 2022-11-05  Alexandre Oliva  <oliva@adacore.com>
9153         * common.opt (fmultiflags): New.
9154         * doc/invoke.texi: Document it.
9155         * gcc.cc (driver_self_specs): Discard it.
9156         * opts.cc (common_handle_option): Ignore it in the driver.
9158 2022-11-04  Jeff Chapman II  <jchapman@lock3software.com>
9159             Jason Merrill   <jason@redhat.com>
9161         * input.cc (get_source_text_between): New fn.
9162         * input.h (get_source_text_between): Declare.
9164 2022-11-04  Aldy Hernandez  <aldyh@redhat.com>
9166         PR tree-optimization/107342
9167         * range-op.cc (operator_mult::fold_range): New.
9168         (operator_div::fold_range): New.
9170 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
9172         * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
9173         Do not take into account operand 2.
9174         (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
9176 2022-11-04  Eric Botcazou  <ebotcazou@adacore.com>
9178         * expr.cc (emit_group_store): Do not use subword paradoxical subregs
9180 2022-11-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9182         * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
9183         extensions comment.
9185 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
9187         * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
9188         * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
9189         [ACCEL_COMPILER]: Remove.
9190         * config/i386/intelmic-mkoffload.cc: Remove.
9191         * config/i386/intelmic-offload.h: Likewise.
9192         * config/i386/t-intelmic: Likewise.
9193         * config/i386/t-omp-device: Likewise.
9194         * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
9195         * configure: Regenerate.
9196         * doc/install.texi (--enable-offload-targets=[...]): Update.
9197         * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
9199 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
9201         * Makefile.in (OBJS): Remove 'dbxout.o'.
9202         * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
9203         * dbxout.cc: Remove.
9204         * dbxout.h: Likewise.
9205         * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
9206         Default to 'default_asm_out_constructor',
9207         'default_asm_out_destructor'.
9208         * targhooks.cc (default_asm_out_constructor)
9209         (default_asm_out_destructor): New.
9210         * targhooks.h (default_asm_out_constructor)
9211         (default_asm_out_destructor): Declare.
9213 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
9215         * Makefile.in (OBJS): Add 'dbxout.o'.
9216         * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
9217         * dbxout.cc: New.
9218         * dbxout.h: Likewise.
9219         * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
9220         Default to 'default_stabs_asm_out_constructor',
9221         'default_stabs_asm_out_destructor'.
9223 2022-11-04  Hongyu Wang  <hongyu.wang@intel.com>
9224             Haochen Jiang  <haochen.jiang@intel.com>
9226         * common/config/i386/cpuinfo.h (get_available_features): Detect
9227         amx-fp16.
9228         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
9229         OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
9230         (ix86_handle_option): Handle -mamx-fp16.
9231         * common/config/i386/i386-cpuinfo.h (enum processor_features):
9232         Add FEATURE_AMX_FP16.
9233         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
9234         amx-fp16.
9235         * config.gcc: Add amxfp16intrin.h.
9236         * config/i386/cpuid.h (bit_AMX_FP16): New.
9237         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
9238         __AMX_FP16__.
9239         * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
9240         * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
9241         (ix86_valid_target_attribute_inner_p): Add new ATTR.
9242         (ix86_option_override_internal): Handle AMX-FP16.
9243         * config/i386/i386.opt: Add -mamx-fp16.
9244         * config/i386/immintrin.h: Include amxfp16intrin.h.
9245         * doc/extend.texi: Document -mamx-fp16.
9246         * doc/invoke.texi: Document amx-fp16.
9247         * doc/sourcebuild.texi: Document amx_fp16.
9248         * config/i386/amxfp16intrin.h: New file.
9250 2022-11-04  Haochen Jiang  <haochen.jiang@intel.com>
9252         * common/config/i386/cpuinfo.h (get_intel_cpu):
9253         Add Sierra Forest.
9254         * common/config/i386/i386-common.cc
9255         (processor_names): Add Sierra Forest.
9256         (processor_alias_table): Ditto.
9257         * common/config/i386/i386-cpuinfo.h
9258         (enum processor_types): Add INTEL_SIERRAFOREST.
9259         * config.gcc: Add -march=sierraforest.
9260         * config/i386/driver-i386.cc (host_detect_local_cpu):
9261         Handle Sierra Forest.
9262         * config/i386/i386-c.cc (ix86_target_macros_internal):
9263         Ditto.
9264         * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
9265         (processor_cost_table): Add sierra forest.
9266         * config/i386/i386.h (enum processor_type):
9267         Add PROCESSOR_SIERRA_FOREST.
9268         (PTA_SIERRAFOREST): Ditto.
9269         * doc/extend.texi: Add sierra forest.
9270         * doc/invoke.texi: Ditto.
9272 2022-11-04  Haochen Jiang  <haochen.jiang@intel.com>
9274         * common/config/i386/cpuinfo.h (get_available_features):
9275         Detect cmpccxadd.
9276         * common/config/i386/i386-common.cc
9277         (OPTION_MASK_ISA2_CMPCCXADD_SET,
9278         OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
9279         (ix86_handle_option): Handle -mcmpccxadd.
9280         * common/config/i386/i386-cpuinfo.h (enum processor_features):
9281         Add FEATURE_CMPCCXADD.
9282         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
9283         cmpccxadd.
9284         * config.gcc: Add cmpccxaddintrin.h.
9285         * config/i386/cpuid.h (bit_CMPCCXADD): New.
9286         * config/i386/i386-builtin-types.def:
9287         Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
9288         and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
9289         * config/i386/i386-builtin.def (BDESC): Add new builtins.
9290         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
9291         __CMPCCXADD__.
9292         * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
9293         Add new parameter to indicate constant position.
9294         Handle INT_FTYPE_PINT_INT_INT_INT
9295         and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
9296         * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
9297         * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
9298         (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
9299         * config/i386/i386.opt: Add option -mcmpccxadd.
9300         * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
9301         * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
9302         * doc/extend.texi: Document cmpccxadd.
9303         * doc/invoke.texi: Document -mcmpccxadd.
9304         * doc/sourcebuild.texi: Document target cmpccxadd.
9305         * config/i386/cmpccxaddintrin.h: New file.
9307 2022-11-03  Jason Merrill  <jason@redhat.com>
9309         * doc/invoke.texi: -fconcepts no longer implies
9310         -fconcepts-ts before C++20.
9312 2022-11-03  Kwok Cheung Yeung  <kcy@codesourcery.com>
9314         * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
9315         (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
9316         <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
9317         *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
9318         assembler output.
9320 2022-11-03  Andrew MacLeod  <amacleod@redhat.com>
9322         * gimple-range.cc (gimple_ranger::update_stmt): New.
9323         * gimple-range.h (gimple_ranger::update_stmt): New prototype.
9324         * tree-ssa-operands.cc (update_stmt_operands): Notify range
9325         query that stmt has changed.
9326         * value-query.h (range_query::update_stmt): New.
9328 2022-11-03  David Malcolm  <dmalcolm@redhat.com>
9330         * make-unique.h: New file.
9332 2022-11-03  Uroš Bizjak  <ubizjak@gmail.com>
9334         PR target/107404
9335         * config/i386/i386.md (eliminate reg-reg move by inverting the
9336         condition of a cmove #2 peephole2): Check if eliminated move
9337         initialized a register, used in the moved instruction.
9339 2022-11-03  Andrew Stubbs  <ams@codesourcery.com>
9341         PR target/107510
9342         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
9343         UNSPEC_SMIN_DPP_SHR conditionals.
9345 2022-11-02  Christoph Müllner  <christoph.muellner@vrull.eu>
9347         * common/config/riscv/riscv-common.cc: Add zawrs extension.
9348         * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
9349         (TARGET_ZAWRS): New.
9350         * config/riscv/riscv.opt: New.
9352 2022-11-02  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
9354         PR driver/93371
9355         * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
9357 2022-11-02  Aldy Hernandez  <aldyh@redhat.com>
9359         * value-range.cc (frange::contains_p): Fix signed zero handling.
9360         (range_tests_signed_zeros): New test.
9362 2022-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9364         * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
9366 2022-11-02  Xionghu Luo  <xionghuluo@tencent.com>
9368         PR target/100866
9369         * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
9370         (altivec_vrl<VI_char>): ...this.
9371         * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
9372         target is Power8 and mode is V8HI.
9374 2022-11-01  David Seifert  <soap@gentoo.org>
9376         * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
9377         * configure: Regenerate.
9379 2022-11-01  Richard Purdie  <richard.purdie@linuxfoundation.org>
9381         * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
9383 2022-11-01  Aldy Hernandez  <aldyh@redhat.com>
9385         PR tree-optimization/107490
9386         * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
9387         NANs.
9388         (foperator_unordered_lt::op2_range): Same.
9389         (foperator_unordered_le::op1_range): Same.
9390         (foperator_unordered_le::op2_range): Same.
9391         (foperator_unordered_gt::op1_range): Same.
9392         (foperator_unordered_gt::op2_range): Same.
9393         (foperator_unordered_ge::op1_range): Same.
9394         (foperator_unordered_ge::op2_range): Same.
9396 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
9398         PR tree-optimization/107497
9399         * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
9400         Check that ssa-name still exists before accessing it.
9402 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
9404         * params.opt (param_vrp1_mode): Make ranger default.
9406 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
9408         * tree-vrp.cc (class remove_unreachable): New.
9409         (remove_unreachable::maybe_register_block): New.
9410         (remove_unreachable::remove_and_update_globals): New.
9411         (rvrp_folder::rvrp_folder): Initialize m_unreachable.
9412         (rvrp_folder::post_fold_bb): Maybe register unreachable block.
9413         (rvrp_folder::m_unreachable): New member.
9414         (execute_ranger_vrp): Add final_pass flag, remove unreachables.
9416 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
9418         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
9419         exit block to be specified.
9420         (ranger_cache::range_from_dom): If exit block is specified, use
9421         the immediate predecessor instead of the dominator to start.
9422         * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
9423         for exit block.
9425 2022-11-01  Andrew MacLeod  <amacleod@redhat.com>
9427         * value-range.cc (irange::intersect_nonzero_bits): If new
9428         non-zero mask is the same as original, flag no change.
9430 2022-11-01  Alexander Monakov  <amonakov@ispras.ru>
9432         PR target/87832
9433         * config/i386/znver.md (znver1_idiv): New automaton.
9434         (znver1-idiv): New unit.
9435         (znver1_idiv_DI): Correct unit and cycles in the reservation.
9436         (znver1_idiv_SI): Ditto.
9437         (znver1_idiv_HI): Ditto.
9438         (znver1_idiv_QI): Ditto.
9439         (znver1_idiv_mem_DI): Ditto.
9440         (znver1_idiv_mem_SI): Ditto.
9441         (znver1_idiv_mem_HI): Ditto.
9442         (znver1_idiv_mem_QI): Ditto.
9443         (znver3_idiv_DI): Ditto.
9444         (znver3_idiv_SI): Ditto.
9445         (znver3_idiv_HI): Ditto.
9446         (znver3_idiv_QI): Ditto.
9447         (znver3_idiv_mem_DI): Ditto.
9448         (znver3_idiv_mem_SI): Ditto.
9449         (znver3_idiv_mem_HI): Ditto.
9450         (znver3_idiv_mem_QI): Ditto.
9452 2022-11-01  liuhongt  <hongtao.liu@intel.com>
9454         PR target/107057
9455         * config/i386/sse.md (*vec_interleave_highv2df): Remove
9456         constraint 1.
9457         (*vec_interleave_lowv2df): Ditto.
9458         (vec_concatv2df): Ditto.
9459         (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
9460         (avx512f_unpcklpd512<mask_name>): .. this.
9461         (avx512f_movddup512<mask_name>): Change to define_insn.
9462         (avx_movddup256<mask_name>): Ditto.
9463         (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
9464         to ..
9465         (avx_unpcklpd256<mask_name>): .. this.
9466         * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
9467         Disallow MEM_P (op1) && MEM_P (op2).
9469 2022-11-01  liuhongt  <hongtao.liu@intel.com>
9471         PR target/55583
9472         * config/i386/i386.md (*x86_64_shld_1): Rename to ..
9473         (x86_64_shld_1): .. this.
9474         (*x86_shld_1): Rename to ..
9475         (x86_shld_1): .. this.
9476         (*x86_64_shrd_1): Rename to ..
9477         (x86_64_shrd_1): .. this.
9478         (*x86_shrd_1): Rename to ..
9479         (x86_shrd_1): .. this.
9480         (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
9481         (*x86_shld_shrd_1_nozext): Ditto.
9482         (*x86_64_shrd_shld_1_nozext): Ditto.
9483         (*x86_shrd_shld_1_nozext): Ditto.
9485 2022-11-01  Cui,Lili  <lili.cui@intel.com>
9487         * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
9488         judgement for INLINE_HINT_known_hot hint.
9490 2022-10-31  Guillermo E. Martinez  <guillermo.e.martinez@oracle.com>
9492         * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
9493         enumerator type btf_enum{,64}.
9494         (btf_asm_type): Update btf_kflag according to enumeration type sign
9495         using dtd_enum_unsigned field for both:  BTF_KIND_ENUM{,64}.
9496         (btf_asm_enum_const): New argument to represent the size of
9497         the BTF enum type, writing the enumerator constant value for
9498         32 bits, if it's 64 bits then explicitly writes lower 32-bits
9499         value and higher 32-bits value.
9500         (output_asm_btf_enum_list): Add enumeration size argument.
9501         * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
9502         basic information.
9503         (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
9504         dtd structure containing enumeration information.
9505         (ctf_add_enumerator): Update comment mention support for BTF
9506         enumeration in 64-bits.
9507         * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
9508         for enumeration type and use it in ctf_add_enum.
9509         * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
9510         use 32/64 bits enumerators.
9511         information.
9512         (ctf_dtdef): New field to describe enum signedness.
9514 2022-10-31  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
9516         * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
9517         * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
9518         * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
9519         * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
9521 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
9523         * config/gcn/gcn-valu.md (fminmaxop): New iterator.
9524         (<fexpander><mode>3): New define_expand.
9525         (<fexpander><mode>3<exec>): Likewise.
9526         (reduc_<fexpander>_scal_<mode>): Likewise.
9527         * config/gcn/gcn.md (fexpander): New attribute.
9529 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
9531         * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
9532         (V64_DI): Likewise.
9533         (V64_1REG): Likewise.
9534         (V64_INT_1REG): Likewise.
9535         (V64_2REG): Likewise.
9536         (V64_ALL): Likewise.
9537         (V64_FP): Likewise.
9538         (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
9539         (fold_left_plus_<mode>): Use V_FP.
9540         (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
9541         (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
9542         (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
9543         (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
9544         (*plus_carry_dpp_shr_<mode>): Use V_DI.
9545         (mov_from_lane63_<mode>): Delete.
9546         (mov_from_lane63_<mode>): Delete.
9547         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
9548         * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
9550 2022-10-31  Andrew Stubbs  <ams@codesourcery.com>
9552         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
9553         Set base_type as ARG_UNUSED.
9555 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
9557         * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
9558         BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
9559         BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
9560         BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
9561         BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
9562         BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
9563         BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
9564         BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
9565         BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
9566         BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
9567         BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
9568         BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
9569         BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
9570         BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
9571         BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
9572         BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
9573         BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
9574         BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
9575         BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
9576         BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
9577         BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
9578         * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
9579         CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
9580         (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
9581         BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
9582         BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
9583         BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
9584         BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
9585         DEF_EXT_LIB_FLOATN_NX_BUILTINS.
9586         * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
9587         fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
9588         CASE_CFN_* is present.
9589         * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
9590         Likewise.
9591         * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
9592         * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
9593         tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
9594         tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
9595         Likewise.
9597 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
9599         * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
9600         * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
9601         * fold-const-call.cc (fold_const_call_sss): Handle
9602         CFN_BUILT_IN_NEXTAFTERF16B.
9604 2022-10-31  Jakub Jelinek  <jakub@redhat.com>
9606         * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
9607         BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
9608         New DEF_PRIMITIVE_TYPE.
9609         (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
9610         BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
9611         BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
9612         BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
9613         BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
9614         BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
9615         BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
9616         BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
9617         DEF_FUNCTION_TYPE_1.
9618         (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
9619         BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
9620         BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
9621         BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
9622         BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
9623         BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
9624         BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
9625         BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
9626         BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
9627         BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
9628         BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
9629         BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
9630         BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
9631         BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
9632         BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
9633         DEF_FUNCTION_TYPE_2.
9634         (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
9635         BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
9636         BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
9637         BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
9638         BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
9639         BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
9640         BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
9641         * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
9642         FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
9643         LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
9644         NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
9645         Define and undefine later.
9646         (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
9647         (INF_TYPE): Define at a later line.
9648         (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
9649         BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
9650         BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
9651         BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
9652         BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
9653         BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
9654         BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
9655         BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
9656         BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
9657         BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
9658         BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
9659         DEF_EXT_LIB_FLOATN_NX_BUILTINS.
9660         (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
9661         DEF_GCC_FLOATN_NX_BUILTINS.
9662         * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
9663         cases when CASE_CFN_* is present.
9664         (fold_const_call_sss): Likewise.
9665         * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
9666         CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
9667         (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
9668         builtins next to CASE_FLT_FN.
9669         * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
9670         next to CASE_CFN_*: for various builtins.
9671         * tree-call-cdce.cc (can_test_argument_range): Add
9672         CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
9673         (edom_only_function): Likewise.
9675 2022-10-31  konglin1  <lingling.kong@intel.com>
9677         * common/config/i386/i386-common.cc
9678         (OPTION_MASK_ISA2_AVXNECONVERT_SET,
9679         OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
9680         (ix86_handle_option): Handle -mavxneconvert, unset
9681         avxneconvert when avx2 is disabled.
9682         * common/config/i386/i386-cpuinfo.h (processor_types): Add
9683         FEATURE_AVXNECONVERT.
9684         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
9685         avxneconvert.
9686         * common/config/i386/cpuinfo.h (get_available_features):
9687         Detect avxneconvert.
9688         * config.gcc: Add avxneconvertintrin.h
9689         * config/i386/avxneconvertintrin.h: New.
9690         * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
9691         Unified builtin with avxneconvert.
9692         (_mm_cvtneps_pbh): Ditto.
9693         * config/i386/cpuid.h (bit_AVXNECONVERT): New.
9694         * config/i386/i386-builtin-types.def: Add
9695         DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
9696         DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
9697         DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
9698         DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
9699         DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
9700         DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
9701         DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
9702         DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
9703         DEF_FUNCTION_TYPE (V4SF, PCV8BF),
9704         DEF_FUNCTION_TYPE (V4SF, PCV8HF),
9705         DEF_FUNCTION_TYPE (V8SF, PCV16HF),
9706         DEF_FUNCTION_TYPE (V8SF, PCV16BF),
9707         * config/i386/i386-builtin.def: Add new builtins.
9708         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
9709         __AVXNECONVERT__.
9710         * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
9711         Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
9712         V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
9713         V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
9714         * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
9715         * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
9716         (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
9717         * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
9718         * config/i386/i386.opt: Add option -mavxneconvert.
9719         * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
9720         * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
9721         (vbcstnesh2ps_<mode>): Ditto.
9722         (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
9723         (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
9724         (vcvtneps2bf16_v4sf): Ditto.
9725         (*vcvtneps2bf16_v4sf): Ditto.
9726         (vcvtneps2bf16_v8sf): Ditto.
9727         * doc/invoke.texi: Document -mavxneconvert.
9728         * doc/extend.texi: Document avxneconvert.
9729         * doc/sourcebuild.texi: Document target avxneconvert.
9731 2022-10-31  konglin1  <lingling.kong@intel.com>
9733         * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
9734         (_mm_cvtsbh_ss): Ditto.
9735         (_mm512_cvtne2ps_pbh): Ditto.
9736         (_mm512_mask_cvtne2ps_pbh): Ditto.
9737         (_mm512_maskz_cvtne2ps_pbh): Ditto.
9738         * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
9739         (_mm256_cvtne2ps_pbh): Ditto.
9740         (_mm256_mask_cvtne2ps_pbh): Ditto.
9741         (_mm256_maskz_cvtne2ps_pbh): Ditto.
9742         (_mm_cvtne2ps_pbh): Ditto.
9743         (_mm_mask_cvtne2ps_pbh): Ditto.
9744         (_mm_maskz_cvtne2ps_pbh): Ditto.
9745         (_mm_cvtness_sbh): Ditto.
9746         * config/i386/i386-builtin-types.def (V8BF): Add new
9747         DEF_VECTOR_TYPE for BFmode.
9748         (V16BF): Ditto.
9749         (V32BF): Ditto.
9750         * config/i386/i386-builtin.def (BDESC): Fixed builtins.
9751         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
9752         avx512bf16 ix86_builtin_func_type included HI to BF.
9753         * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
9754         * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
9755         vector.
9756         (avx512f_cvtneps2bf16_v4sf): New define_expand.
9757         (*avx512f_cvtneps2bf16_v4sf): New define_insn.
9758         (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
9759         (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
9760         (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
9762 2022-10-31  liuhongt  <hongtao.liu@intel.com>
9764         PR target/107261
9765         * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
9766         * config/i386/i386.cc (classify_argument): Handle V4BFmode and
9767         V2BFmode.
9768         (ix86_convert_const_vector_to_integer): Ditto.
9769         * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
9770         V2BFmode.
9771         (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
9772         (VALID_MMX_REG_MODE): Add V4BFmode.
9773         * config/i386/i386.md (mode): Add V4BF and V2BF.
9774         (MODE_SIZE): Ditto.
9775         * config/i386/mmx.md (MMXMODE) Add V4BF.
9776         (V_32): Add V2BF.
9777         (V_16_32_64): Add V4BF and V2BF.
9778         (mmxinsnmode): Add V4BF and V2BF.
9779         (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
9781 2022-10-29  Eric Botcazou  <ebotcazou@adacore.com>
9783         * configure.ac (sjlj-exceptions): Restore dropped line.
9784         * configure: Regenerate.
9786 2022-10-29  Eric Botcazou  <ebotcazou@adacore.com>
9788         * alias.cc (init_alias_analysis): Do not record sets to the hard
9789         frame pointer if the frame pointer has not been eliminated.
9791 2022-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
9793         * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
9794         (TARGET_D_MINFO_SECTION_START): ...this.
9795         (TARGET_D_MINFO_END_NAME): Rename to ...
9796         (TARGET_D_MINFO_SECTION_END): ... this.
9797         * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
9798         (TARGET_D_MINFO_START_NAME): Remove.
9799         (TARGET_D_MINFO_END_NAME): Remove.
9800         * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
9801         (TARGET_D_MINFO_START_NAME): Remove.
9802         (TARGET_D_MINFO_END_NAME): Remove.
9803         * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
9804         (TARGET_D_MINFO_START_NAME): Remove.
9805         (TARGET_D_MINFO_END_NAME): Remove.
9806         * doc/tm.texi: Regenerate.
9807         * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
9808         (TARGET_D_MINFO_SECTION_START): ...this.
9809         (TARGET_D_MINFO_END_NAME): Rename to ...
9810         (TARGET_D_MINFO_SECTION_END): ...this.
9812 2022-10-29  Iain Buclaw  <ibuclaw@gdcproject.org>
9814         * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
9815         kopensolaris-d.o, and gnu-d.o.  Split out cygwin-d.o from winnt-d.o.
9816         * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9817         * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9818         * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9819         * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9820         * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9821         * config/i386/t-cygming: Add cygwin-d.o.
9822         * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
9823         MinGW-specific version condition.
9824         * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9825         * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9826         * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
9827         * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
9828         * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
9829         * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
9830         kopensolaris-d.o.
9831         * config/t-linux: Add linux-d.o.
9832         * config/glibc-d.cc: Remove file.
9833         * config/gnu-d.cc: New file.
9834         * config/i386/cygwin-d.cc: New file.
9835         * config/kfreebsd-d.cc: New file.
9836         * config/kopensolaris-d.cc: New file.
9837         * config/linux-d.cc: New file.
9839 2022-10-29  Jeff Law  <jeffreyalaw@gmail.com>
9841         * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
9842         an unsigned int
9843         * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
9845 2022-10-28  Joseph Myers  <joseph@codesourcery.com>
9847         * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
9848         Check TYPE_NO_NAMED_ARGS_STDARG_P.
9849         * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
9850         * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
9851         * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
9852         * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
9853         * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
9854         Likewise.
9855         * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
9856         * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
9857         * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
9858         * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
9859         * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
9860         * config/loongarch/loongarch.cc
9861         (loongarch_setup_incoming_varargs): Likewise.
9862         * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
9863         * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
9864         * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
9865         * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
9866         * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
9867         * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
9868         * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
9869         * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
9870         * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
9871         * config/visium/visium.cc (visium_setup_incoming_varargs):
9872         Likewise.
9873         * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
9874         flag_allow_parameterless_variadic_functions.
9875         * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
9876         not document option.
9877         * function.cc (assign_parms): Call assign_parms_setup_varargs for
9878         TYPE_NO_NAMED_ARGS_STDARG_P case.
9879         * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
9880         variadic macro.  Pass second argument of 0 to __builtin_va_start.
9881         * target.def (setup_incoming_varargs): Update documentation.
9882         * doc/tm.texi: Regenerate.
9883         * tree-core.h (struct tree_type_common): Add
9884         no_named_args_stdarg_p.
9885         * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
9886         TYPE_NO_NAMED_ARGS_STDARG_P.
9887         * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
9888         TYPE_NO_NAMED_ARGS_STDARG_P.
9889         * tree.cc (type_cache_hasher::equal): Compare
9890         TYPE_NO_NAMED_ARGS_STDARG_P.
9891         (build_function_type): Add argument no_named_args_stdarg_p.
9892         (build_function_type_list_1, build_function_type_array_1)
9893         (reconstruct_complex_type): Update calls to build_function_type.
9894         (stdarg_p, prototype_p): Return true for (...) functions.
9895         (gimple_canonical_types_compatible_p): Compare
9896         TYPE_NO_NAMED_ARGS_STDARG_P.
9897         * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
9898         (build_function_type): Update prototype.
9900 2022-10-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9902         PR tree-optimization/107346
9903         * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
9904         that aren't multiples of BITS_PER_UNIT.
9906 2022-10-28  Richard Biener  <rguenther@suse.de>
9908         PR tree-optimization/107407
9909         * tree-ssa-dse.cc (dse_classify_store): Perform backedge
9910         varying index check when collecting PHI uses rather than
9911         after optimizing processing of the candidate defs.
9913 2022-10-28  Richard Biener  <rguenther@suse.de>
9915         PR tree-optimization/107447
9916         * tree-ssa-loop-im.cc (determine_max_movement): Do not
9917         hoist returns-twice calls.
9919 2022-10-28  Richard Biener  <rguenther@suse.de>
9921         PR tree-optimization/107435
9922         * tree-vect-loop.cc (vectorizable_recurr): Convert initial
9923         value to vector component type.
9925 2022-10-28  Julian Brown  <julian@codesourcery.com>
9926             Thomas Schwinge  <thomas@codesourcery.com>
9928         PR middle-end/90115
9929         * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
9930         privatization candidates.
9932 2022-10-28  Martin Liska  <mliska@suse.cz>
9934         PR sanitizer/107298
9935         * doc/invoke.texi: Document sanitizers can trigger warnings.
9937 2022-10-28  Thomas Schwinge  <thomas@codesourcery.com>
9939         * doc/makefile.texi (Makefile Targets): Document
9940         'distclean-stage[N]'.
9942 2022-10-28  Aldy Hernandez  <aldyh@redhat.com>
9944         * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
9946 2022-10-27  Eric Botcazou  <ebotcazou@adacore.com>
9948         * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
9950 2022-10-27  H.J. Lu  <hjl.tools@gmail.com>
9952         PR target/107172
9953         * config/i386/i386.md (UNSPEC_CC_NE): New.
9954         Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
9956 2022-10-27  Andrew Pinski  <apinski@marvell.com>
9958         * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
9959         (replace_phi_edge_with_variable):
9960         New argument, dce_ssa_names. Call simple_dce_from_worklist.
9961         (match_simplify_replacement): If we inserted a sequence,
9962         mark the lhs of the new sequence to be possible dce.
9963         Always move the statement and mark the lhs (if it is a name)
9964         as possible to remove.
9966 2022-10-27  Richard Sandiford  <richard.sandiford@arm.com>
9968         * config/aarch64/aarch64-protos.h: Replace constexpr with
9969         CONSTEXPR.
9970         * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
9971         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
9972         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
9973         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
9974         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
9975         * config/aarch64/aarch64.cc: Likewise.
9976         * config/aarch64/driver-aarch64.cc: Likewise
9978 2022-10-27  Aldy Hernandez  <aldyh@redhat.com>
9980         PR tree-optimization/107394
9981         * value-range-storage.cc (frange_storage_slot::get_frange): Use
9982         frange constructor.
9984 2022-10-27  Thomas Schwinge  <thomas@codesourcery.com>
9986         * optc-save-gen.awk: Clarify 'Init' option property usage for
9987         streaming optimization.
9989 2022-10-27  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
9990             Yvan ROUX  <yvan.roux@foss.st.com>
9992         * ira.cc: Resize array after reg number increased.
9994 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
9995             Sinan Lin  <sinan@isrc.iscas.ac.cn>
9997         * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
9998         use while Zfinx is enable.
9999         * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
10000         registers use when Zdinx enable in RV32 cases.
10001         (riscv_option_override): New target enable MASK_FDIV.
10002         (riscv_libgcc_floating_mode_supported_p): New error info when
10003         use incompatible arch&abi.
10004         (riscv_excess_precision): New target enable FLOAT16.
10006 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
10008         * config/riscv/iterators.md (TARGET_ZFINX):New target.
10009         (TARGET_ZDINX): Ditto.
10010         (TARGET_ZHINX): Ditto.
10011         * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
10012         (riscv_atomic_assign_expand_fenv): Ditto.
10013         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
10014         * config/riscv/riscv.md: Ditto.
10016 2022-10-27  Jiawei  <jiawei@iscas.ac.cn>
10017             Sinan Lin  <sinan@isrc.iscas.ac.cn>
10019         * common/config/riscv/riscv-common.cc: New extensions.
10020         * config/riscv/arch-canonicalize: New imply relations.
10021         * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
10022         (MASK_ZDINX): Ditto.
10023         (MASK_ZHINX): Ditto.
10024         (MASK_ZHINXMIN): Ditto.
10025         (TARGET_ZFINX): New target.
10026         (TARGET_ZDINX): Ditto.
10027         (TARGET_ZHINX): Ditto.
10028         (TARGET_ZHINXMIN): Ditto.
10029         * config/riscv/riscv.opt: New target variable.
10031 2022-10-26  David Faust  <david.faust@oracle.com>
10033         * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
10034         (enum bpf_builtins): Add new builtin.
10035         (bpf_init_builtins): Likewise.
10036         (bpf_core_field_info): New function.
10037         (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
10038         relocation to...
10039         (maybe_make_core_relo): ... here. New function.
10040         (bpf_resolve_overloaded_builtin): Accomodate new builtin.
10041         (bpf_core_newdecl): Likewise.
10042         (bpf_core_walk): Likewise.
10043         (bpf_core_is_maybe_aggregate_access): Improve logic.
10044         (struct core_walk_data): New.
10045         * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
10046         relocation kinds.
10047         * config/bpf/coreout.h: Analogous change.
10048         * doc/extend.texi: Document BPF __builtin_preserve_field_info.
10050 2022-10-26  Marek Polacek  <polacek@redhat.com>
10052         PR c++/106393
10053         * doc/invoke.texi: Document -Wdangling-reference.
10055 2022-10-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
10057         * config/xtensa/xtensa.md (movdi):
10058         Copy operands[0...1] to ops[0...3] and then use the latter before
10059         calling xtensa_split_DI_reg_imm() and emitting insns.
10061 2022-10-26  Alexander Monakov  <amonakov@ispras.ru>
10063         PR other/107353
10064         * ipa-visibility.cc (function_and_variable_visibility):
10065         Conditionally upgrade TLS model instead of asserting.
10067 2022-10-26  Andrew MacLeod  <amacleod@redhat.com>
10069         * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
10070         stmt is non-negative and adjust the range.
10072 2022-10-26  Martin Liska  <mliska@suse.cz>
10074         * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
10075         (reset_cpu_feature): New.
10076         (get_zhaoxin_cpu): Use reset_cpu_feature.
10078 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10080         * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
10082 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10084         PR target/107357
10085         * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
10086         (ADJUST_NUNITS): Adjust according to -march.
10087         (ADJUST_BYTESIZE): Ditto.
10088         * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
10089         Remove.
10090         (riscv_v_ext_vector_mode_p): Change function implementation.
10091         * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
10092         Change to riscv_v_ext_vector_mode_p.
10093         (register_builtin_type): Ditto.
10094         * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
10095         modes.
10096         (ENTRY): Ditto.
10097         (riscv_v_ext_enabled_vector_mode_p): Remove.
10098         (riscv_v_adjust_nunits): New function.
10099         (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
10100         * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
10102 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10104         * config.gcc (riscv*): Add riscv-v.o to extra_objs.
10105         * config/riscv/constraints.md (vu): New constraint.
10106         (vi): Ditto.
10107         (Wc0): Ditto.
10108         (Wc1): Ditto.
10109         * config/riscv/predicates.md (vector_length_operand): New.
10110         (reg_or_mem_operand): Ditto.
10111         (vector_move_operand): Ditto.
10112         (vector_mask_operand): Ditto.
10113         (vector_merge_operand): Ditto.
10114         * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
10115         (riscv_vector::const_vec_all_same_in_range_p): Ditto.
10116         (riscv_vector::legitimize_move): Ditto.
10117         (tail_policy): Ditto.
10118         (mask_policy): Ditto.
10119         * config/riscv/riscv-v.cc: New.
10120         * config/riscv/riscv-vector-builtins-bases.cc
10121         (vsetvl::expand): Refactor how LMUL encoding.
10122         * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
10123         print and mask operand print.
10124         (riscv_regmode_natural_size): New.
10125         * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
10126         * config/riscv/riscv.md (mode): Add vector modes.
10127         * config/riscv/t-riscv (riscv-v.o) New.
10128         * config/riscv/vector-iterators.md: New.
10129         * config/riscv/vector.md (vundefined<mode>): New.
10130         (mov<mode>): New.
10131         (*mov<mode>): New.
10132         (@vsetvl<mode>_no_side_effects): New.
10133         (@pred_mov<mode>): New.
10135 2022-10-26  Monk Chiang  <monk.chiang@sifive.com>
10137         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
10138         Add svinval and svnapot extension.
10139         (riscv_ext_flag_table): Ditto.
10140         * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
10141         (MASK_SVNAPOT): Ditto.
10142         (TARGET_SVINVAL): Ditto.
10143         (TARGET_SVNAPOT): Ditto.
10144         * config/riscv/riscv.opt (riscv_sv_subext): New.
10146 2022-10-26  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10148         * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
10150 2022-10-26  Martin Liska  <mliska@suse.cz>
10152         * configure: Regenerate.
10154 2022-10-26  Aldy Hernandez  <aldyh@redhat.com>
10156         * value-range.cc (frange::set): Use HONOR_*.
10157         (frange::verify_range): Same.
10158         * value-range.h (frange_val_min): Same.
10159         (frange_val_max): Same.
10161 2022-10-26  Jiufu Guo  <guojiufu@linux.ibm.com>
10163         PR target/106460
10164         * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
10165         for HIGH code rtx.
10167 2022-10-26  Kito Cheng  <kito.cheng@sifive.com>
10169         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
10170         Add `h`.
10171         (riscv_supported_std_ext): Ditto.
10172         (multi_letter_subset_rank): Remove `h`.
10173         (riscv_subset_list::parse_std_ext): Handle `h` as single letter
10174         extension.
10175         (riscv_subset_list::parse): Ditto.
10177 2022-10-25  Eugene Rozenfeld  <erozen@microsoft.com>
10179         * auto-profile.cc (get_combined_location): Include discriminator in the
10180         returned combined location.
10181         (read_function_instance): Read discriminators from profiles.
10183 2022-10-25  H.J. Lu  <hjl.tools@gmail.com>
10185         PR target/107304
10186         * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
10187         field with vector raw mode.
10189 2022-10-25  Segher Boessenkool  <segher@kernel.crashing.org>
10191         * config/rs6000/rs6000.md (CCEITHER): Delete.
10192         (CCANY): New.
10193         (un): Delete.
10194         (isel_<un>signed_<GPR:mode>): Rename to...
10195         (isel_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
10196         (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
10197         (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
10198         (setbc_<un>signed_<GPR:mode>): Rename to...
10199         (setbc_<CCANY:mode>_<GPR:mode>C): ... this.  Adjust."
10200         (*setbcr_<un>signed_<GPR:mode>): Rename to ...
10201         (*setbcr_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
10202         (*setnbc_<un>signed_<GPR:mode>): Rename to ...
10203         (*setnbc_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
10204         (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
10205         (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this.  Adjust.
10206         (eq<mode>3 for GPR): Adjust.
10207         (ne<mode>3 for GPR): Adjust.
10208         * config/rs6000/rs6000-string.cc (do_isel): Adjust.
10209         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
10211 2022-10-25  Richard Biener  <rguenther@suse.de>
10213         PR tree-optimization/107176
10214         PR tree-optimization/66375
10215         PR tree-optimization/42512
10216         * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
10217         the PR66375 fix, do not not associate PLUS_EXPR to be able
10218         to use tail-recursion.
10219         (follow_ssa_edge_binary): Likewise.
10220         (interpret_loop_phi): Revert PR42512 fix, do not throw
10221         away analyze_evolution_in_loop result after the fact.
10222         (follow_ssa_edge_expr): When reaching halting_phi initalize
10223         the evolution to the symbolic value of the PHI result.
10224         (add_to_evolution_1): When adding the first evolution verify
10225         we can handle the expression wrapping the symbolic evolution
10226         and replace that in full using the initial condition.
10227         (class scev_dfs): New, contains ...
10228         (follow_ssa_edge_expr, follow_ssa_edge_binary,
10229         follow_ssa_edge_in_condition_phi_branch,
10230         follow_ssa_edge_in_condition_phi,
10231         follow_ssa_edge_inner_loop_phi,
10232         add_to_evolution, add_to_evolution_1): ... these with
10233         loop and halting_phi arguments in class data.
10234         (scev_dfs::get_ev): New toplevel DFS entry, start with
10235         a chrec_dont_know evolution.
10236         (analyze_evolution_in_loop): Use scev_dfs.
10238 2022-10-25  Eric Botcazou  <ebotcazou@adacore.com>
10240         * profile.cc (branch_prob): Be prepared for ignored functions with
10241         DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
10243 2022-10-25  Richard Biener  <rguenther@suse.de>
10245         * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
10246         STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
10248 2022-10-25  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
10250         * common/config/i386/i386-common.cc (processor_alias_table): Use
10251         CPU_ZNVER3 for znver4.
10252         * config/i386/znver.md: Remove znver4 reservations.
10254 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
10256         * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
10257         and There -> These.
10259 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
10261         PR tree-optimization/107368
10262         * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
10263         conditions call gimple_boolify on the condition.
10265 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
10267         * config.gcc: add -with-compact-branches=policy build option.
10268         * doc/install.texi: Likewise.
10269         * config/mips/mips.h: Likewise.
10271 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
10273         * config/mips/mips.cc (mips_option_override): not trigger error
10274         for compact-branches=always for pre-R6.
10275         * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
10276         compact-branches=always for pre-R6.
10277         (TARGET_CB_NEVER): Likewise.
10278         (TARGET_CB_ALWAYS): Likewise.
10279         (struct mips_cpu_info): define macros for compact branch policy.
10280         * doc/invoke.texi: Document "always" with pre-R6.
10282 2022-10-25  Jakub Jelinek  <jakub@redhat.com>
10284         PR tree-optimization/107369
10285         * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
10286         IFN_ASSUME the same as for -O0.
10288 2022-10-25  YunQiang Su  <yunqiang.su@cipunited.com>
10290         * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
10291         * configure: Regenerated.
10292         * config.in: Regenerated.
10293         * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
10294         if ENABLE_MULTIARCH is defined.
10295         * config/mips/t-linux64: define correct multiarch path when
10296         multiarch is enabled.
10298 2022-10-25  Richard Biener  <rguenther@suse.de>
10300         PR tree-optimization/100756
10301         * tree-ssa-loop-niter.cc (expand_simple_operations): Also
10302         expand multiplications by invariants.
10304 2022-10-25  Kewen Lin  <linkw@linux.ibm.com>
10306         PR tree-optimization/107338
10307         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
10308         shfit_n calculation before the adjustments for widening loads.
10310 2022-10-25  Martin Liska  <mliska@suse.cz>
10312         * common/config/riscv/riscv-common.cc
10313         (riscv_get_valid_option_values): Get out of ifdef.
10315 2022-10-25  Martin Liska  <mliska@suse.cz>
10317         PR target/107364
10318         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
10319         Fix pedantic warning.
10321 2022-10-24  Martin Liska  <mliska@suse.cz>
10323         PR analyzer/107366
10324         * diagnostic-format-sarif.cc
10325         (sarif_builder::maybe_make_physical_location_object): Gracefully
10326         reject locations with NULL filename.
10328 2022-10-24  David Malcolm  <dmalcolm@redhat.com>
10330         PR analyzer/106300
10331         * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
10332         "pipe2" to the list of functions the analyzer has hardcoded
10333         knowledge of.
10335 2022-10-24  Jason Merrill  <jason@redhat.com>
10337         * tree.h (build_string_literal): New one-argument overloads that
10338         take tree (identifier) and const char *.
10339         * builtins.cc (fold_builtin_FILE)
10340         (fold_builtin_FUNCTION)
10341         * gimplify.cc (gimple_add_init_for_auto_var)
10342         * vtable-verify.cc (verify_bb_vtables): Simplify calls.
10344 2022-10-24  Martin Liska  <mliska@suse.cz>
10346         PR target/107364
10347         * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
10348         Reorder enum values as BUILTIN_VENDOR_MAX should not point
10349         in the middle of the valid enum values.
10351 2022-10-24  Marek Polacek  <polacek@redhat.com>
10353         PR c++/107276
10354         * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
10355         when the type is erroneous.
10357 2022-10-24  Wilco Dijkstra  <wdijkstr@arm.com>
10359         PR target/106583
10360         * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
10361         Add support for a bitmask immediate with 2 MOVKs.
10362         (aarch64_check_bitmask): New function after refactorization.
10363         (aarch64_bitmask_imm): Simplify replication of small modes.
10364         Split function into 64-bit only version for efficiency.
10365         (aarch64_move_imm): Move near other immediate functions.
10366         (aarch64_uimm12_shift): Likewise.
10367         (aarch64_clamp_to_uimm12_shift): Likewise.
10368         (aarch64_movk_shift): Likewise.
10369         (aarch64_replicate_bitmask_imm): Likewise.
10370         (aarch64_and_split_imm1): Likewise.
10371         (aarch64_and_split_imm2): Likewise.
10372         (aarch64_and_bitmask_imm): Likewise.
10373         (aarch64_movw_imm): Likewise.
10375 2022-10-24  Aldy Hernandez  <aldyh@redhat.com>
10377         PR tree-optimization/107355
10378         * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
10380 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
10382         PR middle-end/107236
10383         * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
10384         in DECL_CONTEXT and not to cfun->decl.
10385         * cgraphclones.cc (cgraph_node::create_clone): Copy also the
10386         node's calls_declare_variant_alt value.
10388 2022-10-24  Kito Cheng  <kito.cheng@sifive.com>
10390         * common/config/riscv/riscv-common.cc (riscv_tunes): New.
10391         (riscv_get_valid_option_values): New.
10392         (TARGET_GET_VALID_OPTION_VALUES): New.
10393         * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
10394         for tune here.
10395         (RISCV_CORE): Fix comment.
10396         * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
10397         riscv-cores.def.
10399 2022-10-24  Aldy Hernandez  <aldyh@redhat.com>
10401         PR tree-optimization/107365
10402         * value-range.cc (frange::verify_range): Predicate NAN check in
10403         VARYING range on HONOR_NANS instead of flag_finite_math_only.
10404         (range_tests_floats): Same.
10405         (range_tests_floats_various): New.
10406         (range_tests): Call range_tests_floats_various.
10408 2022-10-24  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
10409             Yvan ROUX  <yvan.roux@foss.st.com>
10411         * lto-wrapper.cc: Quote paths in makefile.
10413 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10415         * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
10417 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10419         * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
10420         with constexpr throughout.
10421         * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
10422         * config/riscv/riscv-vector-builtins.cc
10423         (struct registered_function_hasher): Likewise.
10424         * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
10425         Likewise.
10427 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10429         * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
10431 2022-10-24  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10433         * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
10435 2022-10-22  Michael Eager  <eager@eagercon.com>
10437         * config/microblaze/microblaze.cc
10438         (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
10439         (microblaze_address_insns): Replace abort() with gcc_unreachable().
10440         (print_operand_address): Same.
10441         (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
10442         (get_branch_target): Replace abort() with gcc_unreachable().
10444 2022-10-22  Aldy Hernandez  <aldyh@redhat.com>
10446         * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
10447         with !flag_finite_math_only.
10449 2022-10-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
10451         * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
10452         Remove register A0 from FIXED_REGS if the CALL0 ABI.
10453         (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
10454         unconditionally after restoring callee-saved registers for
10455         sibling-call functions, in order to prevent misleading that
10456         register A0 is free to use.
10458 2022-10-21  Jakub Jelinek  <jakub@redhat.com>
10460         PR target/107322
10461         * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
10462         BFmode comparisons promote arguments to SFmode and recurse.
10463         (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
10464         if comparison operands are BFmode and operands[1] is not
10465         ix86_fp_comparison_operator.
10467 2022-10-21  Tejas Joshi  <TejasSanjay.Joshi@amd.com>
10469         * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
10470         * common/config/i386/i386-common.cc (processor_names): Add znver4.
10471         (processor_alias_table): Add znver4 and modularize old znvers.
10472         * common/config/i386/i386-cpuinfo.h (processor_subtypes):
10473         AMDFAM19H_ZNVER4.
10474         * config.gcc (x86_64-*-* |...): Likewise.
10475         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
10476         -march=native recognize znver4 cpus.
10477         * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
10478         * config/i386/i386-options.cc (m_ZNVER4): New definition.
10479         (m_ZNVER): Include m_ZNVER4.
10480         (processor_cost_table): Add znver4.
10481         * config/i386/i386.cc (ix86_reassociation_width): Likewise.
10482         * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
10483         (PTA_ZNVER1): New definition.
10484         (PTA_ZNVER2): Likewise.
10485         (PTA_ZNVER3): Likewise.
10486         (PTA_ZNVER4): Likewise.
10487         * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
10488         md file.
10489         * config/i386/x86-tune-costs.h (znver4_cost): New definition.
10490         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
10491         (ix86_adjust_cost): Likewise.
10492         * config/i386/znver1.md: Rename to znver.md.
10493         * config/i386/znver.md: Add new reservations for znver4.
10494         * doc/extend.texi: Add details about znver4.
10495         * doc/invoke.texi: Likewise.
10497 2022-10-21  Richard Biener  <rguenther@suse.de>
10499         PR tree-optimization/107323
10500         * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
10501         New function.
10502         (loop_distribution::break_alias_scc_partitions): Revert
10503         postorder save/restore from the PR94125 fix.  Instead
10504         make sure to not ignore edges from SCCs we are going to
10505         merge.
10507 2022-10-21  Monk Chiang  <monk.chiang@sifive.com>
10509         * config/riscv/riscv.md: Add atomic type attribute.
10510         * config/riscv/sync.md: Add atomic type for atomic instructions.
10512 2022-10-21  Jakub Jelinek  <jakub@redhat.com>
10514         PR tree-optimization/54346
10515         * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
10516         Optimize nested VEC_PERM_EXPRs even if target can't handle the
10517         new one provided we don't increase number of VEC_PERM_EXPRs the
10518         target can't handle.
10520 2022-10-21  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10522         * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
10523         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
10524         (DEF_RVV_FUNCTION): Ditto.
10525         (handle_pragma_vector): Add intrinsic framework.
10526         * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
10527         * config/riscv/riscv.md: include vector.md.
10528         * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
10529         * config/riscv/riscv-vector-builtins-bases.cc: New file.
10530         * config/riscv/riscv-vector-builtins-bases.h: New file.
10531         * config/riscv/riscv-vector-builtins-functions.def: New file.
10532         * config/riscv/riscv-vector-builtins-shapes.cc: New file.
10533         * config/riscv/riscv-vector-builtins-shapes.h: New file.
10534         * config/riscv/riscv-vector-builtins-types.def: New file.
10535         * config/riscv/vector.md: New file.
10537 2022-10-21  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
10539         * config.gcc: Add gt files since function_instance is GTY ((user)).
10540         * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
10541         (riscv_builtin_decl): Ditto.
10542         (riscv_expand_builtin): Ditto.
10543         * config/riscv/riscv-protos.h (builtin_decl): New function.
10544         (expand_builtin): Ditto.
10545         (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
10546         * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
10547         (struct registered_function_hasher): New struct.
10548         (DEF_RVV_OP_TYPE): New macro.
10549         (DEF_RVV_TYPE): Ditto.
10550         (DEF_RVV_PRED_TYPE): Ditto.
10551         (GTY): New declaration.
10552         (add_attribute): New function.
10553         (check_required_extensions): Ditto.
10554         (rvv_arg_type_info::get_tree_type): Ditto.
10555         (function_instance::function_instance): Ditto.
10556         (function_instance::operator==): Ditto.
10557         (function_instance::any_type_float_p): Ditto.
10558         (function_instance::get_return_type): Ditto.
10559         (function_instance::get_arg_type): Ditto.
10560         (function_instance::hash): Ditto.
10561         (function_instance::call_properties): Ditto.
10562         (function_instance::reads_global_state_p): Ditto.
10563         (function_instance::modifies_global_state_p): Ditto.
10564         (function_instance::could_trap_p): Ditto.
10565         (function_builder::function_builder): Ditto.
10566         (function_builder::~function_builder): Ditto.
10567         (function_builder::allocate_argument_types): Ditto.
10568         (function_builder::register_function_group): Ditto.
10569         (function_builder::append_name): Ditto.
10570         (function_builder::finish_name): Ditto.
10571         (function_builder::get_attributes): Ditto.
10572         (function_builder::add_function): Ditto.
10573         (function_builder::add_unique_function): Ditto.
10574         (function_call_info::function_call_info): Ditto.
10575         (function_expander::function_expander): Ditto.
10576         (function_expander::add_input_operand): Ditto.
10577         (function_expander::generate_insn): Ditto.
10578         (registered_function_hasher::hash): Ditto.
10579         (registered_function_hasher::equal): Ditto.
10580         (builtin_decl): Ditto.
10581         (expand_builtin): Ditto.
10582         (gt_ggc_mx): Define for using GCC garbage collect.
10583         (gt_pch_nx): Define for using GCC garbage collect.
10584         * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
10585         (DEF_RVV_PRED_TYPE): Ditto.
10586         (vbool64_t): Add suffix.
10587         (vbool32_t): Ditto.
10588         (vbool16_t): Ditto.
10589         (vbool8_t): Ditto.
10590         (vbool4_t): Ditto.
10591         (vbool2_t): Ditto.
10592         (vbool1_t): Ditto.
10593         (vint8mf8_t): Ditto.
10594         (vuint8mf8_t): Ditto.
10595         (vint8mf4_t): Ditto.
10596         (vuint8mf4_t): Ditto.
10597         (vint8mf2_t): Ditto.
10598         (vuint8mf2_t): Ditto.
10599         (vint8m1_t): Ditto.
10600         (vuint8m1_t): Ditto.
10601         (vint8m2_t): Ditto.
10602         (vuint8m2_t): Ditto.
10603         (vint8m4_t): Ditto.
10604         (vuint8m4_t): Ditto.
10605         (vint8m8_t): Ditto.
10606         (vuint8m8_t): Ditto.
10607         (vint16mf4_t): Ditto.
10608         (vuint16mf4_t): Ditto.
10609         (vint16mf2_t): Ditto.
10610         (vuint16mf2_t): Ditto.
10611         (vint16m1_t): Ditto.
10612         (vuint16m1_t): Ditto.
10613         (vint16m2_t): Ditto.
10614         (vuint16m2_t): Ditto.
10615         (vint16m4_t): Ditto.
10616         (vuint16m4_t): Ditto.
10617         (vint16m8_t): Ditto.
10618         (vuint16m8_t): Ditto.
10619         (vint32mf2_t): Ditto.
10620         (vuint32mf2_t): Ditto.
10621         (vint32m1_t): Ditto.
10622         (vuint32m1_t): Ditto.
10623         (vint32m2_t): Ditto.
10624         (vuint32m2_t): Ditto.
10625         (vint32m4_t): Ditto.
10626         (vuint32m4_t): Ditto.
10627         (vint32m8_t): Ditto.
10628         (vuint32m8_t): Ditto.
10629         (vint64m1_t): Ditto.
10630         (vuint64m1_t): Ditto.
10631         (vint64m2_t): Ditto.
10632         (vuint64m2_t): Ditto.
10633         (vint64m4_t): Ditto.
10634         (vuint64m4_t): Ditto.
10635         (vint64m8_t): Ditto.
10636         (vuint64m8_t): Ditto.
10637         (vfloat32mf2_t): Ditto.
10638         (vfloat32m1_t): Ditto.
10639         (vfloat32m2_t): Ditto.
10640         (vfloat32m4_t): Ditto.
10641         (vfloat32m8_t): Ditto.
10642         (vfloat64m1_t): Ditto.
10643         (vfloat64m2_t): Ditto.
10644         (vfloat64m4_t): Ditto.
10645         (vfloat64m8_t): Ditto.
10646         (vv): Ditto.
10647         (vx): Ditto.
10648         (v): Ditto.
10649         (wv): Ditto.
10650         (wx): Ditto.
10651         (x_x_v): Ditto.
10652         (vf2): Ditto.
10653         (vf4): Ditto.
10654         (vf8): Ditto.
10655         (vvm): Ditto.
10656         (vxm): Ditto.
10657         (x_x_w): Ditto.
10658         (v_v): Ditto.
10659         (v_x): Ditto.
10660         (vs): Ditto.
10661         (mm): Ditto.
10662         (m): Ditto.
10663         (vf): Ditto.
10664         (vm): Ditto.
10665         (wf): Ditto.
10666         (vfm): Ditto.
10667         (v_f): Ditto.
10668         (ta): Ditto.
10669         (tu): Ditto.
10670         (ma): Ditto.
10671         (mu): Ditto.
10672         (tama): Ditto.
10673         (tamu): Ditto.
10674         (tuma): Ditto.
10675         (tumu): Ditto.
10676         (tam): Ditto.
10677         (tum): Ditto.
10678         * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
10679         (RVV_REQUIRE_RV64BIT): Ditto.
10680         (RVV_REQUIRE_ZVE64): Ditto.
10681         (RVV_REQUIRE_ELEN_FP_32): Ditto.
10682         (RVV_REQUIRE_ELEN_FP_64): Ditto.
10683         (enum operand_type_index): New enum.
10684         (DEF_RVV_OP_TYPE): New macro.
10685         (enum predication_type_index): New enum.
10686         (DEF_RVV_PRED_TYPE): New macro.
10687         (enum rvv_base_type): New enum.
10688         (struct rvv_builtin_suffixes): New struct.
10689         (struct rvv_arg_type_info): Ditto.
10690         (struct rvv_type_info): Ditto.
10691         (struct rvv_op_info): Ditto.
10692         (class registered_function): New class.
10693         (class function_base): Ditto.
10694         (class function_shape): Ditto.
10695         (struct function_group_info): New struct.
10696         (class GTY): New class.
10697         (class function_builder): Ditto.
10698         (class function_call_info): Ditto.
10699         (function_call_info::function_returns_void_p): New function.
10700         (class function_expander): New class.
10701         (function_instance::operator!=): New function.
10702         (function_expander::expand): Ditto.
10703         (function_expander::add_input_operand): Ditto.
10704         (function_base::call_properties): Ditto.
10706 2022-10-21  Haochen Jiang  <haochen.jiang@intel.com>
10708         * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
10709         (ssedvecmodelower): Rename from vi1si.
10710         (sdot_prod<mode>): New define_expand.
10711         (udot_prod<mode>): Ditto.
10713 2022-10-21  Kong Lingling  <lingling.kong@intel.com>
10714             Hongyu Wang  <hongyu.wang@intel.com>
10715             Haochen Jiang  <haochen.jiang@intel.com>
10717         * common/config/i386/cpuinfo.h (get_available_features): Detect
10718         avxvnniint8.
10719         * common/config/i386/i386-common.cc
10720         (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
10721         (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
10722         (ix86_handle_option): Handle -mavxvnniint8.
10723         * common/config/i386/i386-cpuinfo.h (enum processor_features):
10724         Add FEATURE_AVXVNNIINT8.
10725         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
10726         avxvnniint8.
10727         * config.gcc: Add avxvnniint8intrin.h.
10728         * config/i386/avxvnniint8intrin.h: New file.
10729         * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
10730         * config/i386/i386-builtin.def: Add new builtins.
10731         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
10732         __AVXVNNIINT8__.
10733         * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
10734         (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
10735         * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
10736         * config/i386/i386.opt: Add option -mavxvnniint8.
10737         * config/i386/immintrin.h: Include avxvnniint8intrin.h.
10738         * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
10739         UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
10740         UNSPEC_VPMADDWDACCSSD): Rename according to new style.
10741         (vpdp<vpdotprodtype>_<mode>): New define_insn.
10742         * doc/extend.texi: Document avxvnniint8.
10743         * doc/invoke.texi: Document -mavxvnniint8.
10744         * doc/sourcebuild.texi: Document target avxvnniint8.
10746 2022-10-21  Hongyu Wang  <hongyu.wang@intel.com>
10748         * common/config/i386/i386-common.cc
10749         (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
10750         OPTION_MASK_ISA2_AVX2_UNSET): New macro.
10751         (ix86_handle_option): Handle -mavxifma.
10752         * common/config/i386/i386-cpuinfo.h (processor_types): Add
10753         FEATURE_AVXIFMA.
10754         * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
10755         avxifma.
10756         * common/config/i386/cpuinfo.h (get_available_features):
10757         Detect avxifma.
10758         * config.gcc: Add avxifmaintrin.h
10759         * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
10760         to macro.
10761         (_mm_madd52hi_epu64): Likewise.
10762         (_mm256_madd52lo_epu64): Likewise.
10763         (_mm256_madd52hi_epu64): Likewise.
10764         * config/i386/avxifmaintrin.h: New header.
10765         * config/i386/cpuid.h (bit_AVXIFMA): New.
10766         * config/i386/i386-builtin.def: Add new builtins, and correct
10767         pattern names for AVX512IFMA.
10768         * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
10769         builtins like AVX-VNNI.
10770         * config/i386/i386-c.cc (ix86_target_macros_internal): Define
10771         __AVXIFMA__.
10772         * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
10773         Relax ISA masks for AVXIFMA.
10774         * config/i386/i386-isa.def: Add AVXIFMA.
10775         * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
10776         (ix86_valid_target_attribute_inner_p): Handle avxifma.
10777         * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
10778         * config/i386/i386.opt: Add option -mavxifma.
10779         * config/i386/immintrin.h: Inculde avxifmaintrin.h.
10780         * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
10781         Remove.
10782         (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
10783         (vpamdd52huq<mode>_maskz): Rename to ...
10784         (vpmadd52huq<mode>_maskz): ... this.
10785         (vpamdd52luq<mode>_maskz): Rename to ...
10786         (vpmadd52luq<mode>_maskz): ... this.
10787         (vpmadd52<vpmadd52type><mode>): New define_insn.
10788         (vpmadd52<vpmadd52type>v8di): Likewise.
10789         (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
10790         (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
10791         (vpmadd52<vpmadd52type><mode>_mask): ... this.
10792         * doc/invoke.texi: Document -mavxifma.
10793         * doc/extend.texi: Document avxifma.
10794         * doc/sourcebuild.texi: Document target avxifma.
10796 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10798         PR c++/106654
10799         * value-query.cc (get_range_global): Handle non integer ranges for
10800         default def SSA names.
10802 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10804         * range-op-float.cc (foperator_unordered_lt::op1_range): New.
10805         (foperator_unordered_lt::op2_range): New.
10807 2022-10-20  Artem Klimov  <jakmobius@gmail.com>
10808             Alexander Monakov   <amonakov@gcc.gnu.org>
10810         PR middle-end/99619
10811         * ipa-visibility.cc (function_and_variable_visibility): Promote
10812         TLS access model afer visibility optimizations.
10813         * varasm.cc (have_optimized_refs): New helper.
10814         (optimize_dyn_tls_for_decl_p): New helper. Use it ...
10815         (decl_default_tls_model): ... here in place of 'optimize' check.
10817 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10819         * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
10820         false side with a NAN operand.
10821         (foperator_unordered_le::op2_range): Same.
10822         (foperator_unordered_gt::op1_range): Same.
10823         (foperator_unordered_gt::op2_range): Same.
10824         (foperator_unordered_ge::op1_range): Same.
10825         (foperator_unordered_ge::op2_range): Same.
10826         (foperator_unordered_equal::op1_range): Same.
10828 2022-10-20  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10830         PR tree-optimization/107326
10831         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
10832         vectype when widening container.
10834 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10836         * value-range.h (frange::set_varying): Do not set NAN flags for
10837         !HONOR_NANS.
10838         * value-range.cc (frange::normalize_kind): Adjust for no NAN when
10839         !HONOR_NANS.
10840         (frange::verify_range): Same.
10841         * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
10843 2022-10-20  Aldy Hernandez  <aldyh@redhat.com>
10845         * range-op-float.cc (finite_operand_p): Remove.
10846         (finite_operands_p): Rename to...
10847         (maybe_isnan): ...this.
10848         (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
10849         (foperator_equal::fold_range): Same.
10850         (foperator_equal::op1_range): Same.
10851         (foperator_not_equal::fold_range): Same.
10852         (foperator_lt::fold_range): Same.
10853         (foperator_le::fold_range): Same.
10854         (foperator_gt::fold_range): Same.
10855         (foperator_ge::fold_range): Same.
10857 2022-10-20  Jakub Jelinek  <jakub@redhat.com>
10859         * passes.cc (pass_manager::register_pass): Fix a comment
10860         typo - copmilation -> compilation.
10862 2022-10-20  Richard Biener  <rguenther@suse.de>
10864         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
10865         Disallow latch PHI defs.
10866         (vectorizable_recurr): Revert previous change.
10868 2022-10-20  Julian Brown  <julian@codesourcery.com>
10870         PR target/105421
10871         * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
10872         argument forces FLAT addressing mode, not just
10873         pointer-to-non-aggregate.
10875 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
10877         * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
10878         * configure: Regenerate.
10880 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10882         * config/aarch64/aarch64-sve-builtins.h
10883         (gimple_folder::fold_to_cstu): New member function.
10884         * config/aarch64/aarch64-sve-builtins.cc
10885         (gimple_folder::fold_to_cstu): Define.
10886         * config/aarch64/aarch64-sve-builtins-base.cc
10887         (svcnt_bhwd_impl::fold): Use it.
10889 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10891         * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
10892         (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
10893         (unspec_based_function_rotated, unspec_based_function_exact_insn)
10894         (unspec_based_fused_function, unspec_based_fused_lane_function):
10895         Replace constructors with using directives.
10896         * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
10897         (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
10898         (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
10899         (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
10900         (svst234_impl, svundef_impl): Likewise.
10901         * config/aarch64/aarch64-sve-builtins-sve2.cc
10902         (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
10903         (svstnt1_scatter_truncate_impl): Likewise.
10905 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10907         * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
10908         with constexpr throughout.
10909         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
10910         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
10911         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
10912         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
10914 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10916         * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
10917         merging alternative.
10918         (*aarch64_brk<brk_op>_ptest): Likewise.
10920 2022-10-20  Richard Sandiford  <richard.sandiford@arm.com>
10922         * config/aarch64/iterators.md (SVE_BRKP): New iterator.
10923         * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
10924         (*aarch64_brkn_ptest): Likewise.
10925         (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
10926         (*aarch64_brk<brk_op>_ptest): Likewise.
10928 2022-10-20  Richard Biener  <rguenther@suse.de>
10930         PR c/107305
10931         PR c/107306
10932         * tree-cfg.h (verify_gimple_in_seq): Add parameter to
10933         indicate whether to emit an ICE.  Add return value.
10934         (verify_gimple_in_cfg): Likewise.
10935         * tree-cfg.cc (verify_gimple_in_seq): Likewise.
10936         (verify_gimple_in_cfg): Likewise.
10938 2022-10-20  Richard Biener  <rguenther@suse.de>
10940         PR tree-optimization/107240
10941         * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
10942         simplify shifted value first.
10944 2022-10-20  Andrew MacLeod  <amacleod@redhat.com>
10946         * gimple-range-gori.h (compute_operand_range): Make public.
10947         * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
10948         (gimple_infer_range::gimple_infer_range): Check for assume calls.
10949         * gimple-range-infer.h (check_assume_func): Add prototype.
10950         * gimple-range.cc (assume_query::assume_range_p): New.
10951         (assume_query::range_of_expr): New.
10952         (assume_query::assume_query): New.
10953         (assume_query::calculate_op): New.
10954         (assume_query::calculate_phi): New.
10955         (assume_query::check_taken_edge): New.
10956         (assume_query::calculate_stmt): New.
10957         (assume_query::dump): New.
10958         * gimple-range.h (class assume_query): New.
10959         * tree-vrp.cc (pass_assumptions::execute): Add processing.
10961 2022-10-19  Aldy Hernandez  <aldyh@redhat.com>
10963         * range-op-float.cc (build_le): Document result.
10964         (build_lt): Same.
10965         (build_ge): Same.
10966         (foperator_ge::op2_range): Check result of build_*.
10967         (foperator_unordered_le::op1_range): Same.
10968         (foperator_unordered_le::op2_range): Same.
10969         (foperator_unordered_gt::op1_range): Same.
10970         (foperator_unordered_gt::op2_range): Same.
10971         (foperator_unordered_ge::op1_range): Same.
10972         (foperator_unordered_ge::op2_range): Same.
10974 2022-10-19  Marek Polacek  <polacek@redhat.com>
10976         PR c++/85043
10977         * doc/invoke.texi: Update documentation of -Wuseless-cast.
10979 2022-10-19  Andrew MacLeod  <amacleod@redhat.com>
10981         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
10982         Value_Range not int_range_max.
10984 2022-10-19  Aldy Hernandez  <aldyh@redhat.com>
10986         PR tree-optimization/107312
10987         * range.h (range_true_and_false): Special case 1-bit signed types.
10988         * value-range.cc (range_tests_misc): New test.
10990 2022-10-19  LIU Hao  <lh_mouse@126.com>
10992         * config/i386/mingw-mcfgthread.h: New file
10993         * config/i386/mingw32.h: Add builtin macro and default libraries
10994         for mcfgthread when thread model is `mcf`
10995         * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
10996         is `mcf`
10997         * configure.ac: Recognize `mcf` as a valid thread model
10998         * config.in: Regenerate
10999         * configure: Regenerate
11001 2022-10-19  Lewis Hyatt  <lhyatt@gmail.com>
11003         * gengtype.cc (output_escaped_param): Add missing const.
11004         (get_string_option): Add missing check for option type.
11005         (walk_type): Support new "string_length" GTY option.
11006         (write_types_process_field): Likewise.
11007         * ggc-common.cc (gt_pch_note_object): Add optional length argument.
11008         * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
11009         (gt_pch_n_S2): Declare...
11010         * stringpool.cc (gt_pch_n_S2): ...new function.
11011         * doc/gty.texi: Document new GTY((string_length)) option.
11013 2022-10-19  Martin Liska  <mliska@suse.cz>
11015         * doc/extend.texi: Remove useless @tie{} directives.
11017 2022-10-19  Martin Jambor  <mjambor@suse.cz>
11019         PR tree-optimization/107206
11020         * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
11021         (analyze_access_subtree): Do not create replacements for accesses with
11022         this flag when not toally scalarizing.
11023         (propagate_subaccesses_from_lhs): Set the new flag.
11025 2022-10-19  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
11027         PR target/106355
11028         * config/s390/s390.cc (s390_call_saved_register_used): For a
11029         parameter with BLKmode fix determining number of consecutive
11030         registers.
11032 2022-10-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
11034         * config/xtensa/xtensa-protos.h
11035         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
11036         * config/xtensa/xtensa.cc
11037         (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
11038         New functions.
11039         (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
11040         (xt_true_regnum): Rework.
11041         * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
11042         Switch from CALL_USED_REGISTERS, and revise the comment.
11043         * config/xtensa/constraints.md (Y):
11044         Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
11045         * config/xtensa/predicates.md (move_operand): Ditto.
11046         * config/xtensa/xtensa.md: Add two new split patterns:
11047         - splits DImode immediate load into two SImode ones
11048         - puts out-of-constraint SImode constants into the constant pool
11049         * config/xtensa/xtensa.opt (-mlra): New target-specific option
11050         for testing purpose.
11052 2022-10-19  Robin Dapp  <rdapp@linux.ibm.com>
11054         * config/s390/s390.md: Move reload_completed and check operands for REG_P.
11056 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
11058         PR middle-end/107262
11059         * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
11060         of constants, use simplify_unary_operation if fromi has VOIDmode
11061         instead of recursive convert_mode_scalar.
11063 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
11065         PR tree-optimization/106990
11066         * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
11067         !TYPE_OVERFLOW_SANITIZED (type).
11069 2022-10-19  Jakub Jelinek  <jakub@redhat.com>
11071         * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
11072         (ix86_bf16_type_node): New variable.
11073         (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
11074         from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
11075         rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
11076         to bfloat16_type_node.  Register __bf16 on ix86_bf16_type_node
11077         rather than bfloat16_type_node.  Don't initialize unused
11078         ix86_bf16_ptr_type_node.
11079         * config/i386/i386-builtin-types.def (BFLOAT16): Use
11080         ix86_bf16_type_node rather than bfloat16_type_node.
11082 2022-10-19  Richard Biener  <rguenther@suse.de>
11084         PR tree-optimization/106781
11085         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
11086         LHS removal from fixup_noreturn_call.
11088 2022-10-19  liuhongt  <hongtao.liu@intel.com>
11090         PR target/107271
11091         * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
11092         (expand_vec_perm_shufps_shufps): Call
11093         ix86_vec_perm_index_canon
11095 2022-10-18  Martin Jambor  <mjambor@suse.cz>
11097         * ipa-prop.h (ipa_agg_value): Remove type.
11098         (ipa_agg_value_set): Likewise.
11099         (ipa_copy_agg_values): Remove function.
11100         (ipa_release_agg_values): Likewise.
11101         (ipa_auto_call_arg_values) Add a forward declaration.
11102         (ipa_call_arg_values): Likewise.
11103         (class ipa_argagg_value_list): New constructors, added member function
11104         value_for_index_p.
11105         (class ipa_auto_call_arg_values): Removed the destructor and member
11106         function safe_aggval_at.  Use ipa_argagg_values for m_known_aggs.
11107         (class ipa_call_arg_values): Removed member function safe_aggval_at.
11108         Use ipa_argagg_values for m_known_aggs.
11109         (ipa_get_indirect_edge_target): Removed declaration.
11110         (ipa_find_agg_cst_for_param): Likewise.
11111         (ipa_find_agg_cst_from_init): New declaration.
11112         (ipa_agg_value_from_jfunc): Likewise.
11113         (ipa_agg_value_set_from_jfunc): Removed declaration.
11114         (ipa_push_agg_values_from_jfunc): New declaration.
11115         * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
11116         ipa_agg_value_from_jfunc, made public.
11117         (ipa_agg_value_set_from_jfunc): Removed.
11118         (ipa_push_agg_values_from_jfunc): New function.
11119         (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
11120         avs for this purpose too.
11121         (ipa_get_indirect_edge_target): Removed the overload working on
11122         ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
11123         one.
11124         (devirtualization_time_bonus): Use ipa_argagg_value_list and
11125         ipa_get_indirect_edge_target_1 instead of
11126         ipa_get_indirect_edge_target.
11127         (context_independent_aggregate_values): Removed function.
11128         (gather_context_independent_values): Work on ipa_argagg_value_list.
11129         (estimate_local_effects): Likewise, define some iterator variables
11130         only in the construct where necessary.
11131         (ipcp_discover_new_direct_edges): Adjust the call to
11132         ipa_get_indirect_edge_target_1.
11133         (push_agg_values_for_index_from_edge): Adjust the call
11134         ipa_agg_value_from_node which has been renamed to
11135         ipa_agg_value_from_jfunc.
11136         * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
11137         ipa_argagg_value_list.
11138         (evaluate_properties_for_edge): Replace manual filling in aggregate
11139         values with call to ipa_push_agg_values_from_jfunc.
11140         (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
11141         (ipa_cached_call_context::duplicate_from): Likewise.
11142         (ipa_cached_call_context::release): Likewise.
11143         (ipa_call_context::equal_to): Likewise.
11144         * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
11145         (ipa_find_agg_cst_for_param): Removed function.
11146         (ipa_find_agg_cst_from_jfunc_items): New function.
11147         (try_make_edge_direct_simple_call): Replace calls to
11148         ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
11149         ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
11150         (try_make_edge_direct_virtual_call): Replace calls to
11151         ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
11152         simple query of constant jump function and a call to
11153         ipa_find_agg_cst_from_jfunc_items.
11154         (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
11156 2022-10-18  Martin Jambor  <mjambor@suse.cz>
11158         * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
11159         (ipcp_transformation): Added forward declaration.
11160         (ipa_argagg_value): New type.
11161         (ipa_argagg_value_list): New type.
11162         (ipa_agg_replacement_value): Removed type.
11163         (ipcp_transformation): Switch from using ipa_agg_replacement_value
11164         to ipa_argagg_value_list.
11165         (ipa_get_agg_replacements_for_node): Removed.
11166         (ipa_dump_agg_replacement_values): Removed declaration.
11167         * ipa-cp.cc: Define INCLUDE_ALGORITHM.
11168         (values_equal_for_ipcp_p): Moved up in the file.
11169         (ipa_argagg_value_list::dump): New function.
11170         (ipa_argagg_value_list::debug): Likewise.
11171         (ipa_argagg_value_list::get_elt): Likewise.
11172         (ipa_argagg_value_list::get_elt_for_index): Likewise.
11173         (ipa_argagg_value_list::get_value): New overloaded functions.
11174         (ipa_argagg_value_list::superset_of_p): New function.
11175         (new ipa_argagg_value_list::push_adjusted_values): Likewise.
11176         (push_agg_values_from_plats): Likewise.
11177         (intersect_argaggs_with): Likewise.
11178         (get_clone_agg_value): Removed.
11179         (ipa_agg_value_from_node): Make last parameter const, use
11180         ipa_argagg_value_list to search values coming from clones.
11181         (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
11182         values coming from clones.
11183         (ipcp_discover_new_direct_edges): Pass around a vector of
11184         ipa_argagg_values rather than a link list of replacement values.
11185         (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
11186         values coming from clones.
11187         (create_specialized_node): Work with a vector of ipa_argagg_values
11188         rather than a link list of replacement values.
11189         (self_recursive_agg_pass_through_p): Make the pointer parameters
11190         const.
11191         (copy_plats_to_inter): Removed.
11192         (intersect_with_plats): Likewise.
11193         (agg_replacements_to_vector): Likewise.
11194         (intersect_with_agg_replacements): Likewise.
11195         (intersect_aggregates_with_edge): Likewise.
11196         (push_agg_values_for_index_from_edge): Likewise.
11197         (push_agg_values_from_edge): Likewise.
11198         (find_aggregate_values_for_callers_subset): Rewrite.
11199         (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
11200         (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
11201         aggregate values.
11202         (decide_about_value): Work with a vector of ipa_argagg_values rather
11203         than a link list of replacement values.
11204         (decide_whether_version_node): Likewise.
11205         (ipa_analyze_node): Check number of parameters, assert that there
11206         are no descriptors when bailing out.
11207         * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
11208         ipa_argagg_value.
11209         (ipa_node_params_t::duplicate): Removed superfluous handling of
11210         ipa_agg_replacement_values.  Name of src parameter removed because
11211         it is no longer used.
11212         (ipcp_transformation_t::duplicate): Replaced duplication of
11213         ipa_agg_replacement_values with copying vector m_agg_values.
11214         (ipa_dump_agg_replacement_values): Removed.
11215         (write_ipcp_transformation_info): Stream the new data-structure
11216         instead of the old.
11217         (read_ipcp_transformation_info): Likewise.
11218         (adjust_agg_replacement_values): Work with ipa_argagg_values instead
11219         of linked lists of ipa_agg_replacement_values, copy the items and
11220         truncate the vector as necessary to keep it sorted instead of marking
11221         items as invalid.  Return one bool if CFG should be updated.
11222         (ipcp_modif_dom_walker): Store ipcp_transformation instead of
11223         linked list of ipa_agg_replacement_values.
11224         (ipcp_modif_dom_walker::before_dom_children): Use
11225         ipa_argagg_value_list instead of walking a list of
11226         ipa_agg_replacement_values.
11227         (ipcp_transform_function): Switch to the new data structure, adjust
11228         dumping.
11230 2022-10-18  Richard Biener  <rguenther@suse.de>
11232         PR tree-optimization/107302
11233         * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
11234         placement for a PHI latch def.
11236 2022-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11238         PR tree-optimization/107275
11239         * tree-if-conv.cc (if_convertible_loop_p_1): Move
11240         find_data_references_in_loop call from here...
11241         (if_convertible_loop_p): And move data-reference vector initialization
11242         from here...
11243         (tree_if_conversion):... to here.
11245 2022-10-18  Jakub Jelinek  <jakub@redhat.com>
11247         PR c++/106654
11248         * gimple.def (GIMPLE_ASSUME): New statement kind.
11249         * gimple.h (struct gimple_statement_assume): New type.
11250         (is_a_helper <gimple_statement_assume *>::test,
11251         is_a_helper <const gimple_statement_assume *>::test): New.
11252         (gimple_build_assume): Declare.
11253         (gimple_has_substatements): Return true for GIMPLE_ASSUME.
11254         (gimple_assume_guard, gimple_assume_set_guard,
11255         gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
11256         New inline functions.
11257         * gsstruct.def (GSS_ASSUME): New.
11258         * gimple.cc (gimple_build_assume): New function.
11259         (gimple_copy): Handle GIMPLE_ASSUME.
11260         * gimple-pretty-print.cc (dump_gimple_assume): New function.
11261         (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
11262         * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
11263         * omp-low.cc (WALK_SUBSTMTS): Likewise.
11264         (lower_omp_1): Likewise.
11265         * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
11266         Likewise.
11267         * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
11268         * function.h (struct function): Add assume_function bitfield.
11269         * gimplify.cc (gimplify_call_expr): If the assumption isn't
11270         simple enough, expand it into GIMPLE_ASSUME wrapped block or
11271         for -O0 drop it.
11272         * gimple-low.cc: Include attribs.h.
11273         (create_assumption_fn): New function.
11274         (struct lower_assumption_data): New type.
11275         (find_assumption_locals_r, assumption_copy_decl,
11276         adjust_assumption_stmt_r, adjust_assumption_stmt_op,
11277         lower_assumption): New functions.
11278         (lower_stmt): Handle GIMPLE_ASSUME.
11279         * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
11280         IFN_ASSUME calls.
11281         * lto-streamer-out.cc (output_struct_function_base): Pack
11282         assume_function bit.
11283         * lto-streamer-in.cc (input_struct_function_base): And unpack it.
11284         * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
11285         has TREE_ASM_WRITTEN set and don't release its body.
11286         (symbol_table::compile): Allow assume functions not to have released
11287         body.
11288         * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
11289         * passes.cc (execute_one_pass): For TODO_discard_function don't
11290         release body of assume functions.
11291         * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
11292         of PROP_assumptions_done functions.
11293         * tree-pass.h (PROP_assumptions_done): Define.
11294         (TODO_discard_function): Adjust comment.
11295         (make_pass_assumptions): Declare.
11296         * passes.def (pass_assumptions): Add.
11297         * timevar.def (TV_TREE_ASSUMPTIONS): New.
11298         * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
11299         * tree-vrp.cc (pass_data_assumptions): New variable.
11300         (pass_assumptions): New class.
11301         (make_pass_assumptions): New function.
11303 2022-10-18  Richard Biener  <rguenther@suse.de>
11305         PR tree-optimization/107301
11306         * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
11307         Check whether we can duplicate the block.
11308         (find_implicit_erroneous_behavior): Likewise.
11310 2022-10-18  Andrew MacLeod  <amacleod@redhat.com>
11312         PR tree-optimization/107273
11313         * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
11314         instead of copying precison of each member.
11316 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
11318         PR target/101697
11319         * config/h8300/combiner.md: Replace '<' preincment constraint with
11320         ZA/Z1..ZH/Z7 combinations.
11321         * config/h8300/movepush.md: Similarly
11323 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
11325         * config/h8300/constraints.md (Za..Zh): New constraints for
11326         autoinc addresses using a specific register.
11327         * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
11328         * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
11330 2022-10-17  Jeff Law  <jlaw@ventanamicro.com>
11332         * config/i386/cet.c: Remove accidental commit.
11333         * config/i386/driver-mingw32.c: Likewise.
11334         * config/i386/i386-builtins.c: Likewise.
11335         * config/i386/i386-d.c:  Likewise.
11336         * config/i386/i386-expand.c: Likewise.
11337         * config/i386/i386-features.c: Likewise.
11338         * config/i386/i386-options.c: Likewise.
11339         * config/i386/t-cet: Likewise.
11340         * config/i386/x86-tune-sched-atom.c: Likewise.
11341         * config/i386/x86-tune-sched-bd.c: Likewise.
11342         * config/i386/x86-tune-sched-core.c: Likewise.
11343         * config/i386/x86-tune-sched.c: Likewise.
11345 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
11347         * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
11348         Enable redundant extension elimination at -O2 and above.
11349         * config/i386/cet.c: New file.
11350         * config/i386/driver-mingw32.c: New file.
11351         * config/i386/i386-builtins.c: New file.
11352         * config/i386/i386-d.c: New file.
11353         * config/i386/i386-expand.c: New file.
11354         * config/i386/i386-features.c: New file.
11355         * config/i386/i386-options.c: New file.
11356         * config/i386/t-cet: New file.
11357         * config/i386/x86-tune-sched-atom.c: New file.
11358         * config/i386/x86-tune-sched-bd.c: New file.
11359         * config/i386/x86-tune-sched-core.c: New file.
11360         * config/i386/x86-tune-sched.c: New file.
11362 2022-10-17  Jeff Law  <jeffreyalaw@gmail.com>
11364         * config/h8300/extensions.md (CCZN setting zero extended load): Add
11365         missing splitter.
11367 2022-10-17  Aldy Hernandez  <aldyh@redhat.com>
11369         PR tree-optimization/107293
11370         * tree-ssa-dom.cc
11371         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
11372         Check that condition post-dominates the definition point.
11374 2022-10-17  Aldy Hernandez  <aldyh@redhat.com>
11376         PR tree-optimization/107286
11377         * value-range.cc (range_tests_floats): Do not test for -Inf when
11378         flag_finite_math_only.
11380 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
11382         * gimple-range-fold.cc (fold_using_range::range_of_range_op):
11383         Provide relation_trio class.
11384         * gimple-range-gori.cc (gori_compute::refine_using_relation):
11385         Provide relation_trio class.
11386         (gori_compute::refine_using_relation): Ditto.
11387         (gori_compute::compute_operand1_range): Provide lhs_op2 and
11388         op1_op2 relations via relation_trio class.
11389         (gori_compute::compute_operand2_range): Ditto.
11390         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
11391         relation_trio instead of relation_kind.
11392         (gimple_range_op_handler::calc_op2): Ditto.
11393         (*::fold_range): Ditto.
11394         * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
11395         (gimple_range_op::calc_op2): Adjust prototypes.
11396         * range-op-float.cc (*::fold_range): Use relation_trio instead of
11397         relation_kind.
11398         (*::op1_range): Ditto.
11399         (*::op2_range): Ditto.
11400         * range-op.cc (*::fold_range): Use relation_trio instead of
11401         relation_kind.
11402         (*::op1_range): Ditto.
11403         (*::op2_range): Ditto.
11404         * range-op.h (class range_operator): Adjust prototypes.
11405         (class range_operator_float): Ditto.
11406         (class range_op_handler): Adjust prototypes.
11407         (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
11408         * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
11409         the enum.
11410         (relation_oracle::validate_relation): Use relation_trio in call
11411         to fold_range.
11412         * value-relation.h (enum relation_kind_t): Add VREL_LAST as
11413         final element.
11414         (class relation_trio): New.
11415         (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
11417 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
11419         * range-op-float.cc (foperator_not_equal::op1_range): Check for
11420         VREL_EQ after singleton.
11421         (foperator_unordered::op1_range): Set VARYING before calling
11422         clear_nan().
11423         (foperator_ordered::op1_range): Set rather than clear NAN if both
11424         operands are the same.
11426 2022-10-17  Andrew MacLeod  <amacleod@redhat.com>
11428         * value-relation.cc (value_relation::dump): Change message.
11429         * value-relation.h (value_relation::set_relation): If op1 is the
11430         same as op2 do not create a relation.
11432 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
11434         * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
11435         'case QImode:', etc.
11437 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
11439         * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
11441 2022-10-17  Richard Biener  <rguenther@suse.de>
11442             Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11444         PR tree-optimization/99409
11445         PR tree-optimization/99394
11446         * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
11447         (stmt_vec_info_type::recurr_info_type): Likewise.
11448         (vectorizable_recurr): New function.
11449         * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
11450         function.
11451         (vect_analyze_scalar_cycles_1): Look for first order
11452         recurrences.
11453         (vect_analyze_loop_operations): Handle them.
11454         (vect_transform_loop): Likewise.
11455         (vectorizable_recurr): New function.
11456         (maybe_set_vectorized_backedge_value): Handle the backedge value
11457         setting in the first order recurrence PHI and the permutes.
11458         * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
11459         recurrences.
11460         (vect_transform_stmt): Likewise.
11461         (vect_is_simple_use): Likewise.
11462         (vect_is_simple_use): Likewise.
11463         * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
11464         (vect_build_slp_tree_2): Likewise.
11465         (vect_schedule_scc): Handle the backedge value setting in the
11466         first order recurrence PHI and the permutes.
11468 2022-10-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11470         * config/riscv/t-riscv: Change Tab into 2 space.
11472 2022-10-17  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11474         * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
11476 2022-10-17  Arsen Arsenovic  <arsen@aarsen.me>
11478         * config.gcc: --target=*-elf --without-{newlib,headers} should
11479         provide stdint.h.
11481 2022-10-17  Hu, Lin1  <lin1.hu@intel.com>
11483         * common/config/i386/cpuinfo.h:
11484         (get_intel_cpu): Handle Meteorlake.
11485         * common/config/i386/i386-common.cc:
11486         (processor_alias_table): Add Meteorlake.
11488 2022-10-17  Haochen Jiang  <haochen.jiang@intel.com>
11490         * common/config/i386/cpuinfo.h:
11491         (get_intel_cpu): Handle Raptorlake.
11492         * common/config/i386/i386-common.cc:
11493         (processor_alias_table): Add Raptorlake.
11495 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
11497         * config/h8300/constraints.md (Z0..Z7): New register
11498         constraints.
11499         * config/h8300/h8300.h (reg_class): Add new classes.
11500         (REG_CLASS_NAMES): Similarly.
11501         (REG_CLASS_CONTENTS): Similarly.
11503 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
11505         * config/h8300/constraints.md (Zz constraint): Renamed
11506         from "z".
11507         * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
11508         constraint to use Zz instead of Z.
11510 2022-10-16  Jeff Law  <jeffreyalaw@gmail.com>
11512         * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
11514 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
11516         * value-range.cc (frange::set): Implement distinction between
11517         HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
11519 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
11521         * gimple-range-op.cc (class cfn_copysign): New.
11522         (gimple_range_op_handler::maybe_builtin_call): Add
11523         CFN_BUILT_IN_COPYSIGN*.
11525 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
11527         * real.h (real_isdenormal): Check rvc_normal.
11528         * value-range.cc (range_tests_floats): New test.
11530 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
11532         * gimple-range-op.cc
11533         (gimple_range_op_handler::maybe_builtin_call): Replace
11534         CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
11536 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
11538         * value-range.cc (frange::set): Normalize ranges for both bounds.
11540 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
11542         * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
11544 2022-10-14  Aldy Hernandez  <aldyh@redhat.com>
11546         * gimple-range-op.cc
11547         (gimple_range_op_handler::maybe_builtin_call): Add
11548         CFN_BUILT_IN_SIGNBIT[FL]* entries.
11550 2022-10-14  Richard Biener  <rguenther@suse.de>
11552         PR tree-optimization/107254
11553         * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
11554         For permutes also analyze live lanes.
11555         (vect_schedule_slp_node): For permutes also code generate
11556         live lane extracts.
11558 2022-10-14  Eric Botcazou  <ebotcazou@adacore.com>
11560         PR target/107248
11561         * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
11562         blockage for leaf functions.
11563         (sparc_flat_expand_prologue): Emit frame instead of full blockage.
11564         (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
11565         (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
11567 2022-10-14  Jakub Jelinek  <jakub@redhat.com>
11569         * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
11570         * tree.h (bfloat16_type_node): Define.
11571         * tree.cc (excess_precision_type): Promote bfloat16_type_mode
11572         like float16_type_mode.
11573         (build_common_tree_nodes): Initialize bfloat16_type_node if
11574         BFmode is supported.
11575         * expmed.h (maybe_expand_shift): Declare.
11576         * expmed.cc (maybe_expand_shift): No longer static.
11577         * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
11578         conversions.  If there is no optab, handle BF -> {DF,XF,TF,HF}
11579         conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
11580         -ffast-math generic implementation for BF -> SF and SF -> BF
11581         conversions.
11582         * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
11583         * builtins.def (BUILT_IN_NANSF16B): New builtin.
11584         * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
11585         * config/i386/i386.cc (classify_argument): Handle E_BCmode.
11586         (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
11587         for -msse2.
11588         (ix86_mangle_type): Mangle BFmode as DF16b.
11589         (ix86_invalid_conversion, ix86_invalid_unary_op,
11590         ix86_invalid_binary_op): Remove.
11591         (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
11592         TARGET_INVALID_BINARY_OP): Don't redefine.
11593         * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
11594         (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
11595         ix86_bf16_type_node, only create it if still NULL.
11596         * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
11597         * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
11599 2022-10-14  Jakub Jelinek  <jakub@redhat.com>
11601         PR middle-end/323
11602         PR c++/107097
11603         * doc/invoke.texi (-fexcess-precision=standard): Mention that the
11604         option now also works in C++.
11606 2022-10-13  Eric Botcazou  <ebotcazou@adacore.com>
11608         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
11609         early for calls made from thunks.
11611 2022-10-13  Eric Botcazou  <ebotcazou@adacore.com>
11613         * expr.cc (emit_group_stote): Fix handling of modes of different
11614         sizes for big-endian targets in latest change and add commentary.
11616 2022-10-13  Martin Liska  <mliska@suse.cz>
11618         * output.h (assemble_vtv_preinit_initializer): Remove.
11619         * varasm.cc (assemble_vtv_preinit_initializer): Remove.
11621 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
11623         PR tree-optimization/102540
11624         PR tree-optimization/102872
11625         * gimple-range-cache.cc (ranger_cache::fill_block_cache):
11626         Handle partial equivs.
11627         (ranger_cache::range_from_dom): Cleanup dump output.
11629 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
11631         * range-op.cc (operator_cast::lhs_op1_relation): New.
11632         (operator_bitwise_and::lhs_op1_relation): New.
11634 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
11636         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
11637         iterator.
11638         * value-relation.cc
11639         (equiv_relation_iterator::equiv_relation_iterator): New.
11640         (equiv_relation_iterator::next): New.
11641         (equiv_relation_iterator::get_name): New.
11642         * value-relation.h (class relation_oracle): Privatize some methods.
11643         (class equiv_relation_iterator): New.
11644         (FOR_EACH_EQUIVALENCE): New.
11645         (FOR_EACH_PARTIAL_EQUIV): New.
11646         (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
11648 2022-10-13  Andrew MacLeod  <amacleod@redhat.com>
11650         * value-relation.cc (equiv_chain::dump): Don't print empty
11651         equivalences.
11652         (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
11653         (equiv_oracle::~equiv_oracle): Release the partial equiv table.
11654         (equiv_oracle::add_partial_equiv): New.
11655         (equiv_oracle::partial_equiv_set): New.
11656         (equiv_oracle::partial_equiv): New.
11657         (equiv_oracle::query_relation): Check for partial equivs too.
11658         (equiv_oracle::dump): Also dump partial equivs.
11659         (dom_oracle::register_relation): Handle partial equivs.
11660         (dom_oracle::query_relation): Check for partial equivs.
11661         * value-relation.h (enum relation_kind_t): Add partial equivs.
11662         (relation_partial_equiv_p): New.
11663         (relation_equiv_p): New.
11664         (class pe_slice): New.
11665         (class equiv_oracle): Add prototypes.
11666         (pe_to_bits): New.
11667         (bits_to_pe): New.
11668         (pe_min): New.
11670 2022-10-13  Richard Biener  <rguenther@suse.de>
11672         PR tree-optimization/107247
11673         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
11674         Reduce multi vector SLP reduction accumulators.  Check
11675         the adjusted number of accumulator vectors against
11676         one for the re-use in the epilogue.
11678 2022-10-13  Jakub Jelinek  <jakub@redhat.com>
11680         * genmodes.cc (emit_mode_wider): Emit previous content of
11681         mode_wider array into mode_next array and for mode_wider
11682         emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
11683         otherwise skip through modes with the same precision.
11684         * machmode.h (mode_next): Declare.
11685         (GET_MODE_NEXT_MODE): New inline function.
11686         (mode_iterator::get_next, mode_iterator::get_known_next): New
11687         function templates.
11688         (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
11689         (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
11690         (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
11691         (FOR_EACH_WIDER_MODE_FROM): Define.
11692         (FOR_EACH_NEXT_MODE): Define.
11693         * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
11694         instead of FOR_EACH_MODE_FROM.
11695         * optabs.cc (prepare_cmp_insn): Likewise.  Remove redundant
11696         !CLASS_HAS_WIDER_MODES_P check.
11697         (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
11698         FOR_EACH_MODE_FROM.
11699         * config/i386/i386-expand.cc (get_mode_wider_vector): Use
11700         GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
11702 2022-10-13  Wilco Dijkstra  <wdijkstr@arm.com>
11704         PR target/105773
11705         * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
11706         GT/LE for merging compare with zero into AND.
11707         (aarch64_get_condition_code_1): Add CC_NZVmode support.
11708         * config/aarch64/aarch64-modes.def: Add CC_NZV.
11709         * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
11711 2022-10-13  Richard Biener  <rguenther@suse.de>
11713         PR tree-optimization/107160
11714         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
11715         Do not register accumulator if we failed to reduce it
11716         to a single vector.
11718 2022-10-13  Aldy Hernandez  <aldyh@redhat.com>
11720         * range-op-float.cc (range_operator_float::op1_op2_relation): New.
11721         (class foperator_equal): Add using.
11722         (class foperator_not_equal): Same.
11723         (class foperator_lt): Same.
11724         (class foperator_le): Same.
11725         (class foperator_gt): Same.
11726         (class foperator_ge): Same.
11727         * range-op.cc (range_op_handler::op1_op2_relation): New.
11728         * range-op.h (range_operator_float::op1_op2_relation): New.
11730 2022-10-13  Richard Biener  <rguenther@suse.de>
11732         * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
11733         * match.pd: Replace 'return' statements in with expressions
11734         with appropriate variants.
11736 2022-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11738         PR tree-optimization/107229
11739         * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
11741 2022-10-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11743         PR tree-optimization/107226
11744         * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
11745         BITFIELD_REF's with non integral typed first operands.
11747 2022-10-13  Joseph Myers  <joseph@codesourcery.com>
11749         * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
11750         (LDBL_IS_IEC_60559): Update comment.
11752 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11754         * range-op-float.cc (class foperator_negate): New.
11755         (floating_op_table::floating_op_table): Add NEGATE_EXPR
11756         (range_op_float_tests): Add negate tests.
11758 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11760         * config/riscv/riscv-vector-builtins.h: Remove unused macro.
11762 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11764         * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
11765         clang-format.
11766         (add_vector_type_attribute): Ditto.
11767         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
11768         clang-format.
11769         * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
11770         clang-format.
11772 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11774         * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
11775         vector types.
11776         (build_const_pointer): New function.
11777         (register_builtin_type): Ditto.
11778         (DEF_RVV_TYPE): Simplify macro.
11779         (register_vector_type): Refine implementation.
11780         * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
11782 2022-10-12  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
11784         * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
11785         this to ....
11786         * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
11787         here.
11789 2022-10-12  Cui,Lili  <lili.cui@intel.com>
11791         * config/i386/driver-i386.cc (host_detect_local_cpu):
11792         Move sapphirerapids out of AVX512_VP2INTERSECT.
11793         * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
11794         * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
11796 2022-10-12  Martin Liska  <mliska@suse.cz>
11798         * gcov-io.cc (gcov_write_summary): Rename to ...
11799         (gcov_write_object_summary): ... this.
11800         * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
11801         (GCOV_TAG_SUMMARY_LENGTH): ... this.
11803 2022-10-12  Martin Liska  <mliska@suse.cz>
11805         * configure: Regenerate.
11807 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11809         * range-op-float.cc (frange_float): New.
11810         (range_op_float_tests): New.
11811         * range-op.cc (range_op_tests): Call range_op_float_tests.
11813 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11815         * value-range.h (frange::nan_signbit_p): New.
11817 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11819         * value-range.cc (frange::set_nonnegative): Pass bool to
11820         update_nan.
11821         * value-range.h: Disallow conversion to bool in update_nan().
11823 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11825         * value-range.h (frange::frange): Add constructor taking type.
11827 2022-10-12  Aldy Hernandez  <aldyh@redhat.com>
11829         * range-op-float.cc: Add relation_kind = VREL_VARYING to all
11830         methods.
11832 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11834         * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
11835         calling tracer.trailer().
11837 2022-10-11  Jakub Jelinek  <jakub@redhat.com>
11839         PR target/107185
11840         * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
11841         MASK_REGNO_P (REGNO (x)).
11843 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11845         * range-op-float.cc (class foperator_abs): New.
11846         (floating_op_table::floating_op_table): Add ABS_EXPR entry.
11848 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11850         * range-op-float.cc (foperator_unordered_le::op1_range): New.
11851         (foperator_unordered_le::op2_range): New.
11852         (foperator_unordered_gt::op1_range): New.
11853         (foperator_unordered_gt::op2_range): New.
11854         (foperator_unordered_ge::op1_range): New.
11855         (foperator_unordered_ge::op2_range): New.
11856         (foperator_unordered_equal::op1_range): New.
11858 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11860         * range-op-float.cc (class foperator_unordered_lt): New.
11861         (class foperator_relop_unknown): Remove
11862         (class foperator_unordered_le): New.
11863         (class foperator_unordered_gt): New.
11864         (class foperator_unordered_ge): New.
11865         (class foperator_unordered_equal): New.
11866         (floating_op_table::floating_op_table): Replace all UN_EXPR
11867         entries with their appropriate fop_unordered_* counterpart.
11869 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
11871         * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
11872         (operator_lt::op2_range): Same.
11873         (operator_le::op2_range): Same.
11874         (operator_gt::op2_range): Same.
11875         (operator_ge::op2_range): Same.
11877 2022-10-11  Richard Biener  <rguenther@suse.de>
11879         PR tree-optimization/107212
11880         * tree-vect-loop.cc (vectorizable_reduction): Make sure to
11881         set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
11882         reduction.
11883         (vectorizable_live_operation): Do not pun to the SLP
11884         node representative for reduction epilogue generation.
11886 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11888         * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
11890 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11892         * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
11893         * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
11894         (GEN_VNM): Add gathervNm_expr.
11895         (GEN_VN_NOEXEC): Add vec_seriesvNsi.
11896         (gcn_expand_vector_init): Add initialization of vectors from smaller
11897         vectors.
11899 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11901         * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
11902         * config/gcn/gcn-valu.md
11903         (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
11904         * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
11905         new overload variant.
11907 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11909         * config/gcn/gcn-valu.md
11910         (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
11911         (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
11912         * config/gcn/gcn.h (MODE_VF): New macro.
11914 2022-10-11  Andrew Stubbs  <ams@codesourcery.com>
11916         * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
11917         V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
11918         V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
11919         V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
11920         V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
11921         V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
11922         (ADJUST_ALIGNMENT): Likewise.
11923         * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
11924         (gcn_full_exec_reg): Delete.
11925         (gcn_scalar_exec): Delete.
11926         (gcn_scalar_exec_reg): Delete.
11927         (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
11928         (vgpr_2reg_mode_p): Likewise.
11929         (vgpr_vector_mode_p): Use VECTOR_MODE_P.
11930         * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
11931         V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
11932         V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
11933         Add additional vector modes.
11934         (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
11935         (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
11936         Add additional vector mode mappings.
11937         (mov<mode>): Implement vector length conversions.
11938         (ldexp<mode>3<exec>): Use VnSI.
11939         (frexp<mode>_exp2<exec>): Likewise.
11940         (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
11941         (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
11942         (fold_left_plus_<mode>): Use V64_FP.
11943         (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
11944         (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
11945         (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
11946         (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
11947         (*plus_carry_dpp_shr_<mode>): Use V64_DI.
11948         (mov_from_lane63_<mode>): Use V64_2REG.
11949         * config/gcn/gcn.cc (VnMODE): New function.
11950         (gcn_can_change_mode_class): Support multiple vector sizes.
11951         (gcn_modes_tieable_p): Likewise.
11952         (gcn_operand_part): Likewise.
11953         (gcn_scalar_exec): Delete function.
11954         (gcn_scalar_exec_reg): Delete function.
11955         (gcn_full_exec): Delete function.
11956         (gcn_full_exec_reg): Delete function.
11957         (gcn_inline_fp_constant_p): Support multiple vector sizes.
11958         (gcn_fp_constant_p): Likewise.
11959         (A): New macro.
11960         (GEN_VN_NOEXEC): New macro.
11961         (GEN_VNM_NOEXEC): New macro.
11962         (GEN_VN): New macro.
11963         (GEN_VNM): New macro.
11964         (GET_VN_FN): New macro.
11965         (CODE_FOR): New macro.
11966         (CODE_FOR_OP): New macro.
11967         (gen_mov_with_exec): Delete function.
11968         (gen_duplicate_load): Delete function.
11969         (gcn_expand_vector_init): Support multiple vector sizes.
11970         (strided_constant): Likewise.
11971         (gcn_addr_space_legitimize_address): Likewise.
11972         (gcn_expand_scalar_to_vector_address): Likewise.
11973         (gcn_expand_scaled_offsets): Likewise.
11974         (gcn_secondary_reload): Likewise.
11975         (gcn_valid_cvt_p): Likewise.
11976         (gcn_expand_builtin_1): Likewise.
11977         (gcn_make_vec_perm_address): Likewise.
11978         (gcn_vectorize_vec_perm_const): Likewise.
11979         (gcn_vector_mode_supported_p): Likewise.
11980         (gcn_autovectorize_vector_modes): New hook.
11981         (gcn_related_vector_mode): Support multiple vector sizes.
11982         (gcn_expand_dpp_shr_insn): Add FIXME comment.
11983         (gcn_md_reorg): Support multiple vector sizes.
11984         (print_reg): Likewise.
11985         (print_operand): Likewise.
11986         (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
11988 2022-10-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11990         * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
11991         here...
11992         (tree_if_conversion): ... to here.  Also call bitfield lowering when
11993         appropriate.
11994         (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
11995         need to lower bitfields.
11996         (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
11997         checked earlier.
11998         (get_bitfield_rep): New function.
11999         (lower_bitfield): Likewise.
12000         (bitfields_to_lower_p): Likewise.
12001         (need_to_lower_bitfields): New global boolean.
12002         (need_to_ifcvt): Likewise.
12003         * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
12004         message.
12005         * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
12006         parameter.
12007         (vect_recog_bitfield_ref_pattern): New.
12008         (vect_recog_bit_insert_pattern): New.
12010 2022-10-11  liuhongt  <hongtao.liu@intel.com>
12012         PR target/107093
12013         * config/i386/i386.md (*notxor<mode>_1): New post_reload
12014         define_insn_and_split.
12015         (*notxorqi_1): Ditto.
12017 2022-10-11  Aldy Hernandez  <aldyh@redhat.com>
12019         PR tree-optimization/107195
12020         * value-range.cc (irange::set_range_from_nonzero_bits): Set range
12021         to [0,0] when nonzero mask is 0.
12023 2022-10-11  Olivier Hainque  <hainque@adacore.com>
12025         * configure: Regenerate.
12027 2022-10-11  Olivier Hainque  <hainque@adacore.com>
12029         * config.gcc (*vxworks*): Add t-slibgcc fragment
12030         if enable_shared.
12032 2022-10-11  Olivier Hainque  <hainque@adacore.com>
12034         * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
12035         internal macros.
12036         (VXWORKS_LIBGCC_SPEC): Use them and document.
12038 2022-10-11  Martin Liska  <mliska@suse.cz>
12040         * gimple-range-op.cc: Add override keyword.
12042 2022-10-11  Eugene Rozenfeld  <erozen@microsoft.com>
12044         PR debug/107193
12045         * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
12046         out of the loop.
12048 2022-10-11  Liwei Xu  <liwei.xu@intel.com>
12049             liuhongt  <hongtao.liu@intel.com>
12051         PR tree-optimization/54346
12052         * match.pd: Merge the index of VCST then generates the new vec_perm.
12054 2022-10-11  Jeff Law  <jeffreyalaw@gmail.com>
12056         PR rtl-optimization/107182
12057         * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
12058         return, clear EDGE_CROSSING on the appropriate edge.
12060 2022-10-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
12062         * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
12063         from config/riscv/riscv-vector-builtins.h.
12064         (DEF_RVV_TYPE): Change USER_NAME to NAME.
12065         (register_vector_type): Change user_name to name.
12066         * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
12067         USER_NAME to NAME.
12068         * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
12069         to riscv-vector-builtins.cc.
12070         (DEF_RVV_TYPE): Change USER_NAME to NAME.
12072 2022-10-11  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
12074         * config/riscv/riscv.md: Add vsetvl instruction type.
12076 2022-10-10  Nathan Sidwell  <nathan@acm.org>
12078         * common.opt (-fabi-version=): Document 18.
12079         * doc/invoke.texi (-fabi-version): Document 18.
12081 2022-10-10  Andrea Corallo  <andrea.corallo@arm.com>
12083         PR other/99723
12084         * toplev.cc (toplev::main): Don't run self tests in case of
12085         previous error.
12087 2022-10-10  Kito Cheng  <kito.cheng@sifive.com>
12089         * config/riscv/riscv-c.cc: Add newline to the end of file.
12091 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
12093         * range-op-float.cc (class foperator_identity): Make members public.
12094         (class foperator_equal): Same.
12095         (class foperator_not_equal): Same.
12096         (class foperator_lt): Same.
12097         (class foperator_le): Same.
12098         (class foperator_gt): Same.
12099         (class foperator_ge): Same.
12100         (class foperator_unordered): Same.
12101         (class foperator_ordered): Same.
12103 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
12105         * value-range.h (frange::maybe_isnan): New.
12107 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
12109         * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
12110         TRUE side for x != x.
12112 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
12114         * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
12115         operands are equal and result is TRUE.
12117 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
12119         * range.h (range_true): Return int_range<2>.
12120         (range_false): Same.
12121         (range_true_and_false): Same.
12123 2022-10-10  Aldy Hernandez  <aldyh@redhat.com>
12125         * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
12127 2022-10-10  liuhongt  <hongtao.liu@intel.com>
12129         PR target/107185
12130         * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
12131         predicate of operands[0] and operands[1].
12133 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
12135         * common/config/arc/arc-common.cc (arc_option_optimization_table):
12136         Remove Rcq and Rcw options.
12137         * config/arc/arc.opt (mRcq): Ignore option, preserve it for
12138         backwards compatibility.
12139         (mRcw): Likewise.
12140         * doc/invoke.texi (mRcw, mRcq): Update document.
12142 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
12144         * config/arc/arc.cc (arc_check_short_reg_p): New function.
12145         (arc_address_cost): Replace satisfies_constraint_Rcq with the
12146         above new function.
12147         (arc_output_addsi): Likewise.
12148         (split_addsi): Likewise.
12149         (split_subsi): Likewise.
12150         * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
12151         (movhi_insn): Likewise.
12152         (movsi_insn): Likewise.
12153         (tst_movb): Likewise.
12154         (tst): Likewise.
12155         (tst_bitfield): Likewise.
12156         (abssi2): Likewise.
12157         (addsi3_mixed): Likewise.
12158         (mulhisi3_reg): Likewise.
12159         (umulhisi3_reg): Likewise.
12160         (mulsi_600): Likewise.
12161         (mul64): Likewise.
12162         (subsi3_insn): Likewise.
12163         (bicsi3_insn): Likewise.
12164         (xorsi3): Likewise.
12165         (negsi2): Likewise.
12166         (one_cmplsi2): Likewise.
12167         (lshrsi3_insn): Likewise.
12168         (cmpsi_cc_insn_mixed): Likewise.
12169         (cmpsi_cc_zn_insn): Likewise.
12170         (btst): Likewise.
12171         (cmpsi_cc_z_insn): Likewise.
12172         (cmpsi_cc_c_insn): Likewise.
12173         (indirect_jump): Likewise.
12174         (casesi_jump): Likewise.
12175         (call_i): Likewise.
12176         (call_value_i): Likewise.
12177         (bbit): Likewise.
12178         (abssf2): Likewise.
12179         (ashlsi2_cnt1): Likewise.
12180         (lshrsi3_cnt1): Likewise.
12181         (ashrsi3_cnt1): Likewise.
12182         * config/arc/constraints.md (Rcq): Remove.
12184 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
12186         * config/arc/arc.md (smaxsi3): Remove Rcw.
12187         (sminsi3): Likewise.
12188         (addsi3_mixed): Likewise.
12189         (add_f_2): Likewise.
12190         (subsi3_insn): Likewise.
12191         (sub_f): Likewise.
12192         (sub_n): Likewise.
12193         (bset): Likewise.
12194         (bxor): Likewise.
12195         (bclr): Likewise.
12196         (bset_insn): Likewise.
12197         (bxor_insn): Likewise.
12198         (bclr_insn): Likewise.
12199         (bmsk_insn): Likewise.
12200         (bicsi3_insn): Likewise.
12201         (xorsi3): Likewise.
12202         (negsi2): Likewise.
12203         (lshrsi3_insn): Likewise.
12204         (abssf2): Likewise.
12205         (negsf2): Likewise.
12206         * config/arc/constraints.md(Rcw): Remove it.
12208 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
12210         * config/arc/arc.md(mulsi3_700): Remove Rcr.
12211         (mulsi3_highpart): Likewise.
12212         (umulsi3_highpart_i): Likewise.
12213         (umulsi3_highpart_int): Likewise.
12214         (macd): Likewise.
12215         (macdu): Likewise.
12216         * config/arc/constraints.md (Rcr): Remove it.
12218 2022-10-10  Claudiu Zissulescu  <claziss@gmail.com>
12220         * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
12222 2022-10-09  Dimitar Dimitrov  <dimitar@dinux.eu>
12224         PR target/106562
12225         * config/pru/pru-protos.h (pru_noteq_condition): New
12226         function declaration.
12227         * config/pru/pru.cc (pru_noteq_condition): New function.
12228         * config/pru/pru.md (cbranchdi4): Define new pattern.
12230 2022-10-09  Dimitar Dimitrov  <dimitar@dinux.eu>
12232         * config/pru/pru.md (lshrdi3): New expand pattern.
12233         (ashldi3): Ditto.
12235 2022-10-09  YunQiang Su  <yunqiang.su@cipunited.com>
12237         * config.gcc: set with_arch to default_mips_arch if no defined.
12238         * config/mips/driver-native.cc (host_detect_local_cpu):
12239         try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
12240         pass -mnan=2008 if __mips_nan2008__ is defined.
12241         * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
12242         * configure.ac: detect sys/auxv.h and getauxval.
12243         * configure: regenerated.
12245 2022-10-07  Eugene Rozenfeld  <erozen@microsoft.com>
12247         * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
12248         on the same line within the same basic block.
12250 2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
12252         PR tree-optimization/101836
12253         * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
12254         to determine a flexible array member reference.
12256 2022-10-07  Qing Zhao  <qing.zhao@oracle.com>
12258         * doc/extend.texi: Document strict_flex_array attribute.
12259         * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
12260         * print-tree.cc (print_node): Print new bit decl_not_flexarray.
12261         * tree-core.h (struct tree_decl_common): New bit field
12262         decl_not_flexarray.
12263         * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
12264         in new bit decl_not_flexarray.
12265         * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
12266         out new bit decl_not_flexarray.
12267         * tree.cc (array_at_struct_end_p): Update it with the new bit field
12268         decl_not_flexarray.
12269         * tree.h (DECL_NOT_FLEXARRAY): New flag.
12271 2022-10-07  Olivier Hainque  <hainque@adacore.com>
12273         * config/vxworks/_vxworks-versions.h: Use OS specific
12274         paths in #include of version.h.
12276 2022-10-07  Martin Liska  <mliska@suse.cz>
12278         * opts.cc (finish_options): Print sorry message only
12279         for -flive-patching=inline-only-static.
12281 2022-10-07  Jason Merrill  <jason@redhat.com>
12283         * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
12284         x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
12286 2022-10-07  Richard Biener  <rguenther@suse.de>
12288         PR tree-optimization/107153
12289         * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
12290         SSA form here.
12291         * tree-parloops.cc (gen_parallel_loop): Update SSA form
12292         after to-exit-first transform, no PHI insertion is necessary.
12293         (pass_parallelize_loops::execute): Force re-write of the
12294         virtual operand SSA web.
12296 2022-10-07  Jonathan Wakely  <jwakely@redhat.com>
12298         * value-range.cc (irange::irange_contains_p): Fix comment typo.
12300 2022-10-07  Eric Botcazou  <ebotcazou@adacore.com>
12302         * function.cc (thread_prologue_and_epilogue_insns): Update only
12303         entry and exit blocks when not optimizing.  Remove dead statement.
12305 2022-10-07  Aldy Hernandez  <aldyh@redhat.com>
12307         * value-range.cc (irange::irange_set): Convert nonzero mask to
12308         tree.
12309         (irange::irange_set_anti_range): Same.
12310         (irange::set): Same.
12311         (irange::verify_range): Same.
12312         (irange::contains_p): Same.
12313         (irange::invert): Same.
12314         (irange::set_range_from_nonzero_bits): Same.
12315         (irange::set_nonzero_bits): Same.
12316         (mask_to_wi): Same.
12317         (irange::intersect_nonzero_bits): Same.
12318         (irange::union_nonzero_bits): Same.
12319         * value-range.h (irange::varying_compatible_p): Same.
12320         (gt_ggc_mx): Same.
12321         (gt_pch_nx): Same.
12322         (irange::set_undefined): Same.
12323         (irange::set_varying): Same.
12325 2022-10-07  Martin Liska  <mliska@suse.cz>
12327         * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
12328         size to function parameter.
12329         (ix86_unary_operator_ok): Likewise.
12331 2022-10-07  Martin Liska  <mliska@suse.cz>
12333         * auto-profile.cc (get_inline_stack): Remove unused variable.
12335 2022-10-07  Jakub Jelinek  <jakub@redhat.com>
12337         * ipa-prop.h (ipa_constant_data): Fix comment typo.
12338         * value-range.cc (irange::irange_contains_p): Likewise.
12339         * value-relation.cc (dom_oracle::set_one_relation): Likewise.
12340         * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
12341         * tree-inline.cc (remap_ssa_name): Likewise.
12343 2022-10-07  Jakub Jelinek  <jakub@redhat.com>
12345         * attribs.h (is_attribute_namespace_p): New inline function.
12346         (lookup_attribute): Document meaning of ATTR_NS equal to "".
12347         * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
12348         (private_lookup_attribute): For ATTR_NS "" match either standard
12349         attribute or "gnu" namespace one.
12351 2022-10-07  Olivier Hainque  <hainque@adacore.com>
12353         * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
12354         4 to 3 for VxWorks >= 7.
12356 2022-10-07  Olivier Hainque  <hainque@adacore.com>
12358         * defaults.h (DWARF_DEFAULT_VERSION): Define if not
12359         defined already.
12360         * common.opt (gdwarf-): Use it.
12361         * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
12362         * doc/tm.texi: Update accordingly.
12363         * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
12364         * config/vxworks.cc: Remove code setting dwarf_version, now
12365         handled by the DWARF_DEFAULT_VERSION redefinition.
12367 2022-10-07  Olivier Hainque  <hainque@adacore.com>
12369         * ginclude/stddef.h: #undef offsetof before #define.
12371 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
12373         PR tree-optimization/107170
12374         * vr-values.cc (vr_values::range_of_expr):  Do not die on
12375         unsupported types.
12377 2022-10-06  Joseph Myers  <joseph@codesourcery.com>
12379         * doc/invoke.texi (-fno-asm): Update description of effects on
12380         typeof keyword.
12382 2022-10-06  Eric Botcazou  <ebotcazou@adacore.com>
12384         * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
12385         dependency that is a write-after-write if the access function is not
12386         affine or constant.
12388 2022-10-06  Eric Botcazou  <ebotcazou@adacore.com>
12390         * df-scan.cc (df_ref_create_structure): Minor cleanup.
12392 2022-10-06  Richard Biener  <rguenther@suse.de>
12394         PR middle-end/107115
12395         * expr.cc (store_expr): Check mems_same_for_tbaa_p before
12396         eliding a seemingly redundant store.
12398 2022-10-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12400         * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
12401         New pattern.
12403 2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
12405         * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
12406         Ampere-1 core entry.
12408 2022-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
12410         * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
12412 2022-10-06  Richard Biener  <rguenther@suse.de>
12414         PR tree-optimization/107107
12415         * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
12416         affect value-numbering when doing the tail merging
12417         MODIFY_EXPR lookup.
12419 2022-10-06  Claudiu Zissulescu  <claziss@synopsys.com>
12421         * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
12422         common-pave-size.
12424 2022-10-06  Jakub Jelinek  <jakub@redhat.com>
12426         PR c++/106654
12427         * internal-fn.def (ASSUME): New internal function.
12428         * internal-fn.h (expand_ASSUME): Declare.
12429         * internal-fn.cc (expand_ASSUME): Define.
12430         * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
12431         * fold-const.h (simple_condition_p): Declare.
12432         * fold-const.cc (simple_operand_p_2): Rename to ...
12433         (simple_condition_p): ... this.  Remove forward declaration.
12434         No longer static.  Adjust function comment and fix a typo in it.
12435         Adjust recursive call.
12436         (simple_operand_p): Adjust function comment.
12437         (fold_truth_andor): Adjust simple_operand_p_2 callers to call
12438         simple_condition_p.
12439         * doc/extend.texi: Document assume attribute.  Move fallthrough
12440         attribute example to its section.
12442 2022-10-06  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
12444         PR rtl-optimization/107088
12445         * cselib.cc (new_cselib_val): Skip BImode while keeping track of
12446         subvalue relations.
12448 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
12450         * value-range.cc (frange::set): Call set_nan unconditionally.
12451         (range_tests_nan): Adjust tests.
12452         (range_tests_signed_zeros): Same.
12453         (range_tests_floats): Same.
12454         * value-range.h (frange::update_nan): Guard with HONOR_NANS.
12455         (frange::set_nan): Set undefined if !HONOR_NANS.
12457 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
12459         * range-op-float.cc (foperator_lt::fold_range): Remove extra check
12460         to finite_operands_p.
12461         (foperator_le::fold_range): Same.
12462         (foperator_gt::fold_range): Same.
12463         (foperator_ge::fold_range): Same.
12465 2022-10-06  Aldy Hernandez  <aldyh@redhat.com>
12467         * value-range-pretty-print.cc (vrange_printer::print_real_value):
12468         Avoid printing INF and NAN twice.
12470 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
12472         * config/rs6000/constraints.md (wD): Delete.
12473         * doc/md.texi (Machine Constraints): Adjust.
12475 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
12477         * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
12478         define_expand.  Split the contents to...
12479         (*vsx_extract_<mode>_0): ... this.  Rewrite.
12480         (*vsx_extract_<mode>_1): ... and this.  Rewrite.
12482 2022-10-05  Segher Boessenkool  <segher@kernel.crashing.org>
12484         * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
12485         "wD" constraint.
12487 2022-10-05  David Malcolm  <dmalcolm@redhat.com>
12489         PR analyzer/107060
12490         * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
12492 2022-10-05  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
12494         * config.gcc: Add riscv_vector.h.
12495         * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
12496         * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
12497         (riscv_register_pragmas): Ditto.
12498         * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
12499         (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
12500         (mangle_builtin_type): Ditto.
12501         (verify_type_context): Ditto.
12502         (handle_pragma_vector): New function.
12503         * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
12504         (register_vector_type): New function.
12505         (init_builtins): Add RVV builtin types support.
12506         (handle_pragma_vector): New function.
12507         * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
12508         name according to file name.
12509         (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
12510         (init_builtins): Remove declaration in riscv-vector-builtins.h.
12511         (mangle_builtin_type): Ditto.
12512         (verify_type_context): Ditto.
12513         * config/riscv/riscv.cc: Adjust for RVV builtin types support.
12514         * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
12515         * config/riscv/t-riscv: Remove redundant file including.
12516         * config/riscv/riscv_vector.h: New file.
12518 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
12520         * range-op.cc (operator_cast::fold_range): Handle truncating casts
12521         for nonzero masks.
12523 2022-10-05  Martin Liska  <mliska@suse.cz>
12525         PR c/107156
12526         * attribs.h (lookup_attribute_by_prefix): Support the attribute
12527         starting with underscore (_Noreturn).
12529 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
12531         PR tree-optimization/107052
12532         * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
12533         nonzero bit mask.
12535 2022-10-05  Aldy Hernandez  <aldyh@redhat.com>
12537         PR tree-optimization/107052
12538         * range-op.cc (operator_cast::fold_range): Set nonzero mask.
12540 2022-10-05  Eric Botcazou  <ebotcazou@adacore.com>
12542         PR tree-optimization/106698
12543         * pointer-query.cc (handle_array_ref): Fix handling of low bound.
12545 2022-10-05  Vineet Gupta  <vineetg@rivosinc.com>
12547         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
12548         Remove __riscv_cmodel_pic, that deprecated in last version.
12550 2022-10-05  David Malcolm  <dmalcolm@redhat.com>
12552         PR analyzer/107072
12553         * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
12555 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
12557         * attribs.h (remove_attribute): Declare overload with additional
12558         attr_ns argument.
12559         (private_lookup_attribute): Declare overload with additional
12560         attr_ns and attr_ns_len arguments.
12561         (lookup_attribute): New overload with additional attr_ns argument.
12562         * attribs.cc (remove_attribute): New overload with additional
12563         attr_ns argument.
12564         (private_lookup_attribute): New overload with additional
12565         attr_ns and attr_ns_len arguments.
12567 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
12569         * attribs.cc (handle_ignored_attributes_option, decl_attributes,
12570         common_function_versions): Use auto_diagnostic_group.
12572 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
12574         * value-range.cc (irange::set_nonzero_bits): Remove assert.
12576 2022-10-04  Richard Sandiford  <richard.sandiford@arm.com>
12578         * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
12579         * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
12580         * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
12581         (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
12582         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
12583         __ARM_FEATURE_RCPC when appropriate.
12585 2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
12587         * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
12588         (-fopenmp-simd): Likewise; update permitted directives.
12590 2022-10-04  Tobias Burnus  <tobias@codesourcery.com>
12592         * doc/install.texi (Specific): Add missing items to bullet list.
12593         (amdgcn): Update LLVM requirements, use version not date for newlib.
12594         (nvptx): Use version not git hash for newlib.
12596 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
12598         * value-range-storage.cc (irange_storage_slot::set_irange): Remove
12599         special case.
12600         * value-range.cc (irange::irange_set): Adjust for nonzero mask
12601         being a wide int.
12602         (irange::irange_set_anti_range): Same.
12603         (irange::set): Same.
12604         (irange::verify_range): Same.
12605         (irange::legacy_equal_p): Same.
12606         (irange::operator==): Same.
12607         (irange::contains_p): Same.
12608         (irange::legacy_intersect): Same.
12609         (irange::legacy_union): Same.
12610         (irange::irange_single_pair_union): Call union_nonzero_bits.
12611         (irange::irange_union): Same.
12612         (irange::irange_intersect): Call intersect_nonzero_bits.
12613         (irange::intersect): Adjust for nonzero mask being a wide int.
12614         (irange::invert): Same.
12615         (irange::set_nonzero_bits): Same.
12616         (irange::get_nonzero_bits_from_range): New.
12617         (irange::set_range_from_nonzero_bits): New.
12618         (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
12619         int.
12620         (irange::intersect_nonzero_bits): Same.
12621         (irange::union_nonzero_bits): Same.
12622         (range_tests_nonzero_bits): Remove test.
12623         * value-range.h (irange::varying_compatible_p): Adjust for nonzero
12624         mask being a wide int.
12625         (gt_ggc_mx): Same.
12626         (gt_pch_nx): Same.
12627         (irange::set_undefined): Same.
12628         (irange::set_varying): Same.
12629         (irange::normalize_kind): Same.
12631 2022-10-04  Aldy Hernandez  <aldyh@redhat.com>
12633         PR tree-optimization/107130
12634         * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
12635         (class cfn_ffs): New.
12636         (gimple_range_op_handler::maybe_builtin_call): Separate out
12637         CASE_CFN_FFS into its own case.
12639 2022-10-03  Sergei Trofimovich  <siarheit@google.com>
12641         * config/i386/t-i386: Add build-time dependencies against
12642         i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
12643         i386-features.o.
12645 2022-10-03  Andrew Stubbs  <ams@codesourcery.com>
12647         * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
12648         operand 3.
12649         * doc/md.texi (while_ult): Document new operand 3 usage.
12650         * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
12651         maps to a non-vector mode.
12653 2022-10-03  Andrew MacLeod  <amacleod@redhat.com>
12655         PR tree-optimization/107109
12656         * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
12658 2022-10-03  Christophe Lyon  <christophe.lyon@arm.com>
12660         * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
12661         clobber.
12662         (mve_vrev64q_m_f<mode>): Likewise.
12664 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
12666         * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
12667         (range_tests_nonzero_bits): New test.
12669 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
12671         * value-range.cc (irange::operator==): Early bail on m_num_ranges
12672         equal to 0.
12674 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
12676         * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
12677         check when comparing VR_VARYING ranges.
12679 2022-10-03  Aldy Hernandez  <aldyh@redhat.com>
12681         * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
12682         incompatible ranges in ipa-prop.
12684 2022-10-02  Jakub Jelinek  <jakub@redhat.com>
12686         PR tree-optimization/107121
12687         * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
12688         DEFFERED_INIT -> DEFERRED_INIT.
12690 2022-10-02  Marc Poulhiès  <poulhies@adacore.com>
12692         * config/vxworks-driver.cc: New.
12693         * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
12694         * config/t-vxworks: Add vxworks-driver.o.
12695         * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
12697 2022-10-02  Olivier Hainque  <hainque@adacore.com>
12699         * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
12700         HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
12701         of ENABLE_SHARED_LIBGCC.
12703 2022-10-01  Stafford Horne  <shorne@gmail.com>
12705         * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
12706         HAVE_AS_TLS is defined.
12708 2022-10-01  Julian Brown  <julian@codesourcery.com>
12710         * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
12711         handling.
12713 2022-10-01  Jeff Law  <jeffreyalaw@gmail.com>
12715         * config/h8300/h8300.md (HSI2): New iterator.
12716         (eqne_invert): Similarly.
12717         * config/h8300/testcompare.md (testhi_upper_z): New pattern.
12718         (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
12719         (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
12720         define_insn_and_splits and/or define_insns.
12721         (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
12722         (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
12724 2022-10-01  Jeff Law  <jeffreyalaw@gmail.com>
12726         * tree-ssa-dom.cc (record_edge_info): Install correct version of
12727         patch.
12729 2022-10-01  Eugene Rozenfeld  <erozen@microsoft.com>
12731         * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
12733 2022-09-30  Jeff Law  <jeffreyalaw@gmail.com>
12735         * tree-ssa-dom.cc (single_block_loop_p): New function.
12736         (record_edge_info): Also record equivalences for the outgoing
12737         edge of a single block loop where the condition is an invariant.
12739 2022-09-30  Jeff Law  <jeffreyalaw@gmail.com>
12741         * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
12742         (free_all_edge_infos): Do not clear e->aux here.
12744 2022-09-30  H.J. Lu  <hjl.tools@gmail.com>
12746         * target.def (TARGET_C_EXCESS_PRECISION): Document
12747         -fexcess-precision=16.
12749 2022-09-30  Palmer Dabbelt  <palmer@rivosinc.com>
12751         * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
12753 2022-09-30  Palmer Dabbelt  <palmer@rivosinc.com>
12755         PR target/106815
12756         * config/riscv/riscv.cc (riscv_excess_precision): Add support
12757         for EXCESS_PRECISION_TYPE_FLOAT16.
12759 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
12761         PR c++/107080
12762         * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
12763         and _Float16 as DF16_.
12764         * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
12765         (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
12766         rather than mangling __fp16 as __fp16.
12768 2022-09-30  Lewis Hyatt  <lhyatt@gmail.com>
12770         PR preprocessor/69543
12771         * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
12772         information away from the diagnostic location.
12773         (maybe_warn_read_write_only): Likewise.
12774         (maybe_warn_operand): Likewise.
12776 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
12778         PR c++/107080
12779         * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
12780         as Dh and _Float16 as DF16_.
12782 2022-09-30  Jakub Jelinek  <jakub@redhat.com>
12784         PR c++/107080
12785         * config/i386/i386.cc (ix86_mangle_type): Always return NULL
12786         for float128_type_node or float64x_type_node, don't check
12787         float128t_type_node later on.
12788         * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
12789         for float128_type_node or float64x_type_node.
12790         * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
12791         Don't check float128_type_node later on.
12792         * config/s390/s390.cc (s390_mangle_type): Don't use
12793         TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
12794         a few lines earlier.
12796 2022-09-30  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
12797             Yvan ROUX   <yvan.roux@foss.st.com>
12799         * doc/sourcebuild.texi: Document new vma_equals_lma effective
12800         target check.
12802 2022-09-30  Jiawei  <jiawei@iscas.ac.cn>
12804         * config/riscv/riscv.cc (riscv_file_start): New .option.
12805         * config/riscv/riscv.opt: New options.
12806         * doc/invoke.texi: New definations.
12808 2022-09-30  Kewen Lin  <linkw@linux.ibm.com>
12810         PR target/99888
12811         PR target/105649
12812         * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
12813         documentation for PowerPC ELFv2 ABI dual entry points.
12814         * config/rs6000/rs6000-internal.h
12815         (rs6000_print_patchable_function_entry): New function declaration.
12816         * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
12817         Support patchable-function-entry by emitting nops before and after
12818         local entry for the function that needs global entry.
12819         * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
12820         the function that needs global entry till global entry has been
12821         emitted.
12822         * config/rs6000/rs6000.h (struct machine_function): New bool member
12823         global_entry_emitted.
12825 2022-09-30  Richard Biener  <rguenther@suse.de>
12827         PR tree-optimization/107095
12828         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
12829         for .MASK_STORE size.
12831 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12833         * range-op.cc (plus_minus_ranges): New.
12834         (adjust_op1_for_overflow): New.
12835         (operator_plus::op1_range): Use new adjustment.
12836         (operator_plus::op2_range): Ditto.
12837         (operator_minus::op1_range): Ditto.
12838         * value-relation.h (relation_lt_le_gt_ge_p): New.
12840 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12842         * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
12843         (gori_compute::compute_operand1_range): Invoke
12844         refine_using_relation when applicable.
12845         (gori_compute::compute_operand2_range): Ditto.
12846         * gimple-range-gori.h (class gori_compute): Adjust prototypes.
12848 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12850         * gimple-range-gori.cc (ori_compute::compute_operand_range):
12851         Create a relation record and pass it along when possible.
12852         (gori_compute::compute_operand1_range): Pass relation along.
12853         (gori_compute::compute_operand2_range): Ditto.
12854         (gori_compute::compute_operand1_and_operand2_range): Ditto.
12855         * gimple-range-gori.h (class gori_compute): Adjust prototypes.
12856         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
12857         relation to op1_range call.
12858         (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
12859         * gimple-range-op.h (class gimple_range_op_handler): Adjust
12860         prototypes.
12862 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12864         * value-relation.cc (class value_relation): Move to .h file.
12865         (value_relation::set_relation): Ditto.
12866         (value_relation::value_relation): ditto.
12867         * value-relation.h (class value_relation): Move from .cc file.
12868         (value_relation::set_relation): Ditto
12869         (value_relation::value_relation): Ditto.
12871 2022-09-29  Andrew MacLeod  <amacleod@redhat.com>
12873         * range-op.cc (operator_minus::op2_range): Check for undefined.
12874         (operator_mult::op1_range): Ditto.
12875         (operator_exact_divide::op1_range): Ditto.
12876         (operator_lshift::op1_range): Ditto.
12877         (operator_rshift::op1_range): Ditto.
12878         (operator_cast::op1_range): Ditto.
12879         (operator_bitwise_and::op1_range): Ditto.
12880         (operator_bitwise_or::op1_range): Ditto.
12881         (operator_trunc_mod::op1_range): Ditto.
12882         (operator_trunc_mod::op2_range): Ditto.
12883         (operator_bitwise_not::op1_range): Ditto.
12884         (pointer_or_operator::op1_range): Ditto.
12885         (range_op_handler::op1_range): Ditto.
12886         (range_op_handler::op2_range): Ditto.
12888 2022-09-29  Andrew Stubbs  <ams@codesourcery.com>
12890         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
12891         Remove unused elt_bits variable.
12893 2022-09-29  Olivier Hainque  <hainque@adacore.com>
12895         * config/vxworks.h: Add comment on our use of
12896         HAVE_INITFINI_ARRAY_SUPPORT.
12898 2022-09-29  Olivier Hainque  <hainque@adacore.com>
12900         * config/aarch64/t-aarch64-vxworks: Request multilib
12901         variants for mcmodel=large.
12903 2022-09-29  Olivier Hainque  <hainque@adacore.com>
12905         * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
12906         resetting to 0.
12908 2022-09-29  Olivier Hainque  <hainque@adacore.com>
12910         * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
12911         when ARM_UNWIND_INFO is set.
12913 2022-09-29  Julian Brown  <julian@codesourcery.com>
12915         PR middle-end/107028
12916         * gimplify.cc (omp_check_mapping_compatibility,
12917         oacc_resolve_clause_dependencies): New functions.
12918         (omp_accumulate_sibling_list): Remove redundant duplicate clause
12919         detection for OpenACC.
12920         (build_struct_sibling_lists): Skip deleted groups.  Don't build sibling
12921         list for struct variables that are fully mapped on the same directive
12922         for OpenACC.
12923         (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
12925 2022-09-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
12927         PR middle-end/25521
12928         * varasm.cc (categorize_decl_for_section): Place `const volatile'
12929         objects in read-only sections.
12930         (default_select_section): Likewise.
12932 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12934         * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
12935         of to_widest.
12937 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12939         * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
12940         (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
12941         (TARGET_AES, TARGET_SHA2): Likewise.  Remove TARGET_CRYPTO test.
12942         (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
12943         (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
12944         on TARGET_SVE.
12945         (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
12946         (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
12947         (TARGET_F32MM, TARGET_F64MM): Delete.
12948         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
12949         float macros with just TARGET_FLOAT rather than TARGET_FLOAT
12950         || TARGET_SIMD.
12951         * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
12952         only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
12953         (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
12954         rather than TARGET_SIMD && TARGET_AES.
12955         (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
12956         (*aarch64_crypto_aese_fused): Likewise.
12957         (*aarch64_crypto_aesd_fused): Likewise.
12958         (aarch64_crypto_pmulldi): Likewise.
12959         (aarch64_crypto_pmullv2di): Likewise.
12960         (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
12961         (aarch64_crypto_sha1hv4si): Likewise.
12962         (aarch64_be_crypto_sha1hv4si): Likewise.
12963         (aarch64_crypto_sha1su1v4si): Likewise.
12964         (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
12965         (aarch64_crypto_sha1su0v4si): Likewise.
12966         (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
12967         (aarch64_crypto_sha256su0v4si): Likewise.
12968         (aarch64_crypto_sha256su1v4si): Likewise.
12969         (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
12970         (aarch64_crypto_sha512su0qv2di): Likewise.
12971         (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
12972         (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
12973         (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
12974         (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
12975         (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
12976         (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
12977         * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
12978         (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
12979         (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
12981 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
12983         * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
12984         * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
12985         (aarch64_isa_flags): Redefine as read-only macros.
12986         (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
12987         !TARGET_GENERAL_REGS_ONLY.
12988         * common/config/aarch64/aarch64-common.cc
12989         (aarch64_set_asm_isa_flags): New function.
12990         (aarch64_handle_option): Call it when updating -mgeneral-regs.
12991         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
12992         m_old_isa_flags with m_old_asm_isa_flags.
12993         (aarch64_set_asm_isa_flags): Declare.
12994         * config/aarch64/aarch64-builtins.cc
12995         (aarch64_simd_switcher::aarch64_simd_switcher)
12996         (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
12997         aarch64_asm_isa_flags instead of aarch64_isa_flags.
12998         * config/aarch64/aarch64-sve-builtins.cc
12999         (check_required_extensions): Use aarch64_asm_isa_flags instead
13000         of aarch64_isa_flags.
13001         * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
13002         (aarch64_override_options, aarch64_handle_attr_arch)
13003         (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
13004         aarch64_set_asm_isa_flags to set the ISA flags.
13005         (aarch64_option_print, aarch64_declare_function_name)
13006         (aarch64_start_file): Use aarch64_asm_isa_flags instead
13007         of aarch64_isa_flags.
13008         (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
13009         aarch64_isa_flags.
13011 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13013         * common/config/aarch64/aarch64-common.cc (all_extensions):
13014         Include the feature flag in flags_on and flags_off.
13015         (aarch64_parse_extension): Update accordingly.
13016         (aarch64_get_extension_string_for_isa_flags): Likewise.
13018 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13020         * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
13021         for feature flags throughout.
13022         * config/aarch64/aarch64-protos.h: Likewise.
13023         * config/aarch64/aarch64-sve-builtins.h: Likewise.
13024         * config/aarch64/aarch64-sve-builtins.cc: Likewise.
13025         * config/aarch64/aarch64.cc: Likewise.
13026         * config/aarch64/aarch64.opt: Likewise.
13027         * config/aarch64/driver-aarch64.cc: Likewise.
13029 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13031         * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
13032         (processor_name_to_arch, arch_to_arch_name): Remove const from
13033         member variables.
13034         (all_extensions, all_cores, all_architectures): Make a constexpr.
13035         * config/aarch64/aarch64.cc (processor): Remove const from
13036         member variables.
13037         (all_architectures): Make a constexpr.
13038         * config/aarch64/driver-aarch64.cc (aarch64_core_data)
13039         (aarch64_arch_driver_info): Remove const from member variables.
13040         (aarch64_cpu_data, aarch64_arches): Make a constexpr.
13041         (get_arch_from_id): Return a pointer to const.
13042         (host_detect_local_cpu): Update accordingly.
13044 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13046         * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
13047         (arch_to_arch_name): Use const char * instead of std::string.
13049 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13051         * common/config/aarch64/aarch64-common.cc
13052         (TARGET_OPTION_INIT_STRUCT): Delete.
13053         (aarch64_option_extension): Remove is_synthetic_flag.
13054         (all_extensions): Update accordingly.
13055         (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
13056         (aarch64_option_init_struct, aarch64_contains_opt): Delete.
13057         (aarch64_get_extension_string_for_isa_flags): Rewrite to use
13058         all_extensions instead of all_extensions_on.
13060 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13062         * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
13063         * config/aarch64/aarch64-cores.def: Use the same format to specify
13064         lists of features.
13065         * config/aarch64/aarch64-arches.def: Likewise, moving that information
13066         from aarch64.h.
13067         * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
13068         * config/aarch64/aarch64.h (aarch64_feature): New class enum.
13069         Turn AARCH64_FL_* macros into constexprs, getting the definitions
13070         from aarch64-option-extensions.def.  Remove AARCH64_FL_FOR_* macros.
13071         * common/config/aarch64/aarch64-common.cc: Include
13072         aarch64-feature-deps.h.
13073         (all_extensions): Update for new .def format.
13074         (all_extensions_by_on, all_cores, all_architectures): Likewise.
13075         * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
13076         (aarch64_extensions): Update for new .def format.
13077         (aarch64_cpu_data, aarch64_arches): Likewise.
13078         * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
13079         (all_architectures, all_cores): Update for new .def format.
13080         * config/aarch64/aarch64-sve-builtins.cc
13081         (check_required_extensions): Likewise.
13082         * config/aarch64/aarch64-feature-deps.h: New file.
13084 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13086         * config/aarch64/aarch64-option-extensions.def: Move crypto
13087         after sha2.
13089 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13091         * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
13092         on fp as well as simd.
13093         (sha3): Likewise.
13094         (aes): Likewise.  Make +noaes disable crypto.
13095         (sha2): Likewise +nosha2.  Also make +nosha2 disable sha3 and
13096         sve2-sha3.
13097         (sve2-sha3): Depend on sha2 as well as sha3.
13099 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13101         PR target/107025
13102         * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
13103         (AARCH64_FL_FOR_V8_4A): Update accordingly.
13104         (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
13105         * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
13106         AARCH64_FL_RCPC8_4.
13108 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13110         * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
13111         from the flags field.
13112         * common/config/aarch64/aarch64-common.cc (all_cores): Add it
13113         here instead.
13114         * config/aarch64/aarch64.cc (all_cores): Likewise.
13115         * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
13117 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13119         * config.gcc: Remove dead aarch64-option-extensions.def code.
13120         * config/aarch64/aarch64-arches.def: Update comment.
13122 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13124         * config/aarch64/aarch64-arches.def: Add a leading "V" to the
13125         ARCH_IDENT fields.
13126         * config/aarch64/aarch64-cores.def: Update accordingly.
13127         * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
13128         * config/aarch64/aarch64.cc (all_cores): Likewise.
13129         * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
13130         leading "V".
13132 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13134         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
13135         (AARCH64_FL_FOR_V8A): ...this.
13136         (AARCH64_FL_FOR_ARCH8_1): Rename to...
13137         (AARCH64_FL_FOR_V8_1A): ...this.
13138         (AARCH64_FL_FOR_ARCH8_2): Rename to...
13139         (AARCH64_FL_FOR_V8_2A): ...this.
13140         (AARCH64_FL_FOR_ARCH8_3): Rename to...
13141         (AARCH64_FL_FOR_V8_3A): ...this.
13142         (AARCH64_FL_FOR_ARCH8_4): Rename to...
13143         (AARCH64_FL_FOR_V8_4A): ...this.
13144         (AARCH64_FL_FOR_ARCH8_5): Rename to...
13145         (AARCH64_FL_FOR_V8_5A): ...this.
13146         (AARCH64_FL_FOR_ARCH8_6): Rename to...
13147         (AARCH64_FL_FOR_V8_6A): ...this.
13148         (AARCH64_FL_FOR_ARCH8_7): Rename to...
13149         (AARCH64_FL_FOR_V8_7A): ...this.
13150         (AARCH64_FL_FOR_ARCH8_8): Rename to...
13151         (AARCH64_FL_FOR_V8_8A): ...this.
13152         (AARCH64_FL_FOR_ARCH8_R): Rename to...
13153         (AARCH64_FL_FOR_V8R): ...this.
13154         (AARCH64_FL_FOR_ARCH9): Rename to...
13155         (AARCH64_FL_FOR_V9A): ...this.
13156         (AARCH64_FL_FOR_ARCH9_1): Rename to...
13157         (AARCH64_FL_FOR_V9_1A): ...this.
13158         (AARCH64_FL_FOR_ARCH9_2): Rename to...
13159         (AARCH64_FL_FOR_V9_2A): ...this.
13160         (AARCH64_FL_FOR_ARCH9_3): Rename to...
13161         (AARCH64_FL_FOR_V9_3A): ...this.
13162         * common/config/aarch64/aarch64-common.cc (all_cores): Update
13163         accordingly.
13164         * config/aarch64/aarch64-arches.def: Likewise.
13165         * config/aarch64/aarch64-cores.def: Likewise.
13166         * config/aarch64/aarch64.cc (all_cores): Likewise.
13168 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13170         * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
13171         (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
13172         (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
13173         (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
13174         (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
13175         (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
13176         (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
13177         (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
13178         (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
13179         (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
13180         (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
13181         (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
13182         (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
13183         (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
13184         (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
13186 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13188         * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
13189         (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
13190         (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
13191         (AARCH64_ISA_V9_3): Add "A" to the end of the name.
13192         (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
13193         (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
13194         accordingly.
13195         * common/config/aarch64/aarch64-common.cc
13196         (aarch64_get_extension_string_for_isa_flags): Likewise.
13197         * config/aarch64/aarch64-c.cc
13198         (aarch64_define_unconditional_macros): Likewise.
13200 2022-09-29  Richard Sandiford  <richard.sandiford@arm.com>
13202         * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
13204 2022-09-29  Jakub Jelinek  <jakub@redhat.com>
13206         PR bootstrap/107059
13207         * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
13208         isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
13209         before FIXED_INCLUDE_DIR entry with multilib flag 0.
13210         * gcc.cc (do_spec_1): If multiarch_dir, add
13211         include-fixed/multiarch_dir paths before include-fixed paths.
13213 2022-09-29  Martin Liska  <mliska@suse.cz>
13215         PR driver/106897
13216         * common.opt: Add -gz=zstd value.
13217         * configure.ac: Detect --compress-debug-sections=zstd
13218         for both linker and assembler.
13219         * configure: Regenerate.
13220         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
13221         (ASM_COMPRESS_DEBUG_SPEC): Likewise.
13223 2022-09-29  Richard Biener  <rguenther@suse.de>
13225         PR tree-optimization/105646
13226         * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
13227         the set of fallthru reachable blocks from function entry
13228         and use that to determine wlims.always_executed.
13230 2022-09-29  liuhongt  <hongtao.liu@intel.com>
13232         PR tree-optimization/107055
13233         * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
13234         nonlinear induction variables.
13235         * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
13236         functions.
13237         (vectorizable_nonlinear_induction): Put part codes into
13238         vect_can_peel_nonlinear_iv_p.
13239         * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
13241 2022-09-28  Eugene Rozenfeld  <erozen@microsoft.com>
13243         * basic-block.h: Remove discriminator from basic blocks.
13244         * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
13245         * final.cc (final_start_function_1): Switch from per-bb to per statement
13246         discriminator.
13247         (final_scan_insn_1): Don't keep track of basic block discriminators.
13248         (compute_discriminator): Switch from basic block discriminators to
13249         instruction discriminators.
13250         (insn_discriminator): New function to return instruction discriminator.
13251         (notice_source_line): Use insn_discriminator.
13252         * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
13253         basic block discriminators.
13254         * gimple-streamer-in.cc (input_bb): Remove reading of basic block
13255         discriminators.
13256         * gimple-streamer-out.cc (output_bb): Remove writing of basic block
13257         discriminators.
13258         * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
13259         (location_with_discriminator): New function to combine locus with
13260         a discriminator.
13261         (has_discriminator): New function to check if a location has a discriminator.
13262         (get_discriminator_from_loc): New function to get the discriminator
13263         from a location.
13264         * input.h: Declarations of new functions.
13265         * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
13266         (apply_location_cache): Keep track of current discriminator.
13267         (input_location_and_block): Read discriminator from stream.
13268         * lto-streamer-out.cc (clear_line_info): Set current discriminator to
13269         UINT_MAX.
13270         (lto_output_location_1): Write discriminator to stream.
13271         * lto-streamer.h: Add discriminator to cached_location.
13272         Add current_discr to lto_location_cache.
13273         Add current_discr to output_block.
13274         * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
13275         * rtl.h: Add extern declaration of insn_discriminator.
13276         * tree-cfg.cc (assign_discriminator): New function to assign a unique
13277         discriminator value to all statements in a basic block that have the given
13278         line number.
13279         (assign_discriminators): Assign discriminators to statement locations.
13280         * tree-pretty-print.cc (dump_location): Dump discriminators.
13281         * tree.cc (set_block): Preserve discriminator when setting block.
13282         (set_source_range): Preserve discriminator when setting source range.
13284 2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
13286         PR target/107061
13287         * config/i386/predicates.md (encodekey128_operation): Check
13288         XMM4-XMM6 as clobbered.
13289         (encodekey256_operation): Likewise.
13290         * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
13291         (encodekey256u32): Likewise.
13293 2022-09-28  Ju-Zhe Zhong  <juzhe.zhong@rivai.ai>
13295         * config.gcc: Add riscv-vector-builtins.o.
13296         * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
13297         * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
13298         * config/riscv/riscv.cc (ENTRY): New macro.
13299         (riscv_v_ext_enabled_vector_mode_p): New function.
13300         (riscv_mangle_type): Add RVV mangle.
13301         (riscv_vector_mode_supported_p): Adjust RVV machine mode.
13302         (riscv_verify_type_context): Add context check for RVV.
13303         (riscv_vector_alignment): Add RVV alignment target hook support.
13304         (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
13305         (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
13306         (TARGET_VECTOR_ALIGNMENT): Ditto.
13307         * config/riscv/t-riscv: Add riscv-vector-builtins.o
13308         * config/riscv/riscv-vector-builtins.cc: New file.
13309         * config/riscv/riscv-vector-builtins.def: New file.
13310         * config/riscv/riscv-vector-builtins.h: New file.
13311         * config/riscv/riscv-vector-switch.def: New file.
13313 2022-09-28  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
13315         * var-tracking.cc (vt_add_function_parameter): Add entry values
13316         up to maximal register mode.
13318 2022-09-28  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
13320         * cselib.cc (new_cselib_val): Keep track of further subvalue
13321         relations.
13323 2022-09-28  Andrea Corallo  <andrea.corallo@arm.com>
13325         * config/arm/arm-c.cc (arm_cpu_builtins): Define
13326         __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
13328 2022-09-28  Xi Ruoyao  <xry111@xry111.site>
13330         PR tree-optimization/105414
13331         * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
13332         (UNSPEC_FMIN): Likewise.
13333         (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
13334         (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
13336 2022-09-28  Lulu Cheng  <chenglulu@loongson.cn>
13338         * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
13339         Fixed typo in "asan_mapping.h".
13341 2022-09-28  H.J. Lu  <hjl.tools@gmail.com>
13343         PR middle-end/58245
13344         * calls.cc: Include "tree-eh.h".
13345         (expand_call): Check stack canary before throwing exception.
13347 2022-09-27  Eugene Rozenfeld  <erozen@microsoft.com>
13349         * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
13351 2022-09-27  Kim Kuparinen  <kim.kuparinen@rightware.com>
13353         * doc/invoke.texi: Update ABI version info.
13355 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
13357         * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
13358         singleton.
13360 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
13362         * value-range.cc (irange::set_nonzero_bits): Set range when known.
13364 2022-09-27  Aldy Hernandez  <aldyh@redhat.com>
13366         * value-range.h (irange::set): New version taking wide_int_ref.
13368 2022-09-27  Jakub Jelinek  <jakub@redhat.com>
13370         PR tree-optimization/107029
13371         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
13372         OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
13373         signed and so can trigger even the (b % 4) == 3 case.
13375 2022-09-27  Jeff Law  <jeffreyalaw@gmail.com>
13377         * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
13378         and return are available before trying to use them.
13380 2022-09-27  Jakub Jelinek  <jakub@redhat.com>
13382         PR c++/106652
13383         PR c++/85518
13384         * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
13385         enumerator.
13386         * tree.h (float128t_type_node): Define.
13387         * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
13388         * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
13389         _Float<N> is supported in C++ too.
13390         * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
13391         float128t_type_node.
13392         * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
13393         float128t_type_node for __float128 instead of float128_type_node
13394         and create it if NULL.
13395         * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
13396         _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
13397         0.0f.
13398         * config/ia64/ia64.cc (ia64_init_builtins): Use
13399         float128t_type_node for __float128 instead of float128_type_node
13400         and create it if NULL.
13401         * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
13402         for float128t_type_node if non-NULL.
13403         * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
13404         float128_type_node as "u9__ieee128".
13405         * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
13406         float128t_type_node for __float128 instead of float128_type_node
13407         and create it if NULL.
13409 2022-09-26  Martin Liska  <mliska@suse.cz>
13411         * doc/invoke.texi: Add missing dash for
13412         Wanalyzer-exposure-through-uninit-copy.
13414 2022-09-26  Aldy Hernandez  <aldyh@redhat.com>
13416         PR tree-optimization/107009
13417         * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
13418         (range_op_bitwise_and_tests): New test.
13420 2022-09-26  Aldy Hernandez  <aldyh@redhat.com>
13422         PR tree-optimization/107009
13423         * tree-ssa-dom.cc
13424         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
13425         Iterate over exports.
13427 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
13429         * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
13430         the default.
13431         * config/nvptx/gen-multilib-matches.sh: New.
13432         * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
13433         (MULTILIB_EXCEPTIONS): Handle this.
13434         * doc/install.texi (Specific) <nvptx-*-none>: Document this.
13435         * doc/invoke.texi (Nvidia PTX Options): Likewise.
13437 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
13439         * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
13440         * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
13441         (MULTILIB_EXCEPTIONS): Handle it.
13443 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
13445         * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
13446         * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
13447         '-misa' appeared.
13448         * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
13449         * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
13451 2022-09-26  Thomas Schwinge  <thomas@codesourcery.com>
13453         * config/nvptx/nvptx.h (ASM_SPEC): Define.
13455 2022-09-26  Jeff Law  <jeffreyalaw@gmail.com>
13457         * cfgcleanup.cc (bb_is_just_return): No longer static.
13458         * cfgcleanup.h (bb_is_just_return): Add prototype.
13459         * cfgrtl.cc (fixup_reorder_chain): Do not create an
13460         unconditional jump to a return block.  Conditionally
13461         remove unreachable blocks.
13463 2022-09-26  Tobias Burnus  <tobias@codesourcery.com>
13465         PR middle-end/106982
13466         * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
13468 2022-09-26  Martin Liska  <mliska@suse.cz>
13470         * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
13471         and use only dst.
13473 2022-09-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
13475         * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
13476         (armv9.2-a): Likewise.
13477         (armv9.3-a): Likewise.
13478         * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
13479         (AARCH64_FL_V9_2): Likewise.
13480         (AARCH64_FL_V9_3): Likewise.
13481         (AARCH64_FL_FOR_ARCH9_1): Likewise.
13482         (AARCH64_FL_FOR_ARCH9_2): Likewise.
13483         (AARCH64_FL_FOR_ARCH9_3): Likewise.
13484         (AARCH64_ISA_V9_1): Likewise.
13485         (AARCH64_ISA_V9_2): Likewise.
13486         (AARCH64_ISA_V9_3): Likewise.
13487         * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
13488         armv9.3-a values to -march.
13490 2022-09-26  Martin Liska  <mliska@suse.cz>
13492         * value-range.cc (tree_compare): Remove unused function.
13494 2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
13496         PR target/96072
13497         * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
13498         condition for adding REG_CFA_DEF_CFA reg note with
13499         frame_pointer_needed_indeed.
13501 2022-09-26  Kewen Lin  <linkw@linux.ibm.com>
13503         PR target/100645
13504         * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
13505         TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
13507 2022-09-26  Hongtao Liu  <hongtao.liu@intel.com>
13508             Liwei Xu  <liwei.xu@intel.com>
13510         PR target/53346
13511         * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
13512         New function.
13513         (ix86_expand_vec_perm_const_1): Insert
13514         expand_vec_perm_shufps_shufps at the end of 2-instruction
13515         expand sequence.
13517 2022-09-25  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
13519         * doc/sourcebuild.texi: Fix chapter level.
13521 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
13523         PR c/107001
13524         * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
13525         at the end.
13526         * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
13527         is not stand-alone directive.  For GIMPLE_OMP_TASKGROUP, also don't
13528         update parent.
13529         (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
13530         cur_region back after new_omp_region.
13532 2022-09-23  Vineet Gupta  <vineetg@rivosinc.com>
13534         * config/riscv/riscv.h (LOCAL_SYM_P): New.
13535         (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
13537 2022-09-23  zhongjuzhe  <juzhe.zhong@rivai.ai>
13539         * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
13540         (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
13541         (ADJUST_ALIGNMENT): Adjust alignment.
13542         (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
13543         (RVV_MODES): New macro.
13544         (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
13545         (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
13547 2022-09-23  zhongjuzhe  <juzhe.zhong@rivai.ai>
13549         * common/config/riscv/riscv-common.cc: Change "static void" to "void".
13550         * config.gcc: Add riscv-selftests.o
13551         * config/riscv/predicates.md: Allow const_poly_int.
13552         * config/riscv/riscv-protos.h (riscv_reinit): New function.
13553         (riscv_parse_arch_string): change as exten function.
13554         (riscv_run_selftests): New function.
13555         * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
13556         into const pool.
13557         (riscv_report_v_required): New function.
13558         (riscv_expand_op): New function.
13559         (riscv_expand_mult_with_const_int): New function.
13560         (riscv_legitimize_poly_move): Ditto.
13561         (riscv_legitimize_move): New function.
13562         (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
13563         vector RA.
13564         (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
13565         -marh no 'v'.
13566         (riscv_reinit): New function.
13567         (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
13568         * config/riscv/t-riscv: Add riscv-selftests.o.
13569         * config/riscv/riscv-selftests.cc: New file.
13571 2022-09-23  Richard Biener  <rguenther@suse.de>
13573         PR tree-optimization/106922
13574         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
13575         an arbitrary number of same valued skipped stores.
13577 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
13579         * value-range.cc (frange::set): Swap setters such that the one
13580         accepting REAL_VALUE_TYPE does all the work.
13582 2022-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
13584         * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
13585         (demeter): Update tunings to neoversev2.
13586         * config/aarch64/aarch64-tune.md: Regenerate.
13587         * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
13588         neoversev2_addrcost_table.
13589         (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
13590         (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
13591         (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
13592         (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
13593         (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
13594         (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
13595         (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
13596         Update references to above.
13597         (demeter_vector_cost): Rename to neoversev2_vector_cost.
13598         (demeter_tunings): Rename to neoversev2_tunings.
13599         (aarch64_vec_op_count::rename_cycles_per_iter): Use
13600         neoversev2_sve_issue_info instead of demeter_sve_issue_info.
13601         * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
13603 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
13605         * range-op-float.cc (build_le): Use vrp_val_*.
13606         (build_lt): Same.
13607         (build_ge): Same.
13608         (build_gt): Same.
13609         * value-range.cc (frange::set): Chop ranges outside of the
13610         representable numbers for -ffinite-math-only.
13611         (frange::normalize_kind): Use vrp_val*.
13612         (frange::verify_range): Same.
13613         (frange::set_nonnegative): Same.
13614         (range_tests_floats): Remove tests that depend on -INF and +INF.
13615         * value-range.h (real_max_representable): Add prototype.
13616         (real_min_representable): Same.
13617         (vrp_val_max): Set max representable number for
13618         -ffinite-math-only.
13619         (vrp_val_min): Same but for min.
13620         (frange::set_varying): Use vrp_val*.
13622 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
13624         * real.cc (debug): New.
13626 2022-09-23  Aldy Hernandez  <aldyh@redhat.com>
13628         * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
13629         (vrange_printer::visit): Call print_real_value.
13630         * value-range-pretty-print.h: New print_real_value.
13632 2022-09-23  Martin Liska  <mliska@suse.cz>
13634         * common.opt: Update -flto-compression-level documentation.
13635         * opts.cc (print_filtered_help): Do not append range to an
13636         option that uses \t syntax.
13638 2022-09-23  Jakub Jelinek  <jakub@redhat.com>
13640         * attribs.cc (decl_attributes): Improve diagnostics, instead of
13641         saying expected between 1 and 1, found 2 just say expected 1, found 2.
13643 2022-09-23  Hu, Lin1  <lin1.hu@intel.com>
13645         PR target/94962
13646         * config/i386/constraints.md (BH): New define_constraint.
13647         * config/i386/i386.cc (standard_sse_constant_p): Add return
13648         3/4 when operand matches new predicate.
13649         (standard_sse_constant_opcode): Add new alternative branch to
13650         return "vpcmpeqd".
13651         * config/i386/predicates.md
13652         (vector_all_ones_zero_extend_half_operand): New define_predicate.
13653         (vector_all_ones_zero_extend_quarter_operand): Ditto.
13654         * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
13656 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13658         * gimple-range-fold.cc (range_of_range_op): Handle no operands.
13659         (range_of_call): Do not check for builtins.
13660         (fold_using_range::range_of_builtin_call): Delete.
13661         (fold_using_range::range_of_builtin_int_call): Delete.
13662         * gimple-range-fold.h: Adjust prototypes.
13663         * gimple-range-op.cc (class cfn_parity): New.
13664         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13666 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13668         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13669         for CFN_GOACC_DIM_*.
13670         * gimple-range-op.cc (class cfn_goacc_dim): New.
13671         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13673 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13675         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13676         for CFN_BUILT_IN_STRLEN.
13677         * gimple-range-op.cc (class cfn_strlen): New.
13678         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13680 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13682         * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
13683         (range_of_builtin_int_call): Remove cases for
13684         CFN_BUILT_IN_UBSAN_CHECK.
13685         * gimple-range-op.cc (class cfn_ubsan): New.
13686         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13688 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13690         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13691         for CFN_BUILT_IN_CLRSB.
13692         * gimple-range-op.cc (class cfn_clrsb): New.
13693         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13695 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13697         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13698         for CFN_CTZ.
13699         * gimple-range-op.cc (class cfn_ctz): New.
13700         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13702 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13704         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13705         for CFN_CLZ.
13706         * gimple-range-op.cc (class cfn_clz): New.
13707         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13709 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13711         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13712         for CFN_FFS and CFN_POPCOUNT.
13713         * gimple-range-op.cc (class cfn_pocount): New.
13714         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13716 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13718         * gimple-range-fold.cc (get_letter_range): Move to new class.
13719         (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
13720         and CFN_BUILT_IN_TOLOWER.
13721         * gimple-range-op.cc (class cfn_toupper_tolower): New.
13722         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13724 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13726         * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
13727         for CFN_BUILT_IN_SIGNBIT.
13728         * gimple-range-op.cc (class cfn_signbit): New.
13729         (gimple_range_op_handler::maybe_builtin_call): Set arguments.
13731 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13733         * gimple-range-fold.cc
13734         (fold_using_range::range_of_builtin_int_call): Remove case for
13735         CFN_BUILT_IN_CONSTANT_P.
13736         * gimple-range-op.cc (gimple_range_op_handler::supported_p):
13737         Check if a call also creates a range-op object.
13738         (gimple_range_op_handler): Also check builtin calls.
13739         (class cfn_constant_float_p): New.  Float CFN_BUILT_IN_CONSTANT_P.
13740         (class cfn_constant_p): New.  Integral CFN_BUILT_IN_CONSTANT_P.
13741         (gimple_range_op_handler::maybe_builtin_call): Set arguments and
13742         handler for supported built-in calls.
13743         * gimple-range-op.h (maybe_builtin_call): New prototype.
13745 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13747         * gimple-range-fold.cc (range_of_range_op): Set result to
13748         VARYING if the call to fold_range fails.
13749         * tree-data-ref.cc (compute_distributive_range): Ditto.
13750         * tree-vrp.cc (range_fold_binary_expr): Ditto.
13751         (range_fold_unary_expr): Ditto.
13752         * value-query.cc (range_query::get_tree_range): Ditto.
13754 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13756         * range-op-float.cc (range_operator_float::fold_range): New base
13757         method for "int = float op int".
13758         * range-op.cc (range_op_handler::fold_range): New case.
13759         * range-op.h: Update prototypes.
13761 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13763         * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
13764         operand 1 for second range if there is no operand 2.
13766 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13768         * Makefile.in (OBJS): Add gimple-range-op.o.
13769         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
13770         gimple_range_op_handler.
13771         * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
13772         to a method in gimple_range_op_handler.
13773         (gimple_range_operand1): Ditto.
13774         (gimple_range_operand2): Ditto.
13775         (fold_using_range::fold_stmt): Use gimple_range_op_handler.
13776         (fold_using_range::range_of_range_op): Ditto.
13777         (fold_using_range::relation_fold_and_or): Ditto.
13778         (fur_source::register_outgoing_edges): Ditto.
13779         (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
13780         * gimple-range-fold.h: Adjust prototypes.
13781         * gimple-range-gori.cc (gimple_range_calc_op1): Move
13782         to a method in gimple_range_op_handler.
13783         (gimple_range_calc_op2): Ditto.
13784         (gori_compute::compute_operand_range): Use
13785         gimple_range_op_handler.
13786         (gori_compute::compute_logical_operands): Ditto.
13787         (compute_operand1_range): Ditto.
13788         (gori_compute::compute_operand2_range): Ditto.
13789         (gori_compute::compute_operand1_and_operand2_range): Ditto.
13790         * gimple-range-gori.h: Adjust protoypes.
13791         * gimple-range-op.cc: New.  Supply gimple_range_op_handler methods.
13792         * gimple-range-op.h: New.  Supply gimple_range_op_handler class.
13793         * gimple-range.cc (gimple_ranger::prefill_name): Use
13794         gimple_range_op_handler.
13795         (gimple_ranger::prefill_stmt_dependencies): Ditto.
13796         * gimple-range.h: Include gimple-range-op.h.
13797         * range-op.cc (range_op_handler::range_op_handler): Adjust and
13798         remove gimple * parameter option.
13799         * range-op.h: Adjust prototypes.
13801 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13803         * range-op.cc (range_op_handler::set_op_handler): Set new fields.
13804         (ange_op_handler::range_op_handler): Likewise.
13805         (range_op_handler::operator bool): Remove.
13806         (range_op_handler::fold_range): Use appropriate handler.
13807         (range_op_handler::op1_range): Likewise.
13808         (range_op_handler::op2_range): Likewise.
13809         (range_op_handler::lhs_op1_relation): Likewise.
13810         (range_op_handler::lhs_op2_relation): Likewise.
13811         (range_op_handler::op1_op2_relation): Likewise.
13812         * range-op.h (class range_op_handler): Store handler pointers.
13813         (range_op_handler:: operator bool): Inline.
13815 2022-09-22  Andrew MacLeod  <amacleod@redhat.com>
13817         * tree-ssa-threadbackward.cc
13818         (back_threader::find_paths_to_names): Replace sequence with
13819         a call to gimple_range_ssa_names.
13821 2022-09-22  Martin Liska  <mliska@suse.cz>
13822             Fangrui Song  <i@maskray.me>
13824         * configure: Regenerate.
13825         * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
13826         and gcc_cv_as_compress_debug={0,1}.
13827         * doc/invoke.texi: Document the removal.
13828         * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
13829         zlib-gnu.
13830         (ASM_COMPRESS_DEBUG_SPEC): Likewise.
13832 2022-09-22  Richard Biener  <rguenther@suse.de>
13834         PR tree-optimization/106922
13835         * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
13836         (vn_walk_cb_data::finish): Perform delayed verification of
13837         a skipped may-alias.
13838         (vn_reference_lookup_pieces): Likewise.
13839         (vn_reference_lookup): Likewise.
13840         (vn_reference_lookup_3): When skipping stores of the same
13841         value also handle constant stores that are more than a
13842         single VDEF away by delaying the verification.
13844 2022-09-22  Max Filippov  <jcmvbkbc@gmail.com>
13846         * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
13847         definition.
13849 2022-09-22  Max Filippov  <jcmvbkbc@gmail.com>
13851         * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
13852         (xtensa_output_mi_thunk): New functions.
13853         (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
13854         (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
13855         (xtensa_prepare_expand_call): Use fixed register a8 as temporary
13856         when called with reload_completed set to 1.
13858 2022-09-22  Richard Biener  <rguenther@suse.de>
13860         PR tree-optimization/99407
13861         * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
13862         (dse_classify_store): Use data-ref analysis to disambiguate more uses.
13863         (pass_dse::use_dr_analysis_p): New pass parameter.
13864         (pass_dse::set_pass_param): Implement.
13865         (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
13866         * passes.def: Allow DR analysis for the DSE pass before loop.
13868 2022-09-22  Richard Biener  <rguenther@suse.de>
13870         * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
13871         function split out from ...
13872         (vn_nary_op_insert_pieces_predicated): ... here.
13874 2022-09-22  liuhongt  <hongtao.liu@intel.com>
13876         PR target/106994
13877         * config/i386/mmx.md (floorv2sf2): Fix typo, use
13878         register_operand instead of vector_operand for operands[1].
13880 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
13882         PR tree-optimization/106967
13883         * value-range.cc (frange::set): Set known NANs to undefined for
13884         flag_finite_math_only.
13886 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
13888         * value-range.cc (frange::combine_zeros): Call set_undefined.
13889         (frange::intersect_nans): Same.
13890         (frange::intersect): Same.
13891         (frange::verify_range): Undefined ranges do not have a type.
13892         * value-range.h (frange::set_undefined): Clear NAN flags and type.
13894 2022-09-21  Richard Biener  <rguenther@suse.de>
13896         PR tree-optimization/106984
13897         * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
13898         a separate statement.
13900 2022-09-21  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
13902         * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
13903         EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
13904         OPTION_DEFAULT_SPECS.
13905         (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
13906         local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
13907         is given.
13908         (CONFIG_TUNE_SPEC): Define.
13909         (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
13911 2022-09-21  Aldy Hernandez  <aldyh@redhat.com>
13913         PR tree-optimization/106967
13914         * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
13915         (foperator_equal::op1_range): Same.
13916         (foperator_not_equal::fold_range): Same.
13917         (foperator_not_equal::op1_range): Same.
13918         (foperator_lt::fold_range): Same.
13919         (foperator_lt::op1_range): Same.
13920         (foperator_lt::op2_range): Same.
13921         (foperator_le::fold_range): Same.
13922         (foperator_le::op1_range): Same.
13923         (foperator_le::op2_range): Same.
13924         (foperator_gt::fold_range): Same.
13925         (foperator_gt::op1_range): Same.
13926         (foperator_gt::op2_range): Same.
13927         (foperator_ge::fold_range): Same.
13928         (foperator_ge::op1_range): Same.
13929         (foperator_ge::op2_range): Same.
13930         (foperator_unordered::op1_range): Same.
13931         (foperator_ordered::fold_range): Same.
13932         (foperator_ordered::op1_range): Same.
13933         (build_le): Assert that we don't have a NAN.
13934         (build_lt): Same.
13935         (build_gt): Same.
13936         (build_ge): Same.
13938 2022-09-21  liuhongt  <hongtao.liu@intel.com>
13940         PR tree-optimization/106963
13941         * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
13942         vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
13944 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
13946         * value-range.h (frange::maybe_isnan): Return false for
13947         undefined ranges.
13949 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
13951         * value-range.cc (frange::set_nonnegative): Set +NAN.
13952         (range_tests_signed_zeros): New test.
13953         * value-range.h (frange::update_nan): New overload to set NAN sign.
13955 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
13957         PR target/106491
13958         * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
13959         (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
13960         markup to (new) extern declarations instead of to the main
13961         definition.
13963 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
13965         PR tree-optimization/106794
13966         PR tree-optimization/106914
13967         * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
13968         Only consider loads that already have a permutation.
13969         (vect_optimize_slp_pass::start_choosing_layouts): Assert that
13970         loads with permutations are leaf nodes.  Prevent any kind of grouped
13971         access from changing layout if it doesn't have a load permutation.
13973 2022-09-20  Richard Sandiford  <richard.sandiford@arm.com>
13975         * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
13976         early-out optimisation to SSA_NAMEs.
13978 2022-09-20  Martin Liska  <mliska@suse.cz>
13980         * ctfc.cc (ctf_add_string): Replace "the the" with "the".
13981         * doc/md.texi: Likewise.
13982         * gimple-range-infer.cc (non_null_loadstore): Likewise.
13984 2022-09-20  liuhongt  <hongtao.liu@intel.com>
13986         PR target/106910
13987         * config/i386/mmx.md (nearbyintv2sf2): New expander.
13988         (rintv2sf2): Ditto.
13989         (ceilv2sf2): Ditto.
13990         (lceilv2sfv2si2): Ditto.
13991         (floorv2sf2): Ditto.
13992         (lfloorv2sfv2si2): Ditto.
13993         (btruncv2sf2): Ditto.
13994         (lrintv2sfv2si2): Ditto.
13995         (roundv2sf2): Ditto.
13996         (lroundv2sfv2si2): Ditto.
13997         (*mmx_roundv2sf2): New define_insn.
13999 2022-09-20  konglin1  <lingling.kong@intel.com>
14001         PR middle-end/105735
14002         * tree-scalar-evolution.cc
14003         (analyze_and_compute_bitop_with_inv_effect): New function.
14004         (final_value_replacement_loop): Enhanced to handle bitop
14005         with inv induction.
14007 2022-09-20  Xi Ruoyao  <xry111@xry111.site>
14009         * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
14010         -static-pie, pass -static -pie --no-dynamic-linker -z text to
14011         the linker, and do not pass --dynamic-linker.
14013 2022-09-20  Aldy Hernandez  <aldyh@redhat.com>
14015         * value-range.cc (frange::flush_denormals_to_zero): New.
14016         (frange::set): Call flush_denormals_to_zero.
14017         * value-range.h (class frange): Add flush_denormals_to_zero.
14019 2022-09-20  liuhongt  <hongtao.liu@intel.com>
14021         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
14022         latest Intel processors.
14024 2022-09-20  konglin1  <lingling.kong@intel.com>
14026         PR target/106887
14027         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
14028         Fixed V16BF mode case.
14030 2022-09-19  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>
14032         * targhooks.cc (default_zero_call_used_regs): Improve sorry
14033         message.
14035 2022-09-18  Julian Brown  <julian@codesourcery.com>
14037         * gimplify.cc (omp_segregate_mapping_groups): Update comment.
14038         (gimplify_adjust_omp_clauses): Move ATTACH and
14039         ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
14040         for offloaded OpenMP regions.
14042 2022-09-18  Jakub Jelinek  <jakub@redhat.com>
14044         PR middle-end/106831
14045         * value-range.cc (frange::singleton_p): Avoid propagating long
14046         doubles that may have multiple representations.
14048 2022-09-18  Aldy Hernandez  <aldyh@redhat.com>
14050         * range-op-float.cc (frange_add_zeros): Replace set_signbit with
14051         union of zero.
14052         * value-query.cc (range_query::get_tree_range): Remove set_signbit
14053         use.
14054         * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
14055         Remove.
14056         (vrange_printer::print_frange_nan): New.
14057         * value-range-pretty-print.h (print_frange_prop): Remove.
14058         (print_frange_nan): New.
14059         * value-range-storage.cc (frange_storage_slot::set_frange): Set
14060         kind and NAN fields.
14061         (frange_storage_slot::get_frange): Restore kind and NAN fields.
14062         * value-range-storage.h (class frange_storage_slot): Add kind and
14063         NAN fields.
14064         * value-range.cc (frange::update_nan): Remove.
14065         (frange::set_signbit): Remove.
14066         (frange::set): Adjust for NAN fields.
14067         (frange::normalize_kind): Remove m_props.
14068         (frange::combine_zeros): New.
14069         (frange::union_nans): New.
14070         (frange::union_): Handle new NAN fields.
14071         (frange::intersect_nans): New.
14072         (frange::intersect): Handle new NAN fields.
14073         (frange::operator=): Same.
14074         (frange::operator==): Same.
14075         (frange::contains_p): Same.
14076         (frange::singleton_p): Remove special case for signed zeros.
14077         (frange::verify_range): Adjust for new NAN fields.
14078         (frange::set_zero): Handle signed zeros.
14079         (frange::set_nonnegative): Same.
14080         (range_tests_nan): Adjust tests.
14081         (range_tests_signed_zeros): Same.
14082         (range_tests_signbit): Same.
14083         (range_tests_floats): Same.
14084         * value-range.h (class fp_prop): Remove.
14085         (FP_PROP_ACCESSOR): Remove.
14086         (class frange_props): Remove
14087         (frange::lower_bound): NANs don't have endpoints.
14088         (frange::upper_bound): Same.
14089         (frange_props::operator==): Remove.
14090         (frange_props::union_): Remove.
14091         (frange_props::intersect): Remove.
14092         (frange::update_nan): New.
14093         (frange::clear_nan): New.
14094         (frange::undefined_p): New.
14095         (frange::set_nan): New.
14096         (frange::known_finite): Adjust for new NAN representation.
14097         (frange::maybe_isnan): Same.
14098         (frange::known_isnan): Same.
14099         (frange::signbit_p): Same.
14100         * gimple-range-fold.cc (range_of_builtin_int_call): Rename
14101         known_signbit_p into signbit_p.
14103 2022-09-17  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14105         * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
14106         to prevent warning.
14108 2022-09-17  Jakub Jelinek  <jakub@redhat.com>
14110         PR tree-optimization/106958
14111         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
14112         id >= l, cast op to type1, otherwise to pointer_sized_int_node.
14113         If type has pointer type, cast exp to pointer_sized_int_node
14114         even when id < l.
14116 2022-09-16  liuhongt  <hongtao.liu@intel.com>
14118         PR target/106910
14119         * config/i386/i386-builtins.cc
14120         (ix86_builtin_vectorized_function): Modernized with
14121         corresponding expanders.
14122         * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
14123         expander.
14124         (floor<mode>2): Ditto.
14125         (lfloor<mode><sseintvecmodelower>2): Ditto.
14126         (ceil<mode>2): Ditto.
14127         (lceil<mode><sseintvecmodelower>2): Ditto.
14128         (btrunc<mode>2): Ditto.
14129         (lround<mode><sseintvecmodelower>2): Ditto.
14130         (exp2<mode>2): Ditto.
14132 2022-09-15  Joseph Myers  <joseph@codesourcery.com>
14134         * ginclude/float.h (INFINITY): Define only if
14135         [__FLT_HAS_INFINITY__].
14137 2022-09-15  Richard Biener  <rguenther@suse.de>
14139         PR tree-optimization/106922
14140         * tree-ssa-pre.cc (translate_vuse_through_block): Only
14141         keep the VUSE if its def dominates PHIBLOCK.
14142         (prune_clobbered_mems): Rewrite logic so we check whether
14143         a value dies in a block when the VUSE def doesn't dominate it.
14145 2022-09-15  Richard Biener  <rguenther@suse.de>
14147         * tree.cc (build_common_tree_nodes): Initialize void_list_node
14148         here.
14150 2022-09-15  Jiufu Guo  <guojiufu@linux.ibm.com>
14152         PR target/106550
14153         * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
14155 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
14157         * range-op-float.cc (frange_add_zeros): New.
14158         (build_le): Call frange_add_zeros.
14159         (build_ge): Same.
14160         (foperator_equal::op1_range): Same.
14161         (foperator_not_equal::op1_range): Same.
14163 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
14165         * range-op-float.cc (build_le): Accept frange instead of number.
14166         (build_lt): Same.
14167         (build_ge): Same.
14168         (build_gt): Same.
14169         (foperator_lt::op1_range): Pass full range to build_*.
14170         (foperator_lt::op2_range): Same.
14171         (foperator_le::op1_range): Same.
14172         (foperator_le::op2_range): Same.
14173         (foperator_gt::op1_range): Same.
14174         (foperator_gt::op2_range): Same.
14175         (foperator_ge::op1_range): Same.
14176         (foperator_ge::op2_range): Same.
14178 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
14180         * value-range.cc (frange::set): Use set_nan.
14181         * value-range.h (frange::set_nan): Inline code originally in
14182         set().
14184 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
14186         * range-op-float.cc (frange_set_nan): Remove.
14187         (build_lt): Use set_nan, update_nan, clear_nan.
14188         (build_gt): Same.
14189         (foperator_equal::op1_range): Same.
14190         (foperator_not_equal::op1_range): Same.
14191         (foperator_lt::op1_range): Same.
14192         (foperator_lt::op2_range): Same.
14193         (foperator_le::op1_range): Same.
14194         (foperator_le::op2_range): Same.
14195         (foperator_gt::op1_range): Same.
14196         (foperator_gt::op2_range): Same.
14197         (foperator_ge::op1_range): Same.
14198         (foperator_ge::op2_range): Same.
14199         (foperator_unordered::op1_range): Same.
14200         (foperator_ordered::op1_range): Same.
14201         * value-query.cc (range_query::get_tree_range): Same.
14202         * value-range.cc (frange::set_nan): Same.
14203         (frange::update_nan): Same.
14204         (frange::union_): Same.
14205         (frange::intersect): Same.
14206         (range_tests_nan): Same.
14207         (range_tests_signed_zeros): Same.
14208         (range_tests_signbit): Same.
14209         (range_tests_floats): Same.
14210         * value-range.h (class frange): Add update_nan and clear_nan.
14211         (frange::set_nan): New.
14213 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
14215         * value-query.cc (range_query::get_tree_range): Remove check for overflow.
14216         * value-range-pretty-print.cc (vrange_printer::visit): Move read
14217         of type until after undefined_p is checked.
14218         * value-range.cc (frange::set): Remove asserts for REAL_CST.
14219         (frange::contains_p): Tidy up.
14220         (range_tests_nan):  Add comment.
14221         * value-range.h (frange::type): Check for undefined_p.
14222         (frange::set_undefined): Remove set of endpoints.
14224 2022-09-14  Julian Brown  <julian@codesourcery.com>
14226         * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
14227         GOMP_MAP_STRUCT (for reindexing).
14228         (omp_gather_mapping_groups): Reimplement using...
14229         (omp_gather_mapping_groups_1): This new function.  Stop processing at
14230         GATHER_SENTINEL.
14231         (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
14232         (omp_index_mapping_groups): Reimplement using...
14233         (omp_index_mapping_groups_1): This new function.  Handle
14234         REINDEX_SENTINEL.
14235         (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
14236         functions.
14237         (omp_tsort_mapping_groups_1): Adjust handling of base group being the
14238         same as current group.  Use omp_mapped_by_containing_struct.
14239         (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
14240         and omp_reindex_mapping_groups.  Robustify group deletion for reordered
14241         lists.
14242         (gimplify_scan_omp_clauses): Update calls to
14243         omp_build_struct_sibling_lists.
14245 2022-09-14  Julian Brown  <julian@codesourcery.com>
14247         * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
14248         (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
14249         (insert_struct_comp_map): Refactor function into...
14250         (build_omp_struct_comp_nodes): This new function.  Remove list handling
14251         and improve self-documentation.
14252         (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters.  Move
14253         code to strip outer parts of address out of function, but strip no-op
14254         conversions.
14255         (omp_mapping_group): Add DELETED field for use during reindexing.
14256         (omp_strip_components_and_deref, omp_strip_indirections): New functions.
14257         (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
14258         (omp_gather_mapping_groups): Initialise DELETED field for new groups.
14259         (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
14260         (omp_siblist_insert_node_after, omp_siblist_move_node_after,
14261         omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
14262         helper functions.
14263         (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
14264         node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
14265         (omp_build_struct_sibling_lists): New function.
14266         (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
14267         struct_seen_clause, struct_deref_set.  Call
14268         omp_build_struct_sibling_lists as pre-pass instead of handling sibling
14269         lists in the function's main processing loop.
14270         (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
14271         handling, unused now.
14272         * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
14273         struct references, and references to pointers to structs also.
14275 2022-09-14  Richard Biener  <rguenther@suse.de>
14277         PR tree-optimization/106938
14278         * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
14279         edges for all last stmts in a block.  Do EH cleanup
14280         only on the last stmt in a block.
14282 2022-09-14  Aldy Hernandez  <aldyh@redhat.com>
14284         PR tree-optimization/106936
14285         * value-query.cc (range_query::get_value_range): Remove assert.
14287 2022-09-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14289         * config/mips/mips.cc (mips_option_override): Drop unused variable.
14291 2022-09-14  Julian Brown  <julian@codesourcery.com>
14293         * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
14294         functions.
14295         (omp_tsort_mark): Add enum.
14296         (omp_mapping_group): Add struct.
14297         (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
14298         omp_group_last, omp_gather_mapping_groups, omp_group_base,
14299         omp_index_mapping_groups, omp_containing_struct,
14300         omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
14301         omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
14302         functions.
14303         (gimplify_scan_omp_clauses): Call above functions instead of
14304         omp_target_reorder_clauses, unless we've seen an error.
14305         * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
14306         sorted mapping groups.
14308 2022-09-14  Jakub Jelinek  <jakub@redhat.com>
14310         PR tree-optimization/106878
14311         * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
14312         reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
14313         the second argument is INTEGER_CST, BIT_AND_EXPR.
14314         * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
14315         (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
14316         POINTER_TYPE_P or OFFSET_TYPE.
14317         * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
14318         pointers cast them to pointer sized integers first.
14320 2022-09-14  Richard Biener  <rguenther@suse.de>
14322         PR tree-optimization/106934
14323         * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
14324         of bitfields.
14325         (maybe_rewrite_mem_ref_base): Likewise.
14327 2022-09-14  liuhongt  <hongtao.liu@intel.com>
14329         PR tree-optimization/106905
14330         * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
14331         false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
14332         LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
14334 2022-09-13  Roger Sayle  <roger@nextmovesoftware.com>
14336         PR target/106877
14337         * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
14338         in gcc_assert.
14340 2022-09-13  Max Filippov  <jcmvbkbc@gmail.com>
14342         Revert:
14343         2022-09-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
14345         * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
14346         New macro definition.
14347         (xtensa_constant_ok_for_cprop_p):
14348         Implement the hook as mentioned above.
14350 2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
14352         PR target/104482
14353         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
14354         the equality check for argument number, and move this hunk ahead.
14356 2022-09-13  Kewen.Lin  <linkw@gcc.gnu.org>
14358         PR target/105485
14359         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
14360         the handling for unresolved overloaded builtin function.
14361         (rs6000_expand_builtin): Likewise.
14363 2022-09-13  Kewen Lin  <linkw@linux.ibm.com>
14365         * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
14366         m_nstores, m_reduc_factor, m_gather_load and member function
14367         determine_suggested_unroll_factor.
14368         (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
14369         m_reduc_factor and m_gather_load.
14370         (rs6000_cost_data::determine_suggested_unroll_factor): New function.
14371         (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
14372         * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
14373         (rs6000-vect-unroll-issue): Likewise.
14374         (rs6000-vect-unroll-reduc-threshold): Likewise.
14375         * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
14377 2022-09-13  Richard Biener  <rguenther@suse.de>
14379         PR middle-end/106909
14380         * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
14381         flag of a unreachable call.
14383 2022-09-13  Richard Biener  <rguenther@suse.de>
14385         PR tree-optimization/106913
14386         * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
14387         ft_reachable on EXIT_BLOCK.
14389 2022-09-13  Richard Sandiford  <richard.sandiford@arm.com>
14391         * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
14392         TARGET_FLOAT instead of TARGET_SIMD.
14393         (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
14394         TARGET_SIMD.
14395         (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
14396         in GPRs.
14397         (aarch64_classify_address): Treat little-endian structure moves
14398         like big-endian for TARGET_FLOAT && !TARGET_SIMD.
14399         (aarch64_secondary_memory_needed): New function.
14400         (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
14401         in the same way as TF, TI and TD.
14402         (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
14403         (aarch64_rtx_costs): Likewise.
14404         (aarch64_register_move_cost): Treat a pair of 64-bit vectors
14405         separately from a single 128-bit vector.  Handle the cost implied
14406         by aarch64_secondary_memory_needed.
14407         (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
14408         TARGET_SIMD.
14409         (aarch64_expand_vec_perm_const_1): Likewise.
14410         (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
14411         * config/aarch64/iterators.md (VTX): New iterator.
14412         * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
14413         (arch_enabled): Adjust accordingly.
14414         (@aarch64_reload_mov<TX:mode>): Extend to...
14415         (@aarch64_reload_mov<VTX:mode>): ...this.
14416         * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
14417         rather than TARGET_SIMD.
14418         (movmisalign<mode>): Likewise.
14419         (load_pair<DREG:mode><DREG2:mode>): Likewise.
14420         (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
14421         (load_pair<VQ:mode><VQ2:mode>): Likewise.
14422         (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
14423         (@aarch64_split_simd_mov<mode>): Likewise.
14424         (aarch64_get_low<mode>): Likewise.
14425         (aarch64_get_high<mode>): Likewise.
14426         (aarch64_get_half<mode>): Likewise.  Canonicalize to a move for
14427         lowpart extracts.
14428         (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
14429         TARGET_SIMD.  Use different w<-w and r<-w instructions for
14430         !TARGET_SIMD.  Disable immediate moves for !TARGET_SIMD but
14431         add an alternative specifically for w<-Z.
14432         (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
14433         TARGET_SIMD.  Likewise for the associated define_splits.  Disable
14434         FPR moves and immediate moves for !TARGET_SIMD but add an alternative
14435         specifically for w<-Z.
14436         (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
14437         TARGET_SIMD.  Restrict the existing alternatives to TARGET_SIMD
14438         but add a new r<-w one for !TARGET_SIMD.
14439         (*aarch64_get_high<mode>): New pattern.
14440         (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
14441         (store_pair_lanes<mode>): Likewise.
14442         (*aarch64_combine_internal<mode>): Likewise.  Restrict existing
14443         w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
14444         alternative for !TARGET_SIMD.
14445         (*aarch64_combine_internal_be<mode>): Likewise.
14446         (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
14447         Remove bogus arch attribute.
14448         (*aarch64_combinez_be<mode>): Likewise.
14449         (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
14450         TARGET_SIMD.
14451         (aarch64_combine<mode>): Likewise.
14452         (aarch64_rev_reglist<mode>): Likewise.
14453         (mov<mode>): Likewise.
14454         (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
14455         !TARGET_SIMD, regardless of endianness.  Extend associated
14456         define_splits in the same way, both for this pattern and the
14457         ones below.
14458         (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise.  Restrict w<-w
14459         alternative to TARGET_SIMD.
14460         (*aarch64_be_movoi): Likewise.
14461         (*aarch64_be_movci): Likewise.
14462         (*aarch64_be_movxi): Likewise.
14463         (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
14464         && !TARGET_SIMD, regardless of endianness.  Restrict w<-w alternative
14465         to TARGET_SIMD for tuples of 128-bit vectors.
14466         (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
14467         * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
14468         from DREG STP peephole.  Change TARGET_SIMD to TARGET_FLOAT in
14469         the VQ and VP_2E LDP and STP peepholes.
14471 2022-09-13  Richard Sandiford  <richard.sandiford@arm.com>
14473         * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
14474         condition.  Likewise for the related define_split.  Tweak formatting.
14476 2022-09-12  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
14478         * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
14479         New macro definition.
14480         (xtensa_constant_ok_for_cprop_p):
14481         Implement the hook as mentioned above.
14483 2022-09-12  Joseph Myers  <joseph@codesourcery.com>
14485         * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
14486         __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
14488 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
14490         * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
14491         a warning + not enabling offloading if -misa=sm_30 prevents
14492         reverse offload.
14493         (main): Use tool_name as progname for diagnostic.
14494         * config/gcn/mkoffload.cc (main): Likewise.
14496 2022-09-12  Aldy Hernandez  <aldyh@redhat.com>
14498         * value-range.cc (frange::set_signbit): Avoid changing sign when
14499         already in the correct sign.
14501 2022-09-12  Max Filippov  <jcmvbkbc@gmail.com>
14503         * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
14504         Recognize all 4 return registers.
14505         * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
14506         * config/xtensa/xtensa.md (untyped_call): New pattern.
14508 2022-09-12  Jonathan Wakely  <jwakely@redhat.com>
14510         * doc/extend.texi (Floating Types): Fix "_float128" typo.
14512 2022-09-10  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
14514         * config/xtensa/xtensa.cc (xtensa_constantsynth):
14515         Add new pattern for the abovementioned case.
14517 2022-09-10  Akari Takahashi  <akaritakahashioss@gmail.com>
14518             Segher Boessenkool  <segher@kernel.crashing.org>
14520         * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
14522 2022-09-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
14524         * config/xtensa/xtensa.md: Rewrite the split pattern that performs
14525         the abovementioned process so that insns that overwrite clobbered
14526         register no longer need to be contiguous.
14527         (DSC): Remove as no longer needed.
14529 2022-09-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
14531         * config/xtensa/xtensa.cc (machine_function): New boolean member as
14532         a flag that controls whether to emit the insns for stack pointer
14533         adjustment inside of the pro/epilogue.
14534         (xtensa_emit_adjust_stack_ptr): New function to share the common
14535         codes and to emit insns if not inhibited.
14536         (xtensa_expand_epilogue): Change to use the function mentioned
14537         above when using the CALL0 ABI.
14538         (xtensa_expand_prologue): Ditto.
14539         And also change to set the inhibit flag used by
14540         xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
14541         used for its own adjustment.
14543 2022-09-09  David Malcolm  <dmalcolm@redhat.com>
14545         * doc/invoke.texi (Static Analyzer Options): Add
14546         -Wanalyzer-exposure-through-uninit-copy.
14548 2022-09-09  David Malcolm  <dmalcolm@redhat.com>
14550         * Makefile.in (ANALYZER_OBJS): Add
14551         analyzer/known-function-manager.o.
14553 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
14555         * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
14556         (record_id): Store func name without quotes, store dim separately.
14557         (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
14558         at least sm_35, create '$offload_func_table' global array and init
14559         with reverse-offload function addresses.
14560         * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
14561         force_public attribute to force .visible.
14562         (nvptx_declare_function_name): For "omp target
14563         device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
14565 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
14567         * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
14568         similar to pre-existing .offload_var_table.
14570 2022-09-09  Joseph Myers  <joseph@codesourcery.com>
14572         * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
14573         New macro.
14575 2022-09-09  Kewen Lin  <linkw@linux.ibm.com>
14577         PR middle-end/106833
14578         * tree.cc (verify_opaque_type): New function.
14579         (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
14581 2022-09-09  Kwok Cheung Yeung  <kcy@codesourcery.com>
14583         * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
14584         FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
14585         * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
14586         * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
14587         MATH_UNOP_TRIG): New iterators.
14588         (math_unop): New attributes.
14589         (<math_unop><mode>2, <math_unop><mode>2<exec>,
14590         <math_unop><mode>2, <math_unop><mode>2<exec>,
14591         *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
14592         ldexp<mode>3, ldexp<mode>3<exec>,
14593         frexp<mode>_exp2, frexp<mode>_mant2,
14594         frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
14595         (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
14596         * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
14597         dconst1over2pi.
14598         (gcn_dconst1over2pi): New.
14599         (gcn_builtin_type_index): Add entry for v64df type.
14600         (v64df_type_node): New.
14601         (gcn_init_builtin_types): Initialize v64df_type_node.
14602         (gcn_expand_builtin_1): Expand new builtins to instructions.
14603         (print_operand): Fix assembler output for 1/(2*PI) constant.
14604         * config/gcn/gcn.md (unspec): Add new entries.
14606 2022-09-09  Richard Biener  <rguenther@suse.de>
14608         PR tree-optimization/106722
14609         * tree-predcom.cc (ref_at_iteration): Do not associate the
14610         constant part of the offset into the MEM_REF offset
14611         operand, across a non-zero offset.
14613 2022-09-09  Kito Cheng  <kito.cheng@sifive.com>
14615         * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
14616         Move forward for cover all all necessary functions for suppress
14617         unused function warnings.
14618         (riscv_multi_lib_check): Move forward, and tweak message to suppress
14619         -Werror=format-diag warning.
14621 2022-09-09  Richard Biener  <rguenther@suse.de>
14623         PR tree-optimization/106881
14624         * gimple-predicate-analysis.cc (simple_control_dep_chain):
14625         Add only non-fallthru edges and avoid the same set of edges
14626         as compute_control_dep_chain_pdom does.
14628 2022-09-09  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14630         * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
14631         of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
14632         * doc/tm.texi: Regenerate.
14634 2022-09-09  Martin Liska  <mliska@suse.cz>
14636         * optc-save-gen.awk: Always compare array option values with memcmp.
14638 2022-09-08  Jonathan Wakely  <jwakely@redhat.com>
14640         PR c++/106838
14641         * doc/extend.texi (Type Traits): Fix requirements. Document
14642         __is_aggregate and __is_final.
14644 2022-09-08  Tim Lange  <mail@tim-lange.me>
14646         PR analyzer/106625
14647         * doc/invoke.texi:
14648         State that the checker also reasons about symbolic values.
14650 2022-09-08  Richard Sandiford  <richard.sandiford@arm.com>
14652         PR tree-optimization/106886
14653         * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
14654         Fix copying of scalar stmts.
14656 2022-09-08  Chung-Lin Tang  <cltang@codesourcery.com>
14658         * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
14660 2022-09-08  Richard Biener  <rguenther@suse.de>
14662         PR middle-end/106870
14663         * gimple-harden-conditionals.cc (insert_check_and_trap):
14664         Set the control-altering flag on the built IFN_TRAP.
14665         * gimple.cc (gimple_build_builtin_unreachable): Likewise.
14666         * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
14667         flag on the .ABNORMAL_DISPATCHER call.
14668         * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
14669         resetting the control altering flag for ECF_NORETURN calls.
14670         (cleanup_control_flow_bb): Set the control altering flag on
14671         discovered noreturn calls.
14672         * symtab-thunks.cc (expand_thunk): Set the control altering
14673         flag for the noreturn tailcall case.
14674         * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
14675         calls.
14677 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
14679         * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
14680         Add doacross(sink:omp_cur_iteration-1) support.
14681         (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
14682         Adjust expand_omp_ordered_sink caller.
14683         (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
14684         non-NULL, set that variable to true at the start of outermost
14685         non-collapsed loop and set it to false at the end of innermost
14686         ordered loop.
14687         (expand_omp_for_generic): If fd->ordered, allocate
14688         1 + (fd->ordered - fd->collapse) further elements in counts array.
14689         Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
14690         fd->ordered - 1 loop if any.
14692 2022-09-08  Richard Biener  <rguenther@suse.de>
14694         PR tree-optimization/106881
14695         * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
14696         Add only non-fallthru edges and avoid the same set of edges
14697         as the caller does.
14699 2022-09-08  Aldy Hernandez  <aldyh@redhat.com>
14701         * gimple-range-fold.cc
14702         (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
14703         * range-op-float.cc (finite_operand_p): Same.
14704         (finite_operands_p): Same.
14705         (foperator_lt::fold_range): Same.
14706         (foperator_le::fold_range): Same.
14707         (foperator_gt::fold_range): Same.
14708         (foperator_ge::fold_range): Same.
14709         (foperator_unordered::fold_range): Same.
14710         (foperator_unordered::op1_range): Same.
14711         (foperator_ordered::fold_range): Same.
14712         * value-range.cc (frange::set_nan): Same.
14713         (frange::set_signbit): Same.
14714         (frange::union_): Same.
14715         (frange::intersect): Same.
14716         (frange::operator==): Same.
14717         (frange::singleton_p): Same.
14718         (frange::verify_range): Same.
14719         (range_tests_nan): Same.
14720         (range_tests_floats): Same.
14721         * value-range.h(frange::known_finite): New.
14722         (frange::maybe_inf): New.
14723         (frange::known_inf): New.
14724         (frange::maybe_nan): New.
14725         (frange::known_nan): New.
14726         (frange::known_signbit): New.
14728 2022-09-08  Iain Buclaw  <ibuclaw@gdcproject.org>
14730         * config/darwin-d.cc: Include tm.h.
14731         * config/dragonfly-d.cc: Likewise.
14732         * config/freebsd-d.cc: Remove memmodel.h.
14733         * config/glibc-d.cc: Likewise.
14734         * config/netbsd-d.cc: Include tm.h.
14735         * config/openbsd-d.cc: Likewise.
14736         * config/sol2-d.cc: Likewise.
14738 2022-09-08  Christophe Lyon  <christophe.lyon@arm.com>
14740         * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
14741         MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
14742         (mve_vqshluq_m_n_s<mode>): Likewise.
14743         (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
14744         instead of mve_imm_8/Rb.
14745         (mve_vqrshrunbq_n_s<mode>): Likewise.
14746         (mve_vqrshrntq_n_<supf><mode>): Likewise.
14747         (mve_vqrshruntq_n_s<mode>): Likewise.
14748         (mve_vrshrnbq_n_<supf><mode>): Likewise.
14749         (mve_vrshrntq_n_<supf><mode>): Likewise.
14750         (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
14751         (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
14752         (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
14753         (mve_vrshrntq_m_n_<supf><mode>): Likewise.
14754         (mve_vqrshrunbq_m_n_s<mode>): Likewise.
14755         (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
14756         of mve_imm_selective_upto_8/Rg.
14757         (mve_vsriq_m_n_<supf><mode>): Likewise.
14759 2022-09-08  Jiufu Guo  <guojiufu@linux.ibm.com>
14761         * config/rs6000/rs6000.md (splitter for set to and_mask constants):
14762         Use int_reg_operand (instead of int_reg_operand_not_pseudo).
14763         (splitter for multi-insn constant loads): Ditto.
14765 2022-09-08  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14767         * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
14768         -mvrsave is present.
14769         * config/rs6000/t-rtems: Add -mvrsave multilib variants for
14770         -mcpu=e6500.
14772 2022-09-07  Martin Liska  <mliska@suse.cz>
14774         * configure.ac: Restore detection of  HAVE_XCOFF_DWARF_EXTRAS.
14775         * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
14776         * configure: Regenerate.
14777         * config.in: Regenerate.
14779 2022-09-07  Surya Kumari Jangala  <jskumari@linux.ibm.com>
14781         PR rtl-optimization/105586
14782         * sched-rgn.cc (save_state_for_fallthru_edge): New function.
14783         (schedule_region): Use it for all blocks.
14785 2022-09-07  Joseph Myers  <joseph@codesourcery.com>
14787         * ginclude/stdalign.h [defined __STDC_VERSION__ &&
14788         __STDC_VERSION__ > 201710L]: Disable all content.
14789         * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
14790         > 201710L] (bool, true, false): Do not define.
14792 2022-09-07  Martin Liska  <mliska@suse.cz>
14794         PR bootstrap/106855
14795         * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
14796         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
14797         Restore usage of XCOFF_DEBUGGING_INFO.
14798         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
14799         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
14800         XCOFF_DEBUGGING_INFO.
14801         (dw2_asm_output_nstring): Likewise.
14802         (USE_LINKONCE_INDIRECT): Likewise.
14803         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
14804         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
14805         (output_fde): Likewise.
14806         (output_call_frame_info): Likewise.
14807         (have_macinfo): Likewise.
14808         (add_AT_loc_list): Likewise.
14809         (add_AT_view_list): Likewise.
14810         (output_compilation_unit_header): Likewise.
14811         (output_pubnames): Likewise.
14812         (output_aranges): Likewise.
14813         (output_line_info): Likewise.
14814         (output_macinfo): Likewise.
14815         (dwarf2out_finish): Likewise.
14816         (dwarf2out_early_finish): Likewise.
14818 2022-09-07  Richard Biener  <rguenther@suse.de>
14820         PR tree-optimization/106866
14821         * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
14822         we changed cfun->calls_setjmp make sure to purge all
14823         abnormal call edges.
14825 2022-09-07  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
14827         * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
14828         float LE comparing with zero for fpuv3.
14829         * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
14830         features are enabled.
14832 2022-09-07  Richard Biener  <rguenther@suse.de>
14834         PR tree-optimization/106860
14835         * tree-ssa-loop-split.cc (split_loop): Find the exit to
14836         latch edge from the loop exit edge instead of from the
14837         latch.  Verify we're going to find it.
14839 2022-09-07  Richard Biener  <rguenther@suse.de>
14841         * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
14842         Adjust to take the region exit source as argument.
14843         (uninit_analysis::init_from_phi_def): Adjust.
14844         (uninit_analysis::init_use_preds): Mark the dominating region
14845         before computing control dependences.
14847 2022-09-07  Richard Sandiford  <richard.sandiford@arm.com>
14849         * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
14850         w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
14851         in that case.  Extend w<-r to w<-Z.
14852         (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
14853         (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
14854         available.
14855         (define_split): Do not apply the floating-point immediate-to-register
14856         split to zeros, even if MOVI is not available.
14858 2022-09-07  Richard Sandiford  <richard.sandiford@arm.com>
14860         * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
14861         Disallow use of FPRs in register asms for !TARGET_FLOAT.
14863 2022-09-07  Lulu Cheng  <chenglulu@loongson.cn>
14865         PR target/106828
14866         * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
14867         (TARGET_ASAN_SHADOW_OFFSET): New.
14869 2022-09-07  Jakub Jelinek  <jakub@redhat.com>
14871         * doc/invoke.texi (-Wno-unicode): Document.
14873 2022-09-07  Jiufu Guo  <guojiufu@linux.ibm.com>
14875         * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
14877 2022-09-07  Jiufu Guo  <guojiufu@linux.ibm.com>
14879         * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
14880         replacements.
14882 2022-09-07  liuhongt  <hongtao.liu@intel.com>
14884         PR tree-optimization/103144
14885         * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
14886         (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
14887         (vect_create_nonlinear_iv_init): New function.
14888         (vect_peel_nonlinear_iv_init): Ditto.
14889         (vect_create_nonlinear_iv_step): Ditto
14890         (vect_create_nonlinear_iv_vec_step): Ditto
14891         (vect_update_nonlinear_iv): Ditto
14892         (vectorizable_nonlinear_induction): Ditto.
14893         (vectorizable_induction): Call
14894         vectorizable_nonlinear_induction when induction_type is not
14895         vect_step_op_add.
14896         * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
14897         Update nonlinear iv for epilogue loop.
14898         * tree-vectorizer.h (enum vect_induction_op_type): New enum.
14899         (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
14901 2022-09-06  Richard Biener  <rguenther@suse.de>
14903         PR tree-optimization/106754
14904         * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
14905         New function, split out from compute_control_dep_chain.  Handle
14906         loop-exit like conditions here by pushing to the control vector.
14907         (compute_control_dep_chain): Adjust and streamline dumping.
14908         In the wrapper perform a post-dominator walk as well.
14909         (uninit_analysis::init_use_preds): Remove premature early exit.
14911 2022-09-06  Max Filippov  <jcmvbkbc@gmail.com>
14913         * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
14915 2022-09-06  Aldy Hernandez  <aldyh@redhat.com>
14917         * range-op-float.cc (build_le): Handle NANs and going past infinity.
14918         (build_lt): Same.
14919         (build_ge): Same.
14920         (build_gt): Same.
14921         (foperator_lt::op1_range): Avoid adjustments to range if build_*
14922         returned false.
14923         (foperator_lt::op2_range): Same.
14924         (foperator_le::op1_range): Same.
14925         (foperator_le::op2_range): Same.
14926         (foperator_gt::op1_range): Same.
14927         (foperator_gt::op2_range): Same.
14929 2022-09-06  Richard Biener  <rguenther@suse.de>
14931         * gimple-predicate-analysis.cc (compute_control_dep_chain):
14932         Add output flag to indicate whether we possibly have dropped
14933         any chains.  Return whether the info is complete from the
14934         wrapping overload.
14935         (uninit_analysis::init_use_preds): Adjust accordingly, with
14936         a workaround for PR106754.
14937         (uninit_analysis::init_from_phi_def): Properly guard the
14938         case where we complete an empty chain.
14940 2022-09-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14942         * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
14944 2022-09-06  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
14946         * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
14947         type with same element type as arg0, and length as op2.
14949 2022-09-06  Richard Biener  <rguenther@suse.de>
14951         PR tree-optimization/106844
14952         * gimple-predicate-analysis.cc (compute_control_dep_chain):
14953         Return whether we found a chain.
14955 2022-09-06  Richard Biener  <rguenther@suse.de>
14957         PR tree-optimization/106841
14958         * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
14959         scatter/gather offset.
14961 2022-09-06  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
14963         * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
14965 2022-09-06  Jakub Jelinek  <jakub@redhat.com>
14967         * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
14968         (gimple_omp_subcode):  Use GIMPLE_OMP_ORDERED instead of
14969         GIMPLE_OMP_TEAMS as upper bound.
14970         (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
14971         inline functions.
14972         * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
14973         NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
14974         (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
14975         with NULL OMP_ORDERED_BODY.
14976         * omp-low.cc (check_omp_nesting_restrictions): Use
14977         gimple_omp_ordered_standalone_p test instead of
14978         omp_find_clause (..., OMP_CLAUSE_DOACROSS).
14979         (lower_omp_ordered): Likewise.
14980         * omp-expand.cc (expand_omp, build_omp_regions_1,
14981         omp_make_gimple_edges): Likewise.
14983 2022-09-06  Xianmiao Qu  <cooper.qu@linux.alibaba.com>
14985         * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
14986         (cskyv2_addcc_invert): Likewise.
14988 2022-09-06  Jose E. Marchesi  <jose.marchesi@oracle.com>
14990         * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
14991         `insn'.
14992         (bpf_expand_epilogue): Likewise.
14994 2022-09-06  liuhongt  <hongtao.liu@intel.com>
14996         * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
14997         Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
14998         * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
14999         (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
15000         (avx512f_vcvtps2ph512_mask_sae): New expander
15002 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
15004         * gimple-range-fold.cc
15005         (fold_using_range::range_of_builtin_int_call): Ignore sign bit
15006         when there's the possibility of a NAN.
15008 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
15010         * gimple-range-fold.cc
15011         (fold_using_range::range_of_builtin_int_call): Fold a set signbit
15012         in __builtin_signbit to nonzero.
15014 2022-09-05  Alexander Monakov  <amonakov@ispras.ru>
15016         PR target/106453
15017         * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
15018         bits of operand 0 are consumed, and the result is zero-extended
15019         to 64 bits.
15021 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
15023         PR middle-end/106831
15024         * value-range.h (frange::supports_p): Disable decimal floats.
15025         * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
15026         check.
15027         (frange_drop_ninf): Same.
15029 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
15031         PR middle-end/106824
15032         * value-range.cc (frange::set_nan): Set undefined when updating a
15033         NAN to a non-NAN.
15035 2022-09-05  Kito Cheng  <kito.cheng@sifive.com>
15037         * config/riscv/riscv.cc (riscv_option_override): Fix wrong
15038         condition for MASK_DIV and simplify incompatible checking.
15039         * config/riscv/riscv.md (muldi3): Adding parentheses.
15041 2022-09-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
15043         * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
15044         string is a valid -mcpu string and emit hint.
15046 2022-09-05  LiaoShihua  <shihua@iscas.ac.cn>
15048         * common/config/riscv/riscv-common.cc: Add Zmmul.
15049         * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
15050         (TARGET_ZMMUL): Ditto.
15051         * config/riscv/riscv.cc (riscv_option_override):Ditto.
15052         * config/riscv/riscv.md: Add Zmmul
15053         * config/riscv/riscv.opt: Ditto.
15055 2022-09-05  Richard Biener  <rguenther@suse.de>
15057         * tree-cfg.h (get_cases_for_edge): Declare.
15058         * tree-cfg.cc (get_cases_for_edge): Export.
15059         * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
15060         Start and end recording case labels.
15061         * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
15062         (predicate::init_from_control_deps): Use get_cases_for_edge.
15064 2022-09-05  Richard Biener  <rguenther@suse.de>
15066         * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
15067         (compute_control_dep_chain): Move uninit-control-dep-attempts
15068         checking where it also counts the post-dominator check
15069         invocations.
15071 2022-09-05  Richard Biener  <rguenther@suse.de>
15073         * gimple-predicate-analysis.h (predicate::debug): New.
15074         (predicate::dump): Add FILE * argument, add base overload.
15075         * gimple-predicate-analysis.cc (debug): New.
15076         (dump_pred_info): Add FILE * argument.
15077         (dump_pred_chain): Likewise.
15078         (predicate::dump): Split out preamble into overload.  Add
15079         FILE * argument.
15080         (predicate::debug): New.
15081         (predicate::simplify): Adjust.
15082         (predicate::normalize): Likewise.
15083         (predicate::init_from_control_deps): Likewise.
15085 2022-09-05  Richard Sandiford  <richard.sandiford@arm.com>
15087         * config/aarch64/aarch64-protos.h
15088         (aarch64_init_simd_builtins): Remove prototype.
15089         * config/aarch64/aarch64-builtins.cc
15090         (aarch64_simd_builtins_initialized_p): Delete.
15091         (aarch64_init_simd_builtins): Make static.  Remove protection
15092         against multiple calls.
15093         * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
15094         lazy SIMD builtin initialization.
15095         * config/aarch64/aarch64.cc
15096         (aarch64_option_valid_attribute_p): Likewise.
15098 2022-09-05  Xi Ruoyao  <xry111@xry111.site>
15100         * config/loongarch/genopts/loongarch.opt.in: Add
15101         -mdirect-extern-access option.
15102         * config/loongarch/loongarch.opt: Regenerate.
15103         * config/loongarch/loongarch.cc
15104         (loongarch_symbol_binds_local_p): Return true if
15105         TARGET_DIRECT_EXTERN_ACCESS.
15106         (loongarch_option_override_internal): Complain if
15107         -mdirect-extern-access is used with -fPIC or -fpic.
15108         * doc/invoke.texi: Document -mdirect-extern-access for
15109         LoongArch.
15111 2022-09-05  Martin Liska  <mliska@suse.cz>
15113         * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
15114         DEBUGGER_REGNO.
15115         * doc/tm.texi: Regenerate.
15117 2022-09-05  Martin Liska  <mliska@suse.cz>
15119         * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
15120         Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
15121         (aarch64_debugger_regno): Likewise.
15122         * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
15123         (aarch64_debugger_regno): Likewise.
15124         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
15125         (DEBUGGER_REGNO): Likewise.
15126         (DWARF_FRAME_REGNUM): Likewise.
15127         * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
15128         * config/arc/arc.cc (arc_init_reg_tables): Likewise.
15129         * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
15130         (DEBUGGER_REGNO): Likewise.
15131         * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
15132         (arm_debugger_regno): Likewise.
15133         * config/arm/arm.cc (arm_dbx_regno): Likewise.
15134         (arm_debugger_regno): Likewise.
15135         * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
15136         (DEBUGGER_REGNO): Likewise.
15137         * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
15138         (DEBUGGER_REGNO): Likewise.
15139         * config/c6x/c6x.cc: Likewise.
15140         * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
15141         (DEBUGGER_REGNO): Likewise.
15142         * config/cris/cris.h (enum reg_class): Likewise.
15143         (DBX_REGISTER_NUMBER): Likewise.
15144         (DEBUGGER_REGNO): Likewise.
15145         * config/csky/csky.cc (enum reg_class): Likewise.
15146         * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
15147         (DBX_REGISTER_NUMBER): Likewise.
15148         (DEBUGGER_REGNO): Likewise.
15149         * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
15150         (DEBUGGER_REGNO): Likewise.
15151         * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
15152         (DEBUGGER_REGNO): Likewise.
15153         * config/gcn/gcn.cc (print_operand): Likewise.
15154         * config/i386/bsd.h (ASM_QUAD): Likewise.
15155         * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
15156         (DEBUGGER_REGNO): Likewise.
15157         (DWARF_FRAME_REGNUM): Likewise.
15158         * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
15159         (DEBUGGER_REGNO): Likewise.
15160         * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
15161         (DEBUGGER_REGNO): Likewise.
15162         * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
15163         (DEBUGGER_REGNO): Likewise.
15164         * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
15165         (DEBUGGER_REGNO): Likewise.
15166         * config/i386/gas.h: Likewise.
15167         * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
15168         (DEBUGGER_REGNO): Likewise.
15169         * config/i386/i386.cc (enum reg_class): Likewise.
15170         * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
15171         (DEBUGGER_REGNO): Likewise.
15172         * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
15173         (DEBUGGER_REGNO): Likewise.
15174         * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
15175         (DEBUGGER_REGNO): Likewise.
15176         * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
15177         (DEBUGGER_REGNO): Likewise.
15178         * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
15179         (DEBUGGER_REGNO): Likewise.
15180         * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
15181         (DEBUGGER_REGNO): Likewise.
15182         * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
15183         (DEBUGGER_REGNO): Likewise.
15184         * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
15185         (DEBUGGER_REGNO): Likewise.
15186         * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
15187         (DEBUGGER_REGNO): Likewise.
15188         * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
15189         (DEBUGGER_REGNO): Likewise.
15190         * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
15191         (ia64_debugger_regno): Likewise.
15192         * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
15193         (ia64_dbx_regno): Likewise.
15194         (ia64_debugger_regno): Likewise.
15195         (process_cfa_adjust_cfa): Likewise.
15196         (process_cfa_register): Likewise.
15197         (ia64_asm_unwind_emit): Likewise.
15198         * config/ia64/ia64.h: Likewise.
15199         * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
15200         (DEBUGGER_REGNO): Likewise.
15201         * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
15202         (DEBUGGER_REGNO): Likewise.
15203         * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
15204         * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
15205         (DEBUGGER_REGNO): Likewise.
15206         * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
15207         (DEBUGGER_REGNO): Likewise.
15208         * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
15209         (DEBUGGER_REGNO): Likewise.
15210         (__transfer_from_trampoline): Likewise.
15211         * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
15212         (DEBUGGER_REGNO): Likewise.
15213         * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
15214         (DBX_REGISTER_NUMBER): Likewise.
15215         (DEBUGGER_REGNO): Likewise.
15216         * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
15217         * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
15218         (DEBUGGER_REGNO): Likewise.
15219         (GP_DBX_FIRST): Likewise.
15220         (GP_DEBUGGER_FIRST): Likewise.
15221         * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
15222         (DEBUGGER_REGNO): Likewise.
15223         * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
15224         (mmix_debugger_regno): Likewise.
15225         * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
15226         (mmix_debugger_regno): Likewise.
15227         * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
15228         (DEBUGGER_REGNO): Likewise.
15229         * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
15230         (nds32_debugger_regno): Likewise.
15231         * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
15232         (nds32_debugger_regno): Likewise.
15233         (nds32_use_blocks_for_constant_p): Likewise.
15234         * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
15235         (DEBUGGER_REGNO): Likewise.
15236         * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
15237         (DEBUGGER_REGNO): Likewise.
15238         * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
15239         (DEBUGGER_REGNO): Likewise.
15240         * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
15241         (DEBUGGER_REGNO): Likewise.
15242         * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
15243         (DEBUGGER_REGNO): Likewise.
15244         * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
15245         (rs6000_debugger_regno): Likewise.
15246         * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
15247         (rs6000_debugger_regno): Likewise.
15248         * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
15249         (DEBUGGER_REGNO): Likewise.
15250         (DWARF2_FRAME_REG_OUT): Likewise.
15251         * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
15252         (DEBUGGER_REGNO): Likewise.
15253         * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
15254         (DEBUGGER_REGNO): Likewise.
15255         * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
15256         (DEBUGGER_REGNO): Likewise.
15257         * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
15258         (DEBUGGER_REGNO): Likewise.
15259         (SH_DBX_REGISTER_NUMBER): Likewise.
15260         (SH_DEBUGGER_REGNO): Likewise.
15261         * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
15262         (DEBUGGER_REGNO): Likewise.
15263         * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
15264         (DEBUGGER_REGNO): Likewise.
15265         * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
15266         (DEBUGGER_REGNO): Likewise.
15267         * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
15268         (DEBUGGER_REGNO): Likewise.
15269         * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
15270         (xtensa_debugger_regno): Likewise.
15271         * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
15272         (xtensa_debugger_regno): Likewise.
15273         * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
15274         (DEBUGGER_REGNO): Likewise.
15275         * defaults.h (DBX_REGISTER_NUMBER): Likewise.
15276         (DEBUGGER_REGNO): Likewise.
15277         (DWARF_FRAME_REGNUM): Likewise.
15278         * doc/tm.texi: Likewise.
15279         * doc/tm.texi.in: Likewise.
15280         * dwarf2out.cc (dbx_reg_number): Likewise.
15281         (debugger_reg_number): Likewise.
15282         (reg_loc_descriptor): Likewise.
15283         (multiple_reg_loc_descriptor): Likewise.
15284         (mem_loc_descriptor): Likewise.
15285         * except.cc: Likewise.
15287 2022-09-05  konglin1  <lingling.kong@intel.com>
15289         PR target/106742
15290         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
15291         Handle V8BF mode.
15292         (expand_vec_perm_broadcast_1): Ditto.
15293         * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
15294         (vec_set<mode>_0): Add @ to it.
15295         (@vec_set<mode>_0): Ditto.
15296         (vec_interleave_high<mode><mask_name>): Ditto.
15297         (@vec_interleave_high<mode><mask_name>): Ditto.
15298         (vec_interleave_low<mode><mask_name>): Ditto.
15299         (@vec_interleave_low<mode><mask_name>): Ditto.
15300         * config/i386/subst.md (SUBST_V): Add BF vector mode.
15302 2022-09-05  Aldy Hernandez  <aldyh@redhat.com>
15304         * value-range.cc (early_nan_resolve): Remove.
15305         (frange::intersect): Handle NANs.
15307 2022-09-04  Aldy Hernandez  <aldyh@redhat.com>
15309         * value-range.cc (frange::union_): Do not drop properties when
15310         unioning a NAN with something else.
15311         (range_tests_signed_zeros): Add tests.
15313 2022-09-04  Aldy Hernandez  <aldyh@redhat.com>
15315         * real.cc (encode_ieee_single): Use real_isdenormal.
15316         (encode_ieee_double): Same.
15317         (encode_ieee_extended): Same.
15318         (encode_ieee_quad): Same.
15319         (encode_ieee_half): Same.
15320         (encode_arm_bfloat_half): Same.
15321         * real.h (real_isdenormal): New.
15323 2022-09-03  Aldy Hernandez  <aldyh@redhat.com>
15325         * value-range.cc (frange::singleton_p): Move NAN check to the top.
15327 2022-09-03  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
15329         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
15331 2022-09-03  Jakub Jelinek  <jakub@redhat.com>
15333         * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
15334         (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
15335         and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
15336         (enum omp_clause_doacross_kind): New type.
15337         (struct tree_omp_clause): Add subcode.doacross_kind member.
15338         * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
15339         (OMP_CLAUSE_DOACROSS_KIND): Define.
15340         (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
15341         (OMP_CLAUSE_DOACROSS_DEPEND): Define.
15342         (OMP_CLAUSE_ORDERED_DOACROSS): Define.
15343         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
15344         OMP_CLAUSE_DOACROSS entries.
15345         * tree-nested.cc (convert_nonlocal_omp_clauses,
15346         convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
15347         * tree-pretty-print.cc (dump_omp_clause): Don't handle
15348         OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.  Handle
15349         OMP_CLAUSE_DOACROSS.
15350         * gimplify.cc (gimplify_omp_depend): Don't handle
15351         OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
15352         (gimplify_scan_omp_clauses): Likewise.  Handle OMP_CLAUSE_DOACROSS.
15353         (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
15354         (find_standalone_omp_ordered): New function.
15355         (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
15356         body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
15357         set OMP_CLAUSE_ORDERED_DOACROSS.
15358         (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
15359         OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
15360         diagnostics that presence or absence of ordered clause parameter
15361         is irrelevant.  Handle doacross(sink:omp_cur_iteration-1).  Use
15362         actual user name of the clause - doacross or depend - in diagnostics.
15363         * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
15364         if !OMP_CLAUSE_ORDERED_DOACROSS (t).  If
15365         OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
15366         set fd->ordered to -1 and set it after the loop in that case to
15367         fd->collapse.
15368         * omp-low.cc (check_omp_nesting_restrictions): Don't handle
15369         OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
15370         OMP_CLAUSE_DOACROSS.  Use actual user name of the clause - doacross
15371         or depend - in diagnostics.  Diagnose mixing of stand-alone and
15372         block associated ordered constructs binding to the same loop.
15373         (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
15374         instead handle OMP_CLAUSE_DOACROSS.
15375         (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
15376         OMP_CLAUSE_DEPEND.
15377         (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
15378         OMP_CLAUSE_DEPEND_SINK.
15379         * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
15380         doacross(sink:omp_cur_iteration-1).
15381         (expand_omp_ordered_source_sink): Use
15382         OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
15383         OMP_CLAUSE_DEPEND_SINK_NEGATIVE.  Use actual user name of the clause
15384         - doacross or depend - in diagnostics.
15385         (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
15386         OMP_CLAUSE_DEPEND.
15387         (build_omp_regions_1): Likewise.
15388         (omp_make_gimple_edges): Likewise.
15389         * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
15390         * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
15391         * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
15393 2022-09-02  David Malcolm  <dmalcolm@redhat.com>
15395         PR c/90885
15396         * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
15398 2022-09-02  Iain Buclaw  <ibuclaw@gdcproject.org>
15400         PR d/105659
15401         * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
15402         * config/aarch64/aarch64-d.cc: Include tm_d.h.
15403         * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
15404         config/aarch64/aarch64-d.h.
15405         (aarch64_d_register_target_info): Likewise.
15406         * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
15407         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
15408         * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
15409         tm_p.h.
15410         * config/arm/arm-protos.h (arm_d_target_versions): Move to
15411         config/arm/arm-d.h.
15412         (arm_d_register_target_info): Likewise.
15413         * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
15414         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
15415         * config/default-d.cc: Remove memmodel.h include.
15416         * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
15417         * config/glibc-d.cc: Likewise.
15418         * config/i386/i386-d.cc: Include tm_d.h.
15419         * config/i386/i386-protos.h (ix86_d_target_versions): Move to
15420         config/i386/i386-d.h.
15421         (ix86_d_register_target_info): Likewise.
15422         (ix86_d_has_stdcall_convention): Likewise.
15423         * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
15424         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
15425         (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
15426         * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
15427         * config/mips/mips-d.cc: Include tm_d.h.
15428         * config/mips/mips-protos.h (mips_d_target_versions): Move to
15429         config/mips/mips-d.h.
15430         (mips_d_register_target_info): Likewise.
15431         * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
15432         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
15433         * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
15434         * config/openbsd-d.cc: Likewise.
15435         * config/pa/pa-d.cc: Include tm_d.h.
15436         * config/pa/pa-protos.h (pa_d_target_versions): Move to
15437         config/pa/pa-d.h.
15438         (pa_d_register_target_info): Likewise.
15439         * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
15440         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
15441         * config/riscv/riscv-d.cc: Include tm_d.h.
15442         * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
15443         config/riscv/riscv-d.h.
15444         (riscv_d_register_target_info): Likewise.
15445         * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
15446         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
15447         * config/rs6000/rs6000-d.cc: Include tm_d.h.
15448         * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
15449         config/rs6000/rs6000-d.h.
15450         (rs6000_d_register_target_info): Likewise.
15451         * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
15452         (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
15453         * config/s390/s390-d.cc: Include tm_d.h.
15454         * config/s390/s390-protos.h (s390_d_target_versions): Move to
15455         config/s390/s390-d.h.
15456         (s390_d_register_target_info): Likewise.
15457         * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
15458         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
15459         * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
15460         * config/sparc/sparc-d.cc: Include tm_d.h.
15461         * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
15462         config/sparc/sparc-d.h.
15463         (sparc_d_register_target_info): Likewise.
15464         * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
15465         (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
15466         * configure: Regenerate.
15467         * configure.ac (tm_d_file): Remove defaults.h.
15468         (tm_d_include_list): Remove options.h and insn-constants.h.
15469         * config/aarch64/aarch64-d.h: New file.
15470         * config/arm/arm-d.h: New file.
15471         * config/i386/i386-d.h: New file.
15472         * config/mips/mips-d.h: New file.
15473         * config/pa/pa-d.h: New file.
15474         * config/riscv/riscv-d.h: New file.
15475         * config/rs6000/rs6000-d.h: New file.
15476         * config/s390/s390-d.h: New file.
15477         * config/sparc/sparc-d.h: New file.
15479 2022-09-02  Aldy Hernandez  <aldyh@redhat.com>
15481         * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
15482         (fold_builtin_fpclassify): Same.
15483         * fold-const-call.cc (fold_const_call_cc): Same.
15484         * match.pd: Same.
15485         * omp-low.cc (omp_reduction_init_op): Same.
15486         * realmpfr.cc (real_from_mpfr): Same.
15487         * tree.cc (build_complex_inf): Same.
15489 2022-09-02  Peter Bergner  <bergner@linux.ibm.com>
15491         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
15492         NOP_EXPR for MMA pointer casting.
15494 2022-09-02  Richard Sandiford  <richard.sandiford@arm.com>
15496         * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
15497         Reduce the fallback cost to 1.  Only use it if the number of
15498         input lanes is equal to the number of output lanes.
15500 2022-09-02  Richard Sandiford  <richard.sandiford@arm.com>
15502         PR tree-optimization/106787
15503         * tree-vect-slp.cc (vect_map_to_instance): New function, split out
15504         from...
15505         (vect_bb_partition_graph_r): ...here.  Replace the visited set
15506         with a map from nodes to instances.  Ensure that a node only
15507         appears in one partition.
15508         (vect_bb_partition_graph): Update accordingly.
15510 2022-09-02  Richard Biener  <rguenther@suse.de>
15512         * timevar.def (TV_TREE_RPO_VN): New.
15513         * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
15514         * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
15515         (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
15516         (pass_fre::execute): Adjust.
15517         * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
15519 2022-09-02  Richard Biener  <rguenther@suse.de>
15521         PR tree-optimization/106809
15522         * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
15523         more than one successor before doing extra work.
15525 2022-09-02  Kito Cheng  <kito.cheng@sifive.com>
15527         * common/config/riscv/riscv-common.cc: Include <vector>.
15528         (struct riscv_multi_lib_info_t): New.
15529         (riscv_subset_list::match_score): Ditto.
15530         (find_last_appear_switch): Ditto.
15531         (prefixed_with): Ditto.
15532         (struct multi_lib_info_t): Ditto.
15533         (riscv_current_arch_str): Ditto.
15534         (riscv_current_abi_str): Ditto.
15535         (riscv_multi_lib_info_t::parse): Ditto.
15536         (riscv_check_cond): Ditto.
15537         (riscv_check_conds): Ditto.
15538         (riscv_compute_multilib): Ditto.
15539         (TARGET_COMPUTE_MULTILIB): Defined.
15540         * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
15541         doing link.
15542         (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
15543         * config/riscv/riscv.h (riscv_multi_lib_check): New.
15544         (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
15545         * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
15547 2022-09-02  Kito Cheng  <kito.cheng@sifive.com>
15549         * common/common-target.def (compute_multilib): New.
15550         * common/common-targhooks.h (default_compute_multilib): New.
15551         * common/common-targhooks.cc (default_compute_multilib): New.
15552         * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
15553         * doc/tm.texi: Regen.
15554         * gcc.cc: Include common/common-target.h.
15555         (set_multilib_dir) Call targetm_common.compute_multilib.
15556         (SWITCH_LIVE): Move to opts.h.
15557         (SWITCH_FALSE): Ditto.
15558         (SWITCH_IGNORE): Ditto.
15559         (SWITCH_IGNORE_PERMANENTLY): Ditto.
15560         (SWITCH_KEEP_FOR_GCC): Ditto.
15561         (struct switchstr): Ditto.
15562         * opts.h (SWITCH_LIVE): Move from gcc.c.
15563         (SWITCH_FALSE): Ditto.
15564         (SWITCH_IGNORE): Ditto.
15565         (SWITCH_IGNORE_PERMANENTLY): Ditto.
15566         (SWITCH_KEEP_FOR_GCC): Ditto.
15567         (struct switchstr): Ditto.
15569 2022-09-02  Martin Liska  <mliska@suse.cz>
15571         * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
15572         debugging format.
15574 2022-09-02  Martin Liska  <mliska@suse.cz>
15576         * Makefile.in: Remove -gstabs option support, DBX-related
15577         macros and DBX debugging info support.
15578         * collect2.cc (scan_prog_file): Likewise.
15579         * common.opt: Likewise.
15580         * config.gcc: Likewise.
15581         * config.in: Likewise.
15582         * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
15583         * config/alpha/alpha.cc: Likewise.
15584         * config/alpha/elf.h (ASM_SPEC): Likewise.
15585         * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
15586         (DBX_CONTIN_LENGTH): Likewise.
15587         * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
15588         (DBX_CONTIN_LENGTH): Likewise.
15589         * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
15590         * config/darwin.h (DSYMUTIL_SPEC): Likewise.
15591         (ASM_DEBUG_SPEC): Likewise.
15592         (DBX_DEBUGGING_INFO): Likewise.
15593         (DBX_USE_BINCL): Likewise.
15594         (DBX_CONTIN_LENGTH): Likewise.
15595         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
15596         * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
15597         (DBX_CONTIN_LENGTH): Likewise.
15598         * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
15599         (DBX_CONTIN_LENGTH): Likewise.
15600         * config/i386/gas.h (DBX_NO_XREFS): Likewise.
15601         (DBX_CONTIN_LENGTH): Likewise.
15602         * config/ia64/ia64.h: Likewise.
15603         * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
15604         * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
15605         * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
15606         (DBX_CONTIN_LENGTH): Likewise.
15607         (DBX_CONTIN_CHAR): Likewise.
15608         * config/mips/mips.cc (mips_output_filename): Likewise.
15609         (mips_option_override): Likewise.
15610         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
15611         (DBX_DEBUGGING_INFO): Likewise.
15612         (DBX_CONTIN_LENGTH): Likewise.
15613         (DBX_REGISTER_NUMBER): Likewise.
15614         (GP_DBX_FIRST): Likewise.
15615         (FP_DBX_FIRST): Likewise.
15616         (MD_DBX_FIRST): Likewise.
15617         * config/nvptx/nvptx.cc: Likewise.
15618         * config/openbsd.h (DBX_NO_XREFS): Likewise.
15619         * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
15620         * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
15621         (DBX_CONTIN_LENGTH): Likewise.
15622         * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
15623         (DBX_USE_BINCL): Likewise.
15624         (DBX_LINES_FUNCTION_RELATIVE): Likewise.
15625         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
15626         * config/pdp11/pdp11.cc: Likewise.
15627         * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
15628         (PREFERRED_DEBUGGING_TYPE): Likewise.
15629         (DBX_CONTIN_LENGTH): Likewise.
15630         * config/rs6000/rs6000-builtin.cc: Likewise.
15631         * config/rs6000/rs6000-call.cc: Likewise.
15632         * config/rs6000/rs6000-logue.cc (defined): Likewise.
15633         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
15634         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
15635         (rs6000_xcoff_declare_function_name): Likewise.
15636         * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
15637         (DBX_FUNCTION_FIRST): Likewise.
15638         * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
15639         * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
15640         * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
15641         (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
15642         * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
15643         * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
15644         * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
15645         * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
15646         * config/vax/vax.cc (vax_file_start): Likewise.
15647         * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
15648         (DBX_CONTIN_LENGTH): Likewise.
15649         (DBX_CONTIN_CHAR): Likewise.
15650         (DBX_NO_XREFS): Likewise.
15651         (DBX_STATIC_STAB_DATA_SECTION): Likewise.
15652         * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
15653         (XCOFF_DEBUGGING_INFO): Likewise.
15654         * configure: Regenerate. Likewise.
15655         * configure.ac: Likewise.
15656         * debug.h: Likewise.
15657         * doc/install.texi: Likewise.
15658         * doc/invoke.texi: Likewise.
15659         * doc/passes.texi: Likewise.
15660         * doc/tm.texi: Likewise.
15661         * doc/tm.texi.in: Likewise.
15662         * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
15663         (dw2_asm_output_nstring): Likewise.
15664         (USE_LINKONCE_INDIRECT): Likewise.
15665         * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
15666         (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
15667         (output_fde): Likewise.
15668         (output_call_frame_info): Likewise.
15669         (have_macinfo): Likewise.
15670         (add_AT_loc_list): Likewise.
15671         (add_AT_view_list): Likewise.
15672         (output_compilation_unit_header): Likewise.
15673         (output_pubnames): Likewise.
15674         (output_aranges): Likewise.
15675         (output_line_info): Likewise.
15676         (output_macinfo): Likewise.
15677         (dwarf2out_finish): Likewise.
15678         (dwarf2out_early_finish): Likewise.
15679         * final.cc (final_scan_insn_1): Likewise.
15680         (rest_of_handle_final): Likewise.
15681         * flag-types.h (enum debug_info_type): Likewise.
15682         (DBX_DEBUG): Likewise.
15683         (XCOFF_DEBUG): Likewise.
15684         * function.cc (defined): Likewise.
15685         * gcc.cc (defined): Likewise.
15686         (ASM_DEBUG_SPEC): Likewise.
15687         (ASM_DEBUG_OPTION_SPEC): Likewise.
15688         * opts.cc (common_handle_option): Likewise.
15689         (set_debug_level): Likewise.
15690         * system.h (fancy_abort): Likewise.
15691         * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
15692         (TARGET_ASM_DESTRUCTOR): Likewise.
15693         * toplev.cc (defined): Likewise.
15694         * varasm.cc: Likewise.
15695         * config/dbxcoff.h: Removed.
15696         * config/dbxelf.h: Removed.
15697         * dbxout.cc: Removed.
15698         * dbxout.h: Removed.
15699         * gstab.h: Removed.
15700         * stab.def: Removed.
15701         * xcoffout.cc: Removed.
15702         * xcoffout.h: Removed.
15704 2022-09-02  Simon Rainer  <gcc.gnu@vvalter.com>
15706         PR ipa/106627
15707         * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
15708         Set TREE_NOTHROW correctly for dispatcher declaration.
15709         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
15710         Likewise.
15712 2022-09-01  Tamar Christina  <tamar.christina@arm.com>
15714         PR other/106782
15715         * config/aarch64/aarch64.cc
15716         (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
15717         HOST_WIDE_INT_PRINT_UNSIGNED.
15719 2022-09-01  Richard Sandiford  <richard.sandiford@arm.com>
15721         * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
15722         VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
15723         to the number of vector elements, if that's a known constant.
15724         (vect_optimize_slp_pass::is_compatible_layout): Remove associated
15725         comment about zero SLP_TREE_LANES.
15726         (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
15727         all partition members when looking for potential layouts.
15728         Handle existing permutes of fixed-length vectors.
15730 2022-09-01  Uroš Bizjak  <ubizjak@gmail.com>
15732         PR target/106707
15733         * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
15734         Do not convert a move pattern where both operands are AX_REG.
15736 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15738         * range-op-float.cc (build_le): Convert to dconst*inf.
15739         (build_ge): Same.
15740         * value-range.cc (frange::set_signbit): Same.
15741         (frange::normalize_kind): Same.
15742         (range_tests_floats): Same.
15743         * value-range.h (vrp_val_max): Same.
15744         (vrp_val_min): Same.
15745         (frange::set_varying): Same.
15747 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15749         * emit-rtl.cc (init_emit_once): Initialize dconstinf and
15750         dconstninf.
15751         * real.h: Add dconstinf and dconstninf.
15753 2022-09-01  Richard Biener  <rguenther@suse.de>
15755         * gimple-predicate-analysis.cc (compute_control_dep_chain):
15756         Remove cycle detection, instead avoid walking backedges.
15758 2022-09-01  Richard Biener  <rguenther@suse.de>
15760         * gimple-predicate-analysis.cc (compute_control_dep_chain):
15761         New wrapping overload.
15762         (uninit_analysis::init_use_preds): Simplify.
15763         (uninit_analysis::init_from_phi_def): Likewise.
15765 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15767         * gimple-range-fold.cc
15768         (fold_using_range::range_of_builtin_int_call): Add case for
15769         CFN_BUILT_IN_SIGNBIT.
15771 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15773         * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
15774         bit.
15775         (foperator_not_equal::op1_range): Same.
15776         * value-query.cc (range_query::get_tree_range): Set sign bit.
15777         * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
15778         * value-range.cc (frange::set_signbit): New.
15779         (frange::set): Adjust for sign bit.
15780         (frange::normalize_kind): Same.
15781         (frange::union_): Remove useless comment.
15782         (frange::intersect): Same.
15783         (frange::contains_p): Adjust for sign bit.
15784         (frange::singleton_p): Same.
15785         (frange::verify_range): Same.
15786         (range_tests_signbit): New tests.
15787         (range_tests_floats): Call range_tests_signbit.
15788         * value-range.h (class frange_props): Add signbit
15789         (class frange): Same.
15791 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
15793         PR other/106782
15794         * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
15795         instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
15796         * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
15797         derived types of gimple to gimple * to avoid -Wformat warnings.
15798         * tree-vect-loop-manip.cc (vect_set_loop_condition,
15799         vect_update_ivs_after_vectorizer): Likewise.
15800         * tree-vect-stmts.cc (vectorizable_load): Likewise.
15801         * tree-vect-patterns.cc (vect_split_statement,
15802         vect_recog_mulhs_pattern, vect_recog_average_pattern,
15803         vect_determine_precisions_from_range,
15804         vect_determine_precisions_from_users): Likewise.
15805         * gimple-loop-versioning.cc
15806         (loop_versioning::analyze_term_using_scevs): Likewise.
15807         * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
15808         (vect_build_slp_tree): Cast slp_tree to void * to avoid
15809         -Wformat warnings.
15810         (optimize_load_redistribution_1, vect_match_slp_patterns,
15811         vect_build_slp_instance, vect_optimize_slp_pass::materialize,
15812         vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
15813         vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
15814         (vect_print_slp_tree): Likewise.  Also use
15815         HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
15816         * tree-vect-loop.cc (vect_determine_vectorization_factor,
15817         vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
15818         vectorizable_induction, vect_transform_loop): Cast pointers to derived
15819         types of gimple to gimple * to avoid -Wformat warnings.
15820         (vect_analyze_loop_2): Cast slp_tree to void * to avoid
15821         -Wformat warnings.
15822         (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
15823         instead of %d.
15824         * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
15825         instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
15826         instead of SLP_TREE_DEF_TYPE (node).
15828 2022-09-01  Jakub Jelinek  <jakub@redhat.com>
15830         PR c++/106655
15831         * doc/invoke.texi (-Winvalid-utf8): Document it.
15833 2022-09-01  Aldy Hernandez  <aldyh@redhat.com>
15835         PR tree-optimization/106785
15836         * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
15837         (range_tests_floats): Same.
15839 2022-09-01  konglin1  <lingling.kong@intel.com>
15841         * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
15842         recognition.
15844 2022-09-01  Peter Bergner  <bergner@linux.ibm.com>
15846         PR target/101322
15847         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
15848         Enforce the use of a valid MMA pointer type.
15850 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15852         * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
15853         registers.
15855 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15857         * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
15858         (riscv_output_move): Add csrr vlenb assembly.
15859         * config/riscv/riscv.md (move_type): Add csrr vlenb type.
15860         (ext): New attribute.
15861         (ext_enabled): Ditto.
15862         (enabled): Ditto.
15864 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15866         * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
15867         "vr" constraint.
15868         (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
15869         (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
15870         (vp): Add poly constraint.
15872 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15874         * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
15876 2022-09-01  zhongjuzhe  <juzhe.zhong@rivai.ai>
15878         * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
15879         configuration according to TARGET_MIN_VLEN.
15880         * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
15882 2022-08-31  Martin Liska  <mliska@suse.cz>
15884         * config.build: Remove deprecated ports.
15885         * config.gcc: Likewise.
15886         * config.host: Likewise.
15887         * configure.ac: Likewise.
15888         * configure: Regenerate.
15889         * config/pa/pa-hpux10.h: Removed.
15890         * config/pa/pa-hpux10.opt: Removed.
15891         * config/pa/t-dce-thr: Removed.
15893 2022-08-31  Martin Liska  <mliska@suse.cz>
15895         * Makefile.in: Always install limits.h and syslimits.h to
15896         include folder.
15897         * configure.ac: Assign STMP_FIXINC blank if
15898         --disable-fixincludes is used.
15899         * configure: Regenerate.
15901 2022-08-31  Richard Biener  <rguenther@suse.de>
15903         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15904         Assert the guard_bb isn't empty and has more than one successor.
15905         Drop appropriate parts of the predicate when an edge fails to
15906         register a predicate.
15907         (predicate::dump): Dump empty predicate as TRUE.
15909 2022-08-31  Richard Biener  <rguenther@suse.de>
15911         PR tree-optimization/90994
15912         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15913         Ignore exceptional control flow and skip the edge for the purpose of
15914         predicate generation also for non-calls.
15916 2022-08-31  Aldy Hernandez  <aldyh@redhat.com>
15918         * value-range-storage.cc (frange_storage_slot::set_frange): Save
15919         endpoints.
15920         (frange_storage_slot::get_frange): Restore endpoints.
15921         * value-range-storage.h (class frange_storage_slot): Add endpoint
15922         fields.
15924 2022-08-31  Martin Liska  <mliska@suse.cz>
15926         PR tree-optimization/106789
15927         * range-op-float.cc (default_frelop_fold_range): Remove the
15928         function.
15930 2022-08-31  Martin Liska  <mliska@suse.cz>
15932         * value-range.h: Add more override keywords.
15934 2022-08-31  Martin Liska  <mliska@suse.cz>
15936         * value-range.h: Add override.
15938 2022-08-31  Richard Biener  <rguenther@suse.de>
15940         PR tree-optimization/65244
15941         * gimple-predicate-analysis.h (predicate::init_from_control_deps):
15942         Add argument to specify whether the predicate is for the USE.
15943         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15944         Also include predicates effective fallthru control edges when
15945         the predicate is for the USE.
15947 2022-08-31  Richard Biener  <rguenther@suse.de>
15949         PR tree-optimization/73550
15950         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
15951         Sanitize debug dumping.  Handle case labels with a CASE_HIGH.
15952         (predicate::dump): Adjust for better readability.
15954 2022-08-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
15955             Jakub Jelinek  <jakub@redhat.com>
15957         * omp-simd-clone.cc (simd_clone_adjust_return_type,
15958         simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
15959         instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
15961 2022-08-31  Richard Sandiford  <richard.sandiford@arm.com>
15963         * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
15964         argument.
15966 2022-08-31  zhongjuzhe  <juzhe.zhong@rivai.ai>
15968         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
15969         initialize const_vf to 0.
15971 2022-08-31  Martin Liska  <mliska@suse.cz>
15973         * config.gcc: Remove cr16.
15975 2022-08-30  Martin Jambor  <mjambor@suse.cz>
15977         * vec.h (array_slice): Add constructors for non-const reference to
15978         heap vector and pointers to heap vectors.
15980 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
15982         * value-range.cc (early_nan_resolve): Change comment.
15983         (frange::union_): Handle union when one side is a NAN.
15984         (range_tests_nan): Add tests for NAN union.
15986 2022-08-30  Andrew Stubbs  <ams@codesourcery.com>
15988         * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
15989         (gcn_simd_clone_adjust): New.
15990         (gcn_simd_clone_usable): New.
15991         (TARGET_SIMD_CLONE_ADJUST): New.
15992         (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
15993         (TARGET_SIMD_CLONE_USABLE): New.
15995 2022-08-30  Andrew Stubbs  <ams@codesourcery.com>
15997         * doc/tm.texi: Regenerate.
15998         * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
15999         vecsize.
16000         (simd_clone_adjust_argument_types): Likewise.
16001         * target.def (compute_vecsize_and_simdlen): Document the new
16002         vecsize_int and vecsize_float semantics.
16004 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
16006         * expmed.cc (store_bit_field_1): Fix byte offset calculation
16007         for undefined structures.
16009 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
16011         * params.opt (-param=vect-max-layout-candidates=): New parameter.
16012         * doc/invoke.texi (vect-max-layout-candidates): Document it.
16013         * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
16014         (auto_load_permutation_t): Likewise.
16015         * tree-vect-slp.cc (vect_slp_node_weight): New function.
16016         (slpg_layout_cost): New class.
16017         (slpg_vertex): Replace perm_in and perm_out with partition,
16018         out_degree, weight and out_weight.
16019         (slpg_partition_info, slpg_partition_layout_costs): New classes.
16020         (vect_optimize_slp_pass): Likewise, cannibalizing some part of
16021         the previous vect_optimize_slp.
16022         (vect_optimize_slp): Use it.
16024 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
16026         * hash-traits.h (vec_hash_base): New class.
16027         (vec_free_hash_base): Likewise.
16029 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
16031         * hash-traits.h (int_hash_base): New struct, split out from...
16032         (int_hash): ...this class, which now inherits from int_hash_base.
16033         * hash-map-traits.h (unbounded_hashmap_traits): Take a template
16034         parameter for the key that provides hash and equality functions.
16035         (unbounded_int_hashmap_traits): Turn into a type alias of
16036         unbounded_hashmap_traits.
16038 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
16040         * graphds.cc (graphds_scc): Add a pass-back parameter for the
16041         final node order.
16042         * graphds.h (graphds_scc): Update prototype accordingly.
16044 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
16046         * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
16047         (vect_transform_slp_perm_load): ...here.  Use SLP_TREE_VECTYPE instead
16048         of STMT_VINFO_VECTYPE.
16050 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
16052         * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
16053         (vectorizable_slp_permutation): ...here.
16055 2022-08-30  Richard Sandiford  <richard.sandiford@arm.com>
16057         * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
16058         that the requested number of units is interoperable with the requested
16059         prevailing mode.
16061 2022-08-30  Martin Liska  <mliska@suse.cz>
16063         * config.gcc: Remove the port.
16064         * config/m32c/rtems.h: Removed.
16066 2022-08-30  Richard Biener  <rguenther@suse.de>
16068         PR tree-optimization/73550
16069         * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
16070         Do not apply MAX_NUM_CHAINS again.
16072 2022-08-30  Richard Biener  <rguenther@suse.de>
16074         * gimple-predicate-analysis.cc (format_edge_vec): Dump
16075         both source and destination.
16076         (dump_dep_chains): Remove.
16077         (uninit_analysis::init_use_preds): Remove redundant
16078         dumping of chains.
16080 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
16082         * value-range-storage.cc (frange_storage_slot::get_frange): Use
16083         frange_nan.
16084         * value-range.cc (frange::set_nan): New.
16085         (frange_nan): Move to header file.
16086         (range_tests_nan): Adjust frange_nan callers to pass type.
16087         New test.
16088         * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
16089         (frange_nan): New.
16091 2022-08-30  Richard Biener  <rguenther@suse.de>
16093         PR tree-optimization/67196
16094         * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
16095         Simplify and normalize use prediates before first use.
16097 2022-08-30  Richard Biener  <rguenther@suse.de>
16099         * gimple-predicate-analysis.cc (dump_pred_chain): Fix
16100         parentizing and AND prepending.
16101         (predicate::dump): Do not dump the GENERIC expanded
16102         predicate, properly parentize and prepend ORs to the
16103         piecewise predicate dump.
16104         (build_pred_expr): Remove.
16106 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
16108         * range-op-float.cc (finite_operand_p): New.
16109         (build_le): New.
16110         (build_lt): New.
16111         (build_ge): New.
16112         (build_gt): New.
16113         (foperator_equal::fold_range): New implementation with endpoints.
16114         (foperator_equal::op1_range): Same.
16115         (foperator_not_equal::fold_range): Same.
16116         (foperator_not_equal::op1_range): Same.
16117         (foperator_lt::fold_range): Same.
16118         (foperator_lt::op1_range): Same.
16119         (foperator_lt::op2_range): Same.
16120         (foperator_le::fold_range): Same.
16121         (foperator_le::op1_range): Same.
16122         (foperator_le::op2_range): Same.
16123         (foperator_gt::fold_range): Same.
16124         (foperator_gt::op1_range): Same.
16125         (foperator_gt::op2_range): Same.
16126         (foperator_ge::fold_range): Same.
16127         (foperator_ge::op1_range): Same.
16128         (foperator_ge::op2_range): Same.
16130 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
16132         * range-op-float.cc (frange_set_nan): New.
16133         (frange_drop_inf): New.
16134         (frange_drop_ninf): New.
16135         (foperator_equal::op1_range): Adjust for endpoints.
16136         (foperator_lt::op1_range): Same.
16137         (foperator_lt::op2_range): Same.
16138         (foperator_gt::op1_range): Same.
16139         (foperator_gt::op2_range): Same.
16140         (foperator_unordered::op1_range): Same.
16141         * value-query.cc (range_query::get_tree_range): Same.
16142         * value-range-pretty-print.cc (vrange_printer::visit): Same.
16143         * value-range-storage.cc (frange_storage_slot::get_frange): Same.
16144         * value-range.cc (frange::set): Same.
16145         (frange::normalize_kind): Same.
16146         (frange::union_): Same.
16147         (frange::intersect): Same.
16148         (frange::operator=): Same.
16149         (early_nan_resolve): New.
16150         (frange::contains_p): New.
16151         (frange::singleton_p): New.
16152         (frange::set_nonzero): New.
16153         (frange::nonzero_p): New.
16154         (frange::set_zero): New.
16155         (frange::zero_p): New.
16156         (frange::set_nonnegative): New.
16157         (frange_float): New.
16158         (frange_nan): New.
16159         (range_tests_nan): New.
16160         (range_tests_signed_zeros): New.
16161         (range_tests_floats): New.
16162         (range_tests): New.
16163         * value-range.h (frange::lower_bound): New.
16164         (frange::upper_bound): New.
16165         (vrp_val_min): Use real_inf with a sign instead of negating inf.
16166         (frange::frange): New.
16167         (frange::set_varying): Adjust for endpoints.
16168         (real_max_representable): New.
16169         (real_min_representable): New.
16171 2022-08-30  Aldy Hernandez  <aldyh@redhat.com>
16173         * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
16174         for real zero.
16176 2022-08-30  Martin Liska  <mliska@suse.cz>
16178         * config/s390/s390.cc (s390_rtx_costs): Use proper type as
16179         argument.
16181 2022-08-30  Richard Biener  <rguenther@suse.de>
16183         * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
16184         the set of fallthru reachable blocks from function entry
16185         and use that to determine wlims.always_executed.
16187 2022-08-30  Richard Biener  <rguenther@suse.de>
16189         PR tree-optimization/56654
16190         * tree-ssa-uninit.cc (cand_cmp): New.
16191         (find_uninit_use): First process all PHIs and collect candidate
16192         stmts, then sort those after RPO.
16193         (warn_uninitialized_phi): Pass on bb_to_rpo.
16194         (execute_late_warn_uninitialized): Compute and pass on
16195         reverse lookup of RPO number from basic block index.
16197 2022-08-30  Richard Biener  <rguenther@suse.de>
16199         * gimple-predicate-analysis.h (uninit_analysis::operator()):
16200         Remove.
16201         * gimple-predicate-analysis.cc
16202         (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
16203         simplify a bit.
16204         * tree-ssa-uninit.cc (defined_args): New global.
16205         (compute_uninit_opnds_pos): Mask with the recorded set
16206         of guarded maybe-uninitialized uses.
16207         (uninit_undef_val_t::operator()): Remove.
16208         (find_uninit_use): Process all PHI uses, recording the
16209         guarded ones and marking the PHI result as uninitialized
16210         consistently.
16211         (warn_uninitialized_phi): Adjust.
16212         (execute_late_warn_uninitialized): Get rid of the PHI worklist
16213         and instead walk the function in RPO order.
16214         * spellcheck.h (best_match::m_best_candidate_len): Initialize.
16216 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
16218         PR tree-optimization/106744
16219         * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
16221 2022-08-30  Tamar Christina  <tamar.christina@arm.com>
16223         * expmed.cc (store_bit_field_1): Initialize regnum to 0.
16225 2022-08-29  David Faust  <david.faust@oracle.com>
16227         PR target/106745
16228         * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
16229         computation of index for anonymous members.
16231 2022-08-29  Jose E. Marchesi  <jose.marchesi@oracle.com>
16233         * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
16234         target macro.
16236 2022-08-29  H.J. Lu  <hjl.tools@gmail.com>
16238         PR target/106748
16239         * config/i386/i386-expand.cc
16240         (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
16241         * config/i386/sse.md (V_256H): Add V16BF.
16243 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
16245         * config/s390/s390.cc (s390_address_cost): Declare.
16246         (s390_hard_regno_nregs): Declare.
16247         (s390_rtx_costs): Add handling for REG and MEM in SET.
16249 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
16251         * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
16252         (is_reverse_perm_mask): New function.
16253         (expand_perm_with_rot): Recognize reverse pattern.
16254         (expand_perm_with_vstbrq): New function.
16255         (expand_perm_with_vster): Use vler/vster for element reversal on z15.
16256         (vectorize_vec_perm_const_1): Use.
16257         (s390_vectorize_vec_perm_const): Add expand functions.
16258         * config/s390/vx-builtins.md: Prefer vster over vler.
16260 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
16262         * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
16263         * config/s390/vector.md: Rewrite patterns to use vec_select.
16264         * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
16265         Likewise.
16267 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
16269         PR target/100869
16270         * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
16271         (rotl<mode>3_di): New pattern.
16272         * config/s390/vx-builtins.md: Use vpdi and verll for reversing
16273         elements.
16275 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
16277         * config/s390/s390.cc (s390_issue_rate): Add z15.
16279 2022-08-29  Robin Dapp  <rdapp@linux.ibm.com>
16281         * common/config/s390/s390-common.cc: Enable -funroll-loops and
16282         -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
16283         * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
16284         loops larger than 12 instructions.
16285         (s390_override_options_after_change): Set unroll options.
16286         (s390_option_override_internal): Likewise.
16287         * config/s390/s390.opt: Document munroll-only-small-loops.
16289 2022-08-29  Richard Biener  <rguenther@suse.de>
16291         * gimple-predicate-analysis.cc (is_loop_exit,
16292         find_control_equiv_block): Inline into single caller ...
16293         (uninit_analysis::init_use_preds): ... here and refactor.
16295 2022-08-29  Richard Biener  <rguenther@suse.de>
16297         * gimple-predicate-analysis.cc (compute_control_dep_chain):
16298         Inline is_loop_exit and refactor, add comment about
16299         loop exits.
16301 2022-08-29  Kito Cheng  <kito.cheng@sifive.com>
16303         * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
16304         (riscv_frame_info::reset(void)): New.
16305         (riscv_compute_frame_info): Use riscv_frame_info::reset instead
16306         of memset when clean frame.
16308 2022-08-29  zhongjuzhe  <juzhe.zhong@rivai.ai>
16310         * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
16311         (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
16312         (riscv_address_insns): Add RVV modes condition.
16313         (riscv_binary_cost): Ditto.
16314         (riscv_rtx_costs): Adjust cost for RVV.
16315         (riscv_secondary_memory_needed): Add RVV modes condition.
16316         (riscv_hard_regno_nregs): Add RVV register allocation.
16317         (riscv_hard_regno_mode_ok): Add RVV register allocation.
16318         (riscv_class_max_nregs): Add RVV register allocation.
16319         * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
16320         (UNITS_PER_V_REG): New macro.
16321         (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
16322         (V_REG_FIRST): New macro.
16323         (V_REG_LAST): Ditto.
16324         (V_REG_NUM): Ditto.
16325         (V_REG_P): Ditto.
16326         (VL_REG_P): Ditto.
16327         (VTYPE_REG_P): Ditto.
16328         (RISCV_DWARF_VL): Ditto.
16329         (RISCV_DWARF_VTYPE): Ditto.
16330         (enum reg_class): Add RVV register types.
16331         (REG_CLASS_CONTENTS): Add RVV register types.
16332         * config/riscv/riscv.md: Add VL/VTYPE register number constants.
16334 2022-08-29  zhongjuzhe  <juzhe.zhong@rivai.ai>
16336         * config/riscv/riscv.md: Add new type for vector instructions.
16338 2022-08-28  Peter Bergner  <bergner@linux.ibm.com>
16340         PR target/106017
16341         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
16342         of MMA pointer conversions.
16344 2022-08-27  Xi Ruoyao  <xry111@xry111.site>
16346         * config/i386/gcc-auto-profile: Regenerate.
16348 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
16350         * real.cc (real_iszero): New.
16351         * real.h (real_iszero): New.
16353 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
16355         * real.cc (real_isinf): New overload.
16356         (real_inf): Add sign argument.
16357         * real.h (real_isinf): New overload.
16358         (real_inf): Add sign argument.
16360 2022-08-26  Marek Polacek  <polacek@redhat.com>
16362         PR c++/81159
16363         * doc/invoke.texi: Document -Wself-move.
16365 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
16367         * value-range.cc (vrange::set): Set varying.
16368         (vrange::set_nonzero): Same.
16369         (vrange::set_zero): Same.
16370         (vrange::set_nonnegative): Same.
16372 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
16374         * range-op-float.cc (foperator_equal::op1_range): Do not blindly
16375         copy op2 range when honoring signed zeros.
16377 2022-08-26  Aldy Hernandez  <aldyh@redhat.com>
16379         * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
16380         add newline.
16381         (profitable_path_p): Same.
16383 2022-08-26  Richard Biener  <rguenther@suse.de>
16385         * gimple-predicate-analysis.h
16386         (uninit_analysis::use_cannot_happen): Remove.
16387         * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
16388         (uninit_analysis::use_cannot_happen): Likewise.
16389         (uninit_analysis::is_use_guarded): Do not call
16390         use_cannot_happen.
16391         (dump_predicates): Remove.
16392         (simple_control_dep_chain): Remove edge overload.
16394 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
16396         * internal-fn.cc (expand_GOMP_TARGET_REV): New.
16397         * internal-fn.def (GOMP_TARGET_REV): New.
16398         * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
16399         'omp target device_ancestor_host' as in_other_partition and don't
16400         error if absent.
16401         * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
16402         * omp-expand.cc (expand_omp_target): For reverse offload, remove
16403         sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
16404         empty-body nohost function.
16405         * omp-offload.cc (execute_omp_device_lower): Handle
16406         IFN_GOMP_TARGET_REV.
16407         (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
16408         nullify fn argument for reverse offload
16410 2022-08-26  Jakub Jelinek  <jakub@redhat.com>
16412         * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
16413         * builtins.cc (expand_builtin_issignaling): New function.
16414         (expand_builtin_signbit): Don't overwrite target.
16415         (expand_builtin): Handle BUILT_IN_ISSIGNALING.
16416         (fold_builtin_classify): Likewise.
16417         (fold_builtin_1): Likewise.
16418         * optabs.def (issignaling_optab): New.
16419         * fold-const-call.cc (fold_const_call_ss): Handle
16420         BUILT_IN_ISSIGNALING.
16421         * config/i386/i386.md (issignalingxf2): New expander.
16422         * doc/extend.texi (__builtin_issignaling): Document.
16423         (__builtin_isinf, __builtin_isnan): Clarify behavior with
16424         -ffinite-math-only.
16425         * doc/md.texi (issignaling<mode>2): Likewise.
16427 2022-08-26  Jakub Jelinek  <jakub@redhat.com>
16429         PR tree-optimization/106099
16430         * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
16431         * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
16432         __builtin_trap to avoid the need of vops.
16434 2022-08-26  Richard Biener  <rguenther@suse.de>
16436         * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
16437         New helper.
16438         (compute_control_dep_chain): Adjust to honor marked region
16439         if provided.
16440         (uninit_analysis::init_from_phi_def): Pre-mark the dominating
16441         region to improve compute_control_dep_chain walking.
16442         * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
16444 2022-08-26  Richard Biener  <rguenther@suse.de>
16446         * gimple-predicate-analysis.cc
16447         (uninit_analysis::collect_phi_def_edges): Only expand a
16448         PHI def edge when it is possibly undefined.
16450 2022-08-26  Martin Liska  <mliska@suse.cz>
16452         * doc/extend.texi: Remove cr16 related stuff.
16453         * doc/install.texi: Likewise.
16454         * doc/invoke.texi: Likewise.
16455         * doc/md.texi: Likewise.
16456         * function-tests.cc (test_expansion_to_rtl): Likewise.
16457         * common/config/cr16/cr16-common.cc: Removed.
16458         * config/cr16/constraints.md: Removed.
16459         * config/cr16/cr16-protos.h: Removed.
16460         * config/cr16/cr16.cc: Removed.
16461         * config/cr16/cr16.h: Removed.
16462         * config/cr16/cr16.md: Removed.
16463         * config/cr16/cr16.opt: Removed.
16464         * config/cr16/predicates.md: Removed.
16465         * config/cr16/t-cr16: Removed.
16467 2022-08-26  liuhongt  <hongtao.liu@intel.com>
16469         PR target/106704
16470         * config/i386/i386-builtin.def (BDESC): Add
16471         CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
16472         corresponding builtins.
16473         * config/i386/i386.cc (ix86_gimple_fold_builtin):
16474         Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
16475         IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
16477 2022-08-25  Marek Polacek  <polacek@redhat.com>
16479         * ginclude/stddef.h: Define nullptr_t.
16481 2022-08-25  Joseph Myers  <joseph@codesourcery.com>
16483         * gimplify.cc (gimplify_modify_expr): Convert initialization from
16484         a variable-size CONSTRUCTOR to memset before call to
16485         gimplify_modify_expr_rhs.
16487 2022-08-25  Jason Merrill  <jason@redhat.com>
16489         * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
16491 2022-08-25  Andreas Krebbel  <krebbel@linux.ibm.com>
16493         PR target/106101
16494         * config/s390/predicates.md (subreg_register_operand): New
16495         predicate.
16496         * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
16497         function prototype.
16498         * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
16499         (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
16500         gen_lowpart.
16501         * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
16502         ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
16503         ("movstrictqi", "movstricthi", "movstrictsi"): Use the
16504         subreg_register_operand predicate instead of register_operand.
16506 2022-08-25  Xi Ruoyao  <xry111@xry111.site>
16508         * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
16509         Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
16510         * config/loongarch/loongarch.cc (loongarch_attribute_table):
16511         New attribute table.
16512         (TARGET_ATTRIBUTE_TABLE): Define the target hook.
16513         (loongarch_handle_model_attribute): New static function.
16514         (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
16515         model attribute of SYMBOL_REF_DECL into account returning
16516         SYMBOL_PCREL or SYMBOL_PCREL64.
16517         (loongarch_use_anchors_for_symbol_p): New static function.
16518         (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
16519         (loongarch_symbol_extreme_p): New static function.
16520         (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
16521         (loongarch_symbol_insns): Likewise.
16522         (loongarch_split_symbol_type): Likewise.
16523         (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
16524         TARGET_CMODEL_EXTREME for PC-relative addressing.
16525         (loongarch_print_operand_reloc): Likewise.
16526         * doc/extend.texi (Variable Attributes): Document new
16527         LoongArch specific attribute.
16529 2022-08-25  Xi Ruoyao  <xry111@xry111.site>
16531         * config/loongarch/loongarch.cc (loongarch_classify_symbol):
16532         Return early if the rtx is not SYMBOL_REF.
16534 2022-08-25  Richard Biener  <rguenther@suse.de>
16536         PR tree-optimization/106737
16537         * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
16538         verify SSA form.
16540 2022-08-25  Chenghua Xu  <xuchenghua@loongson.cn>
16542         PR target/106459
16543         * config/loongarch/loongarch.cc (loongarch_build_integer):
16544         Use HOST_WIDE_INT.
16545         * config/loongarch/loongarch.h (IMM_REACH): Likewise.
16546         (HWIT_1U): New Defined.
16547         (LU12I_OPERAND): Use HOST_WIDE_INT.
16548         (LU32I_OPERAND): Likewise.
16549         (LU52I_OPERAND): Likewise.
16550         (HWIT_UC_0xFFF): Likwise.
16552 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16554         PR target/106632
16555         PR target/106588
16556         * config/riscv/bitmanip.md (*shNadduw): Use n constraint
16557         instead of i.
16558         (*slliuw): Likewise.
16559         (*bexti): Likewise. Also add a check for operands[2] to be less
16560         than the mode bitsize.
16562 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16564         * config/riscv/constraints.md (DbS): New constraint.
16565         (DnS): New constraint.
16566         * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
16567         (*bclr<mode>): Likewise.
16568         (*binvi<mode>): Likewise.
16570 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16572         PR target/106586
16573         * config/riscv/predicates.md (single_bit_mask_operand):
16574         Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
16575         (not_single_bit_mask_operand): Likewise.
16576         * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
16577         1<<31 for 32bits as it is already handled.
16578         Call trunc_int_for_mode on the upper part after the subtraction.
16579         (riscv_move_integer): Call trunc_int_for_mode before generating
16580         the integer just make sure the constant has been sign extended
16581         corectly.
16582         (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
16583         addition for the new rhs.
16584         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
16585         then mask off the upper 32bits of the HWI as it will be sign extended.
16587 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16589         * config/riscv/constraints.md (DsS): New constraint.
16590         (DsD): New constraint.
16591         * config/riscv/iterators.md (shiftm1c): New iterator.
16592         * config/riscv/bitmanip.md (*bset<mode>_mask):
16593         Use shiftm1c.
16594         (*bset<mode>_1_mask): Likewise.
16596 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16598         * config/riscv/constraints.md (Ds3): New constraint.
16599         * config/riscv/predicates.md (imm123_operand): New predicate.
16600         * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
16601         (*shNadduw): Likewise.
16603 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16605         * config/riscv/riscv.cc (riscv_print_operand):
16606         Handle '~'.
16607         (riscv_print_operand_punct_valid_p): New function
16608         (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
16609         * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
16610         Use %~ instead of conditional the pattern on TARGET_64BIT.
16611         (rotrsi3): Likewise.
16612         (rotlsi3): Likewise.
16613         * config/riscv/riscv.md: Add ~ to the list of modifiers.
16614         (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
16615         (subsi3): Likewise.
16616         (negsi2): Likewise.
16617         (mulsi3): Likewise.
16618         (optab>si3/any_div): Likewise.
16619         (*add<mode>hi3): Likewise.
16620         (<optab>si3/any_shift): Likewise.
16622 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16624         * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
16625         keep the list in riscv.md in sync with this list.
16626         * config/riscv/riscv.md: Add list of modifiers as comments.
16628 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16630         * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
16631         * config/riscv/iterators.md: Here.
16633 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16635         * config/riscv/bitmanip.md
16636         (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
16637         tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
16638         * config/riscv/iterators.md: Here.
16640 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16642         * config/riscv/riscv.md (GPR): Move to new file.
16643         (P, X, BR): Likewise.
16644         (MOVE32, MOVE64, SHORT): Likewise.
16645         (HISI, SUPERQI, SUBX): Likewise.
16646         (ANYI, ANYF, SOFTF): Likewise.
16647         (size, load, default_load): Likewise.
16648         (softload, store, softstore): Likewise.
16649         (reg, fmt, ifmt, amo): Likewise.
16650         (UNITMODE, HALFMODE): Likewise.
16651         (RINT, rint_pattern, rint_rm): Likewise.
16652         (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
16653         (any_extend, any_shiftrt, any_shift): Likewise.
16654         (any_bitwise): Likewise.
16655         (any_div, any_mod): Likewise.
16656         (any_gt, any_ge, any_lt, any_le): Likewise.
16657         (u, su): Likewise.
16658         (optab, insn): Likewise.
16659         * config/riscv/iterators.md: New file.
16661 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16663         PR target/106601
16664         * config/riscv/bitmanip.md (bswaphi2): New pattern.
16666 2022-08-24  Andrew Pinski  <apinski@marvell.com>
16668         PR target/106600
16669         * config/riscv/bitmanip.md (bswap<mode>2): Remove
16670         condition on TARGET_64BIT as X is already conditional there.
16672 2022-08-24  Joseph Myers  <joseph@codesourcery.com>
16674         * tree.cc (build_real): Give DFP dconst0 the minimum quantum
16675         exponent for the type.
16677 2022-08-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
16679         PR target/106733
16680         * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
16681         constants as legitimate addresses for functions.
16682         (bpf_small_register_classes_for_mode_p): Define target hook.
16684 2022-08-24  Richard Biener  <rguenther@suse.de>
16686         * gimple-predicate-analysis.cc: Move predicate normalization
16687         after the comment documenting it.
16689 2022-08-24  Richard Biener  <rguenther@suse.de>
16691         * gimple-predicate-analysis.h (predicate): Split out
16692         non-predicate related functionality into ..
16693         (uninit_analysis): .. this new class.
16694         * gimple-predicate-analysis.cc: Refactor into two classes.
16695         * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
16697 2022-08-24  Richard Biener  <rguenther@suse.de>
16699         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
16700         Do simple_control_dep_chain only up to cd_root, add the PHI
16701         operand edge to the chains like init_from_phi_def does.
16702         (predicate::is_use_guarded): Speedup early out, avoid half-way
16703         initializing the PHI def predicate.
16705 2022-08-24  Jakub Jelinek  <jakub@redhat.com>
16707         PR target/106721
16708         * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
16709         Change V32HF, V16HF and V8HF entries from "f" to "i".
16710         (iptr): Add V32BF, V16BF, V8BF and BF entries.
16711         (i128vldq): Add V16HF and V16BF entries.
16712         (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
16713         mask_opernad3 -> mask_operand3.
16715 2022-08-24  Martin Liska  <mliska@suse.cz>
16716             Jørgen Kvalsvik  <j@lambda.is>
16718         * gcov.cc (add_line_counts): Add group functions to coverage
16719         summary.
16720         (accumulate_line_counts): Similarly for files.
16722 2022-08-24  Lulu Cheng  <chenglulu@loongson.cn>
16724         * config/loongarch/genopts/loongarch-strings: Support code model medium.
16725         * config/loongarch/genopts/loongarch.opt.in: Likewise.
16726         * config/loongarch/loongarch-def.c: Likewise.
16727         * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
16728         (CMODEL_EXTREME): Likewise.
16729         (N_CMODEL_TYPES): Likewise.
16730         (CMODEL_MEDIUM): Likewise.
16731         * config/loongarch/loongarch-opts.cc: Likewise.
16732         * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
16733         * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
16734         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
16735         Tls symbol Loading support medium mode.
16736         (loongarch_legitimize_call_address): When medium mode, make a symbolic
16737         jump with two instructions.
16738         (loongarch_option_override_internal): Support medium.
16739         * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
16740         (@sibcall_internal_1<mode>): New function call templates added to support
16741         medium mode.
16742         (@sibcall_value_internal_1<mode>): Likewise.
16743         (@sibcall_value_multiple_internal_1<mode>): Likewise.
16744         (@call_internal_1<mode>): Likewise.
16745         (@call_value_internal_1<mode>): Likewise.
16746         (@call_value_multiple_internal_1<mode>): Likewise.
16747         * config/loongarch/loongarch.opt: Support medium.
16748         * config/loongarch/predicates.md: Add processing about medium mode.
16749         * doc/invoke.texi: Document for '-mcmodel=medium'.
16751 2022-08-24  Richard Biener  <rguenther@suse.de>
16753         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
16754         Start the compute_control_dep_chain walk from the immediate
16755         dominator of the PHI.
16757 2022-08-23  H.J. Lu  <hjl.tools@gmail.com>
16759         PR target/106714
16760         * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
16761         __PTRDIFF_TYPE__.
16762         (_tile_stream_loadd_internal): Likewise.
16763         (_tile_stored_internal): Likewise.
16765 2022-08-23  Richard Biener  <rguenther@suse.de>
16767         PR tree-optimization/106722
16768         * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
16769         MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
16770         * gimple-predicate-analysis.cc: ... here and document.
16771         (simple_control_dep_chain): New function, factored from
16772         predicate::use_cannot_happen.
16773         (predicate::use_cannot_happen): Adjust.
16774         (predicate::predicate): Use simple_control_dep_chain as fallback.
16776 2022-08-23  Aldy Hernandez  <aldyh@redhat.com>
16778         * range-op-float.cc (foperator_equal::op1_range): Set range to
16779         range of op2.
16781 2022-08-23  Richard Biener  <rguenther@suse.de>
16783         * gimple-predicate-analysis.cc (is_loop_exit): Split out
16784         from ...
16785         (is_non_loop_exit_postdominating): ... here.  Remove after
16786         inlining ...
16787         (find_control_equiv_block): ... here.
16788         (compute_control_dep_chain): ... and here.
16789         (predicate::is_use_guarded): Do not excempt loop exits
16790         from short-cutting the case of the use post-dominating the
16791         PHI definition.
16793 2022-08-23  Andrew MacLeod  <amacleod@redhat.com>
16795         PR tree-optimization/106687
16796         * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
16797         for the VREL_GT case as well.
16799 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
16801         * config/pru/pru.md (pru_<code>di3): New alternative for
16802         two operands but without earlyclobber.
16804 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
16806         * config/pru/pru.md (prumov<mode>, mov<mode>): Add
16807         variants for loading -1 consts.
16809 2022-08-22  Dimitar Dimitrov  <dimitar@dinux.eu>
16811         PR target/106564
16812         * config/pru/constraints.md (Um): New constraint for -1.
16813         (Uf): New constraint for IOR fill-bytes constants.
16814         (Uz): New constraint for AND zero-bytes constants.
16815         * config/pru/predicates.md (const_fillbytes_operand): New
16816         predicate for IOR fill-bytes constants.
16817         (const_zerobytes_operand): New predicate for AND zero-bytes
16818         constants.
16819         * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
16820         (struct pru_byterange): New struct to describe a byte range.
16821         (pru_calc_byterange): New declaration.
16822         * config/pru/pru.cc (pru_rtx_costs): Add penalty for
16823         64-bit zero-extend.
16824         (pru_output_sign_extend): Remove.
16825         (pru_calc_byterange): New helper function to extract byte
16826         range info from a constant.
16827         (pru_print_operand): Remove 'y' and 'z' print modifiers.
16828         * config/pru/pru.md (zero_extendqidi2): New pattern.
16829         (zero_extendhidi2): New pattern.
16830         (zero_extendsidi2): New pattern.
16831         (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
16832         (@pru_ior_fillbytes<mode>): New pattern.
16833         (@pru_and_zerobytes<mode>): New pattern.
16834         (<code>di3): Rewrite as an expand and handle ZERO and FILL
16835         special cases.
16836         (pru_<code>di3): New name for <code>di3.
16837         (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
16838         handle bit-test for 64-bit registers.
16840 2022-08-22  Richard Biener  <rguenther@suse.de>
16842         * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
16843         (predicate::def_expr): Likewise.
16844         (predicate::use_expr): Likewise.
16845         (predicate::expr): Likewise.
16846         * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
16847         (predicate::use_expr): Likewise.
16848         (predicate::expr): Likewise.
16849         (predicate::is_use_guarded): Do not build m_use_expr.
16851 2022-08-22  Martin Liska  <mliska@suse.cz>
16853         PR lto/106700
16854         * configure.ac: Detect O_NONBLOCK flag for open.
16855         * config.in: Regenerate.
16856         * configure: Regenerate.
16857         * opts-common.cc (jobserver_info::connect): Set is_connected
16858         properly based on O_NONBLOCK.
16859         * opts-jobserver.h (struct jobserver_info): Add is_connected
16860         member variable.
16862 2022-08-22  zhongjuzhe  <juzhe.zhong@rivai.ai>
16864         * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
16865         and repeat value different.
16867 2022-08-22  Tobias Burnus  <tobias@codesourcery.com>
16869         PR lto/106686
16870         * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
16871         (tool_cleanup): Unlink offload_names.
16872         (compile_offload_image): Take filename argument to set it early.
16873         (compile_images_for_offload_targets): Update call; set
16874         offload_names to NULL after freeing the array.
16876 2022-08-22  Richard Biener  <rguenther@suse.de>
16878         PR tree-optimization/105937
16879         * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
16880         on backedges.
16881         (execute_late_warn_uninitialized): Mark backedges.
16883 2022-08-22  Richard Biener  <rguenther@suse.de>
16885         * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
16886         If the use is guarded with multiple predicate paths compute
16887         the predicates intersection before going forward.  When
16888         compute_control_dep_chain wasn't able to come up with at
16889         least one path from function entry to the PHI edge compute
16890         a conservative sparse path instead.
16892 2022-08-20  Lulu Cheng  <chenglulu@loongson.cn>
16894         * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
16895         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
16896         Add extreme support for TLS GD and LD types.
16897         (loongarch_legitimize_tls_address): Add extreme support for TLS LE
16898         and IE.
16899         (loongarch_split_symbol): When compiling with -mcmodel=extreme,
16900         the symbol address will be obtained through five instructions.
16901         (loongarch_print_operand_reloc): Add support.
16902         (loongarch_print_operand): Add support.
16903         (loongarch_print_operand_address): Add support.
16904         (loongarch_option_override_internal): Set '-mcmodel=extreme' option
16905         incompatible with '-mno-explicit-relocs'.
16906         * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
16907         Loads bits 12-31 of data into registers.
16908         (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
16909         the source register.
16910         (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
16911         the source register.
16912         * config/loongarch/predicates.md: Symbols need to be decomposed
16913         when defining the macro TARGET_CMODEL_EXTREME
16914         * doc/invoke.texi: Modify the description information of cmodel in the document.
16915         Document -W[no-]extreme-plt.
16917 2022-08-19  Tobias Burnus  <tobias@codesourcery.com>
16919         * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
16920         files_to_cleanup.
16921         * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
16922         omp_requires_file to temp_files.
16923         * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
16924         (main): Remove local omp_requires_file var.
16925         (tool_cleanup): Handle omp_requires_file.
16927 2022-08-19  Aldy Hernandez  <aldyh@redhat.com>
16929         * gimple-range-path.cc (path_range_query::path_range_query):
16930         Remove constructor that takes edge.
16931         * gimple-range-path.h (class path_range_query): Same.
16932         * tree-ssa-loop-ch.cc (edge_range_query): New.
16933         (entry_loop_condition_is_static): Call edge_range_query.
16935 2022-08-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
16937         * config/xtensa/xtensa.h
16938         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
16939         Add new register class "ISC_REGS".
16940         * config/xtensa/constraints.md (c): Add new register constraint.
16941         * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
16942         (sibcall_internal, sibcall_value_internal):
16943         Change to use the new register constraint, and remove two split
16944         patterns for fixups that are no longer needed.
16946 2022-08-18  Maciej W. Rozycki  <macro@embecosm.com>
16948         * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
16949         pattern formatting.
16951 2022-08-18  Tim Lange  <mail@tim-lange.me>
16953         PR analyzer/106181
16954         * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
16956 2022-08-18  Aldy Hernandez  <aldyh@redhat.com>
16958         * gimple-range-path.cc (path_range_query::path_range_query): Add
16959         various constructors to take a path.
16960         (path_range_query::~path_range_query): Remove m_alloced_ranger.
16961         (path_range_query::range_on_path_entry): Adjust for m_ranger being
16962         a reference.
16963         (path_range_query::set_path): Rename to...
16964         (path_range_query::reset_path): ...this and call compute_ranges.
16965         (path_range_query::ssa_range_in_phi): Adjust for m_ranger
16966         reference.
16967         (path_range_query::range_defined_in_block): Same.
16968         (path_range_query::compute_ranges_in_block): Same.
16969         (path_range_query::adjust_for_non_null_uses): Same.
16970         (path_range_query::compute_exit_dependencies): Use m_path instead
16971         of argument.
16972         (path_range_query::compute_ranges): Remove path argument.
16973         (path_range_query::range_of_stmt): Adjust for m_ranger reference.
16974         (path_range_query::compute_outgoing_relations): Same.
16975         * gimple-range-path.h (class path_range_query): Add various
16976         constructors.
16977         Make compute_ranges and compute_exit_dependencies private.
16978         Rename set_path to reset_path.
16979         Make m_ranger a reference.
16980         Remove m_alloced_ranger.
16981         * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
16982         path_range_query.
16983         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
16984         ranger and instantiate a new path_range_query every time.
16985         (ch_base::copy_headers): Pass ranger instead of path_range_query.
16986         * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
16987         (back_threader::~back_threader): Remove m_solver.
16988         (back_threader::find_taken_edge_switch): Adjust for m_ranger
16989         reference.
16990         (back_threader::find_taken_edge_cond): Same.
16991         (back_threader::dump): Remove m_solver.
16992         (back_threader::back_threader): Move verify_marked_backedges
16993         here from the path_range_query constructor.
16994         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
16995         some code from compute_ranges_from_state here.
16996         (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
16997         (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
16998         * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
16999         compute_ranges_from_state to compute_exit_dependencies.
17000         Remove m_path.
17002 2022-08-18  Richard Biener  <rguenther@suse.de>
17004         PR middle-end/106617
17005         * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
17006         guard, disable on GENERIC to not cause quadratic behavior
17007         with the fold-const.cc implementation and the use of !
17009 2022-08-18  Andrew Pinski  <apinski@marvell.com>
17011         PR gcov-profile/106659
17012         * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
17013         INCLUDE_VECTOR.
17015 2022-08-18  konglin1  <lingling.kong@intel.com>
17017         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
17018         BFmode.
17019         (ix86_expand_vector_init_duplicate): Support vector BFmode.
17020         (ix86_expand_vector_init_one_nonzero): Ditto.
17021         (ix86_expand_vector_init_one_var): Ditto.
17022         (ix86_expand_vector_init_concat): Ditto.
17023         (ix86_expand_vector_init_interleave): Ditto.
17024         (ix86_expand_vector_init_general): Ditto.
17025         (ix86_expand_vector_init): Ditto.
17026         (ix86_expand_vector_set_var): Ditto.
17027         (ix86_expand_vector_set): Ditto.
17028         (ix86_expand_vector_extract): Ditto.
17029         * config/i386/i386.cc (classify_argument): Add BF vector modes.
17030         (function_arg_64): Ditto.
17031         (ix86_gimplify_va_arg): Ditto.
17032         (ix86_get_ssemov): Ditto.
17033         * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
17034         (VALID_AVX512F_REG_MODE): Ditto.
17035         (host_detect_local_cpu): Ditto.
17036         (VALID_SSE2_REG_MODE): Ditto.
17037         * config/i386/i386.md: Add BF vector modes.
17038         (MODE_SIZE): Ditto.
17039         (ssemodesuffix): Add bf suffix for BF vector modes.
17040         (ssevecmode): Ditto.
17041         * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
17042         (VI12HFBF_AVX512VL): Ditto.
17043         (V_256_512): Ditto.
17044         (VF_AVX512HFBF16): Ditto.
17045         (VF_AVX512BWHFBF16): Ditto.
17046         (VIHFBF): Ditto.
17047         (avx512): Ditto.
17048         (VIHFBF_256): Ditto.
17049         (VIHFBF_AVX512BW): Ditto.
17050         (VI2F_256_512):Ditto.
17051         (V8_128):Ditto.
17052         (V16_256): Ditto.
17053         (V32_512): Ditto.
17054         (sseinsnmode): Ditto.
17055         (sseconstm1): Ditto.
17056         (sseintmodesuffix): New mode_attr.
17057         (avx512fmaskmode): Ditto.
17058         (avx512fmaskmodelower): Ditto.
17059         (ssedoublevecmode): Ditto.
17060         (ssehalfvecmode): Ditto.
17061         (ssehalfvecmodelower): Ditto.
17062         (ssescalarmode): Add vector BFmode mapping.
17063         (ssescalarmodelower): Ditto.
17064         (ssexmmmode): Ditto.
17065         (ternlogsuffix): Ditto.
17066         (ssescalarsize): Ditto.
17067         (sseintprefix): Ditto.
17068         (i128): Ditto.
17069         (xtg_mode): Ditto.
17070         (bcstscalarsuff): Ditto.
17071         (<avx512>_blendm<mode>): New define_insn for BFmode.
17072         (<avx512>_store<mode>_mask): Ditto.
17073         (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
17074         (vec_set<mode>_0): New define_insn for BF vector set.
17075         (V8BFH_128): New mode_iterator for BFmode.
17076         (avx512fp16_mov<mode>): Ditto.
17077         (vec_set<mode>): New define_insn for BF vector set.
17078         (@vec_extract_hi_<mode>): Ditto.
17079         (@vec_extract_lo_<mode>): Ditto.
17080         (vec_set_hi_<mode>): Ditto.
17081         (vec_set_lo_<mode>): Ditto.
17082         (*vec_extract<mode>_0): New define_insn_and_split for BF
17083         vector extract.
17084         (*vec_extract<mode>): New define_insn.
17085         (VEC_EXTRACT_MODE): Add BF vector modes.
17086         (PINSR_MODE): Add V8BF.
17087         (sse2p4_1): Ditto.
17088         (pinsr_evex_isa): Ditto.
17089         (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
17090         insert for V8BFmode.
17091         (pbroadcast_evex_isa): Add BF vector modes.
17092         (AVX2_VEC_DUP_MODE): Ditto.
17093         (VEC_INIT_MODE): Ditto.
17094         (VEC_INIT_HALF_MODE): Ditto.
17095         (avx2_pbroadcast<mode>): Adjust to support BF vector mode
17096         broadcast.
17097         (avx2_pbroadcast<mode>_1): Ditto.
17098         (<avx512>_vec_dup<mode>_1): Ditto.
17099         (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
17100         Ditto.
17102 2022-08-18  Martin Liska  <mliska@suse.cz>
17104         * configure: Regenerate.
17106 2022-08-18  Haochen Gui  <guihaoc@gcc.gnu.org>
17108         PR target/103109
17109         * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
17110         (<u>madddi4_highpart): New.
17111         (<u>madddi4_highpart_le): New.
17113 2022-08-18  Aldy Hernandez  <aldyh@redhat.com>
17115         * gimple-range-path.cc
17116         (path_range_query::compute_exit_dependencies): Use
17117         gimple_range_ssa_names.
17119 2022-08-18  zhongjuzhe  <juzhe.zhong@rivai.ai>
17121         * config/riscv/predicates.md: Adjust runtime invariant.
17122         * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
17123         (NUM_POLY_INT_COEFFS): New.
17124         * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
17125         runtime invariant.
17126         * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
17127         Adjust runtime invariant.
17128         * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
17129         invariant.
17130         (enum riscv_microarchitecture_type): Ditto.
17131         (riscv_valid_offset_p): Ditto.
17132         (riscv_valid_lo_sum_p): Ditto.
17133         (riscv_address_insns): Ditto.
17134         (riscv_load_store_insns): Ditto.
17135         (riscv_legitimize_move): Ditto.
17136         (riscv_binary_cost): Ditto.
17137         (riscv_rtx_costs): Ditto.
17138         (riscv_output_move): Ditto.
17139         (riscv_extend_comparands): Ditto.
17140         (riscv_flatten_aggregate_field): Ditto.
17141         (riscv_get_arg_info): Ditto.
17142         (riscv_pass_by_reference): Ditto.
17143         (riscv_elf_select_rtx_section): Ditto.
17144         (riscv_stack_align): Ditto.
17145         (riscv_compute_frame_info): Ditto.
17146         (riscv_initial_elimination_offset): Ditto.
17147         (riscv_set_return_address): Ditto.
17148         (riscv_for_each_saved_reg): Ditto.
17149         (riscv_first_stack_step): Ditto.
17150         (riscv_expand_prologue): Ditto.
17151         (riscv_expand_epilogue): Ditto.
17152         (riscv_can_use_return_insn): Ditto.
17153         (riscv_secondary_memory_needed): Ditto.
17154         (riscv_hard_regno_nregs): Ditto.
17155         (riscv_convert_vector_bits): New.
17156         (riscv_option_override): Adjust runtime invariant.
17157         (riscv_promote_function_mode): Ditto.
17158         * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
17159         (BITS_PER_RISCV_VECTOR): New.
17160         (BYTES_PER_RISCV_VECTOR): New.
17161         * config/riscv/riscv.md: Adjust runtime invariant.
17163 2022-08-18  Lulu Cheng  <chenglulu@loongson.cn>
17165         * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
17166         Get __tls_get_addr address through got table when disable plt.
17168 2022-08-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17170         * config/xtensa/xtensa.cc (xtensa_expand_prologue):
17171         Use an "addmi" machine instruction for updating the stack pointer
17172         rather than addition/subtraction via hard register A9, if the amount
17173         of change satisfies the literal value conditions of that instruction
17174         when the CALL0 ABI is used.
17175         (xtensa_expand_epilogue): Ditto.
17176         And also inhibit the stack pointer addition of constant zero.
17178 2022-08-17  Roger Sayle  <roger@nextmovesoftware.com>
17180         PR target/106640
17181         * config/i386/i386-features.cc
17182         (timde_scalar_chain::compute_convert_gain): Replace incorrect use
17183         of XINT with INTVAL (XEXP (src, 1)).
17185 2022-08-17  Aldy Hernandez  <aldyh@redhat.com>
17187         * gimple-range-path.cc
17188         (path_range_query::compute_ranges_in_block): Remove
17189         set_root_oracle call.
17190         (path_range_query::compute_ranges): Pass ranger oracle to
17191         reset_path.
17192         * value-relation.cc (path_oracle::reset_path): Set root oracle.
17193         * value-relation.h (path_oracle::reset_path): Add root oracle
17194         argument.
17196 2022-08-17  Marek Polacek  <polacek@redhat.com>
17198         PR c++/89780
17199         * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
17200         OPT_Wpessimizing_move and OPT_Wredundant_move.
17201         * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
17203 2022-08-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
17204             Jakub Jelinek  <jakub@redhat.com>
17206         PR fortran/46539
17207         * common.opt (static-libquadmath): New option.
17208         * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
17209         * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
17211 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
17213         * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
17214         when filenames come out identically.
17216 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
17218         PR middle-end/106548
17219         * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
17220         for 'simd' linear-step values that are variable.
17222 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
17223             Chung-Lin Tang  <cltang@codesourcery.com>
17225         PR c++/104493
17226         * gimplify.cc (omp_notice_variable): Call omp_mappable_type
17227         instead of removed langhook.
17228         * omp-general.h (omp_mappable_type): New prototype.
17229         * omp-general.cc (omp_mappable_type):  New; moved from ...
17230         * langhooks.cc (lhd_omp_mappable_type): ... here.
17231         * langhooks-def.h (lhd_omp_mappable_type,
17232         LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
17233         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
17234         * langhooks.h (struct lang_hooks_for_types): Remove
17235         omp_mappable_type.
17237 2022-08-17  Christophe Lyon  <christophe.lyon@arm.com>
17239         * config.gcc (arm): Define with_float to hard if target name ends
17240         with 'hf'.
17242 2022-08-17  Richard Biener  <rguenther@suse.de>
17244         * tree-ssa-threadbackward.cc
17245         (back_threader_profitability): Split profitable_path_p
17246         into possibly_profitable_path_p and itself, keep state
17247         as new members.
17248         (back_threader::m_profit): Remove.
17249         (back_threader::find_paths): Likewise.
17250         (back_threader::maybe_register_path): Take profitability
17251         instance as parameter.
17252         (back_threader::find_paths_to_names): Likewise.  Use
17253         possibly_profitable_path_p and avoid the path range query
17254         when the path is currently too large.
17255         (back_threader::find_paths): Fold into ...
17256         (back_threader::maybe_thread_block): ... this.
17257         (get_gimple_control_stmt): Remove.
17258         (back_threader_profitability::possibly_profitable_path_p):
17259         Split out from profitable_path_p, do early profitability
17260         checks.
17261         (back_threader_profitability::profitable_path_p): Do final
17262         profitability path after the taken edge has been determined.
17264 2022-08-17  Xi Ruoyao  <xry111@xry111.site>
17266         * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
17267         (fmin<mode>3): Likewise.
17269 2022-08-17  Andrew MacLeod  <amacleod@redhat.com>
17271         * gimple-range-fold.cc (gimple_range_ssa_names): New.
17272         * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
17273         * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
17274         code to new routine.
17276 2022-08-16  Martin Liska  <mliska@suse.cz>
17278         PR target/106637
17279         * doc/install.texi: Remove link to www.bullfreeware.com
17281 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
17283         * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
17284         zfh and zfhmin.
17285         (riscv_ext_version_table): Ditto.
17286         (riscv_ext_flag_table): Ditto.
17287         * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
17288         (MASK_ZFH): Ditto.
17289         (TARGET_ZFHMIN): Ditto.
17290         (TARGET_ZFH): Ditto.
17291         * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
17292         for zfh and zfhmin.
17293         (riscv_emit_float_compare): Handle HFmode.
17294         * config/riscv/riscv.md (ANYF): Add HF.
17295         (SOFTF): Add HF.
17296         (load): Ditto.
17297         (store): Ditto.
17298         (truncsfhf2): New.
17299         (truncdfhf2): Ditto.
17300         (extendhfsf2): Ditto.
17301         (extendhfdf2): Ditto.
17302         (*movhf_hardfloat): Ditto.
17303         (*movhf_softfloat): Make sure not ZFHMIN.
17304         * config/riscv/riscv.opt (riscv_zf_subext): New.
17306 2022-08-16  Kito Cheng  <kito.cheng@sifive.com>
17308         * config/riscv/riscv-builtins.cc: include stringpool.h
17309         (riscv_float16_type_node): New.
17310         (riscv_init_builtin_types): Ditto.
17311         (riscv_init_builtins): Call riscv_init_builtin_types.
17312         * config/riscv/riscv-modes.def (HF): New.
17313         * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
17314         (riscv_mangle_type): New.
17315         (riscv_scalar_mode_supported_p): Ditto.
17316         (riscv_libgcc_floating_mode_supported_p): Ditto.
17317         (riscv_excess_precision): Ditto.
17318         (riscv_floatn_mode): Ditto.
17319         (riscv_init_libfuncs): Ditto.
17320         (TARGET_MANGLE_TYPE): Ditto.
17321         (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
17322         (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
17323         (TARGET_INIT_LIBFUNCS): Ditto.
17324         (TARGET_C_EXCESS_PRECISION): Ditto.
17325         (TARGET_FLOATN_MODE): Ditto.
17326         * config/riscv/riscv.md (mode): Add HF.
17327         (softload): Add HF.
17328         (softstore): Ditto.
17329         (fmt): Ditto.
17330         (UNITMODE): Ditto.
17331         (movhf): New.
17332         (*movhf_softfloat): New.
17334 2022-08-16  Richard Biener  <rguenther@suse.de>
17336         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
17337         Do not walk further if we are leaving the current loop.
17339 2022-08-16  Sergei Trofimovich  <siarheit@google.com>
17341         PR driver/106624
17342         * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
17343         argument using xstrdup().
17345 2022-08-16  Aldy Hernandez  <aldyh@redhat.com>
17347         * gimple-range-path.cc (path_range_query::import_p): Rename to...
17348         (path_range_query::exit_dependency_p): ...this.
17349         (path_range_query::dump): Rename imports to exit dependencies.
17350         (path_range_query::compute_ranges_in_phis): Same.
17351         (path_range_query::compute_ranges_in_block): Same.
17352         (path_range_query::adjust_for_non_null_uses): Same.
17353         (path_range_query::compute_ranges): Same.
17354         (path_range_query::compute_phi_relations): Same.
17355         (path_range_query::add_to_imports): Rename to...
17356         (path_range_query::add_to_exit_dependencies): ...this.
17357         (path_range_query::compute_imports): Rename to...
17358         (path_range_query::compute_exit_dependencies): ...this.
17359         * gimple-range-path.h (class path_range_query): Rename imports to
17360         exit dependencies.
17362 2022-08-16  Martin Liska  <mliska@suse.cz>
17364         * value-range-storage.h (class obstack_vrange_allocator): Mark
17365         the class as final.
17366         (class ggc_vrange_allocator): Likewise.
17368 2022-08-16  Martin Liska  <mliska@suse.cz>
17370         * value-range-equiv.h (class value_range_equiv): Add virtual
17371         destructor.
17372         * value-range.h: Likewise.
17374 2022-08-16  Richard Biener  <rguenther@suse.de>
17376         PR middle-end/106630
17377         * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
17378         narrowing conversions.
17380 2022-08-16  Martin Liska  <mliska@suse.cz>
17382         * value-range-equiv.h (class value_range_equiv):
17384 2022-08-16  Martin Liska  <mliska@suse.cz>
17386         * config/i386/i386-features.h (class general_scalar_chain): Add
17387         final override for a method.
17388         (class timode_scalar_chain): Likewise.
17390 2022-08-16  Richard Biener  <rguenther@suse.de>
17392         * doc/invoke.texi (max-jump-thread-paths): Adjust.
17394 2022-08-16  Martin Liska  <mliska@suse.cz>
17396         * opts-common.cc (jobserver_info::connect): Open fifo
17397         in non-blocking mode.
17399 2022-08-16  Kewen.Lin  <linkw@gcc.gnu.org>
17401         PR target/103353
17402         * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
17403         check to preparation statements and add handlings for !TARGET_MMA.
17404         (define_expand movxo): Likewise.
17406 2022-08-16  Kewen Lin  <linkw@linux.ibm.com>
17408         PR tree-optimization/106322
17409         * tree-vect-stmts.cc (vectorizable_call): Don't allow
17410         vect_emulated_vector_p type for both vectype_in and vectype_out.
17412 2022-08-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
17414         * common/config/xtensa/xtensa-common.cc
17415         (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
17416         for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
17418 2022-08-15  Andrew MacLeod  <amacleod@redhat.com>
17420         PR tree-optimization/106621
17421         * value-range.cc (irange::set): Check for POLY_INT_CST early.
17423 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
17425         * config/i386/i386-features.cc
17426         (timode_scalar_chain::compute_convert_gain): Provide costs for
17427         shifts and rotates.
17428         (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
17429         and ROTATE just like existing ASHIFT and LSHIFTRT cases.
17430         (timode_scalar_to_vector_candidate_p): Handle all shifts and
17431         rotates by integer constants between 0 and 127.
17433 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
17435         * config/i386/i386-features.cc
17436         (timode_scalar_chain::compute_convert_gain): Provide gains for
17437         comparisons against 0/-1, including "*testti" patterns.
17439 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
17441         PR tree-optimization/64992
17442         PR tree-optimization/98956
17443         * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
17444         when X is zero_one_valued_p and the shift constant C is valid.
17445         (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
17446         when X is zero_one_valued_p and the shift constant C is valid.
17448 2022-08-15  Roger Sayle  <roger@nextmovesoftware.com>
17449             Richard Biener  <rguenther@suse.de>
17451         PR tree-optimization/71343
17452         * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
17453         expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
17454         (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
17455         to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
17457 2022-08-15  Richard Biener  <rguenther@suse.de>
17459         * gimple-range-path.cc (range_on_path_entry): Just
17460         call range_on_entry.
17462 2022-08-15  Jakub Jelinek  <jakub@redhat.com>
17464         PR rtl-optimization/106590
17465         * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
17466         (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
17467         mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
17468         further conditional moves.
17470 2022-08-15  konglin1  <lingling.kong@intel.com>
17472         * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
17473         * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
17474         (ix86_register_bf16_builtin_type): New function.
17475         (ix86_bf16_type_node): New.
17476         (ix86_bf16_ptr_type_node): Ditto.
17477         (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
17478         * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
17479         (ADJUST_FLOAT_FORMAT): Ditto.
17480         * config/i386/i386.cc (classify_argument): Handle BFmode.
17481         (construct_container): Ditto.
17482         (function_value_32): Return __bf16 by %xmm0.
17483         (function_value_64): Return __bf16 by SSE register.
17484         (ix86_output_ssemov): Handle BFmode.
17485         (ix86_legitimate_constant_p): Disable BFmode constant double.
17486         (ix86_secondary_reload): Require gpr as intermediate register
17487         to store __bf16 from sse register when sse4 is not available.
17488         (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
17489         (ix86_mangle_type): Add manlging for __bf16 type.
17490         (ix86_invalid_conversion): New function for target hook.
17491         (ix86_invalid_unary_op): Ditto.
17492         (ix86_invalid_binary_op): Ditto.
17493         (TARGET_INVALID_CONVERSION): New define for target hook.
17494         (TARGET_INVALID_UNARY_OP): Ditto.
17495         (TARGET_INVALID_BINARY_OP): Ditto.
17496         * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
17497         * config/i386/i386.md ("mode"): Add BFmode.
17498         (MODE_SIZE): Ditto.
17499         (X87MODEFH): Ditto.
17500         (HFBF): Add new define_mode_iterator.
17501         (*pushhf_rex64): Change for BFmode.
17502         (*push<mode>_rex64): Ditto.
17503         (*pushhf): Ditto.
17504         (*push<mode>): Ditto.
17505         (MODESH): Ditto.
17506         (hfbfconstf): Add new define_mode_attr.
17507         (*mov<mode>_internal): Add BFmode.
17509 2022-08-13  Roger Sayle  <roger@nextmovesoftware.com>
17510             Uroš Bizjak  <ubizjak@gmail.com>
17512         * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
17513         New predicate for values between 0/1 and 255, not multiples of 8.
17514         * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
17515         shifts by constant bit counts.
17516         (*ashlvti3_internal): New define_insn_and_split that lowers
17517         logical left shifts by constant bit counts, that aren't multiples
17518         of 8, before reload.
17519         (lshrv1ti3): Delay lowering of logical right shifts by constant.
17520         (*lshrv1ti3_internal): New define_insn_and_split that lowers
17521         logical right shifts by constant bit counts, that aren't multiples
17522         of 8, before reload.
17523         (ashrv1ti3):: Delay lowering of arithmetic right shifts by
17524         constant bit counts.
17525         (*ashrv1ti3_internal): New define_insn_and_split that lowers
17526         arithmetic right shifts by constant bit counts before reload.
17527         (rotlv1ti3): Delay lowering of rotate left by constant.
17528         (*rotlv1ti3_internal): New define_insn_and_split that lowers
17529         rotate left by constant bits counts before reload.
17530         (rotrv1ti3): Delay lowering of rotate right by constant.
17531         (*rotrv1ti3_internal): New define_insn_and_split that lowers
17532         rotate right by constant bits counts before reload.
17534 2022-08-12  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>
17536         * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
17538 2022-08-12  Jan Hubicka  <hubicka@ucw.cz>
17540         PR middle-end/106057
17541         * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
17542         function.
17543         (possible_polymorphic_call_targets): Use it.
17545 2022-08-12  Andrew Carlotti  <andrew.carlotti@arm.com>
17547         * tree-ssa-loop.h: Improve comment
17549 2022-08-12  Jakub Jelinek  <jakub@redhat.com>
17551         PR tree-optimization/106506
17552         * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
17553         is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
17555 2022-08-12  Richard Biener  <rguenther@suse.de>
17557         PR tree-optimization/106593
17558         * tree-ssa-threadbackward.cc (back_threader::find_paths):
17559         If the imports from the conditional do not satisfy
17560         gimple_range_ssa_p don't try to thread anything.
17562 2022-08-12  Tamar Christina  <tamar.christina@arm.com>
17564         PR target/106524
17565         * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
17566         *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
17568 2022-08-12  Tim Lange  <mail@tim-lange.me>
17570         PR analyzer/106000
17571         * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
17573 2022-08-12  Andrew Pinski  <apinski@marvell.com>
17575         * config/aarch64/aarch64.md: Remove comment
17576         about MD_INCLUDES as it is out of date and not needed.
17578 2022-08-11  Richard Biener  <rguenther@suse.de>
17580         * gimple-range-path.cc (path_range_query::compute_imports):
17581         Restrict walking SSA defs to blocks inside the path.  Track
17582         the same operands as range_def_chain::get_def_chain does.
17584 2022-08-11  Richard Biener  <rguenther@suse.de>
17586         PR tree-optimization/106514
17587         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
17588         Compute and unwind both m_imports and interesting on the fly during
17589         path discovery.
17590         (back_threader::find_paths): Compute the original m_imports
17591         from just the SSA uses of the exit conditional.  Drop
17592         handling single_succ_to_potentially_threadable_block.
17593         * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
17594         constant PHI arguments without crashing.  Use PHI_ARG_DEF_FROM_EDGE.
17596 2022-08-11  Richard Biener  <rguenther@suse.de>
17598         * gimple-range-path.h (path_range_query::compute_imports):
17599         Take path as argument, not the exit block.
17600         * gimple-range-path.cc (path_range_query::compute_imports):
17601         Likewise, and adjust, avoiding possibly stale m_path.
17602         (path_range_query::compute_outgoing_relations): Register
17603         relations for all conditionals.
17604         * tree-ssa-threadbackward.cc (back_threader::find_paths):
17605         Adjust.
17607 2022-08-11  Kewen Lin  <linkw@linux.ibm.com>
17609         * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
17610         oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
17611         (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
17613 2022-08-11  Kewen Lin  <linkw@linux.ibm.com>
17615         * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
17616         Remove function declaration.
17618 2022-08-10  Richard Biener  <rguenther@suse.de>
17620         PR tree-optimization/106513
17621         * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
17622         for head_marker.
17624 2022-08-10  Martin Liska  <mliska@suse.cz>
17626         PR lto/106328
17627         * opts-jobserver.h (struct jobserver_info): Add pipefd.
17628         (jobserver_info::connect): New.
17629         (jobserver_info::disconnect): Likewise.
17630         (jobserver_info::get_token): Likewise.
17631         (jobserver_info::return_token): Likewise.
17632         * opts-common.cc: Implement the new functions.
17634 2022-08-10  Martin Liska  <mliska@suse.cz>
17636         * opts-jobserver.h: Add one member.
17637         * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
17638         format of --jobserver-auth.
17640 2022-08-10  Martin Liska  <mliska@suse.cz>
17642         * gcc.cc (driver::detect_jobserver): Remove and move to
17643         jobserver.h.
17644         * lto-wrapper.cc (jobserver_active_p): Likewise.
17645         (run_gcc): Likewise.
17646         * opts-jobserver.h: New file.
17647         * opts-common.cc (jobserver_info::jobserver_info): New function.
17649 2022-08-09  Roger Sayle  <roger@nextmovesoftware.com>
17651         * config/i386/i386-features.cc (scalar_chain::convert_compare):
17652         Create new pseudos only when/if needed.  Add support for TEST,
17653         i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
17654         When broadcasting V2DImode and V4SImode use new pseudo register.
17655         (timode_scalar_chain::convert_op): Do nothing if operand is
17656         already V1TImode.  Avoid generating useless SUBREG conversions,
17657         i.e. (SUBREG:V1TImode (REG:V1TImode) 0).  Handle CONST_WIDE_INT
17658         in addition to CONST_INT by using CONST_SCALAR_INT_P.
17659         (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
17660         CONST_WIDE_INT and CONST_INT.  Recognize new *testti_doubleword
17661         pattern as an STV candidate.
17662         (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
17663         operands in binary logic operations.
17664         * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
17665         for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
17666         as regular PTEST, i.e. cost->sse_op.
17667         * config/i386/i386.md (*testti_doubleword): New pre-reload
17668         define_insn_and_split that recognizes comparison of TI mode AND
17669         against zero.
17670         * config/i386/sse.md (*ptest<mode>_and): New pre-reload
17671         define_insn_and_split that recognizes UNSPEC_PTEST of identical
17672         AND operands.
17674 2022-08-09  Roger Sayle  <roger@nextmovesoftware.com>
17675             Richard Biener  <rguenther@suse.de>
17677         PR middle-end/21137
17678         PR tree-optimization/98954
17679         * fold-const.cc (fold_binary_loc): Remove optimizations to
17680         optimize ((X >> C1) & C2) ==/!= 0.
17681         * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
17682         check, and handle all values of INTEGER_CSTs @2 and @3.
17683         (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
17684         checks, and handle all values of INTEGER_CSTs @2 and @3.
17686 2022-08-09  David Malcolm  <dmalcolm@redhat.com>
17688         * doc/invoke.texi (Static Analyzer Options): Add notes on which
17689         functions the analyzer has hardcoded knowledge of.
17691 2022-08-09  Andrew Stubbs  <ams@codesourcery.com>
17693         * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
17694         (num_arg_regs): Allow vector arguments.
17695         (gcn_function_arg): Likewise.
17696         (gcn_function_arg_advance): Likewise.
17697         (gcn_arg_partial_bytes): Likewise.
17698         (gcn_return_in_memory): Likewise.
17699         (gcn_expand_epilogue): Get return value from v8.
17700         * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
17701         (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
17702         (FIRST_VPARM_REG): New.
17703         (FUNCTION_ARG_REGNO_P): Allow vector parameters.
17704         (struct gcn_args): Add vnum field.
17705         (LIBCALL_VALUE): All vector return values.
17706         * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
17707         (gcn_call_value_indirect): Likewise.
17709 2022-08-09  Richard Biener  <rguenther@suse.de>
17711         * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
17712         directly.  Avoid update_ssa when in SSA form.
17713         (expand_omp_atomic_store): Likewise.
17714         (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
17715         form.
17716         (expand_omp_atomic_pipeline): Likewise.
17717         (expand_omp_atomic_mutex): Likewise.
17718         * tree-parloops.cc (gen_parallel_loop): Use
17719         TODO_update_ssa_no_phi after loop_version.
17721 2022-08-09  Richard Biener  <rguenther@suse.de>
17723         * doc/invoke.texi (max-fsm-thread-length): Remove.
17724         * params.opt (max-fsm-thread-length): Likewise.
17725         * tree-ssa-threadbackward.cc
17726         (back_threader_profitability::profitable_path_p): Do not
17727         check max-fsm-thread-length.
17729 2022-08-09  Richard Biener  <rguenther@suse.de>
17731         PR tree-optimization/106514
17732         * params.opt (max-jump-thread-paths): New.
17733         * doc/invoke.texi (max-jump-thread-paths): Document.
17734         * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
17735         Honor max-jump-thread-paths, take overall_path argument.
17736         (back_threader::find_paths): Pass 1 as initial overall_path.
17738 2022-08-09  Tobias Burnus  <tobias@codesourcery.com>
17740         PR middle-end/106492
17741         * omp-low.cc (lower_rec_input_clauses): Add missing folding
17742         to data type of linear-clause list item.
17744 2022-08-08  Andrew MacLeod  <amacleod@redhat.com>
17746         PR tree-optimization/106556
17747         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
17748         type of the cond_expr operands being evaluted.
17750 2022-08-08  Tom Honermann  <tom@honermann.net>
17752         * ginclude/stdatomic.h (atomic_char8_t,
17753         ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
17755 2022-08-08  Andrew Pinski  <apinski@marvell.com>
17757         PR middle-end/103645
17758         * gimplify.cc (gimplify_init_constructor): Don't build/add
17759         gimple assignment of an empty type.
17761 2022-08-08  Richard Biener  <rguenther@suse.de>
17763         PR lto/106540
17764         PR lto/106334
17765         * dwarf2out.cc (dwarf2out_register_external_die): Restore
17766         original assert.
17767         * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
17768         to input DECL_INITIAL, avoiding to commit drefs.
17770 2022-08-07  Roger Sayle  <roger@nextmovesoftware.com>
17772         * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
17773         for x86_64_hilo_general_operand to general operand.  Call
17774         force_reg on parts that are not x86_64_immediate_operand.
17776 2022-08-05  David Malcolm  <dmalcolm@redhat.com>
17778         PR analyzer/105947
17779         * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
17781 2022-08-05  Roger Sayle  <roger@nextmovesoftware.com>
17783         * expmed.cc (emit_store_flag_1): Move code to expand double word
17784         equality and inequality against zero or -1, using word operations,
17785         to after trying to use the backend's cstore<mode>4 optab/expander.
17787 2022-08-05  Tamar Christina  <tamar.christina@arm.com>
17789         PR middle-end/106534
17790         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
17791         value_replacement and store_elim from diamonds.
17793 2022-08-05  Richard Biener  <rguenther@suse.de>
17795         * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
17796         Check whether the registry register_path rejected the path.
17797         (back_threader_registry::register_path): Return whether
17798         register_jump_thread succeeded.
17800 2022-08-05  Aldy Hernandez  <aldyh@redhat.com>
17802         PR tree-optimization/106514
17803         * value-range.cc (unsupported_range::unsupported_range): Move...
17804         * value-range.h (unsupported_range::unsupported_range): ...here.
17805         (unsupported_range::set_undefined): New.
17807 2022-08-05  Richard Biener  <rguenther@suse.de>
17809         PR tree-optimization/106533
17810         * tree-loop-distribution.cc (loop_distribution::execute): Continue
17811         analyzing the inner loops when find_seed_stmts_for_distribution
17812         fails.
17814 2022-08-05  Andrew Pinski  <apinski@marvell.com>
17816         * config/riscv/predicates.md (splittable_const_int_operand):
17817         Remove the check for TARGET_64BIT for single bit const values.
17819 2022-08-04  Andrew MacLeod  <amacleod@redhat.com>
17821         PR tree-optimization/106514
17822         * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
17823         Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
17825 2022-08-04  Tamar Christina  <tamar.christina@arm.com>
17827         * match.pd: New bit_not rule.
17829 2022-08-04  Tamar Christina  <tamar.christina@arm.com>
17831         PR middle-end/106519
17832         * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
17833         diamond shapes.
17835 2022-08-04  Sam Feifer  <sfeifer@redhat.com>
17837         PR tree-optimization/106243
17838         * match.pd (-x & 1): New simplification.
17840 2022-08-04  Richard Biener  <rguenther@suse.de>
17842         PR tree-optimization/106521
17843         * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
17844         CFG cleanup manually before rewriting into LC SSA.
17846 2022-08-04  Richard Biener  <rguenther@suse.de>
17848         * tree-ssa-threadbackward.cc (populate_worklist): Remove.
17849         (back_threader::resolve_phi): Likewise.
17850         (back_threader::find_paths_to_names): Rewrite greedy search.
17852 2022-08-04  Ilya Leoshkevich  <iii@linux.ibm.com>
17854         * config/s390/vector.md (V_HW_FT): New iterator.
17855         * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
17856         of V_HW.
17858 2022-08-03   Michael Meissner  <meissner@linux.ibm.com>
17860         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
17861         setting -mblock-ops-vector-pair.
17863 2022-08-03  Andrew MacLeod  <amacleod@redhat.com>
17865         PR tree-optimization/106514
17866         * value-relation.cc (path_oracle::killing_def) Do not walk the
17867         equivalence set clearing bits.
17869 2022-08-03  Tamar Christina  <tamar.christina@arm.com>
17871         * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
17872         sequence of a three-way conditional.
17873         (replace_phi_edge_with_variable): Support diamonds.
17874         (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
17875         min/max.
17876         (strip_bit_not, invert_minmax_code): New.
17878 2022-08-03  Richard Earnshaw  <rearnsha@arm.com>
17880         PR rtl-optimization/106187
17881         * alias.h (mems_same_for_tbaa_p): Declare.
17882         * alias.cc (mems_same_for_tbaa_p): New function.
17883         * dse.cc (record_store): Use it instead of open-coding
17884         alias check.
17885         * cselib.h (cselib_redundant_set_p): Declare.
17886         * cselib.cc: Include alias.h
17887         (cselib_redundant_set_p): New function.
17888         * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
17889         of rtx_equal_for_cselib_p.
17890         * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
17891         (reload_cse_noop_set_p): Delete.
17893 2022-08-03  Martin Liska  <mliska@suse.cz>
17895         * doc/gcov-dump.texi: Document the new option.
17896         * gcov-dump.cc (main): Parse the new option.
17897         (print_usage): Show the option.
17898         (tag_counters): Sort key:value pairs of TOP N counter.
17900 2022-08-03  Martin Liska  <mliska@suse.cz>
17902         * profile.cc (compute_branch_probabilities): Do not collect
17903         stats unless TDF_DETAILS.
17905 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
17906             Uroš Bizjak  <ubizjak@gmail.com>
17908         PR target/47949
17909         * config/i386/i386.md (peephole2): New peephole2 to convert
17910         SWI48 moves to/from %rax/%eax where the src is dead to xchg,
17911         when optimizing for minimal size with -Oz.
17913 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
17915         * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
17916         to split comparisons against -1 using AND and CMP -1 instructions.
17918 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
17920         * config/i386/i386-features.cc (compute_convert_gain): Add gain
17921         for converting suitable TImode shift to a V1TImode shift.
17922         (timode_scalar_chain::convert_insn): Add support for converting
17923         suitable ASHIFT and LSHIFTRT.
17924         (timode_scalar_to_vector_candidate_p): Consider logical shifts
17925         by integer constants that are multiples of 8 to be candidates.
17927 2022-08-03  Roger Sayle  <roger@nextmovesoftware.com>
17928             Segher Boessenkool  <segher@kernel.crashing.org>
17929             Richard Sandiford  <richard.sandiford@arm.com>
17931         * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
17932         optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
17933         that are all positive to complement the existing FFS and
17934         idempotent ABS simplifications.
17935         <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
17936         val_signbit_known_clear_p is true of the operand.
17937         Simplify sign extensions of SUBREG truncations of operands
17938         that are already suitably (zero) extended.
17939         <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
17940         of operands that are already suitably zero extended.
17942 2022-08-02  Andrew MacLeod  <amacleod@redhat.com>
17944         PR tree-optimization/106510
17945         * gimple-range-fold.cc (fur_source::register_outgoing_edges):
17946         Check for unsupported statements early.
17948 2022-08-02  Andrew MacLeod  <amacleod@redhat.com>
17950         PR tree-optimization/106474
17951         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
17952         range of equivalences that may contribute to the range.
17954 2022-08-02  Jose E. Marchesi  <jose.marchesi@oracle.com>
17956         * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
17957         encoding bit in BTF.
17959 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
17961         * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
17962         irange check.
17963         (tree_lower_bound): New.
17964         (tree_upper_bound): New.
17965         (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
17966         vrange.
17967         * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
17968         argument to vrange.
17970 2022-08-02  Richard Biener  <rguenther@suse.de>
17972         * tree-ssa-threadbackward.cc
17973         (back_threader_profitability::profitable_path_p): Apply
17974         size constraints to all paths again.
17976 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
17978         * range-op-float.cc (finite_operands_p): New.
17979         (frelop_early_resolve): New.
17980         (default_frelop_fold_range): New.
17981         (class foperator_equal): New.
17982         (class foperator_not_equal): New.
17983         (class foperator_lt): New.
17984         (class foperator_le): New.
17985         (class foperator_gt): New.
17986         (class foperator_ge): New.
17987         (class foperator_unordered): New.
17988         (class foperator_ordered): New.
17989         (class foperator_relop_unknown): New.
17990         (floating_op_table::floating_op_table): Add above classes to
17991         floating op table.
17992         * value-range.h (frange::supports_p): Enable.
17994 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
17996         * tree-core.h (struct tree_ssa_name): Add frange_info and
17997         reshuffle the rest.
17998         * value-range-storage.cc (vrange_storage::alloc_slot): Add case
17999         for frange.
18000         (vrange_storage::set_vrange): Same.
18001         (vrange_storage::get_vrange): Same.
18002         (vrange_storage::fits_p): Same.
18003         (frange_storage_slot::alloc_slot): New.
18004         (frange_storage_slot::set_frange): New.
18005         (frange_storage_slot::get_frange): New.
18006         (frange_storage_slot::fits_p): New.
18007         * value-range-storage.h (class frange_storage_slot): New.
18009 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
18011         * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
18012         query to integrals.
18014 2022-08-02  Aldy Hernandez  <aldyh@redhat.com>
18016         * value-range.cc (frange::set): Initialize m_props and cleanup.
18018 2022-08-02  Richard Biener  <rguenther@suse.de>
18020         PR tree-optimization/106497
18021         * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
18022         Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
18024 2022-08-02  Martin Liska  <mliska@suse.cz>
18026         * profile.cc (compute_branch_probabilities): Dump details only
18027         if TDF_DETAILS.
18028         * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
18029         TDF_ADDRESS is used, it makes comparison harder.
18031 2022-08-02  Richard Biener  <rguenther@suse.de>
18033         PR tree-optimization/106498
18034         * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
18035         SSA update here.
18036         (expand_omp_for): Or here.
18037         (execute_expand_omp): Instead schedule it here together
18038         with CFG cleanup via TODO.
18040 2022-08-02  Richard Biener  <rguenther@suse.de>
18042         PR lto/106334
18043         * dwarf2out.cc (dwarf2out_register_external_die): Adjust
18044         assert.
18046 2022-08-02  Richard Biener  <rguenther@suse.de>
18048         PR tree-optimization/106495
18049         * tree-ssa-threadbackward.cc
18050         (back_threader_profitability::profitable_path_p): If known_edge
18051         is probably never executed avoid threading.
18053 2022-08-01  David Malcolm  <dmalcolm@redhat.com>
18055         * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
18056         error.
18058 2022-08-01  Roger Sayle  <roger@nextmovesoftware.com>
18059             Uroš Bizjak  <ubizjak@gmail.com>
18061         PR target/106481
18062         * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
18063         Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
18064         CONST_VECTOR.
18066 2022-08-01  H.J. Lu  <hjl.tools@gmail.com>
18068         PR target/83782
18069         * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
18070         (TARGET_IFUNC_REF_LOCAL_OK): Use it.
18072 2022-08-01  Jose E. Marchesi  <jose.marchesi@oracle.com>
18074         PR debug/106263
18075         * ctfc.h (struct ctf_dtdef): Add field linkage.
18076         * ctfc.cc (ctf_add_function): Set ctti_linkage.
18077         * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
18078         function types and subprograms.
18079         * btfout.cc (btf_asm_func_type): Emit linkage information for the
18080         function.
18081         (btf_dtd_emit_preprocess_cb): Propagate the linkage information
18082         for functions.
18084 2022-08-01  Andrew Stubbs  <ams@codesourcery.com>
18085             Jakub Jelinek   <jakub@redhat.com>
18087         * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
18088         the mask type.
18090 2022-08-01  Sam Feifer  <sfeifer@redhat.com>
18092         PR tree-optimization/104992
18093         * match.pd (x / y * y == x): New simplification.
18095 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
18097         * value-range.cc (tree_compare): New.
18098         (frange::set): Make more general.
18099         (frange::normalize_kind): Cleanup and return bool.
18100         (frange::union_): Use normalize_kind return value.
18101         (frange::intersect): Same.
18102         (frange::verify_range): Remove unnecessary else.
18103         * value-range.h (vrp_val_max): Move before frange class.
18104         (vrp_val_min): Same.
18105         (frange::frange): Remove set to m_type.
18107 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
18109         * value-range.cc (vrange::supports_type_p): Use const_tree.
18110         (irange::supports_type_p): Same.
18111         (frange::supports_type_p): Same.
18112         * value-range.h (Value_Range::supports_type_p): Same.
18113         (irange::supports_p): Same.
18115 2022-08-01  Aldy Hernandez  <aldyh@redhat.com>
18117         * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
18118         query SCEV for integers.
18119         (fold_using_range::range_of_ssa_name_with_loop_info): Remove
18120         irange check.
18122 2022-07-31  Roger Sayle  <roger@nextmovesoftware.com>
18124         * config/i386/i386.md (define_expand <any_rotate>ti3): For
18125         rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
18126         (rot[lr]64ti2_doubleword): New post-reload splitter.
18128 2022-07-31  Roger Sayle  <roger@nextmovesoftware.com>
18129             H.J. Lu  <hjl.tools@gmail.com>
18131         PR target/106450
18132         * config/i386/i386-features.cc (timode_check_non_convertible_regs):
18133         Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
18134         (timode_remove_non_convertible_regs): Update comment.
18135         Call timode_check_non_convertible_reg on all TImode register
18136         DEFs and USEs in each instruction.
18138 2022-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18140         * config/xtensa/xtensa.md: Change hard register number used in
18141         the split patterns for indirect sibling call fixups from 10 to 11,
18142         the last free one for the CALL0 ABI.
18144 2022-07-30  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18146         * config/xtensa/xtensa.cc (xtensa_rtx_costs):
18147         Add new case for IF_THEN_ELSE.
18149 2022-07-29  Andrew Stubbs  <ams@codesourcery.com>
18151         * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
18152         (<expander><mode>3<exec>): Use V_INT_noHI.
18153         (v<expander><mode>3<exec>): Likewise.
18155 2022-07-29  Andrew Stubbs  <ams@codesourcery.com>
18157         * config/gcn/gcn.md (one_cmpldi2): New.
18159 2022-07-29  Richard Biener  <rguenther@suse.de>
18161         PR tree-optimization/105679
18162         * tree-ssa-threadbackward.cc
18163         (back_threader_profitability::profitable_path_p): Avoid threading
18164         when the entry edge is probably never executed.
18166 2022-07-29  Richard Biener  <rguenther@suse.de>
18168         PR tree-optimization/106422
18169         * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
18170         Check whether we can copy thread blocks and cancel the thread if not.
18172 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
18174         PR middle-end/106449
18175         * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
18176         iterators in non-rectangular simd loops.  Unshare fd->loops[i].n2
18177         or n2 before regimplifying it inside of a condition.
18179 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
18181         * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
18182         extract_omp_for_update_vars, expand_omp_for_ordered_loops,
18183         expand_omp_simd): Don't fold_convert second argument to
18184         fold_build_pointer_plus to sizetype.
18186 2022-07-29  Lulu Cheng  <chenglulu@loongson.cn>
18188         * config.in: Regenerate.
18189         * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
18190         Select the value of the macro definition according to whether
18191         HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
18192         * configure: Regenerate.
18193         * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
18195 2022-07-29  Richard Biener  <rguenther@suse.de>
18197         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
18198         Use CONVERT_EXPR_CODE_P.
18200 2022-07-29  Richard Biener  <rguenther@suse.de>
18202         * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
18203         get_vectype_for_scalar_type instead of
18204         vect_get_vector_types_for_stmt.
18206 2022-07-28  David Malcolm  <dmalcolm@redhat.com>
18208         PR analyzer/105893
18209         * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
18211 2022-07-28  David Malcolm  <dmalcolm@redhat.com>
18213         * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
18214         url.
18215         (Static Analyzer Options): Likewise.  Add urefs for all of the
18216         warnings that have associated CWE identifiers.
18218 2022-07-28  Maciej W. Rozycki  <macro@embecosm.com>
18220         * doc/implement-c.texi (Floating point implementation): Mention
18221         `-fno-trapping-math' in the context of FENV_ACCESS pragma.
18222         * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
18223         implication in the descriptions of `-fno-trapping-math' and
18224         `-frounding-math'.
18226 2022-07-28  Maciej W. Rozycki  <macro@embecosm.com>
18228         * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
18229         (QUIET_PATTERN): New int attribute.
18230         (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
18231         RTL insns entirely within the preparation statements.
18232         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
18233         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
18234         insns.
18235         (*riscv_fsnvsnan<mode>2): New insn.
18237 2022-07-28  Richard Biener  <rguenther@suse.de>
18239         PR middle-end/106457
18240         * tree.cc (array_at_struct_end_p): Handle array objects
18241         specially.
18243 2022-07-28  Jakub Jelinek  <jakub@redhat.com>
18245         PR tree-optimization/106099
18246         * internal-fn.def (TRAP): New internal fn.
18247         * internal-fn.h (expand_TRAP): Declare.
18248         * internal-fn.cc (expand_TRAP): Define.
18249         * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
18250         use internal fn rather than builtin.
18252 2022-07-27  Andrew Carlotti  <andrew.carlotti@arm.com>
18254         * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
18256 2022-07-27  WANG Xuerui  <i@xen0n.name>
18258         * doc/invoke.texi: Document -m[no-]explicit-relocs for
18259         LoongArch.
18261 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
18263         * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
18264         duplicate backslashes.
18266 2022-07-27  Maciej W. Rozycki  <macro@embecosm.com>
18268         * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
18269         case.
18271 2022-07-27  Jakub Jelinek  <jakub@redhat.com>
18273         PR debug/106261
18274         * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
18275         output asm thunks for -dx.
18277 2022-07-27  Jakub Jelinek  <jakub@redhat.com>
18279         PR middle-end/106332
18280         * opts-common.cc (candidates_list_and_hint): Add gcc_assert
18281         that candidates is not an empty vector.
18283 2022-07-27  Xi Ruoyao  <xry111@xry111.site>
18285         * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
18286         assembler supports explicit relocation for LoongArch.
18287         * configure: Regenerate.
18288         * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
18289         Define to 0 if not defined.
18290         * config/loongarch/genopts/loongarch.opt.in
18291         (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
18292         * config/loongarch/loongarch.opt: Regenerate.
18294 2022-07-26  Peter Bergner  <bergner@linux.ibm.com>
18296         PR c/106016
18297         * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
18299 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
18301         * config/loongarch/loongarch-opts.cc: Modify the output message string
18302         of the warning.
18304 2022-07-26  Martin Liska  <mliska@suse.cz>
18306         * doc/tm.texi.in: Fix placement of defmac.
18307         * doc/tm.texi: Copy.
18309 2022-07-26  Martin Liska  <mliska@suse.cz>
18311         * doc/tm.texi.in: Fix cross @defmac and @hook.
18312         * doc/tm.texi: Copy.
18314 2022-07-26  Aldy Hernandez  <aldyh@redhat.com>
18316         PR tree-optimization/106444
18317         * value-range-pretty-print.cc (vrange_printer::visit): Handle
18318         legacy ranges.
18319         (vrange_printer::print_irange_bound): Work on wide_int's.
18320         * value-range-pretty-print.h (print_irange_bound): Same.
18321         * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
18323 2022-07-26  Richard Biener  <rguenther@suse.de>
18325         * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
18326         points to a constant continue checking ptr2.
18328 2022-07-26  Andrew Carlotti  <Andrew.Carlotti@arm.com>
18330         * config/aarch64/aarch64-builtins.cc
18331         (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
18332         (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
18333         (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
18334         (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
18335         (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
18336         (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
18337         (MODE_q_p128): Define macro to map to corresponding mode name.
18338         (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
18339         (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
18340         (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
18341         corresponding qualifier name.
18342         (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
18343         (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
18344         functions for the above mappings
18345         (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
18346         (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
18347         (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
18348         (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
18349         for all vreinterpret intrinsics
18350         (enum aarch64_builtins): Add vreinterpret function codes
18351         (aarch64_init_simd_intrinsics): New
18352         (handle_arm_neon_h): Improved comment.
18353         (aarch64_general_fold_builtin): Fold vreinterpret calls
18354         * config/aarch64/arm_neon.h
18355         (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
18356         (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
18357         (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
18358         (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
18359         (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
18360         (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
18361         (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
18362         (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
18363         (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
18364         (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
18365         (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
18366         (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
18367         (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
18368         (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
18369         (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
18370         (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
18371         (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
18372         (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
18373         (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
18374         (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
18375         (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
18376         (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
18377         (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
18378         (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
18379         (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
18380         (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
18381         (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
18382         (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
18383         (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
18384         (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
18385         (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
18386         (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
18387         (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
18388         (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
18389         (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
18390         (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
18391         (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
18392         (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
18393         (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
18394         (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
18395         (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
18396         (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
18397         (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
18398         (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
18399         (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
18400         (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
18401         (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
18402         (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
18403         (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
18404         (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
18405         (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
18406         (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
18407         (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
18408         (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
18409         (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
18410         (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
18411         (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
18412         (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
18413         (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
18414         (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
18415         (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
18416         (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
18417         (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
18418         (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
18419         (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
18420         (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
18421         (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
18422         (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
18423         (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
18424         (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
18425         (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
18426         (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
18427         (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
18428         (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
18429         (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
18430         (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
18431         (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
18432         (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
18433         (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
18434         (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
18435         (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
18436         (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
18437         (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
18438         (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
18439         (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
18440         (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
18441         (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
18442         (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
18443         (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
18444         (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
18445         (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
18446         (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
18447         (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
18448         (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
18449         (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
18450         (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
18451         (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
18452         (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
18453         (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
18454         (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
18455         (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
18456         (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
18457         (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
18458         (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
18459         (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
18460         (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
18461         (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
18462         (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
18463         (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
18464         (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
18465         (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
18466         (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
18467         (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
18468         (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
18469         (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
18470         (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
18471         (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
18472         (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
18473         (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
18474         (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
18475         (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
18476         (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
18477         (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
18478         (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
18479         (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
18480         (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
18481         (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
18482         (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
18483         (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
18484         (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
18485         (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
18486         (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
18487         (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
18488         (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
18489         (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
18490         (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
18491         (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
18492         (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
18493         (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
18494         (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
18495         (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
18496         (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
18497         (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
18498         (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
18499         (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
18500         (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
18501         (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
18502         (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
18503         (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
18504         (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
18505         (vreinterpretq_p128_bf16): Delete
18507 2022-07-26  Andrew Carlotti  <andrew.carlotti@arm.com>
18509         * config/aarch64/aarch64-builtins.cc
18510         (aarch64_simd_builtin_std_type): Rename to...
18511         (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
18512         (aarch64_lookup_simd_builtin_type): Rename to...
18513         (aarch64_simd_builtin_type): ...this. Add const/pointer
18514         support, and extract table lookup to...
18515         (aarch64_lookup_simd_type_in_table): ...this function.
18516         (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
18517         (aarch64_init_fcmla_laneq_builtins): Ditto.
18518         (aarch64_init_simd_builtin_functions): Ditto.
18520 2022-07-26  Andrew Carlotti  <andrew.carlotti@arm.com>
18522         * config/aarch64/aarch64-builtins.cc
18523         (aarch64_general_gimple_fold_builtin): Add combine.
18525 2022-07-26  Richard Biener  <rguenther@suse.de>
18527         PR tree-optimization/106189
18528         * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
18529         Divide using offset_ints.
18531 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
18533         * common/config/loongarch/loongarch-common.cc:
18534         Enable '-fsection-anchors' when O1 and more advanced optimization.
18535         * config/loongarch/genopts/loongarch.opt.in: Add new option
18536         '-mexplicit-relocs', and enable by default.
18537         * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
18538         Delete function declaration.
18539         (loongarch_split_move_insn): Delete function declaration.
18540         (loongarch_split_symbol_type): Add function declaration.
18541         * config/loongarch/loongarch.cc (enum loongarch_address_type):
18542         Add new address type 'ADDRESS_LO_SUM'.
18543         (loongarch_classify_symbolic_expression): New function definitions.
18544         Classify the base of symbolic expression X, given that X appears in
18545         context CONTEXT.
18546         (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
18547         (loongarch_split_symbol_type): New function definitions.
18548         Determines whether the symbol load should be split into two instructions.
18549         (loongarch_valid_lo_sum_p): New function definitions.
18550         Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
18551         symbol has type SYMBOL_TYPE.
18552         (loongarch_classify_address): Add handling of 'LO_SUM'.
18553         (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
18554         (loongarch_signed_immediate_p): Sort code.
18555         (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
18556         (loongarch_const_insns): Add handling of 'HIGH'.
18557         (loongarch_split_move_insn_p): Add the static attribute to the function.
18558         (loongarch_emit_set): New function definitions.
18559         (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
18560         (loongarch_legitimize_tls_address): Add symbol handling when defining the
18561         TARGET_EXPLICIT_RELOCS macro.
18562         (loongarch_split_symbol): New function definitions. Split symbol.
18563         (loongarch_legitimize_address): Add codes see if the address can split into a high part
18564         and a LO_SUM.
18565         (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
18566         high and low.
18567         (loongarch_split_move_insn): Delete function definitions.
18568         (loongarch_output_move): Add support for HIGH and LO_SUM.
18569         (loongarch_print_operand_reloc): New function definitions.
18570         Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
18571         (loongarch_memmodel_needs_release_fence): Sort code.
18572         (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
18573         and LOW output.
18574         (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
18575         (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
18576         (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
18577         * config/loongarch/loongarch.md (movti): Delete the template.
18578         (*movti): Delete the template.
18579         (movtf): Delete the template.
18580         (*movtf): Delete the template.
18581         (*low<mode>): New template of normal symbol low address.
18582         (@tls_low<mode>): New template of tls symbol low address.
18583         (@ld_from_got<mode>): New template load address from got table.
18584         (@ori_l_lo12<mode>): New template.
18585         * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
18586         * config/loongarch/predicates.md: Add support for symbol_type HIGH.
18588 2022-07-26  Lulu Cheng  <chenglulu@loongson.cn>
18590         * config/loongarch/constraints.md (a): Delete the constraint.
18591         (b): A constant call not local address.
18592         (h): Delete the constraint.
18593         (t): Delete the constraint.
18594         * config/loongarch/loongarch-opts.cc (loongarch_config_target):
18595         Remove cModel type support other than normal.
18596         * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
18597         Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
18598         (loongarch_split_symbol): Delete useless function declarations.
18599         (loongarch_split_symbol_type): Delete useless function declarations.
18600         * config/loongarch/loongarch.cc (enum loongarch_address_type):
18601         Delete unnecessary comment information.
18602         (loongarch_symbol_binds_local_p): Modified the judgment order of label
18603         and symbol.
18604         (loongarch_classify_symbol): Return symbol type. If symbol is a label,
18605         or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
18606         return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
18607         (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
18608         'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
18609         (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
18610         and 'SYMBOL_PCREL'.
18611         (loongarch_address_insns): Sort code.
18612         (loongarch_12bit_offset_address_p): Sort code.
18613         (loongarch_14bit_shifted_offset_address_p): Sort code.
18614         (loongarch_call_tls_get_addr): Sort code.
18615         (loongarch_legitimize_tls_address): Sort code.
18616         (loongarch_output_move): Remove schema support for cmodel other than normal.
18617         (loongarch_memmodel_needs_release_fence): Sort code.
18618         (loongarch_print_operand): Sort code.
18619         * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
18620         Rename to LARCH_12BIT_OFFSET_P.
18621         (LARCH_12BIT_OFFSET_P): New macro.
18622         * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
18623         support for cmodel other than normal.
18624         * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
18625         (is_const_call_plt_symbol): Delete this predicate.
18626         (is_const_call_global_noplt_symbol): Delete this predicate.
18627         (is_const_call_no_local_symbol): New predicate, determines whether it is a local
18628         symbol or label.
18630 2022-07-26  Kewen Lin  <linkw@linux.ibm.com>
18632         PR target/106091
18633         * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
18634         REG_EH_REGION when replacing one store insn having it.
18635         (replace_swapped_aligned_load): Likewise.
18637 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
18639         * Makefile.in (OBJS): Add range-op-float.o.
18640         * range-op.cc (get_float_handler): New.
18641         (range_op_handler::range_op_handler): Save code and type for
18642         delayed querying.
18643         (range_op_handler::oeprator bool): Move from header file, and
18644         add support for floats.
18645         (range_op_handler::fold_range): Add support for floats.
18646         (range_op_handler::op1_range): Same.
18647         (range_op_handler::op2_range): Same.
18648         (range_op_handler::lhs_op1_relation): Same.
18649         (range_op_handler::lhs_op2_relation): Same.
18650         (range_op_handler::op1_op2_relation): Same.
18651         * range-op.h (class range_operator_float): New.
18652         (class floating_op_table): New.
18653         * value-query.cc (range_query::get_tree_range): Add case for
18654         REAL_CST.
18655         * range-op-float.cc: New file.
18657 2022-07-25  Roger Sayle  <roger@nextmovesoftware.com>
18658             Uroš Bizjak  <ubizjak@gmail.com>
18660         PR target/91681
18661         * config/i386/i386-expand.cc (split_double_concat): A new helper
18662         function for setting a double word value from two word values.
18663         * config/i386/i386-protos.h (split_double_concat): Prototype here.
18664         * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
18665         (*add<dwi>3_doubleword_zext): New define_insn_and_split.
18666         (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
18667         (*concat<mode><dwi>3_1): New define_insn_and_split replacing
18668         previous define_split for implementing DST = (HI<<32)|LO as
18669         pair of move instructions, setting lopart and hipart.
18670         (*concat<mode><dwi>3_2): Likewise.
18671         (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
18672         (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
18674 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
18676         PR middle-end/106432
18677         * gimple-range.cc (gimple_ranger::range_on_edge): Return false
18678         when the result range type is unsupported.
18680 2022-07-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>
18682         * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
18684 2022-07-25  Richard Biener  <rguenther@suse.de>
18686         PR middle-end/106414
18687         * match.pd (~(x ^ y) -> x == y): Restrict to single bit
18688         precision types.
18690 2022-07-25  Andre Vieira  <andre.simoesdiasvieira@arm.com>
18692         * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
18693         (@aarch64_rbit<mode>): ... to this and change it in...
18694         (ffs<mode>2,ctz<mode>2): ... here.
18695         (@aarch64_rev16<mode>): New.
18696         * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
18697         Define the following enum AARCH64_REV16, AARCH64_REV16L,
18698         AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
18699         (aarch64_init_data_intrinsics): New.
18700         (aarch64_general_init_builtins): Add call to
18701         aarch64_init_data_intrinsics.
18702         (aarch64_expand_builtin_data_intrinsic): New.
18703         (aarch64_general_expand_builtin): Add call to
18704         aarch64_expand_builtin_data_intrinsic.
18705         * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
18706         __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
18707         __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
18709 2022-07-25  Martin Liska  <mliska@suse.cz>
18711         * doc/extend.texi: Remove trailing whitespaces.
18712         * doc/invoke.texi: Likewise.
18714 2022-07-25  Aldy Hernandez  <aldyh@redhat.com>
18716         * value-range-pretty-print.cc (vrange_printer::visit): New.
18717         (vrange_printer::print_frange_prop): New.
18718         * value-range-pretty-print.h (class vrange_printer): Add visit and
18719         print_frange_prop.
18720         * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
18721         (vrange_allocator::alloc_frange): New.
18722         * value-range.cc (vrange::operator=): Handle frange.
18723         (vrange::operator==): Same.
18724         (frange::accept): New.
18725         (frange::set): New.
18726         (frange::normalize_kind): New.
18727         (frange::union_): New.
18728         (frange::intersect): New.
18729         (frange::operator=): New.
18730         (frange::operator==): New.
18731         (frange::supports_type_p): New.
18732         (frange::verify_range): New.
18733         * value-range.h (enum value_range_discriminator): Handle frange.
18734         (class fp_prop): New.
18735         (FP_PROP_ACCESSOR): New.
18736         (class frange_props): New.
18737         (FRANGE_PROP_ACCESSOR): New.
18738         (class frange): New.
18739         (Value_Range::init): Handle frange.
18740         (Value_Range::operator=): Same.
18741         (Value_Range::supports_type_p): Same.
18742         (frange_props::operator==): New.
18743         (frange_props::union_): New.
18744         (frange_props::intersect): New
18745         (frange::frange): New.
18746         (frange::type): New.
18747         (frange::set_varying): New.
18748         (frange::set_undefined): New.
18750 2022-07-25  Peter Bergner  <bergner@linux.ibm.com>
18751             Kewen Lin  <linkw@linux.ibm.com>
18753         PR testsuite/106345
18754         * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
18755         to filter out all -mtune options.
18757 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
18759         * value-query.cc (range_query::get_value_range): Add assert.
18760         * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
18761         on unsupported types in vr_values.
18762         (simplify_using_ranges::simplify): Same.
18764 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
18766         * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
18767         types.
18768         * value-query.cc (get_ssa_name_range_info): Remove precision check.
18770 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
18772         * value-relation.cc (value_relation::set_relation): Remove assert.
18773         (path_oracle::register_relation): Exit when trying to register
18774         same SSA name relations.
18776 2022-07-24  Aldy Hernandez  <aldyh@redhat.com>
18778         * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
18779         (ranger_cache::range_from_dom): Same.
18780         * tree-ssa-dom.cc
18781         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
18783 2022-07-24  Roger Sayle  <roger@nextmovesoftware.com>
18784             H.J. Lu  <hjl.tools@gmail.com>
18786         PR target/106303
18787         PR target/106347
18788         * config/i386/i386-features.cc (make_vector_copies): Move from
18789         general_scalar_chain to scalar_chain.
18790         (convert_reg): Likewise.
18791         (convert_insn_common): New scalar_chain method split out from
18792         general_scalar_chain convert_insn.
18793         (convert_registers): Move from general_scalar_chain to
18794         scalar_chain.
18795         (scalar_chain::convert): Call convert_insn_common before calling
18796         convert_insn.
18797         (timode_remove_non_convertible_regs): Iterate until there are
18798         no further changes to the candidates.
18799         * config/i386/i386-features.h (scalar_chain::hash_map): Move
18800         from general_scalar_chain.
18801         (scalar_chain::convert_reg): Likewise.
18802         (scalar_chain::convert_insn_common): New shared method.
18803         (scalar_chain::make_vector_copies): Move from general_scalar_chain.
18804         (scalar_chain::convert_registers): Likewise.  No longer virtual.
18805         (general_scalar_chain::hash_map): Delete.  Moved to scalar_chain.
18806         (general_scalar_chain::convert_reg): Likewise.
18807         (general_scalar_chain::make_vector_copies): Likewise.
18808         (general_scalar_chain::convert_registers): Delete virtual method.
18809         (timode_scalar_chain::convert_registers): Likewise.
18811 2022-07-23  Immad Mir  <mirimmad@outlook.com>
18813         * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
18814         "Common Function Attributes" section.
18815         * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
18816         -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
18817         warnings may be emitted through usage of three function attributes used
18818         for static analysis of file descriptors namely fd_arg, fd_arg_read and
18819         fd_arg_write.
18821 2022-07-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
18823         * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
18824         Add a new insn_and_split pattern, and a few split patterns for
18825         spacial cases.
18827 2022-07-22  Richard Sandiford  <richard.sandiford@arm.com>
18829         * graphds.cc (graphds_scc): Fix algorithm attribution.
18831 2022-07-22  Richard Biener  <rguenther@suse.de>
18833         PR tree-optimization/106403
18834         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
18835         value valueization after check for IFN_MASKED_STORE or
18836         IFN_LEN_STORE.
18838 2022-07-22  Richard Biener  <rguenther@suse.de>
18840         PR tree-optimization/106397
18841         * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
18842         not update SSA form here.
18843         (mark_nontemporal_stores): Return whether we marked any
18844         non-temporal stores and inserted mfence.
18845         (loop_prefetch_arrays): Note when we need to update SSA.
18846         (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
18847         at the end of the pass.
18849 2022-07-22  Richard Biener  <rguenther@suse.de>
18851         PR tree-optimization/106387
18852         * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
18853         if ptr is not an SSA name.
18855 2022-07-22  liuhongt  <hongtao.liu@intel.com>
18857         PR target/106038
18858         * config/i386/mmx.md (<code><mode>3): New define_expand, it's
18859         original "<code><mode>3".
18860         (*<code><mode>3): New define_insn, it's original
18861         "<code><mode>3" be extended to handle memory and immediate
18862         operand with ix86_binary_operator_ok. Also adjust define_split
18863         after it.
18864         (mmxinsnmode): New mode attribute.
18865         (*mov<mode>_imm): Refactor with mmxinsnmode.
18866         * config/i386/predicates.md
18867         (register_or_x86_64_const_vector_operand): New predicate.
18869 2022-07-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
18871         * config/rs6000/altivec.md:
18872         (vstrir_code_<mode>): Rename to...
18873         (vstrir_direct_<mode>): ... this.
18874         (vstrir_p_code_<mode>): Rename to...
18875         (vstrir_p_direct_<mode>): ... this.
18876         (vstril_code_<mode>): Rename to...
18877         (vstril_direct_<mode>): ... this.
18878         (vstril_p_code_<mode>): Rename to...
18879         (vstril_p_direct_<mode>): ... this.
18881 2022-07-22  Will Schmidt  <will_schmidt@vnet.ibm.com>
18883         * config/rs6000/rs6000-c.cc: Update comments.
18884         (rs6000_target_modify_macros): Remove bu_mask references.
18885         (rs6000_define_or_undefine_macro): Replace bu_mask reference
18886         with a rs6000_cpu value check.
18887         (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
18888         parameter from call to rs6000_target_modify_macros.
18889         * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
18890         rs6000_target_modify_macros_ptr): Remove parameter from extern
18891         for the prototype.
18892         * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
18893         parameter from prototype, update calls to this function.
18894         (rs6000_print_builtin_options): Remove prototype, call and function.
18895         (rs6000_builtin_mask_calculate): Remove function.
18896         (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
18897         (rs6000_option_override_internal): Remove rs6000_builtin_mask var
18898         and builtin_mask debug output.
18899         (rs6000_builtin_mask_names): Remove.
18900         (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
18901         diff_bumask references; Update calls to rs6000_target_modify_ptr.
18902         * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
18904 2022-07-21  Sam Feifer  <sfeifer@redhat.com>
18906         PR tree-optimization/94920
18907         * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
18908         (x <= 0 ? -x : 0): New simplification.
18910 2022-07-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
18912         Revert:
18913         2022-07-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
18915         * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
18916         instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
18918 2022-07-21  Richard Biener  <rguenther@suse.de>
18920         PR tree-optimization/106379
18921         * match.pd (~(a ^ b) -> a == b): New pattern.
18923 2022-07-21  Richard Biener  <rguenther@suse.de>
18925         PR tree-optimization/106378
18926         * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
18927         LEN_STORE, add mode to initialize a may-def and handle
18928         MASK_STORE that way.
18929         (dse_optimize_stmt): Query may-defs.  Handle internal
18930         functions LEN_STORE and MASK_STORE similar to how
18931         we handle memory builtins but without byte tracking.
18933 2022-07-21  Richard Biener  <rguenther@suse.de>
18935         PR tree-optimization/106365
18936         * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
18937         the offset to start encoding of RHS from.
18938         (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
18939         (vn_walk_cb_data::push_partial_def): Allow the first partial
18940         definition to be fully providing the def.  Offset RHS
18941         before encoding if requested.
18942         (vn_reference_lookup_3): Initialize def_rhs everywhere.
18943         Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
18945 2022-07-21  Richard Biener  <rguenther@suse.de>
18947         * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
18948         store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
18949         and IFN_MASK_LOAD_LANES.
18950         (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
18951         IFN_LEN_STORE and IFN_MASK_STORE_LANES.
18953 2022-07-20  Alexander Monakov  <amonakov@ispras.ru>
18955         PR rtl-optimization/101347
18956         * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
18957         population of nonlocal_goto_handler_labels from here ...
18958         (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
18959         * rtlanal.cc (remove_node_from_insn_list): Verify that a
18960         duplicate is not present in the remainder of the list.
18962 2022-07-20  Alexander Monakov  <amonakov@ispras.ru>
18964         * rtl.h (remove_node_from_expr_list): Remove declaration.
18965         * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
18967 2022-07-20  Richard Biener  <rguenther@suse.de>
18969         * tree-vect-data-refs.cc (bump_vector_ptr): Return an
18970         invariant updated address when the input was invariant.
18972 2022-07-20  liuhongt  <hongtao.liu@intel.com>
18974         * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
18975         and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
18976         * timevar.def (TV_TREE_POWCABS): New timevar.
18977         * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
18978         * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
18979         (class pass_expand_powcabs): Ditto.
18980         (pass_expand_powcabs::execute): Ditto.
18981         (make_pass_expand_powcabs): Ditto.
18982         (pass_cse_sincos::execute): Remove pow/cabs expand part.
18983         (make_pass_cse_sincos): Ditto.
18985 2022-07-20  Richard Biener  <richard.guenther@gmail.com>
18986             Hongtao Liu  <hongtao.liu@intel.com>
18988         PR tree-optimization/106010
18989         * tree-complex.cc (init_dont_simulate_again): Lower complex
18990         type move.
18991         (expand_complex_move): Also expand COMPLEX_CST for rhs.
18993 2022-07-19  Andrew MacLeod  <amacleod@redhat.com>
18995         * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
18996         for incoming ranges on join nodes and add to worklist.
18998 2022-07-19  Andrew MacLeod  <amacleod@redhat.com>
19000         * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
19001         (ranger_cache::range_from_dom): Put all nodes to be calculated
19002         in the worklist and resolve after the dom walk.
19003         * gimple-range-cache.h (resolve_dom): New prototype.
19005 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
19007         * tree-cfg.cc (gimple_verify_flow_info): Check placement of
19008         returns_twice calls.
19010 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
19012         * cfghooks.cc (duplicate_block): Expand comment.
19013         * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
19014         calls that may return twice.
19016 2022-07-19  Alexander Monakov  <amonakov@ispras.ru>
19018         * tree-ssa-sink.cc (select_best_block): Punt if selected block
19019         has incoming abnormal edges.
19021 2022-07-19  Martin Liska  <mliska@suse.cz>
19023         * doc/extend.texi: Remove trailing :.
19025 2022-07-19  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
19027         * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
19028         instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
19030 2022-07-19  Richard Biener  <rguenther@suse.de>
19032         PR middle-end/106331
19033         * builtins.cc (get_memory_rtx): Compute alignment from
19034         the original address and set MEM_OFFSET to unknown when
19035         we create a MEM_EXPR from the base object of the address.
19037 2022-07-19  Richard Biener  <rguenther@suse.de>
19039         PR lto/106334
19040         * dwarf2out.cc (dwarf2out_register_external_die): Allow
19041         map entry re-use during WPA.
19043 2022-07-19  Roger Sayle  <roger@nextmovesoftware.com>
19044             Richard Biener  <rguenther@suse.de>
19046         PR c/106264
19047         * builtins.cc (fold_builtin_frexp): Call suppress_warning on
19048         COMPOUND_EXPR to silence spurious warning if result isn't used.
19049         (fold_builtin_modf): Likewise.
19050         (do_mpfr_remquo): Likewise.
19052 2022-07-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19054         * config/xtensa/xtensa.cc (xtensa_rtx_costs):
19055         Change the relative cost of '(set (reg) (const_int N))' where
19056         N fits into signed 12-bit from 4 to 0 if optimizing for size.
19057         And use the appropriate macro instead of the bare number 4.
19059 2022-07-18  Andrew MacLeod  <amacleod@redhat.com>
19061         PR tree-optimization/106280
19062         * value-relation.cc (dom_oracle::register_relation): Register
19063         transitives only when it is possible for there to be one.
19064         (dom_oracle::set_one_relation): Return NULL if this is an
19065         existing relation.
19067 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
19069         * doc/invoke.texi (RISC-V Options): Add index references for
19070         `mrelax' and `mriscv-attribute'.
19072 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
19074         * doc/invoke.texi (Option Summary): Add missing second space
19075         around `-mstack-protector-guard-reg='.
19077 2022-07-18  Maciej W. Rozycki  <macro@embecosm.com>
19079         * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
19080         (RISC-V Options): Likewise, and `-mriscv-attribute'.
19082 2022-07-18  Claudiu Zissulescu  <claziss@gmail.com>
19084         * config/arc/arc-arch.h (arc_tune_attr): Add
19085         ARC_TUNE_ARCHS4X_REL31A variant.
19086         * config/arc/arc.cc (arc_override_options): Tune options for
19087         release 310a.
19088         (arc_sched_issue_rate): Use correct enum.
19089         (arc600_corereg_hazard): Textual change.
19090         (arc_hazard): Add release 310a tunning.
19091         * config/arc/arc.md (tune): Update and take into consideration new
19092         tune option.
19093         (tune_dspmpy): Likewise.
19094         (tune_store): New attribute.
19095         * config/arc/arc.opt (mtune): New tune option.
19096         * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
19097         (hs4x_brcc_op): New instruction rezervation.
19098         (hs4x_data_store_1_op): Likewise.
19099         * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
19100         * config/arc/arc-tables.opt: Regenerate.
19101         * config/arc/t-multilib: Likewise.
19102         * doc/invoke.texi (ARC): Update mcpu and tune sections.
19104 2022-07-18  Richard Biener  <rguenther@suse.de>
19106         * tree-loop-distribution.cc (loop_distribution::distribute_loop):
19107         When computing cost-based merging do not disregard builtin
19108         classified partitions in some cases.
19110 2022-07-18  Richard Sandiford  <richard.sandiford@arm.com>
19112         PR target/106253
19113         * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
19114         Delete.
19115         * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
19116         * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
19117         Delete.
19118         * config/arm/arm_neon_builtins.def (copysignf): Delete.
19119         * config/arm/iterators.md (nvrint_pattern): New attribute.
19120         * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
19121         New pattern.
19122         (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
19123         Likewise.
19124         (neon_copysignf<mode>): Rename to...
19125         (copysign<mode>3): ...this.
19127 2022-07-18  Claudiu Zissulescu  <claziss@gmail.com>
19129         * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
19130         pointer first when in interrupts.
19132 2022-07-18  Richard Biener  <rguenther@suse.de>
19134         * tree-loop-distribution.cc (copy_loop_before): Add
19135         the ability to replace the original LC PHI defs.
19136         (generate_loops_for_partition): Pass through a flag
19137         whether to redirect original LC PHI defs.
19138         (generate_code_for_partition): Likewise.
19139         (loop_distribution::distribute_loop): Compute the partition
19140         that should provide the LC PHI defs for common reductions
19141         and pass that down.
19143 2022-07-18  Richard Ball  <richard.ball@arm.com>
19145         * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
19146         (aarch64_evpc_uzp): Likewise.
19147         (aarch64_evpc_zip): Likewise.
19149 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
19151         PR target/106231
19152         * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
19153         to recognize any_extend:DI of ctz:SI which is implicitly extended.
19154         (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
19155         extended ctz:SI that has preceding xor to break false dependency.
19157 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
19159         * config/i386/predicates.md (x86_64_const_vector_operand):
19160         Check the operand's mode matches the specified mode argument.
19162 2022-07-18  Roger Sayle  <roger@nextmovesoftware.com>
19164         * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
19165         (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
19166         (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
19167         (vec_pack_trunc_qi): Update to specify the now required
19168         UNSPEC_MASKOP unspec.
19169         (vec_pack_trunc_<mode>): Likewise.
19171 2022-07-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19173         * config/xtensa/xtensa.md
19174         (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
19175         *masktrue_const_shifted_mask): If the immediate for bitwise AND is
19176         represented as '-(1 << N)', decrease the lower bound of N from 12
19177         to 1.  And the other immediate for conditional branch is now no
19178         longer limited to zero, but also one of some positive integers.
19179         Finally, remove the checks of some conditions, because the comparison
19180         expressions that don't satisfy such checks are determined as
19181         compile-time constants and thus will be optimized away before
19182         RTL expansion.
19184 2022-07-16  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19186         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
19187         (xtensa_constantsynth_2insn): Change to try all three synthetic
19188         methods and to use the one that fits the immediate value of
19189         the seed into a Narrow Move Immediate instruction "MOVI.N"
19190         when the Code Density Option is configured.
19192 2022-07-15  H.J. Lu  <hjl.tools@gmail.com>
19194         PR target/85620
19195         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
19196         false if callee has indirect_return attribute and caller
19197         doesn't.
19199 2022-07-15  Roger Sayle  <roger@nextmovesoftware.com>
19201         PR target/106273
19202         * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
19203         constraints to reflect the output is earlyclobber, unless it is
19204         the same register (pair) as one of the operands.
19206 2022-07-15  David Malcolm  <dmalcolm@redhat.com>
19208         * doc/invoke.texi (Static Analyzer Options): Add the new fd
19209         warnings to the initial gccoptlist, and to the list of those
19210         disabled by -fanalyzer-checker=taint.
19212 2022-07-15  Andrew Carlotti  <andrew.carlotti@arm.com>
19214         * config/aarch64/aarch64-builtins.cc
19215         (enum aarch64_type_qualifiers): Remove qualifier_internal.
19216         (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
19218 2022-07-15  Andrew Carlotti  <andrew.carlotti@arm.com>
19220         * config/aarch64/aarch64-builtins.cc
19221         (v1di_UP): Add V1DI mode to _UP macros.
19222         * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
19223         * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
19224         * config/aarch64/aarch64-simd.md
19225         (vec_extractv2dfv1df): Replace with...
19226         (vec_extract<mode><V1half>): ...this.
19227         * config/aarch64/aarch64.cc
19228         (aarch64_classify_vector_mode): Add V1DI mode.
19229         * config/aarch64/iterators.md
19230         (VQ_2E, V1HALF, V1half): New.
19231         (nunits): Add V1DI mode.
19233 2022-07-15  Roger Sayle  <roger@nextmovesoftware.com>
19235         PR target/106278
19236         * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
19237         Fix indentation whitespace.
19238         (timode_scalar_chain::fix_debug_reg_uses): Likewise.
19239         (timode_scalar_chain::convert_insn): Delete dead code.
19240         Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
19241         Fix indentation whitespace.
19242         (convertible_comparison_p): Likewise.
19243         (timode_scalar_to_vector_candidate_p): Likewise.
19245 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
19247         * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
19249 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
19251         * Makefile.in (OBJS): Add value-range-pretty-print.o.
19252         * pretty-print.h (pp_vrange): New.
19253         * value-range.cc (vrange::dump): Call pp version.
19254         (unsupported_range::dump): Move to its own file.
19255         (dump_bound_with_infinite_markers): Same.
19256         (irange::dump): Same.
19257         (irange::dump_bitmasks): Same.
19258         (vrange::debug): Remove.
19259         * value-range.h: Remove virtual designation for dump methods.
19260         Remove dump_bitmasks method.
19261         * value-range-pretty-print.cc: New file.
19262         * value-range-pretty-print.h: New file.
19264 2022-07-15  Aldy Hernandez  <aldyh@redhat.com>
19266         * value-range.cc (irange::accept): New.
19267         (unsupported_range::accept): New.
19268         * value-range.h (class vrange_visitor): New.
19269         (class vrange): Add accept method.
19270         (class unsupported_range): Same.
19271         (class Value_Range): Same.
19273 2022-07-15  Jonathan Wakely  <jwakely@redhat.com>
19275         * diagnostic-format-json.cc (json_from_location_range): Adjust
19276         to new label_text API.
19277         * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
19278         Likewise.
19279         * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
19280         (layout::print_any_labels): Likewise.
19281         * tree-diagnostic-path.cc (class path_label): Likewise.
19282         (struct event_range): Likewise.
19283         (default_tree_diagnostic_path_printer): Likewise.
19284         (default_tree_make_json_for_path): Likewise.
19286 2022-07-15  konglin1  <lingling.kong@intel.com>
19288         PR target/106113
19289         * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
19290         comparison due to intrinsics changed over time.
19291         * config/i386/i386-expand.cc (ix86_ssecom_setcc):
19292         Add unordered check and mode for sse comi codegen.
19293         (ix86_expand_sse_comi): Add unordered check and check a different
19294         CCmode.
19295         (ix86_expand_sse_comi_round):Extract unordered check and mode part
19296         in ix86_ssecom_setcc.
19298 2022-07-15  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
19300         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
19301         op_mode instead of vmode in calls to force_reg for op0 and op1.
19303 2022-07-14  H.J. Lu  <hjl.tools@gmail.com>
19305         PR tree-optimization/103798
19306         * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
19307         (simplify_builtin_call): Inline memchr with constant strings of
19308         no more than the bytes of a word.
19309         * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
19310         * tree-ssa-strlen.h (use_in_zero_equality): New.
19312 2022-07-14  Eric Botcazou  <ebotcazou@adacore.com>
19314         * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
19315         and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
19316         (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
19317         pass it in the call to lookup_tmp_var.
19318         (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
19319         (get_initialized_tmp_var): Likewise.
19320         (prepare_gimple_addressable): Call internal_get_tmp_var instead of
19321         get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
19323 2022-07-14  Martin Liska  <mliska@suse.cz>
19325         * doc/gimple.texi: Close properly a deftypefn.
19327 2022-07-14  Martin Liska  <mliska@suse.cz>
19329         * doc/gimple.texi: Close properly a deftypefn.
19331 2022-07-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
19333         * config/xtensa/xtensa.md:
19334         In FP constant synthesis split pattern, subcontract to
19335         avoid_constant_pool_reference() as in the case of integer,
19336         because it can handle well too.  And cast to int32_t before
19337         calling xtensa_constantsynth() in order to ignore upper 32-bit.
19339 2022-07-13  Aldy Hernandez  <aldyh@redhat.com>
19341         * range-op.cc (operator_lt::fold_range): Use nonzero bits.
19343 2022-07-13  Aldy Hernandez  <aldyh@redhat.com>
19345         * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
19346         (irange::legacy_intersect): Clear nonzero mask.
19347         (irange::legacy_union): Same.
19348         (irange::invert): Same.
19350 2022-07-13  Richard Biener  <rguenther@suse.de>
19352         * tree-ssa-dom.h (record_temporary_equivalences): Remove.
19353         * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
19354         (dom_jt_state::get_blocks_on_stack): Likewise.
19355         (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
19356         (back_propagate_equivalences): Remove dominator bitmap
19357         compute and instead use passed in m_blocks_on_stack.
19358         (record_temporary_equivalences): Likewise.
19359         (record_equivalences_from_incoming_edge): Likewise.
19360         (dom_opt_dom_walker::before_dom_children): Maintain and
19361         pass down blocks on stack.
19362         (dom_opt_dom_walker::after_dom_children): Likewise.
19364 2022-07-13  Andrew Carlotti  <andrew.carlotti@arm.com>
19366         * config/aarch64/aarch64-builtins.cc
19367         (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
19369 2022-07-13  Richard Biener  <rguenther@suse.de>
19371         PR tree-optimization/106249
19372         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
19373         Only verify LC SSA of the new_loop if we created it.
19374         Use TODO_update_ssa_nophi for the SSA update after versioning
19375         the loop.
19377 2022-07-12  Aldy Hernandez  <aldyh@redhat.com>
19379         * range-op.cc (unsigned_singleton_p): Remove.
19380         (operator_bitwise_and::remove_impossible_ranges): Remove.
19381         (operator_bitwise_and::fold_range): Set nonzero bits.  *
19382         * value-range.cc (irange::get_nonzero_bits): Remove
19383         legacy_mode_p assert.
19384         (irange::dump_bitmasks): Remove legacy_mode_p check.
19386 2022-07-12  Richard Sandiford  <richard.sandiford@arm.com>
19388         PR target/106253
19389         * predict.h (insn_optimization_type): Declare.
19390         * predict.cc (insn_optimization_type): New function.
19391         * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
19392         (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
19393         (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
19394         * internal-fn.cc (unary_convert_direct): New macro.
19395         (expand_convert_optab_fn): New function.
19396         (expand_unary_convert_optab_fn): New macro.
19397         (direct_unary_convert_optab_supported_p): Likewise.
19398         * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
19399         convert_optab_handler.
19400         * config/aarch64/aarch64-protos.h
19401         (aarch64_builtin_vectorized_function): Delete.
19402         * config/aarch64/aarch64-builtins.cc
19403         (aarch64_builtin_vectorized_function): Delete.
19404         * config/aarch64/aarch64.cc
19405         (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
19406         * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
19407         * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
19408         optimize_insn_for_size_p test.
19410 2022-07-12  Richard Biener  <rguenther@suse.de>
19412         * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
19413         Remove.
19414         (vect_do_peeling): Do not call it, adjust comment.
19416 2022-07-12  Richard Sandiford  <richard.sandiford@arm.com>
19418         * config/aarch64/aarch64-builtins.cc
19419         (aarch64_builtin_vectorized_function): Remove handling of
19420         floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
19422 2022-07-11  Andrew MacLeod  <amacleod@redhat.com>
19424         PR tree-optimization/106234
19425         * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
19426         cache value before recursively resolving it.
19428 2022-07-11  Roger Sayle  <roger@nextmovesoftware.com>
19430         * config/i386/i386-features.h (scalar_chain): Add fields
19431         insns_conv, n_sse_to_integer and n_integer_to_sse to this
19432         parent class, moved from general_scalar_chain.
19433         (scalar_chain::convert_compare): Protected method moved
19434         from general_scalar_chain.
19435         (mark_dual_mode_def): Make protected, not private virtual.
19436         (scalar_chain:convert_op): New private virtual method.
19437         (general_scalar_chain::general_scalar_chain): Simplify constructor.
19438         (general_scalar_chain::~general_scalar_chain): Delete destructor.
19439         (general_scalar_chain): Move insns_conv, n_sse_to_integer and
19440         n_integer_to_sse fields to parent class, scalar_chain.
19441         (general_scalar_chain::mark_dual_mode_def): Delete prototype.
19442         (general_scalar_chain::convert_compare): Delete prototype.
19443         (timode_scalar_chain::compute_convert_gain): Remove simplistic
19444         implementation, convert to a method prototype.
19445         (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
19446         (timode_scalar_chain::convert_op): Prototype new virtual method.
19447         * config/i386/i386-features.cc (scalar_chain::scalar_chain):
19448         Allocate insns_conv and initialize n_sse_to_integer and
19449         n_integer_to_sse fields in constructor.
19450         (scalar_chain::scalar_chain): Free insns_conv in destructor.
19451         (general_scalar_chain::general_scalar_chain): Delete
19452         constructor, now defined in the class declaration.
19453         (general_scalar_chain::~general_scalar_chain): Delete destructor.
19454         (scalar_chain::mark_dual_mode_def): Renamed from
19455         general_scalar_chain::mark_dual_mode_def.
19456         (timode_scalar_chain::mark_dual_mode_def): Delete.
19457         (scalar_chain::convert_compare): Renamed from
19458         general_scalar_chain::convert_compare.
19459         (timode_scalar_chain::compute_convert_gain): New method to
19460         determine the gain from converting a TImode chain to V1TImode.
19461         (timode_scalar_chain::convert_op): New method to convert an
19462         operand from TImode to V1TImode.
19463         (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
19464         on REG_EQUAL notes that were originally TImode (not CONST_INT).
19465         Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
19466         (timode_mem_p): Helper predicate to check where operand is
19467         memory reference with sufficient alignment for TImode STV.
19468         (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
19469         to check whether COMPARE is convertible.  Handle SET_DESTs that
19470         that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
19471         CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
19473 2022-07-11  Richard Sandiford  <richard.sandiford@arm.com>
19475         PR tree-optimization/106250
19476         * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
19477         argument to directly_supported_p.
19479 2022-07-11  Richard Biener  <rguenther@suse.de>
19481         * tree-into-ssa.cc (update_ssa): Do not forcefully
19482         re-compute dominance fast queries for TODO_update_ssa_no_phi.
19484 2022-07-11  Richard Biener  <rguenther@suse.de>
19486         PR tree-optimization/106228
19487         * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
19488         VUSE compute for the non-loop case.
19490 2022-07-11  Richard Biener  <rguenther@suse.de>
19492         * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
19493         (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
19494         (rewrite_update_dom_walker::m_in_region_flag): New.
19495         (rewrite_update_dom_walker::before_dom_children): If the region
19496         to update is marked, STOP at exits.
19497         (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
19498         to be updated.
19499         (dump_update_ssa): Use bitmap_empty_p.
19500         (update_ssa): Likewise.  Use REWRITE_UPDATE_REGION when
19501         TODO_update_ssa_no_phi.
19502         * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
19503         pending update_ssa to the caller.
19505 2022-07-11  Richard Biener  <rguenthert@suse.de>
19507         PR target/105459
19508         * config/i386/i386-options.cc (ix86_set_current_function):
19509         Rebuild the target optimization node whenever necessary,
19510         not only when the optimization node didn't change.
19512 2022-07-11  Richard Biener  <rguenther@suse.de>
19514         PR tree-optimization/106228
19515         * tree-vect-data-refs.cc (vect_setup_realignment): Properly
19516         set a VUSE operand on the emitted load.
19518 2022-07-11  Aldy Hernandez  <aldyh@redhat.com>
19520         * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
19521         verification against legacy value_range.
19522         (gimple_ranger::register_inferred_ranges): Same.
19523         (gimple_ranger::export_global_ranges): Rename update_global_range
19524         to set_range_info.
19525         * tree-core.h (struct range_info_def): Remove.
19526         (struct irange_storage_slot): New.
19527         (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
19528         (struct tree_ssa_name): Add vrange_storage support.
19529         * tree-ssanames.cc (range_info_p): New.
19530         (range_info_fits_p): New.
19531         (range_info_alloc): New.
19532         (range_info_free): New.
19533         (range_info_get_range): New.
19534         (range_info_set_range): New.
19535         (set_range_info_raw): Remove.
19536         (set_range_info): Adjust to use vrange_storage.
19537         (set_nonzero_bits): Same.
19538         (get_nonzero_bits): Same.
19539         (duplicate_ssa_name_range_info): Remove overload taking
19540         value_range_kind.
19541         Rewrite tree overload to use vrange_storage.
19542         (duplicate_ssa_name_fn): Adjust to use vrange_storage.
19543         * tree-ssanames.h (struct range_info_def): Remove.
19544         (set_range_info): Adjust prototype to take vrange.
19545         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
19546         duplicate_ssa_name_range_info.
19547         * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
19548         (SSA_NAME_RANGE_TYPE): Remove.
19549         * value-query.cc (get_ssa_name_range_info): Adjust to use
19550         vrange_storage.
19551         (update_global_range): Remove.
19552         (get_range_global): Remove as_a<irange>.
19553         * value-query.h (update_global_range): Remove.
19554         * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
19555         Rename update_global_range to set_range_info.
19556         * value-range-storage.cc (vrange_storage::alloc_slot): Remove
19557         gcc_unreachable.
19559 2022-07-10  Aldy Hernandez  <aldyh@redhat.com>
19561         * value-range.cc (irange::operator=): Call verify_range.
19562         (irange::irange_set): Normalize kind after everything else has
19563         been set.
19564         (irange::irange_set_anti_range): Same.
19565         (irange::set): Same.
19566         (irange::verify_range): Disallow nonzero masks for VARYING.
19567         (irange::irange_union): Call verify_range.
19568         Handle nonzero masks better.
19569         (irange::irange_intersect): Same.
19570         (irange::set_nonzero_bits): Calculate mask if either range has an
19571         explicit mask.
19572         (irange::intersect_nonzero_bits): Same.
19573         (irange::union_nonzero_bits): Same.
19574         (range_tests_nonzero_bits): New.
19575         (range_tests): Call range_tests_nonzero_bits.
19576         * value-range.h (class irange): Remove set_nonzero_bits method
19577         with trees.
19578         (irange::varying_compatible_p): Set nonzero mask.
19580 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
19582         * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
19583         the sign-extend of result in the RTL template.
19584         (<any_div><mode>3): Adjust for <any_div>di3_fake change.
19586 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
19588         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
19589         Remove static, for use in the machine description file.
19590         * config/loongarch/loongarch-protos.h:
19591         (loongarch_check_zero_div_p): Add prototype.
19592         * config/loongarch/loongarch.md (enabled): New attr.
19593         (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
19594         idiv.  Conditionally enable the alternatives using
19595         loongarch_check_zero_div_p.
19596         (<optab>di3_fake): Likewise.
19598 2022-07-10  Xi Ruoyao  <xry111@xry111.site>
19600         * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
19601         instead of mul.d.
19603 2022-07-09  Aldy Hernandez  <aldyh@redhat.com>
19605         * value-range.cc (irange::irange_single_pair_union): Set
19606         VR_VARYING when appropriate.
19608 2022-07-09  Vit Kabele  <vit.kabele@sysgo.com>
19610         * stor-layout.cc (finalize_record_size): Extend warning message.
19612 2022-07-09  Sam Feifer  <sfeifer@redhat.com>
19614         PR tree-optimization/98304
19615         * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
19617 2022-07-09  Jeff Law  <jeffreyalaw@gmail.com>
19619         * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
19620         initializer and use clear_storage rather than copying the
19621         NULs to the destination array.
19623 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
19625         * config/i386/i386.md (define_peephole2): Use match_operand of
19626         flags_reg_operand to capture and preserve the mode of FLAGS_REG.
19627         (define_peephole2): Likewise.
19628         (define_peephole2): Likewise...
19630 2022-07-09  Roger Sayle  <roger@nextmovesoftware.com>
19632         * config/i386/i386-features.cc (convert_compare): Add support
19633         for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
19634         by generating a pandn followed by ptest.
19635         (convertible_comparison_p): Recognize both *cmpdi_doubleword and
19636         recent *testdi_not_doubleword comparison patterns.
19638 2022-07-09  Tamar Christina  <tamar.christina@arm.com>
19640         * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
19641         indicate that the value is not undefined.
19643 2022-07-09  Andrew Pinski  <apinski@marvell.com>
19645         PR tree-optimization/106087
19646         * tree-ssa-dce.cc (simple_dce_from_worklist): Check
19647         to make sure the statement is only defining one operand.
19649 2022-07-08  Lewis Hyatt  <lhyatt@gmail.com>
19651         PR preprocessor/91733
19652         * input.cc (find_end_of_line): New helper function.
19653         (file_cache_slot::get_next_line): Recognize \r as a line ending.
19654         * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
19655         since \r will now be interpreted as a line-ending.
19657 2022-07-08  Martin Liska  <mliska@suse.cz>
19659         PR sanitizer/106132
19660         * opts.cc (finish_options): Use 2 calls to
19661         report_conflicting_sanitizer_options.
19663 2022-07-08  Richard Biener  <rguenther@suse.de>
19665         PR tree-optimization/106226
19666         * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
19667         no SSA update is needed.  Move virtual SSA update ...
19668         * tree-vectorizer.cc (pass_vectorize::execute): ... here,
19669         via forced virtual renaming when TODO_update_ssa_only_virtuals
19670         is queued.
19671         (vect_transform_loops): Return TODO_update_ssa_only_virtuals
19672         when virtual SSA update is required.
19673         (try_vectorize_loop_1): Adjust.
19674         * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
19675         virtual renaming if the ABI forces an aggregate return
19676         but the original call did not have a virtual definition.
19678 2022-07-08  Martin Liska  <mliska@suse.cz>
19680         * toplev.cc (init_asm_output): Do not init asm_out_file.
19682 2022-07-08  Tamar Christina  <tamar.christina@arm.com>
19684         PR tree-optimization/106063
19685         * match.pd: Do not apply pattern after veclower is not supported.
19687 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
19689         * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
19690         'fn2' computation.
19692 2022-07-08  Tamar Christina  <tamar.christina@arm.com>
19694         * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
19695         still undefined and if so emit a subreg move instead.
19696         (store_integral_bit_field): Likewise.
19697         (store_bit_field): Likewise.
19698         * expr.h (write_complex_part): Likewise.
19699         * expmed.h (store_bit_field): Add new parameter.
19700         * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
19701         parameter.
19702         (expand_ifn_atomic_compare_exchange): Likewise.
19703         * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
19704         * emit-rtl.cc (validate_subreg): Likewise.
19705         * expr.cc (emit_group_store): Likewise.
19706         (copy_blkmode_from_reg): Likewise.
19707         (copy_blkmode_to_reg): Likewise.
19708         (clear_storage_hints): Likewise.
19709         (write_complex_part):  Likewise.
19710         (emit_move_complex_parts): Likewise.
19711         (expand_assignment): Likewise.
19712         (store_expr): Likewise.
19713         (store_field): Likewise.
19714         (expand_expr_real_2): Likewise.
19715         * ifcvt.cc (noce_emit_move_insn): Likewise.
19716         * internal-fn.cc (expand_arith_set_overflow): Likewise.
19717         (expand_arith_overflow_result_store): Likewise.
19718         (expand_addsub_overflow): Likewise.
19719         (expand_neg_overflow): Likewise.
19720         (expand_mul_overflow): Likewise.
19721         (expand_arith_overflow): Likewise.
19723 2022-07-08  Haochen Jiang  <haochen.jiang@intel.com>
19725         PR target/106180
19726         * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
19727         Rename from *sse2_cvtps2pd<mask_name>_1.
19728         (vec_unpacks_lo_v4sf): Add handler for memory operand.
19730 2022-07-08  Lulu Cheng  <chenglulu@loongson.cn>
19732         * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
19733         Modify fp_sp_offset and gp_sp_offset's calculation method,
19734         when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
19735         or UNITS_PER_FP_REG.
19737 2022-07-07  David Malcolm  <dmalcolm@redhat.com>
19739         * diagnostic-format-json.cc (json_from_location_range): Update for
19740         removal of label_text::maybe_free in favor of automatic memory
19741         management.
19742         * diagnostic-format-sarif.cc
19743         (sarif_builder::make_location_object): Likewise.
19744         * diagnostic-show-locus.cc (struct pod_label_text): New.
19745         (class line_label): Convert m_text from label_text to pod_label_text.
19746         (layout::print_any_labels): Move "text" to the line_label.
19747         * tree-diagnostic-path.cc (path_label::get_text): Update for
19748         removal of label_text::maybe_free in favor of automatic memory
19749         management.
19750         (event_range::print): Likewise.
19751         (default_tree_diagnostic_path_printer): Likewise.
19752         (default_tree_make_json_for_path): Likewise.
19754 2022-07-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
19756         * statistics.cc (get_function_name): Add check to see if fn is not NULL.
19758 2022-07-07  Richard Biener  <rguenther@suse.de>
19760         * tree-into-ssa.cc (iterating_old_ssa_names): New.
19761         (add_new_name_mapping): Grow {new,old}_ssa_names separately
19762         and only when actually needed.  Assert we are not growing
19763         the old_ssa_names set when iterating over it.
19764         (update_ssa): Remove old_ssa_names copying and empty_p
19765         query, note we are iterating over it and expect no set changes.
19767 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
19769         * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
19770         (prepare_target_image, main): Handle OpenMP 'requires'.
19771         (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
19772         'GOMP_offload_unregister_ver'.
19774 2022-07-07  Richard Biener  <rguenther@suse.de>
19776         PR target/106219
19777         * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
19778         set DECL_PURE_P.
19780 2022-07-07  Richard Biener  <rguenther@suse.de>
19782         * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
19783         number of LC PHIs inserted.
19784         (add_exit_phis): Return whether any variable required
19785         multiple LC PHI nodes.
19786         (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
19787         when possible.
19789 2022-07-07  Richard Biener  <rguenther@suse.de>
19791         * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
19792         the def loop exit block bitmap as argument instead of
19793         re-computing it here.
19794         (add_exit_phis_var): Adjust.
19795         (loop_name_cmp): New function.
19796         (add_exit_phis): Sort variables to insert LC PHI nodes
19797         after definition loop, for each definition loop compute
19798         the exit block bitmap once.
19799         (get_loops_exit): Remove.
19800         (rewrite_into_loop_closed_ssa_1): Do not pre-record
19801         all loop exit blocks into bitmaps.  Record loop exits
19802         if required.
19804 2022-07-07  Dimitrije Milosevic  <Dimitrije.Milosevic@Syrmia.com>
19806         * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
19807         to handle the N32 ABI.
19808         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
19809         the macro, as it is not needed anymore.
19811 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
19813         * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
19814         '[...]_data'.
19815         * config/nvptx/mkoffload.cc (process): Likewise.
19817 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
19819         * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
19821 2022-07-05  Andrew MacLeod  <amacleod@redhat.com>
19823         * value-relation.cc (relation_to_code): New vector.
19824         (relation_oracle::validate_relation): New.
19825         (set_relation): Allow ssa1 == ssa2 to be registered.
19826         * value-relation.h (validate_relation): New prototype.
19827         (query_relation): Make internal variant protected.
19829 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
19831         * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
19832         for double word comparisons and tests (comparisons against zero).
19833         * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
19834         and;cmp into andn;cmp $0 as a pre-reload splitter.
19835         (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
19836         (*<any_or><dwi>3_doubleword): Likewise.
19838 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
19839             Hongtao Liu  <hongtao.liu@intel.com>
19841         * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
19842         CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
19843         * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
19844         and gen_ssse3_palignv1ti instead of TImode.
19845         * config/i386/sse.md (SSESCALARMODE): Delete.
19846         (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
19847         (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
19848         iterator instead of SSESCALARMODE.
19849         (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
19850         using a single move instruction (if required).
19852 2022-07-05  Roger Sayle  <roger@nextmovesoftware.com>
19853             Uroš Bizjak  <ubizjak@gmail.com>
19855         PR rtl-optimization/96692
19856         * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
19857         as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
19859 2022-07-05  Richard Biener  <rguenther@suse.de>
19861         PR tree-optimization/106198
19862         * tree-cfgcleanup.cc (repair_loop_structures): Always do a
19863         full LC SSA rewrite but only if any blocks changed loop
19864         depth.
19866 2022-07-05  Richard Biener  <rguenther@suse.de>
19868         * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
19869         (find_uses_to_rename_in_loop): Likewise.
19870         (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
19871         uses.
19872         (rewrite_into_loop_closed_ssa): Adjust.
19874 2022-07-05  Richard Biener  <rguenther@suse.de>
19876         PR tree-optimization/106186
19877         * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
19878         Properly handle virtual PHI nodes.
19880 2022-07-05  Richard Biener  <rguenther@suse.de>
19882         PR tree-optimization/106196
19883         * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
19884         handle aggregate returns of calls for VDEF updates.
19886 2022-07-05  Richard Biener  <rguenther@suse.de>
19888         * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
19889         Maintain LC SSA.
19891 2022-07-05  Richard Sandiford  <richard.sandiford@arm.com>
19893         * tree-vect-patterns.cc (vect_convert_input): Expect the input
19894         type to be signed for optab_vector_mixed_sign.  Update the vectype
19895         at the same time as type.
19896         (vect_recog_dot_prod_pattern): Update accordingly.  If usdot isn't
19897         available, try sdot instead.
19898         * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
19899         (vect_model_reduction_cost): Model the cost of implementing usdot
19900         using sdot.
19901         (vectorizable_reduction): Likewise.  Skip target support test
19902         for lane reductions.
19903         (vect_emulate_mixed_dot_prod): New function.
19904         (vect_transform_reduction): Use it to emulate usdot via sdot.
19906 2022-07-05  Richard Biener  <rguenther@suse.de>
19908         PR tree-optimization/106182
19909         * loop-init.cc (fix_loop_structure): Return the number
19910         of newly discovered plus the number of deleted loops.
19911         * tree-cfgcleanup.cc (repair_loop_structures): Adjust
19912         variable name.
19914 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
19916         * gimple-range-fold.cc
19917         (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
19918         call to SCEV for irange supported types.
19919         (fold_using_range::range_of_builtin_int_call): Convert to vrange.
19920         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
19921         * tree-ssa-dom.cc (cprop_operand): Same.
19923 2022-07-04  Roger Sayle  <roger@nextmovesoftware.com>
19925         PR target/104489
19926         * calls.cc (precompute_register_parameters): Allow promotion
19927         of floating point values to be passed in wider integer modes
19928         by calling new convert_float_to_wider_int.
19929         (expand_call): Allow floating point results to be returned in
19930         wider integer modes by calling new convert wider_int_to_float.
19931         * cfgexpand.cc (expand_value_return): Allow backends to promote
19932         a scalar floating point return value to a wider integer mode
19933         by calling new convert_float_to_wider_int.
19934         * expr.cc (convert_float_to_wider_int): New function.
19935         (convert_wider_int_to_float): Likewise.
19936         (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
19937         scalar FP PARM_DECLs to wider integer modes, by calling new
19938         convert_wider_int_to_float.
19939         * expr.h (convert_modes): Name arguments for improved documentation.
19940         (convert_float_to_wider_int): Prototype new function here.
19941         (convert_wider_int_to_float): Likewise.
19942         * function.cc (assign_parm_setup_stack): Allow floating point
19943         values to be passed on the stack as wider integer modes by
19944         calling new convert_wider_int_to_float.
19946 2022-07-04  Martin Jambor  <mjambor@suse.cz>
19948         PR tree-optimization/105860
19949         * tree-sra.cc (build_reconstructed_reference): Start expr
19950         traversal only just below the outermost union.
19952 2022-07-04  Richard Biener  <rguenther@suse.de>
19954         * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
19955         and update virtual SSA form again.  Assert we do so for
19956         a known set of transforms only.
19957         * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
19958         * tree-vect-stmts.cc (vectorizable_load): When vectorizing
19959         using load-lanes allow virtual SSA update.
19961 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
19962             Chung-Lin Tang  <cltang@codesourcery.com>
19963             Thomas Schwinge  <thomas@codesourcery.com>
19965         * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
19966         (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
19967         (main): Ask lto1 to obtain omp_requires_mask and pass it on.
19968         * config/nvptx/mkoffload.cc (process, main): Likewise.
19969         * lto-cgraph.cc (omp_requires_to_name): New.
19970         (input_offload_tables): Save omp_requires_mask.
19971         (output_offload_tables): Read it, check for consistency,
19972         save value for mkoffload.
19973         * omp-low.cc (lower_omp_target): Force output_offloadtables
19974         call for OMP_REQUIRES_TARGET_USED.
19976 2022-07-04  Richard Biener  <rguenther@suse.de>
19978         * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
19979         no SSA update is needed instead of updating virtual SSA
19980         form.
19981         * tree-vect-stmts.cc (vectorizable_load): For hoisted
19982         invariant load use the loop entry virtual use.
19983         For emulated gather loads use the virtual use of the
19984         original stmt like vect_finish_stmt_generation would do.
19986 2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>
19988         * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
19989         for direct circularity.
19991 2022-07-04  Eric Botcazou  <ebotcazou@adacore.com>
19993         * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
19994         the language for vector types.
19996 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
19998         * value-range-storage.cc (irange_storage_slot::set_irange): Set
19999         nonzero bits in irange.
20000         (irange_storage_slot::get_irange): Get nonzero bits from irange.
20001         * value-range.cc (irange::operator=): Set nonzero bits.
20002         (irange::irange_set): Same.
20003         (irange::irange_set_anti_range): Same.
20004         (irange::set): Same.
20005         (irange::verify_range): Same.
20006         (irange::legacy_equal_p): Check nonzero bits.
20007         (irange::equal_p): Same.
20008         (irange::contains_p): Handle nonzero bits.
20009         (irange::irange_union): Same.
20010         (irange::irange_intersect): Same.
20011         (irange::dump): Same.
20012         (irange::set_nonzero_bits): New.
20013         (irange::get_nonzero_bits): New.
20014         (irange::intersect_nonzero_bits): New.
20015         (irange::union_nonzero_bits): New.
20016         (irange::dump_bitmasks): New.
20017         * value-range.h (class irange): Add m_nonzero_mask.
20018         (gt_ggc_mx): Handle nonzero bits.
20019         (gt_pch_nx): Same.
20020         (irange::set_undefined): Set nonzero bits.
20021         (irange::set_varying): Same.
20022         (irange::normalize_kind): Call set_undefined.
20024 2022-07-04  Richard Biener  <rguenther@suse.de>
20026         * tree-ssa-loop-manip.h
20027         (rewrite_virtuals_into_loop_closed_ssa): Remove.
20028         (rewrite_into_loop_closed_ssa_1): Likewise.
20029         * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
20030         Make static.
20031         (rewrite_into_loop_closed_ssa): Remove loop overload,
20032         always rewrite virtuals into LC SSA.
20033         (check_loop_closed_ssa_bb): Also check virtuals.
20034         * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
20035         LC PHIs when in LC SSA.
20036         * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
20037         loop-closed SSA here, but ...
20038         (tree_loop_unroll_and_jam): ... here once.
20039         * tree-if-conv.cc (version_loop_for_if_conversion): Use
20040         the cheaper TODO_update_ssa_no_phi.
20041         * tree-loop-distribution.cc (version_loop_by_alias_check):
20042         Likewise.
20043         * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
20044         Likewise.
20045         * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
20046         (tree_unswitch_outer_loop): Do not rewrite virtuals into
20047         LC ssa.
20048         * tree-parloops.cc (transform_to_exit_first_loop_alt):
20049         Likewise.
20050         (pass_parallelize_loops::execute): After finishing rewrite
20051         into LC SSA again because we do not maintain it properly.
20053 2022-07-04  Richard Biener  <rguenther@suse.de>
20055         PR tree-optimization/106055
20056         * graphite.cc (canonicalize_loop_closed_ssa): Check whether
20057         we can propagate.
20059 2022-07-04  Haochen Jiang  <haochen.jiang@intel.com>
20061         PR target/43618
20062         * config/i386/sse.md (extendv2sfv2df2): New define_expand.
20063         (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
20064         (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
20066 2022-07-04  Aldy Hernandez  <aldyh@redhat.com>
20068         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
20069         * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
20070         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
20071         with two arguments.
20072         (find_unswitching_predicates_for_bb): Same.
20073         * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
20074         * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
20075         * value-range.cc (irange::equal_p): Rename to...
20076         (irange::operator==): ...this.
20077         * value-range.h (irange::set): Remove.
20078         (irange::operator==): Remove.
20079         (irange::set_zero): Use set with two arguments.
20080         * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
20081         (vr_values::extract_range_from_unary_expr): Same.
20082         (check_for_binary_op_overflow): Same.
20083         (bounds_of_var_in_loop): Same.
20085 2022-07-03  H.J. Lu  <hjl.tools@gmail.com>
20087         PR target/106022
20088         * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
20089         New.
20090         * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
20091         New.
20092         * config/i386/mmx.md (V_16_32_64): New.
20093         (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
20094         and 64-bit constant vector.
20095         * config/i386/predicates.md (x86_64_const_vector_operand): New.
20097 2022-07-03  Aldy Hernandez  <aldyh@redhat.com>
20099         * gimple-range-cache.cc: Include value-range-storage.h.
20100         * gimple-range-cache.h (class block_range_cache): Add "class" to
20101         m_range_allocator.
20102         * gimple-range-edge.cc
20103         (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
20104         (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
20105         (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
20106         * gimple-range-edge.h: Add "class" to m_range_allocator.
20107         * gimple-range-infer.cc
20108         (infer_range_manager::infer_range_manager): Allocate allocator.
20109         (infer_range_manager::~infer_range_manager): Free allocator.
20110         (infer_range_manager::get_nonzero): Dereference allocator.
20111         (infer_range_manager::add_range): Same.
20112         * gimple-range-infer.h (class vrange_allocator): Add "class" to
20113         m_range_allocator.
20114         * value-range-storage.h (class vrange_allocator): Move from
20115         value-range.h.
20116         (class obstack_vrange_allocator): Same.
20117         (class ggc_vrange_allocator): Same.
20118         (vrange_allocator::alloc_vrange): Same.
20119         (vrange_allocator::alloc_irange): Same.
20120         * value-range.h (class vrange_allocator): Move to value-range-storage.h.
20121         (class obstack_vrange_allocator): Same.
20122         (class ggc_vrange_allocator): Same.
20124 2022-07-03  Aldy Hernandez  <aldyh@redhat.com>
20126         * Makefile.in (OBJS): Add value-range-storage.o.
20127         (GTFILES): Add value-range-storage.h.
20128         * gengtype.cc (open_base_files): Add value-range-storage.h.
20129         * value-range-storage.cc: New file.
20130         * value-range-storage.h: New file.
20132 2022-07-03  Xi Ruoyao  <xry111@xry111.site>
20133             Lulu Cheng  <chenglulu@loongson.cn>
20135         * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
20136         New static function.
20137         (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
20138         of TARGET_CHECK_ZERO_DIV.
20139         (loongarch_output_division): Likewise.
20140         * common/config/loongarch/loongarch-common.cc
20141         (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
20142         * doc/invoke.texi: Update to match the new behavior.
20144 2022-07-03  Ian Lance Taylor  <iant@golang.org>
20146         * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
20147         statement if -fdelete-dead-exceptions.
20149 2022-07-02  Tim Lange  <mail@tim-lange.me>
20151         PR analyzer/105900
20152         * doc/invoke.texi: Added Wanalyzer-allocation-size.
20154 2022-07-02  Immad Mir  <mirimmad17@gmail.com>
20156         PR analyzer/106003
20157         * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
20158         * doc/invoke.texi:  Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
20159         -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
20160         -Wanalyzer-fd-use-after-close.
20162 2022-07-01  Aldy Hernandez  <aldyh@redhat.com>
20164         * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
20165         (trailing_wide_ints::set_precision): Add num_elements argument.
20166         (trailing_wide_ints::extra_size): Same.
20168 2022-07-01  Uroš Bizjak  <ubizjak@gmail.com>
20170         * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
20171         Use "r" constraint for operand 1.
20173 2022-07-01  Richard Biener  <rguenther@suse.de>
20175         * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
20176         Do not look at interesting_blocks which is a copy of
20177         blocks_to_update.
20178         (update_ssa): Do not initialize it.
20179         (pass_build_ssa::execute): Set interesting_blocks to NULL
20180         after releasing it.
20182 2022-07-01  Richard Biener  <rguenther@suse.de>
20184         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
20185         back to using maybe_ne (off, -1).
20187 2022-07-01  Richard Biener  <rguenther@suse.de>
20189         * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
20190         checking dominance check conditional on flag_checking.
20192 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
20194         * config/gcn/gcn-protos.h (print_operand_address): Remove register
20195         keyword on 'rtx addr' argument.
20197 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
20198             Uroš Bizjak  <ubizjak@gmail.com>
20200         * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
20201         to post-reload define_insn_and_split.
20203 2022-07-01  Jakub Jelinek  <jakub@redhat.com>
20205         PR middle-end/106144
20206         * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
20207         emitting element for shift or if shift is 0 first element after start.
20208         (wide_int_cc_tests): Add tests for equivalency of wi::mask and
20209         wi::shifted_mask with 0 start.
20211 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
20213         PR target/106122
20214         * config/i386/i386.md (peephole2): Avoid generating pop %esp
20215         when optimizing for size.
20217 2022-07-01  Roger Sayle  <roger@nextmovesoftware.com>
20218             Uroš Bizjak  <ubizjak@gmail.com>
20220         * config/i386/i386.md (general_szext_operand): Add TImode
20221         support using x86_64_hilo_general_operand predicate.
20222         (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
20223         (*add<dwi>3_doubleword): Improved optimization of zero addition.
20224         (and<mode>3): Use SDWIM mode iterator to add support for double
20225         word bit-wise AND in TImode.  Use force_reg when double word
20226         immediate operand isn't x86_64_hilo_general_operand.
20227         (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
20228         converted into a post-reload splitter.
20229         (*andndi3_doubleword): Previous define_insn deleted.
20230         (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
20231         TARGET_BMI that splits post-reload.
20232         (*andn<mode>3_doubleword): New define_insn_and_split for
20233         !TARGET_BMI, that lowers/splits before reload.
20234         (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
20235         double word bit-wise XOR and bit-wise IOR in TImode.  Use
20236         force_reg when double word immediate operand isn't
20237         x86_64_hilo_general_operand.
20238         (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
20239         (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
20240         double word bit-wise NOT in TImode.
20241         (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
20242         and converted into a post-reload splitter.
20244 2022-07-01  Eric Botcazou  <ebotcazou@adacore.com>
20246         PR middle-end/105874
20247         * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
20248         EXPAND_MEMORY for the expansion of the inner reference only
20249         in the usual cases where a memory reference is required.
20251 2022-07-01  Richard Biener  <rguenther@suse.de>
20253         PR tree-optimization/106131
20254         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
20255         zero when offsetting the read looking through an aggregate
20256         copy.
20258 2022-07-01  Martin Liska  <mliska@suse.cz>
20260         PR tree-optimization/106126
20261         * gimple-if-to-switch.cc (struct condition_info): Save
20262         has_side_effect.
20263         (find_conditions): Parse all BBs.
20264         (pass_if_to_switch::execute): Allow only side effects for first
20265         BB.
20267 2022-07-01  Haochen Jiang  <haochen.jiang@intel.com>
20269         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
20270         Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
20271         OPTION_MASK_ISA2_AVX512BF16_UNSET and
20272         OPTION_MASK_ISA2_AVX512FP16_UNSET.
20274 2022-06-30  Joseph Myers  <joseph@codesourcery.com>
20276         PR lto/106129
20277         * lto-wrapper.cc (find_option): Add argument start.
20278         (merge_and_complain): Loop over existing_opt_index and
20279         existing_opt2_index for Xassembler check.  Update calls to
20280         find_option.
20281         (find_and_merge_options): Add argument first to determine whether
20282         to merge options with those passed in *opts.
20283         (run_gcc): Update calls to find_and_merge_options.
20285 2022-06-30  Aldy Hernandez  <aldyh@redhat.com>
20287         * gimple-range-cache.cc (block_range_cache::block_range_cache):
20288         Rename vrange_allocator to obstack_vrange_allocator.
20289         (ssa_global_cache::ssa_global_cache): Same.
20290         * gimple-range-edge.h (class gimple_outgoing_range): Same.
20291         * gimple-range-infer.h (class infer_range_manager): Same.
20292         * value-range.h (class vrange_allocator): Make abstract.
20293         (class obstack_vrange_allocator): Inherit from vrange_allocator.
20294         (class ggc_vrange_allocator): New.
20296 2022-06-30  Roger Sayle  <roger@nextmovesoftware.com>
20297             Uroš Bizjak  <ubizjak@gmail.com>
20299         * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
20300         provide gen_swapsi.
20301         (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
20302         via new gen_<insn>32di2_doubleword below.
20303         (<anyrotate>32di2_doubleword): New define_insn_and_split
20304         that splits after reload as either a pair of move instructions
20305         or an xchgl (using gen_swapsi).
20307 2022-06-30  Richard Biener  <rguenther@suse.de>
20309         * domwalk.h (dom_walker::dom_walker): Update comment to
20310         reflect reality and new special argument value for
20311         bb_index_to_rpo.
20312         * domwalk.cc (dom_walker::dom_walker): Recognize -1
20313         bb_index_to_rpo.
20314         * tree-into-ssa.cc
20315         (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
20316         dom_walker to not use RPO.
20318 2022-06-30  Martin Liska  <mliska@suse.cz>
20320         * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
20321         it is unused.
20323 2022-06-30  Andrew MacLeod  <amacleod@redhat.com>
20325         PR tree-optimization/106114
20326         * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
20327         statement operands instead of GORI cache.
20329 2022-06-30  Antoni Boucher  <bouanto@zoho.com>
20331         PR target/106095
20332         * config/i386/sse.md: Fix asm generation.
20334 2022-06-29  Sergei Trofimovich  <siarheit@google.com>
20336         PR c++/106102
20337         * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
20339 2022-06-29  Joseph Myers  <joseph@codesourcery.com>
20341         * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
20342         not gen_const_mem for UNSPEC_PIC_CALL_SYM.
20344 2022-06-29  Richard Biener  <rguenther@suse.de>
20346         PR rtl-optimization/106082
20347         * combine.cc (distribute_notes): Preserve notes when
20348         they indicate a call doesn't perform a non-local goto.
20350 2022-06-29  Richard Biener  <rguenther@suse.de>
20352         PR tree-optimization/106112
20353         * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
20354         a constant operand according to its type.
20356 2022-06-29  Martin Liska  <mliska@suse.cz>
20358         * doc/invoke.texi: Remove removed evrp-mode.
20360 2022-06-29  Lulu Cheng  <chenglulu@loongson.cn>
20362         PR target/106097
20363         * config/loongarch/loongarch.cc (loongarch_build_integer):
20364         Remove undefined behavior from code.
20366 2022-06-28  Dimitar Dimitrov  <dimitar@dinux.eu>
20368         * doc/sourcebuild.texi: Document new no_alignment_constraints
20369         effective target check.
20371 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
20373         * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
20374         * flag-types.h (enum evrp_mode): Remove.
20375         * params.opt: Remove --param=evrp-mode.
20376         * tree-vrp.cc (make_pass_early_vrp): New.
20377         (pass_vrp::execute): Call early VRP instance.
20378         * gimple-ssa-evrp-analyze.cc: Removed.
20379         * gimple-ssa-evrp-analyze.h: Removed.
20380         * gimple-ssa-evrp.cc: Removed.
20382 2022-06-28  Alexandre Oliva  <oliva@adacore.com>
20384         * Makefile.in (TFLAGS): New.
20385         (GCC_FOR_TARGET): Add TFLAGS.
20386         (FLAGS_TO_PASS): Pass TFLAGS down.
20388 2022-06-28  Richard Biener  <rguenther@suse.de>
20390         * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
20391         call update_ssa.
20393 2022-06-28  Richard Biener  <rguenther@suse.de>
20395         * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
20396         mark_block_for_update.
20397         (update_ssa): Adjust.
20399 2022-06-28  Xi Ruoyao  <xry111@xry111.site>
20401         PR target/106096
20402         * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
20403         $r13 from SIBCALL_REGS.
20404         * config/loongarch/loongarch.cc (loongarch_regno_to_class):
20405         Change $r13 to JIRL_REGS.
20407 2022-06-28  Aldy Hernandez  <aldyh@redhat.com>
20409         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
20410         irange::supports_p.
20412 2022-06-28  Richard Biener  <rguenther@suse.de>
20414         PR middle-end/106053
20415         * match.pd ((T)a == (T)b): Avoid folding away sign
20416         changes in a comparison if we'd truncate to a boolean.
20418 2022-06-28  Kewen Lin  <linkw@linux.ibm.com>
20420         * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
20421         iterator GPR with SImode, adjust the condition and output template,
20422         rename to ...
20423         (*rotlsi3_insert_4): ... this.
20425 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
20427         * genmatch.cc: Add "final" and "override" to various vfunc
20428         implementations, removing redundant "virtual" as appropriate.
20429         * gensupport.cc: Likewise.
20430         * gimple-range-cache.h: Likewise.
20431         * ipa-icf-gimple.h: Likewise.
20432         * ipa-icf.h: Likewise.
20433         * read-md.h: Likewise.
20434         * read-rtl-function.cc: Likewise.
20435         * tree-ssa-loop-ch.cc: Likewise.
20436         * tree-ssa-sccvn.cc: Likewise.
20438 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
20440         * config/i386/i386-features.h: Add "final" and "override" to
20441         scalar_chain vfunc implementations as appropriate.
20443 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
20445         * tree-switch-conversion.h: Add "final" and "override" to cluster
20446         vfunc implementations as appropriate.
20448 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
20450         * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
20451         implementations as appropriate.
20453 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
20455         * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
20456         implementations, removing redundant "virtual" as appropriate.
20457         * gimple-ssa-strength-reduction.cc: Likewise.
20458         * ipa-prop.cc: Likewise.
20459         * rtl-ssa/blocks.cc: Likewise.
20460         * tree-into-ssa.cc: Likewise.
20461         * tree-ssa-dom.cc: Likewise.
20462         * tree-ssa-math-opts.cc: Likewise.
20463         * tree-ssa-phiopt.cc: Likewise.
20464         * tree-ssa-propagate.cc: Likewise.
20465         * tree-ssa-sccvn.cc: Likewise.
20466         * tree-ssa-strlen.cc: Likewise.
20467         * tree-ssa-uncprop.cc: Likewise.
20469 2022-06-27  David Malcolm  <dmalcolm@redhat.com>
20471         * adjust-alignment.cc: Add "final" and "override" to opt_pass
20472         vfunc implementations, removing redundant "virtual" as
20473         appropriate.
20474         * asan.cc: Likewise.
20475         * auto-inc-dec.cc: Likewise.
20476         * auto-profile.cc: Likewise.
20477         * bb-reorder.cc: Likewise.
20478         * cfgcleanup.cc: Likewise.
20479         * cfgexpand.cc: Likewise.
20480         * cfgrtl.cc: Likewise.
20481         * cgraphbuild.cc: Likewise.
20482         * combine-stack-adj.cc: Likewise.
20483         * combine.cc: Likewise.
20484         * compare-elim.cc: Likewise.
20485         * config/i386/i386-features.cc: Likewise.
20486         * coroutine-passes.cc: Likewise.
20487         * cprop.cc: Likewise.
20488         * cse.cc: Likewise.
20489         * dce.cc: Likewise.
20490         * df-core.cc: Likewise.
20491         * dse.cc: Likewise.
20492         * dwarf2cfi.cc: Likewise.
20493         * early-remat.cc: Likewise.
20494         * except.cc: Likewise.
20495         * final.cc: Likewise.
20496         * function.cc: Likewise.
20497         * fwprop.cc: Likewise.
20498         * gcse.cc: Likewise.
20499         * gimple-harden-conditionals.cc: Likewise.
20500         * gimple-if-to-switch.cc: Likewise.
20501         * gimple-isel.cc: Likewise.
20502         * gimple-laddress.cc: Likewise.
20503         * gimple-loop-interchange.cc: Likewise.
20504         * gimple-loop-jam.cc: Likewise.
20505         * gimple-loop-versioning.cc: Likewise.
20506         * gimple-low.cc: Likewise.
20507         * gimple-ssa-backprop.cc: Likewise.
20508         * gimple-ssa-evrp.cc: Likewise.
20509         * gimple-ssa-isolate-paths.cc: Likewise.
20510         * gimple-ssa-nonnull-compare.cc: Likewise.
20511         * gimple-ssa-split-paths.cc: Likewise.
20512         * gimple-ssa-store-merging.cc: Likewise.
20513         * gimple-ssa-strength-reduction.cc: Likewise.
20514         * gimple-ssa-warn-access.cc: Likewise.
20515         * gimple-ssa-warn-alloca.cc: Likewise.
20516         * gimple-ssa-warn-restrict.cc: Likewise.
20517         * gimple-warn-recursion.cc: Likewise.
20518         * graphite.cc: Likewise.
20519         * ifcvt.cc: Likewise.
20520         * init-regs.cc: Likewise.
20521         * ipa-comdats.cc: Likewise.
20522         * ipa-cp.cc: Likewise.
20523         * ipa-devirt.cc: Likewise.
20524         * ipa-fnsummary.cc: Likewise.
20525         * ipa-free-lang-data.cc: Likewise.
20526         * ipa-icf.cc: Likewise.
20527         * ipa-inline.cc: Likewise.
20528         * ipa-modref.cc: Likewise.
20529         * ipa-profile.cc: Likewise.
20530         * ipa-pure-const.cc: Likewise.
20531         * ipa-reference.cc: Likewise.
20532         * ipa-split.cc: Likewise.
20533         * ipa-sra.cc: Likewise.
20534         * ipa-visibility.cc: Likewise.
20535         * ipa.cc: Likewise.
20536         * ira.cc: Likewise.
20537         * jump.cc: Likewise.
20538         * loop-init.cc: Likewise.
20539         * lower-subreg.cc: Likewise.
20540         * mode-switching.cc: Likewise.
20541         * modulo-sched.cc: Likewise.
20542         * multiple_target.cc: Likewise.
20543         * omp-expand.cc: Likewise.
20544         * omp-low.cc: Likewise.
20545         * omp-oacc-kernels-decompose.cc: Likewise.
20546         * omp-oacc-neuter-broadcast.cc: Likewise.
20547         * omp-offload.cc: Likewise.
20548         * omp-simd-clone.cc: Likewise.
20549         * passes.cc: Likewise.
20550         * postreload-gcse.cc: Likewise.
20551         * postreload.cc: Likewise.
20552         * predict.cc: Likewise.
20553         * recog.cc: Likewise.
20554         * ree.cc: Likewise.
20555         * reg-stack.cc: Likewise.
20556         * regcprop.cc: Likewise.
20557         * reginfo.cc: Likewise.
20558         * regrename.cc: Likewise.
20559         * reorg.cc: Likewise.
20560         * sancov.cc: Likewise.
20561         * sanopt.cc: Likewise.
20562         * sched-rgn.cc: Likewise.
20563         * stack-ptr-mod.cc: Likewise.
20564         * store-motion.cc: Likewise.
20565         * tracer.cc: Likewise.
20566         * trans-mem.cc: Likewise.
20567         * tree-call-cdce.cc: Likewise.
20568         * tree-cfg.cc: Likewise.
20569         * tree-cfgcleanup.cc: Likewise.
20570         * tree-complex.cc: Likewise.
20571         * tree-eh.cc: Likewise.
20572         * tree-emutls.cc: Likewise.
20573         * tree-if-conv.cc: Likewise.
20574         * tree-into-ssa.cc: Likewise.
20575         * tree-loop-distribution.cc: Likewise.
20576         * tree-nrv.cc: Likewise.
20577         * tree-object-size.cc: Likewise.
20578         * tree-parloops.cc: Likewise.
20579         * tree-predcom.cc: Likewise.
20580         * tree-profile.cc: Likewise.
20581         * tree-sra.cc: Likewise.
20582         * tree-ssa-ccp.cc: Likewise.
20583         * tree-ssa-copy.cc: Likewise.
20584         * tree-ssa-dce.cc: Likewise.
20585         * tree-ssa-dom.cc: Likewise.
20586         * tree-ssa-dse.cc: Likewise.
20587         * tree-ssa-forwprop.cc: Likewise.
20588         * tree-ssa-ifcombine.cc: Likewise.
20589         * tree-ssa-loop-ch.cc: Likewise.
20590         * tree-ssa-loop-im.cc: Likewise.
20591         * tree-ssa-loop-ivcanon.cc: Likewise.
20592         * tree-ssa-loop-prefetch.cc: Likewise.
20593         * tree-ssa-loop-split.cc: Likewise.
20594         * tree-ssa-loop-unswitch.cc: Likewise.
20595         * tree-ssa-loop.cc: Likewise.
20596         * tree-ssa-math-opts.cc: Likewise.
20597         * tree-ssa-phiopt.cc: Likewise.
20598         * tree-ssa-phiprop.cc: Likewise.
20599         * tree-ssa-pre.cc: Likewise.
20600         * tree-ssa-reassoc.cc: Likewise.
20601         * tree-ssa-sccvn.cc: Likewise.
20602         * tree-ssa-sink.cc: Likewise.
20603         * tree-ssa-strlen.cc: Likewise.
20604         * tree-ssa-structalias.cc: Likewise.
20605         * tree-ssa-uncprop.cc: Likewise.
20606         * tree-ssa-uninit.cc: Likewise.
20607         * tree-ssanames.cc: Likewise.
20608         * tree-stdarg.cc: Likewise.
20609         * tree-switch-conversion.cc: Likewise.
20610         * tree-tailcall.cc: Likewise.
20611         * tree-vect-generic.cc: Likewise.
20612         * tree-vectorizer.cc: Likewise.
20613         * tree-vrp.cc: Likewise.
20614         * tsan.cc: Likewise.
20615         * ubsan.cc: Likewise.
20616         * var-tracking.cc: Likewise.
20617         * vtable-verify.cc: Likewise.
20618         * web.cc: Likewise.
20620 2022-06-27  Andrew Stubbs  <ams@codesourcery.com>
20622         * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
20623         (jump): Likewise.
20624         (movdi_symbol_save_scc): Likewise.
20626 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
20628         PR rtl-optimization/7061
20629         * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
20631 2022-06-27  Roger Sayle  <roger@nextmovesoftware.com>
20633         PR tree-optimization/94026
20634         * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
20635         (((X >> C1) & C2) eq/ne C3): Likewise.
20637 2022-06-27  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
20639         * statistics.cc: Include tree.h.
20640         (get_function_name): New function.
20641         (statistics_fini_pass_2): Call get_function_name instead of
20642         current_function_name.
20643         (statistics_counter_event): Call get_function_name instead of
20644         function_name.
20645         (statistics_histogram_event): Likewise.
20647 2022-06-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20649         * config/xtensa/xtensa.md:
20650         Suppress unnecessary emitting nop insn in the split patterns for
20651         integer/FP constant synthesis, and add new peephole2 pattern that
20652         folds such synthesized additions.
20654 2022-06-25  Aldy Hernandez  <aldyh@redhat.com>
20656         * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
20657         instead of evrp.
20658         (dom_jt_state::push): Remove m_evrp.
20659         (dom_jt_state::pop): Same.
20660         (dom_jt_state::record_ranges_from_stmt): Remove.
20661         (dom_jt_state::register_equiv): Remove updating of evrp ranges.
20662         (class dom_jt_simplifier): Pass ranger to constructor.
20663         Inherit from hybrid_jt_simplifier.
20664         (dom_jt_simplifier::simplify): Convert to ranger.
20665         (pass_dominator::execute): Same.
20666         (all_uses_feed_or_dominated_by_stmt): New.
20667         (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
20668         (dom_opt_dom_walker::before_dom_children): Call
20669         set_global_ranges_from_unreachable_edges.
20670         Do not call record_ranges_from_stmt.
20671         (dom_opt_dom_walker::after_dom_children): Remove evrp use.
20672         (cprop_operand): Use int_range<> instead of value_range.
20673         (dom_opt_dom_walker::fold_cond): New.
20674         (dom_opt_dom_walker::optimize_stmt): Pass ranger to
20675         cprop_into_stmt.
20676         Use fold_cond() instead of vrp_visit_cond_stmt().
20677         * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
20678         pass state to simplifier.
20679         * vr-values.h (class vr_values): Make fold_cond public.
20681 2022-06-25  Jeff Law  <jeffreyalaw@gmail.com>
20683         * common/config/tilegx/tilegx-common.cc: Removed.
20684         * common/config/tilepro/tilepro-common.cc: Removed.
20685         * config.gcc: Remove tilegx and tilepro entries.
20686         * config/tilegx/constraints.md: Removed.
20687         * config/tilegx/feedback.h: Removed.
20688         * config/tilegx/linux.h: Removed.
20689         * config/tilegx/mul-tables.cc: Removed.
20690         * config/tilegx/predicates.md: Removed.
20691         * config/tilegx/sync.md: Removed.
20692         * config/tilegx/t-tilegx: Removed.
20693         * config/tilegx/tilegx-builtins.h: Removed.
20694         * config/tilegx/tilegx-c.cc: Removed.
20695         * config/tilegx/tilegx-generic.md: Removed.
20696         * config/tilegx/tilegx-modes.def: Removed.
20697         * config/tilegx/tilegx-multiply.h: Removed.
20698         * config/tilegx/tilegx-opts.h: Removed.
20699         * config/tilegx/tilegx-protos.h: Removed.
20700         * config/tilegx/tilegx.cc: Removed.
20701         * config/tilegx/tilegx.h: Removed.
20702         * config/tilegx/tilegx.md: Removed.
20703         * config/tilegx/tilegx.opt: Removed.
20704         * config/tilepro/constraints.md: Removed.
20705         * config/tilepro/feedback.h: Removed.
20706         * config/tilepro/gen-mul-tables.cc: Removed.
20707         * config/tilepro/linux.h: Removed.
20708         * config/tilepro/mul-tables.cc: Removed.
20709         * config/tilepro/predicates.md: Removed.
20710         * config/tilepro/t-tilepro: Removed.
20711         * config/tilepro/tilepro-builtins.h: Removed.
20712         * config/tilepro/tilepro-c.cc: Removed.
20713         * config/tilepro/tilepro-generic.md: Removed.
20714         * config/tilepro/tilepro-modes.def: Removed.
20715         * config/tilepro/tilepro-multiply.h: Removed.
20716         * config/tilepro/tilepro-protos.h: Removed.
20717         * config/tilepro/tilepro.cc: Removed.
20718         * config/tilepro/tilepro.h: Removed.
20719         * config/tilepro/tilepro.md: Removed.
20720         * config/tilepro/tilepro.opt: Removed.
20721         * configure.ac: Remove tilegx and tilepro entries.
20722         * configure: Rebuilt.
20723         * doc/extend.texi: Remove tilegx and tilepro entries.
20724         * doc/install.texi: Remove tilegx and tilepro entries.
20725         * doc/invoke.texi: Remove tilegx and tilepro entries.
20726         * doc/md.texi: Remove tilegx and tilepro entries.
20728 2022-06-25  Roger Sayle  <roger@nextmovesoftware.com>
20729             Richard Biener  <rguenther@suse.de>
20731         * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
20732         iteration over each basic block that was updated by the second
20733         iteration.
20735 2022-06-24  Jason Merrill  <jason@redhat.com>
20737         PR c++/87729
20738         PR c++/20423
20739         * doc/invoke.texi: Document changes.
20741 2022-06-24  Iain Buclaw  <ibuclaw@gdcproject.org>
20743         * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
20744         condition to avoid overflow.
20746 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20748         * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
20749         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
20750         * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
20751         OPTION_MASK_PPC_GFXOPT.
20752         * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
20753         * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
20754         OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
20755         * config/rs6000/rs6000-c.cc: Update comment.
20756         * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
20757         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
20758         MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
20759         (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
20760         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
20761         * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
20762         MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
20763         MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
20764         MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
20766 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20768         * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
20769         OPTION_MASK_MFCRF.
20770         * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
20771         OPTION_MASK_MULTIPLE.
20772         * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
20773         * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
20774         OPTION_MASK_MFCRF.
20775         * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
20776         OPTION_MASK_EABI.
20777         * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
20778         * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
20779         MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
20780         * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
20781         MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
20782         MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
20783         MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
20784         MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
20785         Replace with
20786         OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
20787         OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
20788         OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
20789         OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
20790         OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
20791         OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
20792         OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
20793         * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
20794         MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
20795         * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
20796         with OPTION_MASK_MULTIPLE.
20797         (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
20798         MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
20799         MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
20800         MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
20801         MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
20802         * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
20803         with OPTION_MASK_EABI.
20805 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20807         * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
20808         RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
20809         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
20810         RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
20811         OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
20812         OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
20813         OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
20814         * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
20815         RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
20816         RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
20817         RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
20819 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20821         * config/rs6000/rs6000-c.cc: Update comments.
20822         * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
20823         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
20824         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
20825         RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
20826         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
20827         with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
20828         OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
20829         OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
20830         OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
20831         OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
20832         OPTION_MASK_MMA, OPTION_MASK_POWER10.
20833         * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
20834         RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
20835         RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
20836         RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
20837         RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
20839 2022-06-24  Will Schmidt  <will_schmidt@vnet.ibm.com>
20841         * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
20842         MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
20843         OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
20845 2022-06-24  Richard Biener  <rguenther@suse.de>
20847         PR middle-end/106070
20848         * match.pd (a != b ? a : b): Fix translation of
20849         operand_equal_for_comparison_p.
20851 2022-06-24  Jan Hubicka  <jh@suse.cz>
20853         PR ipa/106057
20854         * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
20856 2022-06-24  Martin Liska  <mliska@suse.cz>
20858         PR middle-end/106059
20859         * profile-count.h: *= and /= operators need to modify this
20860         object.
20862 2022-06-24  Roger Sayle  <roger@nextmovesoftware.com>
20863             Uroš Bizjak  <ubizjak@gmail.com>
20865         PR target/105930
20866         * config/i386/i386.md (*<any_or>di3_doubleword): Split after
20867         reload.  Use rtx_equal_p to avoid creating memory-to-memory moves,
20868         and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
20870 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
20872         * common.opt (nostdlib++): New.
20873         * doc/invoke.texi (-nostdlib++): Document it.
20875 2022-06-24  Alexandre Oliva  <oliva@adacore.com>
20877         * doc/sourcebuild.texi (Environment attributes): Document
20878         two_plus_gigs.
20880 2022-06-23  David Malcolm  <dmalcolm@redhat.com>
20882         * common.opt (fdiagnostics-show-rules): New option.
20883         * diagnostic-format-json.cc (diagnostic_output_format_init_json):
20884         Fix up context->show_rules.
20885         * diagnostic-format-sarif.cc
20886         (diagnostic_output_format_init_sarif): Likewise.
20887         * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
20888         (diagnostic_metadata::precanned_rule): New class.
20889         (diagnostic_metadata::add_rule): New.
20890         (diagnostic_metadata::get_num_rules): New.
20891         (diagnostic_metadata::get_rule): New.
20892         (diagnostic_metadata::m_rules): New field.
20893         * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
20894         (print_any_rules): New.
20895         (diagnostic_report_diagnostic): Call it.
20896         * diagnostic.h (diagnostic_context::show_rules): New field.
20897         * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
20898         * opts.cc (common_handle_option): Handle
20899         OPT_fdiagnostics_show_rules.
20900         * toplev.cc (general_init): Set up global_dc->show_rules.
20902 2022-06-23  Martin Liska  <mliska@suse.cz>
20904         PR c++/106062
20905         * ubsan.cc (sanitize_unreachable_fn): Change order of calls
20906         in order to initialize UBSAN built-ins.
20908 2022-06-23  Martin Liska  <mliska@suse.cz>
20910         PR ipa/105600
20911         * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
20912         Skip variables with body_removed.
20914 2022-06-23  liuhongt  <hongtao.liu@intel.com>
20916         * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
20917         reg_or_subregno.
20918         (sse4_2_pcmpistr): Ditto.
20920 2022-06-23  Xionghu Luo  <xionghuluo@tencent.com>
20922         * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
20923         typo.
20924         * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
20925         * tree-switch-conversion.h: Likewise.
20927 2022-06-22  Jason Merrill  <jason@redhat.com>
20929         PR c++/104642
20930         * common.opt: Add -funreachable-traps.
20931         * doc/invoke.texi (-funreachable-traps): Document it.
20932         * opts.cc (finish_options): Enable at -O0 or -Og.
20933         * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
20934         (builtin_decl_unreachable, build_builtin_unreachable): New.
20935         * tree.h: Declare them.
20936         * ubsan.cc (sanitize_unreachable_fn): Factor out.
20937         (ubsan_instrument_unreachable): Use
20938         gimple_build_builtin_unreachable.
20939         * ubsan.h (sanitize_unreachable_fn): Declare.
20940         * gimple.cc (gimple_build_builtin_unreachable): New.
20941         * gimple.h: Declare it.
20942         * builtins.cc (expand_builtin_unreachable): Add assert.
20943         (fold_builtin_0): Call build_builtin_unreachable.
20944         * sanopt.cc: Don't run for just SANITIZE_RETURN
20945         or SANITIZE_UNREACHABLE when trapping.
20946         * cgraphunit.cc (walk_polymorphic_call_targets): Use new
20947         unreachable functions.
20948         * gimple-fold.cc (gimple_fold_call)
20949         (gimple_get_virt_method_for_vtable)
20950         * ipa-fnsummary.cc (redirect_to_unreachable)
20951         * ipa-prop.cc (ipa_make_edge_direct_to_target)
20952         (ipa_impossible_devirt_target)
20953         * ipa.cc (walk_polymorphic_call_targets)
20954         * tree-cfg.cc (pass_warn_function_return::execute)
20955         (execute_fixup_cfg)
20956         * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
20957         (unloop_loops)
20958         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
20959         Likewise.
20961 2022-06-22  Richard Sandiford  <richard.sandiford@arm.com>
20963         PR tree-optimization/106019
20964         * tree-data-ref.cc (dr_may_alias_p): Try using the
20965         innermost_loop_behavior to disambiguate non-loop queries.
20967 2022-06-22  Palmer Dabbelt  <palmer@rivosinc.com>
20969         * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
20971 2022-06-22  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
20973         * config/xtensa/xtensa.md (bswapsi2_internal):
20974         Enlarge the buffer that is obviously smaller than the template
20975         string given to sprintf().
20977 2022-06-21  Roger Sayle  <roger@nextmovesoftware.com>
20978             Marek Polacek  <polacek@redhat.com>
20979             Segher Boessenkool  <segher@kernel.crashing.org>
20980             Kewen Lin  <linkw@linux.ibm.com>
20982         PR target/105991
20983         * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
20984         exact_log2 doesn't return -1 (or zero).
20985         (plus_xor): New code iterator.
20986         (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
20988 2022-06-21  Nathan Sidwell  <nathan@acm.org>
20990         * doc/invoke.texi (C++ Modules): Remove language-linkage
20991         as missing feature.
20993 2022-06-21  Arjun Shankar  <arjun@redhat.com>
20995         PR tree-optimization/94899
20996         * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
20997         0x80000000): New simplification.
20999 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
21001         PR rtl-optimization/106032
21002         * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
21003         t may_trap_or_fault_p, even if it is cheap.
21005 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
21007         PR middle-end/106030
21008         * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
21009         temp to expand_operands if mode has been promoted.
21011 2022-06-21  Xionghu Luo  <xionghuluo@tencent.com>
21013         PR target/105740
21014         * gimple-if-to-switch.cc (find_conditions): Don't skip the first
21015         condition bb.
21017 2022-06-21  Siddhesh Poyarekar  <siddhesh@gotplt.org>
21019         PR tree-optimization/105736
21020         * tree-object-size.cc (addr_object_size): Return size_unknown
21021         when object offset computation returns an error.
21023 2022-06-20  H.J. Lu  <hjl.tools@gmail.com>
21025         PR target/105960
21026         * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
21027         false if PIC register is used when calling ifunc functions.
21029 2022-06-20  Richard Biener  <rguenther@suse.de>
21031         PR middle-end/106027
21032         * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
21033         type of the prevailing comparison for the new comparison type.
21034         (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
21035         to A < X && A >= Y folding.
21037 2022-06-20  Kewen Lin  <linkw@linux.ibm.com>
21039         PR tree-optimization/105940
21040         * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
21041         slp_done_for_suggested_uf and adjust with it accordingly.
21042         (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
21043         pass it down to vect_analyze_loop_2 for the initial analysis and
21044         applying suggested unroll factor.
21045         (vect_is_simple_reduction): Add parameter slp and adjust with it.
21046         (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
21047         (vect_analyze_scalar_cycles): Likewise.
21049 2022-06-20  Martin Liska  <mliska@suse.cz>
21051         * bb-reorder.cc (find_traces_1_round): Add operators / and * and
21052         use them.
21053         (better_edge_p): Likewise.
21054         * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
21055         * cfgloopmanip.cc (scale_loop_profile): Likewise.
21056         * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
21057         * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
21058         * config/sh/sh.cc (expand_cbranchdi4): Likewise.
21059         * dojump.cc (do_compare_rtx_and_jump): Likewise.
21060         * final.cc (compute_alignments): Likewise.
21061         * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
21062         (decide_about_value): Likewise.
21063         * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
21064         * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
21065         * modulo-sched.cc (sms_schedule): Likewise.
21066         * omp-expand.cc (extract_omp_for_update_vars): Likewise.
21067         (expand_omp_ordered_sink): Likewise.
21068         (expand_omp_for_ordered_loops): Likewise.
21069         (expand_omp_for_static_nochunk): Likewise.
21070         * predict.cc (maybe_hot_count_p): Likewise.
21071         (probably_never_executed): Likewise.
21072         (set_even_probabilities): Likewise.
21073         (handle_missing_profiles): Likewise.
21074         (expensive_function_p): Likewise.
21075         * profile-count.h: Likewise.
21076         * profile.cc (compute_branch_probabilities): Likewise.
21077         * stmt.cc (emit_case_dispatch_table): Likewise.
21078         * symtab-thunks.cc (expand_thunk): Likewise.
21079         * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
21080         * tree-ssa-sink.cc (select_best_block): Likewise.
21081         * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
21082         (switch_decision_tree::balance_case_nodes): Likewise.
21083         (switch_decision_tree::emit_case_nodes): Likewise.
21084         * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
21086 2022-06-20  yulong  <shiyulong@iscas.ac.cn>
21088         * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
21089         * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
21090         of RISCV_BUILTIN.
21091         * config/riscv/riscv-ftypes.def (0): Remove unused.
21092         (1): New.
21094 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21096         * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
21097         Consider relaxed MOVI instructions as L32R.
21099 2022-06-19  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21101         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
21102         Use can_create_pseudo_p(), instead of using individual
21103         reload_in_progress and reload_completed.
21104         (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
21105         the existing predicate function.
21106         (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
21107         Use the standard RTX code predicate macros such as MEM_P,
21108         SYMBOL_REF_P and/or CONST_INT_P.
21109         * config/xtensa/xtensa.md: Avoid using numeric literals to determine
21110         if callee-saved register, at the split patterns for indirect sibcall
21111         fixups.
21113 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
21115         * common.opt (flag_sanitize_trap): New variable.
21116         (fsanitize-trap=, fsanitize-trap): New options.
21117         (fsanitize-undefined-trap-on-error): Change into deprecated alias
21118         for -fsanitize-trap=all.
21119         * opts.h (struct sanitizer_opts_s): Add can_trap member.
21120         * opts.cc (finish_options): Complain about unsupported
21121         -fsanitize-trap= options.
21122         (sanitizer_opts): Add can_trap values to all entries.
21123         (get_closest_sanitizer_option): Ignore -fsanitize-trap=
21124         options which have can_trap false.
21125         (parse_sanitizer_options): Add support for -fsanitize-trap=.
21126         For -fsanitize-trap=all, enable
21127         SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT.  Disallow
21128         -fsanitize-trap=vptr here.
21129         (common_handle_option): Handle OPT_fsanitize_trap_ and
21130         OPT_fsanitize_trap.
21131         * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
21132         flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
21133         flag_sanitize_undefined_trap_on_error.
21134         * gcc.cc (sanitize_spec_function): Use
21135         flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
21136         and drop use of flag_sanitize_undefined_trap_on_error in
21137         "undefined" handling.
21138         * ubsan.cc (ubsan_instrument_unreachable): Use
21139         flag_sanitize_trap & SANITIZE_??? instead of
21140         flag_sanitize_undefined_trap_on_error.
21141         (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
21142         ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
21143         ubsan_build_overflow_builtin, instrument_bool_enum_load,
21144         ubsan_instrument_float_cast, instrument_nonnull_arg,
21145         instrument_nonnull_return, instrument_builtin): Likewise.
21146         * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
21147         (-fsanitize-undefined-trap-on-error): Document as deprecated
21148         alias of -fsanitize-trap.
21150 2022-06-18  Jakub Jelinek  <jakub@redhat.com>
21152         PR middle-end/105998
21153         * varasm.cc (narrowing_initializer_constant_valid_p): Check
21154         SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
21155         ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
21157 2022-06-18  Roger Sayle  <roger@nextmovesoftware.com>
21159         PR tree-optimization/105835
21160         * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
21161         Narrow integer multiplication by a zero_one_valued_p operand.
21162         (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
21163         conversions inside COND_EXPR where both data operands are
21164         integer constants.
21166 2022-06-18  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21168         * config/xtensa/constraints.md (Y):
21169         Change to include integer constants until reload begins.
21170         * config/xtensa/predicates.md (move_operand): Ditto.
21171         * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
21172         Change to allow storing integer constants into litpool only after
21173         reload begins.
21175 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
21177         PR target/105209
21178         * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
21179         * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
21180         (alpha_store_data_bypass_p_1): Ditto.
21181         * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
21182         of generic store_data_bypass_p.
21183         (ev4_ist_c): Remove insn reservation.
21185 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
21187         PR target/105970
21188         * config/i386/i386.cc (ix86_function_arg): Assert that
21189         the mode of pointer argumet is equal to ptr_mode, not Pmode.
21191 2022-06-17  Uroš Bizjak  <ubizjak@gmail.com>
21193         PR target/105993
21194         * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
21195         instead of REGNO comparisons in combine splitter.
21197 2022-06-17  Segher Boessenkool  <segher@kernel.crashing.org>
21199         * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
21200         types.
21202 2022-06-17  Kito Cheng  <kito.cheng@sifive.com>
21204         * config/riscv/bitmanip.md: Supress warning.
21206 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
21208         PR target/106004
21209         * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
21210         Clear bits in the mask above bit 31.
21212 2022-06-17  Richard Earnshaw  <rearnsha@arm.com>
21214         * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
21215         to avoid spilling trivial literals to the constant pool.
21217 2022-06-16  David Malcolm  <dmalcolm@redhat.com>
21219         * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
21220         auto_diagnostic_group to group any warning with its note.
21221         (maybe_warn_for_bound): Likewise.
21222         (check_access): Likewise.
21223         (warn_dealloc_offset): Likewise.
21224         (pass_waccess::maybe_warn_memmodel): Likewise.
21225         (pass_waccess::maybe_check_dealloc_call): Likewise.
21226         (pass_waccess::warn_invalid_pointer): Likewise.
21227         (pass_waccess::check_dangling_stores): Likewise.
21229 2022-06-16  Jason Merrill  <jason@redhat.com>
21231         * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
21232         opts_set->x_flag_sanitize.
21234 2022-06-16  Jason Merrill  <jason@redhat.com>
21236         * flags.h (issue_strict_overflow_warning): Comment #endif.
21238 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
21240         * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
21241         was invaraint before, clear the invariant bit.
21242         * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
21243         * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
21245 2022-06-16  Andrew MacLeod  <amacleod@redhat.com>
21247         * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
21249 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
21251         PR tree-optimization/105983
21252         * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
21253         y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
21254         on non-equality comparisons.
21256 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
21258         PR tree-optimization/105984
21259         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
21260         x > stype_max / cst || x < stype_min / cst): fold_convert @1
21261         to TREE_TYPE (@0) just once and test for negative divisor
21262         also on that folded constant instead of on @1.
21264 2022-06-16  Jakub Jelinek  <jakub@redhat.com>
21266         PR middle-end/105951
21267         * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
21268         optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
21269         as last argument to the internal functions.
21270         * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
21271         extra call argument to ifns.  If expand_atomic_fetch_op fails for the
21272         lhs == NULL_TREE case, fall through into the optab code with
21273         gen_reg_rtx (mode) as target.  If second expand_atomic_fetch_op
21274         fails, construct a CALL_EXPR and expand that.
21275         (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
21276         to ifns.  If expand_atomic_fetch_op fails, construct a CALL_EXPR and
21277         expand that.
21279 2022-06-16  Haochen Gui  <guihaoc@gcc.gnu.org>
21281         PR target/103316
21282         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
21283         gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
21284         RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
21285         RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
21286         * config/rs6000/vector.md (VEC_IC): New mode iterator.  Add support
21287         for new Power10 V1TI instructions.
21288         (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
21289         (vec_cmpu<mode><mode>): Likewise.
21290         (vector_nlt<mode>): Set mode iterator to VEC_IC.
21291         (vector_nltv1ti): Remove.
21292         (vector_gtu<mode>): Set mode iterator to VEC_IC.
21293         (vector_gtuv1ti): Remove.
21294         (vector_nltu<mode>): Set mode iterator to VEC_IC.
21295         (vector_nltuv1ti): Remove.
21296         (vector_geu<mode>): Set mode iterator to VEC_IC.
21297         (vector_ngt<mode>): Likewise.
21298         (vector_ngtv1ti): Remove.
21299         (vector_ngtu<mode>): Set mode iterator to VEC_IC.
21300         (vector_ngtuv1ti): Remove.
21301         (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
21302         (vector_gtu_v1ti_p): Remove.
21303         (vrotl<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
21304         (vrotlv1ti3): Remove.
21305         (vashr<mode>3): Set mode iterator to VEC_IC.  Emit insns for V1TI.
21306         (vashrv1ti3): Remove.
21308 2022-06-16  Martin Liska  <mliska@suse.cz>
21310         * gengtype-state.cc (read_a_state_token): Do not skip extra
21311         character after escaped sequence.
21313 2022-06-16  Martin Liska  <mliska@suse.cz>
21315         PR driver/105564
21316         * spellcheck.cc (test_find_closest_string): Add new test.
21317         * spellcheck.h (class best_match): Prefer a difference in
21318         trailing sign symbol.
21320 2022-06-16  liuhongt  <hongtao.liu@intel.com>
21322         PR tree-optimization/53533
21323         * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
21324         (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
21325         and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
21327 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21329         * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
21331 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21333         * config/xtensa/predicates.md (reload_operand):
21334         New predicate.
21335         * config/xtensa/xtensa.md: New peephole2 pattern.
21337 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21339         * config/xtensa/xtensa.md (*round_up_to_even):
21340         New insn-and-split pattern.
21341         (*signed_ge_zero): Ditto.
21343 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21345         * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
21346         xtensa_emit_sibcall): New prototypes.
21347         (xtensa_expand_epilogue): Add new argument that specifies whether
21348         or not sibling call.
21349         * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
21350         New macro definition.
21351         (xtensa_prepare_expand_call): New function in order to share
21352         the common code.
21353         (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
21354         New functions.
21355         (xtensa_expand_epilogue): Add new argument sibcall_p and use it
21356         for sibling call handling.
21357         * config/xtensa/xtensa.md (call, call_value):
21358         Use xtensa_prepare_expand_call.
21359         (call_internal, call_value_internal):
21360         Add the condition in order to be disabled if sibling call.
21361         (sibcall, sibcall_value, sibcall_epilogue): New expansions.
21362         (sibcall_internal, sibcall_value_internal): New insn patterns,
21363         and split ones in order to take care of the indirect sibcalls.
21365 2022-06-15  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21367         * doc/invoke.texi: Document -mextra-l32r-costs= option.
21369 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
21371         PR analyzer/105962
21372         * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
21373         * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
21374         Extend -fdiagnostics-path-format=separate-events so that with
21375         -fdiagnostics-show-path-depths it prints fndecls as well as stack
21376         depths.
21378 2022-06-15  David Malcolm  <dmalcolm@redhat.com>
21380         * value-relation.h: Add "final" and "override" to relation_oracle
21381         vfunc implementations as appropriate.
21383 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
21385         PR middle-end/105975
21386         Revert everything apart from the expand_fn_using_insn and
21387         expand_direct_optab_fn changes from:
21388         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
21389         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
21390         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
21391         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
21392         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
21393         member variable.
21394         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
21395         (direct_internal_fn_p): Also return true for internal functions
21396         that map directly to instructions defined target-insns.def.
21397         (direct_internal_fn): Adjust comment accordingly.
21398         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
21399         (vectorizable_optab2): New local macros.
21400         (not_direct): Initialize directly_mapped.
21401         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
21402         (gather_load_direct, len_load_direct, mask_store_direct)
21403         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
21404         (vec_cond_direct, scatter_store_direct, len_store_direct)
21405         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
21406         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
21407         (while_direct, fold_extract_direct, fold_left_direct)
21408         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
21409         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
21410         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
21411         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
21412         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
21413         (direct_internal_fn_types): Handle functions that map to instructions
21414         defined in target-insns.def.
21415         (direct_internal_fn_types): Likewise.
21416         (direct_internal_fn_supported_p): Likewise.
21417         (internal_fn_expanders): Likewise.
21418         (expand_fn_using_insn): New function,
21419         split out and adapted from...
21420         (expand_direct_optab_fn): ...here.
21421         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
21422         (expand_GOMP_SIMT_EXIT): Likewise.
21423         (expand_GOMP_SIMT_LANE): Likewise.
21424         (expand_GOMP_SIMT_LAST_LANE): Likewise.
21425         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
21426         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
21427         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
21428         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
21430 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
21432         PR target/105981
21433         * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
21434         to first_reg and second_reg respectively.  Initialize them correctly
21435         when generating big-endian code.
21437 2022-06-15  Richard Earnshaw  <rearnsha@arm.com>
21439         PR target/105974
21440         * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
21442 2022-06-15  Richard Biener  <rguenther@suse.de>
21444         PR tree-optimization/105971
21445         * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
21446         FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
21447         to leak less surprising alias results.
21449 2022-06-15  Richard Biener  <rguenther@suse.de>
21451         PR tree-optimization/105969
21452         * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
21453         by zero in overflow check.
21455 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
21457         PR tree-optimization/105254
21458         PR tree-optimization/105940
21459         Revert:
21460         * config/aarch64/aarch64.cc
21461         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
21462         loop_vec_info as argument.  Restrict the unroll factor to values
21463         that divide the VF.
21464         (aarch64_vector_costs::finish_cost): Update call accordingly.
21466 2022-06-15  Richard Sandiford  <richard.sandiford@arm.com>
21468         * read-rtl.cc (find_int): Substitute symbolic constants
21469         before converting the string to an integer.
21471 2022-06-15  Roger Sayle  <roger@nextmovesoftware.com>
21472             Richard Biener  <rguenther@suse.de>
21474         * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
21475         left shifts by a constant when the result is truncated, and the
21476         shift constant is well-defined.
21477         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
21478         support for rotations of signed integer types, by lowering
21479         using unsigned vector shifts.
21481 2022-06-15  liuhongt  <hongtao.liu@intel.com>
21483         PR target/105953
21484         * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
21485         operands[3].
21487 2022-06-14  Surya Kumari Jangala  <jskumari@linux.ibm.com>
21489         PR rtl-optimization/105041
21490         * regrename.cc (check_new_reg_p): Use nregs value from du chain.
21492 2022-06-14  Segher Boessenkool  <segher@kernel.crashing.org>
21494         * config/rs6000/vsx.md (VS_scalar): Delete.
21495         (rest of file): Adjust.
21497 2022-06-14  Jan Hubicka  <hubicka@ucw.cz>
21499         PR ipa/105739
21500         * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
21502 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
21504         * config/riscv/bitmanip.md: Add split to handle opportunities
21505         for slli + sh[123]add.uw
21507 2022-06-14  Philipp Tomsich  <philipp.tomsich@vrull.eu>
21509         * config/riscv/predicates.md (consecutive_bits_operand):
21510         Implement new predicate.
21512 2022-06-14  Richard Biener  <rguenther@suse.de>
21514         PR tree-optimization/105946
21515         * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
21516         Do not look at arguments not specified in the function call.
21518 2022-06-14  Richard Biener  <rguenther@suse.de>
21520         PR middle-end/105965
21521         * match.pd (view_convert CONSTRUCTOR): Handle single-element
21522         CTOR case.
21524 2022-06-14  Eric Botcazou  <ebotcazou@adacore.com>
21526         * warning-control.cc (copy_warning) [generic version]: Do not erase
21527         the warning data of the destination location when the no-warning
21528         bit is not set on the source.
21529         (copy_warning) [tree version]: Return early if TO is equal to FROM.
21530         (copy_warning) [gimple version]: Likewise.
21532 2022-06-14  Kewen Lin  <linkw@linux.ibm.com>
21534         PR tree-optimization/105940
21535         * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
21536         applying suggested_unroll_factor after start_over.
21538 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21540         * config/xtensa/predicates.md (shifted_mask_operand):
21541         New predicate.
21542         * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
21543         New insn-and-split pattern.
21544         (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
21545         *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
21546         *masktrue_const_shifted_mask): Ditto.
21548 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21550         * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
21552 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21554         * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
21555         Remove the first argument.
21556         (xtensa_emit_bit_branch): Remove it because now called only from the
21557         output statement of *bittrue insn pattern.
21558         * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
21559         argument 'p_invert', and make so that the condition is reversed by
21560         itself as needed.
21561         (xtensa_expand_conditional_branch): Share the common path, and remove
21562         condition inversion code.
21563         (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
21564         "false side" pattern.
21565         (xtensa_emit_bit_branch): Remove it because of the abovementioned
21566         reason, and move the function body to *bittrue insn pattern.
21567         * config/xtensa/xtensa.md (*bittrue): Transplant the output
21568         statement from removed xtensa_emit_bit_branch().
21569         (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
21570         insn patterns.
21572 2022-06-14  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21574         * config/xtensa/predicates.md (logical_shift_operator,
21575         xtensa_shift_per_byte_operator): New predicates.
21576         * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
21577         New prototype.
21578         * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
21579         New helper function for funnel shift patterns.
21580         * config/xtensa/xtensa.md (ior_op): New code iterator.
21581         (*ashlsi3_1): Replace with new split pattern.
21582         (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
21583         (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
21584         New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
21585         in order to omit unnecessary bitwise AND operation.
21586         (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
21587         *shlrd_per_byte_<code>_omit_AND):
21588         New insn patterns for funnel shifts.
21590 2022-06-13  Jason Merrill  <jason@redhat.com>
21592         * tree-cfg.cc (pass_warn_function_return::execute): Also check
21593         BUILT_IN_TRAP.
21595 2022-06-13  Maciej W. Rozycki  <macro@embecosm.com>
21597         * config/riscv/riscv.md (length): Remove the explicit setting
21598         for "fcmp".
21600 2022-06-13  H.J. Lu  <hjl.tools@gmail.com>
21602         * common/config/i386/cpuinfo.h (get_available_features): Require
21603         AVX for F16C and VAES.
21605 2022-06-13  Uroš Bizjak  <ubizjak@gmail.com>
21607         PR target/105927
21608         * config/i386/predicates.md (register_no_elim_operand):
21609         Return true for subreg of a memory operand.
21611 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
21613         * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
21614         (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
21615         (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
21616         (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
21617         * internal-fn.h (direct_internal_fn_info::directly_mapped): New
21618         member variable.
21619         (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
21620         (direct_internal_fn_p): Also return true for internal functions
21621         that map directly to instructions defined target-insns.def.
21622         (direct_internal_fn): Adjust comment accordingly.
21623         * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
21624         (vectorizable_optab2): New local macros.
21625         (not_direct): Initialize directly_mapped.
21626         (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
21627         (gather_load_direct, len_load_direct, mask_store_direct)
21628         (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
21629         (vec_cond_direct, scatter_store_direct, len_store_direct)
21630         (vec_set_direct, unary_direct, binary_direct, ternary_direct)
21631         (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
21632         (while_direct, fold_extract_direct, fold_left_direct)
21633         (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
21634         (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
21635         (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
21636         (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
21637         (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
21638         (direct_internal_fn_types): Handle functions that map to instructions
21639         defined in target-insns.def.
21640         (direct_internal_fn_types): Likewise.
21641         (direct_internal_fn_supported_p): Likewise.
21642         (internal_fn_expanders): Likewise.
21644 2022-06-13  Richard Sandiford  <richard.sandiford@arm.com>
21646         * internal-fn.cc (expand_fn_using_insn): New function,
21647         split out and adapted from...
21648         (expand_direct_optab_fn): ...here.
21649         (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
21650         (expand_GOMP_SIMT_EXIT): Likewise.
21651         (expand_GOMP_SIMT_LANE): Likewise.
21652         (expand_GOMP_SIMT_LAST_LANE): Likewise.
21653         (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
21654         (expand_GOMP_SIMT_VOTE_ANY): Likewise.
21655         (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
21656         (expand_GOMP_SIMT_XCHG_IDX): Likewise.
21658 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
21660         * omp-expand.cc (expand_omp_target): Remap user provided
21661         device clause arguments, -1 to -2 and -2 to -3, either
21662         at compile time if constant, or at runtime.
21664 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
21666         * common.opt (finstrument-functions): Set explicit value.
21667         (-finstrument-functions-once): New option.
21668         * doc/invoke.texi (Program Instrumentation Options): Document it.
21669         * gimplify.cc (build_instrumentation_call): New static function.
21670         (gimplify_function_tree): Call it to emit the instrumentation calls
21671         if -finstrument-functions[-once] is specified.
21673 2022-06-13  Eric Botcazou  <ebotcazou@adacore.com>
21675         * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
21676         * gimple.h (gimple_set_location): Do not copy warning data from
21677         the previous location when it is UNKNOWN_LOCATION.
21678         * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
21680 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
21682         PR target/105911
21683         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
21684         *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
21685         (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
21686         operands[3] unmodified.
21688 2022-06-12  Simon Wright  <simon@pushface.org>
21690         PR target/104871
21691         * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
21692         version is darwin20 (macOS 11) or greater, truncate the version to the
21693         major number.
21695 2022-06-12  Mark Mentovai  <mark@mentovai.com>
21697         * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
21699 2022-06-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
21701         PR target/96463
21702         * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
21703         (svld1rq_impl::fold): Define.
21704         * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
21705         op_mode and op_vec_flags.
21706         (aarch64_evpc_reencode): Initialize newd.op_mode and
21707         newd.op_vec_flags.
21708         (aarch64_evpc_sve_dup): New function.
21709         (aarch64_expand_vec_perm_const_1): Gate existing calls to
21710         aarch64_evpc_* functions under d->vmode == d->op_mode,
21711         and call aarch64_evpc_sve_dup.
21712         (aarch64_vectorize_vec_perm_const): Remove assert
21713         d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
21714         * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
21715         vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
21716         constant.
21718 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21720         * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
21721         New prototype.
21722         * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
21723         xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
21724         xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
21725         New backend functions that process the abovementioned logic.
21726         (xtensa_emit_move_sequence): Revert the previous changes.
21727         * config/xtensa/xtensa.md: New split patterns for integer
21728         and floating-point, as the frontend part.
21730 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21732         * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
21733         for ABS and NEG, add missing case for BSWAP and CLRSB, and
21734         double the costs for integer divisions using libfuncs if
21735         optimizing for speed, in order to take advantage of fast constant
21736         division by multiplication.
21737         (TARGET_INSN_COST): New macro definition.
21738         (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
21739         calculating relative costs of a RTL insns, for both of speed and
21740         size.
21741         * config/xtensa/xtensa.md (return, nop, trap): Correct values of
21742         the attribute "length" that depends on TARGET_DENSITY.
21743         (define_asm_attributes, blockage, frame_blockage): Add missing
21744         attributes.
21745         * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
21746         dependent option, however, preparatory work for now.
21748 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21750         * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
21751         Pass through the block length / loop count conditions if
21752         zero-overhead looping is configured and active,
21754 2022-06-11  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21756         * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
21757         Split into individual signedness, in order to use libcall
21758         "__umulsidi3" but not the other.
21759         (<u>mulhisi3): Merge into one by using code iterator.
21760         (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
21762 2022-06-11   Michael Meissner  <meissner@linux.ibm.com>
21764         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
21765         not generate block copies with vector pair instructions if we are
21766         tuning for power10.
21768 2022-06-10  Roger Sayle  <roger@nextmovesoftware.com>
21770         PR rtl-optimization/7061
21771         * expr.cc (emit_group_store): For groups that consist of a single
21772         scalar integer register that hold a complex mode value, use
21773         gen_lowpart to generate a SUBREG to "view_convert" to the complex
21774         mode.  For modes of different sizes, first convert to an integer
21775         mode of the appropriate size.
21777 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21779         * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
21781 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21783         * config/xtensa/xtensa.md (*andsi3_bitcmpl):
21784         New insn_and_split pattern.
21786 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21788         * config/xtensa/xtensa.md (one_cmplsi2):
21789         Rearrange as an insn_and_split pattern.
21791 2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
21793         * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
21795 2022-06-09  Segher Boessenkool  <segher@kernel.crashing.org>
21797         * config/rs6000/rs6000.md (FP_ISA3): Delete.
21798         (float<QHI:mode><FP_ISA3:mode>2): Rename to...
21799         (float<QHI:mode><SFDF:mode>2): ... this.  Adjust.
21800         (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
21801         (*float<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
21802         (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
21803         (floatuns<QHI:mode><SFDF:mode>2): ... this.  Adjust.
21804         (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
21805         (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this.  Adjust.
21807 2022-06-09  Maciej W. Rozycki  <macro@embecosm.com>
21809         * config/riscv/riscv.md
21810         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
21811         (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
21812         rather than space with FSFLAGS.
21814 2022-06-09  Tobias Burnus  <tobias@codesourcery.com>
21816         * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
21817         omp_discover_declare_target_fn_r): Don't walk reverse-offload
21818         target regions.
21820 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
21822         * doc/invoke.texi (-Waddress): Fix a typo in small example.
21823         Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
21825 2022-06-09  Cui,Lili  <lili.cui@intel.com>
21827         PR target/105493
21828         * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
21829         from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
21830         unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
21831         (icelake_cost): Ditto.
21832         (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
21833         stores and unaligned stores cost from {6, 6, 6, 10, 15} to
21834         {8, 8, 8, 10, 15}.
21836 2022-06-09  Haochen Gui  <guihaoc@gcc.gnu.org>
21838         * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
21839         and ior insns to one rotate and mask insn.
21840         (define_split for bswapdi register): Likewise.
21842 2022-06-08  Roger Sayle  <roger@nextmovesoftware.com>
21844         PR middle-end/105874
21845         * expr.cc (expand_expr_real_1) <normal_inner_ref>:  New local
21846         variable tem_modifier for calculating the expand_modifier enum to
21847         use for expanding tem.  If tem is a VAR_DECL, use EXPAND_MEMORY.
21849 2022-06-08  Max Filippov  <jcmvbkbc@gmail.com>
21851         PR target/105879
21852         * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
21853         to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
21854         'gen_highpart' bitwise semantics and fix order of highpart and
21855         lowpart depending on target endianness.
21857 2022-06-08  Chung-Ju Wu  <jasonwucj@gmail.com>
21859         * config/arm/arm-cpus.in (star-mc1): New cpu.
21860         * config/arm/arm-tables.opt: Regenerate.
21861         * config/arm/arm-tune.md: Regenerate.
21862         * doc/invoke.texi: Update docs.
21864 2022-06-08  liuhongt  <hongtao.liu@intel.com>
21866         PR target/105513
21867         PR target/105504
21868         * config/i386/i386.md (*movsi_internal): Change alternative
21869         from *v to ?v.
21870         (*movdi_internal): Ditto.
21871         * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
21872         to ?r.
21873         (*vec_extractv4sf_mem): Ditto.
21874         (*vec_extracthf): Ditto.
21876 2022-06-07  Richard Earnshaw  <rearnsha@arm.com>
21878         PR target/105090
21879         * config/arm/arm.cc (arm_bfi_1_p): New function.
21880         (arm_bfi_p): New function.
21881         (arm_rtx_costs_internal): Add costs for BFI idioms.
21882         (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
21883         * config/arm/constraints.md (Dj): New constraint.
21884         * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
21885         (insv_zero): Convert to an insn with a split.
21886         (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
21888 2022-06-07  liuhongt  <hongtao.liu@intel.com>
21890         PR target/105854
21891         * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
21892         from Yv to Yw.
21894 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
21896         PR middle-end/105853
21897         PR target/105856
21898         * calls.cc (load_register_parameters): Call store_constructor
21899         and int_expr_size directly instead of expanding via expand_expr.
21900         * expr.cc (static void store_constructor): Don't prototype here.
21901         (static HOST_WIDE_INT int_expr_size): Likewise.
21902         (store_constructor): No longer static.
21903         (int_expr_size): Likewise, no longer static.
21904         * expr.h (store_constructor): Prototype here.
21905         (int_expr_size): Prototype here.
21907 2022-06-07  Jan Beulich  <jbeulich@suse.com>
21909         Revert:
21910         2022-06-03  Jan Beulich  <jbeulich@suse.com>
21912         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21913         * configure.ac: Check for objcopy, producing
21914         ORIGINAL_OBJCOPY_FOR_TARGET.
21915         * configure: Update accordingly.
21916         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
21917         Handle objcopy.
21919 2022-06-07  Jakub Jelinek  <jakub@redhat.com>
21921         * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
21922         * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
21923         Adjust clause printing style depending on
21924         OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
21926 2022-06-07  Jan Beulich  <jbeulich@suse.com>
21928         * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
21929         Change type.
21930         * config/i386/i386-builtin-types.def: New function type
21931         (V4DI, V32QI, V32QI).
21932         * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
21933         V4DI_FTYPE_V32QI_V32QI.
21935 2022-06-07  Jan Beulich  <jbeulich@suse.com>
21937         * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
21938         into account for reg-only insns.
21940 2022-06-07  Roger Sayle  <roger@nextmovesoftware.com>
21942         * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
21943         IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
21944         TARGET_CMOVE's (scalar integer) conditional moves.
21945         * config/i386/sse.md (define_split): Recognize XOP's vpcmov
21946         from its equivalent (canonical) pxor;pand;pxor sequence.
21948 2022-06-07  Kewen Lin  <linkw@linux.ibm.com>
21950         * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
21951         parameter ORDER.
21953 2022-06-06  Andrew Stubbs  <ams@codesourcery.com>
21955         * config.in: Regenerate.
21956         * configure: Regenerate.
21957         * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
21959 2022-06-04  Roger Sayle  <roger@nextmovesoftware.com>
21961         PR middle-end/95126
21962         * calls.cc (load_register_parameters): When loading a suitable
21963         immediate_const_ctor_p VAR_DECL into a single word_mode register,
21964         construct it directly in a pseudo rather than read it (by parts)
21965         from memory.
21966         * expr.cc (int_expr_size): Make tree argument a const_tree.
21967         (immediate_const_ctor_p): Helper predicate.  Return true for
21968         simple constructors that may be materialized in a register.
21969         (expand_expr_real_1) [VAR_DECL]: When expanding a constant
21970         VAR_DECL with a suitable immediate_const_ctor_p constructor
21971         use store_constructor to materialize it directly in a pseudo.
21972         * expr.h (immediate_const_ctor_p): Prototype here.
21973         * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
21974         VALUE argument from tree to const_tree.
21975         * varasm.h (initializer_constant_valid_for_bitfield_p): Update
21976         prototype.
21978 2022-06-04  Jakub Jelinek  <jakub@redhat.com>
21980         PR target/105825
21981         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
21982         *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
21983         bits of mask aren't all set, use operands[2] mode for the AND
21984         operation instead of always SImode.
21986 2022-06-03  Jakub Jelinek  <jakub@redhat.com>
21988         PR middle-end/30314
21989         PR middle-end/105777
21990         * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
21991         x > stype_max / cst || x < stype_min / cst): New simplification.
21993 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
21995         * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
21996         Value_Range.
21997         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
21998         * value-range.h (Value_Range::Value_Range): Implement copy
21999         constructor for Value_Range.
22001 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
22003         * value-range.h (struct vrange_traits): Remove.
22004         (is_a): Rewrite without vrange_traits.
22005         (as_a): Same.
22007 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
22009         * value-range.cc (vrange::contains_p): Implement.
22010         (vrange::type): Return void.
22011         (vrange::supports_type_p): Implement.
22012         (irange::fits_p): Same.
22013         (vrange::set_undefined): Same.
22014         (irange::set_nonnegative): Same.
22015         (vrange::set_varying): Same.
22016         (vrange::union_): Same.
22017         (unsupported_range::set): Move to vrange.
22018         (unsupported_range::type): Move to vrange.
22019         (vrange::intersect): Implement for varying and undefined.
22020         (vrange::zero_p): Implement.
22021         (unsupported_range::supports_type_p): Move to vrange.
22022         (vrange::nonzero_p): Implement.
22023         (unsupported_range::set_undefined): Move to vrange.
22024         (unsupported_range::set_varying): Same.
22025         (unsupported_range::dump): Same.
22026         (unsupported_range::union_): Same.  Implement for varying and
22027         undefined.
22028         (unsupported_range::intersect): Move to vrange.
22029         (unsupported_range::zero_p): Same.
22030         (unsupported_range::nonzero_p): Same.
22031         (unsupported_range::set_nonzero): Same.
22032         (unsupported_range::set_zero): Same.
22033         (unsupported_range::set_nonnegative): Same.
22034         (unsupported_range::fits_p): Same.
22035         * value-range.h (class vrange): Remove abstract markers for most
22036         methods.
22037         (class unsupported_range): Remove most methods as they will now be
22038         inherited from vrange.
22040 2022-06-03  Aldy Hernandez  <aldyh@redhat.com>
22042         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
22043         an object level supports_type_p for irange and a static
22044         Value_Range::supports_type_p.
22045         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
22046         (fold_using_range::range_of_address): Same.
22047         (fold_using_range::range_of_builtin_call): Same.
22048         * gimple-range-fold.h (gimple_range_type): Same.
22049         (gimple_range_ssa_p): Same.
22050         * gimple-range-path.cc (path_range_query::internal_range_of_expr):
22051         Same.
22052         (path_range_query::range_of_stmt): Same.
22053         (path_range_query::add_to_imports): Same.
22054         * gimple-range.cc (gimple_ranger::range_on_edge): Same.
22055         (gimple_ranger::export_global_ranges): Same.
22056         * gimple-ssa-evrp-analyze.cc
22057         (evrp_range_analyzer::record_ranges_from_phis):  Same.
22058         * range-op.cc (range_operator::wi_fold): Same.
22059         (range_operator::fold_range): Same.
22060         * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
22061         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
22062         (evaluate_control_stmt_using_entry_checks): Same.
22063         * tree-ssa-threadedge.cc
22064         (hybrid_jt_simplifier::compute_ranges_from_state): Same.
22065         * tree-vrp.cc (supported_types_p): Same.
22066         * value-query.cc (range_query::value_of_expr): Same.
22067         (range_query::value_on_edge): Same.
22068         (range_query::value_of_stmt): Same.
22069         (range_query::get_tree_range): Same.
22070         (get_range_global): Same.
22071         (global_range_query::range_of_expr): Same.
22072         * value-range-equiv.h (class value_range_equiv): Same.
22073         * value-range.cc (irange::supports_type_p): Same.
22074         (unsupported_range::supports_type_p): Same.
22075         * value-range.h (enum value_range_discriminator): Same.
22076         (Value_Range::init): Same.
22077         (Value_Range::supports_type_p): Same.
22078         (irange::supports_type_p): Same.
22079         (irange::supports_p): Same.
22080         (vrange::supports_type_p): Same.
22081         (vrange_allocator::alloc_vrange): Same.
22083 2022-06-03  Jan Beulich  <jbeulich@suse.com>
22085         * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
22086         * configure.ac: Check for objcopy, producing
22087         ORIGINAL_OBJCOPY_FOR_TARGET.
22088         * configure: Update accordingly.
22089         * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
22090         Handle objcopy.
22092 2022-06-03  Jan Beulich  <jbeulich@suse.com>
22094         * config/i386/mmx.md (mmx_psadbw): Convert to expander.
22095         (*mmx_psadbw): New. Mark as commutative.
22096         * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
22097         (*<sse2_avx2>_psadbw): New. Mark as commutative.
22099 2022-06-03  Alexandre Oliva  <oliva@adacore.com>
22101         PR tree-optimization/105665
22102         PR tree-optimization/100810
22103         * tree-ssa-loop-ivopts.cc
22104         (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
22105         (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
22106         (find_ssa_undef): Check precomputed flag and intervening uses.
22107         (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
22109 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
22111         * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
22112         tree-logical-location.o.
22113         (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
22114         (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
22115         * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
22116         (sarif-stderr, sarif-file): New enum values.
22117         * diagnostic-client-data-hooks.h: New file.
22118         * diagnostic-format-sarif.cc: New file.
22119         * diagnostic-path.h (enum diagnostic_event::verb): New enum.
22120         (enum diagnostic_event::noun): New enum.
22121         (enum diagnostic_event::property): New enum.
22122         (struct diagnostic_event::meaning): New struct.
22123         (diagnostic_event::get_logical_location): New vfunc.
22124         (diagnostic_event::get_meaning): New vfunc.
22125         (simple_diagnostic_event::get_logical_location): New vfunc impl.
22126         (simple_diagnostic_event::get_meaning): New vfunc impl.
22127         * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
22128         (diagnostic_initialize): Initialize m_client_data_hooks.
22129         (diagnostic_finish): Clean up m_client_data_hooks.
22130         (diagnostic_event::meaning::dump_to_pp): New.
22131         (diagnostic_event::meaning::maybe_get_verb_str): New.
22132         (diagnostic_event::meaning::maybe_get_noun_str): New.
22133         (diagnostic_event::meaning::maybe_get_property_str): New.
22134         (get_cwe_url): Make non-static.
22135         (diagnostic_output_format_init): Handle
22136         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
22137         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
22138         * diagnostic.h (enum diagnostics_output_format): Add
22139         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
22140         DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
22141         (class diagnostic_client_data_hooks): New forward decl.
22142         (class logical_location): New forward decl.
22143         (diagnostic_context::m_client_data_hooks): New field.
22144         (diagnostic_output_format_init_sarif_stderr): New decl.
22145         (diagnostic_output_format_init_sarif_file): New decl.
22146         (get_cwe_url): New decl.
22147         * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
22148         sarif-file.
22149         * doc/sourcebuild.texi (Scan a particular file): Add
22150         scan-sarif-file and scan-sarif-file-not.
22151         * langhooks-def.h (lhd_get_sarif_source_language): New decl.
22152         (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
22153         (LANG_HOOKS_INITIALIZER): Add
22154         LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
22155         * langhooks.cc (lhd_get_sarif_source_language): New.
22156         * langhooks.h (lang_hooks::get_sarif_source_language): New field.
22157         * logical-location.h: New file.
22158         * plugin.cc (struct for_each_plugin_closure): New.
22159         (for_each_plugin_cb): New.
22160         (for_each_plugin): New.
22161         * plugin.h (for_each_plugin): New decl.
22162         * tree-diagnostic-client-data-hooks.cc: New file.
22163         * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
22164         (tree_diagnostics_defaults): Populate m_client_data_hooks.
22165         * tree-logical-location.cc: New file.
22166         * tree-logical-location.h: New file.
22168 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
22170         * common.opt (fdiagnostics-format=): Add json-stderr and json-file
22171         to description.
22172         (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
22173         (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
22174         (diagnostics_output_format): Add json-stderr and json-file.
22175         * diagnostic-format-json.cc (json_flush_to_file): New.
22176         (json_final_cb): Convert to...
22177         (json_flush_to_file): ...this, ...
22178         (json_stderr_final_cb): ...this, and...
22179         (json_file_final_cb): ...this.
22180         (diagnostic_output_format_init): Move to diagnostic.cc.
22181         (json_output_base_file_name): New.
22182         (diagnostic_output_format_init_json): New.
22183         (diagnostic_output_format_init_json_stderr): New.
22184         (diagnostic_output_format_init_json_file): New.
22185         * diagnostic.cc (diagnostic_output_format_init): Move here from
22186         diagnostic-format-json.cc; update for changes to enum.
22187         * diagnostic.h (enum diagnostics_output_format): Rename
22188         DIAGNOSTICS_OUTPUT_FORMAT_JSON to
22189         DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
22190         DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
22191         (diagnostic_output_format_init): Add base_file_name param.
22192         (diagnostic_output_format_init_json_stderr): New decl.
22193         (diagnostic_output_format_init_json_file): New dec.
22194         * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
22195         "json-file".  Rewrite so that the existing "json" is a synonym of
22196         "json-stderr".
22197         * gcc.cc (driver_handle_option): Pass dump_base_name to
22198         diagnostic_output_format_init.
22199         * opts.cc (common_handle_option): Likewise.
22201 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
22203         * json.cc (string::print): Fix escaping of '\'.
22205 2022-06-02  Philipp Tomsich  <philipp.tomsich@vrull.eu>
22207         * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
22208         (-1 << 31) for the single-bit case, when operating on (1 << 31)
22209         in SImode.
22210         * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
22211         any single-bit value, moving the special case for (1 << 31) to
22212         riscv_build_integer_1 (in riscv.c).
22214 2022-06-02  Roger Sayle  <roger@nextmovesoftware.com>
22216         PR target/105791
22217         * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
22218         (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
22220 2022-06-02  Jakub Jelinek  <jakub@redhat.com>
22222         PR target/105778
22223         * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
22224         from AND and its operands and just verify operands[2] has HImode,
22225         SImode or for TARGET_64BIT DImode.  Allow operands[3] to be a mask
22226         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
22227         just throw away the masking.  Use force_reg before calling
22228         gen_lowpart.
22229         (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
22230         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
22231         just throw away the masking.
22232         (*ashl<mode>3_doubleword): Rename to ...
22233         (ashl<mode>3_doubleword): ... this.
22234         (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
22235         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
22236         Use force_reg before calling gen_lowpart.
22237         (*<insn><mode>3_mask): Likewise.
22238         (*<insn><dwi>3_doubleword_mask): Likewise.  Allow operands[3] to be
22239         a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
22240         case just throw away the masking.  Use force_reg before calling
22241         gen_lowpart.
22242         (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
22243         with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
22244         throw away the masking.
22245         (*<insn><mode>3_doubleword): Rename to ...
22246         (<insn><mode>3_doubleword): ... this.
22247         (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
22248         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
22249         Use force_reg before calling gen_lowpart.
22250         (splitter after it): Remove :SI from AND and its operands and just
22251         verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
22252         (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
22253         operands and just verify operands[1] has HImode, SImode or for
22254         TARGET_64BIT DImode.  Use force_reg before calling gen_lowpart.
22255         (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
22256         * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
22257         ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
22259 2022-06-02  Richard Biener  <rguenther@suse.de>
22261         PR tree-optimization/101668
22262         * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
22263         for vector types with compatible lane types.
22264         (vect_build_slp_tree_2): Deal with this.
22265         (vect_add_slp_permutation): Adjust.  Emit lowpart/concat
22266         special cases without VEC_PERM.
22267         (vectorizable_slp_permutation): Select the operand vector
22268         type and relax requirements.  Handle identity permutes
22269         with mismatching operand types.
22270         * optabs-query.cc (can_vec_perm_const_p): Only allow variable
22271         permutes for op_mode == mode.
22273 2022-06-02  Richard Biener  <rguenther@suse.de>
22275         PR tree-optimization/105802
22276         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
22277         Make sure to also compute the range in the type of the switch index.
22279 2022-06-01  David Seifert  <soap@gentoo.org>
22281         PR plugins/95648
22282         * configure: Regenerate.
22284 2022-06-01  H.J. Lu  <hjl.tools@gmail.com>
22286         PR rtl-optimization/105638
22287         * df-core.cc (df_find_single_def_src): Moved and renamed from
22288         find_single_def_src in loop-iv.cc.  Change the argument to rtx
22289         and use rtx_equal_p.  Return null for partial or conditional
22290         defs.
22291         * df.h (df_find_single_def_src): New prototype.
22292         * dse.cc (record_store): Use the constant source if the source
22293         register is set only once.
22294         * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
22295         (replace_single_def_regs): Replace find_single_def_src with
22296         df_find_single_def_src.
22298 2022-06-01  Wilco Dijkstra  <wilco.dijkstra@arm.com>
22300         * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
22301         selected_tune.
22302         (explicit_arch): Rename to selected_arch.
22303         (x_aarch64_override_tune_string): Remove.
22304         (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
22305         (aarch64_override_tune_string): Add Save so it gets saved/restored.
22306         * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
22307         * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
22308         (processor): Remove archtecture_version field.
22309         (selected_arch): Remove global.
22310         (selected_cpu): Remove global.
22311         (selected_tune): Remove global.
22312         (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
22313         (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
22314         (aarch64_override_options): Further simplify code to only set
22315         selected_arch and selected_tune globals.
22316         (aarch64_option_save): Remove now that target options are saved.
22317         (aarch64_option_restore): Remove redundant target option restores.
22318         * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
22319         AARCH64_ISA_V9.
22320         * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
22321         * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
22322         (aarch64_ra_sign_key): Remove.
22324 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
22326         PR middle-end/30314
22327         * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
22328         x > ~(utype)0 / cst): New simplification.
22330 2022-06-01  Richard Biener  <rguenther@suse.de>
22332         PR tree-optimization/105786
22333         * tree-loop-distribution.cc
22334         (loop_distribution::transform_reduction_loop): Only do strlen
22335         replacement for integer type reductions.
22337 2022-06-01  Jakub Jelinek  <jakub@redhat.com>
22339         PR tree-optimization/105770
22340         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
22341         CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
22343 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
22345         * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
22346         (sbr_vector::sbr_vector): Same.
22347         (sbr_vector::grow): Same.
22348         (sbr_vector::set_bb_range): Same.
22349         (sbr_vector::get_bb_range): Same.
22350         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
22351         (sbr_sparse_bitmap::set_bb_range): Same.
22352         (sbr_sparse_bitmap::get_bb_range): Same.
22353         (block_range_cache::set_bb_range): Same.
22354         (block_range_cache::get_bb_range): Same.
22355         (block_range_cache::dump): Same.
22356         (ssa_global_cache::get_global_range): Same.
22357         (ssa_global_cache::set_global_range): Same.
22358         (ssa_global_cache::clear): Same.
22359         (ssa_global_cache::dump): Same.
22360         (ranger_cache::get_global_range): Same.
22361         (ranger_cache::set_global_range): Same.
22362         (ranger_cache::range_of_def): Same.
22363         (ranger_cache::entry_range): Same.
22364         (ranger_cache::exit_range): Same.
22365         (ranger_cache::edge_range): Same.
22366         (ranger_cache::range_of_expr): Same.
22367         (ranger_cache::range_on_edge): Same.
22368         (ranger_cache::block_range): Same.
22369         (ranger_cache::propagate_cache): Same.
22370         (ranger_cache::fill_block_cache): Same.
22371         (ranger_cache::range_from_dom): Same.
22372         * gimple-range-cache.h: Same.
22373         * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
22374         Same.
22375         (gimple_outgoing_range::switch_edge_range): Same.
22376         (gimple_outgoing_range::edge_range_p): Same.
22377         * gimple-range-edge.h: Same.
22378         * gimple-range-fold.cc (fur_source::get_operand): Same.
22379         (fur_source::get_phi_operand): Same.
22380         (fur_edge::get_operand): Same.
22381         (fur_edge::get_phi_operand): Same.
22382         (fur_stmt::get_operand): Same.
22383         (fur_stmt::get_phi_operand): Same.
22384         (fur_list::fur_list): Same.
22385         (fur_list::get_operand): Same.
22386         (fur_list::get_phi_operand): Same.
22387         (fold_range): Same.
22388         (adjust_imagpart_expr): Same.
22389         (adjust_realpart_expr): Same.
22390         (gimple_range_adjustment): Same.
22391         (fold_using_range::fold_stmt): Same.
22392         (fold_using_range::range_of_range_op): Same.
22393         (fold_using_range::range_of_address): Same.
22394         (fold_using_range::range_of_phi): Same.
22395         (fold_using_range::range_of_call): Same.
22396         (fold_using_range::range_of_builtin_call): Same.
22397         (fold_using_range::range_of_builtin_int_call): Same.
22398         (fold_using_range::range_of_cond_expr): Same.
22399         (fur_source::register_outgoing_edges): Same.
22400         * gimple-range-fold.h (fold_range): Same.
22401         (gimple_range_type): Same.
22402         (gimple_range_ssa_p): Same.
22403         * gimple-range-gori.cc (gimple_range_calc_op1): Same.
22404         (gimple_range_calc_op2): Same.
22405         (gori_compute::compute_operand_range_switch): Same.
22406         (gori_compute::compute_operand_range): Same.
22407         (gori_compute::logical_combine): Same.
22408         (gori_compute::compute_logical_operands): Same.
22409         (gori_compute::compute_operand1_range): Same.
22410         (gori_compute::compute_operand2_range): Same.
22411         (gori_compute::compute_operand1_and_operand2_range): Same.
22412         (gori_compute::outgoing_edge_range_p): Same.
22413         (gori_compute::condexpr_adjust): Same.
22414         * gimple-range-gori.h (gimple_range_calc_op1): Same.
22415         (gimple_range_calc_op2): Same.
22416         * gimple-range-path.cc (path_range_query::get_cache): Same.
22417         (path_range_query::set_cache): Same.
22418         (path_range_query::range_on_path_entry): Same.
22419         (path_range_query::internal_range_of_expr): Same.
22420         (path_range_query::range_of_expr): Same.
22421         (path_range_query::ssa_range_in_phi): Same.
22422         (path_range_query::range_defined_in_block): Same.
22423         (path_range_query::compute_ranges_in_phis): Same.
22424         (path_range_query::compute_ranges_in_block): Same.
22425         (path_range_query::add_to_imports): Same.
22426         (path_range_query::range_of_stmt): Same.
22427         * gimple-range-path.h: Same.
22428         * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
22429         (gimple_infer_range::~side_effect_manager): Same.
22430         (gimple_infer_range::get_nonzero): Same.
22431         (gimple_infer_range::maybe_adjust_range): Same.
22432         (gimple_infer_range::add_range): Same.
22433         * gimple-range-infer.h: Same.
22434         * gimple-range-tests.cc: Same.
22435         * gimple-range-trace.cc (range_tracer::trailer): Same.
22436         (debug_seed_ranger): Same.
22437         * gimple-range-trace.h: Same.
22438         * gimple-range.cc (gimple_ranger::range_of_expr): Same.
22439         (gimple_ranger::range_on_entry): Same.
22440         (gimple_ranger::range_on_exit): Same.
22441         (gimple_ranger::range_on_edge): Same.
22442         (gimple_ranger::fold_range_internal): Same.
22443         (gimple_ranger::range_of_stmt): Same.
22444         (gimple_ranger::prefill_name): Same.
22445         (gimple_ranger::prefill_stmt_dependencies): Same.
22446         (gimple_ranger::export_global_ranges): Same.
22447         (gimple_ranger::dump_bb): Same.
22448         * gimple-range.h: Same.
22449         * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
22450         (memmodel_to_uhwi): Same.
22451         * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
22452         (determine_value_range): Same.
22453         (record_nonwrapping_iv): Same.
22454         (infer_loop_bounds_from_signedness): Same.
22455         (scev_var_range_cant_overflow): Same.
22456         * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
22457         * value-query.cc (range_query::range_on_edge): Same.
22458         (range_query::range_of_stmt): Same.
22459         (range_query::value_of_expr): Same.
22460         (range_query::value_on_edge): Same.
22461         (range_query::value_of_stmt): Same.
22462         (range_query::get_tree_range): Same.
22463         (update_global_range): Same.
22464         (get_range_global): Same.
22465         (gimple_range_global): Same.
22466         (global_range_query::range_of_expr): Same.
22467         (range_query::query_relation): Same.
22468         * value-query.h (gimple_range_global): Same.
22469         (update_global_range): Same.
22470         * vr-values.cc (vr_values::range_of_expr): Same.
22471         (bounds_of_var_in_loop): Same.
22472         (simplify_using_ranges::vrp_visit_cond_stmt): Same.
22473         * vr-values.h (class vr_values): Same.
22474         * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
22476 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
22478         * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
22479         vrange allocator.
22480         (sbr_vector::grow): Same.
22481         (sbr_vector::set_bb_range): Same.
22482         (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
22483         (sbr_sparse_bitmap::set_bb_range): Same.
22484         (block_range_cache::~block_range_cache): Same.
22485         (block_range_cache::set_bb_range): Same.
22486         (ssa_global_cache::ssa_global_cache): Same.
22487         (ssa_global_cache::~ssa_global_cache): Same.
22488         (ssa_global_cache::set_global_range): Same.
22489         * gimple-range-cache.h (block_range_cache): Same.
22490         (ssa_global_cache): Same.
22491         * gimple-range-edge.cc
22492         (gimple_outgoing_range::calc_switch_ranges): Same.
22493         * gimple-range-edge.h (gimple_outgoing_range): Same.
22494         * gimple-range-infer.cc (infer_range_manager::get_nonzero):
22495         Same.
22496         (infer_range_manager::add_range): Same.
22497         * gimple-range-infer.h (class infer_range_manager): Same.
22498         * value-range.h (class irange_allocator): Rename to...
22499         (class vrange_allocator): ...this.
22500         (irange_allocator::irange_allocator): New.
22501         (vrange_allocator::vrange_allocator): New.
22502         (irange_allocator::~irange_allocator): New.
22503         (vrange_allocator::~vrange_allocator): New.
22504         (irange_allocator::get_memory): Rename to...
22505         (vrange_allocator::alloc): ...this.
22506         (vrange_allocator::alloc_vrange): Rename from...
22507         (irange_allocator::allocate): ...this.
22508         (vrange_allocator::alloc_irange): New.
22510 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
22512         * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
22513         vrange and convert range_op_handler function calls to use the
22514         identically named object.
22515         * gimple-range-fold.cc (gimple_range_operand1): Same.
22516         (gimple_range_operand2): Same.
22517         (fold_using_range::fold_stmt): Same.
22518         (fold_using_range::range_of_range_op): Same.
22519         (fold_using_range::range_of_builtin_ubsan_call): Same.
22520         (fold_using_range::relation_fold_and_or): Same.
22521         (fur_source::register_outgoing_edges): Same.
22522         * gimple-range-fold.h (gimple_range_handler): Remove.
22523         * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
22524         (gimple_range_calc_op2): Same.
22525         (range_def_chain::get_def_chain): Same.
22526         (gori_compute::compute_operand_range): Same.
22527         (gori_compute::condexpr_adjust): Same.
22528         * gimple-range.cc (gimple_ranger::prefill_name): Same.
22529         (gimple_ranger::prefill_stmt_dependencies): Same.
22530         * range-op.cc (get_bool_state): Same.
22531         (class operator_equal): Add using clause.
22532         (class operator_not_equal): Same.
22533         (class operator_lt): Same.
22534         (class operator_le): Same.
22535         (class operator_gt): Same.
22536         (class operator_ge): Same.
22537         (class operator_plus): Same.
22538         (class operator_minus): Same.
22539         (class operator_mult): Same.
22540         (class operator_exact_divide): Same.
22541         (class operator_lshift): Same.
22542         (class operator_rshift): Same.
22543         (class operator_cast): Same.
22544         (class operator_logical_and): Same.
22545         (class operator_bitwise_and): Same.
22546         (class operator_logical_or): Same.
22547         (class operator_bitwise_or): Same.
22548         (class operator_bitwise_xor): Same.
22549         (class operator_trunc_mod): Same.
22550         (class operator_logical_not): Same.
22551         (class operator_bitwise_not): Same.
22552         (class operator_cst): Same.
22553         (class operator_identity): Same.
22554         (class operator_unknown): Same.
22555         (class operator_abs): Same.
22556         (class operator_negate): Same.
22557         (class operator_addr_expr): Same.
22558         (class pointer_or_operator): Same.
22559         (operator_plus::op1_range): Adjust for vrange.
22560         (operator_minus::op1_range): Same.
22561         (operator_mult::op1_range): Same.
22562         (operator_cast::op1_range): Same.
22563         (operator_bitwise_not::fold_range): Same.
22564         (operator_negate::fold_range): Same.
22565         (range_op_handler): Rename to...
22566         (get_handler): ...this.
22567         (range_op_handler::range_op_handler): New.
22568         (range_op_handler::fold_range): New.
22569         (range_op_handler::op1_range): New.
22570         (range_op_handler::op2_range): New.
22571         (range_op_handler::lhs_op1_relation): New.
22572         (range_op_handler::lhs_op2_relation): New.
22573         (range_op_handler::op1_op2_relation): New.
22574         (range_cast): Adjust for vrange.
22575         * range-op.h (range_op_handler): Remove function.
22576         (range_cast): Adjust for vrange.
22577         (class range_op_handler): New.
22578         (get_bool_state): Adjust for vrange.
22579         (empty_range_varying): Same.
22580         (relop_early_resolve): Same.
22581         * tree-data-ref.cc (compute_distributive_range): Same.
22582         * tree-vrp.cc (get_range_op_handler): Remove.
22583         (range_fold_binary_symbolics_p): Use range_op_handler class
22584         instead of get_range_op_handler.
22585         (range_fold_unary_symbolics_p): Same.
22586         (range_fold_binary_expr): Same.
22587         (range_fold_unary_expr): Same.
22588         * value-query.cc (range_query::get_tree_range): Adjust for vrange.
22590 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
22592         * gimple-range-fold.h (gimple_range_type): Check type before
22593         calling supports_type_p.
22594         * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
22595         * value-query.cc (range_query::get_tree_range): Same.
22596         * value-range.cc (Value_Range::lower_bound): New.
22597         (Value_Range::upper_bound): New.
22598         (Value_Range::dump): New.
22599         * value-range.h (class Value_Range): New.
22600         (irange::supports_type_p): Do not check if type is non-zero.
22602 2022-06-01  Aldy Hernandez  <aldyh@redhat.com>
22604         * value-range-equiv.cc (value_range_equiv::set): New.
22605         * value-range-equiv.h (class value_range_equiv): Make set method
22606         virtual.
22607         Remove default bitmap argument from set method.
22608         * value-range.cc (vrange::contains_p): New.
22609         (vrange::singleton_p): New.
22610         (vrange::operator=): New.
22611         (vrange::operator==): New.
22612         (irange::fits_p): Move to .cc file.
22613         (irange::set_nonnegative): New.
22614         (unsupported_range::unsupported_range): New.
22615         (unsupported_range::set): New.
22616         (unsupported_range::type): New.
22617         (unsupported_range::set_undefined): New.
22618         (unsupported_range::set_varying): New.
22619         (unsupported_range::dump): New.
22620         (unsupported_range::union_): New.
22621         (unsupported_range::intersect): New.
22622         (unsupported_range::zero_p): New.
22623         (unsupported_range::nonzero_p): New.
22624         (unsupported_range::set_nonzero): New.
22625         (unsupported_range::set_zero): New.
22626         (unsupported_range::set_nonnegative): New.
22627         (unsupported_range::fits_p): New.
22628         (irange::set): Call irange::set_undefined.
22629         (irange::verify_range): Check discriminator field.
22630         (irange::dump): Dump [irange] marker.
22631         (irange::debug): Move to...
22632         (vrange::debug): ...here.
22633         (dump_value_range): Accept vrange.
22634         (debug): Same.
22635         * value-range.h (enum value_range_discriminator): New.
22636         (class vrange): New.
22637         (class unsupported_range): New.
22638         (struct vrange_traits): New.
22639         (is_a): New.
22640         (as_a): New.
22641         (class irange): Inherit from vrange.
22642         (dump_value_range): Adjust for vrange.
22643         (irange::kind): Rename to...
22644         (vrange::kind): ...this.
22645         (irange::varying_p): Rename to...
22646         (vrange::varying_p): ...this.
22647         (irange::undefined_p): Rename to...
22648         (vrange::undefined_p): ...this.
22649         (irange::irange): Set discriminator.
22650         (irange::union_): Convert to irange before passing to irange
22651         method.
22652         (irange::intersect): Same.
22653         (vrange::supports_type_p): New.
22654         * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
22655         NULL bitmap argument to value_range_equiv::set.
22656         (vr_values::extract_range_basic): Same.
22658 2022-06-01  Richard Biener  <rguenther@suse.de>
22660         PR tree-optimization/105763
22661         * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
22662         Check gimple_range_ssa_p.
22664 2022-05-31  Jason Merrill  <jason@redhat.com>
22666         * Makefile.in (TAGS): Look at libcpp/*.cc.
22668 2022-05-31  Christophe Lyon  <christophe.lyon@arm.com>
22670         * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
22671         Prefix mode names with E_.
22673 2022-05-31  Alan Modra  <amodra@gmail.com>
22675         * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
22676         spelling of DW_AT_namelist_item.
22678 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
22680         * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
22681         allow var to be private in the outer context.
22682         (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
22683         to build_outer_var_ref.
22685 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
22687         * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
22688         tieable with DImode on TARGET_64BIT, and SCmode tieable with
22689         V2SFmode, and DCmode with V2DFmode.
22691 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
22693         PR rtl-optimization/101617
22694         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
22695         special case (indicated by negate_cc_compare_p) to generate a
22696         -1/0 mask using neg;sbb.
22697         * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
22698         to generate an *x86_neg<mode>_ccc instruction.
22699         (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
22700         generate a *x86_mov<mode>cc_0_m1_neg instruction.
22702 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
22704         * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
22705         SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
22706         <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
22708 2022-05-30  Roger Sayle  <roger@nextmovesoftware.com>
22710         PR target/70321
22711         * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
22712         DI mode equality/inequality using XOR here.  Instead generate a
22713         COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
22714         * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
22715         gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
22716         (general_scalar_chain::convert_compare): New function to convert
22717         scalar equality/inequality comparison into vector operations.
22718         (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
22719         new convert_compare helper method.
22720         (convertible_comparion_p): Update to match doubleword COMPARE
22721         of two register, memory or integer constant operands.
22722         * config/i386/i386-features.h (general_scalar_chain::convert_compare):
22723         Prototype/declare member function here.
22724         * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
22725         only allow new doubleword modes for EQ and NE operators.
22726         (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
22727         doubleword comparison into a pair of XORs followed by an IOR to
22728         set the (zero) flags register, optimizing the XORs if possible.
22729         * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
22730         iterator; V_AVX is (currently) only used by ptest.
22731         (sse4_1 mode attribute): Update to support V1TI and V2TI.
22733 2022-05-30  Uroš Bizjak  <ubizjak@gmail.com>
22735         * config/i386/i386.md: Remove constraints when used with
22736         const_int_operand, const0_operand, const_1_operand, constm1_operand,
22737         const8_operand, const128_operand, const248_operand, const123_operand,
22738         const2367_operand, const1248_operand, const359_operand,
22739         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
22740         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
22741         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
22742         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
22743         const_0_to_255_mul_8_operand, const_1_to_31_operand,
22744         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
22745         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
22746         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
22747         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
22748         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
22749         const_24_to_27_operand and const_28_to_31_operand.
22750         * config/i386/mmx.md: Ditto.
22751         * config/i386/sse.md: Ditto.
22752         * config/i386/subst.md: Ditto.
22753         * config/i386/sync.md: Ditto.
22755 2022-05-30  Jan Beulich  <jbeulich@suse.com>
22757         * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
22758         arguments.
22760 2022-05-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
22762         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
22764 2022-05-29  Iain Sandoe  <iain@sandoe.co.uk>
22766         PR target/105599
22767         * config/darwin.h: Move versions-specific handling of multiply_defined
22768         from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
22770 2022-05-29  Eric Gallager  <egallager@gcc.gnu.org>
22772         PR other/82383
22773         * doc/sourcebuild.texi: Add entries for the c++tools,
22774         gotools, libbacktrace, libcc1, libcody, liboffloadmic,
22775         and libsanitizer directories. Remove entry for boehm-gc.
22776         Fix alphabetization for libquadmath.
22778 2022-05-28  Joel Holdsworth  <jholdsworth@nvidia.com>
22780         * config/avr/avr-mcus.def: Add device definitions.
22781         * doc/avr-mmcu.texi: Corresponding changes.
22782         * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
22783         device prefix.
22784         * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
22785         from leaking into cc1.
22787 2022-05-28  Vladimir Makarov  <vmakarov@gcc.gnu.org>
22789         PR target/103722
22790         * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
22791         is special) for various scenarios.
22793 2022-05-28  Iain Sandoe  <iain@sandoe.co.uk>
22795         * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
22796         describing this macro.
22798 2022-05-27  Richard Biener  <rguenther@suse.de>
22800         * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
22802 2022-05-27  Martin Jambor  <mjambor@suse.cz>
22804         PR ipa/105639
22805         * ipa-prop.cc (propagate_controlled_uses): Check type of the
22806         constant before adding a LOAD reference.
22808 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
22810         * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
22811         to OMP_CLAUSE_ENTER.
22812         * tree.h (OMP_CLAUSE_ENTER_TO): Define.
22813         * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
22814         OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
22815         * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
22816         instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
22817         "to" instead of "enter".
22818         * tree-nested.cc (convert_nonlocal_omp_clauses,
22819         convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
22820         OMP_CLAUSE_TO_DECLARE.
22822 2022-05-27  Richard Biener  <rguenther@suse.de>
22824         PR tree-optimization/105726
22825         * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
22826         Constrain array-of-flexarray case more.
22828 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
22830         PR sanitizer/105729
22831         * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
22832         to (X &) z + w if -fsanitize=null during GENERIC folding.
22834 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
22836         * match.pd (match_zero_one_valued_p): New predicate.
22837         (mult @0 @1): Use zero_one_valued_p for optimization to the
22838         expression "bit_and @0 @1".
22839         (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
22840         (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
22841         (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
22842         (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
22843         Remove three redundant transforms obsoleted by the three above.
22845 2022-05-27  Roger Sayle  <roger@nextmovesoftware.com>
22847         * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
22848         to split a combined "and;cmp" sequence into "not;test".
22850 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22852         * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
22853         (bswapsi2_internal): Revise the template and condition, and add
22854         detection code for preceding the same insn in order to omit a
22855         "SSAI 8" instruction of the latter.
22856         (bswapdi2): Suppress built-in insn expansion with the corresponding
22857         library call when optimizing for size.
22859 2022-05-27  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22861         * config/xtensa/xtensa-protos.h
22862         (xtensa_expand_block_set_unrolled_loop,
22863         xtensa_expand_block_set_small_loop): New prototypes.
22864         * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
22865         xtensa_expand_block_set_unrolled_loop,
22866         xtensa_expand_block_set_small_loop): New functions.
22867         * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
22868         * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
22870 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22872         * config/xtensa/xtensa.cc (xtensa_expand_block_move):
22873         Make instruction counting more accurate, and simplify emitting insns.
22875 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22877         * config/xtensa/constraints.md (M, O): Use the macro.
22878         * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
22879         sext_fldsz_operand): Ditto.
22880         * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
22881         xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
22882         xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
22883         xtensa_expand_prologue): Ditto.
22884         * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
22886 2022-05-26  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
22888         * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
22889         * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
22890         Ditto.
22892 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
22894         * gimple-range-cache.cc: Adjust comments.
22895         * gimple-range-infer.cc: Adjust comments.
22896         * gimple-range-infer.h: Adjust comments.
22897         * gimple-range.cc: Adjust comments.
22899 2022-05-25  Andrew MacLeod  <amacleod@redhat.com>
22901         * Makefile.in (OBJS): Use gimple-range-infer.o.
22902         * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
22903         (ranger_cache::range_from_dom): Rename var side_effect to infer.
22904         (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
22905         * gimple-range-cache.h: Include gimple-range-infer.h.
22906         (class ranger_cache): Adjust prototypes, use infer_range_manager.
22907         * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
22908         (gimple_infer_range::*): Rename from stmt_side_effects.
22909         (infer_range_manager::*): Rename from side_effect_manager.
22910         * gimple-range-side-effect.cc: Rename.
22911         * gimple-range-side-effect.h: Rename.
22912         * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
22913         (class gimple_infer_range): Rename from stmt_side_effects.
22914         (class infer_range_manager): Rename from side_effect_manager.
22915         * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
22916         from register_side_effects.
22917         * gimple-range.h (register_inferred_ranges): Adjust prototype.
22918         * range-op.h: Adjust comment.
22919         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
22920         (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
22922 2022-05-25  Simon Cook  <simon.cook@embecosm.com>
22924         * config/riscv/arch-canonicalize: Only add mafd extension if
22925         base was rv32/rv64g.
22927 2022-05-25  Tobias Burnus  <tobias@codesourcery.com>
22929         * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
22931 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
22933         PR sanitizer/105714
22934         * asan.cc (has_stmt_been_instrumented_p): For assignments which
22935         are both stores and loads, return true only if both destination
22936         and source have been instrumented.
22938 2022-05-25  Martin Liska  <mliska@suse.cz>
22939             Richard Biener   <rguenther@suse.de>
22941         * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
22942         * params.opt (max-unswitch-level): Remove.
22943         * doc/invoke.texi (max-unswitch-level): Likewise.
22944         * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
22945         gimplified expressions.
22946         * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
22947         (tree_may_unswitch_on): Rename to ...
22948         (find_unswitching_predicates_for_bb): ... this and handle
22949         switch statements.
22950         (get_predicates_for_bb): Likewise.
22951         (set_predicates_for_bb): Likewise.
22952         (init_loop_unswitch_info): Likewise.
22953         (tree_ssa_unswitch_loops): Prepare stuff before calling
22954         tree_unswitch_single_loop.
22955         (tree_unswitch_single_loop): Rework the function using
22956         pre-computed predicates and with a per original loop cost model.
22957         (merge_last): New.
22958         (add_predicate_to_path): Likewise.
22959         (find_range_for_lhs): Likewise.
22960         (simplify_using_entry_checks): Rename to ...
22961         (evaluate_control_stmt_using_entry_checks): ... this, handle
22962         switch statements and improve simplifications using ranger.
22963         (simplify_loop_version): Rework using
22964         evaluate_control_stmt_using_entry_checks.
22965         (evaluate_bbs): New.
22966         (evaluate_loop_insns_for_predicate): Likewise.
22967         (tree_unswitch_loop): Adjust to allow switch statements and
22968         pass in the edge to unswitch.
22969         (clean_up_after_unswitching): New.
22970         (pass_tree_unswitch::execute): Pass down fun.
22972 2022-05-24  Eugene Rozenfeld  <erozen@microsoft.com>
22974         * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
22975         counts for the epilog loop.
22977 2022-05-24  Martin Sebor  <msebor@redhat.com>
22978             Richard Biener  <rguenther@suse.de>
22980         PR middle-end/105604
22981         * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
22982         (get_origin_and_offset_r): Remove null handling.  Handle variable array
22983         sizes.
22984         (get_origin_and_offset): Handle null argument here.  Simplify.
22985         (alias_offset): Update comment.
22986         * pointer-query.cc (field_at_offset): Update comment.  Handle members
22987         of variable-length types.
22989 2022-05-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
22991         * target.def (vec_perm_const): Define new parameter op_mode and
22992         update doc.
22993         * doc/tm.texi: Regenerate.
22994         * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
22995         vec_perm_const hook to add new parameter op_mode and return false
22996         if result and operand modes do not match.
22997         * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
22998         * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
22999         * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
23000         * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
23001         * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
23002         * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
23003         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
23004         * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
23005         * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
23006         prototype.
23007         * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
23008         (ashrv2di3): Likewise.
23009         * optabs.cc (expand_vec_perm_const): Likewise.
23010         * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
23011         * optabs-query.cc (can_vec_perm_const_p): Define new parameter
23012         op_mode and pass it to vec_perm_const hook.
23013         (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
23014         * match.pd (vec_perm X Y CST): Likewise.
23015         * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
23016         * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
23017         (vect_grouped_load_supported): Likewise.
23018         (vect_shift_permute_load_chain): Likewise.
23019         * tree-vect-generic.cc (lower_vec_perm): Likewise.
23020         * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
23021         * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
23022         * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
23023         * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
23024         (vect_transform_slp_perm_load): Likewise.
23025         (vectorizable_slp_permutation): Likewise.
23026         * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
23027         (vectorizable_bswap): Likewise.
23028         (scan_store_can_perm_p): Likewise.
23029         (vect_gen_perm_mask_checked): Likewise.
23031 2022-05-24  H.J. Lu  <hjl.tools@gmail.com>
23033         PR target/104816
23034         * config/i386/i386.opt: Remove Undocumented.
23035         * doc/invoke.texi: Document -mcet-switch.
23037 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
23039         * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
23040         * config/gcn/gcn-opts.h (enum gcn_isa): New.
23041         (TARGET_GCN3): Use enum gcn_isa.
23042         (TARGET_GCN3_PLUS): Likewise.
23043         (TARGET_GCN5): Likewise.
23044         (TARGET_GCN5_PLUS): Likewise.
23045         (TARGET_CDNA1): New.
23046         (TARGET_CDNA1_PLUS): New.
23047         (TARGET_CDNA2): New.
23048         (TARGET_CDNA2_PLUS): New.
23049         (TARGET_M0_LDS_LIMIT): New.
23050         (TARGET_PACKED_WORK_ITEMS): New.
23051         * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
23052         (gcn_option_override): Recognise CDNA ISA variants.
23053         (gcn_omp_device_kind_arch_isa): Support gfx90a.
23054         (gcn_expand_prologue): Make m0 init optional.
23055         Add support for packed work items.
23056         (output_file_start): Support gfx90a.
23057         (gcn_hsa_declare_function_name): Support gfx90a metadata.
23058         * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
23059         __CDNA2__.
23060         * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
23061         (<su>mulsi3_highpart_imm): Likewise.
23062         (<su>mulsidi3): Likewise.
23063         (<su>mulsidi3_imm): Likewise.
23064         * config/gcn/gcn.opt (gpu_type): Add gfx90a.
23065         * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
23066         (main): Support gfx90a.
23067         * config/gcn/t-gcn-hsa: Add gfx90a multilib.
23068         * config/gcn/t-omp-device: Add gfx90a isa.
23070 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
23072         * config.in: Regenerate.
23073         * config/gcn/gcn-hsa.h (X_FIJI): Delete.
23074         (X_900): Delete.
23075         (X_906): Delete.
23076         (X_908): Delete.
23077         (S_FIJI): Delete.
23078         (S_900): Delete.
23079         (S_906): Delete.
23080         (S_908): Delete.
23081         (NO_XNACK): New macro.
23082         (NO_SRAM_ECC): New macro.
23083         (SRAMOPT): Keep only v4 variant.
23084         (HSACO3_SELECT_OPT): Delete.
23085         (DRIVER_SELF_SPECS): Delete.
23086         (ASM_SPEC): Remove LLVM 9 support.
23087         * config/gcn/gcn-valu.md
23088         (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
23089         (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
23090         * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
23091         (print_operand_address): Remove assembler bug workaround.
23092         * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
23093         (EF_AMDGPU_SRAM_ECC_V3): Delete.
23094         (SET_XNACK_ON): Delete v3 variants.
23095         (SET_XNACK_OFF): Delete v3 variants.
23096         (TEST_XNACK): Delete v3 variants.
23097         (SET_SRAM_ECC_ON): Delete v3 variants.
23098         (SET_SRAM_ECC_ANY): Delete v3 variants.
23099         (SET_SRAM_ECC_OFF): Delete v3 variants.
23100         (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
23101         (TEST_SRAM_ECC_ANY): Delete v3 variants.
23102         (TEST_SRAM_ECC_ON): Delete v3 variants.
23103         (copy_early_debug_info): Remove v3 support.
23104         (main): Remove v3 support.
23105         * configure: Regenerate.
23106         * configure.ac: Replace all GCN feature checks with a version check.
23108 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
23110         * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
23111         i.e. a double word negation of a zero extended operand, to
23112         neg;sbb.
23114 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
23116         PR tree-optimization/105668
23117         * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
23118         V1TImode, just like V2DImode.
23119         * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
23120         Use VI_128 mode iterator instead of VI124_128 to include V2DI.
23121         (vcond_mask_v2div2di): Delete.
23122         (vcond_mask_v1tiv1ti): New define_expand.
23124 2022-05-24  Roger Sayle  <roger@nextmovesoftware.com>
23126         * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
23127         to strncmp for strings of length one.
23129 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
23131         * config/riscv/predicates.md (imm5_operand): Add a new operand type for
23132         prefetch instructions.
23133         * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
23134         Extensions.
23135         (RISCV_ATYPE_SI): New.
23136         (RISCV_ATYPE_DI): New.
23137         * config/riscv/riscv-ftypes.def (0): New.
23138         (1): New.
23139         * config/riscv/riscv.md (riscv_clean_<mode>): New.
23140         (riscv_flush_<mode>): New.
23141         (riscv_inval_<mode>): New.
23142         (riscv_zero_<mode>): New.
23143         (prefetch): New.
23144         (riscv_prefetchi_<mode>): New.
23145         * config/riscv/riscv-cmo.def: New file.
23147 2022-05-24  ShiYulong  <shiyulong@iscas.ac.cn>
23149         * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
23150         * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
23151         (MASK_ZICBOM): New.
23152         (MASK_ZICBOP): New.
23153         (TARGET_ZICBOZ): New.
23154         (TARGET_ZICBOM): New.
23155         (TARGET_ZICBOP): New.
23156         * config/riscv/riscv.opt (riscv_zicmo_subext): New.
23158 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
23160         * tree-vect-slp-patterns.cc: Add "final" and "override" to
23161         vect_pattern::build impls as appropriate.
23163 2022-05-24  David Malcolm  <dmalcolm@redhat.com>
23165         * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
23166         implementations, removing redundant "virtual" as appropriate.
23167         * ipa-fnsummary.h: Likewise.
23168         * ipa-modref.cc: Likewise.
23169         * ipa-param-manipulation.cc: Likewise.
23170         * ipa-profile.cc: Likewise.
23171         * ipa-prop.h: Likewise.
23172         * ipa-pure-const.cc: Likewise.
23173         * ipa-reference.cc: Likewise.
23174         * ipa-sra.cc: Likewise.
23175         * symbol-summary.h: Likewise.
23176         * symtab-thunks.cc: Likewise.
23178 2022-05-24  Martin Liska  <mliska@suse.cz>
23180         Revert:
23181         2022-05-24  Martin Liska  <mliska@suse.cz>
23183         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
23184         warning.
23186 2022-05-24  Martin Liska  <mliska@suse.cz>
23188         * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
23189         warning.
23191 2022-05-24  Bruno Haible  <bruno@clisp.org>
23193         PR other/105527
23194         * doc/install.texi (Configuration): Add more details about --with-zstd.
23195         Document --with-zstd-include and --with-zstd-lib
23197 2022-05-24  Richard Biener  <rguenther@suse.de>
23199         PR middle-end/105711
23200         * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
23201         and use it.
23202         (extract_bit_field_1): Pass down the mode of op0 to
23203         extract_bit_field_as_subreg.
23205 2022-05-24  Vineet Gupta  <vineetg@rivosinc.com>
23207         * config/riscv/riscv.cc: (struct riscv_tune_param): Add
23208         fmv_cost.
23209         (rocket_tune_info): Add default fmv_cost 8.
23210         (sifive_7_tune_info): Ditto.
23211         (thead_c906_tune_info): Ditto.
23212         (optimize_size_tune_info): Ditto.
23213         (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
23215 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
23217         PR c/105378
23218         * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
23219         builtin.
23220         * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
23221         clause but no depend clauses.
23222         * omp-expand.cc (expand_taskwait_call): Use
23223         BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
23224         BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
23226 2022-05-24  Richard Biener  <rguenther@suse.de>
23228         PR tree-optimization/100221
23229         * tree-ssa-dse.cc (contains_phi_arg): New function.
23230         (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
23232 2022-05-24  Richard Biener  <rguenther@suse.de>
23234         PR tree-optimization/105629
23235         * tree-ssa-phiopt.cc (spaceship_replacement): Allow
23236         a sign-extending conversion.
23238 2022-05-24  Kewen Lin  <linkw@linux.ibm.com>
23240         PR target/105627
23241         * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
23242         be a debug insn.
23243         (union_uses): Skip debug use_insn.
23245 2022-05-23  Vineet Gupta  <vineetg@rivosinc.com>
23247         * config/riscv/predicates.md (const_0_operand): Remove
23248         const_double.
23249         * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
23250         CONST_DOUBLE.
23251         * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
23253 2022-05-23  Mayshao  <mayshao-oc@zhaoxin.com>
23255         * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
23256         the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
23257         (cpu_indicator_init): Handle Zhaoxin processors.
23258         * common/config/i386/i386-common.cc: Add lujiazui.
23259         * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
23260         VENDOR_ZHAOXIN.
23261         (enum processor_types): Add ZHAOXIN_FAM7H.
23262         (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
23263         * config.gcc: Add lujiazui.
23264         * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
23265         Signatures for zhaoxin
23266         (signature_SHANGHAI_ecx): Ditto.
23267         (signature_SHANGHAI_edx): Ditto.
23268         * config/i386/driver-i386.cc (host_detect_local_cpu): Let
23269         -march=native recognize lujiazui processors.
23270         * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
23271         * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
23272         * config/i386/i386.h (enum processor_type): Ditto.
23273         * config/i386/i386.md: Add lujiazui.
23274         * config/i386/x86-tune-costs.h (struct processor_costs): Add
23275         lujiazui costs.
23276         * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
23277         (ix86_adjust_cost): Ditto.
23278         * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
23279         (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
23280         (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
23281         (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
23282         (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
23283         (X86_TUNE_MOVX): Ditto.
23284         (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
23285         (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
23286         (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
23287         (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
23288         (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
23289         (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
23290         (X86_TUNE_USE_LEAVE): Ditto.
23291         (X86_TUNE_PUSH_MEMORY): Ditto.
23292         (X86_TUNE_LCP_STALL): Ditto.
23293         (X86_TUNE_USE_INCDEC): Ditto.
23294         (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
23295         (X86_TUNE_OPT_AGU): Ditto.
23296         (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
23297         (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
23298         (X86_TUNE_USE_SAHF): Ditto.
23299         (X86_TUNE_USE_BT): Ditto.
23300         (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
23301         (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
23302         (X86_TUNE_AVOID_MFENCE): Ditto.
23303         (X86_TUNE_EXPAND_ABS): Ditto.
23304         (X86_TUNE_USE_SIMODE_FIOP): Ditto.
23305         (X86_TUNE_USE_FFREEP): Ditto.
23306         (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
23307         (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
23308         (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
23309         (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
23310         (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
23311         * doc/extend.texi: Add details about lujiazui.
23312         * doc/invoke.texi: Add details about lujiazui.
23313         * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
23315 2022-05-23  Martin Liska  <mliska@suse.cz>
23317         * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
23319 2022-05-23  Richard Biener  <rguenther@suse.de>
23321         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
23322         (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
23324 2022-05-23  Richard Biener  <rguenther@suse.de>
23326         * gimple-expr.cc (is_gimple_condexpr): Remove.
23327         * gimple-expr.h (is_gimple_condexpr): Likewise.
23328         * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
23329         * tree-if-conv.cc (set_bb_predicate): Likewie.
23330         (add_to_predicate_list): Likewise.
23331         (gen_phi_arg_condition): Likewise.
23332         (predicate_scalar_phi): Likewise.
23333         (predicate_statements): Likewise.
23335 2022-05-23  Richard Biener  <rguenther@suse.de>
23337         * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
23338         * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
23339         as is_gimple_val.
23340         * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
23341         * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
23342         * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
23343         Build the condition of the COND_EXPR separately.
23344         * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
23345         * tree-vect-generic.cc (expand_vector_condition): Likewise.
23346         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
23347         Likewise.
23348         * vr-values.cc (simplify_using_ranges::simplify): Likewise.
23349         * tree-vect-patterns.cc: Add comment indicating we are
23350         building invalid COND_EXPRs and why.
23351         * omp-expand.cc (expand_omp_simd): Gimplify the condition
23352         to the COND_EXPR separately.
23353         (expand_omp_atomic_cas): Note part that should be unreachable
23354         now.
23355         * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
23356         condition for valid replacements.
23357         * tree-if-conv.cc (predicate_bbs): Simulate previous
23358         re-folding of the condition in folded COND_EXPRs which
23359         is necessary because of unfolded GIMPLE_CONDs in the IL
23360         as in for example gcc.dg/fold-bopcond-1.c.
23361         * gimple-range-gori.cc (gori_compute::condexpr_adjust):
23362         Handle that the comparison is now in the def stmt of
23363         the select operand.  Required by gcc.dg/pr104526.c.
23365 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
23367         PR fortran/104949
23368         * langhooks-def.h (lhd_omp_array_size): New.
23369         (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
23370         (LANG_HOOKS_DECLS): Add it.
23371         * langhooks.cc (lhd_omp_array_size): New.
23372         * langhooks.h (struct lang_hooks_for_decls): Add hook.
23373         * omp-low.cc (scan_sharing_clauses, lower_omp_target):
23374         Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
23376 2022-05-23  Roger Sayle  <roger@nextmovesoftware.com>
23378         * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
23379         XOR/IOR case.  Account for two instructions for double-word
23380         operations.  In case of vector pandn, account for single
23381         instruction.  Likewise for integer andn with TARGET_BMI.
23382         <case NOT>: Vector NOT requires more than 1 instruction (pxor).
23383         <case NEG>: Double-word negation requires 3 instructions.
23385 2022-05-23  Tsukasa OI  <research_trasio@irq.a4lg.com>
23387         * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
23388         Fix "K" extension prefix to be placed before "J".
23389         * config/riscv/arch-canonicalize: Likewise.
23391 2022-05-23  liuhongt  <hongtao.liu@intel.com>
23393         * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
23394         <-> mask cost from 5 to 6.
23395         (icelake_cost): Ditto.
23397 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
23399         * config/aarch64/aarch64.md
23400         (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
23401         (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
23402         (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
23403         (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
23404         (one_cmpl_<optab><mode>2): Likewise.
23405         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
23406         (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
23407         (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
23408         (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
23409         (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
23410         (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
23411         (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
23412         (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
23413         (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
23414         (rolsi3_insn_uxtw): New pattern.
23415         * config/aarch64/iterators.md (SHIFT): Add rotate left.
23416         (SHIFT_no_rotate): Add new iterator.
23417         (SHIFT:shift): Print rotate left as ror.
23418         (is_rotl): Add test for left rotate.
23420 2022-05-20  Wilco Dijkstra  <wilco.dijkstra@arm.com>
23422         * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
23423         processing.  Add support for architectural extensions.
23424         * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
23425         AARCH64_CPU_DEFAULT_FLAGS.
23426         (TARGET_CPU_NBITS): Remove.
23427         (TARGET_CPU_MASK): Remove.
23428         * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
23429         (get_tune_cpu): Assert CPU is always valid.
23430         (get_arch): Assert architecture is always valid.
23431         (aarch64_override_options): Cleanup CPU selection code and simplify logic.
23432         (aarch64_option_restore): Remove unnecessary checks on tune.
23434 2022-05-20  David Malcolm  <dmalcolm@redhat.com>
23436         * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
23437         "FINAL" and "OVERRIDE" with "final" and "override".
23438         * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
23439         * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
23440         * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
23441         * diagnostic-path.h: Likewise.
23442         * digraph.cc: Likewise.
23443         * gcc-rich-location.h: Likewise.
23444         * gimple-array-bounds.cc: Likewise.
23445         * gimple-loop-versioning.cc: Likewise.
23446         * gimple-range-cache.cc: Likewise.
23447         * gimple-range-cache.h: Likewise.
23448         * gimple-range-fold.cc: Likewise.
23449         * gimple-range-fold.h: Likewise.
23450         * gimple-range-tests.cc: Likewise.
23451         * gimple-range.h: Likewise.
23452         * gimple-ssa-evrp.cc: Likewise.
23453         * input.cc: Likewise.
23454         * json.h: Likewise.
23455         * read-rtl-function.cc: Likewise.
23456         * tree-complex.cc: Likewise.
23457         * tree-diagnostic-path.cc: Likewise.
23458         * tree-ssa-ccp.cc: Likewise.
23459         * tree-ssa-copy.cc: Likewise.
23460         * tree-vrp.cc: Likewise.
23461         * value-query.h: Likewise.
23462         * vr-values.h: Likewise.
23464 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
23466         * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
23467         target_memcpy_rect_async to omp_runtime_apis array.
23469 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
23471         * doc/sourcebuild.texi (Decimal floating point attributes): Document
23472         dfp_bid effective-target.
23474 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
23476         * config/aarch64/aarch64.cc
23477         (aarch64_split_128bit_move): Handle DFP modes.
23478         (aarch64_mode_valid_for_sched_fusion_p): Likewise.
23479         (aarch64_classify_address): Likewise.
23480         (aarch64_legitimize_address_displacement): Likewise.
23481         (aarch64_reinterpret_float_as_int): Likewise.
23482         (aarch64_float_const_zero_rtx_p): Likewise.
23483         (aarch64_can_const_movi_rtx_p): Likewise.
23484         (aarch64_anchor_offset): Likewise.
23485         (aarch64_secondary_reload): Likewise.
23486         (aarch64_rtx_costs): Likewise.
23487         (aarch64_legitimate_constant_p): Likewise.
23488         (aarch64_gimplify_va_arg_expr): Likewise.
23489         (aapcs_vfp_sub_candidate): Likewise.
23490         (aarch64_vfp_is_call_or_return_candidate): Likewise.
23491         (aarch64_output_scalar_simd_mov_immediate): Likewise.
23492         (aarch64_gen_adjusted_ldpstp): Likewise.
23493         (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
23494         * config/aarch64/aarch64.md
23495         (movsf_aarch64): Use SFD iterator and rename into
23496         mov<mode>_aarch64.
23497         (movdf_aarch64): Use DFD iterator and rename into
23498         mov<mode>_aarch64.
23499         (movtf_aarch64): Use TFD iterator and rename into
23500         mov<mode>_aarch64.
23501         (split pattern for move TF mode): Use TFD iterator.
23502         * config/aarch64/iterators.md
23503         (GPF_TF_F16_MOV): Add DFP modes.
23504         (SFD, DFD, TFD): New iterators.
23505         (GPF_TF): Add DFP modes.
23506         (TX, DX, DX2): Likewise.
23508 2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>
23510         * configure: Regenerate.
23512 2022-05-19  Roger Sayle  <roger@nextmovesoftware.com>
23514         PR middle-end/98865
23515         * expr.cc (expand_expr_real_2) [MULT_EXPR]:  Expand X*Y as X&Y
23516         when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
23517         likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
23519 2022-05-19  Will Schmidt  <will_schmidt@vnet.ibm.com>
23521         * config/rs6000/rs6000-builtins.def: Rephrase
23522         to remove RS6000_BTC_SPECIAL from comment.
23523         * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
23524         RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
23525         RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
23526         RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
23527         RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
23528         RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
23529         RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
23530         RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
23531         RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
23532         RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
23533         RS6000_BTM_ALWAYS): Delete.
23535 2022-05-19  Richard Biener  <rguenther@suse.de>
23537         * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
23538         computation of the new value.
23540 2022-05-19  Richard Biener  <rguenther@suse.de>
23542         * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
23543         (add_to_value): Use get_expression_id.
23544         (bitmap_insert_into_set): Likewise.
23545         (bitmap_value_insert_into_set): Likewise.
23547 2022-05-19  David Malcolm  <dmalcolm@redhat.com>
23549         * doc/invoke.texi (-fanalyzer-checker=): Add
23550         -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
23551         the list of analyzer warnings disabled by
23552         -fanalyzer-checker=taint.
23554 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
23556         PR debug/105630
23557         * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
23558         global vars without symtab node even when they have DECL_RTL
23559         set.
23561 2022-05-19  Jakub Jelinek  <jakub@redhat.com>
23563         PR c/105635
23564         * pointer-query.cc (gimple_parm_array_size): Return NULL if var
23565         doesn't have pointer or reference type.
23567 2022-05-18  Marek Polacek  <polacek@redhat.com>
23569         PR c/105131
23570         * doc/invoke.texi: Document -Wenum-int-mismatch.
23572 2022-05-18  Uros Bizjak  <ubizjak@gmail.com>
23574         * config/i386/gnu-user-common.h (defined): Only define
23575         TARGET_CAN_SPLIT_STACK for glibc targets.
23576         * config/i386/gnu.h (defined): Ditto.
23578 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
23580         * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
23581         is wider than word_mode, a multiplication costs three word_mode
23582         multiplications and two word_mode additions.
23584 2022-05-18  Roger Sayle  <roger@nextmovesoftware.com>
23586         * config/i386/i386.md (define_split):  Split *andsi_1
23587         and *andn_si_ccno after reload with -Oz.
23589 2022-05-18  Frederik Harwath  <frederik@codesourcery.com>
23591         * graphite-scop-detection.cc (scop_detection::can_represent_loop):
23592         Output reason for failure to dump file.
23593         (scop_detection::harmful_loop_in_region): Likewise.
23594         (scop_detection::graphite_can_represent_expr): Likewise.
23595         (scop_detection::stmt_has_simple_data_refs_p): Likewise.
23596         (scop_detection::stmt_simple_for_scop_p): Likewise.
23597         (print_sese_loop_numbers): New function.
23598         (scop_detection::add_scop): Use from here.
23600 2022-05-18  liuhongt  <hongtao.liu@intel.com>
23602         PR middle-end/103462
23603         * match.pd (bitwise_induction_p): New match.
23604         * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
23605         Declare.
23606         (analyze_and_compute_bitwise_induction_effect): New function.
23607         (enum bit_op_kind): New enum.
23608         (final_value_replacement_loop): Enhanced to handle bitwise
23609         induction.
23611 2022-05-18  Haochen Gui  <guihaoc@gcc.gnu.org>
23613         PR target/95737
23614         * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
23616 2022-05-18  liuhongt  <hongtao.liu@intel.com>
23618         PR target/104375
23619         * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
23620         define_insn.
23622 2022-05-18  liuhongt  <hongtao.liu@intel.com>
23624         PR target/104610
23625         * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
23626         for QImode when code is EQ or NE.
23627         * config/i386/i386.md (cbranchoi4): New expander.
23629 2022-05-18  Peter Bergner  <bergner@linux.ibm.com>
23630             Segher Boessenkool  <segher@kernel.crashing.org>
23632         PR target/105556
23633         * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
23634         mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
23635         mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
23636         mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
23637         Update other operands accordingly.
23639 2022-05-17  Marek Polacek  <polacek@redhat.com>
23641         * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
23643 2022-05-17  Pat Haugen  <pthaugen@linux.ibm.com>
23645         PR target/99685
23646         * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
23647         register count when not splitting IEEE 128-bit Complex.
23649 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
23651         * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
23652         target inside target if inner is reverse offload.
23654 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
23656         * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
23657         * config/nvptx/mkoffload.cc (process): Likewise.
23659 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
23661         * Makefile.in (OBJS): Add gimple-range-side-effect.o.
23662         * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
23663         (non_null_ref::~non_null_ref): Delete.
23664         (non_null_ref::set_nonnull): Delete.
23665         (non_null_ref::non_null_deref_p): Delete.
23666         (non_null_ref::process_name): Delete.
23667         (ranger_cache::ranger_cache): Initialize m_exit object.
23668         (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
23669         (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
23670         (ranger_cache::update_to_nonnull): Delete.
23671         (non_null_loadstore): Delete.
23672         (ranger_cache::block_apply_nonnull): Delete.
23673         (ranger_cache::apply_side_effects): New.
23674         * gimple-range-cache.h (class non_null_ref): Delete.
23675         (non_null_ref::adjust_range): Delete.
23676         (class ranger_cache): Adjust prototypes, add side effect manager.
23677         * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
23678         side effect manager for queries.
23679         (path_range_query::adjust_for_non_null_uses): Ditto.
23680         * gimple-range-path.h (class path_range_query): Delete non_null_ref.
23681         * gimple-range-side-effect.cc: New.
23682         * gimple-range-side-effect.h: New.
23683         * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
23684         (gimple_ranger::range_of_expr): Check def block for override value.
23685         (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
23686         (gimple_ranger::range_on_edge): Check for outgoing side-effects.
23687         (gimple_ranger::register_side_effects): Call apply_side_effects.
23688         (enable_ranger): Update contructor.
23689         * gimple-range.h (class gimple_ranger): Update prototype.
23690         (enable_ranger): Update prototype.
23691         * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
23693 2022-05-17  Giuliano Belinassi  <gbelinassi@suse.de>
23695         PR c++/105169
23696         * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
23697         * varasm.cc (switch_to_comdat_section): New
23698         (handle_vtv_comdat_section): Call switch_to_comdat_section.
23699         * varasm.h: Declare switch_to_comdat_section.
23701 2022-05-17  Richard Biener  <rguenther@suse.de>
23703         * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
23704         not clear bb->aux of the copied blocks.
23706 2022-05-17  Andrew MacLeod  <amacleod@redhat.com>
23708         PR tree-optimization/105458
23709         * value-relation.cc (path_oracle::register_relation): Merge, then check
23710         for equivalence.
23712 2022-05-17  Uroš Bizjak  <ubizjak@gmail.com>
23714         PR target/105624
23715         Revert:
23716         * config/i386/i386.md: Remove constraints when used with
23717         const_int_operand, const0_operand, const_1_operand, constm1_operand,
23718         const8_operand, const128_operand, const248_operand, const123_operand,
23719         const2367_operand, const1248_operand, const359_operand,
23720         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
23721         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
23722         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
23723         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
23724         const_0_to_255_mul_8_operand, const_1_to_31_operand,
23725         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
23726         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
23727         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
23728         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
23729         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
23730         const_24_to_27_operand and const_28_to_31_operand.
23731         * config/i386/mmx.md: Ditto.
23732         * config/i386/sse.md: Ditto.
23733         * config/i386/subst.md: Ditto.
23734         * config/i386/sync.md: Ditto.
23736 2022-05-17  Thomas Schwinge  <thomas@codesourcery.com>
23738         * diagnostic.cc: Don't advise to call 'abort' instead of
23739         'internal_error'.
23740         * system.h: Advise to call 'internal_error' instead of 'abort' or
23741         'fancy_abort'.
23743 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
23745         * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
23746         a reference to a variable which does not exist.
23747         * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
23748         in comment.
23750 2022-05-17  Frederik Harwath  <frederik@codesourcery.com>
23752         * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
23753         (isl_id_for_parameter): ... this new function name.
23754         (build_scop_context): Adjust function use.
23756 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
23758         PR target/105602
23759         * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
23760         * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
23762 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
23764         * tree-core.h (enum omp_clause_depend_kind): Add
23765         OMP_CLAUSE_DEPEND_INOUTSET.
23766         * tree-pretty-print.cc (dump_omp_clause): Handle
23767         OMP_CLAUSE_DEPEND_INOUTSET.
23768         * gimplify.cc (gimplify_omp_depend): Likewise.
23769         * omp-low.cc (lower_depend_clauses): Likewise.
23771 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
23773         PR target/105613
23774         * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
23775         andv4si3 only for EQ, for NE use iorv4si3 instead.
23777 2022-05-17  Richard Biener  <rguenther@suse.de>
23779         PR tree-optimization/105618
23780         * tree-ssa-sink.cc (statement_sink_location): For virtual
23781         PHI uses ignore those defining the used virtual operand.
23783 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
23785         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
23786         hanlde -> handle.  Fix up comment formatting.
23788 2022-05-17  liuhongt  <hongtao.liu@intel.com>
23790         PR target/105033
23791         * config/i386/sse.md (*vec_concatv4si): Extend to ..
23792         (*vec_concat<mode>): .. V16QI and V8HImode.
23793         (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
23794         (*vec_concatv8hi_permt2): Ditto.
23796 2022-05-17  liuhongt  <hongtao.liu@intel.com>
23798         PR tree-optimization/105591
23799         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
23800         vec_perm_expr index.
23802 2022-05-16  Jason Merrill  <jason@redhat.com>
23804         PR c/105492
23805         * attribs.cc (decl_attributes): Fix broken typedefs here.
23807 2022-05-16  David Malcolm  <dmalcolm@redhat.com>
23809         PR analyzer/105103
23810         * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
23811         * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
23812         -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
23813         -Wanalyzer-va-list-use-after-va-end.
23815 2022-05-16  Richard Biener  <rguenther@suse.de>
23817         * gimple-match.h (gimple_build): Move code_helper overloads ...
23818         * gimple-fold.h (gimple_build): ... here.
23819         (gimple_build): Transition to new worker API.  Provide
23820         overloads from sequence-based API.
23821         (gimple_convert): Likewise.
23822         (gimple_convert_to_ptrofftype): Likewise.
23823         (gimple_build_vector_from_val): Likewise.
23824         (gimple_build_vector): Likewise.
23825         (gimple_build_round_up): Likewise.
23826         * gimple-fold.cc (gimple_build_insert_seq): New helper.
23827         (gimple_build): Use it.  Transition combined_fn and code_helper
23828         API parts.
23829         (gimple_convert): Transition to new worker API.
23830         (gimple_convert_to_ptrofftype): Likewise.
23831         (gimple_build_vector_from_val): Likewise.
23832         (gimple_build_vector): Likewise.
23833         (gimple_build_round_up): Likewise.
23835 2022-05-16  Richard Biener  <rguenther@suse.de>
23837         * gimple-match.h (code_helper): Move class ...
23838         * tree.h (code_helper): ... here.
23840 2022-05-16  Martin Liska  <mliska@suse.cz>
23842         * opts-global.cc (write_langs): Add comment.
23844 2022-05-16  Eric Botcazou  <ebotcazou@adacore.com>
23846         * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
23847         instead of a bitwise negation.
23848         <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
23850 2022-05-16  Martin Liska  <mliska@suse.cz>
23852         * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
23853         (decls_mismatched_attributes): Likewise.
23854         * builtins.cc (c_strlen): Likewise.
23855         * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
23856         * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
23857         * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
23858         (aarch64_init_simd_builtin_types): Likewise.
23859         (aarch64_init_builtin_rsqrt): Likewise.
23860         * config/aarch64/aarch64.cc (is_madd_op): Likewise.
23861         * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
23862         (arm_init_simd_builtin_types): Likewise.
23863         * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
23864         (c_prefix): Likewise.
23865         (main): Likewise.
23866         * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
23867         * config/darwin-c.cc (darwin_register_frameworks): Likewise.
23868         * config/gcn/mkoffload.cc (process_obj): Likewise.
23869         * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
23870         (fold_builtin_cpu): Likewise.
23871         * config/m32c/m32c.cc (PUSHM_N): Likewise.
23872         * config/nvptx/mkoffload.cc (process): Likewise.
23873         * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
23874         * config/s390/s390.cc (NR_C_MODES): Likewise.
23875         * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
23876         (create_insn_code_compression_table): Likewise.
23877         * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
23878         * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
23879         * dwarf2out.cc (ARRAY_SIZE): Likewise.
23880         * genhooks.cc (emit_documentation): Likewise.
23881         (emit_init_macros): Likewise.
23882         * gimple-ssa-sprintf.cc (format_floating): Likewise.
23883         * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
23884         * godump.cc (keyword_hash_init): Likewise.
23885         * hash-table.cc (hash_table_higher_prime_index): Likewise.
23886         * input.cc (for_each_line_table_case): Likewise.
23887         * ipa-free-lang-data.cc (free_lang_data): Likewise.
23888         * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
23889         * optc-save-gen.awk: Likewise.
23890         * spellcheck.cc (test_metric_conditions): Likewise.
23891         * tree-vect-slp-patterns.cc (sizeof): Likewise.
23892         (ARRAY_SIZE): Likewise.
23893         * tree.cc (build_common_tree_nodes): Likewise.
23895 2022-05-16  Martin Liska  <mliska@suse.cz>
23897         * opts-global.cc (write_langs): Allocate at least one byte.
23899 2022-05-16  Richard Biener  <rguenther@suse.de>
23901         * match.pd (A cmp B ? A : B -> min/max): New patterns
23902         carried over from fold_cond_expr_with_comparison.
23904 2022-05-16  liuhongt  <hongtao.liu@intel.com>
23906         PR target/105587
23907         * config/i386/i386-expand.cc
23908         (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
23909         d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
23911 2022-05-15  Uroš Bizjak  <ubizjak@gmail.com>
23913         * config/i386/i386.md: Remove constraints when used with
23914         const_int_operand, const0_operand, const_1_operand, constm1_operand,
23915         const8_operand, const128_operand, const248_operand, const123_operand,
23916         const2367_operand, const1248_operand, const359_operand,
23917         const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
23918         const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
23919         const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
23920         const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
23921         const_0_to_255_mul_8_operand, const_1_to_31_operand,
23922         const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
23923         const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
23924         const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
23925         const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
23926         const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
23927         const_24_to_27_operand and const_28_to_31_operand.
23928         * config/i386/mmx.md: Ditto.
23929         * config/i386/sse.md: Ditto.
23930         * config/i386/subst.md: Ditto.
23931         * config/i386/sync.md: Ditto.
23933 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
23934             Uroš Bizjak  <ubizjak@gmail.com>
23936         * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
23937         For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
23938         by a pshufd and pand.
23939         (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
23940         vector equality as a V2DImode vector comparison (see above),
23941         followed by a pshufd and pand.
23943 2022-05-13  Roger Sayle  <roger@nextmovesoftware.com>
23945         PR tree-optimization/83907
23946         * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
23947         for memset with an constant char value.
23948         (handle_store): Improved handling of stores with a first byte
23949         of zero, but not storing_all_zeros_p.
23951 2022-05-13  Philipp Tomsich  <philipp.tomsich@vrull.eu>
23952             Manolis Tsamis  <manolis.tsamis@vrull.eu>
23954         * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
23955         (CTZ_DEFINED_VALUE_AT_ZERO): Same.
23956         * doc/sourcebuild.texi: add documentation for RISC-V specific
23957         test target keywords
23959 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23961         PR tree-optimization/105597
23962         * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
23963         of the lhs and make sure it is not undefined.
23965 2022-05-13  Sebastian Pop  <spop@amazon.com>
23967         PR target/105162
23968         * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
23969         of str array.
23970         * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
23971         memmodel_from_int and handle MEMMODEL_SYNC_*.
23972         (DEF0): Add __aarch64_*_sync functions.
23974 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
23976         * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
23977         enumerated values.
23978         * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
23979         * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
23980         new VREL enumerated values.
23981         (*::lhs_op2_relation): Ditto.
23982         (*::op1_op2_relation): Ditto.
23983         (*::fold_range): Use new VREL enumerated values.
23984         (minus_op1_op2_relation_effect): Ditto.
23985         (range_relational_tests): Ditto.
23986         * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
23987         (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
23988         relation_kind.
23989         (*_op1_op2_relation): Return relation_kind.
23990         (relop_early_resolve): Use VREL_UNDEFINED.
23991         * value-query.cc (range_query::query_relation): Use VREL_VARYING.
23992         * value-relation.cc (VREL_LAST): Change enumerated value.
23993         (vrel_range_assert): Delete.
23994         (print_relation): Remove range assert.
23995         (rr_negate_table): Adjust table to use new enumerated values..
23996         (relation_negate): Remove range assert.
23997         (rr_swap_table): Adjust.
23998         (relation_swap): Remove range assert.
23999         (rr_intersect_table): Adjust.
24000         (relation_intersect): Remove range assert.
24001         (rr_union_table): Adjust.
24002         (relation_union): Remove range assert.
24003         (rr_transitive_table): Adjust.
24004         (relation_transitive): Remove range assert.
24005         (equiv_oracle::query_relation): Use new VREL enumerated values.
24006         (equiv_oracle::register_relation): Ditto.
24007         (relation_oracle::register_stmt): Ditto.
24008         (dom_oracle::set_one_relation): Ditto.
24009         (dom_oracle::register_transitives): Ditto.
24010         (dom_oracle::query_relation): Ditto.
24011         (path_oracle::register_relation): Ditto.
24012         (path_oracle::query_relation): Ditto.
24013         * value-relation.h (enum relation_kind_t): New relation_kind.
24014         (*_op1_op2_relation): Adjust prototypes.
24016 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
24018         * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
24019         * value-range.cc (irange::legacy_verbose_union_): Add return value.
24020         (irange::irange_single_pair_union): New.
24021         (irange::irange_union): Add return value.
24022         * value-range.h (class irange): Adjust prototypes.
24024 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
24026         * value-range.cc (irange::legacy_verbose_intersect): Add return value.
24027         (irange::irange_contains_p): New.
24028         (irange::irange_intersect): Add return value.
24029         * value-range.h (class irange): Adjust prototypes.
24031 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
24033         * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
24034         had_global value instead.
24036 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
24038         PR tree-optimization/104547
24039         * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
24040         the op1/op2 relation to the relation call.
24041         * range-op.cc (*::lhs_op1_relation): Add param.
24042         (*::lhs_op2_relation): Ditto.
24043         (operator_minus::lhs_op1_relation): New.
24044         (range_relational_tests): Add relation param.
24045         * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
24047 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
24049         * gimple-range.cc (gimple_ranger::register_side_effects): First check
24050         if the DEF should be exported as a global.
24051         * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
24052         which will export globals.
24053         (execute_ranger_vrp): Remove call to export_global_ranges.
24055 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
24057         * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
24059 2022-05-13  Andrew MacLeod  <amacleod@redhat.com>
24061         * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
24062         worlist truncated.
24063         (ranger_cache::entry_range): Add rfd_mode parameter.
24064         (ranger_cache::exit_range): Ditto.
24065         (ranger_cache::edge_range): New.  Incorporate from range_on_edge.
24066         (ranger_cache::range_of_expr): Adjust call to entry_range.
24067         (ranger_cache::range_on_edge): Split to edge_range and call.
24068         (ranger_cache::fill_block_cache): Always invoke range_from_dom.
24069         (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
24070         mutiple predecessors.
24071         (ranger_cache::update_to_nonnull): Adjust call to exit_range.
24072         * gimple-range-cache.h (ranger_cache): Add enum rfd_mode.  Adjust
24073         prototypes.
24075 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
24077         * gimple-harden-conditionals.cc: Include sbitmap.h.
24078         (pass_harden_conditional_branches::execute): Skip new blocks.
24079         (pass_harden_compares::execute): Likewise.
24081 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
24083         PR target/105463
24084         * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
24085         mve_memory_operand.
24086         (*movmisalign<mode>_mve_load): Likewise.
24087         * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
24088         form...
24089         (@movmisalign<mode>): ... thus.  Use generic predicates and then
24090         rework operands if they are not valid.  For MVE rework to a
24091         narrower element size if the alignment is not high enough.
24093 2022-05-13  Richard Earnshaw  <rearnsha@arm.com>
24095         * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
24096         when there is no write-back.  Fix use when strict is true.
24098 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
24100         * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
24101         definition.
24103 2022-05-13  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>
24105         * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
24106         extzvsi_internal): Rename from extv, extv_internal, extzv and
24107         extzv_internal, respectively.
24109 2022-05-13  Eric Botcazou  <ebotcazou@adacore.com>
24111         * tree-sra.cc (sra_modify_assign): Check that scalar storage order
24112         is the same on the LHS and RHS before rewriting one with the model
24113         of the other.
24115 2022-05-13  Richard Biener  <rguenther@suse.de>
24117         * gimple-fold.cc (gimple_build): Adjust for new
24118         main API.
24119         * gimple-fold.h (gimple_build): New main APIs with
24120         iterator, insert direction and iterator update.
24121         (gimple_build): New forwarder template.
24122         (clear_padding_type_may_have_padding_p): Remove.
24123         (clear_type_padding_in_mask): Likewise.
24124         (arith_overflowed_p): Likewise.
24125         * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
24126         (clear_type_padding_in_mask): Likewise.
24127         (arith_overflowed_p): Likewise.
24128         * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
24129         (gimplify_build2): Likewise.
24130         (gimplify_build1): Likewise.
24131         * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
24132         compare stmt.
24133         * gengtype.cc (open_base_files): Re-order includes.
24134         * builtins.cc: Re-order gimple-fold.h include.
24135         * calls.cc: Likewise.
24136         * cgraphbuild.cc: Likewise.
24137         * cgraphunit.cc: Likewise.
24138         * config/rs6000/rs6000-builtin.cc: Likewise.
24139         * config/rs6000/rs6000-call.cc: Likewise.
24140         * config/rs6000/rs6000.cc: Likewise.
24141         * config/s390/s390.cc: Likewise.
24142         * expr.cc: Likewise.
24143         * fold-const.cc: Likewise.
24144         * function-tests.cc: Likewise.
24145         * gimple-match-head.cc: Likewise.
24146         * gimple-range-fold.cc: Likewise.
24147         * gimple-ssa-evrp-analyze.cc: Likewise.
24148         * gimple-ssa-evrp.cc: Likewise.
24149         * gimple-ssa-sprintf.cc: Likewise.
24150         * gimple-ssa-warn-access.cc: Likewise.
24151         * gimplify.cc: Likewise.
24152         * graphite-isl-ast-to-gimple.cc: Likewise.
24153         * ipa-cp.cc: Likewise.
24154         * ipa-devirt.cc: Likewise.
24155         * ipa-prop.cc: Likewise.
24156         * omp-low.cc: Likewise.
24157         * pointer-query.cc: Likewise.
24158         * range-op.cc: Likewise.
24159         * tree-cfg.cc: Likewise.
24160         * tree-if-conv.cc: Likewise.
24161         * tree-inline.cc: Likewise.
24162         * tree-object-size.cc: Likewise.
24163         * tree-ssa-ccp.cc: Likewise.
24164         * tree-ssa-dom.cc: Likewise.
24165         * tree-ssa-forwprop.cc: Likewise.
24166         * tree-ssa-ifcombine.cc: Likewise.
24167         * tree-ssa-loop-ivcanon.cc: Likewise.
24168         * tree-ssa-math-opts.cc: Likewise.
24169         * tree-ssa-pre.cc: Likewise.
24170         * tree-ssa-propagate.cc: Likewise.
24171         * tree-ssa-reassoc.cc: Likewise.
24172         * tree-ssa-sccvn.cc: Likewise.
24173         * tree-ssa-strlen.cc: Likewise.
24174         * tree-ssa.cc: Likewise.
24175         * value-pointer-equiv.cc: Likewise.
24176         * vr-values.cc: Likewise.
24178 2022-05-13  Alexandre Oliva  <oliva@adacore.com>
24180         PR rtl-optimization/105455
24181         * gimple-harden-conditionals.cc (insert_check_and_trap): Set
24182         probabilities for newly-conditional edges.
24184 2022-05-13  liuhongt  <hongtao.liu@intel.com>
24186         PR tree-optimization/102583
24187         * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
24188         contiguous stride in the VEC_PERM_EXPR.
24190 2022-05-12  Richard Biener  <rguenther@suse.de>
24192         PR rtl-optimization/105577
24193         * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
24194         edges before running fast DCE via df_analyze.
24196 2022-05-12  Richard Biener  <rguenther@suse.de>
24198         PR tree-optimization/105562
24199         * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
24200         against all CLOBBER defs if there's not an obvious must-alias
24201         and we are not doing redundant store elimination.
24202         (vn_walk_cb_data::redundant_store_removal_p): New field.
24203         (vn_reference_lookup_pieces): Initialize it.
24204         (vn_reference_lookup): Add argument to specify if we are
24205         doing redundant store removal.
24206         (eliminate_dom_walker::eliminate_stmt): Specify we do.
24207         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
24209 2022-05-12  Haochen Jiang  <haochen.jiang@intel.com>
24211         PR target/104371
24212         * config/i386/sse.md (vi1avx2const): New define_mode_attr.
24213         (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
24214         New define_split pattern.
24216 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
24218         * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
24219         if null_pointer_node.
24220         (gimplify_scan_omp_clauses): Likewise.
24221         * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
24222         as omp_all_memory.
24224 2022-05-11  Patrick Palka  <ppalka@redhat.com>
24226         * tree.h (TREE_VEC_BEGIN): Define.
24227         (TREE_VEC_END): Correct 'length' member access.
24228         (class tree_vec_range): Define.
24230 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
24232         * config/rs6000/rs6000.md: Use wa instead of <Fv>.
24234 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
24236         * config/rs6000/rs6000.md: Use d instead of <Ff>.
24238 2022-05-11  Segher Boessenkool  <segher@kernel.crashing.org>
24240         * config/rs6000/constraints.md (register_constraint "f"): Use
24241         RS6000_CONSTRAINT_d.
24242         * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
24243         RS6000_CONSTRAINT_f.
24244         (rs6000_init_hard_regno_mode_ok): Ditto.  Reorder and simplify a bit.
24245         * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
24246         RS6000_CONSTRAINT_d.
24248 2022-05-11  Richard Biener  <rguenther@suse.de>
24250         * gimple-fold.h (gimple_build): Use variadic template
24251         functions for the gimple_build API forwarders without
24252         location_t argument.
24254 2022-05-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
24256         PR middle-end/70090
24257         * asan.cc (initialize_sanitizer_builtins): Register
24258         __builtin_dynamic_object_size if necessary.
24260 2022-05-11  Richard Biener  <rguenther@suse.de>
24262         PR rtl-optimization/105559
24263         * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
24264         for non-debug insns.
24266 2022-05-11  Richard Biener  <rguenther@suse.de>
24268         * generic-match-head.cc: Include tree-eh.h.
24269         * match.pd ((cond ...) cmp X): New simplification inspired
24270         by fold_binary_op_with_conditional_arg.
24271         (eq/ne (cmp ...) true/false): Likewise.
24273 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
24275         * doc/install.texi: Don't document '--with-hsa-runtime',
24276         '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
24278 2022-05-11  Martin Liska  <mliska@suse.cz>
24280         PR other/105527
24281         * doc/install.texi: Document the configure option --with-zstd.
24283 2022-05-11  Martin Liska  <mliska@suse.cz>
24285         * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
24286         compute index in cpu_features2.
24287         (set_cpu_feature): Likewise.
24288         * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
24289         loop for cpu_features2 and use NOP_EXPRs.
24291 2022-05-11  Richard Biener  <rguenther@suse.de>
24293         PR bootstrap/105551
24294         * opts.cc (finish_options): Also disable var-tracking if
24295         !DWARF2_DEBUGGING_INFO.
24297 2022-05-11  liuhongt  <hongtao.liu@intel.com>
24299         PR target/104915
24300         * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
24301         pre_reload define_insn_and_split.
24302         (*vec_setv2di_0_zero_extendhi_1): Ditto.
24303         (*vec_set<mode>_0_zero_extendsi): Ditto.
24304         (*vec_setv2di_0_zero_extendsi_1): Ditto.
24305         (ssewvecmode): New mode attr.
24306         (ssewvecmodelower): Ditto.
24307         (ssepackmodelower): Ditto.
24309 2022-05-11  Kewen Lin  <linkw@linux.ibm.com>
24311         * config/rs6000/constraints.md (register constraint v): Use
24312         rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
24314 2022-05-11  Martin Liska  <mliska@suse.cz>
24316         PR target/105355
24317         * config/riscv/riscv.opt: Remove Separate from
24318         -msmall-data-limit=.
24319         * optc-gen.awk: Report error for the described situation.
24320         * gcc.cc: Use Separate syntax.
24321         * opts.cc (gen_command_line_string): Change option name.
24323 2022-05-11  Haochen Gui  <guihaoc@gcc.gnu.org>
24325         PR target/105414
24326         * match.pd (minmax): Skip constant folding for fmin/fmax when both
24327         arguments are sNaN or one is sNaN and another is NaN.
24329 2022-05-10  Jakub Jelinek  <jakub@redhat.com>
24331         PR tree-optimization/105528
24332         * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
24333         set *gsi to gsi_for_stmt (ass_stmt).  Fix up function comment.
24335 2022-05-10  Segher Boessenkool  <segher@kernel.crashing.org>
24337         * doc/md.texi (Defining Mode Iterators): Correct example replacement
24338         text.
24340 2022-05-10  Maciej W. Rozycki  <macro@embecosm.com>
24342         * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
24343         constants.
24344         (fmin<mode>3, fmax<mode>3): New insns.
24346 2022-05-10  Richard Biener  <rguenther@suse.de>
24348         * tree-if-conv.cc (fold_build_cond_expr): Use
24349         match-and-simplify to simplify the condition.
24350         (ifcvt_follow_ssa_use_edges): Remove.
24351         (predicate_scalar_phi): Use follow_all_ssa_edges.
24353 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
24355         PR middle-end/100400
24356         * omp-oacc-kernels-decompose.cc
24357         (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
24358         call 'internal_error'.
24360 2022-05-10  Richard Biener  <rguenther@suse.de>
24362         PR middle-end/105537
24363         * toplev.cc (process_options): Move flag_var_tracking
24364         handling ...
24365         * opts.cc (finish_options): ... here.
24367 2022-05-10  Martin Liska  <mliska@suse.cz>
24369         * basic-block.h (struct basic_block_d): Use void *
24370         instead PTR.
24371         * cfgloop.h: Likewise.
24372         * cgraph.h: Likewise.
24373         * gengtype-state.cc (state_ident_by_name): Likewise.
24374         (record_type): Likewise.
24375         (read_state_already_seen_type): Likewise.
24376         * gengtype.cc (dump_type): Likewise.
24377         (input_file_by_name): Likewise.
24378         (main): Likewise.
24379         * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
24380         * ipa-utils.h (struct ipa_dfs_info): Likewise.
24381         * plugin.cc (htab_hash_plugin): Likewise.
24383 2022-05-10  Richard Biener  <rguenther@suse.de>
24385         * flags.h (dwarf_debuginfo_p): Add opts argument, guard
24386         API with !GENERATOR_FILE.
24387         * opts.cc (global_options): Poison.
24388         (global_options_set): Likewise.
24389         (finish_options): Refer to options via opts.
24391 2022-05-10  Uroš Bizjak  <ubizjak@gmail.com>
24392             Roger Sayle  <roger@nextmovesoftware.com>
24394         * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
24395         alternative when optimizing for size and the immediate operand is
24396         const_0_to_127_operand.
24397         (*andqi_2_maybe_si): Likewise.
24398         * config/i386/predicates.md (const_0_to_127_operand): New predicate.
24400 2022-05-10  Roger Sayle  <roger@nextmovesoftware.com>
24402         * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
24403         "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
24404         can't be negative.
24406 2022-05-10  Eric Botcazou  <ebotcazou@adacore.com>
24408         PR target/105292
24409         * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
24410         true only for 8-byte vector modes.
24412 2022-05-10  Siddhesh Poyarekar  <siddhesh@gotplt.org>
24414         PR middle-end/70090
24415         * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
24416         (instrument_object_size): Get dynamic object size expression.
24418 2022-05-10  Jiufu Guo  <guojiufu@linux.ibm.com>
24420         PR preprocessor/101168
24421         * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
24422         Avoid empty identifier.
24424 2022-05-09  Qing Zhao  <qing.zhao@oracle.com>
24426         PR target/101891
24427         * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
24428         as a generic MMX mode instead of V4HImode.
24429         (zero_all_mm_registers): Use SET to zero instead of MOV for
24430         zeroing scratch registers.
24431         (ix86_zero_call_used_regs): Likewise.
24433 2022-05-09  liuhongt  <hongtao.liu@intel.com>
24435         PR target/105354
24436         * config/i386/i386-expand.cc
24437         (expand_vec_perm_pslldq_psrldq_por): New function.
24438         (ix86_expand_vec_perm_const_1): Try
24439         expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
24440         4/5-instruction sequence.
24442 2022-05-09  Martin Liška  <mliska@suse.cz>
24444         * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
24445         * system.h (STATIC_ASSERT): Define as static_assert for C++
24446         and fallback to array index in C.
24448 2022-05-09  Richard Biener  <rguenther@suse.de>
24450         PR tree-optimization/105517
24451         * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
24452         offset can be represented in the POINTER_PLUS_EXPR IL.
24453         (vn_reference_insert): Likewise.
24454         * poly-int.h (sext_hwi): Add poly version of sext_hwi.
24456 2022-05-09  Richard Biener  <rguenther@suse.de>
24458         * match.pd: Remove #if GIMPLE guards around ! using patterns.
24460 2022-05-09  liuhongt  <hongtao.liu@intel.com>
24462         PR target/105072
24463         * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
24464         New define_insn.
24465         (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
24466         define_insn_and_split.
24468 2022-05-09  Alex Coplan  <alex.coplan@arm.com>
24470         * cgraph.cc (cgraph_node::get_create): Don't dump if the current
24471         symtab state is PARSING.
24473 2022-05-09  Martin Liska  <mliska@suse.cz>
24475         * system.h (LIKELY): Define.
24476         (UNLIKELY): Likewise.
24477         * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
24478         macros.
24479         * dse.cc (set_position_unneeded): Likewise.
24480         (set_all_positions_unneeded): Likewise.
24481         (any_positions_needed_p): Likewise.
24482         (all_positions_needed_p): Likewise.
24483         * expmed.cc (flip_storage_order): Likewise.
24484         * genmatch.cc (dt_simplify::gen_1): Likewise.
24485         * ggc-common.cc (gt_pch_save): Likewise.
24486         * print-rtl.cc: Likewise.
24487         * rtl-iter.h (T>::array_type::~array_type): Likewise.
24488         (T>::next): Likewise.
24489         * rtl-ssa/internals.inl: Likewise.
24490         * rtl-ssa/member-fns.inl: Likewise.
24491         * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
24492         (rtx_properties::try_to_add_dest): Likewise.
24493         * rtlanal.h (growing_rtx_properties::repeat): Likewise.
24494         (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
24495         * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
24496         * sort.cc (likely): Likewise.
24497         (mergesort): Likewise.
24498         * wide-int.h (wi::eq_p): Likewise.
24499         (wi::ltu_p): Likewise.
24500         (wi::cmpu): Likewise.
24501         (wi::bit_and): Likewise.
24502         (wi::bit_and_not): Likewise.
24503         (wi::bit_or): Likewise.
24504         (wi::bit_or_not): Likewise.
24505         (wi::bit_xor): Likewise.
24506         (wi::add): Likewise.
24507         (wi::sub): Likewise.
24509 2022-05-09  Kito Cheng  <kito.cheng@sifive.com>
24511         * config/riscv/arch-canonicalize: Handle g correctly.
24513 2022-05-07  Marek Polacek  <polacek@redhat.com>
24515         PR c++/101833
24516         PR c++/47634
24517         * tree-core.h (struct attribute_spec): Update comment for HANDLER.
24519 2022-05-06  Jason Merrill  <jason@redhat.com>
24521         * diagnostic-color.cc: Add fnname and targs color entries.
24522         * doc/invoke.texi: Document them.
24524 2022-05-06  Jason Merrill  <jason@redhat.com>
24526         * vec.h (vec::iterate): Fix comment.
24528 2022-05-06   Michael Meissner  <meissner@linux.ibm.com>
24530         PR target/102059
24531         * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
24532         and -mpower10-fusion options for inlining purposes.
24534 2022-05-06  Christophe Lyon  <christophe.lyon@arm.com>
24536         * config/aarch64/iterators.md (GPF_TF_F16): Delete.
24538 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
24540         * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
24541         omp_runtime_apis array.
24543 2022-05-06  Hafiz Abid Qadeer  <abidh@codesourcery.com>
24545         * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
24546         (scan_sharing_clauses):  Check a restriction on allocate clause.
24548 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
24550         * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
24551         and ORDERED clause conflict errors.  Add check for GRAINSIZE and
24552         NUM_TASKS on TASKLOOP.
24554 2022-05-05  Martin Liska  <mliska@suse.cz>
24556         * genautomata.cc (create_composed_state): Remove dead code.
24557         * graphite-poly.cc (print_pdrs): Likewise.
24558         * lto-wrapper.cc (run_gcc): Likewise.
24559         * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
24560         Likewise.
24562 2022-05-05  Martin Liska  <mliska@suse.cz>
24564         * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
24565         PROF_*.
24566         (gimple_gen_time_profiler): Likewise.
24568 2022-05-05  Martin Liska  <mliska@suse.cz>
24570         * value-prof.cc (stream_out_histogram_value): Remove sanity
24571         checking.
24573 2022-05-05  Richard Biener  <rguenther@suse.de>
24575         PR tree-optimization/104162
24576         * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
24577         &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
24578         becomes invariant.
24579         (vn_reference_insert): Likewise.
24581 2022-05-05  Richard Biener  <rguenther@suse.de>
24583         * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
24584         to real_value field.
24585         (tree_real_cst::value): Add real_value field.
24586         * tree.h (TREE_REAL_CST_PTR): Adjust.
24587         * tree.cc (build_real): Remove separate allocation.
24588         * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
24589         Likewise.
24591 2022-05-05  Richard Biener  <rguenther@suse.de>
24593         * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
24594         divisions with undefined overflow unconditionally.
24595         (pass_tree_ifcombine::execute): Rewrite stmts with undefined
24596         overflow to defined.
24598 2022-05-05  Richard Biener  <rguenther@suse.de>
24600         PR tree-optimization/105484
24601         * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
24602         whether the CFG changed.
24603         (gimple_expand_vec_exprs): When the CFG changed, clean it up.
24605 2022-05-05  Richard Biener  <rguenther@suse.de>
24607         PR tree-optimization/104595
24608         * tree-vect-patterns.cc (vect_recog_bool_pattern): For
24609         COND_EXPR do not fail if check_bool_pattern returns false.
24611 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
24613         * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
24614         item that is in an outer data-sharing clause.
24616 2022-05-04  Richard Biener  <rguenther@suse.de>
24618         PR tree-optimization/104658
24619         * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
24620         create VECTOR_BOOLEAN_TYPE_P extern defs.  Reset the vector
24621         type on nodes we promote.
24622         (vectorizable_bb_reduc_epilogue): Deal with externalized
24623         root.
24624         * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
24625         not allow VECTOR_BOOLEAN_TYPE_P extern defs.
24627 2022-05-04  Richard Biener  <rguenther@suse.de>
24629         PR tree-optimization/103116
24630         * tree-vect-stmts.cc (get_group_load_store_type): Handle the
24631         case we need peeling for gaps even though GROUP_GAP is zero.
24633 2022-05-04  Martin Liska  <mliska@suse.cz>
24635         * gengtype-state.cc (read_a_state_token): Remove dead code.
24636         * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
24638 2022-05-04  Richard Biener  <rguenther@suse.de>
24640         * gimplify.cc (gimplify_init_constructor): First gimplify,
24641         then simplify the result to a VECTOR_CST.
24643 2022-05-04  Jakub Jelinek  <jakub@redhat.com>
24645         * genconditions.cc (write_conditions): Append a { nullptr, -1 }
24646         element at the end of insn_conditions.
24647         (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
24648         ARRAY_SIZE (insn_conditions).
24650 2022-05-04  Christophe Lyon  <christophe.lyon@arm.com>
24652         PR target/104662
24653         * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
24654         vector of booleans and MVE is not enabled.
24656 2022-05-04  Richard Biener  <rguenther@suse.de>
24658         PR debug/105158
24659         * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
24660         Move debug stmts to the predecessor if moving to the
24661         destination is not possible.
24662         (remove_forwarder_block): Adjust.
24663         (remove_forwarder_block_with_phi): Likewise.
24665 2022-05-03  Roger Sayle  <roger@nextmovesoftware.com>
24667         PR tree-optimization/102950
24668         * range-op.cc (wi_optimize_signed_bitwise_op): New function to
24669         determine bounds of bitwise operations on signed types.
24670         (operator_bitwise_and::wi_fold): Call the above function.
24671         (operator_bitwise_or::wi_fold): Likewise.
24672         (operator_bitwise_xor::wi_fold): Likewise.  Additionally, the
24673         result can't be zero if the operands can't be equal.
24675 2022-05-03  Iain Sandoe  <iain@sandoe.co.uk>
24677         * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
24678         protocol class methods linker-visible.
24680 2022-05-03  Uroš Bizjak  <ubizjak@gmail.com>
24682         PR target/105079
24683         * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
24684         define_insn_and_split pattern.
24686 2022-05-03  Richard Biener  <rguenther@suse.de>
24688         PR middle-end/105083
24689         * tree-scalar-evolution.cc (scev_initialize): Verify we
24690         have appropriate loop state.
24691         * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
24692         loop init and finalization.
24694 2022-05-03  Richard Biener  <rguenther@suse.de>
24696         PR middle-end/105461
24697         * opts.cc (finish_options): Match the condition to
24698         disable flag_var_tracking to that of process_options.
24700 2022-05-03  Richard Biener  <rguenther@suse.de>
24702         * opts.cc: #undef OPTIONS_SET_P.
24703         (finish_options): Use opts_set instead of OPTIONS_SET_P.
24705 2022-05-03  Richard Biener  <rguenther@suse.de>
24707         PR tree-optimization/105394
24708         * tree-vect-generic.cc (expand_vector_condition): Adjust
24709         comp_width for non-integer mode masks as well.
24711 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
24713         * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
24714         omp_runtime_apis array.
24716 2022-05-02  Richard Biener  <rguenther@suse.de>
24718         * tree-scalar-evolution.cc (expression_expensive_p):
24719         Never consider mismatched calls as cheap.
24721 2022-05-02  Richard Biener  <rguenther@suse.de>
24723         PR tree-optimization/104240
24724         * tree-vect-slp.cc (op1_op0_map): New.
24725         (vect_get_operand_map): Handle compares.
24726         (vect_build_slp_tree_1): Support swapped operands for
24727         tcc_comparison.
24729 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
24731         PR debug/105415
24732         * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
24733         if there is no symtab node for the VAR_DECL.
24735 2022-05-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24737         * gcov-io.cc (gcov_rewrite):  Clear the file error status.
24739 2022-05-02  Richard Biener  <rguenther@suse.de>
24741         PR tree-optimization/105437
24742         * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
24743         case where last_stmt alters control flow.
24745 2022-05-02  Richard Biener  <rguenther@suse.de>
24747         * dojump.cc (do_jump): Use CASE_CONVERT.
24748         * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
24750 2022-05-02  Jakub Jelinek  <jakub@redhat.com>
24752         * system.h: Include initializer_list.
24754 2022-05-01  Segher Boessenkool  <segher@kernel.crashing.org>
24756         * config/rs6000/constraints.md (Y constraint): Fix comment.
24758 2022-05-01  Aldy Hernandez  <aldyh@redhat.com>
24760         * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
24761         VR_RANGE before passing a piecewise range to set_range_info_raw.
24763 2022-04-30  Patrick Palka  <ppalka@redhat.com>
24765         * gengtype.cc (adjust_field_tree_exp): Remove.
24766         (adjust_field_type): Don't handle the "tree_exp" special attribute.
24767         * tree-core.h (struct tree_exp): Remove "special" and "desc"
24768         attributes.  Add "length" attribute.
24770 2022-04-29  Martin Jambor  <mjambor@suse.cz>
24772         PR ipa/100413
24773         * cgraph.cc (cgraph_node::remove): Release body of the node this
24774         is clone_of if appropriate.
24776 2022-04-29  Uroš Bizjak  <ubizjak@gmail.com>
24778         PR target/51954
24779         * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
24781 2022-04-29  Richard Biener  <rguenther@suse.de>
24783         * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
24784         (canonicalize_cond_expr_cond): Move here from gimple.cc,
24785         allow both COND_EXPR and GIMPLE_COND forms.
24786         * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
24787         * gimple.cc (canonicalize_cond_expr_cond): Remove here.
24788         * gimple.h (canonicalize_cond_expr_cond): Likewise.
24789         * gimple-loop-versioning.cc (loop_versioning::version_loop):
24790         Use is_gimple_condexpr_for_cond.
24791         * tree-parloops.cc (gen_parallel_loop): Likewise.
24792         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
24793         a proper cond expr after canonicalize_cond_expr_cond.
24794         Use is_gimple_condexpr_for_cond where appropriate.
24795         * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
24796         * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
24798 2022-04-29  Richard Biener  <rguenther@suse.de>
24800         * gimple-iterator.h (gsi_after_labels): Add overload for
24801         gimple_seq.
24802         (gsi_start_1): Rename to gsi_start and take a reference.
24803         (gsi_last_1): Likewise.
24804         * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
24805         * omp-low.cc (lower_rec_input_clauses): Likewise.
24806         (lower_omp_scan): Likewise.
24808 2022-04-29  Richard Biener  <rguenther@suse.de>
24810         PR tree-optimization/105431
24811         * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
24812         (powi_as_mults): Use absu_hwi.
24813         (gimple_expand_builtin_powi): Remove now pointless n != -n
24814         check.
24816 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24818         * range-op.cc (empty_range_varying): Move to range-op.h.
24819         (range_true): Move to range.h.
24820         (range_false): Same.
24821         (range_true_and_false): Same.
24822         (enum bool_range_state): Move to range-op.h.
24823         (relop_early_resolve): Same.
24824         (operator_equal::op1_op2_relation): Abstract code to...
24825         (equal_op1_op2_relation): ...here.
24826         (operator_not_equal::op1_op2_relation): Abstract code to...
24827         (not_equal_op1_op2_relation): ...here.
24828         (operator_lt::op1_op2_relation): Abstract code to...
24829         (lt_op1_op2_relation): ...here.
24830         (operator_le::op1_op2_relation): Abstract code to...
24831         (le_op1_op2_relation): ...here.
24832         (operator_gt::op1_op2_relation): Abstract code to...
24833         (gt_op1_op2_relation): ...here.
24834         (operator_ge::op1_op2_relation): Abstract code to...
24835         (ge_op1_op2_relation): ...here.
24836         (class range_op_table): Move to range-op.h.
24837         * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
24838         (not_equal_op1_op2_relation): Same.
24839         (lt_op1_op2_relation): Same.
24840         (le_op1_op2_relation): Same.
24841         (gt_op1_op2_relation): Same.
24842         (ge_op1_op2_relation): Same.
24843         (enum bool_range_state): Same.
24844         (get_bool_state): Same.
24845         (empty_range_varying): Same.
24846         (relop_early_resolve): Same.
24847         (class range_op_table): Same.
24848         * range.h (range_true): Same.
24849         (range_false): Same.
24850         (range_true_and_false): Same.
24852 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24854         * gimple-fold.cc (size_must_be_zero_p): Use reference
24855         instead of pointer
24856         * gimple-ssa-evrp-analyze.cc
24857         (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
24858         intersect to legacy_verbose_intersect.
24859         * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
24860         of pointer.
24861         * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
24862         instead of value_range_equiv.
24863         * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
24864         instead of pointer.
24865         (find_case_label_range): Same.
24866         * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
24867         (value_range_equiv::legacy_verbose_intersect): ...this.
24868         (value_range_equiv::union_): Rename to...
24869         (value_range_equiv::legacy_verbose_union_): ...this.
24870         * value-range-equiv.h (class value_range_equiv): Rename union and
24871         intersect to legacy_verbose_{intersect,union}.
24872         * value-range.cc (irange::union_): Rename to...
24873         (irange::legacy_verbose_union_): ...this.
24874         (irange::intersect): Rename to...
24875         (irange::legacy_verbose_intersect): ...this.
24876         * value-range.h (irange::union_): Rename union_ to
24877         legacy_verbose_union.
24878         (irange::intersect): Rename intersect to legacy_verbose_intersect.
24879         * vr-values.cc (vr_values::update_value_range): Same.
24880         (vr_values::extract_range_for_var_from_comparison_expr): Same.
24881         (vr_values::extract_range_from_cond_expr): Rename union_ to
24882         legacy_verbose_union.
24883         (vr_values::extract_range_from_phi_node): Same.
24885 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24887         * gimple-ssa-evrp-analyze.cc
24888         (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
24889         that take a range.
24890         * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
24891         * ipa-prop.cc (ipcp_update_vr): Same.
24892         * tree-inline.cc (remap_ssa_name): Same.
24893         * tree-ssa-copy.cc (fini_copy_prop): Same.
24894         * tree-ssa-math-opts.cc (optimize_spaceship): Same.
24895         * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
24896         * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
24897         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
24898         * tree-ssa-strlen.cc (set_strlen_range): Same.
24899         (strlen_pass::handle_builtin_string_cmp): Same.
24900         * tree-ssanames.cc (set_range_info): Make static.
24901         (duplicate_ssa_name_range_info): Make static and add a new variant
24902         calling the static.
24903         * tree-ssanames.h (set_range_info): Remove version taking wide ints.
24904         (duplicate_ssa_name_range_info): Remove version taking a
24905         range_info_def and replace with a version taking SSA names.
24906         * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
24907         that take a range.
24908         (vect_do_peeling): Same.
24909         * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
24910         * vr-values.cc (simplify_truth_ops_using_ranges): Same.
24912 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24914         * value-range.h (irange::irange): Use set_undefined.
24916 2022-04-29  Aldy Hernandez  <aldyh@redhat.com>
24918         * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
24919         irange::intersect (wide_int, wide_int).
24920         * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
24921         (adjust_imagpart_expr): Same.
24922         * value-range.h (irange::intersect (wide_int, wide_int)): Make
24923         private.
24925 2022-04-29  Richard Biener  <rguenther@suse.de>
24927         PR tree-optimization/104322
24928         * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
24930 2022-04-29  Richard Biener  <rguenther@suse.de>
24932         PR middle-end/105376
24933         * tree.cc (build_real): Special case dconst* arguments
24934         for decimal floating point types.
24936 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24938         * doc/gcov.texi (Profiling and Test Coverage in Freestanding
24939         Environments): New section.
24941 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24943         * doc/gcov-tool.texi: Document merge-stream subcommand.
24944         * doc/invoke.texi (fprofile-info-section): Mention merge-stream
24945         subcommand of gcov-tool.
24946         * gcov-tool.cc (gcov_profile_merge_stream): Declare.
24947         (print_merge_stream_usage_message): New.
24948         (merge_stream_usage): Likewise.
24949         (do_merge_stream): Likewise.
24950         (print_usage): Call print_merge_stream_usage_message().
24951         (main): Call do_merge_stream() to execute merge-stream subcommand.
24953 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24955         * gcov-io.cc (gcov_file_error): New enum.
24956         (gcov_var): Use gcov_file_error enum for the error member.
24957         (gcov_open): Use GCOV_FILE_NO_ERROR.
24958         (gcov_close): Use GCOV_FILE_WRITE_ERROR.
24959         (gcov_write): Likewise.
24960         (gcov_write_unsigned): Likewise.
24961         (gcov_write_string): Likewise.
24962         (gcov_read_bytes): Set error code if EOF is reached.
24963         (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
24965 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24967         * gcov-io.cc (GCOV_MODE_STDIN): Define.
24968         (gcov_position): For gcov-tool, return calculated position if file is
24969         stdin.
24970         (gcov_open):  For gcov-tool, use stdin if filename is NULL.
24971         (gcov_close): For gcov-tool, do not close stdin.
24972         (gcov_read_bytes): For gcov-tool, update position if file is stdin.
24973         (gcov_sync): For gcov-tool, discard input if file is stdin.
24975 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24977         * doc/invoke.texi (fprofile-info-section): Mention
24978         __gcov_filename_to_gcfn().  Use "freestanding" to match with C11
24979         standard language.  Fix minor example code issues.
24980         * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
24982 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24984         * gcov-io.cc (gcov_seek): Make it static.
24985         * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
24987 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24989         * gcov-tool.cc (gcov_do_dump): Add mode parameter.
24990         (gcov_output_files): Open files for reading and writing.
24992 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24994         * gcov-io.cc (gcov_open): Always use the mode parameter.
24995         * gcov-io.h (gcov_open): Declare it unconditionally.
24997 2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>
24999         * gcov-tool.cc (gcov_profile_merge): Adjust return type.
25000         (profile_merge): Allow merging of directories which contain no profile
25001         files.
25003 2022-04-28  David Malcolm  <dmalcolm@redhat.com>
25005         * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
25006         fpath.txt output.
25008 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
25010         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
25011         temporary only if out overlaps compare_op, not when it overlaps
25012         op0 or op1.
25014 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
25016         PR lto/105399
25017         * cgraph.cc (cgraph_node::verify_node): Don't verify
25018         semantic_interposition flag against
25019         opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
25021 2022-04-28  Jakub Jelinek  <jakub@redhat.com>
25023         PR target/105331
25024         * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
25025         temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
25026         of it.
25028 2022-04-28  Jonathan Wakely  <jwakely@redhat.com>
25030         * doc/install.texi (Configuration): Remove misleading text
25031         around LE PowerPC Linux multilibs.
25033 2022-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
25035         PR d/103528
25036         * doc/install.texi (Tools/packages necessary for building GCC)
25037         (GDC): Document libphobos requirement.
25038         (Host/target specific installation notes for GCC, *-*-solaris2*):
25039         Document libphobos and GDC specifics.
25041 2022-04-28  Richard Biener  <rguenther@suse.de>
25043         PR tree-optimization/105219
25044         * tree-vect-loop.cc (vect_transform_loop): Disable
25045         special code narrowing the vectorized epilogue max
25046         iterations when peeling for alignment or gaps was in effect.
25048 2022-04-28  Xi Ruoyao  <xry111@mengyan1223.wang>
25050         * config/loongarch/loongarch.cc
25051         (loongarch_flatten_aggregate_field): Ignore empty fields for
25052         RECORD_TYPE.
25054 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
25056         * config/loongarch/loongarch.md: Add fdiv define_expand template,
25057         then generate floating-point division and floating-point reciprocal
25058         instructions.
25060 2022-04-27  Lulu Cheng  <chenglulu@loongson.cn>
25062         * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
25063         to PLV instruction templates.
25065 2022-04-27  Richard Biener  <rguenther@suse.de>
25067         PR middle-end/104492
25068         * gimple-ssa-warn-access.cc
25069         (pass_waccess::warn_invalid_pointer): Exclude equality compare
25070         diagnostics for all kind of invalidations.
25071         (pass_waccess::check_dangling_uses): Fix post-dominator query.
25072         (pass_waccess::check_pointer_uses): Likewise.
25074 2022-04-27  Andreas Krebbel  <krebbel@linux.ibm.com>
25076         PR target/102024
25077         * config/s390/s390-protos.h (s390_function_arg_vector): Remove
25078         prototype.
25079         * config/s390/s390.cc (s390_single_field_struct_p): New function.
25080         (s390_function_arg_vector): Invoke s390_single_field_struct_p.
25081         (s390_function_arg_float): Likewise.
25083 2022-04-27  Jakub Jelinek  <jakub@redhat.com>
25085         PR sanitizer/105396
25086         * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
25087         where offset is bigger than off but smaller than m_prev_offset + 32
25088         bits by pushing one or more 0 bytes.  Sink the
25089         m_shadow_bytes.safe_push (value); flush_if_full (); statements from
25090         all cases to the end of the function.
25092 2022-04-27  Kewen Lin  <linkw@linux.ibm.com>
25094         PR target/105271
25095         * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
25096         stanza.
25098 2022-04-26  Thomas Schwinge  <thomas@codesourcery.com>
25100         * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
25101         data-share memory exhausted" error more verbose.
25103 2022-04-26  Martin Liska  <mliska@suse.cz>
25105         PR lto/105364
25106         * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
25107         (run_gcc): Parse OPT_fdiagnostics_urls_.
25108         (main): Initialize global_dc.
25110 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
25112         PR rtl-optimization/105314
25113         * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
25114         operand is equal to if_info->x, instead use the non-zero operand
25115         as one of the operands of AND with if_info->x as target.
25117 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
25119         PR tree-optimization/105374
25120         * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
25121         !fold_convertible_p rather than assuming fold_convert must succeed.
25123 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
25125         PR target/105367
25126         * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
25127         el_mode == DFmode ? double_type_node : float_type_node instead of
25128         TREE_TYPE (type_in) as first arguments to mathfn_built_in.
25130 2022-04-25  David Malcolm  <dmalcolm@redhat.com>
25132         PR analyzer/104308
25133         * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
25134         the location of new_stmt in all places that don't already set it,
25135         whether explicitly, or via a call to gsi_replace.
25137 2022-04-25  Paul A. Clarke  <pc@us.ibm.com>
25139         * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
25141 2022-04-25  Andrew MacLeod  <amacleod@redhat.com>
25143         PR tree-optimization/105276
25144         * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
25145         existing global range with calculated value.
25147 2022-04-25  Richard Biener  <rguenther@suse.de>
25149         PR tree-optimization/105368
25150         * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
25152 2022-04-25  Richard Biener  <rguenther@suse.de>
25154         PR tree-optimization/100810
25155         * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
25156         (find_ssa_undef): New function.
25157         (add_candidate_1): Avoid adding derived candidates with
25158         undefined SSA names and mark the original ones.
25159         (determine_group_iv_cost_generic): Reject rewriting
25160         uses with a different IV when that involves undefined SSA names.
25162 2022-04-25  Steven G. Kargl  <kargl@gcc.gnu.org>
25164         PR target/89125
25165         * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
25166         bsd_libc_has_function.
25167         * targhooks.cc (bsd_libc_has_function): New function.
25168         Expand the supported math functions to inclue C99 libm.
25169         * targhooks.h (bsd_libc_has_function): New Prototype.
25171 2022-04-25  Richard Biener  <rguenther@suse.de>
25173         PR rtl-optimization/105231
25174         * combine.cc (distribute_notes): Assert that a REG_EH_REGION
25175         with landing pad > 0 is from i3.  Put any REG_EH_REGION note
25176         on i3 or drop it if the insn can not trap.
25177         (try_combine): Ensure that we can merge REG_EH_REGION notes
25178         with non-call exceptions.  Ensure we are not splitting a
25179         trapping part of an insn with non-call exceptions when there
25180         is any REG_EH_REGION note to preserve.
25182 2022-04-25  Hongyu Wang  <hongyu.wang@intel.com>
25184         PR target/105339
25185         * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
25186         Add parentheses for parameters and djust format.
25187         (_mm512_mask_scalef_round_pd): Ditto.
25188         (_mm512_maskz_scalef_round_pd): Ditto.
25189         (_mm512_scalef_round_ps): Ditto.
25190         (_mm512_mask_scalef_round_ps): Ditto.
25191         (_mm512_maskz_scalef_round_ps): Ditto.
25192         (_mm_scalef_round_sd): Use _mm_undefined_pd.
25193         (_mm_scalef_round_ss): Use _mm_undefined_ps.
25194         (_mm_mask_scalef_round_sd): New macro.
25195         (_mm_mask_scalef_round_ss): Ditto.
25196         (_mm_maskz_scalef_round_sd): Ditto.
25197         (_mm_maskz_scalef_round_ss): Ditto.
25199 2022-04-23  Jakub Jelinek  <jakub@redhat.com>
25201         PR target/105338
25202         * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
25203         op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
25204         cases.
25206 2022-04-22  Segher Boessenkool  <segher@kernel.crashing.org>
25208         PR target/105334
25209         * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
25210         (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
25211         (pack<mode>_hard for FMOVE128): ... this...
25212         (pack<mode>_soft for FMOVE128): ... and this.
25214 2022-04-22  Paul A. Clarke  <pc@us.ibm.com>
25216         * doc/extend.texi: Correct "This" to "These".
25218 2022-04-22  Jakub Jelinek  <jakub@redhat.com>
25220         PR rtl-optimization/105333
25221         * rtlanal.cc (replace_rtx): Use simplify_subreg or
25222         simplify_unary_operation if CONST_SCALAR_INT_P rather than just
25223         CONST_INT_P.
25225 2022-04-21  Segher Boessenkool  <segher@kernel.crashing.org>
25227         PR target/103197
25228         PR target/102146
25229         * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
25230         the "Z" alternatives in {l,st}{f,xs}iwzx.
25231         (zero_extendhi<mode>2 for EXTHI): Ditto.
25232         (zero_extendsi<mode>2 for EXTSI): Ditto.
25233         (*movsi_internal1): Ditto.
25234         (*mov<mode>_internal1 for QHI): Ditto.
25235         (movsd_hardfloat): Ditto.
25237 2022-04-21  Martin Liska  <mliska@suse.cz>
25239         * configure.ac: Enable compressed debug sections for mold
25240         linker.
25241         * configure: Regenerate.
25243 2022-04-21  Jakub Jelinek  <jakub@redhat.com>
25245         PR debug/105203
25246         * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
25247         on DEBUG_INSNs.
25249 2022-04-20  Richard Biener  <rguenther@suse.de>
25251         PR tree-optimization/104912
25252         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
25253         the cost model check to a separate BB to make sure it is
25254         checked first and not combined with other version checks.
25256 2022-04-20  Richard Biener  <rguenther@suse.de>
25258         PR tree-optimization/105312
25259         * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
25260         VCOND and VCONDU for EQ and NE.
25262 2022-04-20  Jan Hubicka  <hubicka@ucw.cz>
25264         PR ipa/103818
25265         * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
25266         poly_offset_int to avoid overflow.
25267         (modref_access_node::update2): likewise.
25269 2022-04-20  Jakub Jelinek  <jakub@redhat.com>
25271         PR ipa/105306
25272         * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
25273         to opt_for_fn (decl, flag_semantic_interposition).
25274         * cgraphclones.cc (cgraph_node::create_clone): Copy over
25275         semantic_interposition flag.
25277 2022-04-19  Sergei Trofimovich  <siarheit@google.com>
25279         PR gcov-profile/105282
25280         * value-prof.cc (stream_out_histogram_value): Allow negative counts
25281         on HIST_TYPE_INDIR_CALL.
25283 2022-04-19  Jakub Jelinek  <jakub@redhat.com>
25285         PR target/105257
25286         * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
25287         use gen_raw_REG instead of gen_rtx_REG and copy over also
25288         ORIGINAL_REGNO.  Use return 0; instead of /* fallthrough */.
25290 2022-04-19  Richard Biener  <rguenther@suse.de>
25292         PR tree-optimization/104010
25293         PR tree-optimization/103941
25294         * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
25295         we run into stmts in patterns continue walking those
25296         for uses outside of the vectorized region instead of
25297         marking the lane live.
25299 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
25301         * doc/install.texi <CRIS>: Remove references to removed websites and
25302         adjust for cris-*-elf being the only remaining toolchain.
25304 2022-04-18  Hans-Peter Nilsson  <hp@axis.com>
25306         * doc/invoke.texi <CRIS>: Remove references to options for removed
25307         subtarget cris-axis-linux-gnu and tweak wording accordingly.
25309 2022-04-16  Gerald Pfeifer  <gerald@pfeifer.com>
25311         * doc/install.texi (Specific): Adjust mingw-w64 download link.
25313 2022-04-15  Hongyu Wang  <hongyu.wang@intel.com>
25315         * config/i386/smmintrin.h: Correct target pragma from sse4.1
25316         and sse4.2 to crc32 for crc32 intrinsics.
25318 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
25320         PR debug/105089
25321         * ctfc.cc (ctf_dvd_ignore_insert): New function.
25322         (ctf_dvd_ignore_lookup): Likewise.
25323         (ctf_add_variable): Keep track of non-defining decl DIEs.
25324         (new_ctf_container): Initialize the new hash-table.
25325         (ctfc_delete_container): Empty hash-table.
25326         * ctfc.h (struct ctf_container): Add new hash-table.
25327         (ctf_dvd_ignore_lookup): New declaration.
25328         (ctf_add_variable): Add additional argument.
25329         * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
25330         record for non-defining decl for which a defining decl exists
25331         in the same TU.
25332         (ctf_preprocess): Defer updating the number of global objts
25333         until here.
25334         (output_ctf_header): Use ctfc_vars_list_count as some CTF
25335         variables may not make it to the final output.
25336         (output_ctf_vars): Likewise.
25337         * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
25338         if this is known to be a non-defining decl DIE.
25340 2022-04-14  Indu Bhagat  <indu.bhagat@oracle.com>
25342         * ctfc.h (struct ctf_container): Introduce a new member.
25343         * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
25344         variable.
25346 2022-04-14  Jakub Jelinek  <jakub@redhat.com>
25348         PR target/105247
25349         * simplify-rtx.cc (simplify_const_binary_operation): For shifts
25350         or rotates by VOIDmode constant integer shift count use word_mode
25351         for the operand if int_mode is narrower than word.
25353 2022-04-14  Robin Dapp  <rdapp@linux.ibm.com>
25355         * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
25356         (s390_get_unit_mask): Likewise.
25357         (s390_is_fpd): Likewise.
25358         (s390_is_fxd): Likewise.
25359         * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
25360         * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
25361         Add z16.
25362         (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
25363         Likewise.
25364         * config/s390/3931.md: New file.
25366 2022-04-13  Richard Sandiford  <richard.sandiford@arm.com>
25368         PR tree-optimization/105254
25369         * config/aarch64/aarch64.cc
25370         (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
25371         loop_vec_info as argument.  Restrict the unroll factor to values
25372         that divide the VF.
25373         (aarch64_vector_costs::finish_cost): Update call accordingly.
25375 2022-04-13  Richard Biener  <rguenther@suse.de>
25377         PR tree-optimization/105263
25378         * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
25379         negates in multiplication chains with DFP.
25381 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
25383         PR middle-end/105253
25384         * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
25385         use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
25386         comparisons or tree_nop_conversion_p checks.
25388 2022-04-13  Hongyu Wang  <hongyu.wang@intel.com>
25390         PR target/103069
25391         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
25392         Add missing set to target_val at pause label.
25394 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
25396         PR target/105234
25397         * attribs.cc (decl_attributes): Don't set
25398         DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
25399         NULL.
25401 2022-04-13  Richard Biener  <rguenther@suse.de>
25403         PR tree-optimization/105250
25404         * fold-const.cc (fold_convertible_p): Revert
25405         r12-7979-geaaf77dd85c333, instead check for size equality
25406         of the vector types involved.
25408 2022-04-13  Richard Biener  <rguenther@suse.de>
25410         Revert:
25411         2022-04-13  Richard Biener  <rguenther@suse.de>
25413         PR tree-optimization/104912
25414         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
25415         the cost model check to a separate BB to make sure it is
25416         checked first and not combined with other version checks.
25418 2022-04-13  Richard Biener  <rguenther@suse.de>
25420         PR tree-optimization/104912
25421         * tree-vect-loop-manip.cc (vect_loop_versioning): Split
25422         the cost model check to a separate BB to make sure it is
25423         checked first and not combined with other version checks.
25425 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
25427         * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
25429 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
25431         PR jit/104072
25432         * reginfo.cc: New functions (clear_global_regs_cache,
25433         reginfo_cc_finalize) to avoid an issue where compiling the same
25434         code multiple times gives an error about assigning the same
25435         register to 2 global variables.
25436         * rtl.h: New function (reginfo_cc_finalize).
25437         * toplev.cc: Call it.
25439 2022-04-12  Antoni Boucher  <bouanto@zoho.com>
25441         PR jit/104071
25442         * toplev.cc: Call the new function tree_cc_finalize in
25443         toplev::finalize.
25444         * tree.cc: New functions (clear_nonstandard_integer_type_cache
25445         and tree_cc_finalize) to clear the cache of non-standard integer
25446         types to avoid having issues with some optimizations of
25447         bitcast where the SSA_NAME will have a size of a cached
25448         integer type that should have been invalidated, causing a
25449         comparison of integer constant to fail.
25450         * tree.h: New function (tree_cc_finalize).
25452 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
25454         PR target/97348
25455         * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
25456         * config/nvptx/nvptx.opt (misa): Adjust comment.
25458 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
25460         Revert:
25461         2022-03-03  Tom de Vries  <tdevries@suse.de>
25463         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
25465 2022-04-12  Thomas Schwinge  <thomas@codesourcery.com>
25467         Revert:
25468         2022-03-31  Tom de Vries  <tdevries@suse.de>
25470         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
25472 2022-04-12  Richard Biener  <rguenther@suse.de>
25474         PR ipa/104303
25475         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
25476         include local escaped memory as obviously necessary stores.
25478 2022-04-12  Richard Biener  <rguenther@suse.de>
25480         PR tree-optimization/105235
25481         * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
25482         return whether the CFG changed.
25483         (execute_cse_sincos_1): Adjust.
25485 2022-04-12  Przemyslaw Wirkus  <Przemyslaw.Wirkus@arm.com>
25487         PR target/104144
25488         * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
25489         (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
25490         (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
25491         (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
25492         (MULTILIB_REUSE): Remove remap rules for Armv9-a.
25493         * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
25494         (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
25496 2022-04-12  Richard Biener  <rguenther@suse.de>
25498         PR tree-optimization/105232
25499         * tree.cc (component_ref_size): Bail out for too large
25500         or non-constant sizes.
25502 2022-04-12  Richard Biener  <rguenther@suse.de>
25504         PR tree-optimization/105226
25505         * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
25506         we can split the exit of an outer loop we choose to version.
25508 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
25510         * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
25511         ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
25512         ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
25513         ix86_emit_swdivsf, ix86_emit_swsqrtsf,
25514         ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
25515         Formatting fix.
25516         * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
25518 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
25520         PR target/105214
25521         * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
25522         do_pending_stack_adjust.
25524 2022-04-12  Jakub Jelinek  <jakub@redhat.com>
25526         PR rtl-optimization/105211
25527         * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
25528         fails for TREE_TYPE (arg), retry it with
25529         TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
25530         fails, emit call normally.
25532 2022-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
25534         * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
25535         * config.gcc: Add z16 as march/mtune switch.
25536         * config/s390/driver-native.cc (s390_host_detect_local_cpu):
25537         Recognize z16 with -march=native.
25538         * config/s390/s390-opts.h (enum processor_type): Rename
25539         PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
25540         * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
25541         (PROCESSOR_3931_Z16): ... throughout the file.
25542         (s390_processor processor_table): Add z16 as cpu string.
25543         * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
25544         PF_Z16.
25545         (TARGET_CPU_ARCH14): Rename to ...
25546         (TARGET_CPU_Z16): ... this.
25547         (TARGET_CPU_ARCH14_P): Rename to ...
25548         (TARGET_CPU_Z16_P): ... this.
25549         (TARGET_ARCH14): Rename to ...
25550         (TARGET_Z16): ... this.
25551         (TARGET_ARCH14_P): Rename to ...
25552         (TARGET_Z16_P): ... this.
25553         * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
25554         check TARGET_Z16 instead of TARGET_ARCH14.
25555         * config/s390/s390.opt: Add z16 to processor_type.
25556         * doc/invoke.texi: Document z16 and arch14.
25558 2022-04-12  chenglulu  <chenglulu@loongson.cn>
25560         * config/loongarch/loongarch.cc: Fix bug for
25561         tmpdir-g++.dg-struct-layout-1/t033.
25563 2022-04-11  Peter Bergner  <bergner@linux.ibm.com>
25565         PR target/104894
25566         * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
25567         to longcall functions.
25569 2022-04-11  Jason Merrill  <jason@redhat.com>
25571         * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
25573 2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
25575         PR target/105213
25576         PR target/103623
25577         * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
25579 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
25581         PR tree-optimization/105218
25582         * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
25583         more than one predecessor or phi's bb more than 2 predecessors,
25584         reset phi result uses instead of adding a debug temp.
25586 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
25588         PR target/104853
25589         * config.gcc: Pass -misa-spec to arch-canonicalize and
25590         multilib-generator.
25591         * config/riscv/arch-canonicalize: Adding -misa-spec option.
25592         (SUPPORTED_ISA_SPEC): New.
25593         (arch_canonicalize): New argument `isa_spec`.
25594         Handle multiple ISA spec versions.
25595         * config/riscv/multilib-generator: Adding -misa-spec option.
25597 2022-04-11  Kito Cheng  <kito.cheng@sifive.com>
25599         * config/riscv/arch-canonicalize: Add TODO item.
25600         (IMPLIED_EXT): Sync.
25601         (arch_canonicalize): Checking until no change.
25603 2022-04-11  Tamar Christina  <tamar.christina@arm.com>
25605         PR target/105197
25606         * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
25607         not masked.
25609 2022-04-11  Jason Merrill  <jason@redhat.com>
25611         PR c++/100370
25612         * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
25613         deref == -1.
25615 2022-04-11  Jakub Jelinek  <jakub@redhat.com>
25617         PR tree-optimization/104639
25618         * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
25619         (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
25620         into x != cst3.
25622 2022-04-11  Jeff Law  <jeffreyalaw@gmail.com>
25624         * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
25625         sign bit of the source ends up in CC.
25627 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
25629         PR ipa/103376
25630         * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
25631         flag.
25633 2022-04-09  Jan Hubicka  <hubicka@ucw.cz>
25635         * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
25636         nondeterministic and side_effects flags.
25638 2022-04-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
25640         PR target/105157
25641         * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
25642         * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
25643         (TARGET_CPU_MASK): Likewise.
25644         (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
25645         * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
25646         (aarch64_get_arch): Likewise.
25647         (aarch64_override_options): Use TARGET_CPU_NBITS.
25649 2022-04-08  Richard Biener  <rguenther@suse.de>
25651         PR tree-optimization/105198
25652         * tree-predcom.cc (find_looparound_phi): Check whether
25653         the found memory location of the entry value is clobbered
25654         inbetween the value we want to use and loop entry.
25656 2022-04-08  Jakub Jelinek  <jakub@redhat.com>
25658         PR tree-optimization/105189
25659         * fold-const.cc (make_range_step): Fix up handling of
25660         (unsigned) x +[low, -] ranges for signed x if low fits into
25661         typeof (x).
25663 2022-04-08  Richard Biener  <rguenther@suse.de>
25665         PR tree-optimization/105175
25666         * tree-vect-stmts.cc (vectorizable_operation): Suppress
25667         -Wvector-operation-performance if using emulated vectors.
25668         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
25669         -Wvector-operation-performance when suppressed.
25670         (expand_vector_parallel): Likewise.
25671         (expand_vector_comparison): Likewise.
25672         (expand_vector_condition): Likewise.
25673         (lower_vec_perm): Likewise.
25674         (expand_vector_conversion): Likewise.
25676 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
25678         PR target/104409
25679         * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
25680         (aarch64_general_init_builtins): Move LS64 code.
25681         * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
25682         arm_acle.h
25683         * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
25684         * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
25686 2022-04-07  Richard Biener  <rguenther@suse.de>
25687             Jan Hubicka  <hubicka@ucw.cz>
25689         PR ipa/104303
25690         * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
25691         ref_may_alias_global_p, ref_may_alias_global_p,
25692         stmt_may_clobber_global_p, pt_solution_includes_global): Add
25693         bool parameters indicating whether escaped locals should be
25694         considered global.
25695         * tree-ssa-structalias.cc (pt_solution_includes_global):
25696         When the new escaped_nonlocal_p flag is true also consider
25697         pt->vars_contains_escaped.
25698         * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
25699         Pass down new escaped_nonlocal_p flag.
25700         (ref_may_alias_global_p): Likewise.
25701         (stmt_may_clobber_global_p): Likewise.
25702         (ref_may_alias_global_p_1): Likewise.  For decls also
25703         query the escaped solution if true.
25704         (ref_may_access_global_memory_p): Remove.
25705         (modref_may_conflict): Use ref_may_alias_global_p with
25706         escaped locals considered global.
25707         (ref_maybe_used_by_stmt_p): Adjust.
25708         * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
25709         Likewise.
25710         * tree-ssa-dse.cc (dse_classify_store): Likewise.
25711         * trans-mem.cc (thread_private_new_memory): Likewise, but
25712         consider escaped locals global.
25713         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
25715 2022-04-07  Richard Biener  <rguenther@suse.de>
25717         PR tree-optimization/105185
25718         * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
25719         modref query again.
25721 2022-04-07  Tamar Christina  <tamar.christina@arm.com>
25723         PR target/104049
25724         * config/aarch64/aarch64-simd.md
25725         (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
25726         (reduc_plus_scal_<mode>): ... This.
25727         (reduc_plus_scal_v4sf): Moved.
25728         (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
25729         (reduc_plus_scal_v2si): ... This.
25731 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
25733         PR tree-optimization/102586
25734         * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
25735         langhook.
25736         * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
25737         (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
25738         * gimple-fold.cc (clear_padding_type): Use ftype instead of
25739         TREE_TYPE (field) some more.  For artificial FIELD_DECLs without
25740         name try the lang_hooks.types.classtype_as_base langhook and
25741         if it returns non-NULL, use that instead of ftype for recursive call.
25743 2022-04-07  Jakub Jelinek  <jakub@redhat.com>
25745         PR tree-optimization/105150
25746         * tree.cc (tree_builtin_call_types_compatible_p): New function.
25747         (get_call_combined_fn): Use it.
25749 2022-04-07  Richard Biener  <rguenther@suse.de>
25751         PR middle-end/105165
25752         * tree-complex.cc (expand_complex_asm): Sorry for asm goto
25753         _Complex outputs.
25755 2022-04-07  liuhongt  <hongtao.liu@intel.com>
25757         * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
25758         Removed.
25759         (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
25760         for mask_applied.
25761         (<code><mode>3<mask_name>): Ditto.
25762         (*<code><mode>3<mask_name>): Ditto.
25763         (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
25764         real instruction.
25765         (VFB_512): Ditto.
25766         (VFB): Ditto.
25768 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
25770         PR rtl-optimization/104985
25771         * combine.cc (struct undo): Add where.regno member.
25772         (do_SUBST_MODE): Rename to ...
25773         (subst_mode): ... this.  Change first argument from rtx * into int,
25774         operate on regno_reg_rtx[regno] and save regno into where.regno.
25775         (SUBST_MODE): Remove.
25776         (try_combine): Use subst_mode instead of SUBST_MODE, change first
25777         argument from regno_reg_rtx[whatever] to whatever.  For UNDO_MODE, use
25778         regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
25779         (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
25780         instead of *undo->where.r.
25781         (simplify_set): Use subst_mode instead of SUBST_MODE, change first
25782         argument from regno_reg_rtx[whatever] to whatever.
25784 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
25786         PR target/105069
25787         * config/sh/sh.opt (mdiv=): Add Save.
25789 2022-04-06  Martin Liska  <mliska@suse.cz>
25791         PR driver/105096
25792         * common.opt: Document properly based on what it does.
25793         * gcc.cc (display_help): Unify with what we have in common.opt.
25794         * opts.cc (common_handle_option): Do not print undocumented
25795         options.
25797 2022-04-06  Xi Ruoyao  <xry111@mengyan1223.wang>
25799         * config/mips/mips.cc (mips_fpr_return_fields): Ignore
25800         cxx17_empty_base_field_p fields and set an indicator.
25801         (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
25802         (mips_function_value_1): Inform psABI change about C++17 empty
25803         bases.
25805 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
25807         PR tree-optimization/105150
25808         * gimple.cc (gimple_builtin_call_types_compatible_p): Use
25809         builtin_decl_explicit here...
25810         (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
25811         here.
25813 2022-04-06  Richard Biener  <rguenther@suse.de>
25815         PR tree-optimization/105173
25816         * tree-ssa-reassoc.cc (find_insert_point): Get extra
25817         insert_before output argument and compute it.
25818         (insert_stmt_before_use): Adjust.
25819         (rewrite_expr_tree): Likewise.
25821 2022-04-06  Richard Biener  <rguenther@suse.de>
25823         PR ipa/105166
25824         * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
25825         out for non-pointer arguments.
25827 2022-04-06  Richard Biener  <rguenther@suse.de>
25829         PR tree-optimization/105163
25830         * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
25831         negated abnormals.
25833 2022-04-06  Jakub Jelinek  <jakub@redhat.com>
25835         PR tree-optimization/105150
25836         * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
25837         For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
25838         preferrably on builtin_decl_explicit decl rather than fndecl.
25839         * tree-ssa-strlen.cc (valid_builtin_call): Don't call
25840         gimple_builtin_call_types_compatible_p here.
25842 2022-04-06  Richard Sandiford  <richard.sandiford@arm.com>
25844         PR tree-optimization/103761
25845         * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
25846         the ncopies parameter with an slp_node parameter.  Calculate the
25847         number of vectors based on it and vectype.  Rename lambda to
25848         group_memory_nvectors.
25849         (vectorizable_store, vectorizable_load): Update calls accordingly.
25851 2022-04-06  Martin Liska  <mliska@suse.cz>
25853         * doc/invoke.texi: Document it.
25855 2022-04-06  Richard Biener  <rguenther@suse.de>
25857         PR tree-optimization/105148
25858         * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
25859         2 and 3 of ARRAY_REFs.
25861 2022-04-06  Roger Sayle  <roger@nextmovesoftware.com>
25863         * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
25864         (*andnottf3): Replace with...
25865         (*andnot<mode>3): New define_insn using ANDNOT_MODE.
25867 2022-04-06  Richard Biener  <rguenther@suse.de>
25869         PR tree-optimization/105142
25870         * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
25871         basic-block parameter.
25872         (maybe_fold_or_comparisons): Likewise.
25873         * gimple-fold.cc (follow_outer_ssa_edges): New.
25874         (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
25875         when an outer condition basic-block is specified.
25876         (and_comparisons_1, and_var_with_comparison,
25877         and_var_with_comparison_1, or_comparisons_1,
25878         or_var_with_comparison, or_var_with_comparison_1): Receive and pass
25879         down the outer condition basic-block.
25880         * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
25881         basic-block of the outer condition.
25883 2022-04-06  Kewen Lin  <linkw@linux.ibm.com>
25885         PR target/105002
25886         * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
25887         comparison codes UNLT/UNLE/UNGT/UNGE.
25889 2022-04-05  David Malcolm  <dmalcolm@redhat.com>
25891         * doc/extend.texi (Common Function Attributes): Document that
25892         'access' does not imply 'nonnull'.
25894 2022-04-05  Uroš Bizjak  <ubizjak@gmail.com>
25896         PR target/105139
25897         * config/i386/mmx.md (*movv2qi_internal):
25898         Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
25900 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
25902         * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
25903         define_expand and turn operands 0 and 1 from REGs to MEMs.
25904         (*aarch64_cpymemdi): New pattern.
25905         (aarch64_setmemdi): Turn into a define_expand and turn operand 0
25906         from a REG to a MEM.
25907         (*aarch64_setmemdi): New pattern.
25908         * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
25909         copy_to_mode_reg on all three registers.  Replace the original
25910         MEM addresses rather than creating wild reads and writes.
25911         (aarch64_expand_setmem_mops): Likewise for the size and for the
25912         destination memory and address.
25914 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
25916         PR target/103147
25917         * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
25918         * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
25919         from aarch64_simd_switcher.
25920         * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
25921         New variable.
25922         (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
25923         (register_tuple_type): Add more asserts.  Expect the alignment
25924         of the structure to be subject to flag_pack_struct and
25925         maximum_field_alignment.  Set aarch64_simd_tuple_modes.
25926         (aarch64_simd_switcher::aarch64_simd_switcher): New function.
25927         (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
25928         (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
25929         (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
25930         while calling aarch64_init_simd_builtins.
25931         * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
25932         (sve_switcher::~sve_switcher): Remove code now performed by
25933         aarch64_simd_switcher.
25935 2022-04-05  Richard Sandiford  <richard.sandiford@arm.com>
25937         PR target/104897
25938         * config/aarch64/aarch64-sve-builtins.cc
25939         (function_resolver::infer_vector_or_tuple_type): Use error_n
25940         for "%d vectors" messages.
25942 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
25944         * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
25945         argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
25946         current clause.
25948 2022-04-05  Richard Biener  <rguenther@suse.de>
25950         PR c/105151
25951         * passes.def (pass_walloca): Move early instance into
25952         pass_build_ssa_passes to make SSA form available.
25954 2022-04-05  liuhongt  <hongtao.liu@intel.com>
25956         PR target/101908
25957         * config/i386/i386.cc (ix86_split_stlf_stall_load): New
25958         function
25959         (ix86_reorg): Call ix86_split_stlf_stall_load.
25960         * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
25961         param.
25963 2022-04-05  Alexandre Oliva  <oliva@adacore.com>
25965         * targhooks.cc (default_zero_call_used_regs): Attempt to group
25966         regs that the target refuses to use in their natural modes.
25967         (zcur_select_mode_rtx): New.
25968         * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
25969         (hard_regno_max_nregs): Define.
25970         * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
25972 2022-04-04  Alex Coplan  <alex.coplan@arm.com>
25974         * doc/match-and-simplify.texi: Fix typos.
25976 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
25978         PR target/105144
25979         * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
25980         only if configured with --enable-maintainer-mode, otherwise compare
25981         tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
25982         if they differ, emit a message and fail.
25984 2022-04-04  Jakub Jelinek  <jakub@redhat.com>
25986         PR target/105144
25987         * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
25988         * config/aarch64/aarch64-tune.md: Regenerated.
25990 2022-04-04  Richard Biener  <rguenther@suse.de>
25992         PR tree-optimization/105132
25993         * tree-vect-stmts.cc (vectorizable_operation): Check that
25994         the input vectors have the same number of elements.
25996 2022-04-04  Richard Biener  <rguenther@suse.de>
25998         PR middle-end/105140
25999         * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
26001 2022-04-03  Jeff Law  <jeffreyalaw@gmail.com>
26003         PR target/104987
26004         * config/iq2000/iq2000.md (bbi): New attribute,  default to no.
26005         (delay slot descripts): Use different delay slot description when
26006         the insn as the "bbi" attribute.
26007         (bbi, bbin patterns): Set the bbi attribute to yes.
26009 2022-04-03  Jakub Jelinek  <jakub@redhat.com>
26011         PR target/105123
26012         * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
26013         using word as target for expand_simple_binop when doing ASHIFT and
26014         IOR.
26016 2022-04-02  Xi Ruoyao  <xry111@mengyan1223.wang>
26018         * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
26019         NULL before dereferencing it.
26021 2022-04-01  Qing Zhao  <qing.zhao@oracle.com>
26023         * config/i386/i386.cc (zero_all_st_registers): Return the value of
26024         num_of_st.
26025         (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
26026         the return value of zero_all_st_registers.
26027         * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
26028         * function.cc (gen_call_used_regs_seq): Add an assertion.
26029         * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
26031 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
26033         PR target/102024
26034         * config/mips/mips.cc (mips_function_arg): Ignore zero-width
26035         fields, and inform if it causes a psABI change.
26037 2022-04-01  Xi Ruoyao  <xry111@mengyan1223.wang>
26039         PR target/102024
26040         * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
26041         zero-width bit-fields and set up an indicator.
26042         (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
26043         (mips_function_value_1): Diagnose when the presense of a C++
26044         zero-width bit-field changes function returning in GCC 12.
26046 2022-04-01  Jakub Jelinek  <jakub@redhat.com>
26048         PR tree-optimization/104645
26049         * tree-ssa-phiopt.cc (value_replacement): If assign has
26050         CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
26051         statement with constant evaluation.
26053 2022-04-01  YunQiang Su  <yunqiang.su@cipunited.com>
26055         * config/mips/mips.cc (mips_expand_prologue):
26056         IPL is 8bit for MCU ASE.
26058 2022-03-31  Bill Schmidt  <wschmidt@linux.ibm.com>
26060         PR target/104004
26061         * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
26062         (MTFSB0): Likewise.
26063         (MTFSB1): Likewise.
26064         (SET_FPSCR_RN): Likewise.
26065         (SET_FPSCR_DRN): Mark nosoft and no32bit.
26067 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
26069         * doc/options.texi (Option file format): Clarifications around
26070         option definition records' help texts.
26072 2022-03-31  Thomas Schwinge  <thomas@codesourcery.com>
26074         * optc-gen.awk <END>: Fix "Multiple different help strings" error
26075         diagnostic.
26077 2022-03-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
26079         * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
26080         determine_suggested_unroll_factor and m_has_avg.
26081         (determine_suggested_unroll_factor): New function.
26082         (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
26083         to set m_nosve_pattern.
26084         (aarch64_vector_costs::finish_costs): Use
26085         determine_suggested_unroll_factor.
26086         * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
26087         * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
26089 2022-03-31  Martin Jambor  <mjambor@suse.cz>
26091         PR ipa/103083
26092         * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
26093         (ipa_get_jf_ancestor_keep_null): New function.
26094         * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
26095         ancestor function.
26096         (compute_complex_assign_jump_func): Pass false to keep_null
26097         parameter of ipa_set_ancestor_jf.
26098         (compute_complex_ancestor_jump_func): Pass true to keep_null
26099         parameter of ipa_set_ancestor_jf.
26100         (update_jump_functions_after_inlining): Carry over keep_null from the
26101         original ancestor jump-function or merge them.
26102         (ipa_write_jump_function): Stream keep_null flag.
26103         (ipa_read_jump_function): Likewise.
26104         (ipa_print_node_jump_functions_for_edge): Print the new flag.
26105         * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const.  New
26106         member function known_nonzero_p.
26107         (ipcp_bits_lattice::known_nonzero_p): New.
26108         (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
26109         observe it.
26110         (ipcp_bits_lattice::meet_with): Likewise.
26111         (propagate_bits_across_jump_function): Simplify.  Pass true in
26112         drop_all_ones when it is necessary.
26113         (propagate_aggs_across_jump_function): Take care of keep_null
26114         flag.
26115         (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
26116         jump functions.
26118 2022-03-31  Martin Jambor  <mjambor@suse.cz>
26120         PR ipa/102513
26121         * ipa-cp.cc (decide_whether_version_node): Skip scalar values
26122         which do not fit the known value_range.
26124 2022-03-31  Martin Jambor  <mjambor@suse.cz>
26126         PR ipa/103171
26127         * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
26128         always when an ADDR_EXPR constant is known to reach a load because
26129         of inlining, not just when removing an ADDR reference.
26131 2022-03-31  Richard Biener  <rguenther@suse.de>
26133         PR tree-optimization/105109
26134         * tree-ssa.cc (execute_update_addresses_taken): Suppress
26135         diagnostics on the load of the other complex component.
26137 2022-03-31  Tom de Vries  <tdevries@suse.de>
26139         * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
26141 2022-03-31  Richard Biener  <rguenther@suse.de>
26143         PR rtl-optimization/105091
26144         * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
26145         bases.
26147 2022-03-31  Richard Biener  <rguenther@suse.de>
26149         Revert:
26150         2021-09-13  Richard Earnshaw  <rearnsha@arm.com>
26152         PR target/102125
26153         * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
26154         memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
26156 2022-03-31  Sebastian Huber  <sebastian.huber@embedded-brains.de>
26158         * gcov-io.cc (gcov_read_string): Reword documentation comment.
26160 2022-03-30  Bill Schmidt  <wschmidt@linux.ibm.com>
26162         * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
26163         stanza.
26164         (NEG_V4SF): Likewise.
26165         (NEG_V4SI): Likewise.
26166         (NEG_V8HI): Likewise.
26167         (NEG_V2DF): Move to [vsx] stanza.
26168         (NEG_V2DI): Likewise.
26170 2022-03-30  Vladimir N. Makarov  <vmakarov@redhat.com>
26172         PR middle-end/105032
26173         * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
26175 2022-03-30  Tom de Vries  <tdevries@suse.de>
26176             Tobias Burnus  <tobias@codesourcery.com>
26178         * doc/invoke.texi (march): Document __PTX_SM__.
26179         (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
26180         __PTX_ISA_VERSION_MINOR__.
26182 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
26184         PR sanitizer/105093
26185         * ubsan.cc (instrument_object_size): If t is equal to inner and
26186         is a decl other than global var, punt.  When emitting call to
26187         UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
26189 2022-03-30  Jakub Jelinek  <jakub@redhat.com>
26191         PR tree-optimization/105094
26192         * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
26193         bitsize <= 0 rather than just == 0.
26195 2022-03-30  Tom de Vries  <tdevries@suse.de>
26197         * doc/invoke.texi (misa, mptx): Update.
26198         (march, march-map): Add.
26200 2022-03-30  Thomas Schwinge  <thomas@codesourcery.com>
26202         * opt-functions.awk (n_args): New function.
26203         (lang_enabled_by): Merge function into...
26204         * optc-gen.awk <END>: ... sole user here.
26205         Improve diagnostics.
26207 2022-03-29  Marek Polacek  <polacek@redhat.com>
26208             Jakub Jelinek  <jakub@redhat.com>
26210         PR middle-end/103597
26211         * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
26212         into labels.  Maybe set prev to the statement preceding UNUSED_LABEL_P.
26213         (gimplify_cond_expr): Set UNUSED_LABEL_P.
26214         * tree.h (UNUSED_LABEL_P): New.
26216 2022-03-29   Michael Meissner  <meissner@linux.ibm.com>
26218         * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
26219         be any VSX register.
26221 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
26223         PR target/102024
26224         * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
26225         zero-sized bit-fields.  Detect cases where a warning may be needed.
26226         (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
26227         zero-sized bit-field has caused parameter passing to change.
26229 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
26231         PR target/102024
26232         * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
26233         bit-fields.  Detect cases where a warning may be needed.
26234         (aapcs_vfp_is_call_or_return_candidate): Emit a note if
26235         a zero-sized bit-field has caused parameter passing to change.
26237 2022-03-29  Richard Earnshaw  <rearnsha@arm.com>
26239         PR target/96882
26240         * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
26241         ARM_PCS_AAPCS_LOCAL.
26243 2022-03-29  Tom de Vries  <tdevries@suse.de>
26245         PR target/104857
26246         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
26247         __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
26248         * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
26249         * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
26251 2022-03-29  Tom de Vries  <tdevries@suse.de>
26253         * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
26254         is ignored.
26256 2022-03-29  Tom de Vries  <tdevries@suse.de>
26258         PR target/104714
26259         * config/nvptx/nvptx.opt (march-map=*): Add aliases.
26261 2022-03-29  Jan Hubicka  <hubicka@ucw.cz>
26263         * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
26264         TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
26265         * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
26266         (TARGET_USE_GATHER_4PARTS): New macro.
26267         * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
26268         (X86_TUNE_USE_GATHER_4PARTS): New tune
26270 2022-03-29  Tom de Vries  <tdevries@suse.de>
26272         * config/nvptx/nvptx.opt (march): Add alias of misa.
26274 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
26275             Lulu Cheng  <chenglulu@loongson.cn>
26277         * doc/install.texi: Add LoongArch options section.
26278         * doc/invoke.texi: Add LoongArch options section.
26279         * doc/md.texi: Add LoongArch options section.
26281 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
26282             Lulu Cheng  <chenglulu@loongson.cn>
26284         * config/loongarch/loongarch-c.cc
26286 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
26287             Lulu Cheng  <chenglulu@loongson.cn>
26289         * config/loongarch/larchintrin.h: New file.
26290         * config/loongarch/loongarch-builtins.cc: New file.
26292 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
26293             Lulu Cheng  <chenglulu@loongson.cn>
26295         * config/host-linux.cc: Add LoongArch support.
26296         * config/loongarch/loongarch-protos.h: New file.
26297         * config/loongarch/loongarch-tune.h: Likewise.
26298         * config/loongarch/loongarch.cc: Likewise.
26299         * config/loongarch/loongarch.h: Likewise.
26301 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
26302             Lulu Cheng  <chenglulu@loongson.cn>
26304         * config/loongarch/constraints.md: New file.
26305         * config/loongarch/generic.md: New file.
26306         * config/loongarch/la464.md: New file.
26307         * config/loongarch/loongarch-ftypes.def: New file.
26308         * config/loongarch/loongarch-modes.def: New file.
26309         * config/loongarch/loongarch.md: New file.
26310         * config/loongarch/predicates.md: New file.
26311         * config/loongarch/sync.md: New file.
26313 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
26314             Lulu Cheng  <chenglulu@loongson.cn>
26316         * configure: Regenerate file.
26318 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
26319             Lulu Cheng  <chenglulu@loongson.cn>
26321         * common/config/loongarch/loongarch-common.cc: New file.
26322         * config/loongarch/genopts/genstr.sh: New file.
26323         * config/loongarch/genopts/loongarch-strings: New file.
26324         * config/loongarch/genopts/loongarch.opt.in: New file.
26325         * config/loongarch/loongarch-str.h: New file.
26326         * config/loongarch/gnu-user.h: New file.
26327         * config/loongarch/linux.h: New file.
26328         * config/loongarch/loongarch-cpu.cc: New file.
26329         * config/loongarch/loongarch-cpu.h: New file.
26330         * config/loongarch/loongarch-def.c: New file.
26331         * config/loongarch/loongarch-def.h: New file.
26332         * config/loongarch/loongarch-driver.cc: New file.
26333         * config/loongarch/loongarch-driver.h: New file.
26334         * config/loongarch/loongarch-opts.cc: New file.
26335         * config/loongarch/loongarch-opts.h: New file.
26336         * config/loongarch/loongarch.opt: New file.
26337         * config/loongarch/t-linux: New file.
26338         * config/loongarch/t-loongarch: New file.
26339         * config.gcc: Add LoongArch support.
26340         * configure.ac: Add LoongArch support.
26342 2022-03-29  Thomas Schwinge  <thomas@codesourcery.com>
26344         * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
26345         typo.
26347 2022-03-29  Richard Biener  <rguenther@suse.de>
26349         PR tree-optimization/105080
26350         * tree-ssa-strlen.cc (printf_strlen_execute): Always init
26351         loops and SCEV.
26353 2022-03-28  Indu Bhagat  <indu.bhagat@oracle.com>
26355         * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
26356         (output_ctf_vars): Likewise.
26358 2022-03-28  Jason Merrill  <jason@redhat.com>
26360         PR c++/59426
26361         * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
26363 2022-03-28  H.J. Lu  <hjl.tools@gmail.com>
26365         PR target/105068
26366         * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
26367         "Yw" in clobber.
26369 2022-03-28  Tom de Vries  <tdevries@suse.de>
26371         PR target/104818
26372         * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
26373         * config/nvptx/nvptx-gen.opt: Regenerate.
26374         * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
26375         * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
26376         gen-opt.sh.
26378 2022-03-28  David Malcolm  <dmalcolm@redhat.com>
26380         PR analyzer/104308
26381         * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
26382         to loads then stores, set the location of the new load stmt.
26384 2022-03-28  Richard Biener  <rguenther@suse.de>
26386         PR tree-optimization/105070
26387         * tree-switch-conversion.h
26388         (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
26389         argument.
26390         * tree-switch-conversion.cc
26391         (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
26392         cond with location.
26393         (bit_test_cluster::emit): Annotate all generated expressions
26394         with location.
26396 2022-03-28  Andre Vieira  <andre.simoesdiasvieira@arm.com>
26398         * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
26400 2022-03-28  liuhongt  <hongtao.liu@intel.com>
26402         PR target/105066
26403         * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
26404         alternative 4 from sse4_noavx to noavx.
26406 2022-03-28  Jakub Jelinek  <jakub@redhat.com>
26408         PR tree-optimization/105056
26409         * tree-predcom.cc (component::component): Initialize also comp_step.
26411 2022-03-27  H.J. Lu  <hjl.tools@gmail.com>
26413         PR target/105068
26414         * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
26415         "Yw".
26417 2022-03-26  Roger Sayle  <roger@nextmovesoftware.com>
26419         PR middle-end/104885
26420         * calls.cc (mark_stack_region_used): Check that the region
26421         is within the allocated size of stack_usage_map.
26423 2022-03-26  Jakub Jelinek  <jakub@redhat.com>
26425         PR rtl-optimization/103775
26426         * recog.cc (check_invalid_inc_dec): New function.
26427         (insn_invalid_p): Return 1 if REG_INC operand overlaps
26428         any stored REGs.
26430 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
26432         PR target/105058
26433         * config/i386/sse.md (loadiwkey): Replace "v" with "x".
26434         (aes<aesklvariant>u8): Likewise.
26436 2022-03-26  H.J. Lu  <hjl.tools@gmail.com>
26438         PR target/105052
26439         * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
26440         Replace "Yv" with "x".
26441         (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
26442         (ssse3_psign<mode>3): Likewise.
26444 2022-03-26  Hans-Peter Nilsson  <hp@axis.com>
26446         * reload.cc (find_reloads): Align comment with code where
26447         considering the intersection of register classes then tweaking the
26448         regclass for the current alternative or rejecting it.
26450 2022-03-25  Christophe Lyon  <christohe.lyon@arm.com>
26452         PR target/104882
26453         Revert
26454         2021-06-11  Christophe Lyon  <christophe.lyon@linaro.org>
26456         * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
26457         (mve_vec_unpack<US>_hi_<mode>): Delete.
26458         (@mve_vec_pack_trunc_lo_<mode>): Delete.
26459         (mve_vmovntq_<supf><mode>): Remove '@' prefix.
26460         * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
26461         from vec-common.md.
26462         (vec_unpack<US>_lo_<mode>): Likewise.
26463         (vec_pack_trunc_<mode>): Rename from
26464         neon_quad_vec_pack_trunc_<mode>.
26465         * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
26466         (vec_unpack<US>_lo_<mode>): Delete.
26467         (vec_pack_trunc_<mode>): Delete.
26469 2022-03-25  Vladimir N. Makarov  <vmakarov@redhat.com>
26471         PR middle-end/104971
26472         * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
26473         regs to clear remove_p flag.
26475 2022-03-25  Richard Biener  <rguenther@suse.de>
26477         PR tree-optimization/105053
26478         * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
26479         the correct live-out stmt for a reduction chain.
26481 2022-03-25  Richard Biener  <rguenther@suse.de>
26483         PR middle-end/105049
26484         * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
26485         CONSTRUCTOR first elements.
26487 2022-03-25  Tobias Burnus  <tobias@codesourcery.com>
26489         PR analyzer/103533
26490         * doc/invoke.texi (Static Analyzer Options): Move
26491         @ignore block after @gccoptlist's '}' for 'make pdf'.
26493 2022-03-25  David Malcolm  <dmalcolm@redhat.com>
26495         PR analyzer/104954
26496         * doc/invoke.texi (Static Analyzer Options): Add
26497         -fdump-analyzer-untracked.
26499 2022-03-25  Avinash Sonawane  <rootkea@gmail.com>
26501         PR analyzer/103533
26502         * doc/invoke.texi: Document that enabling taint analyzer
26503         checker disables some warnings from `-fanalyzer`.
26505 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
26507         PR debug/104564
26508         * gimple-harden-conditionals.cc (detach_value): Keep temps
26509         anonymous.
26511 2022-03-24  Alexandre Oliva  <oliva@adacore.com>
26513         PR middle-end/104975
26514         * gimple-harden-conditionals.cc
26515         (pass_harden_compares::execute): Force split in case of
26516         multiple edges.
26518 2022-03-24  Jakub Jelinek  <jakub@redhat.com>
26520         PR c++/105035
26521         * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
26522         field0 or field1 is not a FIELD_DECL, return false.
26524 2022-03-24  Richard Biener  <rguenther@suse.de>
26526         * tree-predcom.cc (chain::chain): Add CTOR.
26527         (component::component): Likewise.
26528         (pcom_worker::release_chain): Use delete.
26529         (release_components): Likewise.
26530         (pcom_worker::filter_suitable_components): Likewise.
26531         (pcom_worker::split_data_refs_to_components): Use new.
26532         (make_invariant_chain): Likewise.
26533         (make_rooted_chain): Likewise.
26534         (pcom_worker::combine_chains): Likewise.
26535         * tree-vect-loop.cc (vect_create_epilog_for_reduction):
26536         Make sure to release previously constructed scalar_results.
26537         * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
26538         for vec_offsets.
26539         * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
26540         Release m_flag_set_edges.
26542 2022-03-24  Siddhesh Poyarekar  <siddhesh@gotplt.org>
26544         PR tree-optimization/104970
26545         * tree-object-size.cc (parm_object_size): Restrict size
26546         computation scenarios to explicit access attributes.
26548 2022-03-24  Kewen Lin  <linkw@linux.ibm.com>
26550         PR target/104967
26551         * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
26552         function types.
26554 2022-03-23  Richard Biener  <rguenther@suse.de>
26556         PR target/102125
26557         * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
26558         use of movmisalign when either the source or destination
26559         decl is properly aligned.
26561 2022-03-23  Richard Biener  <rguenther@suse.de>
26563         PR rtl-optimization/105028
26564         * ira-color.cc (form_threads_from_copies): Remove unnecessary
26565         copying of the sorted_copies tail.
26567 2022-03-23  Martin Liska  <mliska@suse.cz>
26569         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
26570         Use %qs in format.
26571         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
26572         Reword the error message.
26574 2022-03-23  liuhongt  <hongtao.liu@intel.com>
26576         PR target/104976
26577         * config/i386/sse.md (ssePSmodelower): New.
26578         (*avx_cmp<mode>3_ltint_not): Force_reg operand before
26579         lowpart_subreg to avoid NULL_RTX.
26580         (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
26581         <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
26582         fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
26583         <avx512>_<complexopname>_<mode>_mask<round_name>,
26584         avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
26585         avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
26586         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
26587         avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
26588         float<floatunssuffix><mode>v4hf2,
26589         float<floatunssuffix>v2div2hf2,
26590         fix<fixunssuffix>_truncv4hf<mode>2,
26591         fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
26592         extendv2hfv2df2,
26593         trunc<mode>v4hf2,truncv2dfv2hf2,
26594         *avx512bw_permvar_truncv16siv16hi_1,
26595         *avx512bw_permvar_truncv16siv16hi_1_hf,
26596         *avx512f_permvar_truncv8siv8hi_1,
26597         *avx512f_permvar_truncv8siv8hi_1_hf,
26598         *avx512f_vpermvar_truncv8div8si_1,
26599         *avx512f_permvar_truncv32hiv32qi_1,
26600         *avx512f_permvar_truncv16hiv16qi_1,
26601         *avx512f_permvar_truncv4div4si_1,
26602         *avx512f_pshufb_truncv8hiv8qi_1,
26603         *avx512f_pshufb_truncv4siv4hi_1,
26604         *avx512f_pshufd_truncv2div2si_1,
26605         sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
26606         ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
26608 2022-03-22  Tom de Vries  <tdevries@suse.de>
26610         PR target/104925
26611         * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
26612         Use % as register prefix.
26614 2022-03-22  Tom de Vries  <tdevries@suse.de>
26616         * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
26617         (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
26618         mexperimental.
26620 2022-03-22  Tom de Vries  <tdevries@suse.de>
26622         * config/nvptx/nvptx.opt (mexperimental): New option.
26624 2022-03-22  Tom de Vries  <tdevries@suse.de>
26626         PR target/104957
26627         * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
26628         * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
26629         for alias.
26630         (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
26631         (nvptx_asm_output_def_from_decls): New function.
26632         * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
26633         gcc_unreachable ().
26634         (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
26635         nvptx_asm_output_def_from_decls.
26636         * config/nvptx/nvptx.opt (malias): New opt.
26638 2022-03-22  Tom de Vries  <tdevries@suse.de>
26640         PR target/104916
26641         PR target/104783
26642         * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
26643         sync (or uniform warp check for mptx < 6.0).
26645 2022-03-22  Richard Biener  <rguenther@suse.de>
26647         PR tree-optimization/105012
26648         * tree-if-conv.cc (ifcvt_local_dce): Only call
26649         dse_classify_store when we have a VDEF.
26651 2022-03-22  Martin Liska  <mliska@suse.cz>
26653         PR target/104902
26654         * config/nvptx/nvptx.cc (handle_ptx_version_option):
26655         Fix option wrapping in an error message.
26657 2022-03-22  Martin Liska  <mliska@suse.cz>
26659         PR target/104903
26660         * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
26661         Wrap const keyword.
26663 2022-03-22  Martin Liska  <mliska@suse.cz>
26665         * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
26666         name.
26668 2022-03-22  Martin Liska  <mliska@suse.cz>
26670         PR target/104898
26671         * config/rs6000/rs6000.cc (rs6000_option_override_internal):
26672         Use %qs instead of (%qs).
26674 2022-03-22  Martin Liska  <mliska@suse.cz>
26676         PR target/104898
26677         * config/i386/i386-options.cc (ix86_option_override_internal):
26678         Use '%qs' instead of '(%qs)'.
26680 2022-03-22  Martin Liska  <mliska@suse.cz>
26682         PR target/104898
26683         * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
26684         Use 'qs' and remove usage '(%qs)'.
26685         (aarch64_handle_attr_cpu): Likewise.
26686         (aarch64_handle_attr_tune): Likewise.
26687         (aarch64_handle_attr_isa_flags): Likewise.
26689 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
26690             Andre Vieira  <andre.simoesdiasvieira@arm.com>
26692         * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
26693         struct.
26694         (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
26695         cost.
26696         (neoverse512tvb_tunings): Likewise.
26698 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
26699             Andre Vieira  <andre.simoesdiasvieira@arm.com>
26701         * config/aarch64/aarch64.cc (demeter_addrcost_table,
26702         demeter_regmove_cost, demeter_advsimd_vector_cost,
26703         demeter_sve_vector_cost, demeter_scalar_issue_info,
26704         demeter_advsimd_issue_info, demeter_sve_issue_info,
26705         demeter_vec_issue_info, demeter_vector_cost,
26706         demeter_tunings): New tuning structs.
26707         (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
26708         tuning.
26709         * config/aarch64/aarch64-cores.def: Add entry for demeter.
26710         * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
26712 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
26713             Andre Vieira  <andre.simoesdiasvieira@arm.com>
26715         * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
26716         (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
26717         * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
26718         tunings to use cpu_memmov_cost struct.
26720 2022-03-22  Tamar Christina  <tamar.christina@arm.com>
26721             Andre Vieira  <andre.simoesdiasvieira@arm.com>
26723         * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
26724         neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
26725         neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
26726         neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
26727         neoversen2_vec_issue_info, neoversen2_tunings): New structs.
26728         (neoversen2_tunings): Use new structs and update tuning flags.
26729         (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
26730         tuning.
26732 2022-03-22  Andre Vieira  <andre.simoesdiasvieira@arm.com>
26734         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
26735         bit.
26737 2022-03-22  liuhongt  <hongtao.liu@intel.com>
26739         PR target/104982
26740         * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
26741         following splitter to reversed condition.
26743 2022-03-22  Jakub Jelinek  <jakub@redhat.com>
26745         PR rtl-optimization/104989
26746         * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
26747         sorry for passing too large argument, instead set sibcall_failure
26748         for pass == 0, or a new normal_failure flag otherwise.  If
26749         normal_failure is set, don't assert all stack has been deallocated
26750         at the end and throw away the whole insn sequence.
26752 2022-03-22  Qian Jianhua  <qianjh@cn.fujitsu.com>
26754         * print-tree.cc: Change array length
26756 2022-03-22  Hongyu Wang  <hongyu.wang@intel.com>
26758         PR target/104978
26759         * config/i386/sse.md
26760         (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
26761         Use avx512f_movsf_mask instead of vmovaps or vblend, and
26762         force_reg before lowpart_subreg.
26763         (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
26765 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
26767         PR target/105000
26768         * common/config/i386/i386-common.cc
26769         (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
26770         OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
26772 2022-03-21  H.J. Lu  <hjl.tools@gmail.com>
26774         PR target/104998
26775         * common/config/i386/cpuinfo.h (get_available_features): Pass
26776         0x19 to __cpuid for bit_AESKLE.  Enable FEATURE_AESKLE only if
26777         bit_AESKLE is set.
26779 2022-03-21  Richard Sandiford  <richard.sandiford@arm.com>
26781         PR middle-end/104869
26782         * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
26783         (clobber_group::next_clobber): Likewise.
26784         (def_lookup::prev_def): Rename to...
26785         (def_lookup::last_def_of_prev_group): ...this.
26786         (def_lookup::next_def): Rename to...
26787         (def_lookup::first_def_of_next_group): ...this.
26788         (def_lookup::matching_or_prev_def): Rename to...
26789         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
26790         (def_lookup::matching_or_next_def): Rename to...
26791         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
26792         (def_lookup::prev_def): New function, taking the lookup insn as
26793         argument.
26794         (def_lookup::next_def): Likewise.
26795         * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
26796         (def_lookup::last_def_of_prev_group): ...this.
26797         (def_lookup::next_def): Rename to...
26798         (def_lookup::first_def_of_next_group): ...this.
26799         (def_lookup::matching_or_prev_def): Rename to...
26800         (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
26801         (def_lookup::matching_or_next_def): Rename to...
26802         (def_lookup::matching_set_or_first_def_of_next_group): ...this.
26803         * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
26804         above renaming.
26805         * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
26806         (clobber_group::next_clobber): Likewise.
26807         (def_lookup::prev_def): Likewise.
26808         (def_lookup::next_def): Likewise.
26809         (function_info::make_use_available): Pass the lookup insn to
26810         def_lookup::prev_def and def_lookup::next_def.
26812 2022-03-21  Martin Liska  <mliska@suse.cz>
26814         * doc/invoke.texi: Document min-pagesize parameter.
26816 2022-03-21  Richard Biener  <rguenther@suse.de>
26818         * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
26819         we are estimating niter of loop.
26821 2022-03-21  Kito Cheng  <kito.cheng@sifive.com>
26823         * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
26824         Update flag name and mask name.
26825         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
26826         misc macro for vector extensions.
26827         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
26828         (MASK_VECTOR_ELEN_32): ... this.
26829         (MASK_VECTOR_EEW_64): Rename to ...
26830         (MASK_VECTOR_ELEN_64): ... this.
26831         (MASK_VECTOR_EEW_FP_32): Rename to ...
26832         (MASK_VECTOR_ELEN_FP_32): ... this.
26833         (MASK_VECTOR_EEW_FP_64): Rename to ...
26834         (MASK_VECTOR_ELEN_FP_64): ... this.
26835         (TARGET_VECTOR_ELEN_32): New.
26836         (TARGET_VECTOR_ELEN_64): Ditto.
26837         (TARGET_VECTOR_ELEN_FP_32): Ditto.
26838         (TARGET_VECTOR_ELEN_FP_64): Ditto.
26839         (TARGET_MIN_VLEN): Ditto.
26840         * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
26841         (riscv_vector_elen_flags): ... this.
26843 2022-03-21  Hongyu Wang  <hongyu.wang@intel.com>
26845         PR target/104977
26846         * config/i386/sse.md
26847         (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
26848         Correct round operand for intel dialect.
26850 2022-03-19  Arthur Cohen  <arthur.cohen@embecosm.com>
26852         * diagnostic.cc (diagnostic_cc_tests): Rename to...
26853         (c_diagnostic_cc_tests): ...this.
26854         * opt-problem.cc (opt_problem_cc_tests): Rename to...
26855         (c_opt_problem_cc_tests): ...this.
26856         * selftest-run-tests.cc (selftest::run_tests): No longer run
26857         opt_problem_cc_tests or diagnostic_cc_tests.
26858         * selftest.h (diagnostic_cc_tests): Remove declaration.
26859         (opt_problem_cc_tests): Likewise.
26861 2022-03-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
26863         PR jit/63854
26864         * hash-traits.h (struct typed_const_free_remove): New.
26865         (struct free_string_hash): New.
26866         * pass_manager.h: Use free_string_hash.
26867         * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
26868         (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
26870 2022-03-19  Jakub Jelinek  <jakub@redhat.com>
26872         PR middle-end/104971
26873         * config/i386/i386-expand.cc
26874         (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
26875         don't push/pop anything and just return const0_rtx.
26877 2022-03-18  Vladimir N. Makarov  <vmakarov@redhat.com>
26879         PR rtl-optimization/104961
26880         * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
26882 2022-03-18  Jason Merrill  <jason@redhat.com>
26884         * tree.h (IDENTIFIER_LENGTH): Add comment.
26886 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
26888         PR middle-end/99578
26889         PR middle-end/100680
26890         PR tree-optimization/100834
26891         * params.opt (--param=min-pagesize=): New parameter.
26892         * pointer-query.cc
26893         (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
26894         (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
26895         of zero for pointer constants equal or larger than min-pagesize.
26897 2022-03-18  Tom de Vries  <tdevries@suse.de>
26899         * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
26900         Set gfor location only when dealing with a OMP_TASKLOOP.
26902 2022-03-18  Tom de Vries  <tdevries@suse.de>
26904         * gimplify.cc (gimplify_omp_for): Set taskloop location.
26906 2022-03-18  Tom de Vries  <tdevries@suse.de>
26908         PR target/104952
26909         * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
26910         is executed unconditionally.
26912 2022-03-18  liuhongt  <hongtao.liu@intel.com>
26914         PR target/104974
26915         * config/i386/i386.md (*movhi_internal): Set attr type from HI
26916         to HF for alternative 12 under TARGET_AVX512FP16.
26918 2022-03-18  Cui,Lili  <lili.cui@intel.com>
26920         PR target/104963
26921         * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
26922         * doc/invoke.texi: Update documents for Intel sapphirerapids.
26924 2022-03-17  Roger Sayle  <roger@nextmovesoftware.com>
26926         PR target/86722
26927         PR tree-optimization/90356
26928         * config/i386/i386.md (*movtf_internal): Don't guard
26929         standard_sse_constant_p clause by optimize_function_for_size_p.
26930         (*movdf_internal): Likewise.
26931         (*movsf_internal): Likewise.
26933 2022-03-17  Andrew MacLeod  <amacleod@redhat.com>
26935         PR tree-optimization/102943
26936         * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
26937         dominators and apply intermediary outgoing edge ranges.
26939 2022-03-17  Richard Biener  <rguenther@suse.de>
26941         PR tree-optimization/104960
26942         * passes.def: Add pass parameter to pass_sink_code, mark
26943         last one to unsplit edges.
26944         * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
26945         (pass_sink_code::execute): Always execute TODO_cleanup_cfg
26946         when we need to unsplit edges.
26948 2022-03-17  Jakub Jelinek  <jakub@redhat.com>
26950         PR middle-end/103984
26951         * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
26952         TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
26953         and asan unpoisioning, then append the temporary sequence and
26954         finally the TARGET_EXPR_CLEANUP clobbers.
26956 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
26958         * config/i386/sse.md: Delete corrupt character/typo.
26960 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
26962         PR target/94680
26963         * config/i386/sse.md (sse2_movq128): New define_expand to
26964         preserve previous named instruction.
26965         (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
26966         generalized to VI8F_128 (both V2DI and V2DF).
26968 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
26970         PR tree-optimization/104941
26971         * tree-object-size.cc (size_for_offset): Make useless conversion
26972         check lighter and assign result of fold_convert to OFFSET.
26974 2022-03-16  H.J. Lu  <hjl.tools@gmail.com>
26976         PR target/104890
26977         * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
26978         pushing target("general-regs-only").
26980 2022-03-16  Kito Cheng  <kito.cheng@sifive.com>
26982         * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
26983         Add version info for zk, zks and zkn.
26985 2022-03-16  LiaoShihua  <shihua@iscas.ac.cn>
26987         * common/config/riscv/riscv-common.cc
26988         (riscv_combine_info): New.
26989         (riscv_subset_list::handle_combine_ext): Combine back into zk to
26990         maintain the canonical order in isa strings.
26991         (riscv_subset_list::parse): Ditto.
26992         * config/riscv/riscv-subset.h (handle_combine_ext): New.
26994 2022-03-16  Richard Biener  <rguenther@suse.de>
26996         PR tree-optimization/102008
26997         * passes.def: Move the added code sinking pass before the
26998         preceeding phiopt pass.
27000 2022-03-16  Patrick Palka  <ppalka@redhat.com>
27002         PR c++/96780
27003         * doc/invoke.texi (C++ Dialect Options): Document
27004         -ffold-simple-inlines.
27006 2022-03-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
27008         PR tree-optimization/104942
27009         * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
27011 2022-03-16  Jakub Jelinek  <jakub@redhat.com>
27013         PR target/104910
27014         * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
27015         imm rtx.
27017 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
27018             Richard Biener  <rguenther@suse.de>
27020         * gimple-match-head.cc (single_use): Implement inline using a
27021         single loop.
27023 2022-03-16  Roger Sayle  <roger@nextmovesoftware.com>
27025         * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
27026         instead of HONOR_NANS.
27027         (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
27028         this can't trap/signal.
27030 2022-03-16  liuhongt  <hongtao.liu@intel.com>
27032         PR target/104946
27033         * config/i386/i386-builtin.def (BDESC): Add
27034         CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
27035         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
27036         __builtin_ia32_blendvpd w/o sse4.2
27038 2022-03-15  Peter Bergner  <bergner@linux.ibm.com>
27040         PR target/104923
27041         * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
27042         acceptable MEM addresses.
27044 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
27046         PR target/91229
27047         * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
27048         riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
27049         to warning calls.
27051 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
27053         PR target/104890
27054         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
27055         instead of general-regs-only.
27057 2022-03-15  Roger Sayle  <roger@nextmovesoftware.com>
27058             Marc Glisse  <marc.glisse@inria.fr>
27059             Richard Biener  <rguenther@suse.de>
27061         PR tree-optimization/101895
27062         * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
27063         (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
27065 2022-03-15  Jakub Jelinek  <jakub@redhat.com>
27067         PR rtl-optimization/104814
27068         * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
27069         end with onlyjump_p.  Assume BB_END (test_bb) is always non-NULL.
27071 2022-03-15  Martin Sebor  <msebor@redhat.com>
27073         PR middle-end/104436
27074         * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
27075         Check for warning suppression.  Avoid by-value arguments transformed
27076         into by-transparent-reference.
27078 2022-03-14  Roger Sayle  <roger@nextmovesoftware.com>
27079             Uroš Bizjak  <ubizjak@gmail.com>
27081         * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
27082         transformation when *zero_extend<mode>si2 is not available.
27084 2022-03-14  Xi Ruoyao  <xry111@mengyan1223.wang>
27086         * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
27087         * config/mips/mips.cc (mips_option_override): Make
27088         -fsanitize=address imply -fasynchronous-unwind-tables.  This is
27089         needed by libasan for stack backtrace on MIPS.
27090         (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
27092 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
27094         PR debug/104778
27095         * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
27096         SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
27097         call simplified the first operand into VOIDmode constant.
27099 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
27101         PR tree-optimization/102586
27102         * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
27103         argument type should be pointer to trivially-copyable type unless it
27104         is address of a variable or parameter.
27106 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
27108         PR target/99754
27109         * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
27110         first   rather than last element of the vector, use __m32_u to do
27111         a really unaligned load, use just 0 instead of (int)0.
27112         (_mm_loadu_si16): Put loaded value into first rather than last
27113         element of the vector, use __m16_u to do a really unaligned load,
27114         use just 0 instead of (short)0.
27116 2022-03-14  Jakub Jelinek  <jakub@redhat.com>
27118         PR other/104899
27119         * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
27120         in diagnostic message - cannott -> cannot.  Use %< and %> around
27121         names of attribute.  Avoid too long line.
27122         * range-op.cc (operator_logical_and::op1_range): Fix up a typo
27123         in comment - cannott -> cannot.  Use 2 spaces after . instead of one.
27125 2022-03-14  liuhongt  <hongtao.liu@intel.com>
27127         PR target/104666
27128         * config/i386/i386-expand.cc
27129         (ix86_check_builtin_isa_match): New func.
27130         (ix86_expand_builtin): Move code to
27131         ix86_check_builtin_isa_match and call it.
27132         * config/i386/i386-protos.h
27133         (ix86_check_builtin_isa_match): Declare.
27134         * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
27135         builtin into gimple when isa mismatches.
27137 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
27139         * doc/invoke.texi: Fix typos.
27140         * doc/tm.texi.in: Remove duplicated word.
27141         * doc/tm.texi: Regenerate.
27143 2022-03-12  Segher Boessenkool  <segher@kernel.crashing.org>
27145         PR target/104829
27146         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
27147         "ppc" and "ppc64" based on rs6000_cpu.
27149 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
27151         PR middle-end/100280
27152         PR middle-end/104892
27153         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
27154         Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
27156 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
27158         PR middle-end/100280
27159         PR middle-end/104086
27160         * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
27161         Mark variables used in 'present' clauses as addressable.
27162         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
27163         handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
27165 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
27167         PR other/65095
27168         * tree-core.h (user_omp_claus_code_name): Declare function.
27169         * tree.cc (user_omp_clause_code_name): New function.
27171 2022-03-12  Roger Sayle  <roger@nextmovesoftware.com>
27173         PR middle-end/98420
27174         * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
27175         (the defaut) or -fno-signed-zeros.
27177 2022-03-12   Michael Meissner  <meissner@linux.ibm.com>
27179         PR target/104868
27180         * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
27181         moving from a GPR register to an Altivec register.
27183 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
27185         PR tree-optimization/98335
27186         * config/i386/i386.md (peephole2): Eliminate redundant insv.
27187         Combine movl followed by movb.  Transform xorl followed by
27188         a suitable movb or movw into the equivalent movz[bw]l.
27190 2022-03-11  Roger Sayle  <roger@nextmovesoftware.com>
27191             Richard Biener  <rguenther@suse.de>
27193         PR tree-optimization/98335
27194         * builtins.cc (get_object_alignment_2): Export.
27195         * builtins.h (get_object_alignment_2): Likewise.
27196         * tree-ssa-alias.cc (ao_ref_alignment): New.
27197         * tree-ssa-alias.h (ao_ref_alignment): Declare.
27198         * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
27199         to align head/tail, writing more bytes but using fewer store insns.
27201 2022-03-11  Richard Biener  <rguenther@suse.de>
27203         PR tree-optimization/104880
27204         * tree-ssa.cc (execute_update_address_taken): Remember if we
27205         optimistically made something not addressable and
27206         prepare to undo it.
27208 2022-03-11  Richard Biener  <rguenther@suse.de>
27210         PR target/104762
27211         * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
27212         cost the first lane of SSE pieces as inserts for vec_construct.
27214 2022-03-10  Roger Sayle  <roger@nextmovesoftware.com>
27216         PR c++/84964
27217         * calls.cc (expand_call): Ignore stack adjustments after sorry.
27219 2022-03-10  Vladimir N. Makarov  <vmakarov@redhat.com>
27221         PR target/103074
27222         * lra-constraints.cc (split_reg): Set up
27223         check_and_force_assignment_correctness_p when splitting hard
27224         register live range.
27226 2022-03-10  Martin Jambor  <mjambor@suse.cz>
27228         PR ipa/104813
27229         * ipa-cp.cc (create_specialized_node): Move removal of
27230         self-recursive calls from callers vector before refrence
27231         adjustments.
27233 2022-03-10  Richard Biener  <rguenther@suse.de>
27235         PR tree-optimization/102943
27236         * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
27237         Make a bitmap_head.
27238         (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
27239         to tree view.
27240         (sbr_sparse_bitmap::set_bb_range): Adjust.
27241         (sbr_sparse_bitmap::get_bb_range): Likewise.
27243 2022-03-10  Richard Biener  <rguenther@suse.de>
27245         PR tree-optimization/102943
27246         * tree-ssa-dom.cc (back_propagate_equivalences): Only
27247         populate the dominance bitmap if fast queries are not
27248         available.  Use a tree view bitmap.
27249         (record_temporary_equivalences): Cache the dominance bitmap
27250         across all equivalences on the edge.
27252 2022-03-10  Tom de Vries  <tdevries@suse.de>
27254         PR target/104840
27255         * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
27256         of false,true.
27258 2022-03-10  Tom de Vries  <tdevries@suse.de>
27260         PR target/104783
27261         * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
27262         (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
27263         (nvptx_get_unisimt_outside_simt_predicate): New function.
27264         (predicate_insn): New function, factored out of ...
27265         (nvptx_reorg_uniform_simt): ... here.  Predicate all emitted insns.
27266         * config/nvptx/nvptx.h (struct machine_function): Add
27267         unisimt_outside_simt_predicate field.
27268         * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
27269         (define_insn "nvptx_uniform_warp_check"): Make predicable.
27271 2022-03-10  Tom de Vries  <tdevries@suse.de>
27273         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
27274         result.
27276 2022-03-10  Tom de Vries  <tdevries@suse.de>
27278         PR target/104815
27279         * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
27280         modifier.
27281         * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
27283 2022-03-10  Tom de Vries  <tdevries@suse.de>
27285         * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
27286         Emit atom.and.b64 instead of atom.b64.and.
27288 2022-03-10  Tom de Vries  <tdevries@suse.de>
27290         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
27291         (MULTILIB_OPTIONS): ... here.
27293 2022-03-10  Tom de Vries  <tdevries@suse.de>
27295         PR target/104758
27296         * config/nvptx/nvptx.opt (misa): Set default to sm_30.
27297         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
27299 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
27301         PR middle-end/90115
27302         PR middle-end/102330
27303         PR middle-end/104774
27304         * omp-low.cc (oacc_privatization_candidate_p)
27305         (oacc_privatization_scan_clause_chain)
27306         (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
27307         Analyze 'lookup_decl'-translated DECL.
27309 2022-03-10  Jakub Jelinek  <jakub@redhat.com>
27311         PR target/99708
27312         * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
27313         RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
27314         (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
27315         * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
27316         "**NULL**" if type_node is NULL first.  Handle
27317         ieee128_float_type_node.
27318         (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
27319         and ptr_ibm128_float_type_node.  Set ibm128_float_type_node and
27320         ieee128_float_type_node to NULL rather than long_double_type_node if
27321         they aren't supported.  Do support __ibm128 even if
27322         !TARGET_FLOAT128_TYPE when long double is double double.
27323         (rs6000_expand_builtin): Error if bif_is_ibm128 and
27324         !ibm128_float_type_node.  Remap RS6000_BIF_{,UN}PACK_IF to
27325         RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
27326         for it.
27327         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
27328         __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
27329         (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
27330         Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
27331         Formatting fix.
27332         * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
27333         (struct attrinfo): Add isibm128 member.
27334         (TYPE_MAP_SIZE): Remove.
27335         (type_map): Use [] instead of [TYPE_MAP_SIZE].  For "if" use
27336         ibm128_float_type_node only if it is non-NULL, otherwise fall back
27337         to long_double_type_node.  Remove "pif" entry.
27338         (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
27339         (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
27340         (write_type_node): Use sizeof type_map / sizeof type_map[0]
27341         instead of TYPE_MAP_SIZE.
27342         (write_bif_static_init): Handle isibm128.
27343         * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
27344         (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
27345         attribute.
27347 2022-03-09  Richard Biener  <rguenther@suse.de>
27349         * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
27350         with non-decl operand, avoiding a copy.
27352 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
27354         PR target/104781
27355         * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
27357 2022-03-09  Richard Biener  <rguenther@suse.de>
27359         PR middle-end/104786
27360         * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
27361         for VLAs without an upper size bound.
27363 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
27365         PR tree-optimization/104851
27366         * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
27367         error.
27369 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
27371         PR c/104711
27372         * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
27373         is enabled by it only for C++11 to C++17 rather than for C++03 or
27374         later.
27375         (-Wshift-negative-value): Similarly (except here we stated
27376         that it is enabled for C++11 or later).
27378 2022-03-09  Jakub Jelinek  <jakub@redhat.com>
27380         PR rtl-optimization/104839
27381         * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
27382         Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
27383         (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
27384         instead of incorrect 0 in SUBREG_PROMOTED_SET.
27386 2022-03-09  Xi Ruoyao  <xry111@mengyan1223.wang>
27388         PR target/104842
27389         * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
27390         value before adding an offset.
27392 2022-03-08  Christophe Lyon  <christophe.lyon@arm.com>
27394         * config/arm/arm-builtins.cc
27395         (arm_binop_none_none_unone_qualifiers): Delete.
27396         (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
27398 2022-03-08  Iain Sandoe  <iain@sandoe.co.uk>
27400         PR translation/104552
27401         * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
27402         the PCH out of memory error message punctuation and wording.
27404 2022-03-08  Marek Polacek  <polacek@redhat.com>
27406         PR rtl-optimization/104777
27407         * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
27408         ASM_OPERANDS_LABEL_VEC has at least one element.
27410 2022-03-08  H.J. Lu  <hjl.tools@gmail.com>
27412         PR target/104781
27413         * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
27414         stack realignment or regparm nested function with EH return.
27416 2022-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
27418         PR target/104790
27419         * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
27420         * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
27421         register for non widening loads or narrowing stores.
27423 2022-03-08  Eric Gallager  <egallager@gcc.gnu.org>
27425         PR translation/104552
27426         * params.opt: Fix typo.
27428 2022-03-08  Richard Biener  <rguenther@suse.de>
27430         PR tree-optimization/84201
27431         * params.opt (-param=vect-induction-float): Add.
27432         * doc/invoke.texi (vect-induction-float): Document.
27433         * tree-vect-loop.cc (vectorizable_induction): Honor
27434         param_vect_induction_float.
27436 2022-03-08  Martin Jambor  <mjambor@suse.cz>
27438         PR translation/104552
27439         * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
27440         "that" in the description.
27442 2022-03-08  Richard Biener  <rguenther@suse.de>
27444         PR tree-optimization/104825
27445         * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
27446         guard modref get_ao_ref on a pointer typed argument.
27448 2022-03-08  liuhongt  <hongtao.liu@intel.com>
27450         * config/i386/sse.md (*vec_dupv4si): Disable memory operand
27451         for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
27453 2022-03-07  Jonathan Wakely  <jwakely@redhat.com>
27455         * doc/invoke.texi (C++ Modules): Remove anachronism.
27457 2022-03-07  Martin Liska  <mliska@suse.cz>
27459         PR middle-end/104381
27460         * opts.cc (finish_options): If debug info is disabled
27461         (debug_info_level) and -fvar-tracking is unset, disable it.
27463 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
27465         * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
27466         * config/riscv/riscv.cc: Likewise.
27467         * config/darwin.h: Likewise.
27468         * config/i386/i386.cc: Likewise.
27469         * config/aarch64/thunderx3t110.md: Likewise.
27470         * config/aarch64/fractional-cost.h: Likewise.
27471         * config/vax/vax.cc: Likewise.
27472         * config/rs6000/pcrel-opt.md: Likewise.
27473         * config/rs6000/predicates.md: Likewise.
27474         * ctfc.h: Likewise.
27475         * tree-ssa-uninit.cc: Likewise.
27476         * value-relation.h: Likewise.
27477         * gimple-range-gori.cc: Likewise.
27478         * ipa-polymorphic-call.cc: Likewise.
27479         * pointer-query.cc: Likewise.
27480         * ipa-sra.cc: Likewise.
27481         * internal-fn.cc: Likewise.
27482         * varasm.cc: Likewise.
27483         * gimple-ssa-warn-access.cc: Likewise.
27485 2022-03-07  Martin Liska  <mliska@suse.cz>
27487         PR target/104794
27488         * config/arm/arm.cc (arm_option_override_internal): Add missing
27489         space.
27491 2022-03-07  Richard Biener  <rguenther@suse.de>
27493         PR tree-optimization/104782
27494         * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
27495         Re-instantiate r10-5979 fix, add comment.
27497 2022-03-07  Martin Liska  <mliska@suse.cz>
27499         PR target/104797
27500         * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
27501         parenthesis from built-in name.
27503 2022-03-07  Martin Liska  <mliska@suse.cz>
27505         PR target/104794
27506         * config/arm/arm.cc (arm_option_override_internal): Fix quoting
27507         of options in error messages.
27508         (arm_option_reconfigure_globals): Likewise.
27510 2022-03-07  Martin Liska  <mliska@suse.cz>
27512         PR target/104794
27513         * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
27514         message.  Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
27515         have only range [0,32].
27517 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
27519         PR target/104775
27520         * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
27521         S constraint instead of T in the last alternative.
27523 2022-03-07  Martin Liska  <mliska@suse.cz>
27525         * plugin.cc (default_plugin_dir_name): Remove <dir> from error
27526         message.
27528 2022-03-07  Martin Liska  <mliska@suse.cz>
27530         PR translation/90148
27531         * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
27532         quote to a proper place.
27533         * plugin.cc (default_plugin_dir_name): Likewise.
27535 2022-03-07  Martin Liska  <mliska@suse.cz>
27537         PR target/99297
27538         * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
27539         string.
27541 2022-03-07  Jakub Jelinek  <jakub@redhat.com>
27543         PR target/104779
27544         * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
27545         define_expand pattern.  Rename define_insn to ...
27546         (*avx512dq_mul<mode>3<mask_name>): ... this.
27547         (<code><mode>3_mask): New any_logic define_expand pattern.
27548         (<mask_codefor><code><mode>3<mask_name>): Rename to ...
27549         (*<code><mode>3<mask_name>): ... this.
27551 2022-03-05  Jakub Jelinek  <jakub@redhat.com>
27553         * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
27554         visited bitmap and its use.  Also punt on EDGE_ABNORMAL edges.
27556 2022-03-05  Roger Sayle  <roger@nextmovesoftware.com>
27557             Uroš Bizjak  <ubizjak@gmail.com>
27559         PR testsuite/104732
27560         * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
27561         Include DI mode unconditionally.
27562         (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
27563         i.e. always split on !TARGET_64BIT.
27564         (*<any_or>di3_doubleword): Likewise.
27565         (*one_cmpldi2_doubleword): Likewise.
27566         (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
27567         (<any_or><mode>3 expander): Likewise.
27568         (one_cmpl<mode>2 expander): Likewise.
27570 2022-03-05   Michael Meissner  <meissner@linux.ibm.com>
27572         PR target/104698
27573         * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
27574         (mtvsrdd_diti_w1): Delete.
27575         (extendditi2): Convert from define_expand to
27576         define_insn_and_split.  Replace with code to deal with both GPR
27577         registers and with altivec registers.
27579 2022-03-04  Segher Boessenkool  <segher@kernel.crashing.org>
27581         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
27582         bit.  Handle most older CPUs.
27584 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
27586         * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
27587         avoid a mismatch with DECL_MD_FUNCTION_CODE().
27589 2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>
27591         PR target/104117
27592         * config/rs6000/darwin.md (@machopic_high_<mode>): New.
27593         (@machopic_low_<mode>): New.
27594         * config/rs6000/predicates.md (macho_pic_address): New.
27595         * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
27596         apply the TLS processing to Darwin.
27597         * lra-constraints.cc (process_address_1): Revert the changes
27598         in r12-7209.
27600 2022-03-04  Peter Bergner  <bergner@linux.ibm.com>
27602         PR target/87496
27603         PR target/104208
27604         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
27605         ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
27606         -mlong-double-128.
27607         Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
27608         from here...
27609         * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
27610         ... to here.
27612 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
27614         PR middle-end/104529
27615         * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
27616         on automatic objects which will be runtime initialized.
27618 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
27620         PR middle-end/100280
27621         PR middle-end/104132
27622         PR middle-end/104133
27623         * omp-low.cc (task_shared_vars): Rename to
27624         'make_addressable_vars'.  Adjust all users.
27625         (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
27626         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
27628 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
27630         PR middle-end/100280
27631         * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
27632         * tree-core.h: Document it.
27633         * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
27634         'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
27635         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
27636         Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
27637         'TREE_ADDRESSABLE'.
27639 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
27641         PR middle-end/100280
27642         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
27643         Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
27644         '[...]' declared in block made addressable".
27646 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
27648         PR middle-end/100400
27649         PR middle-end/103836
27650         PR middle-end/104061
27651         * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
27652         Catch 'GIMPLE_DEBUG'.
27654 2022-03-04  Jakub Jelinek  <jakub@redhat.com>
27656         PR c/104627
27657         * tree.cc (warn_deprecated_use): For types prefer to use node
27658         and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
27659         NULL.
27661 2022-03-04  H.J. Lu  <hjl.tools@gmail.com>
27663         PR target/104704
27664         * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
27665         a pseudo register.
27667 2022-03-03  Martin Sebor  <msebor@redhat.com>
27669         PR middle-end/104761
27670         * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
27671         mark_dfs_back_edges.
27673 2022-03-03  Martin Liska  <mliska@suse.cz>
27675         * configure.ac: Use linker plug-in by default.
27676         * configure: Regenerate.
27678 2022-03-03  Martin Liska  <mliska@suse.cz>
27680         * configure.ac: Now ld.mold support LTO plugin API, use it.
27681         * configure: Regenerate.
27683 2022-03-03  Tom de Vries  <tdevries@suse.de>
27685         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
27687 2022-03-03  Tom de Vries  <tdevries@suse.de>
27689         PR target/104758
27690         * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
27692 2022-03-03  Tom de Vries  <tdevries@suse.de>
27694         * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
27696 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
27698         PR middle-end/104757
27699         * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
27700         gimplify_omp_for.
27701         (gimplify_expr) <case OMP_SIMD>: Temporarily disable
27702         gimplify_ctxp->into_ssa around call to gimplify_omp_for.
27704 2022-03-03  Jakub Jelinek  <jakub@redhat.com>
27706         PR middle-end/104558
27707         * calls.cc (store_one_arg): When not calling emit_push_insn
27708         because size_rtx is const0_rtx, call at least anti_adjust_stack
27709         on arg->locate.alignment_pad if !argblock and the alignment might
27710         be non-zero.
27712 2022-03-02  Alexandre Oliva  <oliva@adacore.com>
27714         * lra-constraints.cc (undo_optional_reloads): Recognize and
27715         drop insns of multi-word move sequences, tolerate removal
27716         iteration on an already-removed clobber, and refuse to
27717         substitute original pseudos into clobbers.
27719 2022-03-02  Qing Zhao  <qing.zhao@oracle.com>
27721         PR middle-end/102276
27722         * common.opt (-Wtrivial-auto-var-init): New option.
27723         * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
27724         (-ftrivial-auto-var-init): Update option;
27725         * gimplify.cc (emit_warn_switch_unreachable): New function.
27726         (warn_switch_unreachable_r): Rename to ...
27727         (warn_switch_unreachable_and_auto_init_r): This.
27728         (maybe_warn_switch_unreachable): Rename to ...
27729         (maybe_warn_switch_unreachable_and_auto_init): This.
27730         (gimplify_switch_expr): Update calls to renamed function.
27732 2022-03-02  Richard Biener  <rguenther@suse.de>
27734         PR rtl-optimization/104686
27735         * ira-color.cc (object_conflicts_with_allocno_p): New function
27736         using a bitvector test instead of iterating when possible.
27737         (allocnos_conflict_p): Choose the best allocno to iterate over
27738         object conflicts.
27739         (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
27740         last.
27742 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
27744         * cfg.cc (dump_edge_info): Dump goto_locus if present.
27746 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
27748         PR rtl-optimization/104589
27749         * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
27750         INSN_LOCATION comparison with goto_locus.
27752 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
27754         * tree-ssa-strlen.cc (strlen_pass::handle_assign,
27755         strlen_pass::before_dom_children): Comment spelling fixes.
27757 2022-03-02  Jakub Jelinek  <jakub@redhat.com>
27759         * ipa-modref-tree.cc (modref_access_node::contains,
27760         modref_access_node::closer_pair_p, modref_access_node::insert,
27761         modref_access_node::insert_kill): Comment spelling fixes.
27762         * ipa-modref.cc: Likewise.
27763         (modref_summary::finalize, ignore_nondeterminism_p,
27764         class modref_access_analysis,
27765         modref_access_analysis::set_side_effects,
27766         modref_access_analysis::set_nondeterministic,
27767         modref_access_analysis::record_global_memory_load,
27768         modref_access_analysis::propagate, modref_access_analysis::analyze,
27769         struct escape_point, class modref_lattice, modref_lattice::merge,
27770         modref_lattice::merge_deref, class modref_eaf_analysis,
27771         modref_eaf_analysis::merge_call_lhs_flags,
27772         modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
27773         modref_eaf_analysis::record_escape_points, remap_kills,
27774         update_escape_summary, remove_useless_summaries,
27775         ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
27776         Likewise.
27777         * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
27778         Likewise.
27779         * ipa-modref-tree.h (enum modref_special_parms,
27780         struct modref_access_node): Likewise.
27782 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
27784         PR tree-optimization/104715
27785         * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
27786         unnecessarily test if ptr is a SSA_NAME, it has to be.  Only push lhs
27787         of a call if gimple_call_return_arg is equal to ptr, not just when it
27788         is non-NULL.
27790 2022-03-01  Jakub Jelinek  <jakub@redhat.com>
27792         * gimple-ssa-warn-access.cc (warn_string_no_nul,
27793         maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
27794         matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
27795         pass_waccess::check_alloca, pass_waccess::check_strcat,
27796         memmodel_to_uhwi, fntype_argno_type,
27797         pass_waccess::maybe_check_access_sizes,
27798         pass_waccess::check_call_access,
27799         pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
27800         Comment spelling fixes.
27802 2022-03-01  Richard Biener  <rguenther@suse.de>
27804         PR tree-optimization/104716
27805         * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
27806         Check if we can copy the loop.
27808 2022-03-01  H.J. Lu  <hjl.tools@gmail.com>
27810         PR middle-end/104721
27811         * cfgexpand.cc (expand_gimple_basic_block): Clear
27812         currently_expanding_gimple_stmt when returning inside the loop.
27814 2022-03-01  Martin Liska  <mliska@suse.cz>
27816         PR ipa/104533
27817         * multiple_target.cc (get_attr_len): Move to tree.c.
27818         (expand_target_clones): Remove single value checking.
27819         * tree.cc (get_target_clone_attr_len): New fn.
27820         * tree.h (get_target_clone_attr_len): Likewise.
27822 2022-03-01  Martin Liska  <mliska@suse.cz>
27824         PR gcov-profile/104677
27825         * doc/invoke.texi: Document more .gcda file name generation.
27827 2022-03-01  Tom de Vries  <tdevries@suse.de>
27829         PR target/102429
27830         * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
27831         * config/nvptx/nvptx.md
27832         (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
27833         New predicate.
27834         (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
27835         Use nvptx_register_or_complex_di_df_register_operand.
27837 2022-03-01  Tom de Vries  <tdevries@suse.de>
27839         * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
27840         * config/nvptx/gen-copyright.sh: New file.
27841         * config/nvptx/gen-h.sh: New file.
27842         * config/nvptx/gen-opt.sh: New file.
27843         * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
27844         (TARGET_SM75, TARGET_SM80): Move ...
27845         * config/nvptx/nvptx-gen.h: ... here.  New file, generate.
27846         * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
27847         * config/nvptx/nvptx-gen.opt: ... here.  New file, generate.
27848         * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
27849         ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
27851 2022-03-01  Tom de Vries  <tdevries@suse.de>
27853         * config/nvptx/gen-omp-device-properties.sh: New file.
27854         * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
27856 2022-03-01  Tom de Vries  <tdevries@suse.de>
27858         * config/nvptx/nvptx-sm.def: New file.
27859         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
27860         * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
27861         * config/nvptx/nvptx.cc (sm_version_to_string)
27862         (nvptx_omp_device_kind_arch_isa): Same.
27864 2022-03-01  Robin Dapp  <rdapp@linux.ibm.com>
27866         PR rtl-optimization/104154
27867         * config/arc/arc.cc (gen_compare_reg):  Return the CC-mode
27868         comparison ifcvt passed us.
27870 2022-03-01  Hongyu Wang  <hongyu.wang@intel.com>
27872         PR target/104664
27873         * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
27874         Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
27876 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
27878         PR tree-optimization/91384
27879         * config/i386/i386.md (peephole2): Eliminate final testl insn
27880         from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
27881         transforming using *negsi_2 for the negation.
27883 2022-02-28  Roger Sayle  <roger@nextmovesoftware.com>
27884             Eric Botcazou  <ebotcazou@adacore.com>
27886         PR middle-end/80270
27887         * expmed.cc (extract_integral_bit_field): If OP0 is a hard
27888         register, copy it to a pseudo before calling simplify_gen_subreg.
27890 2022-02-28  Vladimir N. Makarov  <vmakarov@redhat.com>
27892         PR rtl-optimization/104637
27893         * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
27894         as possible on one subpass.
27896 2022-02-28  Qing Zhao  <qing.zhao@oracle.com>
27898         PR middle-end/104550
27899         * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
27900         created uses.
27902 2022-02-28  Martin Liska  <mliska@suse.cz>
27904         PR ipa/104648
27905         * main.cc (main): Use flag_checking instead of CHECKING_P
27906         and run toplev::finalize only if there is not error seen.
27908 2022-02-28  Richard Biener  <rguenther@suse.de>
27910         * tree-ssa-pre.cc (compute_avail): Revert part of last change.
27912 2022-02-28  Richard Biener  <rguenther@suse.de>
27914         PR tree-optimization/104700
27915         * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
27916         into ...
27917         (find_or_generate_expression): ... here, simplifying code.
27919 2022-02-28  Tom de Vries  <tdevries@suse.de>
27921         * config/nvptx/nvptx-opts.h (enum ptx_version): Add
27922         PTX_VERSION_default.
27923         * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
27924         PTX_VERSION_default.
27925         * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
27927 2022-02-28  Richard Biener  <rguenther@suse.de>
27929         PR rtl-optimization/104686
27930         * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
27931         skipping bits that are zero.
27932         (ira_object_conflict_iter_cond): Likewise.
27934 2022-02-28  Hongyu Wang  <hongyu.wang@intel.com>
27936         * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
27937         (_mm512_ternarylogic_epi64): Truncate imm to unsigned
27938         char to avoid error when using ~enum as parameter.
27939         (_mm512_mask_ternarylogic_epi64): Likewise.
27940         (_mm512_maskz_ternarylogic_epi64): Likewise.
27941         (_mm512_ternarylogic_epi32): Likewise.
27942         (_mm512_mask_ternarylogic_epi32): Likewise.
27943         (_mm512_maskz_ternarylogic_epi32): Likewise.
27944         * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
27945         Adjust imm param type to unsigned char.
27946         (_mm256_mask_ternarylogic_epi64): Likewise.
27947         (_mm256_maskz_ternarylogic_epi64): Likewise.
27948         (_mm256_ternarylogic_epi32): Likewise.
27949         (_mm256_mask_ternarylogic_epi32): Likewise.
27950         (_mm256_maskz_ternarylogic_epi32): Likewise.
27951         (_mm_ternarylogic_epi64): Likewise.
27952         (_mm_mask_ternarylogic_epi64): Likewise.
27953         (_mm_maskz_ternarylogic_epi64): Likewise.
27954         (_mm_ternarylogic_epi32): Likewise.
27955         (_mm_mask_ternarylogic_epi32): Likewise.
27956         (_mm_maskz_ternarylogic_epi32): Likewise.
27958 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
27959             Marc Glisse  <marc.glisse@inria.fr>
27961         PR tree-optimization/104675
27962         * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
27963         Restrict simplifications to INTEGRAL_TYPE_P.
27965 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
27967         PR target/104681
27968         * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
27970 2022-02-25  Claudiu Zissulescu  <claziss@synopsys.com>
27972         * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
27973         comparison is not valid.
27974         * config/arc/arc.md (movsicc): Fail if comparison is not valid.
27975         (movdicc): Likewise.
27976         (movsfcc): Likewise.
27977         (movdfcc): Likewise.
27979 2022-02-25  Richard Biener  <rguenther@suse.de>
27981         PR tree-optimization/103037
27982         * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
27983         (vn_nary_length_from_stmt): Likewise.
27984         (init_vn_nary_op_from_stmt): Likewise.
27985         (vn_nary_op_compute_hash): Likewise.
27986         * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
27987         (vn_nary_length_from_stmt): Likewise.
27988         (init_vn_nary_op_from_stmt): Likewise.
27989         (vn_nary_op_compute_hash): Likewise.
27990         * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
27991         (get_or_alloc_expr_for_nary): Pass in the value-id to use,
27992         (re-)compute the hash value and if the expression is not
27993         found allocate it from pre_expr_obstack.
27994         (phi_translate_1): Do not insert the NARY found in the
27995         VN tables but build a PRE expression from the valueized
27996         NARY with the value-id we eventually found.
27997         (find_or_generate_expression): Assert we have an entry
27998         for constant values.
27999         (compute_avail): Insert not valueized expressions into
28000         EXP_GEN using the value-id from the VN tables.
28001         (init_pre): Allocate pre_expr_obstack.
28002         (fini_pre): Free pre_expr_obstack.
28004 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
28006         PR target/104674
28007         * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
28008         * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
28009         SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
28011 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
28013         * warning-control.cc (get_nowarn_spec): Comment spelling fix.
28015 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
28017         PR middle-end/104679
28018         * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
28020 2022-02-25  Jakub Jelinek  <jakub@redhat.com>
28022         PR tree-optimization/104675
28023         * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
28024         COMPLEX_TYPE.
28026 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
28028         PR target/104121
28029         PR target/103302
28030         * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
28032 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
28034         PR middle-end/104540
28035         * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
28036         dw_cfi_cfa_loc.
28038 2022-02-25  Alexandre Oliva  <oliva@adacore.com>
28040         PR tree-optimization/103856
28041         * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
28042         eh edge to be requested through an extra parameter.
28043         (pass_harden_compares::execute): Copy PHI args in the EH dest
28044         block for the new EH edge added for the inverted compare.
28046 2022-02-24  Palmer Dabbelt  <palmer@rivosinc.com>
28048         * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
28049         of position independence that -mcmodel=medany affords.
28051 2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>
28053         PR target/104656
28054         * configure.ac: --disable-gcov if targetting bpf-*.
28055         * configure: Regenerate.
28057 2022-02-24  Richard Biener  <rguenther@suse.de>
28059         PR tree-optimization/104676
28060         * tree-loop-distribution.cc (loop_distribution::execute):
28061         Do a full scev_reset.
28063 2022-02-24  Jakub Jelinek  <jakub@redhat.com>
28065         PR tree-optimization/104601
28066         * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
28067         non-SSA_NAME lhs value number vdef to itself instead of e.g. the
28068         vuse value number.
28070 2022-02-24  Tom de Vries  <tdevries@suse.de>
28071             Tobias Burnus  <tobias@codesourcery.com>
28073         * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
28074         sm_70, sm_75 and sm_80.
28075         * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
28077 2022-02-24  Tom de Vries  <tdevries@suse.de>
28079         * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
28080         "rotrsi3"): New define_insn.
28082 2022-02-24  Tom de Vries  <tdevries@suse.de>
28084         * config/nvptx/nvptx.cc (gen_comment): Use
28085         DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
28087 2022-02-24  liuhongt  <hongtao.liu@intel.com>
28089         * config/i386/sse.md (<code>v1ti3): Add suffix and replace
28090         isa attr of alternative 2 from avx to avx512vl.
28092 2022-02-23  Richard Biener  <rguenther@suse.de>
28093             Jakub Jelinek  <jakub@redhat.com>
28095         PR tree-optimization/104644
28096         * doc/match-and-simplify.texi: Amend ! documentation.
28097         * genmatch.cc (expr::gen_transform): Code-generate ! support
28098         for GENERIC.
28099         (parser::parse_expr): Allow ! for GENERIC.
28100         * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
28101         bswap.
28103 2022-02-23  Richard Biener  <rguenther@suse.de>
28105         PR tree-optimization/101636
28106         * tree-vect-slp.cc (vect_print_slp_tree): Dump the
28107         vector type of the node.
28108         (vect_slp_analyze_operations): Make sure the CTOR
28109         is vectorized with an expected type.
28110         (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
28112 2022-02-23  Jakub Jelinek  <jakub@redhat.com>
28114         PR c/104633
28115         * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
28116         Don't warn about calls to corresponding builtin from extern inline
28117         gnu_inline wrappers.
28119 2022-02-23  Roger Sayle  <roger@nextmovesoftware.com>
28121         PR target/104489
28122         * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
28124 2022-02-23  Christophe Lyon  <christophe.lyon@arm.com>
28126         PR target/100757
28127         PR target/101325
28128         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
28129         typo.
28131 2022-02-23  Cui,Lili  <lili.cui@intel.com>
28133         * doc/invoke.texi: Update documents for Intel architectures.
28135 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
28137         * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
28138         bootstrap.
28140 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
28142         * omp-low.cc (omp_build_component_ref): Move function...
28143         * omp-general.cc (omp_build_component_ref): ... here.  Remove
28144         'static'.
28145         * omp-general.h (omp_build_component_ref): Declare function.
28146         * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
28147         function.
28148         (build_receiver_ref, build_sender_ref): Call
28149         'omp_build_component_ref' instead.
28151 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
28153         * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
28154         simplify.  Adjust all users.
28156 2022-02-22  Segher Boessenkool  <segher@kernel.crashing.org>
28158         PR target/88134
28159         * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
28160         atomic_update_decl): Add GTY markup.
28162 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28164         * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
28166 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28168         PR target/100757
28169         PR target/101325
28170         * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
28171         predicate.
28172         (CX_BINARY_UNONE_QUALIFIERS): Likewise.
28173         (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
28174         (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
28175         (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
28176         (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
28177         * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
28178         * config/arm/mve.md: Use VxBI instead of HI.
28180 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28182         PR target/100757
28183         PR target/101325
28184         * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
28185         qualifier.
28186         (STRSBU_P_QUALIFIERS): Likewise.
28187         (LDRGBS_Z_QUALIFIERS): Likewise.
28188         (LDRGBU_Z_QUALIFIERS): Likewise.
28189         (LDRGBWBXU_Z_QUALIFIERS): Likewise.
28190         (LDRGBWBS_Z_QUALIFIERS): Likewise.
28191         (LDRGBWBU_Z_QUALIFIERS): Likewise.
28192         (STRSBWBS_P_QUALIFIERS): Likewise.
28193         (STRSBWBU_P_QUALIFIERS): Likewise.
28194         * config/arm/mve.md: Use VxBI instead of HI.
28196 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28198         PR target/100757
28199         PR target/101325
28200         * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
28201         (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
28202         (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
28203         (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
28204         (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
28205         (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
28206         (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
28207         (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
28208         (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
28209         (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
28210         (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
28211         (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
28212         (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
28213         (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
28214         (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
28215         (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
28216         (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
28217         (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
28218         (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
28219         (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
28220         (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
28221         (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
28222         (STRS_P_QUALIFIERS): Use predicate qualifier.
28223         (STRU_P_QUALIFIERS): Likewise.
28224         (STRSU_P_QUALIFIERS): Likewise.
28225         (STRSS_P_QUALIFIERS): Likewise.
28226         (LDRGS_Z_QUALIFIERS): Likewise.
28227         (LDRGU_Z_QUALIFIERS): Likewise.
28228         (LDRS_Z_QUALIFIERS): Likewise.
28229         (LDRU_Z_QUALIFIERS): Likewise.
28230         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
28231         (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
28232         (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
28233         (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
28234         * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
28235         * config/arm/mve.md: Use MVE_VPRED instead of HI.
28237 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28239         PR target/100757
28240         PR target/101325
28241         * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
28242         Delete.
28243         (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
28244         (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
28245         (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
28246         * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
28247         predicated qualifiers.
28248         * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
28249         (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
28251 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28253         PR target/100757
28254         * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
28255         (arm_expand_vector_compare): Update prototype.
28256         * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
28257         (arm_vector_mode_supported_p): Add support for VxBI modes.
28258         (arm_expand_vector_compare): Remove useless generation of vpsel.
28259         (arm_expand_vcond): Fix select operands.
28260         (arm_get_mask_mode): New.
28261         * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
28262         (vec_cmpu<mode><MVE_vpred>): New.
28263         (vcond_mask_<mode><MVE_vpred>): New.
28264         * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
28265         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
28266         * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
28267         (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
28268         and disable for MVE.
28269         * doc/sourcebuild.texi (arm_mve): Document new effective-target.
28271 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28273         PR target/100757
28274         PR target/101325
28275         * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
28276         (BINOP_PRED_NONE_NONE_QUALIFIERS)
28277         (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
28278         (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
28279         * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
28280         * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
28281         modes.
28282         (arm_mode_to_pred_mode): New.
28283         (arm_expand_vector_compare): Use the right VxBI mode instead of
28284         HI.
28285         (arm_expand_vcond): Likewise.
28286         (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
28287         (mve_bool_vec_to_const): New.
28288         (neon_make_constant): Call mve_bool_vec_to_const when needed.
28289         * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
28290         (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
28291         (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
28292         (vpselq_s, vpselq_f): Use new predicated qualifiers.
28293         * config/arm/constraints.md (DB): New.
28294         * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
28295         (MVE_VPRED, MVE_vpred): New attribute iterators.
28296         * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
28297         (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
28298         (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
28299         (@mve_vpselq_<supf>v2di): Define separately.
28300         (mov<mode>): New expander for VxBI modes.
28301         * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
28302         MVE_7_HI iterator and add support for DB constraint.
28304 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28305             Richard Sandiford  <richard.sandiford@arm.com>
28307         PR target/100757
28308         PR target/101325
28309         * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
28310         VNx2BI): Update definition.
28311         * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
28312         simd types.
28313         (arm_init_builtin): Map predicate vectors arguments to HImode.
28314         (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
28315         rtx. Move return value to HImode rtx.
28316         * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
28317         * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
28318         * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
28319         Pred2x8_t,Pred4x4_t): New.
28320         * emit-rtl.cc (init_emit_once): Handle all boolean modes.
28321         * genmodes.cc (mode_data): Add boolean field.
28322         (blank_mode): Initialize it.
28323         (make_complex_modes): Fix handling of boolean modes.
28324         (make_vector_modes): Likewise.
28325         (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
28326         (make_vector_bool_mode): Likewise.
28327         (BOOL_MODE): New.
28328         (make_bool_mode): New.
28329         (emit_insn_modes_h): Fix generation of boolean modes.
28330         (emit_class_narrowest_mode): Likewise.
28331         * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
28332         parameter.  Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
28333         define BImode.
28334         * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
28335         Fix handling of constm1_rtx for VECTOR_BOOL.
28336         * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
28337         (native_decode_vector_rtx): Likewise.
28338         (test_vector_ops_duplicate): Skip vec_merge test
28339         with vectors of booleans.
28340         * varasm.cc (output_constant_pool_2): Likewise.
28342 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28344         * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
28345         for operand 1.
28347 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28349         * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
28351 2022-02-22  Christophe Lyon  <christophe.lyon@arm.com>
28353         * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
28354         (REG_CLASS_NAMES): Likewise.
28355         (REG_CLASS_CONTENTS): Likewise.
28356         (CLASS_MAX_NREGS): Handle VPR.
28357         * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
28359 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
28360             Tom de Vries  <tdevries@suse.de>
28362         * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
28363         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
28364         Likewise.
28365         * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
28367 2022-02-22  Tobias Burnus  <tobias@codesourcery.com>
28368             Tom de Vries  <tdevries@suse.de>
28370         * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
28371         * doc/invoke.texi (-mptx): Update for new values and defaults.
28373 2022-02-22  Tom de Vries  <tdevries@suse.de>
28375         * config/nvptx/nvptx.cc (gen_comment): New function.
28376         (workaround_uninit_method_1, workaround_uninit_method_2)
28377         (workaround_uninit_method_3): : Use gen_comment.
28378         * config/nvptx/nvptx.opt (mptx-comment): New option.
28380 2022-02-22  Richard Biener  <rguenther@suse.de>
28382         * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
28383         for a splat.
28385 2022-02-22  Roger Sayle  <roger@nextmovesoftware.com>
28386             Richard Biener  <rguenther@suse.de>
28388         * fold-const.cc (ctor_single_nonzero_element): New function to
28389         return the single non-zero element of a (vector) constructor.
28390         * fold-const.h (ctor_single_nonzero_element): Prototype here.
28391         * match.pd (reduc (constructor@0)): Simplify reductions of a
28392         constructor containing a single non-zero element.
28393         (reduc (@0 op VECTOR_CST) ->  (reduc @0) op CONST): Simplify
28394         reductions of vector operations of the same operator with
28395         constant vector operands.
28397 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
28399         PR tree-optimization/104604
28400         * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
28401         Only check if gimple_assign_rhs1 is COMPLEX_CST if
28402         gimple_assign_rhs_code is COMPLEX_CST.
28404 2022-02-22  Jakub Jelinek  <jakub@redhat.com>
28406         PR target/104612
28407         * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
28408         on input operands before calling lowpart_subreg on it.  For output
28409         operand, use a vmode pseudo as destination and then move its lowpart
28410         subreg into operands[0] if lowpart_subreg fails on dest.
28411         (ix86_expand_xorsign): Likewise.
28413 2022-02-22  Richard Biener  <rguenther@suse.de>
28415         PR tree-optimization/104582
28416         PR target/99881
28417         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
28418         Cost GPR to vector register moves for integer vector construction.
28420 2022-02-22  Richard Biener  <rguenther@suse.de>
28422         PR tree-optimization/104582
28423         * tree-vectorizer.h (stmt_info_for_cost::node): New field.
28424         (vector_costs::add_stmt_cost): Add SLP node parameter.
28425         (dump_stmt_cost): Likewise.
28426         (add_stmt_cost): Likewise, new overload and adjust.
28427         (add_stmt_costs): Adjust.
28428         (record_stmt_cost): New overload.
28429         * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
28430         (vector_costs::add_stmt_cost): Adjust.
28431         * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
28432         Adjust.
28433         * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
28434         the SLP node for costing.
28435         (vectorizable_slp_permutation): Likewise.
28436         * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
28437         new overloads.
28438         * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
28439         Adjust.
28440         * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
28441         Adjust.
28442         * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
28443         Adjust.
28444         (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
28446 2022-02-22  Richard Biener  <rguenther@suse.de>
28448         PR tree-optimization/104582
28449         * tree-vectorizer.h (add_stmt_cost): New overload.
28450         (record_stmt_cost): Likewise.
28451         * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
28452         Use add_stmt_costs.
28453         (vect_get_known_peeling_cost): Use new overloads.
28454         (vect_estimate_min_profitable_iters): Likewise.  Consistently
28455         use scalar_stmt for costing versioning checks.
28456         * tree-vect-stmts.cc (record_stmt_cost): New overload.
28458 2022-02-22  Hongyu Wang  <hongyu.wang@intel.com>
28460         PR target/103069
28461         * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
28462         Split atomic fetch and loop part.
28463         (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
28464         * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
28465         prototype.
28466         * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
28467         expander under TARGET_RELAX_CMPXCHG_LOOP.
28468         (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
28470 2022-02-21  Dan Li  <ashimida@linux.alibaba.com>
28472         * config/aarch64/aarch64.cc (SLOT_REQUIRED):
28473         Change wb_candidate[12] to wb_push_candidate[12].
28474         (aarch64_layout_frame): Likewise, and
28475         change callee_adjust when scs is enabled.
28476         (aarch64_save_callee_saves):
28477         Change wb_candidate[12] to wb_push_candidate[12].
28478         (aarch64_restore_callee_saves):
28479         Change wb_candidate[12] to wb_pop_candidate[12].
28480         (aarch64_get_separate_components):
28481         Change wb_candidate[12] to wb_push_candidate[12].
28482         (aarch64_expand_prologue): Push x30 onto SCS before it's
28483         pushed onto stack.
28484         (aarch64_expand_epilogue): Pop x30 frome SCS, while
28485         preventing it from being popped from the regular stack again.
28486         (aarch64_override_options_internal): Add SCS compile option check.
28487         (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
28488         * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
28489         wb_pop_candidate[12], and rename wb_candidate[12] to
28490         wb_push_candidate[12].
28491         * config/aarch64/aarch64.md (scs_push): New template.
28492         (scs_pop): Likewise.
28493         * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
28494         * doc/tm.texi: Regenerate.
28495         * doc/tm.texi.in: Add hook have_shadow_call_stack.
28496         * flag-types.h (enum sanitize_code):
28497         Add SANITIZE_SHADOW_CALL_STACK.
28498         * opts.cc (parse_sanitizer_options): Add shadow-call-stack
28499         and exclude SANITIZE_SHADOW_CALL_STACK.
28500         * target.def: New hook.
28501         * toplev.cc (process_options): Add SCS compile option check.
28502         * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
28504 2022-02-21  Tom de Vries  <tdevries@suse.de>
28506         PR target/104440
28507         * config/nvptx/nvptx.cc (workaround_uninit_method_1)
28508         (workaround_uninit_method_2, workaround_uninit_method_3)
28509         (workaround_uninit): New function.
28510         (nvptx_reorg): Use workaround_uninit.
28511         * config/nvptx/nvptx.opt (minit-regs): New option.
28513 2022-02-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
28515         PR rtl-optimization/104498
28516         * alias.cc (compare_base_symbol_refs): Correct distance computation
28517         when swapping x and y.
28519 2022-02-21  Andrew Pinski  <apinski@marvell.com>
28521         PR c/104506
28522         * tree-ssa.cc (tree_ssa_useless_type_conversion):
28523         Check the inner type before calling useless_type_conversion_p.
28525 2022-02-19  Tom de Vries  <tdevries@suse.de>
28527         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
28528         * config/nvptx/nvptx.md
28529         (define_insn "nvptx_atomic_store<mode>"): Rename to ...
28530         (define_insn "nvptx_atomic_store_sm70<mode>"): This.
28531         (define_insn "nvptx_atomic_store<mode>"): New define_insn.
28532         (define_expand "atomic_store<mode>"): Handle rename.  Use
28533         nvptx_atomic_store instead of atomic_exchange.
28535 2022-02-19  Tom de Vries  <tdevries@suse.de>
28537         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
28538         insns with atomic attribute.  Assert that all handled insns are
28539         PARALLELs.
28540         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
28541         Set atomic attribute to false.
28543 2022-02-19  Tom de Vries  <tdevries@suse.de>
28545         * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
28546         type to bool.
28547         (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
28548         nvptx_warpsync, if necessary.
28550 2022-02-19  Jakub Jelinek  <jakub@redhat.com>
28552         PR sanitizer/102656
28553         * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
28554         known to be within bounds, treat it like automatic variables.
28555         If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
28556         current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
28557         it addressable.
28559 2022-02-18  Pat Haugen  <pthaugen@linux.ibm.com>
28561         * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
28562         (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
28563         mpower10-fusion-logical-add, mpower10-fusion-add-logical,
28564         mpower10-fusion-2add, mpower10-fusion-2store): Remove.
28565         * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
28566         OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
28567         * config/rs6000/rs6000.cc (rs6000_option_override_internal,
28568         power10_sched_reorder): Likewise.
28569         * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
28570         gen_addadd): Likewise
28571         * config/rs6000/fusion.md: Regenerate.
28573 2022-02-18  Jakub Jelinek  <jakub@redhat.com>
28575         PR target/104257
28576         PR target/104598
28577         * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
28578         rather than __posix_memalign.
28580 2022-02-18  Richard Biener  <rguenther@suse.de>
28582         PR target/104581
28583         * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
28584         (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
28585         of calling ix86_avx_u128_mode_source which would eventually
28586         have returned AVX_U128_ANY in some very special case.
28588 2022-02-18  Richard Biener  <rguenther@suse.de>
28590         PR tree-optimization/96881
28591         * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
28592         CLOBBER handling.
28593         (control_parents_preserved_p): New function.
28594         (eliminate_unnecessary_stmts): Check that we preserved control
28595         parents before retaining a CLOBBER.
28596         (perform_tree_ssa_dce): Pass down aggressive flag
28597         to eliminate_unnecessary_stmts.
28599 2022-02-17  Jason Merrill  <jason@redhat.com>
28601         * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
28602         on TYPE_MAIN_VARIANT.
28604 2022-02-17  Paul A. Clarke  <pc@us.ibm.com>
28606         PR target/104257
28607         * config/rs6000/bmi2intrin.h: Uglify local variables.
28608         * config/rs6000/emmintrin.h: Likewise.
28609         * config/rs6000/mm_malloc.h: Likewise.
28610         * config/rs6000/mmintrin.h: Likewise.
28611         * config/rs6000/pmmintrin.h: Likewise.
28612         * config/rs6000/smmintrin.h: Likewise.
28613         * config/rs6000/tmmintrin.h: Likewise.
28614         * config/rs6000/xmmintrin.h: Likewise.
28616 2022-02-17  Robin Dapp  <rdapp@linux.ibm.com>
28618         PR target/104335
28619         * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
28620         if the expected comparison's first operand is of mode MODE_CC.
28622 2022-02-17  Vladimir N. Makarov  <vmakarov@redhat.com>
28624         PR rtl-optimization/104447
28625         * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
28626         hard reg set by lra_no_alloc_regs.
28628 2022-02-17  liuhongt  <hongtao.liu@intel.com>
28630         PR tree-optimization/104551
28631         PR tree-optimization/103771
28632         * match.pd (cond_expr_convert_p): Add types_match check when
28633         convert is extension.
28634         * tree-vect-patterns.cc
28635         (gimple_cond_expr_convert_p): Adjust comments.
28636         (vect_recog_cond_expr_convert_pattern): Ditto.
28638 2022-02-17  Jakub Jelinek  <jakub@redhat.com>
28640         PR debug/104557
28641         * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
28642         if expr has VOIDmode.
28644 2022-02-17  liuhongt  <hongtao.liu@intel.com>
28646         * config/i386/cpuid.h (bit_MPX): Removed.
28647         (bit_BNDREGS): Ditto.
28648         (bit_BNDCSR): Ditto.
28650 2022-02-17  Michael Meissner  <meissner@the-meissners.org>
28652         PR target/99708
28653         * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
28654         __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
28655         Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
28656         is created.
28658 2022-02-16  Andrew MacLeod  <amacleod@redhat.com>
28660         * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
28661         range_compatible_p instead of direct type comparison.
28663 2022-02-16  Jakub Jelinek  <jakub@redhat.com>
28665         PR rtl-optimization/104544
28666         * combine.cc (try_combine): When looking for insn whose links
28667         should be updated from i3 to i2, don't stop on debug insns, instead
28668         skip over them.
28670 2022-02-16  Richard Sandiford  <richard.sandiford@arm.com>
28672         PR target/100056
28673         * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
28674         * config/aarch64/aarch64.md: Extend the PR100056 patterns
28675         to handle plus in the same way as ior, if the operands have
28676         no set bits in common.
28678 2022-02-15  Andrew MacLeod  <amacleod@redhat.com>
28680         PR tree-optimization/104526
28681         * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
28682         new routine.
28683         * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
28684         of dependency chain if there isn't one.
28685         (gori_compute::condexpr_adjust): New.
28686         * gimple-range-gori.h (class gori_compute): New prototype.
28688 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
28690         PR target/100874
28691         * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
28692         Declare.
28693         * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
28694         * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
28696 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
28698         * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
28699         (vect_scalar_ops_slice_hash): Likewise.
28700         (vect_scalar_ops_slice::op): New function.
28701         * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
28702         (vect_scalar_ops_slice_hash::hash): Likewise.
28703         (vect_scalar_ops_slice_hash::equal): Likewise.
28704         (vect_prologue_cost_for_slp): Check for duplicate vectors.
28705         * config/aarch64/aarch64.cc
28706         (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
28707         (aarch64_aligned_constant_offset_p): New function.
28708         (aarch64_stp_sequence_cost): Likewise.
28709         (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
28710         (aarch64_vector_costs::finish_cost): Likewise.
28712 2022-02-15  Richard Sandiford  <richard.sandiford@arm.com>
28714         * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
28715         use after free.
28717 2022-02-15  Richard Biener  <rguenther@suse.de>
28719         PR tree-optimization/104543
28720         * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
28721         come after the inner loop.
28723 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
28725         PR target/104536
28726         * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
28727         cannot instead of can%'t in diagnostics.  Formatting fixes.
28729 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
28731         PR middle-end/104522
28732         * fold-const.h (native_interpret_real): Declare.
28733         * fold-const.cc (native_interpret_real): No longer static.  Don't
28734         perform MODE_COMPOSITE_P verification here.
28735         (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
28736         for all modes.
28737         * gimple-fold.cc (clear_padding_type): Call native_interpret_real
28738         instead of native_interpret_expr.
28739         * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
28740         and comparison verification for all FLOAT_MODE_P modes, not just
28741         MODE_COMPOSITE_P.
28743 2022-02-15  Richard Biener  <rguenther@suse.de>
28745         PR tree-optimization/104519
28746         * fold-const.cc (multiple_of_p): Remove never true condition.
28747         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
28748         the appropriate types for determining whether the difference
28749         of final and base is a multiple of the step.
28751 2022-02-15  Jakub Jelinek  <jakub@redhat.com>
28753         PR debug/104517
28754         * omp-low.cc (task_cpyfns): New variable.
28755         (delete_omp_context): Don't call finalize_task_copyfn from here.
28756         (create_task_copyfn): Push task_stmt into task_cpyfns.
28757         (execute_lower_omp): Call finalize_task_copyfn here on entries from
28758         task_cpyfns vector and release the vector.
28760 2022-02-14  Martin Sebor  <msebor@redhat.com>
28762         PR middle-end/104355
28763         * doc/invoke.texi (-Warray-bounds): Update documentation.
28765 2022-02-14  Michael Meissner  <meissner@the-meissners.org>
28767         PR target/104253
28768         * config/rs6000/rs6000.cc (init_float128_ibm): Update the
28769         conversion functions used to convert IFmode types.
28771 2022-02-14  Andrew Stubbs  <ams@codesourcery.com>
28773         * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
28775 2022-02-14  Richard Biener  <rguenther@suse.de>
28777         PR tree-optimization/104528
28778         * tree-ssa.h (find_released_ssa_name): Declare.
28779         * tree-ssa.cc (find_released_ssa_name): Export.
28780         * cfgloop.cc (verify_loop_structure): Look for released
28781         SSA names in loops nb_iterations.
28782         * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
28783         estimates.
28785 2022-02-14  Richard Biener  <rguenther@suse.de>
28787         PR tree-optimization/104511
28788         * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
28789         touching DFP <-> FP conversions.
28791 2022-02-14  Richard Biener  <rguenther@suse.de>
28793         PR middle-end/104497
28794         * gimplify.cc (gimplify_compound_lval): Make sure the
28795         base is a non-register if needed and possible.
28797 2022-02-13  liuhongt  <hongtao.liu@intel.com>
28799         PR target/103771
28800         * match.pd (cond_expr_convert_p): New match.
28801         * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
28802         (vect_recog_cond_expr_convert_pattern): New.
28804 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
28806         PR sanitizer/104449
28807         * asan.cc: Include tree-eh.h.
28808         (handle_builtin_alloca): Handle the case when __builtin_alloca or
28809         __builtin_alloca_with_align can throw.
28811 2022-02-12  Jakub Jelinek  <jakub@redhat.com>
28813         PR target/104502
28814         * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
28815         and AVX512VL isn't available, move operands[1] to operands[0] first.
28817 2022-02-12  Uroš Bizjak  <ubizjak@gmail.com>
28819         PR target/79754
28820         * config/i386/i386.cc (type_natural_mode):
28821         Skip decimal float vector modes.
28823 2022-02-11  Iain Sandoe  <iain@sandoe.co.uk>
28824             Vladimir Makarov  <vmakarov@redhat.com>
28826         PR target/104117
28827         * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
28828         Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
28829         emitting PIC code.
28830         (legitimate_lo_sum_address_p): Likewise.
28831         * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
28832         load from an invalid lo_sum address.
28834 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
28836         PR tree-optimization/104499
28837         * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
28838         of convert.
28840 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
28842         * tree.cc (build_common_builtin_nodes): Fix up formatting in
28843         __builtin_clear_padding decl creation.
28844         * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
28845         for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
28846         argument rather than in 3rd argument.
28847         (gimplify_call_expr): Likewise.  Fix up comment formatting.
28848         * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
28849         2 arguments instead of 3, take for_auto_init from the value
28850         of 2nd argument.
28852 2022-02-11  Vladimir N. Makarov  <vmakarov@redhat.com>
28854         PR rtl-optimization/104400
28855         * lra-constraints.cc (process_alt_operands): Don't make union of
28856         this_alternative_exclude_start_hard_regs when reg class in insn
28857         alternative covers other reg classes in the same alternative.
28859 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
28861         PR middle-end/104446
28862         * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
28863         operands.
28865 2022-02-11  Richard Biener  <rguenther@suse.de>
28867         PR middle-end/104496
28868         * internal-fn.cc (vectorized_internal_fn_supported_p):
28869         Bail out for integer mode vector types.
28871 2022-02-11  Jakub Jelinek  <jakub@redhat.com>
28873         PR rtl-optimization/104459
28874         * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
28875         moving DEBUG_INSNs between bbs.
28877 2022-02-11  liuhongt  <hongtao.liu@intel.com>
28879         PR tree-optimization/104479
28880         * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
28881         for the dest of uncond_op.
28883 2022-02-11  Tom de Vries  <tdevries@suse.de>
28885         PR target/104456
28886         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
28887         insn.
28889 2022-02-10  Qing Zhao  <qing.zhao@oracle.com>
28891         PR middle-end/100775
28892         * function.cc (gen_call_used_regs_seq): Call
28893         df_update_exit_block_uses when updating df.
28895 2022-02-10  Uroš Bizjak  <ubizjak@gmail.com>
28897         PR target/104469
28898         * config/i386/sse.md (vec_unpacks_float_lo_v4si):
28899         Change operand 1 constraint to register_operand.
28901 2022-02-10  Richard Biener  <rguenther@suse.de>
28903         PR tree-optimization/104373
28904         * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
28905         walk kind.
28906         * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
28907         walk kind as argument.
28908         (run_rpo_vn): Adjust.
28909         (pass_fre::execute): Likewise.
28910         * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
28911         blocks not reachable.
28912         (execute_late_warn_uninitialized): Mark all edges as
28913         executable.
28914         (execute_early_warn_uninitialized): Use VN to compute
28915         executable edges.
28916         (pass_data_early_warn_uninitialized): Enable a dump file,
28917         change dump name to warn_uninit.
28919 2022-02-10  Richard Biener  <rguenther@suse.de>
28921         PR middle-end/104467
28922         * match.pd (vector extract simplification): Multiply the
28923         number of CTOR elements with the number of element elements.
28925 2022-02-10  Richard Biener  <rguenther@suse.de>
28927         PR tree-optimization/104466
28928         * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
28929         for the MR_DEPENDENCE checks as intended.
28931 2022-02-10  Tom de Vries  <tdevries@suse.de>
28933         * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
28934         define_insn.
28935         (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
28936         TARGET_SM70.
28937         (define_c_enum "unspecv"): Add UNSPECV_ST.
28939 2022-02-10  Tom de Vries  <tdevries@suse.de>
28941         * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
28942         * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
28943         (nvptx_mem_maybe_shared_p): New function.
28944         * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
28945         define_expand.
28947 2022-02-10  Tom de Vries  <tdevries@suse.de>
28949         PR target/97005
28950         * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
28951         driver JIT bug by using sub.s16 instead of sub.u16.
28953 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28955         * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
28956         floating point constants as operands 1 and/or 2.
28958 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28960         PR target/104345
28961         * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
28962         (sel_false<mode>): Likewise.
28963         (define_code_iterator eqne): New code iterator for EQ and NE.
28964         (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
28965         the negation of a selp instruction.
28966         (*selp<mode>_not_<code>): New define_insn_and_split to optimize
28967         the bitwise not of a selp instruction.
28968         (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
28970 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28972         * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
28973         in machine description.
28974         (logic): Move code attribute earlier in machine description.
28975         (ilogic): New code attribute, like logic but "ior" for IOR.
28976         (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
28977         (<ilogic><mode>3): New define_insn for HSDIM logic operations.
28978         (<ilogic>bi3): New define_insn for BI mode logic operations.
28979         (define_split): Lower logic operations from integer modes to
28980         BI mode predicate operations.
28982 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
28984         * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
28985         (one_cmplbi2): New define_insn for not.pred.
28986         (mulditi3): New define_expand for signed widening multiply.
28987         (umulditi3): New define_expand for unsigned widening multiply.
28988         (smul<mode>3_highpart): New define_insn for signed highpart mult.
28989         (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
28990         (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
28991         (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
28992         (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
28993         (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
28994         (*setcc<mode>_from_not_bi): New define_insn.
28995         (*setcc_isinf<mode>): New define_insn for testp.infinite.
28996         (isinf<mode>2): New define_expand.
28998 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
29000         * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
29001         (setcc<mode>_from_bi): Additionally support QImode.
29002         (extendbi<mode>2): Additionally support QImode.
29003         (zero_extendbi<mode>2): Additionally support QImode.
29004         (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
29005         iterators for signed and unsigned, binary and unary operations.
29006         (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
29007         expanders to perform QImode operations using SImode instructions.
29008         (cstoreqi4): New define_expand.
29009         (*ext_truncsi2_qi): New define_insn.
29010         (*zext_truncsi2_qi): New define_insn.
29012 2022-02-10  Roger Sayle  <roger@nextmovesoftware.com>
29014         * config/nvptx/nvptx.md (*cmpf): New define_insn.
29015         (cstorehf4): New define_expand.
29016         (fmahf4): New define_insn.
29017         (neghf2): New define_insn.
29018         (abshf2): New define_insn.
29020 2022-02-10  Gerald Pfeifer  <gerald@pfeifer.com>
29022         * doc/install.texi (Specific): Change the www.bitwizard.nl
29023         reference to use https.
29025 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
29027         * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
29028         OMP_CLAUSE_HAS_DEVICE_ADDR
29029         and handle array sections.
29030         (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
29031         * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
29032         (lower_omp_target): Same.
29033         * tree-core.h (enum omp_clause_code): Same.
29034         * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
29035         (convert_local_omp_clauses): Same.
29036         * tree-pretty-print.cc (dump_omp_clause): Same.
29037         * tree.cc: Same.
29039 2022-02-10  Eugene Rozenfeld  <erozen@microsoft.com>
29041         * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
29042         that will result in direct recursive calls.
29044 2022-02-10  Andrew Pinski  <apinski@marvell.com>
29046         PR target/104474
29047         * config/aarch64/aarch64.cc
29048         (aarch64_sve_expand_vector_init_handle_trailing_constants):
29049         Use CONST0_RTX instead of const0_rtx for the non-constant elements.
29051 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
29053         PR target/104462
29054         * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
29055         Also include OPTION_MASK_ISA2_AVX2_UNSET.
29057 2022-02-09  Uroš Bizjak  <ubizjak@gmail.com>
29059         PR target/104458
29060         * config/i386/i386-expand.cc (ix86_split_idivmod):
29061         Force operands[2] and operands[3] into a register..
29063 2022-02-09  Jeff Law  <jeffreyalaw@gmail.com>
29065         PR target/97040
29066         * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
29067         (*v850_fnmssf4): Renamed from fnmssf4
29069 2022-02-09  Ian Lance Taylor  <iant@golang.org>
29071         * godump.cc (go_force_record_alignment): Really name the alignment
29072         field "_" (complete 2021-12-29 change).
29074 2022-02-09  Bill Schmidt  <wschmidt@linux.ibm.com>
29076         * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
29077         function prototype.
29078         (VREPLACE_UN_UV4SI): Likewise.
29079         (VREPLACE_UN_V2DF): Likewise.
29080         (VREPLACE_UN_V2DI): Likewise.
29081         (VREPLACE_UN_V4SF): Likewise.
29082         (VREPLACE_UN_V4SI): Likewise.
29083         * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
29084         function prototypes.
29085         * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
29086         (vreplace_un_<mode>): New define_insn.
29088 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
29090         * config/aarch64/iterators.md (VDCSIF): New mode iterator.
29091         (VDBL): Handle SF.
29092         (single_wx, single_type, single_dtype, dblq): New mode attributes.
29093         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
29094         from VDC to VDCSIF.
29095         (store_pair_lanes<mode>): Likewise.
29096         (*aarch64_combine_internal<mode>): Likewise.
29097         (*aarch64_combine_internal_be<mode>): Likewise.
29098         (*aarch64_combinez<mode>): Likewise.
29099         (*aarch64_combinez_be<mode>): Likewise.
29100         * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
29101         8-byte modes for ADDR_QUERY_LDP_STP_N.
29102         (aarch64_print_operand): Likewise for %y.
29104 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
29106         * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
29107         Use aarch64_combine instead of move_lo/hi_quad.  Tabify.
29108         (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
29109         (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
29110         (vec_pack_trunc_<mode>): Take general_operand elements and use
29111         aarch64_combine rather than move_lo/hi_quad to combine them.
29112         (vec_pack_trunc_df): Likewise.
29114 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
29116         * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
29117         Delete.
29118         * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
29119         to...
29120         (*aarch64_combinez<mode>): ...this.
29121         (@aarch64_combinez_be<mode>): Rename to...
29122         (*aarch64_combinez_be<mode>): ...this.
29123         (@aarch64_vec_concat<mode>): New expander.
29124         (aarch64_combine<mode>): Use it.
29125         (@aarch64_simd_combine<mode>): Delete.
29126         * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
29127         (aarch64_expand_vector_init): Use aarch64_vec_concat.
29129 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
29131         * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
29132         New predicate.
29133         * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
29134         (*aarch64_combine_internal_be<mode>): New patterns.
29136 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
29138         * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
29139         (move_lo_quad_internal_be_<mode>): Delete.
29140         (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
29142 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
29144         * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
29145         Declare.
29146         * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
29147         aarch64_mergeable_load_pair_p instead of inline check.
29148         * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
29149         (aarch64_check_consecutive_mems): Allow the reversed parameter
29150         to be null.
29151         (aarch64_mergeable_load_pair_p): New function.
29153 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
29155         * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
29156         element to be an aarch64_simd_nonimmediate_operand.
29158 2022-02-09  Richard Sandiford  <richard.sandiford@arm.com>
29160         * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
29161         aarch64_simd_nonimmediate_operand instead of
29162         aarch64_simd_general_operand.
29163         (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
29164         general_operand.
29165         (@aarch64_combinez_be<mode>): Likewise.
29167 2022-02-09  Richard Biener  <rguenther@suse.de>
29169         PR middle-end/104464
29170         * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
29171         throwing check to after unproblematic replacement.
29173 2022-02-09  Roger Sayle  <roger@nextmovesoftware.com>
29175         PR tree-optimization/104420
29176         * match.pd (mult @0 real_zerop): Tweak conditions for constant
29177         folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
29179 2022-02-09  Jakub Jelinek  <jakub@redhat.com>
29181         PR debug/104407
29182         * dwarf2out.cc (mangle_referenced_decls): New function.
29183         (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
29184         early_dwarf.  Instead walk the initializer and try to mangle vars or
29185         functions referenced from it.
29187 2022-02-09  Andrew MacLeod  <amacleod@redhat.com>
29189         PR tree-optimization/104288
29190         * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
29191         (non_null_ref::adjust_range): Move to header.
29192         (ranger_cache::range_of_def): Don't check non-null.
29193         (ranger_cache::entry_range): Don't check non-null.
29194         (ranger_cache::range_on_edge): Check for nonnull on normal edges.
29195         (ranger_cache::update_to_nonnull): New.
29196         (non_null_loadstore): New.
29197         (ranger_cache::block_apply_nonnull): New.
29198         * gimple-range-cache.h (class non_null_ref): Update prototypes.
29199         (non_null_ref::adjust_range): Move to here and inline.
29200         (class ranger_cache): Update prototypes.
29201         * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
29202         not search dominators.
29203         (path_range_query::adjust_for_non_null_uses): Ditto.
29204         * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
29205         def overrides.  Do not check nonnull.
29206         (gimple_ranger::range_on_entry): Check dominators for nonnull.
29207         (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
29208         (gimple_ranger::register_side_effects): New.
29209         * gimple-range.h (gimple_ranger::register_side_effects): New.
29210         * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
29212 2022-02-09  Richard Biener  <rguenther@suse.de>
29214         PR tree-optimization/104445
29215         PR tree-optimization/102832
29216         * optabs-query.h (can_vec_extract): New.
29217         * optabs-query.cc (can_vec_extract): Likewise.
29218         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
29219         we can extract a hi/lo part from the larger vector, rework
29220         check iteration from larger to smaller sizes.
29222 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
29224         PR target/35513
29225         PR target/100593
29226         * config/i386/gnu-property.cc: Include "i386-protos.h".
29227         (file_end_indicate_exec_stack_and_gnu_property): Generate
29228         a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
29229         nodirect_extern_access attribute.
29230         * config/i386/i386-options.cc
29231         (handle_nodirect_extern_access_attribute): New function.
29232         (ix86_attribute_table): Add nodirect_extern_access attribute.
29233         * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
29234         bool argument.
29235         (ix86_has_no_direct_extern_access): New.
29236         * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
29237         (ix86_force_load_from_GOT_p): Add a bool argument to indicate
29238         call operand.  Force non-call load from GOT for
29239         -mno-direct-extern-access or nodirect_extern_access attribute.
29240         (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
29241         for -mno-direct-extern-access or nodirect_extern_access attribute.
29242         (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
29243         for call operand.
29244         (asm_preferred_eh_data_format): Use PC-relative format for
29245         -mno-direct-extern-access to avoid copy relocation.  Check
29246         ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
29247         (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
29248         true for -mno-direct-extern-access or nodirect_extern_access
29249         attribute.  Don't treat protected data as extern and avoid copy
29250         relocation on common symbol with -mno-direct-extern-access or
29251         nodirect_extern_access attribute.
29252         (ix86_reloc_rw_mask): New to avoid copy relocation for
29253         -mno-direct-extern-access.
29254         (TARGET_ASM_RELOC_RW_MASK): New.
29255         * config/i386/i386.opt: Add -mdirect-extern-access.
29256         * doc/extend.texi: Document nodirect_extern_access attribute.
29257         * doc/invoke.texi: Document -m[no-]direct-extern-access.
29259 2022-02-09  H.J. Lu  <hjl.tools@gmail.com>
29261         PR target/104441
29262         * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
29263         (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
29264         Call ix86_avx_u128_mode_source to check mode for each component
29265         of source operand.
29267 2022-02-09  liuhongt  <hongtao.liu@intel.com>
29269         PR target/104451
29270         * config/i386/sse.md (<insn><mode>3): lowpart_subreg
29271         operands[2] from SImode to QImode.
29273 2022-02-09  Richard Biener  <rguenther@suse.de>
29275         PR middle-end/104450
29276         * gimple-isel.cc: Pass cfun around.
29277         (+gimple_expand_vec_cond_expr): Do not combine a throwing
29278         comparison with the select.
29280 2022-02-09  Richard Biener  <rguenther@suse.de>
29282         PR target/104453
29283         * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
29284         folding for NULL LHS.
29286 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
29288         PR rtl-optimization/104198
29289         PR rtl-optimization/104153
29290         * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
29291         using it directly.  Rework comparison handling and always
29292         perform a second pass.
29294 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
29296         PR target/102140
29297         * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
29298         split1 pass has finished already.
29300 2022-02-08  Bill Schmidt  <wschmidt@linux.ibm.com>
29302         * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
29303         * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
29304         * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
29305         (vmsumcud): New define_insn.
29307 2022-02-08  Tom de Vries  <tdevries@suse.de>
29309         * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
29310         * config/nvptx/nvptx.h (TARGET_SM70): Define.
29312 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
29314         * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
29315         on condition.
29316         * config/s390/s390.md: Use paradoxical subreg.
29318 2022-02-08  Robin Dapp  <rdapp@linux.ibm.com>
29320         * combine.cc (reg_subword_p): Check for paradoxical subreg.
29322 2022-02-08  Tom de Vries  <tdevries@suse.de>
29324         PR target/104283
29325         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
29326         and PTX_VERSION_4_2.
29327         * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
29328         (default_ptx_version_option, ptx_version_to_string)
29329         (sm_version_to_string, handle_ptx_version_option): New function.
29330         (nvptx_option_override): Call handle_ptx_version_option.
29331         (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
29332         * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
29333         (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
29334         * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
29336 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
29338         * doc/install.texi (Configuration): Document `--with-isa-spec='
29339         RISC-V option.
29340         * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
29341         option.
29342         (RISC-V Options): Document it.
29344 2022-02-08  Maciej W. Rozycki  <macro@embecosm.com>
29346         * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
29348 2022-02-08  Tom de Vries  <tdevries@suse.de>
29350         * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
29352 2022-02-08  Tom de Vries  <tdevries@suse.de>
29354         PR target/104364
29355         * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
29356         * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
29357         change is validated.
29358         (nvptx_mem_local_p): New function.
29359         * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
29360         (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
29361         (define_insn "atomic_compare_and_swap<mode>_1_local"): New
29362         non-atomic, non-predicable define_insn, factored out of ...
29363         (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
29364         Make predicable again.
29365         (define_expand "atomic_compare_and_swap<mode>"): Use
29366         atomic_compare_and_swap<mode>_1_local.
29368 2022-02-08  liuhongt  <hongtao.liu@intel.com>
29370         PR rtl-optimization/104059
29371         * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
29372         for a more expensive reg-reg move.
29374 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
29376         * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
29377         vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
29378         * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
29379         (usdot_laneq, sudot_laneq): New.
29380         * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
29381         (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
29383 2022-02-07  Tamar Christina  <tamar.christina@arm.com>
29385         * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
29386         vdot_laneq_s32, vdotq_laneq_s32): New.
29387         * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
29388         * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
29389         (<sup>dot_prod<vsi2qi>): Re-order rtl.
29390         (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
29391         (neon_<sup>dot_laneq<vsi2qi>): New.
29393 2022-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
29395         PR target/104327
29396         * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
29397         if always_inline is set. Don't inline when tune differs without
29398         always_inline.
29400 2022-02-07  Richard Biener  <rguenther@suse.de>
29402         PR middle-end/104402
29403         * gimple-expr.cc (is_gimple_condexpr): _Complex typed
29404         compares are not valid.
29405         * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
29406         check is_gimple_condexpr.
29408 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
29410         PR target/103627
29411         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
29412         hunk affecting VSX and ALTIVEC to appropriate place.
29414 2022-02-07  Kewen Lin  <linkw@linux.ibm.com>
29416         PR target/103627
29417         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
29418         MMA if !TARGET_VSX.
29420 2022-02-06  Jakub Jelinek  <jakub@redhat.com>
29422         PR c++/89074
29423         PR c++/104033
29424         * fold-const.h (folding_initializer): Adjust comment.
29425         (folding_cxx_constexpr): Declare.
29426         * fold-const.cc (folding_initializer): Adjust comment.
29427         (folding_cxx_constexpr): New variable.
29428         (address_compare): Restrict the decl vs. STRING_CST
29429         or vice versa or STRING_CST vs. STRING_CST or
29430         is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
29431         Punt for FUNCTION_DECLs with non-zero offsets.  If folding_initializer,
29432         assume non-aliased functions have non-zero size and have different
29433         addresses.  For folding_cxx_constexpr, punt on comparisons of start
29434         of some object and end of another one, regardless whether it is a decl
29435         or string literal.  Also punt for folding_cxx_constexpr on
29436         STRING_CST vs. STRING_CST comparisons if the two literals could be
29437         overlapping.
29439 2022-02-05  Jakub Jelinek  <jakub@redhat.com>
29441         PR tree-optimization/104389
29442         * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
29443         honored.
29445 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
29447         * configure.ac: Fix detection for zifencei support.
29448         * configure: Regenerate.
29450 2022-02-05  Kito Cheng  <kito.cheng@sifive.com>
29452         PR target/104219
29453         * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
29454         (all_defaults): Add isa_spec.
29455         * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
29457 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
29459         * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
29460         parameters instead of arglist and nargs.  Simplify accordingly.  Remove
29461         unnecessary test for argument count mismatch.
29462         (resolve_vec_cmpne): Likewise.
29463         (resolve_vec_adde_sube): Likewise.
29464         (resolve_vec_addec_subec): Likewise.
29465         (altivec_resolve_overloaded_builtin): Move overload special handling
29466         after the gathering of arguments into args[] and types[] and the test
29467         for correct number of arguments.  Don't perform the test for correct
29468         number of arguments for certain special cases.  Call the other special
29469         cases with args and types instead of arglist and nargs.
29471 2022-02-04  Bill Schmidt  <wschmidt@linux.ibm.com>
29473         PR target/100808
29474         * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
29475         3.1): Provide consistent type names.  Remove unnecessary semicolons.
29476         Fix bad line breaks.
29478 2022-02-04  Jakub Jelinek  <jakub@redhat.com>
29480         PR target/104380
29481         * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
29482         adjust mangling of __builtin*printf_chk.
29484 2022-02-04  Jonathan Wakely  <jwakely@redhat.com>
29486         * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
29488 2022-02-04  Richard Biener  <rguenther@suse.de>
29489             Bin Cheng   <bin.cheng@linux.alibaba.com>
29491         PR tree-optimization/100499
29492         * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
29493         to true.
29494         * fold-const.cc (multiple_of_p): Likewise.  Honor it for
29495         MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
29496         switching to false for conversions.
29497         * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
29498         claim the outermost expression does not wrap when calling
29499         multiple_of_p.  Refactor the check done to check the
29500         original IV, avoiding a bias that might wrap.
29502 2022-02-04  Richard Biener  <rguenther@suse.de>
29504         * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
29505         handling.
29507 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
29509         PR debug/104366
29510         * dwarf2out.cc (dwarf2out_finish): Empty base_types.
29511         (dwarf2out_early_finish): Likewise.
29513 2022-02-04  Eric Botcazou  <ebotcazou@adacore.com>
29515         PR tree-optimization/104356
29516         * match.pd (X / bool_range_Y is X): Add guard.
29517         (X / X is one): Likewise.
29518         (X / abs (X) is X < 0 ? -1 : 1): Likewise.
29519         (X / -X is -1): Likewise.
29520         (1 / X -> X == 1): Likewise.
29522 2022-02-04  Richard Biener  <rguenther@suse.de>
29524         PR tree-optimization/103641
29525         * tree-vect-patterns.cc (vect_synth_mult_by_constant):
29526         Pass the vector mode to choose_mult_variant.
29528 2022-02-04  Roger Sayle  <roger@nextmovesoftware.com>
29530         PR rtl-optimization/101885
29531         * combine.cc (try_combine): When splitting a parallel into two
29532         sequential sets, check not only that the first doesn't clobber
29533         the second but also that the second doesn't clobber the first.
29535 2022-02-04  Richard Biener  <rguenther@suse.de>
29537         PR middle-end/90348
29538         PR middle-end/104092
29539         * tree-core.h (clobber_kind): New enum.
29540         (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
29541         * tree.h (CLOBBER_KIND): Add.
29542         (build_clobber): Add clobber kind argument, defaulted to
29543         CLOBBER_UNDEF.
29544         * tree.cc (build_clobber): Likewise.
29545         * gimple.h (gimple_clobber_p): New overload with specified kind.
29546         * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
29547         CLOBBER_KIND.
29548         * tree-streamer-out.cc (streamer_write_tree_bitfields):
29549         Likewise.
29550         * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
29551         * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
29552         with CLOBBER_EOL.
29553         (gimplify_target_expr): Likewise.
29554         * tree-inline.cc (expand_call_inline): Likewise.
29555         * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
29556         * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
29557         CLOBBER_EOL clobbers as ending lifetime of storage.
29559 2022-02-04  Martin Sebor  <msebor@redhat.com>
29561         * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
29562         cleanup.
29564 2022-02-03  Martin Sebor  <msebor@redhat.com>
29566         PR middle-end/104260
29567         * passes.def (pass_warn_access): Adjust pass placement.
29569 2022-02-03  Uroš Bizjak  <ubizjak@gmail.com>
29571         PR target/104362
29572         * config/i386/i386.cc (find_drap_reg): For 32bit targets
29573         return DI_REG if function uses __builtin_eh_return.
29575 2022-02-03  Martin Sebor  <msebor@redhat.com>
29577         * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
29578         (pass_wrestrict::m_ptr_qry): New member.
29579         (wrestrict_walk): Rename...
29580         (pass_wrestrict::check_block): ...to this.
29581         (pass_wrestrict::execute): Set up and tear down pointer_query and
29582         ranger.
29583         (builtin_memref::builtin_memref): Change ctor argument.  Simplify.
29584         (builtin_access::builtin_access): Same.
29585         (builtin_access::m_ptr_qry): New member.
29586         (check_call): Rename...
29587         (pass_wrestrict::check_call): ...to this.
29588         (check_bounds_or_overlap): Change argument.
29589         * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
29591 2022-02-03  Martin Sebor  <msebor@redhat.com>
29593         * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
29594         Define ctor.
29595         (array_bounds_checker::get_value_range): Use new member.
29596         (array_bounds_checker::check_mem_ref): Same.
29597         * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
29598         Outline ctor.
29599         (array_bounds_checker::m_ptr_query): New member.
29601 2022-02-03  Martin Sebor  <msebor@redhat.com>
29603         * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
29604         pointer_query cache.
29605         * pointer-query.cc (pointer_query::pointer_query): Remove cache
29606         argument.  Zero-initialize new cache member.
29607         (pointer_query::get_ref): Replace cache pointer with direct access.
29608         (pointer_query::put_ref): Same.
29609         (pointer_query::flush_cache): Same.
29610         (pointer_query::dump): Same.
29611         * pointer-query.h (class pointer_query): Remove cache argument from
29612         ctor.  Change cache pointer to cache subobject member.
29613         * tree-ssa-strlen.cc: Remove pointer_query cache.
29615 2022-02-03  Martin Sebor  <msebor@redhat.com>
29617         PR tree-optimization/104119
29618         * gimple-ssa-sprintf.cc (struct directive): Change argument type.
29619         (format_none): Same.
29620         (format_percent): Same.
29621         (format_integer): Same.
29622         (format_floating): Same.
29623         (get_string_length): Same.
29624         (format_character): Same.
29625         (format_string): Same.
29626         (format_plain): Same.
29627         (format_directive): Same.
29628         (compute_format_length): Same.
29629         (handle_printf_call): Same.
29630         * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same.   Call
29631         get_maxbound.
29632         (get_range_strlen_phi): Same.
29633         (get_maxbound): New function.
29634         (strlen_pass::get_len_or_size): Adjust to parameter change.
29635         * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
29637 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
29639         PR target/103686
29640         * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
29641         test for !rs6000_fold_gimple.
29642         * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
29643         * config/rs6000/rs6000.opt (mfold-gimple): Remove.
29645 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
29647         PR target/95082
29648         * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
29649         endianness for vclzlsbb and vctzlsbb.
29650         * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
29651         default pattern and indicate a different pattern will be used for
29652         big endian.
29653         (VCLZLSBB_V4SI): Likewise.
29654         (VCLZLSBB_V8HI): Likewise.
29655         (VCTZLSBB_V16QI): Likewise.
29656         (VCTZLSBB_V4SI): Likewise.
29657         (VCTZLSBB_V8HI): Likewise.
29659 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
29661         * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
29662         * config/rs6000/rs6000-builtin.cc: New file, containing code moved
29663         from other files.
29664         * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
29665         rs6000-builtin.cc.
29666         (cpu_supports_info): Likewise.
29667         (rs6000_type_string): Likewise.
29668         (altivec_expand_predicate_builtin): Likewise.
29669         (rs6000_htm_spr_icode): Likewise.
29670         (altivec_expand_vec_init_builtin): Likewise.
29671         (get_element_number): Likewise.
29672         (altivec_expand_vec_set_builtin): Likewise.
29673         (altivec_expand_vec_ext_builtin): Likewise.
29674         (rs6000_invalid_builtin): Likewise.
29675         (rs6000_fold_builtin): Likewise.
29676         (fold_build_vec_cmp): Likewise.
29677         (fold_compare_helper): Likewise.
29678         (map_to_integral_tree_type): Likewise.
29679         (fold_mergehl_helper): Likewise.
29680         (fold_mergeeo_helper): Likewise.
29681         (rs6000_builtin_valid_without_lhs): Likewise.
29682         (rs6000_builtin_is_supported): Likewise.
29683         (rs6000_gimple_fold_mma_builtin): Likewise.
29684         (rs6000_gimple_fold_builtin): Likewise.
29685         (rs6000_expand_ldst_mask): Likewise.
29686         (cpu_expand_builtin): Likewise.
29687         (elemrev_icode): Likewise.
29688         (ldv_expand_builtin): Likewise.
29689         (lxvrse_expand_builtin): Likewise.
29690         (lxvrze_expand_builtin): Likewise.
29691         (stv_expand_builtin): Likewise.
29692         (mma_expand_builtin): Likewise.
29693         (htm_spr_num): Likewise.
29694         (htm_expand_builtin): Likewise.
29695         (rs6000_expand_builtin): Likewise.
29696         (rs6000_vector_type): Likewise.
29697         (rs6000_init_builtins): Likewise.  Remove initialization of
29698         builtin_mode_to_type entries.
29699         (rs6000_builtin_decl): Move to rs6000-builtin.cc.
29700         * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
29701         external declaration.
29702         (rs6000_builtin_md_vectorized_function): Likewise.
29703         (rs6000_builtin_reciprocal): Likewise.
29704         (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
29705         (rs6000_builtin_types): Likewise.
29706         (builtin_mode_to_type): Remove.
29707         (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc.  Remove
29708         static qualifier.
29709         (rs6000_builtin_md_vectorized_function): Likewise.
29710         (rs6000_builtin_reciprocal): Likewise.
29711         * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
29712         * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
29714 2022-02-03  Richard Biener  <rguenther@suse.de>
29716         PR debug/104337
29717         * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
29718         together via DECL_ABSTRACT_ORIGIN.
29720 2022-02-03  Bill Schmidt  <wschmidt@linux.ibm.com>
29722         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
29723         message for RES_BITS case.
29725 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
29727         * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
29729 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
29731         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
29732         mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
29734 2022-02-03  Aldy Hernandez  <aldyh@redhat.com>
29736         * cfganal.cc (verify_marked_backedges): New.
29737         * cfganal.h (verify_marked_backedges): New.
29738         * gimple-range-path.cc (path_range_query::path_range_query):
29739         Verify freshness of back edges.
29740         * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
29741         mark_dfs_back_edges.
29742         * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
29743         path_range_query construction after backedges have been
29744         updated.
29746 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
29748         * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
29749         VALL to VALL_F16.
29751 2022-02-03  Richard Sandiford  <richard.sandiford@arm.com>
29753         * config/aarch64/iterators.md (VALL_F16MOV): Delete.
29754         * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
29755         of VALL_F16MOV.
29757 2022-02-03  Martin Liska  <mliska@suse.cz>
29759         * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
29760         Change subject and object in the error message.
29761         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
29762         Likewise.
29764 2022-02-03  Martin Liska  <mliska@suse.cz>
29766         * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
29767         Use the error message for i386 target.
29769 2022-02-03  Jakub Jelinek  <jakub@redhat.com>
29771         PR tree-optimization/104334
29772         * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
29773         and rh_range type to widest_int and subtract in widest_int.  Remove
29774         ov_rh, ov_lh and sign vars, always perform comparisons as signed
29775         and use >, < and == operators for it.
29777 2022-02-03  Martin Sebor  <msebor@redhat.com>
29779         * common.opt (-Wuse-after-free): Correct typos.
29781 2022-02-02  David Malcolm  <dmalcolm@redhat.com>
29783         PR analyzer/104270
29784         * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
29785         -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
29786         -ftrivial-auto-var-init= doesn't suppress warnings.
29788 2022-02-02  Martin Liska  <mliska@suse.cz>
29790         * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
29792 2022-02-02  Bernd Kuhls  <bernd.kuhls@t-online.de>
29794         PR target/94372
29795         * config/or1k/linux.h (CPP_SPEC): Define.
29797 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
29799         PR tree-optimization/102819
29800         PR tree-optimization/103169
29801         * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
29802         canonical order.
29804 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
29806         PR tree-optimization/102819
29807         PR tree-optimization/103169
29808         * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
29809         canonical order.
29810         * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
29812 2022-02-02  Tamar Christina  <tamar.christina@arm.com>
29814         PR tree-optimization/102819
29815         PR tree-optimization/103169
29816         * doc/md.texi: Update docs for cfms, cfma.
29817         * tree-data-ref.h (same_data_refs): Accept optional offset.
29818         * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
29819         patterns.
29820         (vect_normalize_conj_loc): Remove.
29821         (is_eq_or_top): Change to take two nodes.
29822         (enum _conj_status, compatible_complex_nodes_p,
29823         vect_validate_multiplication): New.
29824         (class complex_add_pattern, complex_add_pattern::matches,
29825         complex_add_pattern::recognize, class complex_mul_pattern,
29826         complex_mul_pattern::recognize, class complex_fms_pattern,
29827         complex_fms_pattern::recognize, class complex_operations_pattern,
29828         complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
29829         new cache.
29830         (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
29831         cache and use new validation code.
29832         * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
29833         vect_analyze_slp): Pass along cache.
29834         (compatible_calls_p): Expose.
29835         * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
29836         slp_compat_nodes_map_t): New.
29837         (class vect_pattern): Update signatures include new cache.
29839 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29841         * config/cris/cris.cc (cris_preferred_reload_class): Reject
29842         "eliminated" registers and small-enough constants unless
29843         reloaded into a class that is a subset of GENERAL_REGS.
29844         * config/cris/cris.md (attribute "cpu_variant"): New.
29845         (attribute "enabled"): Conditionalize on a matching attribute
29846         cpu_variant, if specified.
29847         ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
29848         memory, add cpu-variant-enabled variants for "r" alternatives on
29849         the far side of the "x" alternatives, preferring the "x" ones
29850         only for variants where MOF is present (in addition to SRP).
29852 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29854         * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
29855         extra cost for ALL_REGS.
29857 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29859         * config/cris/constraints.md (define_register_constraint "b"): Now
29860         GENERAL_REGS.
29861         * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
29862         * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
29863         (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
29864         and SPEC_GENNONACR_REGS.
29865         * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
29866         ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
29868 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29870         * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
29871         Conditionalize on (sub-)register operands or operand 1 being 0.
29873 2022-02-02  Hans-Peter Nilsson  <hp@axis.com>
29875         * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
29876         (MUL_BUG_ASM_DEFAULT): New macro.
29877         (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
29878         * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
29879         accordingly.
29881 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
29883         * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
29884         to 10 for AutoFDO.
29886 2022-02-01  Eugene Rozenfeld  <erozen@microsoft.com>
29888         * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
29890 2022-02-01  Andrew Pinski  <apinski@marvell.com>
29892         * doc/install.texi:
29894 2022-02-01  Ilya Leoshkevich  <iii@linux.ibm.com>
29896         * config/s390/s390.cc (s390_code_end): Do not switch back to
29897         code section.
29899 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
29901         PR target/104323
29902         * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
29903         rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
29904         * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
29905         GTY((user)) for struct bifdata and struct ovlddata.  Instead add
29906         GTY((skip(""))) to members with pointer and enum types that don't need
29907         to be tracked.  Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
29908         declarations.  Don't emit gt_ggc_mx and gt_pch_nx declarations.
29909         (write_extern_fntype, write_fntype): Remove.
29910         (write_fntype_init): Emit the fntype vars as automatic vars instead
29911         of file scope ones.
29912         (write_header_file): Don't iterate with write_extern_fntype.
29913         (write_init_file): Don't iterate with write_fntype.  Don't emit
29914         gt_ggc_mx and gt_pch_nx definitions.
29916 2022-02-01  Jason Merrill  <jason@redhat.com>
29918         * tree.h (struct tree_vec_map_cache_hasher): Move from...
29919         * tree.cc (struct tree_vec_map_cache_hasher): ...here.
29921 2022-02-01  Tom de Vries  <tdevries@suse.de>
29923         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
29924         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29925         UNSPECV_UNIFORM_WARP_CHECK.
29926         (define_insn "nvptx_uniform_warp_check"): New define_insn.
29928 2022-02-01  Tom de Vries  <tdevries@suse.de>
29930         * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
29931         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29932         UNSPECV_WARPSYNC.
29933         (define_insn "nvptx_warpsync"): New define_insn.
29935 2022-02-01  Tom de Vries  <tdevries@suse.de>
29937         * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
29939 2022-02-01  Tom de Vries  <tdevries@suse.de>
29941         * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
29942         * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
29943         * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
29944         insn for TARGET_PTX_6_0.
29946 2022-02-01  Tom de Vries  <tdevries@suse.de>
29948         PR target/100428
29949         * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
29950         insn.
29952 2022-02-01  Tom de Vries  <tdevries@suse.de>
29954         * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
29955         (define_insn "atomic_exchange<mode>")
29956         (define_insn "atomic_fetch_add<mode>")
29957         (define_insn "atomic_fetch_addsf")
29958         (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
29959         if memory operands is frame-relative.
29961 2022-02-01  Tom de Vries  <tdevries@suse.de>
29963         * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
29964         NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
29965         (VOID): New macro.
29966         (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
29967         (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
29968         NVPTX_BUILTIN_MEMBAR_CTA.
29969         (nvptx_lockfull_update): Add level parameter.  Emit barriers.
29970         (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
29971         nvptx_lockfull_update.
29972         * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
29973         UNSPECV_MEMBAR_GL.
29974         (define_expand "nvptx_membar_gl"): New expand.
29975         (define_insn "*nvptx_membar_gl"): New insn.
29977 2022-02-01  Martin Liska  <mliska@suse.cz>
29979         * doc/install.texi: Remove option for GCC < 4.8.
29981 2022-02-01  Jakub Jelinek  <jakub@redhat.com>
29983         PR middle-end/104307
29984         * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
29985         stmts to uses vector, just set vec_cond_expr_only to false for
29986         non-VEC_COND_EXPRs instead of pushing them into uses.  Treat
29987         VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
29988         like non-VEC_COND_EXPRs.
29990 2022-02-01  Bill Schmidt  <wschmidt@linux.ibm.com>
29992         * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
29993         (VEC_BLENDV): Likewise.
29994         (VEC_BPERM): Likewise.
29995         (VEC_CFUGE): Likewise.
29996         (VEC_CIPHER_BE): Likewise.
29997         (VEC_CIPHERLAST_BE): Likewise.
29998         (VEC_CLRL): Likewise.
29999         (VEC_CLRR): Likewise.
30000         (VEC_CMPNEZ): Likewise.
30001         (VEC_CNTLZ): Likewise.
30002         (VEC_CNTLZM): Likewise.
30003         (VEC_CNTTZM): Likewise.
30004         (VEC_CNTLZ_LSBB): Likewise.
30005         (VEC_CNTM): Likewise.
30006         (VEC_CNTTZ): Likewise.
30007         (VEC_CNTTZ_LSBB): Likewise.
30008         (VEC_CONVERT_4F32_8F16): Likewise.
30009         (VEC_DIV): Likewise.
30010         (VEC_DIVE): Likewise.
30011         (VEC_EQV): Likewise.
30012         (VEC_EXPANDM): Likewise.
30013         (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
30014         (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
30015         (VEC_EXTRACTH): Likewise.
30016         (VEC_EXTRACTL): Likewise.
30017         (VEC_EXTRACTM): Likewise.
30018         (VEC_EXTRACT4B): Likewise.
30019         (VEC_EXTULX): Likewise.
30020         (VEC_EXTURX): Likewise.
30021         (VEC_FIRSTMATCHINDEX): Likewise.
30022         (VEC_FIRSTMACHOREOSINDEX): Likewise.
30023         (VEC_FIRSTMISMATCHINDEX): Likewise.
30024         (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
30025         (VEC_GB): Likewise.
30026         (VEC_GENBM): Likewise.
30027         (VEC_GENHM): Likewise.
30028         (VEC_GENWM): Likewise.
30029         (VEC_GENDM): Likewise.
30030         (VEC_GENQM): Likewise.
30031         (VEC_GENPCVM): Likewise.
30032         (VEC_GNB): Likewise.
30033         (VEC_INSERTH): Likewise.
30034         (VEC_INSERTL): Likewise.
30035         (VEC_INSERT4B): Likewise.
30036         (VEC_LXVL): Likewise.
30037         (VEC_MERGEE): Likewise.
30038         (VEC_MERGEO): Likewise.
30039         (VEC_MOD): Likewise.
30040         (VEC_MSUB): Likewise.
30041         (VEC_MULH): Likewise.
30042         (VEC_NAND): Likewise.
30043         (VEC_NCIPHER_BE): Likewise.
30044         (VEC_NCIPHERLAST_BE): Likewise.
30045         (VEC_NEARBYINT): Likewise.
30046         (VEC_NMADD): Likewise.
30047         (VEC_ORC): Likewise.
30048         (VEC_PDEP): Likewise.
30049         (VEC_PERMX): Likewise.
30050         (VEC_PEXT): Likewise.
30051         (VEC_POPCNT): Likewise.
30052         (VEC_PARITY_LSBB): Likewise.
30053         (VEC_REPLACE_ELT): Likewise.
30054         (VEC_REPLACE_UN): Likewise.
30055         (VEC_REVB): Likewise.
30056         (VEC_RINT): Likewise.
30057         (VEC_RLMI): Likewise.
30058         (VEC_RLNM): Likewise.
30059         (VEC_SBOX_BE): Likewise.
30060         (VEC_SIGNEXTI): Likewise.
30061         (VEC_SIGNEXTLL): Likewise.
30062         (VEC_SIGNEXTQ): Likewise.
30063         (VEC_SLDB): Likewise.
30064         (VEC_SLV): Likewise.
30065         (VEC_SPLATI): Likewise.
30066         (VEC_SPLATID): Likewise.
30067         (VEC_SPLATI_INS): Likewise.
30068         (VEC_SQRT): Likewise.
30069         (VEC_SRDB): Likewise.
30070         (VEC_SRV): Likewise.
30071         (VEC_STRIL): Likewise.
30072         (VEC_STRIL_P): Likewise.
30073         (VEC_STRIR): Likewise.
30074         (VEC_STRIR_P): Likewise.
30075         (VEC_STXVL): Likewise.
30076         (VEC_TERNARYLOGIC): Likewise.
30077         (VEC_TEST_LSBB_ALL_ONES): Likewise.
30078         (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
30079         (VEC_VEE): Likewise.
30080         (VEC_VES): Likewise.
30081         (VEC_VIE): Likewise.
30082         (VEC_VPRTYB): Likewise.
30083         (VEC_VSCEEQ): Likewise.
30084         (VEC_VSCEGT): Likewise.
30085         (VEC_VSCELT): Likewise.
30086         (VEC_VSCEUO): Likewise.
30087         (VEC_VSEE): Likewise.
30088         (VEC_VSES): Likewise.
30089         (VEC_VSIE): Likewise.
30090         (VEC_VSTDC): Likewise.
30091         (VEC_VSTDCN): Likewise.
30092         (VEC_VTDC): Likewise.
30093         (VEC_XL): Likewise.
30094         (VEC_XL_BE): Likewise.
30095         (VEC_XL_LEN_R): Likewise.
30096         (VEC_XL_SEXT): Likewise.
30097         (VEC_XL_ZEXT): Likewise.
30098         (VEC_XST): Likewise.
30099         (VEC_XST_BE): Likewise.
30100         (VEC_XST_LEN_R): Likewise.
30101         (VEC_XST_TRUNC): Likewise.
30102         (VEC_XXPERMDI): Likewise.
30103         (VEC_XXSLDWI): Likewise.
30104         (VEC_TSTSFI_EQ_DD): Likewise.
30105         (VEC_TSTSFI_EQ_TD): Likewise.
30106         (VEC_TSTSFI_GT_DD): Likewise.
30107         (VEC_TSTSFI_GT_TD): Likewise.
30108         (VEC_TSTSFI_LT_DD): Likewise.
30109         (VEC_TSTSFI_LT_TD): Likewise.
30110         (VEC_TSTSFI_OV_DD): Likewise.
30111         (VEC_TSTSFI_OV_TD): Likewise.
30112         (VEC_VADDCUQ): Likewise.
30113         (VEC_VADDECUQ): Likewise.
30114         (VEC_VADDEUQM): Likewise.
30115         (VEC_VADDUDM): Likewise.
30116         (VEC_VADDUQM): Likewise.
30117         (VEC_VBPERMQ): Likewise.
30118         (VEC_VCLZB): Likewise.
30119         (VEC_VCLZD): Likewise.
30120         (VEC_VCLZH): Likewise.
30121         (VEC_VCLZW): Likewise.
30122         (VEC_VCTZB): Likewise.
30123         (VEC_VCTZD): Likewise.
30124         (VEC_VCTZH): Likewise.
30125         (VEC_VCTZW): Likewise.
30126         (VEC_VEEDP): Likewise.
30127         (VEC_VEESP): Likewise.
30128         (VEC_VESDP): Likewise.
30129         (VEC_VESSP): Likewise.
30130         (VEC_VIEDP): Likewise.
30131         (VEC_VIESP): Likewise.
30132         (VEC_VPKSDSS): Likewise.
30133         (VEC_VPKSDUS): Likewise.
30134         (VEC_VPKUDUM): Likewise.
30135         (VEC_VPKUDUS): Likewise.
30136         (VEC_VPOPCNT): Likewise.
30137         (VEC_VPOPCNTB): Likewise.
30138         (VEC_VPOPCNTD): Likewise.
30139         (VEC_VPOPCNTH): Likewise.
30140         (VEC_VPOPCNTW): Likewise.
30141         (VEC_VPRTYBD): Likewise.
30142         (VEC_VPRTYBQ): Likewise.
30143         (VEC_VPRTYBW): Likewise.
30144         (VEC_VRLD): Likewise.
30145         (VEC_VSLD): Likewise.
30146         (VEC_VSRAD): Likewise.
30147         (VEC_VSRD): Likewise.
30148         (VEC_VSTDCDP): Likewise.
30149         (VEC_VSTDCNDP): Likewise.
30150         (VEC_VSTDCNQP): Likewise.
30151         (VEC_VSTDCNSP): Likewise.
30152         (VEC_VSTDCQP): Likewise.
30153         (VEC_VSTDCSP): Likewise.
30154         (VEC_VSUBECUQ): Likewise.
30155         (VEC_VSUBEUQM): Likewise.
30156         (VEC_VSUBUDM): Likewise.
30157         (VEC_VSUBUQM): Likewise.
30158         (VEC_VTDCDP): Likewise.
30159         (VEC_VTDCSP): Likewise.
30160         (VEC_VUPKHSW): Likewise.
30161         (VEC_VUPKLSW): Likewise.
30163 2022-02-01  Andreas Krebbel  <krebbel@linux.ibm.com>
30165         PR rtl-optimization/101260
30166         * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
30167         copy_regno.
30169 2022-02-01  Xi Ruoyao  <xry111@mengyan1223.wang>
30171         PR middle-end/95115
30172         * fold-const.cc (const_binop): Do not fold NaN result from
30173         non-NaN operands.
30175 2022-02-01  Tom de Vries  <tdevries@suse.de>
30177         * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
30178         -ftree-loop-distribute-patterns.
30179         (loop_distribution::execute): Don't call transform_reduction_loop for
30180         -fno-tree-loop-distribute-patterns.
30182 2022-01-31  Andrew Pinski  <apinski@marvell.com>
30184         * fold-const.h (operand_compare::operand_equal_p):
30185         Fix comment about OEP_* flags.
30187 2022-01-31  Jakub Jelinek  <jakub@redhat.com>
30189         PR target/104298
30190         * config/rs6000/aix.h (OPTION_GLIBC): Remove.
30191         * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
30192         * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
30193         if not already defined.
30195 2022-01-31  Martin Sebor  <msebor@redhat.com>
30197         PR middle-end/104232
30198         * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
30199         Handle PHIs.  Add a synonymous overload.
30200         (pass_waccess::check_pointer_uses): Call pointers_related_p.
30202 2022-01-31  Richard Biener  <rguenther@suse.de>
30204         PR tree-optimization/100499
30205         * fold-const.cc (multiple_of_p): Pass the correct type of
30206         the expression to the recursive invocation of multiple_of_p
30207         for conversions and use CASE_CONVERT.
30209 2022-01-31  Eric Botcazou  <ebotcazou@adacore.com>
30211         PR target/104189
30212         * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
30214 2022-01-31  Richard Biener  <rguenther@suse.de>
30216         PR tree-optimization/100499
30217         * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
30218         on poly-ints instead of multiple_of_p.
30219         * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
30220         (non_rewritable_mem_ref_base): Likewise.
30221         (non_rewritable_lvalue_p): Likewise.
30222         (execute_update_addresses_taken): Likewise.
30224 2022-01-29  Jakub Jelinek  <jakub@redhat.com>
30225             Andrew Pinski  <apinski@marvell.com>
30227         PR tree-optimization/104279
30228         PR tree-optimization/104280
30229         PR tree-optimization/104281
30230         * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
30231         boolean_type_node and convert to type.  Formatting fixes.
30233 2022-01-28  Yoshinori Sato  <yo-satoh@sios.com>
30235         * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
30237 2022-01-28  Navid Rahimi  <navidrahimi@microsoft.com>
30239         PR tree-optimization/103514
30240         * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
30241         (a & b) == (a ^ b) -> !(a | b): New optimization.
30243 2022-01-28  Marek Polacek  <polacek@redhat.com>
30245         * doc/invoke.texi: Update -Wbidi-chars documentation.
30247 2022-01-28  Iain Sandoe  <iain@sandoe.co.uk>
30249         * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
30251 2022-01-28  Zhao Wei Liew  <zhaoweiliew@gmail.com>
30253         PR tree-optimization/95424
30254         * match.pd: Simplify 1 / X where X is an integer.
30256 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
30258         PR tree-optimization/104263
30259         * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
30260         cfun->can_throw_non_call_exceptions && cfun->eh test whether
30261         last non-debug stmt in the bb is store_valid_for_store_merging_p
30262         rather than last stmt.
30264 2022-01-28  Martin Liska  <mliska@suse.cz>
30266         * diagnostic.cc (diagnostic_action_after_output): Remove extra
30267         newline.
30269 2022-01-28  Martin Liska  <mliska@suse.cz>
30271         * config/rs6000/host-darwin.cc (segv_crash_handler):
30272         Do not use leading capital letter.
30273         (segv_handler): Likewise.
30274         * ipa-sra.cc (verify_splitting_accesses): Likewise.
30275         * varasm.cc (get_section): Likewise.
30277 2022-01-28  Richard Biener  <rguenther@suse.de>
30279         PR tree-optimization/104267
30280         * tree-vect-stmts.cc (vectorizable_call): Properly use the
30281         per-argument determined vector type for externals and
30282         invariants.
30284 2022-01-28  Richard Biener  <rguenther@suse.de>
30286         PR tree-optimization/104263
30287         * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
30288         Purge edges also when !cfun->has_nonlocal_label
30289         and !cfun->calls_setjmp.
30291 2022-01-28  Maciej W. Rozycki  <macro@embecosm.com>
30293         * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
30294         attributes.
30296 2022-01-28  Jakub Jelinek  <jakub@redhat.com>
30298         PR lto/104237
30299         * cfgrtl.cc (loc_equal): New function.
30300         (unique_locus_on_edge_between_p): Use it.
30302 2022-01-28  Richard Biener  <rguenther@suse.de>
30304         * cfganal.h (mark_dfs_back_edges): Provide API with struct
30305         function argument.
30306         * cfganal.cc (mark_dfs_back_edges): Take a struct function
30307         to work on, add a wrapper passing cfun.
30308         * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
30309         uses with fun which is already passed.
30310         (draw_cfg_edges): Likewise.
30311         (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
30312         for fun != cfun.
30314 2022-01-27  Patrick Palka  <ppalka@redhat.com>
30316         PR c++/99895
30317         * tree.cc (build_call_vec): Add const to second parameter.
30318         * tree.h (build_call_vec): Likewise.
30320 2022-01-27  Martin Liska  <mliska@suse.cz>
30322         PR web/104254
30323         * diagnostic.cc (diagnostic_initialize):
30324         Initialize report_bug flag.
30325         (diagnostic_action_after_output):
30326         Explain that -freport-bug option can be used for pre-processed
30327         file creation.  Make the message shorter.
30328         (error_recursion): Rename Internal to internal.
30329         * diagnostic.h (struct diagnostic_context): New field.
30330         * opts.cc (common_handle_option): Init the field here.
30332 2022-01-27  Kewen Lin  <linkw@linux.ibm.com>
30334         PR target/103702
30335         * config/rs6000/rs6000.cc
30336         (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
30337         assertion with early return.
30339 2022-01-27  Chung-Lin Tang  <cltang@codesourcery.com>
30341         PR middle-end/103642
30342         * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
30343         for non-pointer or non-reference-to-pointer cases.
30345 2022-01-27  Jakub Jelinek  <jakub@redhat.com>
30347         PR tree-optimization/104196
30348         * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
30349         * gimple-fold.cc (rewrite_to_defined_overflow): Likewise.  If true,
30350         return NULL and emit needed stmts before and after stmt.
30351         * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
30352         pick as operand_entry that will hold the merged test the one feeding
30353         earliest condition, ensure that by swapping range->idx with some
30354         other range's idx if needed.  If seq is non-NULL, don't actually swap
30355         it but instead rewrite stmts with undefined overflow in between
30356         the two locations.
30357         (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
30358         corresponding condition even if they have non-NULL ops[]->op.
30359         Formatting fix.
30361 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
30363         PR target/104239
30364         * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
30365         asm.
30366         * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
30367         before for loop instead of for init clause.
30368         * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
30370 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
30372         PR target/104239
30373         * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
30374         _X86INTRIN_H_INCLUDED and adjust #error wording.
30375         * config/rs6000/bmi2intrin.h: Likewise.
30377 2022-01-26  Jakub Jelinek  <jakub@redhat.com>
30379         PR debug/104194
30380         * dwarf2out.cc (long_double_as_float128): New function.
30381         (modified_type_die): For powerpc64le IEEE 754 quad long double
30382         and complex long double emit those as DW_TAG_typedef to
30383         _Float128 or complex _Float128 base type.
30385 2022-01-26  Marek Polacek  <polacek@redhat.com>
30387         PR target/104213
30388         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
30389         warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
30391 2022-01-26  Martin Liska  <mliska@suse.cz>
30393         * ipa-modref-tree.cc (modref_access_node::update):
30394         Remove "--param param=foo" with "--param foo".
30395         (modref_access_node::insert): Likewise.
30396         (modref_access_node::insert_kill): Likewise.
30397         * ipa-modref-tree.h (struct modref_ref_node): Likewise.
30398         (struct modref_base_node): Likewise.
30399         (struct modref_tree): Likewise.
30401 2022-01-26  Raoni Fassina Firmino  <raoni@linux.ibm.com>
30403         PR target/94193
30404         * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
30405         predicate check.
30407 2022-01-25  Martin Sebor  <msebor@redhat.com>
30409         PR tree-optimization/104203
30410         * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
30411         TV_WARN_ACCESS.
30412         * pointer-query.cc (access_ref::merge_ref): Change return type.
30413         Convert failure to a conservative success.
30414         (access_ref::get_ref): Adjust to the change above.  Short-circuit
30415         PHI evaluation after first failure turned into conservative success.
30416         * pointer-query.h (access_ref::merge_ref): Change return type.
30417         * timevar.def (TV_WARN_ACCESS): New timer variable.
30419 2022-01-25  David Edelsohn  <dje.gcc@gmail.com>
30421         * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
30423 2022-01-25  Richard Biener  <rguenther@suse.de>
30425         PR tree-optimization/104214
30426         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
30427         stronger guarantees for relational pointer compares when
30428         rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
30429         BASE0 + STEP0 - STEP1 cmp BASE1.
30431 2022-01-25  Jakub Jelinek  <jakub@redhat.com>
30433         PR target/104172
30434         * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
30435         declare.
30436         * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
30437         ieee128_mangling_gcc_8_1): Remove.
30438         (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
30439         (rs6000_mangle_type): Return "u9__ieee128" instead of
30440         ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
30441         (rs6000_globalize_decl_name): Remove.
30442         * config/rs6000/rs6000-call.cc (init_cumulative_args,
30443         rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
30445 2022-01-24  Martin Sebor  <msebor@redhat.com>
30447         * pointer-query.cc (pointer_query::dump): Remove duplicate
30448         block.
30450 2022-01-24  Marek Polacek  <polacek@redhat.com>
30452         PR preprocessor/104030
30453         * doc/invoke.texi: Update documentation for -Wbidi-chars.
30455 2022-01-24  Raoni Fassina Firmino  <raoni@linux.ibm.com>
30457         PR target/94193
30458         * builtins.cc (expand_builtin_fegetround): New function.
30459         (expand_builtin_feclear_feraise_except): New function.
30460         (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
30461         BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
30462         * config/rs6000/rs6000.md (fegetroundsi): New pattern.
30463         (feclearexceptsi): New Pattern.
30464         (feraiseexceptsi): New Pattern.
30465         * doc/extend.texi: Add a new introductory paragraph about the
30466         new builtins.
30467         * doc/md.texi: (fegetround@var{m}): Document new optab.
30468         (feclearexcept@var{m}): Document new optab.
30469         (feraiseexcept@var{m}): Document new optab.
30470         * optabs.def (fegetround_optab): New optab.
30471         (feclearexcept_optab): New optab.
30472         (feraiseexcept_optab): New optab.
30474 2022-01-24  Richard Biener  <rguenther@suse.de>
30475             Jiufu Guo  <guojiufu@linux.ibm.com>
30477         PR tree-optimization/100740
30478         PR tree-optimization/101508
30479         PR tree-optimization/101972
30480         PR tree-optimization/102131
30481         * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
30482         constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
30483         BASE0 + STEP0 - STEP1 cmp BASE1 transform.
30485 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
30487         PR sanitizer/104158
30488         * opt-functions.awk (var_set): Handle EnumBitSet property.
30489         * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
30490         specified.
30491         * opts.h (enum cl_enum_var_value): New type.
30492         * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
30493         Handle CLEV_BITSET.
30494         (cmdline_handle_error): Handle CLEV_BITSET.
30495         * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
30496         * doc/options.texi (EnumBitSet): Document.
30497         * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
30498         EnumSet.
30499         (trace-pc, trace-cmp): Drop Set properties.
30501 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
30503         PR sanitizer/104158
30504         * common.opt (flag_sanitize_coverage): Remove Variable entry.
30505         (fsanitize-coverage=): Remove RejectNegative property, add
30506         Var(flag_sanitize_coverage) and EnumSet properties.
30507         (trace-pc): Add Set(1) property.
30508         (trace-cmp): Add Set(2) property.
30509         * opts.cc (common_handle_option): Don't handle
30510         OPT_fsanitize_coverage_.
30512 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
30514         PR sanitizer/104158
30515         * opt-functions.awk (var_set): Handle EnumSet property.
30516         * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
30517         specified.
30518         * opt-read.awk: Handle Set property.
30519         * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
30520         (struct cl_decoded_option): Mention enum in value description.
30521         Add mask member.
30522         (set_option): Add mask argument defaulted to 0.
30523         * opts.cc (test_enum_sets): New function.
30524         (opts_cc_tests): Call it.
30525         * opts-common.cc (enum_arg_to_value): Change return argument
30526         from bool to int, on success return index into the cl_enum_arg
30527         array, on failure -1.  Add len argument, if non-0, use strncmp
30528         instead of strcmp.
30529         (opt_enum_arg_to_value): Adjust caller.
30530         (decode_cmdline_option): Handle EnumSet represented as
30531         CLVC_ENUM with non-zero var_value.  Initialize decoded->mask.
30532         (decode_cmdline_options_to_array): CLear opt_array[0].mask.
30533         (handle_option): Pass decoded->mask to set_options last argument.
30534         (generate_option): Clear decoded->mask.
30535         (generate_option_input_file): Likewise.
30536         (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
30537         (set_option): Add mask argument, use it for CLVC_ENUM.
30538         (control_warning_option): Adjust enum_arg_to_value caller.
30539         * doc/options.texi: Document Set and EnumSet properties.
30541 2022-01-24  Jakub Jelinek  <jakub@redhat.com>
30543         PR bootstrap/104170
30544         * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
30545         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
30546         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
30547         using OPTION_*_P macros.
30548         * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
30549         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
30550         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
30551         using OPTION_*_P macros.
30552         * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
30553         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
30554         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
30555         using OPTION_*_P macros.
30556         * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
30557         OPTION_BIONIC_P, OPTION_MUSL_P): Define.
30558         (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
30559         using OPTION_*_P macros.
30560         * config/fuchsia.h (OPTION_MUSL_P): Redefine.
30561         * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
30562         * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
30563         ATTRIBUTE_UNUSED to opts parameter.  If OPTION_GLIBC_P is defined, use
30564         OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
30565         * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
30566         OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
30567         otherwise assume if (true).
30569 2022-01-24  Kito Cheng  <kito.cheng@sifive.com>
30571         * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
30572         Skip zicsr and zifencei if I-ext is 2.0.
30574 2022-01-24  Jia-Wei Chen  <jiawei@iscas.ac.cn>
30576         * config.gcc: Modify default isa_spec version.
30578 2022-01-24  Jiufu Guo  <guojiufu@linux.ibm.com>
30580         PR tree-optimization/102087
30581         * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
30582         Correct PLUS result type.
30584 2022-01-24  H.J. Lu  <hjl.tools@gmail.com>
30586         PR target/104188
30587         * config/i386/predicates.md (bcst_mem_operand): Also check mode
30588         of memory broadcast.
30590 2022-01-23  Andrew Pinski  <apinski@marvell.com>
30592         PR target/64821
30593         * config/aarch64/aarch64-builtins.cc
30594         (aarch64_general_gimple_fold_builtin): Handle
30595         __builtin_aarch64_sqrt* and simplify into SQRT internal
30596         function.
30598 2022-01-22  Jakub Jelinek  <jakub@redhat.com>
30600         PR other/104176
30601         * opts-global.cc (handle_common_deferred_options): Quote
30602         --enable-plugin in diagnostics to avoid -Werror=format-diag.
30604 2022-01-21  Michael Meissner  <meissner@the-meissners.org>
30606         PR target/104136
30607         * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
30608         * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
30609         * config/rs6000/rs6000.md (prefixed attribute): Delete section
30610         that sets the prefixed attribute for xxspltiw, xxspltidp, and
30611         xxsplti32dx instructions.
30612         (movsf_hardfloat): Explicitly set the prefixed attribute
30613         when xxspltiw and xxspltidp instructions are generated.
30614         (mov<mode>_hardfloat32): Likewise.
30615         (mov<mode>_hardfloat64): Likewise.
30616         * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
30617         prefixed attribute for xxspltiw and xxspltidp instructions.
30618         (vsx_mov<mode>_32bit): Likewise.
30620 2022-01-21  H.J. Lu  <hjl.tools@gmail.com>
30622         PR bootstrap/104170
30623         * common/config/i386/i386-common.cc (ix86_supports_split_stack):
30624         Return true only on glibc.
30625         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
30626         Revert commit c163647ffbc.
30627         * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
30629 2022-01-21  Sören Tempel  <soeren@soeren-tempel.net>
30631         * common/config/s390/s390-common.cc (s390_supports_split_stack):
30632         Only support split-stack on glibc targets.
30633         * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
30634         * config/i386/gnu.h (defined): Ditto.
30636 2022-01-21  Bill Schmidt  <wschmidt@linux.ibm.com>
30638         * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
30639         vector float and vector double.
30641 2022-01-21  Bill Seurer  <seurer@gcc.gnu.org>
30643         * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
30644         Fix mention of ifunc in string.
30646 2022-01-21  Roger Sayle  <roger@nextmovesoftware.com>
30648         PR middle-end/104140
30649         * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
30650         operands of the widening multiplication are either both signed or
30651         both unsigned, and abort the conversion if mismatched.
30652         * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
30653         (MULT_HIGHPART_EXPR): Clarify that operands must have the same
30654         signedness.
30655         * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
30656         integer types with the same precision and signedness.
30657         (WIDEN_MULT_EXPR): Document that operands must have integer types
30658         with the same precision, but possibly differing signedness.
30659         * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
30660         riscv_current_subset_list returning a NULL pointer (empty list).
30662 2022-01-21  Vladimir N. Makarov  <vmakarov@redhat.com>
30664         PR target/103676
30665         * ira.h (struct target_ira): Add member
30666         x_ira_exclude_class_mode_regs.
30667         (ira_exclude_class_mode_regs): New macro.
30668         * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
30669         move from here ...
30670         * lra-int.h: ... to here.
30671         (lra_create_new_reg_with_unique_value): Add arg
30672         exclude_start_hard_regs.
30673         (class lra_reg): Add member exclude_start_hard_regs.
30674         * lra-assigns.cc (find_hard_regno_for_1): Setup
30675         impossible_start_hard_regs from exclude_start_hard_regs.
30676         * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
30677         it lra_create_new_reg[_with_unique_value].
30678         (match_reload): Ditto.
30679         (check_and_process_move): Pass NULL
30680         exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
30681         (goal_alt_exclude_start_hard_regs): New static variable.
30682         (process_addr_reg, simplify_operand_subreg): Pass NULL
30683         exclude_start_hard_regs to lra_create_new_reg_with_unique_value
30684         and get_reload_reg.
30685         (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
30686         Use this_alternative_exclude_start_hard_regs additionally to find
30687         winning operand alternative.
30688         (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
30689         exclude_start_hard_regs to lra_create_new_reg.
30690         (process_address_1, emit_inc): Ditto.
30691         (curr_insn_transform): Pass exclude_start_hard_regs value to
30692         lra_create_new_reg, get_reload_reg, match_reload.
30693         (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
30694         to lra_create_new_reg.
30695         (process_invariant_for_inheritance): Ditto.
30696         * lra-remat.cc (update_scratch_ops): Ditto.
30697         * lra.cc (lra_create_new_reg_with_unique_value): Add arg
30698         exclude_start_hard_regs.  Setup the corresponding member of
30699         lra reg info.
30700         (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
30701         to lra_create_new_reg_with_unique_value.
30702         (initialize_lra_reg_info_element): Initialize member
30703         exclude_start_hard_regs.
30704         (get_scratch_reg): Pass NULL to lra_create_new_reg.
30705         * ira.cc (setup_prohibited_class_mode_regs): Rename to
30706         setup_prohibited_and_exclude_class_mode_regs and calculate
30707         ira_exclude_class_mode_regs.
30709 2022-01-21  Martin Liska  <mliska@suse.cz>
30711         * configure.ac: Detect ld_is_mold and use it for
30712         comdat_group=yes and gcc_cv_ld_hidden=yes.
30713         * configure: Regenerate.
30715 2022-01-21  Richard Biener  <rguenther@suse.de>
30717         PR tree-optimization/100089
30718         * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
30719         of if-converted loops with unvectorized COND_EXPRs for
30720         all but the unlimited cost models.
30722 2022-01-21  Ard Biesheuvel  <ardb@kernel.org>
30724         * config/arm/arm-opts.h (enum stack_protector_guard): New.
30725         * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
30726         New.
30727         * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
30728         (arm_option_override_internal): Handle and put in error checks.
30729         for stack protector guard options.
30730         (arm_option_reconfigure_globals): Likewise.
30731         (arm_stack_protect_tls_canary_mem): New.
30732         (arm_stack_protect_guard): New.
30733         * config/arm/arm.md (stack_protect_set): New.
30734         (stack_protect_set_tls): Likewise.
30735         (stack_protect_test): Likewise.
30736         (stack_protect_test_tls): Likewise.
30737         (reload_tp_hard): Likewise.
30738         * config/arm/arm.opt (-mstack-protector-guard): New
30739         (-mstack-protector-guard-offset): New.
30740         * doc/invoke.texi: Document new options.
30742 2022-01-21  Richard Biener  <rguenther@suse.de>
30744         PR tree-optimization/104156
30745         * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
30746         Collect and reset debug stmts with out-of-loop uses when
30747         hoisting guards.
30748         (find_loop_guard): Adjust.
30749         (empty_bb_without_guard_p): Likewise.  Ignore debug stmts.
30750         (used_outside_loop_p): Push debug uses to a vector of
30751         debug stmts to reset.
30752         (hoist_guard): Adjust -fopt-info category.
30754 2022-01-21  Richard Biener  <rguenther@suse.de>
30756         PR tree-optimization/104152
30757         * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
30758         can_duplicate_and_interleave_p check.
30760 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
30762         * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
30763         Avoid passing var to warning_at when the format string doesn't
30764         refer to it.
30766 2022-01-21  Aldy Hernandez  <aldyh@redhat.com>
30768         PR tree-optimization/103721
30769         * gimple-range-path.cc
30770         (path_range_query::relations_may_be_invalidated): New.
30771         (path_range_query::compute_ranges_in_block): Reset relations if
30772         they may be invalidated.
30773         (path_range_query::maybe_register_phi_relation): Exit if relations
30774         may be invalidated on incoming edge.
30775         (path_range_query::compute_phi_relations): Pass incoming PHI edge
30776         to maybe_register_phi_relation.
30777         * gimple-range-path.h (relations_may_be_invalidated): New.
30778         (maybe_register_phi_relation): Pass edge instead of tree.
30779         * tree-ssa-threadbackward.cc (back_threader::back_threader):
30780         Mark DFS edges.
30781         * value-relation.cc (path_oracle::path_oracle): Call
30782         mark_dfs_back_edges.
30783         (path_oracle::register_relation): Add SSA names to m_registered
30784         bitmap.
30785         (path_oracle::reset_path): Clear m_registered bitmap.
30786         * value-relation.h (path_oracle::set_root_oracle): New.
30788 2022-01-21  Jakub Jelinek  <jakub@redhat.com>
30790         PR rtl-optimization/102478
30791         * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
30792         force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
30793         would be needed.
30795 2022-01-20  Richard Biener  <rguenther@suse.de>
30797         PR middle-end/100786
30798         * gimple-fold.cc (get_symbol_constant_value): Only return
30799         values of compatible type to the symbol.
30801 2022-01-20  Andrew MacLeod  <amacleod@redhat.com>
30803         * value-relation.cc (relation_oracle::valid_equivs): Query and add
30804         if valid members of a set.
30805         (equiv_oracle::register_equiv): Call valid_equivs rather than
30806         bitmap direct operations.
30807         (path_oracle::register_equiv): Ditto.
30808         * value-relation.h (relation_oracle::valid_equivs): New prototype.
30810 2022-01-20  Richard Biener  <rguenther@suse.de>
30812         PR target/100784
30813         * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
30814         LHS before folding __builtin_ia32_shufpd and friends.
30816 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30818         * config/arm/crypto.md (aes_op_protect): Allow moves from core
30819         registers and from memory.
30820         (aes_op_protect_misalign_load): New pattern.
30821         (aes_op_protect_neon_vld1v16qi): New pattern.
30823 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30825         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
30826         New pattern.
30827         (aarch32_crypto_aese_fused_protected): Likewise.
30828         (aarch32_crypto_aesd_fused_protected): Likewise.
30830 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30832         * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
30833         to define_expand.  Add mitigation for the Cortex-A AES erratum
30834         when enabled.
30835         (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
30836         on original crypto_<CRYPTO_AES:crypto_pattern> insn.
30837         (aes_op_protect): New pattern.
30838         * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
30840 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30842         * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
30843         (ALL_QUIRKS): Add it.
30844         (cortex-a57, cortex-a72): Enable it.
30845         (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
30846         * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
30847         option.
30848         (mfix-cortex-a72-aes-1655431): New option alias.
30849         * config/arm/arm.cc (arm_option_override): Handle default settings
30850         for AES erratum switch.
30851         * doc/invoke.texi (Arm Options): Document new options.
30853 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30855         * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
30856         <crypto_mode> rather than hard-coding the mode.
30857         (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
30858         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
30859         (*aarch32_crypto_aese_fused): Likewise.
30860         (*aarch32_crypto_aesd_fused): Likewise.
30861         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
30862         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
30863         (crypto_sha1h_lb): Likewise.
30864         (crypto_vmullp64): Likewise.
30865         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
30866         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
30868 2022-01-20  Richard Earnshaw  <rearnsha@arm.com>
30870         * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
30871         iterator to pattern name to disambiguate.
30872         (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
30873         (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
30874         (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
30875         (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
30876         (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
30878 2022-01-20  Martin Liska  <mliska@suse.cz>
30880         PR bootstrap/104135
30881         * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
30882         * rtl.cc: Partially disable -Wformat-diag for RTL checking
30883         error messages.
30885 2022-01-20  Jakub Jelinek  <jakub@redhat.com>
30887         PR debug/103874
30888         * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
30889         block_num > 0, index entry even if !have_multiple_function_sections.
30891 2022-01-20  liuhongt  <hongtao.liu@intel.com>
30893         PR target/103771
30894         * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
30895         integral mode mask pack by multi steps which takes
30896         vec_pack_sbool_trunc_optab as start when elements number is
30897         less than BITS_PER_UNITS.
30899 2022-01-20  Richard Biener  <rguenther@suse.de>
30901         PR tree-optimization/104114
30902         * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
30903         single element vector decomposition.
30905 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30907         * ifcvt.cc (noce_convert_multiple_sets_1): New function.
30908         (noce_convert_multiple_sets): Call function a second time if we can
30909         improve the first try.
30911 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30913         * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
30914         reversed comparison.
30915         (try_emit_cmove_seq): New function to facilitate creating a cmov
30916         sequence.
30917         (noce_convert_multiple_sets): Create two sequences and use the less
30918         expensive one.
30920 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30922         * rtl.h (struct rtx_comparison): New struct that holds an rtx
30923         comparison.
30924         * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
30925         single parameters.
30926         (rs6000_emit_swsqrt): Likewise.
30927         * expmed.cc (expand_sdiv_pow2): Likewise.
30928         (emit_store_flag): Likewise.
30929         * expr.cc (expand_cond_expr_using_cmove): Likewise.
30930         (expand_expr_real_2): Likewise.
30931         * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
30932         parameters.
30933         * optabs.cc (emit_conditional_move_1): New function.
30934         (expand_doubleword_shift_condmove): Use struct.
30935         (emit_conditional_move): Use struct and allow to call directly
30936         without going through preparation steps.
30937         * optabs.h (emit_conditional_move): Use struct.
30939 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30941         * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
30942         (noce_process_if_block): Use potential costs.
30944 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30946         * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
30947         (bb_ok_for_noce_convert_multiple_sets): Likewise.
30949 2022-01-19  Robin Dapp  <rdapp@linux.ibm.com>
30951         * ifcvt.cc (need_cmov_or_rewire): New function.
30952         (noce_convert_multiple_sets): Call it.
30954 2022-01-19  David Malcolm  <dmalcolm@redhat.com>
30956         * attribs.cc (attribute_c_tests): Rename to...
30957         (attribs_cc_tests): ...this.
30958         * bitmap.cc (bitmap_c_tests): Rename to...
30959         (bitmap_cc_tests): ...this.
30960         * cgraph.cc (cgraph_c_finalize): Rename to...
30961         (cgraph_cc_finalize): ...this.
30962         (cgraph_c_tests): Rename to...
30963         (cgraph_cc_tests): ...this.
30964         * cgraph.h (cgraph_c_finalize): Rename to...
30965         (cgraph_cc_finalize): ...this.
30966         (cgraphunit_c_finalize): Rename to...
30967         (cgraphunit_cc_finalize): ...this.
30968         * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
30969         (cgraphunit_cc_finalize): ...this.
30970         * convert.cc (convert_c_tests): Rename to...
30971         (convert_cc_tests): ...this.
30972         * dbgcnt.cc (dbgcnt_c_tests): Rename to...
30973         (dbgcnt_cc_tests): ...this.
30974         * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
30975         (diagnostic_show_locus_cc_tests): ...this.
30976         * diagnostic.cc (diagnostic_c_tests): Rename to...
30977         (diagnostic_cc_tests): ...this.
30978         * dumpfile.cc (dumpfile_c_tests): Rename to...
30979         (dumpfile_cc_tests): ...this.
30980         * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
30981         (dwarf2out_cc_finalize): ...this.
30982         * dwarf2out.h (dwarf2out_c_finalize): Rename to...
30983         (dwarf2out_cc_finalize): ...this.
30984         * edit-context.cc (edit_context_c_tests): Rename to...
30985         (edit_context_cc_tests): ...this.
30986         * et-forest.cc (et_forest_c_tests): Rename to...
30987         (et_forest_cc_tests): ...this.
30988         * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
30989         (fibonacci_heap_cc_tests): ...this.
30990         * fold-const.cc (fold_const_c_tests): Rename to...
30991         (fold_const_cc_tests): ...this.
30992         * function-tests.cc (function_tests_c_tests): Rename to...
30993         (function_tests_cc_tests): ...this.
30994         * gcse.cc (gcse_c_finalize): Rename to...
30995         (gcse_cc_finalize): ...this.
30996         * gcse.h (gcse_c_finalize): Rename to...
30997         (gcse_cc_finalize): ...this.
30998         * ggc-tests.cc (ggc_tests_c_tests): Rename to...
30999         (ggc_tests_cc_tests): ...this.
31000         * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
31001         (store_merging_cc_tests): ...this.
31002         * gimple.cc (gimple_c_tests): Rename to...
31003         (gimple_cc_tests): ...this.
31004         * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
31005         (hash_map_tests_cc_tests): ...this.
31006         * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
31007         (hash_set_tests_cc_tests): ...this.
31008         * input.cc (input_c_tests): Rename to...
31009         (input_cc_tests): ...this.
31010         * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
31011         (ipa_cp_cc_finalize): ...this.
31012         * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
31013         (ipa_fnsummary_cc_finalize): ...this.
31014         * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
31015         (ipa_fnsummary_cc_finalize): ...this.
31016         * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
31017         (ipa_modref_tree_cc_tests): ...this.
31018         * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
31019         * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
31020         (ipa_modref_cc_finalize): ...this.
31021         * ipa-modref.h (ipa_modref_c_finalize): Rename to...
31022         (ipa_modref_cc_finalize): ...this.
31023         * ipa-prop.h (ipa_cp_c_finalize): Rename to...
31024         (ipa_cp_cc_finalize): ...this.
31025         * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
31026         (ipa_reference_cc_finalize): ...this.
31027         * ipa-reference.h (ipa_reference_c_finalize): Rename to...
31028         (ipa_reference_cc_finalize): ...this.
31029         * ira-costs.cc (ira_costs_c_finalize): Rename to...
31030         (ira_costs_cc_finalize): ...this.
31031         * ira.h (ira_costs_c_finalize): Rename to...
31032         (ira_costs_cc_finalize): ...this.
31033         * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
31034         (opt_suggestions_cc_tests): ...this.
31035         * opts.cc (opts_c_tests): Rename to...
31036         (opts_cc_tests): ...this.
31037         * predict.cc (predict_c_tests): Rename to...
31038         (predict_cc_tests): ...this.
31039         * pretty-print.cc (pretty_print_c_tests): Rename to...
31040         (pretty_print_cc_tests): ...this.
31041         * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
31042         (read_rtl_function_cc_tests): ...this.
31043         * rtl-tests.cc (rtl_tests_c_tests): Rename to...
31044         (rtl_tests_cc_tests): ...this.
31045         * sbitmap.cc (sbitmap_c_tests): Rename to...
31046         (sbitmap_cc_tests): ...this.
31047         * selftest-run-tests.cc (selftest::run_tests): Update calls for
31048         _c_ to _cc_ function renamings; fix names of attribs and
31049         opt-suggestions tests.
31050         * selftest.cc (selftest_c_tests): Rename to...
31051         (selftest_cc_tests): ...this.
31052         * selftest.h (attribute_c_tests): Rename to...
31053         (attribs_cc_tests): ...this.
31054         (bitmap_c_tests): Rename to...
31055         (bitmap_cc_tests): ...this.
31056         (cgraph_c_tests): Rename to...
31057         (cgraph_cc_tests): ...this.
31058         (convert_c_tests): Rename to...
31059         (convert_cc_tests): ...this.
31060         (diagnostic_c_tests): Rename to...
31061         (diagnostic_cc_tests): ...this.
31062         (diagnostic_show_locus_c_tests): Rename to...
31063         (diagnostic_show_locus_cc_tests): ...this.
31064         (dumpfile_c_tests): Rename to...
31065         (dumpfile_cc_tests): ...this.
31066         (edit_context_c_tests): Rename to...
31067         (edit_context_cc_tests): ...this.
31068         (et_forest_c_tests): Rename to...
31069         (et_forest_cc_tests): ...this.
31070         (fibonacci_heap_c_tests): Rename to...
31071         (fibonacci_heap_cc_tests): ...this.
31072         (fold_const_c_tests): Rename to...
31073         (fold_const_cc_tests): ...this.
31074         (function_tests_c_tests): Rename to...
31075         (function_tests_cc_tests): ...this.
31076         (ggc_tests_c_tests): Rename to...
31077         (ggc_tests_cc_tests): ...this.
31078         (gimple_c_tests): Rename to...
31079         (gimple_cc_tests): ...this.
31080         (hash_map_tests_c_tests): Rename to...
31081         (hash_map_tests_cc_tests): ...this.
31082         (hash_set_tests_c_tests): Rename to...
31083         (hash_set_tests_cc_tests): ...this.
31084         (input_c_tests): Rename to...
31085         (input_cc_tests): ...this.
31086         (opts_c_tests): Rename to...
31087         (opts_cc_tests): ...this.
31088         (predict_c_tests): Rename to...
31089         (predict_cc_tests): ...this.
31090         (pretty_print_c_tests): Rename to...
31091         (pretty_print_cc_tests): ...this.
31092         (read_rtl_function_c_tests): Rename to...
31093         (read_rtl_function_cc_tests): ...this.
31094         (rtl_tests_c_tests): Rename to...
31095         (rtl_tests_cc_tests): ...this.
31096         (sbitmap_c_tests): Rename to...
31097         (sbitmap_cc_tests): ...this.
31098         (selftest_c_tests): Rename to...
31099         (selftest_cc_tests): ...this.
31100         (simplify_rtx_c_tests): Rename to...
31101         (simplify_rtx_cc_tests): ...this.
31102         (spellcheck_c_tests): Rename to...
31103         (spellcheck_cc_tests): ...this.
31104         (spellcheck_tree_c_tests): Rename to...
31105         (spellcheck_tree_cc_tests): ...this.
31106         (sreal_c_tests): Rename to...
31107         (sreal_cc_tests): ...this.
31108         (store_merging_c_tests): Rename to...
31109         (store_merging_cc_tests): ...this.
31110         (tree_c_tests): Rename to...
31111         (tree_cc_tests): ...this.
31112         (tree_cfg_c_tests): Rename to...
31113         (tree_cfg_cc_tests): ...this.
31114         (typed_splay_tree_c_tests): Rename to...
31115         (typed_splay_tree_cc_tests): ...this.
31116         (vec_c_tests): Rename to...
31117         (vec_cc_tests): ...this.
31118         (vec_perm_indices_c_tests): Rename to...
31119         (vec_perm_indices_cc_tests): ..this.
31120         (opt_proposer_c_tests): Rename to...
31121         (opt_suggestions_cc_tests): ...this.
31122         (dbgcnt_c_tests): Rename to...
31123         (dbgcnt_cc_tests): ...this.
31124         (ipa_modref_tree_c_tests): Rename to...
31125         (ipa_modref_tree_cc_tests): ...this.
31126         * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
31127         (simplify_rtx_cc_tests): ...this.
31128         * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
31129         (spellcheck_tree_cc_tests): ...this.
31130         * spellcheck.cc (spellcheck_c_tests): Rename to...
31131         (spellcheck_cc_tests): ...this.
31132         * sreal.cc (sreal_c_tests): Rename to...
31133         (sreal_cc_tests): ...this.
31134         * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
31135         function renamings.
31136         * tree-cfg.cc (tree_cfg_c_tests): Rename to...
31137         (tree_cfg_cc_tests): ...this.
31138         * tree.cc (tree_c_tests): Rename to...
31139         (tree_cc_tests): ...this.
31140         * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
31141         (typed_splay_tree_cc_tests): ...this.
31142         * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
31143         (vec_perm_indices_cc_tests): ...this.
31144         * vec.cc (vec_c_tests): Rename to...
31145         (vec_cc_tests): ...this.
31147 2022-01-19  Andre Vieira  <andre.simoesdiasvieira@arm.com>
31149         PR tree-optimization/103997
31150         * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
31151         vectorization.
31153 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
31155         PR middle-end/102860
31156         * match.pd (x %[fl] y -> x % y): New simplification for
31157         unsigned integral types.
31158         * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
31159         for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
31161 2022-01-19  Richard Biener  <rguenther@suse.de>
31163         PR tree-optimization/104112
31164         * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
31165         for required intermediate vector types.
31167 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
31169         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
31171 2022-01-19  Martin Liska  <mliska@suse.cz>
31173         * configure.ac: Remove -Wno-error=format-diag.
31174         * configure: Regenerate.
31176 2022-01-19  Martin Liska  <mliska@suse.cz>
31178         * config/riscv/riscv.cc (riscv_handle_type_attribute):
31179         Update one -Wformat-diag string in warning message.
31181 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
31183         PR middle-end/104103
31184         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
31185         .ASAN_MARK calls.
31187 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
31189         PR c++/89074
31190         * fold-const.cc (address_compare): Consider different STRING_CSTs
31191         with the same lengths that memcmp the same as equal, not different.
31193 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
31195         * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
31196         {%0}.
31198 2022-01-19  Martin Liska  <mliska@suse.cz>
31199             Thomas Schwinge  <thomas@codesourcery.com>
31201         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
31202         warning messages.
31204 2022-01-19  Sebastian Huber  <sebastian.huber@embedded-brains.de>
31206         PR target/104090
31207         * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
31208         rs6000_cpu.
31210 2022-01-19  Jakub Jelinek  <jakub@redhat.com>
31212         PR target/104104
31213         * config/i386/sse.md
31214         (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
31215         avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
31216         avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
31217         avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
31218         avx512dq_rangep<mode><mask_name><round_saeonly_name>,
31219         avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
31220         <avx512>_getmant<mode><mask_name><round_saeonly_name>,
31221         avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
31222         Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
31224 2022-01-19  Martin Sebor  <msebor@redhat.com>
31226         PR middle-end/104069
31227         * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
31228         an unknown result as documented.
31230 2022-01-18  Andrew Pinski  <apinski@marvell.com>
31232         * ipa-split.cc (visit_bb): Fix comment before the
31233         warning/error attribute checking code.
31235 2022-01-18  David Faust  <david.faust@oracle.com>
31237         * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
31238         for base strtab offset yet as it may change.
31239         (output_asm_btfext_core_reloc): Do so here instead.
31240         (output_btfext_core_sections): Likewise.
31242 2022-01-18  David Faust  <david.faust@oracle.com>
31244         * config/bpf/coreout.cc (output_btfext_header): Account for
31245         4-byte record size in core_relo_len.
31246         (output_btfext_core_sections): Only write record size once.
31247         * config/bpf/coreout.h (btf_ext_section_header): Delete unused
31248         member.
31250 2022-01-18  Maciej W. Rozycki  <macro@embecosm.com>
31252         * common/config/riscv/riscv-common.cc
31253         (riscv_subset_list::parse_multiletter_ext): Move pointer
31254         arithmetic ahead of `free'.
31256 2022-01-18  Jason Merrill  <jason@redhat.com>
31258         PR c++/104007
31259         * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
31260         context.
31262 2022-01-18  Sandra Loosemore  <sandra@codesourcery.com>
31264         PR middle-end/103163
31265         * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
31266         (init_emit_once): ...not here.
31268 2022-01-18  Martin Liska  <mliska@suse.cz>
31270         * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
31271         * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
31272         * config/arc/arc.md: Likewise.
31273         * config/avr/avr.cc (avr_section_type_flags): Likewise.
31274         * config/bfin/bfin.cc (bfin_option_override): Likewise.
31275         (bfin_handle_longcall_attribute): Likewise.
31276         * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
31277         * config/frv/frv.cc (frv_expand_builtin): Likewise.
31278         * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
31279         * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
31280         (iq2000_print_operand_address): Likewise.
31281         (iq2000_print_operand): Likewise.
31282         * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
31283         (m32c_pragma_address): Likewise.
31284         * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
31285         * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
31286         (mips_set_compression_mode): Likewise.
31287         * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
31288         (mmix_print_operand): Likewise.
31289         (mmix_output_shiftvalue_op_from_str): Likewise.
31290         (mmix_output_shifted_value): Likewise.
31291         * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
31292         * config/msp430/msp430.cc (msp430_option_override): Likewise.
31293         (msp430_attr): Likewise.
31294         (msp430_expand_delay_cycles): Likewise.
31295         (msp430_expand_builtin): Likewise.
31296         * config/rs6000/aix73.h: Likewise.
31297         * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
31298         * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
31299         (valid_psw_flag): Likewise.
31300         * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
31301         * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
31302         (xstormy16_expand_builtin_va_start): Likewise.
31303         (xstormy16_handle_below100_attribute): Likewise.
31305 2022-01-18  Martin Liska  <mliska@suse.cz>
31307         * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
31308         warning.
31309         (vms_pragma_standard): Likewise.
31310         (vms_pragma_extern_prefix): Likewise.
31312 2022-01-18  Martin Liska  <mliska@suse.cz>
31314         * config/xtensa/xtensa.cc (print_operand): Fix warnings.
31315         (print_operand_address): Likewise.
31316         (xtensa_multibss_section_type_flags): Likewise.
31318 2022-01-18  Martin Liska  <mliska@suse.cz>
31320         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
31321         wording of an error message.
31323 2022-01-18  Martin Liska  <mliska@suse.cz>
31325         * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
31326         warning.
31327         (ghs_pragma_section): Likewise.
31328         (ghs_pragma_interrupt): Likewise.
31329         (ghs_pragma_starttda): Likewise.
31330         (ghs_pragma_startsda): Likewise.
31331         (ghs_pragma_startzda): Likewise.
31332         (ghs_pragma_endtda): Likewise.
31333         (ghs_pragma_endsda): Likewise.
31334         (ghs_pragma_endzda): Likewise.
31336 2022-01-18  Martin Liska  <mliska@suse.cz>
31338         * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
31339         Fix warnings.
31340         * config/nds32/nds32-intrinsic.md: Likewise.
31341         * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
31342         * config/nds32/nds32.cc (nds32_print_operand): Likewise.
31343         (nds32_insert_attributes): Likewise.
31345 2022-01-18  Martin Liska  <mliska@suse.cz>
31347         * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
31348         keyword.
31349         * config/nvptx/nvptx.md: Remove trailing dot.
31351 2022-01-18  Martin Liska  <mliska@suse.cz>
31353         * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
31354         Wrap keywords with quotes and remove trailing dots.
31355         (riscv_subset_list::parsing_subset_version): Likewise.
31356         (riscv_subset_list::parse_std_ext): Likewise.
31357         (riscv_subset_list::parse_multiletter_ext): Likewise.
31358         * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
31360 2022-01-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
31362         * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
31363         argument suggested_unroll_factor.
31364         (vect_analyze_loop_costing): Likewise.
31365         (_loop_vec_info::_loop_vec_info): Initialize new member
31366         suggested_unroll_factor.
31367         (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
31368         main loop use partial vectors.
31369         (vect_analyze_loop_2): Pass and use new argument
31370         suggested_unroll_factor.
31371         (vect_analyze_loop_1): Change to intialize local
31372         suggested_unroll_factor and use it.
31373         (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
31374         * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
31375         suggested_unroll_factor.
31376         (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
31377         (vector_costs::suggested_unroll_factor): New getter function.
31378         (finish_cost): Set return argument suggested_unroll_factor.
31380 2022-01-18  Andrew MacLeod  <amacleod@redhat.com>
31382         PR tree-optimization/104038
31383         * doc/invoke.texi (relation-block-limit): New.
31384         * params.opt (relation-block-limit): New.
31385         * value-relation.cc (dom_oracle::register_relation): Check for NULL
31386         record before invoking transitive registery.
31387         (dom_oracle::set_one_relation): Check limit before creating record.
31388         (dom_oracle::register_transitives): Stop when no record created.
31389         * value-relation.h (relation_chain_head::m_num_relations): New.
31391 2022-01-18  Richard Biener  <rguenther@suse.de>
31393         PR ipa/103989
31394         * ipa-inline.cc (inline_small_functions): Do not enqueue call
31395         edges originating in functions compiled with -Og.
31397 2022-01-18  Richard Biener  <rguenther@suse.de>
31399         PR ipa/103989
31400         * passes.def (pass_all_optimizations_g): Remove pass_modref
31401         and pass_local_pure_const.
31403 2022-01-18  Martin Liska  <mliska@suse.cz>
31405         * config/s390/s390.cc: Fix -Wformat-diag warnings.
31407 2022-01-18  Martin Liska  <mliska@suse.cz>
31409         * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
31410         keyword in quotes.
31411         (s390_resolve_overloaded_builtin): Remove trailing dot.
31412         * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
31413         (s390_expand_builtin): Remove trailing dot.
31414         (s390_emit_prologue): Likewise, use semicolon.
31415         (s390_option_override_internal): Update keyword.
31416         * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
31418 2022-01-18  Martin Liska  <mliska@suse.cz>
31420         * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
31421         keywords and use %qs instead of %<%s%>.
31423 2022-01-18  Richard Biener  <rguenther@suse.de>
31425         PR tree-optimization/103987
31426         * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
31427         query with a pointer check.
31429 2022-01-18  Richard Sandiford  <richard.sandiford@arm.com>
31431         PR target/104005
31432         * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
31433         When using MEM_EXPR, require the base to be a decl.
31435 2022-01-18  Richard Biener  <rguenther@suse.de>
31437         * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
31438         avoid padding.
31439         * function.h (struct function): Likewise.
31441 2022-01-18  Arnaud Charlet  <charlet@adacore.com>
31443         * doc/install.texi: Update prerequisites for GNAT
31445 2022-01-18  Andrew Pinski  <apinski@marvell.com>
31447         PR tree-optimization/101941
31448         * ipa-split.cc (visit_bb): Disallow function calls where
31449         the function has either error or warning attribute.
31451 2022-01-18  Richard Biener  <rguenther@suse.de>
31453         PR tree-optimization/104064
31454         * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
31455         DR_INIT fits in a signed HWI, represent the difference from the
31456         first DR in unsigned.
31458 2022-01-17  Martin Liska  <mliska@suse.cz>
31460         * Makefile.in: Rename .c names to .cc.
31461         * config.gcc: Likewise.
31462         * configure: Regenerate. Likewise.
31463         * configure.ac: Likewise.
31464         * gengtype.cc (set_gc_used): Likewise.
31465         (source_dot_c_frul): Likewise.
31466         (source_dot_cc_frul): Likewise.
31467         (struct file_rule_st): Likewise.
31468         (close_output_files): Likewise.
31469         * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
31471 2022-01-17  Martin Liska  <mliska@suse.cz>
31473         * Makefile.in: Rename .c names to .cc.
31474         * alias.h: Likewise.
31475         * asan.cc: Likewise.
31476         * auto-profile.h: Likewise.
31477         * basic-block.h (struct basic_block_d): Likewise.
31478         * btfout.cc: Likewise.
31479         * builtins.cc (expand_builtin_longjmp): Likewise.
31480         (validate_arg): Likewise.
31481         (access_ref::offset_bounded): Likewise.
31482         * caller-save.cc (reg_restore_code): Likewise.
31483         (setup_save_areas): Likewise.
31484         * calls.cc (initialize_argument_information): Likewise.
31485         (expand_call): Likewise.
31486         (emit_library_call_value_1): Likewise.
31487         * cfg-flags.def (RTL): Likewise.
31488         (SIBCALL): Likewise.
31489         (CAN_FALLTHRU): Likewise.
31490         * cfganal.cc (post_order_compute): Likewise.
31491         * cfgcleanup.cc (try_simplify_condjump): Likewise.
31492         (merge_blocks_move_predecessor_nojumps): Likewise.
31493         (merge_blocks_move_successor_nojumps): Likewise.
31494         (merge_blocks_move): Likewise.
31495         (old_insns_match_p): Likewise.
31496         (try_crossjump_bb): Likewise.
31497         * cfgexpand.cc (expand_gimple_stmt): Likewise.
31498         * cfghooks.cc (split_block_before_cond_jump): Likewise.
31499         (profile_record_check_consistency): Likewise.
31500         * cfghooks.h: Likewise.
31501         * cfgrtl.cc (pass_free_cfg::execute): Likewise.
31502         (rtl_can_merge_blocks): Likewise.
31503         (try_redirect_by_replacing_jump): Likewise.
31504         (make_pass_outof_cfg_layout_mode): Likewise.
31505         (cfg_layout_can_merge_blocks_p): Likewise.
31506         * cgraph.cc (release_function_body): Likewise.
31507         (cgraph_node::get_fun): Likewise.
31508         * cgraph.h (struct cgraph_node): Likewise.
31509         (asmname_hasher::equal): Likewise.
31510         (cgraph_inline_failed_type): Likewise.
31511         (thunk_adjust): Likewise.
31512         (dump_callgraph_transformation): Likewise.
31513         (record_references_in_initializer): Likewise.
31514         (ipa_discover_variable_flags): Likewise.
31515         * cgraphclones.cc (GTY): Likewise.
31516         * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
31517         * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
31518         * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
31519         * collect2.cc (maybe_run_lto_and_relink): Likewise.
31520         * combine-stack-adj.cc: Likewise.
31521         * combine.cc (setup_incoming_promotions): Likewise.
31522         (combine_simplify_rtx): Likewise.
31523         (count_rtxs): Likewise.
31524         * common.opt: Likewise.
31525         * common/config/aarch64/aarch64-common.cc: Likewise.
31526         * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
31527         * common/config/avr/avr-common.cc: Likewise.
31528         * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
31529         * conditions.h: Likewise.
31530         * config.gcc: Likewise.
31531         * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
31532         * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
31533         (aarch64_get_extension_string_for_isa_flags): Likewise.
31534         * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
31535         * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
31536         (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
31537         (aarch64_option_valid_attribute_p): Likewise.
31538         (aarch64_short_vector_p): Likewise.
31539         (aarch64_float_const_representable_p): Likewise.
31540         * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
31541         (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
31542         (GTY): Likewise.
31543         * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
31544         * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
31545         * config/aarch64/t-aarch64: Likewise.
31546         * config/aarch64/x-aarch64: Likewise.
31547         * config/aarch64/x-darwin: Likewise.
31548         * config/alpha/alpha-protos.h: Likewise.
31549         * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
31550         * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
31551         (enum reg_class): Likewise.
31552         * config/alpha/alpha.md: Likewise.
31553         * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
31554         * config/alpha/x-alpha: Likewise.
31555         * config/arc/arc-protos.h (arc_eh_uses): Likewise.
31556         * config/arc/arc.cc (ARC_OPT): Likewise.
31557         (arc_ccfsm_advance): Likewise.
31558         (arc_arg_partial_bytes): Likewise.
31559         (conditionalize_nonjump): Likewise.
31560         * config/arc/arc.md: Likewise.
31561         * config/arc/builtins.def: Likewise.
31562         * config/arc/t-arc: Likewise.
31563         * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
31564         (arm_pragma_target_parse): Likewise.
31565         * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
31566         (arm_cpu_cpp_builtins): Likewise.
31567         * config/arm/arm.cc (vfp3_const_double_index): Likewise.
31568         (shift_op): Likewise.
31569         (thumb2_final_prescan_insn): Likewise.
31570         (arm_final_prescan_insn): Likewise.
31571         (arm_asm_output_labelref): Likewise.
31572         (arm_small_register_classes_for_mode_p): Likewise.
31573         * config/arm/arm.h: Likewise.
31574         * config/arm/arm.md: Likewise.
31575         * config/arm/driver-arm.cc: Likewise.
31576         * config/arm/symbian.h: Likewise.
31577         * config/arm/t-arm: Likewise.
31578         * config/arm/thumb1.md: Likewise.
31579         * config/arm/x-arm: Likewise.
31580         * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
31581         * config/avr/avr-fixed.md: Likewise.
31582         * config/avr/avr-log.cc (avr_log_vadump): Likewise.
31583         * config/avr/avr-mcus.def: Likewise.
31584         * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
31585         * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
31586         * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
31587         * config/avr/avr.cc (avr_option_override): Likewise.
31588         (avr_build_builtin_va_list): Likewise.
31589         (avr_mode_dependent_address_p): Likewise.
31590         (avr_function_arg_advance): Likewise.
31591         (avr_asm_output_aligned_decl_common): Likewise.
31592         * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
31593         (SUPPORTS_INIT_PRIORITY): Likewise.
31594         * config/avr/avr.md: Likewise.
31595         * config/avr/builtins.def: Likewise.
31596         * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
31597         * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
31598         (main): Likewise.
31599         * config/avr/t-avr: Likewise.
31600         * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
31601         * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
31602         * config/bpf/bpf.h (enum reg_class): Likewise.
31603         * config/bpf/t-bpf: Likewise.
31604         * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
31605         * config/cr16/cr16-protos.h: Likewise.
31606         * config/cris/cris.cc (cris_address_cost): Likewise.
31607         (cris_side_effect_mode_ok): Likewise.
31608         (cris_init_machine_status): Likewise.
31609         (cris_emit_movem_store): Likewise.
31610         * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
31611         (enum reg_class): Likewise.
31612         (struct cum_args): Likewise.
31613         * config/cris/cris.opt: Likewise.
31614         * config/cris/sync.md: Likewise.
31615         * config/csky/csky.cc (csky_expand_prologue): Likewise.
31616         * config/darwin-c.cc: Likewise.
31617         * config/darwin-f.cc: Likewise.
31618         * config/darwin-sections.def (zobj_const_section): Likewise.
31619         * config/darwin.cc (output_objc_section_asm_op): Likewise.
31620         (fprintf): Likewise.
31621         * config/darwin.h (GTY): Likewise.
31622         * config/elfos.h: Likewise.
31623         * config/epiphany/epiphany-sched.md: Likewise.
31624         * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
31625         * config/epiphany/epiphany.h (GTY): Likewise.
31626         (NO_FUNCTION_CSE): Likewise.
31627         * config/epiphany/mode-switch-use.cc: Likewise.
31628         * config/epiphany/predicates.md: Likewise.
31629         * config/epiphany/t-epiphany: Likewise.
31630         * config/fr30/fr30-protos.h: Likewise.
31631         * config/frv/frv-protos.h: Likewise.
31632         * config/frv/frv.cc (TLS_BIAS): Likewise.
31633         * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
31634         * config/ft32/ft32-protos.h: Likewise.
31635         * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
31636         * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
31637         * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
31638         * config/gcn/t-gcn-hsa: Likewise.
31639         * config/gcn/t-omp-device: Likewise.
31640         * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
31641         (same_cmp_following_p): Likewise.
31642         * config/h8300/h8300.cc (F): Likewise.
31643         * config/h8300/h8300.h (struct cum_arg): Likewise.
31644         (BRANCH_COST): Likewise.
31645         * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
31646         * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
31647         * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
31648         * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
31649         * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
31650         * config/i386/i386-c.cc (ix86_target_macros): Likewise.
31651         * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
31652         * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
31653         * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
31654         (ix86_register_pragmas): Likewise.
31655         (ix86_d_has_stdcall_convention): Likewise.
31656         (i386_pe_seh_init_sections): Likewise.
31657         * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
31658         (ix86_function_value_regno_p): Likewise.
31659         (ix86_compute_frame_layout): Likewise.
31660         (legitimize_pe_coff_symbol): Likewise.
31661         (output_pic_addr_const): Likewise.
31662         * config/i386/i386.h (defined): Likewise.
31663         (host_detect_local_cpu): Likewise.
31664         (CONSTANT_ADDRESS_P): Likewise.
31665         (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
31666         (struct machine_frame_state): Likewise.
31667         * config/i386/i386.md: Likewise.
31668         * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
31669         * config/i386/mmx.md: Likewise.
31670         * config/i386/sse.md: Likewise.
31671         * config/i386/t-cygming: Likewise.
31672         * config/i386/t-djgpp: Likewise.
31673         * config/i386/t-gnu-property: Likewise.
31674         * config/i386/t-i386: Likewise.
31675         * config/i386/t-intelmic: Likewise.
31676         * config/i386/t-omp-device: Likewise.
31677         * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
31678         (i386_pe_adjust_class_at_definition): Likewise.
31679         * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
31680         (i386_pe_mangle_decl_assembler_name): Likewise.
31681         (i386_pe_encode_section_info): Likewise.
31682         * config/i386/x-cygwin: Likewise.
31683         * config/i386/x-darwin: Likewise.
31684         * config/i386/x-i386: Likewise.
31685         * config/i386/x-mingw32: Likewise.
31686         * config/i386/x86-tune-sched-core.cc: Likewise.
31687         * config/i386/x86-tune.def: Likewise.
31688         * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
31689         * config/ia64/freebsd.h: Likewise.
31690         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
31691         * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
31692         * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
31693         (ia64_secondary_reload_class): Likewise.
31694         (bundling): Likewise.
31695         * config/ia64/ia64.h: Likewise.
31696         * config/ia64/ia64.md: Likewise.
31697         * config/ia64/predicates.md: Likewise.
31698         * config/ia64/sysv4.h: Likewise.
31699         * config/ia64/t-ia64: Likewise.
31700         * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
31701         * config/iq2000/iq2000.md: Likewise.
31702         * config/linux.h (TARGET_HAS_BIONIC): Likewise.
31703         (if): Likewise.
31704         * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
31705         * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
31706         * config/m32c/t-m32c: Likewise.
31707         * config/m32r/m32r-protos.h: Likewise.
31708         * config/m32r/m32r.cc (m32r_print_operand): Likewise.
31709         * config/m32r/m32r.h: Likewise.
31710         * config/m32r/m32r.md: Likewise.
31711         * config/m68k/m68k-isas.def: Likewise.
31712         * config/m68k/m68k-microarchs.def: Likewise.
31713         * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
31714         (m68k_epilogue_uses): Likewise.
31715         * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
31716         (m68k_sched_adjust_cost): Likewise.
31717         (m68k_sched_md_init): Likewise.
31718         * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
31719         (enum m68k_function_kind): Likewise.
31720         * config/m68k/m68k.md: Likewise.
31721         * config/m68k/m68kemb.h: Likewise.
31722         * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
31723         * config/mcore/mcore-protos.h: Likewise.
31724         * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
31725         (mcore_expand_prolog): Likewise.
31726         * config/mcore/mcore.h (TARGET_MCORE): Likewise.
31727         * config/mcore/mcore.md: Likewise.
31728         * config/microblaze/microblaze-protos.h: Likewise.
31729         * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
31730         (microblaze_function_prologue): Likewise.
31731         (microblaze_function_epilogue): Likewise.
31732         (microblaze_select_section): Likewise.
31733         (microblaze_asm_output_mi_thunk): Likewise.
31734         (microblaze_eh_return): Likewise.
31735         * config/microblaze/microblaze.h: Likewise.
31736         * config/microblaze/microblaze.md: Likewise.
31737         * config/microblaze/t-microblaze: Likewise.
31738         * config/mips/driver-native.cc: Likewise.
31739         * config/mips/loongson2ef.md: Likewise.
31740         * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
31741         * config/mips/mips.cc (mips_rtx_costs): Likewise.
31742         (mips_output_filename): Likewise.
31743         (mips_output_function_prologue): Likewise.
31744         (mips_output_function_epilogue): Likewise.
31745         (mips_output_mi_thunk): Likewise.
31746         * config/mips/mips.h: Likewise.
31747         * config/mips/mips.md: Likewise.
31748         * config/mips/t-mips: Likewise.
31749         * config/mips/x-native: Likewise.
31750         * config/mmix/mmix-protos.h: Likewise.
31751         * config/mmix/mmix.cc (mmix_option_override): Likewise.
31752         (mmix_dbx_register_number): Likewise.
31753         (mmix_expand_prologue): Likewise.
31754         * config/mmix/mmix.h: Likewise.
31755         * config/mmix/mmix.md: Likewise.
31756         * config/mmix/predicates.md: Likewise.
31757         * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
31758         (mn10300_legitimate_pic_operand_p): Likewise.
31759         * config/mn10300/mn10300.h (enum reg_class): Likewise.
31760         (NO_FUNCTION_CSE): Likewise.
31761         * config/moxie/moxie-protos.h: Likewise.
31762         * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
31763         * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
31764         * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
31765         (msp430_incoming_return_addr_rtx): Likewise.
31766         * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
31767         * config/msp430/t-msp430: Likewise.
31768         * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
31769         (nds32_rtx_costs_size_prefer): Likewise.
31770         (nds32_init_rtx_costs): Likewise.
31771         * config/nds32/nds32-doubleword.md: Likewise.
31772         * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
31773         (nds32_builtin_decl): Likewise.
31774         * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
31775         (enum nds32_isr_nested_type): Likewise.
31776         (enum reg_class): Likewise.
31777         * config/nds32/predicates.md: Likewise.
31778         * config/nds32/t-nds32: Likewise.
31779         * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
31780         * config/nvptx/nvptx-protos.h: Likewise.
31781         * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
31782         * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
31783         * config/nvptx/t-nvptx: Likewise.
31784         * config/nvptx/t-omp-device: Likewise.
31785         * config/pa/elf.h: Likewise.
31786         * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
31787         * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
31788         * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
31789         * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
31790         (pa_legitimize_reload_address): Likewise.
31791         (pa_can_use_return_insn): Likewise.
31792         * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
31793         (som_output_text_section_asm_op): Likewise.
31794         * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
31795         * config/pa/pa.md: Likewise.
31796         * config/pa/som.h: Likewise.
31797         * config/pa/t-pa: Likewise.
31798         * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
31799         * config/pdp11/pdp11.h: Likewise.
31800         * config/pdp11/pdp11.md: Likewise.
31801         * config/pdp11/t-pdp11: Likewise.
31802         * config/pru/pru.md: Likewise.
31803         * config/pru/t-pru: Likewise.
31804         * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
31805         (riscv_gpr_save_operation_p): Likewise.
31806         (riscv_d_register_target_info): Likewise.
31807         (riscv_init_builtins): Likewise.
31808         * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
31809         * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
31810         * config/riscv/t-riscv: Likewise.
31811         * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
31812         * config/rl78/t-rl78: Likewise.
31813         * config/rs6000/aix.h: Likewise.
31814         * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
31815         * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
31816         * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
31817         * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
31818         * config/rs6000/driver-rs6000.cc: Likewise.
31819         * config/rs6000/freebsd.h: Likewise.
31820         * config/rs6000/freebsd64.h: Likewise.
31821         * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
31822         * config/rs6000/rbtree.cc: Likewise.
31823         * config/rs6000/rbtree.h: Likewise.
31824         * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
31825         * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
31826         (rs6000_expand_builtin): Likewise.
31827         (rs6000_init_builtins): Likewise.
31828         * config/rs6000/rs6000-cpus.def: Likewise.
31829         * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
31830         * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
31831         (quad_address_offset_p): Likewise.
31832         * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
31833         (rs6000_emit_epilogue): Likewise.
31834         * config/rs6000/rs6000-overload.def: Likewise.
31835         * config/rs6000/rs6000-p8swap.cc: Likewise.
31836         * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
31837         (rs6000_const_f32_to_i32): Likewise.
31838         * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
31839         (rs6000_debug_legitimize_address): Likewise.
31840         (rs6000_mode_dependent_address): Likewise.
31841         (rs6000_adjust_priority): Likewise.
31842         (rs6000_c_mode_for_suffix): Likewise.
31843         * config/rs6000/rs6000.h (defined): Likewise.
31844         (LONG_DOUBLE_TYPE_SIZE): Likewise.
31845         * config/rs6000/rs6000.md: Likewise.
31846         * config/rs6000/sysv4.h: Likewise.
31847         * config/rs6000/t-linux: Likewise.
31848         * config/rs6000/t-linux64: Likewise.
31849         * config/rs6000/t-rs6000: Likewise.
31850         * config/rs6000/x-darwin: Likewise.
31851         * config/rs6000/x-darwin64: Likewise.
31852         * config/rs6000/x-rs6000: Likewise.
31853         * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
31854         * config/rx/rx.cc (rx_expand_builtin): Likewise.
31855         * config/s390/constraints.md: Likewise.
31856         * config/s390/driver-native.cc: Likewise.
31857         * config/s390/htmxlintrin.h: Likewise.
31858         * config/s390/s390-builtins.def (B_DEF): Likewise.
31859         (OB_DEF_VAR): Likewise.
31860         * config/s390/s390-builtins.h: Likewise.
31861         * config/s390/s390-c.cc: Likewise.
31862         * config/s390/s390-opts.h: Likewise.
31863         * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
31864         (s390_register_target_pragmas): Likewise.
31865         * config/s390/s390.cc (s390_init_builtins): Likewise.
31866         (s390_expand_plus_operand): Likewise.
31867         (s390_expand_atomic): Likewise.
31868         (s390_valid_target_attribute_inner_p): Likewise.
31869         * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
31870         * config/s390/s390.md: Likewise.
31871         * config/s390/t-s390: Likewise.
31872         * config/s390/vx-builtins.md: Likewise.
31873         * config/s390/x-native: Likewise.
31874         * config/sh/divtab-sh4-300.cc (main): Likewise.
31875         * config/sh/divtab-sh4.cc (main): Likewise.
31876         * config/sh/divtab.cc (main): Likewise.
31877         * config/sh/elf.h: Likewise.
31878         * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
31879         * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
31880         (sh_struct_value_rtx): Likewise.
31881         (sh_remove_reg_dead_or_unused_notes): Likewise.
31882         * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
31883         * config/sh/t-sh: Likewise.
31884         * config/sol2-protos.h (solaris_override_options): Likewise.
31885         * config/sol2.h: Likewise.
31886         * config/sparc/driver-sparc.cc: Likewise.
31887         * config/sparc/freebsd.h: Likewise.
31888         * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
31889         * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
31890         (sparc_asan_shadow_offset): Likewise.
31891         * config/sparc/sparc.h: Likewise.
31892         * config/sparc/sparc.md: Likewise.
31893         * config/sparc/t-sparc: Likewise.
31894         * config/sparc/x-sparc: Likewise.
31895         * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
31896         * config/t-darwin: Likewise.
31897         * config/t-dragonfly: Likewise.
31898         * config/t-freebsd: Likewise.
31899         * config/t-glibc: Likewise.
31900         * config/t-linux: Likewise.
31901         * config/t-netbsd: Likewise.
31902         * config/t-openbsd: Likewise.
31903         * config/t-pnt16-warn: Likewise.
31904         * config/t-sol2: Likewise.
31905         * config/t-vxworks: Likewise.
31906         * config/t-winnt: Likewise.
31907         * config/tilegx/t-tilegx: Likewise.
31908         * config/tilegx/tilegx-c.cc: Likewise.
31909         * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
31910         * config/tilegx/tilegx.md: Likewise.
31911         * config/tilepro/t-tilepro: Likewise.
31912         * config/tilepro/tilepro-c.cc: Likewise.
31913         * config/v850/t-v850: Likewise.
31914         * config/v850/v850-protos.h: Likewise.
31915         * config/v850/v850.cc (F): Likewise.
31916         * config/v850/v850.h (enum reg_class): Likewise.
31917         (SLOW_BYTE_ACCESS): Likewise.
31918         * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
31919         * config/vax/vax.h (enum reg_class): Likewise.
31920         * config/vax/vax.md: Likewise.
31921         * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
31922         * config/visium/visium.h: Likewise.
31923         * config/vms/t-vms: Likewise.
31924         * config/vms/vms-crtlmap.map: Likewise.
31925         * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
31926         * config/vx-common.h: Likewise.
31927         * config/x-darwin: Likewise.
31928         * config/x-hpux: Likewise.
31929         * config/x-linux: Likewise.
31930         * config/x-netbsd: Likewise.
31931         * config/x-openbsd: Likewise.
31932         * config/x-solaris: Likewise.
31933         * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
31934         * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
31935         * config/xtensa/xtensa.h: Likewise.
31936         * configure.ac: Likewise.
31937         * context.cc: Likewise.
31938         * convert.h: Likewise.
31939         * coretypes.h: Likewise.
31940         * coverage.cc: Likewise.
31941         * coverage.h: Likewise.
31942         * cppdefault.h (struct default_include): Likewise.
31943         * cprop.cc (local_cprop_pass): Likewise.
31944         (one_cprop_pass): Likewise.
31945         * cse.cc (hash_rtx_cb): Likewise.
31946         (fold_rtx): Likewise.
31947         * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
31948         * data-streamer.h (bp_unpack_var_len_int): Likewise.
31949         (streamer_write_widest_int): Likewise.
31950         * dbgcnt.def: Likewise.
31951         * dbxout.cc (dbxout_early_global_decl): Likewise.
31952         (dbxout_common_check): Likewise.
31953         * dbxout.h: Likewise.
31954         * debug.h (struct gcc_debug_hooks): Likewise.
31955         (dump_go_spec_init): Likewise.
31956         * df-core.cc: Likewise.
31957         * df-scan.cc (df_insn_info_delete): Likewise.
31958         (df_insn_delete): Likewise.
31959         * df.h (debug_df_chain): Likewise.
31960         (can_move_insns_across): Likewise.
31961         * dfp.cc (decimal_from_binary): Likewise.
31962         * diagnostic-color.cc: Likewise.
31963         * diagnostic-event-id.h: Likewise.
31964         * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
31965         * diagnostic.cc (bt_callback): Likewise.
31966         (num_digits): Likewise.
31967         * doc/avr-mmcu.texi: Likewise.
31968         * doc/cfg.texi: Likewise.
31969         * doc/contrib.texi: Likewise.
31970         * doc/cppinternals.texi: Likewise.
31971         * doc/extend.texi: Likewise.
31972         * doc/generic.texi: Likewise.
31973         * doc/gimple.texi: Likewise.
31974         * doc/gty.texi: Likewise.
31975         * doc/invoke.texi: Likewise.
31976         * doc/loop.texi: Likewise.
31977         * doc/lto.texi: Likewise.
31978         * doc/match-and-simplify.texi: Likewise.
31979         * doc/md.texi: Likewise.
31980         * doc/optinfo.texi: Likewise.
31981         * doc/options.texi: Likewise.
31982         * doc/passes.texi: Likewise.
31983         * doc/plugins.texi: Likewise.
31984         * doc/rtl.texi: Likewise.
31985         * doc/sourcebuild.texi: Likewise.
31986         * doc/tm.texi: Likewise.
31987         * doc/tm.texi.in: Likewise.
31988         * doc/tree-ssa.texi: Likewise.
31989         * dojump.cc (do_jump): Likewise.
31990         * dojump.h: Likewise.
31991         * dumpfile.cc (test_impl_location): Likewise.
31992         (test_capture_of_dump_calls): Likewise.
31993         * dumpfile.h (enum dump_kind): Likewise.
31994         (class dump_location_t): Likewise.
31995         (dump_enabled_p): Likewise.
31996         (enable_rtl_dump_file): Likewise.
31997         (dump_combine_total_stats): Likewise.
31998         * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
31999         * dwarf2ctf.h (ctf_debug_finish): Likewise.
32000         * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
32001         (struct loc_descr_context): Likewise.
32002         (rtl_for_decl_location): Likewise.
32003         (gen_subprogram_die): Likewise.
32004         (gen_label_die): Likewise.
32005         (is_trivial_indirect_ref): Likewise.
32006         (dwarf2out_late_global_decl): Likewise.
32007         (dwarf_file_hasher::hash): Likewise.
32008         (dwarf2out_end_source_file): Likewise.
32009         (dwarf2out_define): Likewise.
32010         (dwarf2out_early_finish): Likewise.
32011         * dwarf2out.h (struct dw_fde_node): Likewise.
32012         (struct dw_discr_list_node): Likewise.
32013         (output_loc_sequence_raw): Likewise.
32014         * emit-rtl.cc (gen_raw_REG): Likewise.
32015         (maybe_set_max_label_num): Likewise.
32016         * emit-rtl.h (struct rtl_data): Likewise.
32017         * errors.cc (internal_error): Likewise.
32018         (trim_filename): Likewise.
32019         * et-forest.cc: Likewise.
32020         * except.cc (init_eh_for_function): Likewise.
32021         * explow.cc (promote_ssa_mode): Likewise.
32022         (get_dynamic_stack_size): Likewise.
32023         * explow.h: Likewise.
32024         * expmed.h: Likewise.
32025         * expr.cc (safe_from_p): Likewise.
32026         (expand_expr_real_2): Likewise.
32027         (expand_expr_real_1): Likewise.
32028         * file-prefix-map.cc (remap_filename): Likewise.
32029         * final.cc (app_enable): Likewise.
32030         (make_pass_compute_alignments): Likewise.
32031         (final_scan_insn_1): Likewise.
32032         (final_scan_insn): Likewise.
32033         * fixed-value.h (fixed_from_string): Likewise.
32034         * flag-types.h (NO_DEBUG): Likewise.
32035         (DWARF2_DEBUG): Likewise.
32036         (VMS_DEBUG): Likewise.
32037         (BTF_DEBUG): Likewise.
32038         (enum ctf_debug_info_levels): Likewise.
32039         * fold-const.cc (const_binop): Likewise.
32040         (fold_binary_loc): Likewise.
32041         (fold_checksum_tree): Likewise.
32042         * fp-test.cc: Likewise.
32043         * function.cc (expand_function_end): Likewise.
32044         * function.h (struct function): Likewise.
32045         * fwprop.cc (should_replace_address): Likewise.
32046         * gcc-main.cc: Likewise.
32047         * gcc-rich-location.h (class gcc_rich_location): Likewise.
32048         * gcc-symtab.h: Likewise.
32049         * gcc.cc (MIN_FATAL_STATUS): Likewise.
32050         (driver_handle_option): Likewise.
32051         (quote_spec_arg): Likewise.
32052         (driver::finalize): Likewise.
32053         * gcc.h (set_input): Likewise.
32054         * gcov-dump.cc: Likewise.
32055         * gcov.cc (solve_flow_graph): Likewise.
32056         * gcse-common.cc: Likewise.
32057         * gcse.cc (make_pass_rtl_hoist): Likewise.
32058         * genattr-common.cc: Likewise.
32059         * genattrtab.cc (min_fn): Likewise.
32060         (write_const_num_delay_slots): Likewise.
32061         * genautomata.cc: Likewise.
32062         * genconditions.cc (write_one_condition): Likewise.
32063         * genconstants.cc: Likewise.
32064         * genemit.cc (gen_exp): Likewise.
32065         * generic-match-head.cc: Likewise.
32066         * genextract.cc: Likewise.
32067         * gengenrtl.cc (always_void_p): Likewise.
32068         * gengtype-parse.cc (gtymarker_opt): Likewise.
32069         * gengtype-state.cc (state_writer::state_writer): Likewise.
32070         (write_state_trailer): Likewise.
32071         (equals_type_number): Likewise.
32072         (read_state): Likewise.
32073         * gengtype.cc (open_base_files): Likewise.
32074         (struct file_rule_st): Likewise.
32075         (header_dot_h_frul): Likewise.
32076         * gengtype.h: Likewise.
32077         * genmatch.cc (main): Likewise.
32078         * genmddeps.cc: Likewise.
32079         * genmodes.cc (emit_mode_inner): Likewise.
32080         (emit_mode_unit_size): Likewise.
32081         * genpeep.cc (gen_peephole): Likewise.
32082         * genpreds.cc (write_tm_preds_h): Likewise.
32083         * genrecog.cc (validate_pattern): Likewise.
32084         (write_header): Likewise.
32085         (main): Likewise.
32086         * gensupport.cc (change_subst_attribute): Likewise.
32087         (traverse_c_tests): Likewise.
32088         (add_predicate): Likewise.
32089         (init_predicate_table): Likewise.
32090         * gensupport.h (struct optab_pattern): Likewise.
32091         (get_num_insn_codes): Likewise.
32092         (maybe_eval_c_test): Likewise.
32093         (struct pred_data): Likewise.
32094         * ggc-internal.h: Likewise.
32095         * gimple-fold.cc (maybe_fold_reference): Likewise.
32096         (get_range_strlen_tree): Likewise.
32097         * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
32098         * gimple-low.cc: Likewise.
32099         * gimple-match-head.cc (directly_supported_p): Likewise.
32100         * gimple-pretty-print.h: Likewise.
32101         * gimple-ssa-sprintf.cc (format_percent): Likewise.
32102         (adjust_range_for_overflow): Likewise.
32103         * gimple-streamer.h: Likewise.
32104         * gimple.h (struct GTY): Likewise.
32105         (is_gimple_resx): Likewise.
32106         * gimplify.cc (gimplify_expr): Likewise.
32107         (gimplify_init_constructor): Likewise.
32108         (omp_construct_selector_matches): Likewise.
32109         (gimplify_omp_target_update): Likewise.
32110         (gimplify_omp_ordered): Likewise.
32111         (gimplify_va_arg_expr): Likewise.
32112         * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
32113         * haifa-sched.cc (increase_insn_priority): Likewise.
32114         (try_ready): Likewise.
32115         (sched_create_recovery_edges): Likewise.
32116         * ifcvt.cc (find_if_case_1): Likewise.
32117         (find_if_case_2): Likewise.
32118         * inchash.h: Likewise.
32119         * incpath.cc (add_env_var_paths): Likewise.
32120         * input.cc (dump_location_info): Likewise.
32121         (assert_loceq): Likewise.
32122         (test_lexer_string_locations_concatenation_1): Likewise.
32123         (test_lexer_string_locations_concatenation_2): Likewise.
32124         (test_lexer_string_locations_concatenation_3): Likewise.
32125         * input.h (BUILTINS_LOCATION): Likewise.
32126         (class string_concat_db): Likewise.
32127         * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
32128         (expand_LOOP_VECTORIZED): Likewise.
32129         * ipa-cp.cc (make_pass_ipa_cp): Likewise.
32130         * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
32131         (ipa_fn_summary_t::duplicate): Likewise.
32132         (make_pass_ipa_fn_summary): Likewise.
32133         * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
32134         * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
32135         (free_lang_data_in_decl): Likewise.
32136         * ipa-inline.cc (compute_inlined_call_time): Likewise.
32137         (inline_always_inline_functions): Likewise.
32138         * ipa-inline.h (free_growth_caches): Likewise.
32139         (inline_account_function_p): Likewise.
32140         * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
32141         (modref_eaf_analysis::analyze_ssa_name): Likewise.
32142         * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
32143         (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
32144         * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
32145         * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
32146         (unadjusted_ptr_and_unit_offset): Likewise.
32147         * ipa-reference.cc (make_pass_ipa_reference): Likewise.
32148         * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
32149         * ipa-split.cc (consider_split): Likewise.
32150         * ipa-sra.cc (isra_read_node_info): Likewise.
32151         * ipa-utils.h (struct ipa_dfs_info): Likewise.
32152         (recursive_call_p): Likewise.
32153         (ipa_make_function_pure): Likewise.
32154         * ira-build.cc (ira_create_allocno): Likewise.
32155         (ira_flattening): Likewise.
32156         * ira-color.cc (do_coloring): Likewise.
32157         (update_curr_costs): Likewise.
32158         * ira-conflicts.cc (process_regs_for_copy): Likewise.
32159         * ira-int.h (struct ira_emit_data): Likewise.
32160         (ira_prohibited_mode_move_regs): Likewise.
32161         (ira_get_dup_out_num): Likewise.
32162         (ira_destroy): Likewise.
32163         (ira_tune_allocno_costs): Likewise.
32164         (ira_implicitly_set_insn_hard_regs): Likewise.
32165         (ira_build_conflicts): Likewise.
32166         (ira_color): Likewise.
32167         * ira-lives.cc (process_bb_node_lives): Likewise.
32168         * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
32169         (setup_uniform_class_p): Likewise.
32170         (def_dominates_uses): Likewise.
32171         * ira.h (ira_nullify_asm_goto): Likewise.
32172         * langhooks.cc (lhd_post_options): Likewise.
32173         * langhooks.h (class substring_loc): Likewise.
32174         (struct lang_hooks_for_tree_inlining): Likewise.
32175         (struct lang_hooks_for_types): Likewise.
32176         (struct lang_hooks): Likewise.
32177         * libfuncs.h (synchronize_libfunc): Likewise.
32178         * loop-doloop.cc (doloop_condition_get): Likewise.
32179         * loop-init.cc (fix_loop_structure): Likewise.
32180         * loop-invariant.cc: Likewise.
32181         * lower-subreg.h: Likewise.
32182         * lra-constraints.cc (curr_insn_transform): Likewise.
32183         * lra-int.h (struct lra_insn_reg): Likewise.
32184         (lra_undo_inheritance): Likewise.
32185         (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
32186         (lra_split_hard_reg_for): Likewise.
32187         (lra_coalesce): Likewise.
32188         (lra_final_code_change): Likewise.
32189         * lra-spills.cc (lra_final_code_change): Likewise.
32190         * lra.cc (lra_process_new_insns): Likewise.
32191         * lto-compress.h (struct lto_compression_stream): Likewise.
32192         * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
32193         (write_symbol): Likewise.
32194         * lto-streamer.h (enum LTO_tags): Likewise.
32195         (lto_value_range_error): Likewise.
32196         (lto_append_block): Likewise.
32197         (lto_streamer_hooks_init): Likewise.
32198         (stream_read_tree_ref): Likewise.
32199         (lto_prepare_function_for_streaming): Likewise.
32200         (select_what_to_stream): Likewise.
32201         (omp_lto_input_declare_variant_alt): Likewise.
32202         (cl_optimization_stream_in): Likewise.
32203         * lto-wrapper.cc (append_compiler_options): Likewise.
32204         * machmode.def: Likewise.
32205         * machmode.h (struct int_n_data_t): Likewise.
32206         * main.cc (main): Likewise.
32207         * match.pd: Likewise.
32208         * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
32209         (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
32210         * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
32211         (make_pass_expand_omp_ssa): Likewise.
32212         * omp-low.cc (struct omp_context): Likewise.
32213         (struct omp_taskcopy_context): Likewise.
32214         (lower_omp): Likewise.
32215         * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
32216         (mask_name): Likewise.
32217         (omp_sese_dump_pars): Likewise.
32218         (worker_single_simple): Likewise.
32219         * omp-offload.cc (omp_finish_file): Likewise.
32220         (execute_oacc_loop_designation): Likewise.
32221         * optabs-query.cc (lshift_cheap_p): Likewise.
32222         * optc-gen.awk: Likewise.
32223         * optc-save-gen.awk: Likewise.
32224         * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
32225         * opts-common.cc: Likewise.
32226         * output.h (app_enable): Likewise.
32227         (output_operand_lossage): Likewise.
32228         (insn_current_reference_address): Likewise.
32229         (get_insn_template): Likewise.
32230         (output_quoted_string): Likewise.
32231         * pass_manager.h (struct register_pass_info): Likewise.
32232         * plugin.cc: Likewise.
32233         * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
32234         * plugin.h (invoke_plugin_callbacks): Likewise.
32235         * pointer-query.cc (handle_mem_ref): Likewise.
32236         * postreload-gcse.cc (alloc_mem): Likewise.
32237         * predict.h (enum prediction): Likewise.
32238         (add_reg_br_prob_note): Likewise.
32239         * prefix.h: Likewise.
32240         * profile.h (get_working_sets): Likewise.
32241         * read-md.cc: Likewise.
32242         * read-md.h (struct mapping): Likewise.
32243         (class md_reader): Likewise.
32244         (class noop_reader): Likewise.
32245         * read-rtl-function.cc (function_reader::create_function): Likewise.
32246         (function_reader::extra_parsing_for_operand_code_0): Likewise.
32247         * read-rtl.cc (initialize_iterators): Likewise.
32248         * real.cc: Likewise.
32249         * real.h (struct real_value): Likewise.
32250         (format_helper::format_helper): Likewise.
32251         (real_hash): Likewise.
32252         (real_can_shorten_arithmetic): Likewise.
32253         * recog.cc (struct target_recog): Likewise.
32254         (offsettable_nonstrict_memref_p): Likewise.
32255         (constrain_operands): Likewise.
32256         * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
32257         (which_op_alt): Likewise.
32258         (struct insn_gen_fn): Likewise.
32259         * reg-notes.def (REG_NOTE): Likewise.
32260         * reg-stack.cc: Likewise.
32261         * regs.h (reg_is_parm_p): Likewise.
32262         * regset.h: Likewise.
32263         * reload.cc (push_reload): Likewise.
32264         (find_reloads): Likewise.
32265         (find_reloads_address_1): Likewise.
32266         (find_replacement): Likewise.
32267         (refers_to_regno_for_reload_p): Likewise.
32268         (refers_to_mem_for_reload_p): Likewise.
32269         * reload.h (push_reload): Likewise.
32270         (deallocate_reload_reg): Likewise.
32271         * reload1.cc (emit_input_reload_insns): Likewise.
32272         * reorg.cc (relax_delay_slots): Likewise.
32273         * rtl.def (UNKNOWN): Likewise.
32274         (SEQUENCE): Likewise.
32275         (BARRIER): Likewise.
32276         (ASM_OPERANDS): Likewise.
32277         (EQ_ATTR_ALT): Likewise.
32278         * rtl.h (struct GTY): Likewise.
32279         (LABEL_NAME): Likewise.
32280         (LABEL_ALT_ENTRY_P): Likewise.
32281         (SUBREG_BYTE): Likewise.
32282         (get_stack_check_protect): Likewise.
32283         (dump_rtx_statistics): Likewise.
32284         (unwrap_const_vec_duplicate): Likewise.
32285         (subreg_promoted_mode): Likewise.
32286         (gen_lowpart_common): Likewise.
32287         (operand_subword): Likewise.
32288         (immed_wide_int_const): Likewise.
32289         (decide_function_section): Likewise.
32290         (active_insn_p): Likewise.
32291         (delete_related_insns): Likewise.
32292         (try_split): Likewise.
32293         (val_signbit_known_clear_p): Likewise.
32294         (simplifiable_subregs): Likewise.
32295         (set_insn_deleted): Likewise.
32296         (subreg_get_info): Likewise.
32297         (remove_free_EXPR_LIST_node): Likewise.
32298         (finish_subregs_of_mode): Likewise.
32299         (get_mem_attrs): Likewise.
32300         (lookup_constant_def): Likewise.
32301         (rtx_to_tree_code): Likewise.
32302         (hash_rtx): Likewise.
32303         (condjump_in_parallel_p): Likewise.
32304         (validate_subreg): Likewise.
32305         (make_compound_operation): Likewise.
32306         (schedule_ebbs): Likewise.
32307         (print_inline_rtx): Likewise.
32308         (fixup_args_size_notes): Likewise.
32309         (expand_dec): Likewise.
32310         (prepare_copy_insn): Likewise.
32311         (mark_elimination): Likewise.
32312         (valid_mode_changes_for_regno): Likewise.
32313         (make_debug_expr_from_rtl): Likewise.
32314         (delete_vta_debug_insns): Likewise.
32315         (simplify_using_condition): Likewise.
32316         (set_insn_locations): Likewise.
32317         (fatal_insn_not_found): Likewise.
32318         (word_register_operation_p): Likewise.
32319         * rtlanal.cc (get_call_fndecl): Likewise.
32320         (side_effects_p): Likewise.
32321         (subreg_nregs): Likewise.
32322         (rtx_cost): Likewise.
32323         (canonicalize_condition): Likewise.
32324         * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
32325         * run-rtl-passes.cc (run_rtl_passes): Likewise.
32326         * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
32327         * sched-deps.cc (add_dependence_1): Likewise.
32328         * sched-ebb.cc (begin_move_insn): Likewise.
32329         (add_deps_for_risky_insns): Likewise.
32330         (advance_target_bb): Likewise.
32331         * sched-int.h (reemit_notes): Likewise.
32332         (struct _haifa_insn_data): Likewise.
32333         (HID): Likewise.
32334         (DEP_CANCELLED): Likewise.
32335         (debug_ds): Likewise.
32336         (number_in_ready): Likewise.
32337         (schedule_ebbs_finish): Likewise.
32338         (find_modifiable_mems): Likewise.
32339         * sched-rgn.cc (debug_rgn_dependencies): Likewise.
32340         * sel-sched-dump.cc (dump_lv_set): Likewise.
32341         * sel-sched-dump.h: Likewise.
32342         * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
32343         (setup_id_reg_sets): Likewise.
32344         (has_dependence_p): Likewise.
32345         (sel_num_cfg_preds_gt_1): Likewise.
32346         (bb_ends_ebb_p): Likewise.
32347         * sel-sched-ir.h (struct _list_node): Likewise.
32348         (struct idata_def): Likewise.
32349         (bb_next_bb): Likewise.
32350         * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
32351         (choose_best_pseudo_reg): Likewise.
32352         (verify_target_availability): Likewise.
32353         (can_speculate_dep_p): Likewise.
32354         (sel_rank_for_schedule): Likewise.
32355         * selftest-run-tests.cc (selftest::run_tests): Likewise.
32356         * selftest.h (class auto_fix_quotes): Likewise.
32357         * shrink-wrap.cc (handle_simple_exit): Likewise.
32358         * shrink-wrap.h: Likewise.
32359         * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
32360         (simplify_context::simplify_gen_vec_select): Likewise.
32361         * spellcheck-tree.h: Likewise.
32362         * spellcheck.h: Likewise.
32363         * statistics.h (struct function): Likewise.
32364         * stmt.cc (conditional_probability): Likewise.
32365         * stmt.h: Likewise.
32366         * stor-layout.h: Likewise.
32367         * streamer-hooks.h: Likewise.
32368         * stringpool.h: Likewise.
32369         * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
32370         * target.def (HOOK_VECTOR_END): Likewise.
32371         (type.): Likewise.
32372         * target.h (union cumulative_args_t): Likewise.
32373         (by_pieces_ninsns): Likewise.
32374         (class predefined_function_abi): Likewise.
32375         * targhooks.cc (default_translate_mode_attribute): Likewise.
32376         * timevar.def: Likewise.
32377         * timevar.h (class timer): Likewise.
32378         * toplev.h (enable_rtl_dump_file): Likewise.
32379         * trans-mem.cc (collect_bb2reg): Likewise.
32380         * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
32381         * tree-cfg.cc (remove_bb): Likewise.
32382         (verify_gimple_debug): Likewise.
32383         (remove_edge_and_dominated_blocks): Likewise.
32384         (push_fndecl): Likewise.
32385         * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
32386         * tree-complex.cc (expand_complex_multiplication): Likewise.
32387         (expand_complex_div_straight): Likewise.
32388         * tree-core.h (enum tree_index): Likewise.
32389         (enum operand_equal_flag): Likewise.
32390         * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
32391         * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
32392         * tree-inline.cc (initialize_inlined_parameters): Likewise.
32393         * tree-inline.h (force_value_to_type): Likewise.
32394         * tree-nested.cc (get_chain_decl): Likewise.
32395         (walk_all_functions): Likewise.
32396         * tree-object-size.h: Likewise.
32397         * tree-outof-ssa.cc: Likewise.
32398         * tree-parloops.cc (create_parallel_loop): Likewise.
32399         * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
32400         (dump_generic_node): Likewise.
32401         * tree-profile.cc (tree_profiling): Likewise.
32402         * tree-sra.cc (maybe_add_sra_candidate): Likewise.
32403         * tree-ssa-address.cc: Likewise.
32404         * tree-ssa-alias.cc: Likewise.
32405         * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
32406         (dump_alias_stats): Likewise.
32407         * tree-ssa-ccp.cc: Likewise.
32408         * tree-ssa-coalesce.h: Likewise.
32409         * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
32410         * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
32411         * tree-ssa-loop-unswitch.cc: Likewise.
32412         * tree-ssa-math-opts.cc: Likewise.
32413         * tree-ssa-operands.cc (class operands_scanner): Likewise.
32414         * tree-ssa-pre.cc: Likewise.
32415         * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
32416         (debug_range_entry): Likewise.
32417         * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
32418         * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
32419         * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
32420         (equal_mem_array_ref_p): Likewise.
32421         * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
32422         * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
32423         * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
32424         * tree-ssa-ter.h: Likewise.
32425         * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
32426         * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
32427         * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
32428         (write_ts_block_tree_pointers): Likewise.
32429         * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
32430         (streamer_read_tree_bitfields): Likewise.
32431         (streamer_write_integer_cst): Likewise.
32432         * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
32433         (vect_synth_mult_by_constant): Likewise.
32434         * tree-vect-stmts.cc (vectorizable_operation): Likewise.
32435         * tree-vectorizer.cc: Likewise.
32436         * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
32437         (vect_update_inits_of_drs): Likewise.
32438         (vect_get_mask_type_for_stmt): Likewise.
32439         (vect_rgroup_iv_might_wrap_p): Likewise.
32440         (cse_and_gimplify_to_preheader): Likewise.
32441         (vect_free_slp_tree): Likewise.
32442         (vect_pattern_recog): Likewise.
32443         (vect_stmt_dominates_stmt_p): Likewise.
32444         * tree.cc (initialize_tree_contains_struct): Likewise.
32445         (need_assembler_name_p): Likewise.
32446         (type_with_interoperable_signedness): Likewise.
32447         * tree.def (SWITCH_EXPR): Likewise.
32448         * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
32449         (poly_int_tree_p): Likewise.
32450         (inlined_function_outer_scope_p): Likewise.
32451         (tree_code_for_canonical_type_merging): Likewise.
32452         * value-prof.cc: Likewise.
32453         * value-prof.h (get_nth_most_common_value): Likewise.
32454         (find_func_by_profile_id): Likewise.
32455         * value-range.cc (vrp_operand_equal_p): Likewise.
32456         * value-range.h: Likewise.
32457         * var-tracking.cc: Likewise.
32458         * varasm.cc (default_function_section): Likewise.
32459         (function_section_1): Likewise.
32460         (assemble_variable): Likewise.
32461         (handle_vtv_comdat_section): Likewise.
32462         * vec.h (struct vec_prefix): Likewise.
32463         * vmsdbgout.cc (full_name): Likewise.
32464         * vtable-verify.cc: Likewise.
32465         * vtable-verify.h (struct vtv_graph_node): Likewise.
32466         * xcoffout.cc: Likewise.
32467         * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
32469 2022-01-17  Martin Liska  <mliska@suse.cz>
32471         * adjust-alignment.c: Moved to...
32472         * adjust-alignment.cc: ...here.
32473         * alias.c: Moved to...
32474         * alias.cc: ...here.
32475         * alloc-pool.c: Moved to...
32476         * alloc-pool.cc: ...here.
32477         * asan.c: Moved to...
32478         * asan.cc: ...here.
32479         * attribs.c: Moved to...
32480         * attribs.cc: ...here.
32481         * auto-inc-dec.c: Moved to...
32482         * auto-inc-dec.cc: ...here.
32483         * auto-profile.c: Moved to...
32484         * auto-profile.cc: ...here.
32485         * bb-reorder.c: Moved to...
32486         * bb-reorder.cc: ...here.
32487         * bitmap.c: Moved to...
32488         * bitmap.cc: ...here.
32489         * btfout.c: Moved to...
32490         * btfout.cc: ...here.
32491         * builtins.c: Moved to...
32492         * builtins.cc: ...here.
32493         * caller-save.c: Moved to...
32494         * caller-save.cc: ...here.
32495         * calls.c: Moved to...
32496         * calls.cc: ...here.
32497         * ccmp.c: Moved to...
32498         * ccmp.cc: ...here.
32499         * cfg.c: Moved to...
32500         * cfg.cc: ...here.
32501         * cfganal.c: Moved to...
32502         * cfganal.cc: ...here.
32503         * cfgbuild.c: Moved to...
32504         * cfgbuild.cc: ...here.
32505         * cfgcleanup.c: Moved to...
32506         * cfgcleanup.cc: ...here.
32507         * cfgexpand.c: Moved to...
32508         * cfgexpand.cc: ...here.
32509         * cfghooks.c: Moved to...
32510         * cfghooks.cc: ...here.
32511         * cfgloop.c: Moved to...
32512         * cfgloop.cc: ...here.
32513         * cfgloopanal.c: Moved to...
32514         * cfgloopanal.cc: ...here.
32515         * cfgloopmanip.c: Moved to...
32516         * cfgloopmanip.cc: ...here.
32517         * cfgrtl.c: Moved to...
32518         * cfgrtl.cc: ...here.
32519         * cgraph.c: Moved to...
32520         * cgraph.cc: ...here.
32521         * cgraphbuild.c: Moved to...
32522         * cgraphbuild.cc: ...here.
32523         * cgraphclones.c: Moved to...
32524         * cgraphclones.cc: ...here.
32525         * cgraphunit.c: Moved to...
32526         * cgraphunit.cc: ...here.
32527         * collect-utils.c: Moved to...
32528         * collect-utils.cc: ...here.
32529         * collect2-aix.c: Moved to...
32530         * collect2-aix.cc: ...here.
32531         * collect2.c: Moved to...
32532         * collect2.cc: ...here.
32533         * combine-stack-adj.c: Moved to...
32534         * combine-stack-adj.cc: ...here.
32535         * combine.c: Moved to...
32536         * combine.cc: ...here.
32537         * common/common-targhooks.c: Moved to...
32538         * common/common-targhooks.cc: ...here.
32539         * common/config/aarch64/aarch64-common.c: Moved to...
32540         * common/config/aarch64/aarch64-common.cc: ...here.
32541         * common/config/alpha/alpha-common.c: Moved to...
32542         * common/config/alpha/alpha-common.cc: ...here.
32543         * common/config/arc/arc-common.c: Moved to...
32544         * common/config/arc/arc-common.cc: ...here.
32545         * common/config/arm/arm-common.c: Moved to...
32546         * common/config/arm/arm-common.cc: ...here.
32547         * common/config/avr/avr-common.c: Moved to...
32548         * common/config/avr/avr-common.cc: ...here.
32549         * common/config/bfin/bfin-common.c: Moved to...
32550         * common/config/bfin/bfin-common.cc: ...here.
32551         * common/config/bpf/bpf-common.c: Moved to...
32552         * common/config/bpf/bpf-common.cc: ...here.
32553         * common/config/c6x/c6x-common.c: Moved to...
32554         * common/config/c6x/c6x-common.cc: ...here.
32555         * common/config/cr16/cr16-common.c: Moved to...
32556         * common/config/cr16/cr16-common.cc: ...here.
32557         * common/config/cris/cris-common.c: Moved to...
32558         * common/config/cris/cris-common.cc: ...here.
32559         * common/config/csky/csky-common.c: Moved to...
32560         * common/config/csky/csky-common.cc: ...here.
32561         * common/config/default-common.c: Moved to...
32562         * common/config/default-common.cc: ...here.
32563         * common/config/epiphany/epiphany-common.c: Moved to...
32564         * common/config/epiphany/epiphany-common.cc: ...here.
32565         * common/config/fr30/fr30-common.c: Moved to...
32566         * common/config/fr30/fr30-common.cc: ...here.
32567         * common/config/frv/frv-common.c: Moved to...
32568         * common/config/frv/frv-common.cc: ...here.
32569         * common/config/gcn/gcn-common.c: Moved to...
32570         * common/config/gcn/gcn-common.cc: ...here.
32571         * common/config/h8300/h8300-common.c: Moved to...
32572         * common/config/h8300/h8300-common.cc: ...here.
32573         * common/config/i386/i386-common.c: Moved to...
32574         * common/config/i386/i386-common.cc: ...here.
32575         * common/config/ia64/ia64-common.c: Moved to...
32576         * common/config/ia64/ia64-common.cc: ...here.
32577         * common/config/iq2000/iq2000-common.c: Moved to...
32578         * common/config/iq2000/iq2000-common.cc: ...here.
32579         * common/config/lm32/lm32-common.c: Moved to...
32580         * common/config/lm32/lm32-common.cc: ...here.
32581         * common/config/m32r/m32r-common.c: Moved to...
32582         * common/config/m32r/m32r-common.cc: ...here.
32583         * common/config/m68k/m68k-common.c: Moved to...
32584         * common/config/m68k/m68k-common.cc: ...here.
32585         * common/config/mcore/mcore-common.c: Moved to...
32586         * common/config/mcore/mcore-common.cc: ...here.
32587         * common/config/microblaze/microblaze-common.c: Moved to...
32588         * common/config/microblaze/microblaze-common.cc: ...here.
32589         * common/config/mips/mips-common.c: Moved to...
32590         * common/config/mips/mips-common.cc: ...here.
32591         * common/config/mmix/mmix-common.c: Moved to...
32592         * common/config/mmix/mmix-common.cc: ...here.
32593         * common/config/mn10300/mn10300-common.c: Moved to...
32594         * common/config/mn10300/mn10300-common.cc: ...here.
32595         * common/config/msp430/msp430-common.c: Moved to...
32596         * common/config/msp430/msp430-common.cc: ...here.
32597         * common/config/nds32/nds32-common.c: Moved to...
32598         * common/config/nds32/nds32-common.cc: ...here.
32599         * common/config/nios2/nios2-common.c: Moved to...
32600         * common/config/nios2/nios2-common.cc: ...here.
32601         * common/config/nvptx/nvptx-common.c: Moved to...
32602         * common/config/nvptx/nvptx-common.cc: ...here.
32603         * common/config/or1k/or1k-common.c: Moved to...
32604         * common/config/or1k/or1k-common.cc: ...here.
32605         * common/config/pa/pa-common.c: Moved to...
32606         * common/config/pa/pa-common.cc: ...here.
32607         * common/config/pdp11/pdp11-common.c: Moved to...
32608         * common/config/pdp11/pdp11-common.cc: ...here.
32609         * common/config/pru/pru-common.c: Moved to...
32610         * common/config/pru/pru-common.cc: ...here.
32611         * common/config/riscv/riscv-common.c: Moved to...
32612         * common/config/riscv/riscv-common.cc: ...here.
32613         * common/config/rs6000/rs6000-common.c: Moved to...
32614         * common/config/rs6000/rs6000-common.cc: ...here.
32615         * common/config/rx/rx-common.c: Moved to...
32616         * common/config/rx/rx-common.cc: ...here.
32617         * common/config/s390/s390-common.c: Moved to...
32618         * common/config/s390/s390-common.cc: ...here.
32619         * common/config/sh/sh-common.c: Moved to...
32620         * common/config/sh/sh-common.cc: ...here.
32621         * common/config/sparc/sparc-common.c: Moved to...
32622         * common/config/sparc/sparc-common.cc: ...here.
32623         * common/config/tilegx/tilegx-common.c: Moved to...
32624         * common/config/tilegx/tilegx-common.cc: ...here.
32625         * common/config/tilepro/tilepro-common.c: Moved to...
32626         * common/config/tilepro/tilepro-common.cc: ...here.
32627         * common/config/v850/v850-common.c: Moved to...
32628         * common/config/v850/v850-common.cc: ...here.
32629         * common/config/vax/vax-common.c: Moved to...
32630         * common/config/vax/vax-common.cc: ...here.
32631         * common/config/visium/visium-common.c: Moved to...
32632         * common/config/visium/visium-common.cc: ...here.
32633         * common/config/xstormy16/xstormy16-common.c: Moved to...
32634         * common/config/xstormy16/xstormy16-common.cc: ...here.
32635         * common/config/xtensa/xtensa-common.c: Moved to...
32636         * common/config/xtensa/xtensa-common.cc: ...here.
32637         * compare-elim.c: Moved to...
32638         * compare-elim.cc: ...here.
32639         * config/aarch64/aarch64-bti-insert.c: Moved to...
32640         * config/aarch64/aarch64-bti-insert.cc: ...here.
32641         * config/aarch64/aarch64-builtins.c: Moved to...
32642         * config/aarch64/aarch64-builtins.cc: ...here.
32643         * config/aarch64/aarch64-c.c: Moved to...
32644         * config/aarch64/aarch64-c.cc: ...here.
32645         * config/aarch64/aarch64-d.c: Moved to...
32646         * config/aarch64/aarch64-d.cc: ...here.
32647         * config/aarch64/aarch64.c: Moved to...
32648         * config/aarch64/aarch64.cc: ...here.
32649         * config/aarch64/cortex-a57-fma-steering.c: Moved to...
32650         * config/aarch64/cortex-a57-fma-steering.cc: ...here.
32651         * config/aarch64/driver-aarch64.c: Moved to...
32652         * config/aarch64/driver-aarch64.cc: ...here.
32653         * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
32654         * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
32655         * config/aarch64/host-aarch64-darwin.c: Moved to...
32656         * config/aarch64/host-aarch64-darwin.cc: ...here.
32657         * config/alpha/alpha.c: Moved to...
32658         * config/alpha/alpha.cc: ...here.
32659         * config/alpha/driver-alpha.c: Moved to...
32660         * config/alpha/driver-alpha.cc: ...here.
32661         * config/arc/arc-c.c: Moved to...
32662         * config/arc/arc-c.cc: ...here.
32663         * config/arc/arc.c: Moved to...
32664         * config/arc/arc.cc: ...here.
32665         * config/arc/driver-arc.c: Moved to...
32666         * config/arc/driver-arc.cc: ...here.
32667         * config/arm/aarch-common.c: Moved to...
32668         * config/arm/aarch-common.cc: ...here.
32669         * config/arm/arm-builtins.c: Moved to...
32670         * config/arm/arm-builtins.cc: ...here.
32671         * config/arm/arm-c.c: Moved to...
32672         * config/arm/arm-c.cc: ...here.
32673         * config/arm/arm-d.c: Moved to...
32674         * config/arm/arm-d.cc: ...here.
32675         * config/arm/arm.c: Moved to...
32676         * config/arm/arm.cc: ...here.
32677         * config/arm/driver-arm.c: Moved to...
32678         * config/arm/driver-arm.cc: ...here.
32679         * config/avr/avr-c.c: Moved to...
32680         * config/avr/avr-c.cc: ...here.
32681         * config/avr/avr-devices.c: Moved to...
32682         * config/avr/avr-devices.cc: ...here.
32683         * config/avr/avr-log.c: Moved to...
32684         * config/avr/avr-log.cc: ...here.
32685         * config/avr/avr.c: Moved to...
32686         * config/avr/avr.cc: ...here.
32687         * config/avr/driver-avr.c: Moved to...
32688         * config/avr/driver-avr.cc: ...here.
32689         * config/avr/gen-avr-mmcu-specs.c: Moved to...
32690         * config/avr/gen-avr-mmcu-specs.cc: ...here.
32691         * config/avr/gen-avr-mmcu-texi.c: Moved to...
32692         * config/avr/gen-avr-mmcu-texi.cc: ...here.
32693         * config/bfin/bfin.c: Moved to...
32694         * config/bfin/bfin.cc: ...here.
32695         * config/bpf/bpf.c: Moved to...
32696         * config/bpf/bpf.cc: ...here.
32697         * config/bpf/coreout.c: Moved to...
32698         * config/bpf/coreout.cc: ...here.
32699         * config/c6x/c6x.c: Moved to...
32700         * config/c6x/c6x.cc: ...here.
32701         * config/cr16/cr16.c: Moved to...
32702         * config/cr16/cr16.cc: ...here.
32703         * config/cris/cris.c: Moved to...
32704         * config/cris/cris.cc: ...here.
32705         * config/csky/csky.c: Moved to...
32706         * config/csky/csky.cc: ...here.
32707         * config/darwin-c.c: Moved to...
32708         * config/darwin-c.cc: ...here.
32709         * config/darwin-d.c: Moved to...
32710         * config/darwin-d.cc: ...here.
32711         * config/darwin-driver.c: Moved to...
32712         * config/darwin-driver.cc: ...here.
32713         * config/darwin-f.c: Moved to...
32714         * config/darwin-f.cc: ...here.
32715         * config/darwin.c: Moved to...
32716         * config/darwin.cc: ...here.
32717         * config/default-c.c: Moved to...
32718         * config/default-c.cc: ...here.
32719         * config/default-d.c: Moved to...
32720         * config/default-d.cc: ...here.
32721         * config/dragonfly-d.c: Moved to...
32722         * config/dragonfly-d.cc: ...here.
32723         * config/epiphany/epiphany.c: Moved to...
32724         * config/epiphany/epiphany.cc: ...here.
32725         * config/epiphany/mode-switch-use.c: Moved to...
32726         * config/epiphany/mode-switch-use.cc: ...here.
32727         * config/epiphany/resolve-sw-modes.c: Moved to...
32728         * config/epiphany/resolve-sw-modes.cc: ...here.
32729         * config/fr30/fr30.c: Moved to...
32730         * config/fr30/fr30.cc: ...here.
32731         * config/freebsd-d.c: Moved to...
32732         * config/freebsd-d.cc: ...here.
32733         * config/frv/frv.c: Moved to...
32734         * config/frv/frv.cc: ...here.
32735         * config/ft32/ft32.c: Moved to...
32736         * config/ft32/ft32.cc: ...here.
32737         * config/gcn/driver-gcn.c: Moved to...
32738         * config/gcn/driver-gcn.cc: ...here.
32739         * config/gcn/gcn-run.c: Moved to...
32740         * config/gcn/gcn-run.cc: ...here.
32741         * config/gcn/gcn-tree.c: Moved to...
32742         * config/gcn/gcn-tree.cc: ...here.
32743         * config/gcn/gcn.c: Moved to...
32744         * config/gcn/gcn.cc: ...here.
32745         * config/gcn/mkoffload.c: Moved to...
32746         * config/gcn/mkoffload.cc: ...here.
32747         * config/glibc-c.c: Moved to...
32748         * config/glibc-c.cc: ...here.
32749         * config/glibc-d.c: Moved to...
32750         * config/glibc-d.cc: ...here.
32751         * config/h8300/h8300.c: Moved to...
32752         * config/h8300/h8300.cc: ...here.
32753         * config/host-darwin.c: Moved to...
32754         * config/host-darwin.cc: ...here.
32755         * config/host-hpux.c: Moved to...
32756         * config/host-hpux.cc: ...here.
32757         * config/host-linux.c: Moved to...
32758         * config/host-linux.cc: ...here.
32759         * config/host-netbsd.c: Moved to...
32760         * config/host-netbsd.cc: ...here.
32761         * config/host-openbsd.c: Moved to...
32762         * config/host-openbsd.cc: ...here.
32763         * config/host-solaris.c: Moved to...
32764         * config/host-solaris.cc: ...here.
32765         * config/i386/djgpp.c: Moved to...
32766         * config/i386/djgpp.cc: ...here.
32767         * config/i386/driver-i386.c: Moved to...
32768         * config/i386/driver-i386.cc: ...here.
32769         * config/i386/driver-mingw32.c: Moved to...
32770         * config/i386/driver-mingw32.cc: ...here.
32771         * config/i386/gnu-property.c: Moved to...
32772         * config/i386/gnu-property.cc: ...here.
32773         * config/i386/host-cygwin.c: Moved to...
32774         * config/i386/host-cygwin.cc: ...here.
32775         * config/i386/host-i386-darwin.c: Moved to...
32776         * config/i386/host-i386-darwin.cc: ...here.
32777         * config/i386/host-mingw32.c: Moved to...
32778         * config/i386/host-mingw32.cc: ...here.
32779         * config/i386/i386-builtins.c: Moved to...
32780         * config/i386/i386-builtins.cc: ...here.
32781         * config/i386/i386-c.c: Moved to...
32782         * config/i386/i386-c.cc: ...here.
32783         * config/i386/i386-d.c: Moved to...
32784         * config/i386/i386-d.cc: ...here.
32785         * config/i386/i386-expand.c: Moved to...
32786         * config/i386/i386-expand.cc: ...here.
32787         * config/i386/i386-features.c: Moved to...
32788         * config/i386/i386-features.cc: ...here.
32789         * config/i386/i386-options.c: Moved to...
32790         * config/i386/i386-options.cc: ...here.
32791         * config/i386/i386.c: Moved to...
32792         * config/i386/i386.cc: ...here.
32793         * config/i386/intelmic-mkoffload.c: Moved to...
32794         * config/i386/intelmic-mkoffload.cc: ...here.
32795         * config/i386/msformat-c.c: Moved to...
32796         * config/i386/msformat-c.cc: ...here.
32797         * config/i386/winnt-cxx.c: Moved to...
32798         * config/i386/winnt-cxx.cc: ...here.
32799         * config/i386/winnt-d.c: Moved to...
32800         * config/i386/winnt-d.cc: ...here.
32801         * config/i386/winnt-stubs.c: Moved to...
32802         * config/i386/winnt-stubs.cc: ...here.
32803         * config/i386/winnt.c: Moved to...
32804         * config/i386/winnt.cc: ...here.
32805         * config/i386/x86-tune-sched-atom.c: Moved to...
32806         * config/i386/x86-tune-sched-atom.cc: ...here.
32807         * config/i386/x86-tune-sched-bd.c: Moved to...
32808         * config/i386/x86-tune-sched-bd.cc: ...here.
32809         * config/i386/x86-tune-sched-core.c: Moved to...
32810         * config/i386/x86-tune-sched-core.cc: ...here.
32811         * config/i386/x86-tune-sched.c: Moved to...
32812         * config/i386/x86-tune-sched.cc: ...here.
32813         * config/ia64/ia64-c.c: Moved to...
32814         * config/ia64/ia64-c.cc: ...here.
32815         * config/ia64/ia64.c: Moved to...
32816         * config/ia64/ia64.cc: ...here.
32817         * config/iq2000/iq2000.c: Moved to...
32818         * config/iq2000/iq2000.cc: ...here.
32819         * config/linux.c: Moved to...
32820         * config/linux.cc: ...here.
32821         * config/lm32/lm32.c: Moved to...
32822         * config/lm32/lm32.cc: ...here.
32823         * config/m32c/m32c-pragma.c: Moved to...
32824         * config/m32c/m32c-pragma.cc: ...here.
32825         * config/m32c/m32c.c: Moved to...
32826         * config/m32c/m32c.cc: ...here.
32827         * config/m32r/m32r.c: Moved to...
32828         * config/m32r/m32r.cc: ...here.
32829         * config/m68k/m68k.c: Moved to...
32830         * config/m68k/m68k.cc: ...here.
32831         * config/mcore/mcore.c: Moved to...
32832         * config/mcore/mcore.cc: ...here.
32833         * config/microblaze/microblaze-c.c: Moved to...
32834         * config/microblaze/microblaze-c.cc: ...here.
32835         * config/microblaze/microblaze.c: Moved to...
32836         * config/microblaze/microblaze.cc: ...here.
32837         * config/mips/driver-native.c: Moved to...
32838         * config/mips/driver-native.cc: ...here.
32839         * config/mips/frame-header-opt.c: Moved to...
32840         * config/mips/frame-header-opt.cc: ...here.
32841         * config/mips/mips-d.c: Moved to...
32842         * config/mips/mips-d.cc: ...here.
32843         * config/mips/mips.c: Moved to...
32844         * config/mips/mips.cc: ...here.
32845         * config/mmix/mmix.c: Moved to...
32846         * config/mmix/mmix.cc: ...here.
32847         * config/mn10300/mn10300.c: Moved to...
32848         * config/mn10300/mn10300.cc: ...here.
32849         * config/moxie/moxie.c: Moved to...
32850         * config/moxie/moxie.cc: ...here.
32851         * config/msp430/driver-msp430.c: Moved to...
32852         * config/msp430/driver-msp430.cc: ...here.
32853         * config/msp430/msp430-c.c: Moved to...
32854         * config/msp430/msp430-c.cc: ...here.
32855         * config/msp430/msp430-devices.c: Moved to...
32856         * config/msp430/msp430-devices.cc: ...here.
32857         * config/msp430/msp430.c: Moved to...
32858         * config/msp430/msp430.cc: ...here.
32859         * config/nds32/nds32-cost.c: Moved to...
32860         * config/nds32/nds32-cost.cc: ...here.
32861         * config/nds32/nds32-fp-as-gp.c: Moved to...
32862         * config/nds32/nds32-fp-as-gp.cc: ...here.
32863         * config/nds32/nds32-intrinsic.c: Moved to...
32864         * config/nds32/nds32-intrinsic.cc: ...here.
32865         * config/nds32/nds32-isr.c: Moved to...
32866         * config/nds32/nds32-isr.cc: ...here.
32867         * config/nds32/nds32-md-auxiliary.c: Moved to...
32868         * config/nds32/nds32-md-auxiliary.cc: ...here.
32869         * config/nds32/nds32-memory-manipulation.c: Moved to...
32870         * config/nds32/nds32-memory-manipulation.cc: ...here.
32871         * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
32872         * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
32873         * config/nds32/nds32-predicates.c: Moved to...
32874         * config/nds32/nds32-predicates.cc: ...here.
32875         * config/nds32/nds32-relax-opt.c: Moved to...
32876         * config/nds32/nds32-relax-opt.cc: ...here.
32877         * config/nds32/nds32-utils.c: Moved to...
32878         * config/nds32/nds32-utils.cc: ...here.
32879         * config/nds32/nds32.c: Moved to...
32880         * config/nds32/nds32.cc: ...here.
32881         * config/netbsd-d.c: Moved to...
32882         * config/netbsd-d.cc: ...here.
32883         * config/netbsd.c: Moved to...
32884         * config/netbsd.cc: ...here.
32885         * config/nios2/nios2.c: Moved to...
32886         * config/nios2/nios2.cc: ...here.
32887         * config/nvptx/mkoffload.c: Moved to...
32888         * config/nvptx/mkoffload.cc: ...here.
32889         * config/nvptx/nvptx-c.c: Moved to...
32890         * config/nvptx/nvptx-c.cc: ...here.
32891         * config/nvptx/nvptx.c: Moved to...
32892         * config/nvptx/nvptx.cc: ...here.
32893         * config/openbsd-d.c: Moved to...
32894         * config/openbsd-d.cc: ...here.
32895         * config/or1k/or1k.c: Moved to...
32896         * config/or1k/or1k.cc: ...here.
32897         * config/pa/pa-d.c: Moved to...
32898         * config/pa/pa-d.cc: ...here.
32899         * config/pa/pa.c: Moved to...
32900         * config/pa/pa.cc: ...here.
32901         * config/pdp11/pdp11.c: Moved to...
32902         * config/pdp11/pdp11.cc: ...here.
32903         * config/pru/pru-passes.c: Moved to...
32904         * config/pru/pru-passes.cc: ...here.
32905         * config/pru/pru-pragma.c: Moved to...
32906         * config/pru/pru-pragma.cc: ...here.
32907         * config/pru/pru.c: Moved to...
32908         * config/pru/pru.cc: ...here.
32909         * config/riscv/riscv-builtins.c: Moved to...
32910         * config/riscv/riscv-builtins.cc: ...here.
32911         * config/riscv/riscv-c.c: Moved to...
32912         * config/riscv/riscv-c.cc: ...here.
32913         * config/riscv/riscv-d.c: Moved to...
32914         * config/riscv/riscv-d.cc: ...here.
32915         * config/riscv/riscv-shorten-memrefs.c: Moved to...
32916         * config/riscv/riscv-shorten-memrefs.cc: ...here.
32917         * config/riscv/riscv-sr.c: Moved to...
32918         * config/riscv/riscv-sr.cc: ...here.
32919         * config/riscv/riscv.c: Moved to...
32920         * config/riscv/riscv.cc: ...here.
32921         * config/rl78/rl78-c.c: Moved to...
32922         * config/rl78/rl78-c.cc: ...here.
32923         * config/rl78/rl78.c: Moved to...
32924         * config/rl78/rl78.cc: ...here.
32925         * config/rs6000/driver-rs6000.c: Moved to...
32926         * config/rs6000/driver-rs6000.cc: ...here.
32927         * config/rs6000/host-darwin.c: Moved to...
32928         * config/rs6000/host-darwin.cc: ...here.
32929         * config/rs6000/host-ppc64-darwin.c: Moved to...
32930         * config/rs6000/host-ppc64-darwin.cc: ...here.
32931         * config/rs6000/rbtree.c: Moved to...
32932         * config/rs6000/rbtree.cc: ...here.
32933         * config/rs6000/rs6000-c.c: Moved to...
32934         * config/rs6000/rs6000-c.cc: ...here.
32935         * config/rs6000/rs6000-call.c: Moved to...
32936         * config/rs6000/rs6000-call.cc: ...here.
32937         * config/rs6000/rs6000-d.c: Moved to...
32938         * config/rs6000/rs6000-d.cc: ...here.
32939         * config/rs6000/rs6000-gen-builtins.c: Moved to...
32940         * config/rs6000/rs6000-gen-builtins.cc: ...here.
32941         * config/rs6000/rs6000-linux.c: Moved to...
32942         * config/rs6000/rs6000-linux.cc: ...here.
32943         * config/rs6000/rs6000-logue.c: Moved to...
32944         * config/rs6000/rs6000-logue.cc: ...here.
32945         * config/rs6000/rs6000-p8swap.c: Moved to...
32946         * config/rs6000/rs6000-p8swap.cc: ...here.
32947         * config/rs6000/rs6000-pcrel-opt.c: Moved to...
32948         * config/rs6000/rs6000-pcrel-opt.cc: ...here.
32949         * config/rs6000/rs6000-string.c: Moved to...
32950         * config/rs6000/rs6000-string.cc: ...here.
32951         * config/rs6000/rs6000.c: Moved to...
32952         * config/rs6000/rs6000.cc: ...here.
32953         * config/rx/rx.c: Moved to...
32954         * config/rx/rx.cc: ...here.
32955         * config/s390/driver-native.c: Moved to...
32956         * config/s390/driver-native.cc: ...here.
32957         * config/s390/s390-c.c: Moved to...
32958         * config/s390/s390-c.cc: ...here.
32959         * config/s390/s390-d.c: Moved to...
32960         * config/s390/s390-d.cc: ...here.
32961         * config/s390/s390.c: Moved to...
32962         * config/s390/s390.cc: ...here.
32963         * config/sh/divtab-sh4-300.c: Moved to...
32964         * config/sh/divtab-sh4-300.cc: ...here.
32965         * config/sh/divtab-sh4.c: Moved to...
32966         * config/sh/divtab-sh4.cc: ...here.
32967         * config/sh/divtab.c: Moved to...
32968         * config/sh/divtab.cc: ...here.
32969         * config/sh/sh-c.c: Moved to...
32970         * config/sh/sh-c.cc: ...here.
32971         * config/sh/sh.c: Moved to...
32972         * config/sh/sh.cc: ...here.
32973         * config/sol2-c.c: Moved to...
32974         * config/sol2-c.cc: ...here.
32975         * config/sol2-cxx.c: Moved to...
32976         * config/sol2-cxx.cc: ...here.
32977         * config/sol2-d.c: Moved to...
32978         * config/sol2-d.cc: ...here.
32979         * config/sol2-stubs.c: Moved to...
32980         * config/sol2-stubs.cc: ...here.
32981         * config/sol2.c: Moved to...
32982         * config/sol2.cc: ...here.
32983         * config/sparc/driver-sparc.c: Moved to...
32984         * config/sparc/driver-sparc.cc: ...here.
32985         * config/sparc/sparc-c.c: Moved to...
32986         * config/sparc/sparc-c.cc: ...here.
32987         * config/sparc/sparc-d.c: Moved to...
32988         * config/sparc/sparc-d.cc: ...here.
32989         * config/sparc/sparc.c: Moved to...
32990         * config/sparc/sparc.cc: ...here.
32991         * config/stormy16/stormy16.c: Moved to...
32992         * config/stormy16/stormy16.cc: ...here.
32993         * config/tilegx/mul-tables.c: Moved to...
32994         * config/tilegx/mul-tables.cc: ...here.
32995         * config/tilegx/tilegx-c.c: Moved to...
32996         * config/tilegx/tilegx-c.cc: ...here.
32997         * config/tilegx/tilegx.c: Moved to...
32998         * config/tilegx/tilegx.cc: ...here.
32999         * config/tilepro/mul-tables.c: Moved to...
33000         * config/tilepro/mul-tables.cc: ...here.
33001         * config/tilepro/tilepro-c.c: Moved to...
33002         * config/tilepro/tilepro-c.cc: ...here.
33003         * config/tilepro/tilepro.c: Moved to...
33004         * config/tilepro/tilepro.cc: ...here.
33005         * config/v850/v850-c.c: Moved to...
33006         * config/v850/v850-c.cc: ...here.
33007         * config/v850/v850.c: Moved to...
33008         * config/v850/v850.cc: ...here.
33009         * config/vax/vax.c: Moved to...
33010         * config/vax/vax.cc: ...here.
33011         * config/visium/visium.c: Moved to...
33012         * config/visium/visium.cc: ...here.
33013         * config/vms/vms-c.c: Moved to...
33014         * config/vms/vms-c.cc: ...here.
33015         * config/vms/vms-f.c: Moved to...
33016         * config/vms/vms-f.cc: ...here.
33017         * config/vms/vms.c: Moved to...
33018         * config/vms/vms.cc: ...here.
33019         * config/vxworks-c.c: Moved to...
33020         * config/vxworks-c.cc: ...here.
33021         * config/vxworks.c: Moved to...
33022         * config/vxworks.cc: ...here.
33023         * config/winnt-c.c: Moved to...
33024         * config/winnt-c.cc: ...here.
33025         * config/xtensa/xtensa.c: Moved to...
33026         * config/xtensa/xtensa.cc: ...here.
33027         * context.c: Moved to...
33028         * context.cc: ...here.
33029         * convert.c: Moved to...
33030         * convert.cc: ...here.
33031         * coverage.c: Moved to...
33032         * coverage.cc: ...here.
33033         * cppbuiltin.c: Moved to...
33034         * cppbuiltin.cc: ...here.
33035         * cppdefault.c: Moved to...
33036         * cppdefault.cc: ...here.
33037         * cprop.c: Moved to...
33038         * cprop.cc: ...here.
33039         * cse.c: Moved to...
33040         * cse.cc: ...here.
33041         * cselib.c: Moved to...
33042         * cselib.cc: ...here.
33043         * ctfc.c: Moved to...
33044         * ctfc.cc: ...here.
33045         * ctfout.c: Moved to...
33046         * ctfout.cc: ...here.
33047         * data-streamer-in.c: Moved to...
33048         * data-streamer-in.cc: ...here.
33049         * data-streamer-out.c: Moved to...
33050         * data-streamer-out.cc: ...here.
33051         * data-streamer.c: Moved to...
33052         * data-streamer.cc: ...here.
33053         * dbgcnt.c: Moved to...
33054         * dbgcnt.cc: ...here.
33055         * dbxout.c: Moved to...
33056         * dbxout.cc: ...here.
33057         * dce.c: Moved to...
33058         * dce.cc: ...here.
33059         * ddg.c: Moved to...
33060         * ddg.cc: ...here.
33061         * debug.c: Moved to...
33062         * debug.cc: ...here.
33063         * df-core.c: Moved to...
33064         * df-core.cc: ...here.
33065         * df-problems.c: Moved to...
33066         * df-problems.cc: ...here.
33067         * df-scan.c: Moved to...
33068         * df-scan.cc: ...here.
33069         * dfp.c: Moved to...
33070         * dfp.cc: ...here.
33071         * diagnostic-color.c: Moved to...
33072         * diagnostic-color.cc: ...here.
33073         * diagnostic-show-locus.c: Moved to...
33074         * diagnostic-show-locus.cc: ...here.
33075         * diagnostic-spec.c: Moved to...
33076         * diagnostic-spec.cc: ...here.
33077         * diagnostic.c: Moved to...
33078         * diagnostic.cc: ...here.
33079         * dojump.c: Moved to...
33080         * dojump.cc: ...here.
33081         * dominance.c: Moved to...
33082         * dominance.cc: ...here.
33083         * domwalk.c: Moved to...
33084         * domwalk.cc: ...here.
33085         * double-int.c: Moved to...
33086         * double-int.cc: ...here.
33087         * dse.c: Moved to...
33088         * dse.cc: ...here.
33089         * dumpfile.c: Moved to...
33090         * dumpfile.cc: ...here.
33091         * dwarf2asm.c: Moved to...
33092         * dwarf2asm.cc: ...here.
33093         * dwarf2cfi.c: Moved to...
33094         * dwarf2cfi.cc: ...here.
33095         * dwarf2ctf.c: Moved to...
33096         * dwarf2ctf.cc: ...here.
33097         * dwarf2out.c: Moved to...
33098         * dwarf2out.cc: ...here.
33099         * early-remat.c: Moved to...
33100         * early-remat.cc: ...here.
33101         * edit-context.c: Moved to...
33102         * edit-context.cc: ...here.
33103         * emit-rtl.c: Moved to...
33104         * emit-rtl.cc: ...here.
33105         * errors.c: Moved to...
33106         * errors.cc: ...here.
33107         * et-forest.c: Moved to...
33108         * et-forest.cc: ...here.
33109         * except.c: Moved to...
33110         * except.cc: ...here.
33111         * explow.c: Moved to...
33112         * explow.cc: ...here.
33113         * expmed.c: Moved to...
33114         * expmed.cc: ...here.
33115         * expr.c: Moved to...
33116         * expr.cc: ...here.
33117         * fibonacci_heap.c: Moved to...
33118         * fibonacci_heap.cc: ...here.
33119         * file-find.c: Moved to...
33120         * file-find.cc: ...here.
33121         * file-prefix-map.c: Moved to...
33122         * file-prefix-map.cc: ...here.
33123         * final.c: Moved to...
33124         * final.cc: ...here.
33125         * fixed-value.c: Moved to...
33126         * fixed-value.cc: ...here.
33127         * fold-const-call.c: Moved to...
33128         * fold-const-call.cc: ...here.
33129         * fold-const.c: Moved to...
33130         * fold-const.cc: ...here.
33131         * fp-test.c: Moved to...
33132         * fp-test.cc: ...here.
33133         * function-tests.c: Moved to...
33134         * function-tests.cc: ...here.
33135         * function.c: Moved to...
33136         * function.cc: ...here.
33137         * fwprop.c: Moved to...
33138         * fwprop.cc: ...here.
33139         * gcc-ar.c: Moved to...
33140         * gcc-ar.cc: ...here.
33141         * gcc-main.c: Moved to...
33142         * gcc-main.cc: ...here.
33143         * gcc-rich-location.c: Moved to...
33144         * gcc-rich-location.cc: ...here.
33145         * gcc.c: Moved to...
33146         * gcc.cc: ...here.
33147         * gcov-dump.c: Moved to...
33148         * gcov-dump.cc: ...here.
33149         * gcov-io.c: Moved to...
33150         * gcov-io.cc: ...here.
33151         * gcov-tool.c: Moved to...
33152         * gcov-tool.cc: ...here.
33153         * gcov.c: Moved to...
33154         * gcov.cc: ...here.
33155         * gcse-common.c: Moved to...
33156         * gcse-common.cc: ...here.
33157         * gcse.c: Moved to...
33158         * gcse.cc: ...here.
33159         * genattr-common.c: Moved to...
33160         * genattr-common.cc: ...here.
33161         * genattr.c: Moved to...
33162         * genattr.cc: ...here.
33163         * genattrtab.c: Moved to...
33164         * genattrtab.cc: ...here.
33165         * genautomata.c: Moved to...
33166         * genautomata.cc: ...here.
33167         * gencfn-macros.c: Moved to...
33168         * gencfn-macros.cc: ...here.
33169         * gencheck.c: Moved to...
33170         * gencheck.cc: ...here.
33171         * genchecksum.c: Moved to...
33172         * genchecksum.cc: ...here.
33173         * gencodes.c: Moved to...
33174         * gencodes.cc: ...here.
33175         * genconditions.c: Moved to...
33176         * genconditions.cc: ...here.
33177         * genconfig.c: Moved to...
33178         * genconfig.cc: ...here.
33179         * genconstants.c: Moved to...
33180         * genconstants.cc: ...here.
33181         * genemit.c: Moved to...
33182         * genemit.cc: ...here.
33183         * genenums.c: Moved to...
33184         * genenums.cc: ...here.
33185         * generic-match-head.c: Moved to...
33186         * generic-match-head.cc: ...here.
33187         * genextract.c: Moved to...
33188         * genextract.cc: ...here.
33189         * genflags.c: Moved to...
33190         * genflags.cc: ...here.
33191         * gengenrtl.c: Moved to...
33192         * gengenrtl.cc: ...here.
33193         * gengtype-parse.c: Moved to...
33194         * gengtype-parse.cc: ...here.
33195         * gengtype-state.c: Moved to...
33196         * gengtype-state.cc: ...here.
33197         * gengtype.c: Moved to...
33198         * gengtype.cc: ...here.
33199         * genhooks.c: Moved to...
33200         * genhooks.cc: ...here.
33201         * genmatch.c: Moved to...
33202         * genmatch.cc: ...here.
33203         * genmddeps.c: Moved to...
33204         * genmddeps.cc: ...here.
33205         * genmddump.c: Moved to...
33206         * genmddump.cc: ...here.
33207         * genmodes.c: Moved to...
33208         * genmodes.cc: ...here.
33209         * genopinit.c: Moved to...
33210         * genopinit.cc: ...here.
33211         * genoutput.c: Moved to...
33212         * genoutput.cc: ...here.
33213         * genpeep.c: Moved to...
33214         * genpeep.cc: ...here.
33215         * genpreds.c: Moved to...
33216         * genpreds.cc: ...here.
33217         * genrecog.c: Moved to...
33218         * genrecog.cc: ...here.
33219         * gensupport.c: Moved to...
33220         * gensupport.cc: ...here.
33221         * gentarget-def.c: Moved to...
33222         * gentarget-def.cc: ...here.
33223         * genversion.c: Moved to...
33224         * genversion.cc: ...here.
33225         * ggc-common.c: Moved to...
33226         * ggc-common.cc: ...here.
33227         * ggc-none.c: Moved to...
33228         * ggc-none.cc: ...here.
33229         * ggc-page.c: Moved to...
33230         * ggc-page.cc: ...here.
33231         * ggc-tests.c: Moved to...
33232         * ggc-tests.cc: ...here.
33233         * gimple-builder.c: Moved to...
33234         * gimple-builder.cc: ...here.
33235         * gimple-expr.c: Moved to...
33236         * gimple-expr.cc: ...here.
33237         * gimple-fold.c: Moved to...
33238         * gimple-fold.cc: ...here.
33239         * gimple-iterator.c: Moved to...
33240         * gimple-iterator.cc: ...here.
33241         * gimple-laddress.c: Moved to...
33242         * gimple-laddress.cc: ...here.
33243         * gimple-loop-jam.c: Moved to...
33244         * gimple-loop-jam.cc: ...here.
33245         * gimple-low.c: Moved to...
33246         * gimple-low.cc: ...here.
33247         * gimple-match-head.c: Moved to...
33248         * gimple-match-head.cc: ...here.
33249         * gimple-pretty-print.c: Moved to...
33250         * gimple-pretty-print.cc: ...here.
33251         * gimple-ssa-backprop.c: Moved to...
33252         * gimple-ssa-backprop.cc: ...here.
33253         * gimple-ssa-evrp-analyze.c: Moved to...
33254         * gimple-ssa-evrp-analyze.cc: ...here.
33255         * gimple-ssa-evrp.c: Moved to...
33256         * gimple-ssa-evrp.cc: ...here.
33257         * gimple-ssa-isolate-paths.c: Moved to...
33258         * gimple-ssa-isolate-paths.cc: ...here.
33259         * gimple-ssa-nonnull-compare.c: Moved to...
33260         * gimple-ssa-nonnull-compare.cc: ...here.
33261         * gimple-ssa-split-paths.c: Moved to...
33262         * gimple-ssa-split-paths.cc: ...here.
33263         * gimple-ssa-sprintf.c: Moved to...
33264         * gimple-ssa-sprintf.cc: ...here.
33265         * gimple-ssa-store-merging.c: Moved to...
33266         * gimple-ssa-store-merging.cc: ...here.
33267         * gimple-ssa-strength-reduction.c: Moved to...
33268         * gimple-ssa-strength-reduction.cc: ...here.
33269         * gimple-ssa-warn-alloca.c: Moved to...
33270         * gimple-ssa-warn-alloca.cc: ...here.
33271         * gimple-ssa-warn-restrict.c: Moved to...
33272         * gimple-ssa-warn-restrict.cc: ...here.
33273         * gimple-streamer-in.c: Moved to...
33274         * gimple-streamer-in.cc: ...here.
33275         * gimple-streamer-out.c: Moved to...
33276         * gimple-streamer-out.cc: ...here.
33277         * gimple-walk.c: Moved to...
33278         * gimple-walk.cc: ...here.
33279         * gimple-warn-recursion.c: Moved to...
33280         * gimple-warn-recursion.cc: ...here.
33281         * gimple.c: Moved to...
33282         * gimple.cc: ...here.
33283         * gimplify-me.c: Moved to...
33284         * gimplify-me.cc: ...here.
33285         * gimplify.c: Moved to...
33286         * gimplify.cc: ...here.
33287         * godump.c: Moved to...
33288         * godump.cc: ...here.
33289         * graph.c: Moved to...
33290         * graph.cc: ...here.
33291         * graphds.c: Moved to...
33292         * graphds.cc: ...here.
33293         * graphite-dependences.c: Moved to...
33294         * graphite-dependences.cc: ...here.
33295         * graphite-isl-ast-to-gimple.c: Moved to...
33296         * graphite-isl-ast-to-gimple.cc: ...here.
33297         * graphite-optimize-isl.c: Moved to...
33298         * graphite-optimize-isl.cc: ...here.
33299         * graphite-poly.c: Moved to...
33300         * graphite-poly.cc: ...here.
33301         * graphite-scop-detection.c: Moved to...
33302         * graphite-scop-detection.cc: ...here.
33303         * graphite-sese-to-poly.c: Moved to...
33304         * graphite-sese-to-poly.cc: ...here.
33305         * graphite.c: Moved to...
33306         * graphite.cc: ...here.
33307         * haifa-sched.c: Moved to...
33308         * haifa-sched.cc: ...here.
33309         * hash-map-tests.c: Moved to...
33310         * hash-map-tests.cc: ...here.
33311         * hash-set-tests.c: Moved to...
33312         * hash-set-tests.cc: ...here.
33313         * hash-table.c: Moved to...
33314         * hash-table.cc: ...here.
33315         * hooks.c: Moved to...
33316         * hooks.cc: ...here.
33317         * host-default.c: Moved to...
33318         * host-default.cc: ...here.
33319         * hw-doloop.c: Moved to...
33320         * hw-doloop.cc: ...here.
33321         * hwint.c: Moved to...
33322         * hwint.cc: ...here.
33323         * ifcvt.c: Moved to...
33324         * ifcvt.cc: ...here.
33325         * inchash.c: Moved to...
33326         * inchash.cc: ...here.
33327         * incpath.c: Moved to...
33328         * incpath.cc: ...here.
33329         * init-regs.c: Moved to...
33330         * init-regs.cc: ...here.
33331         * input.c: Moved to...
33332         * input.cc: ...here.
33333         * internal-fn.c: Moved to...
33334         * internal-fn.cc: ...here.
33335         * intl.c: Moved to...
33336         * intl.cc: ...here.
33337         * ipa-comdats.c: Moved to...
33338         * ipa-comdats.cc: ...here.
33339         * ipa-cp.c: Moved to...
33340         * ipa-cp.cc: ...here.
33341         * ipa-devirt.c: Moved to...
33342         * ipa-devirt.cc: ...here.
33343         * ipa-fnsummary.c: Moved to...
33344         * ipa-fnsummary.cc: ...here.
33345         * ipa-icf-gimple.c: Moved to...
33346         * ipa-icf-gimple.cc: ...here.
33347         * ipa-icf.c: Moved to...
33348         * ipa-icf.cc: ...here.
33349         * ipa-inline-analysis.c: Moved to...
33350         * ipa-inline-analysis.cc: ...here.
33351         * ipa-inline-transform.c: Moved to...
33352         * ipa-inline-transform.cc: ...here.
33353         * ipa-inline.c: Moved to...
33354         * ipa-inline.cc: ...here.
33355         * ipa-modref-tree.c: Moved to...
33356         * ipa-modref-tree.cc: ...here.
33357         * ipa-modref.c: Moved to...
33358         * ipa-modref.cc: ...here.
33359         * ipa-param-manipulation.c: Moved to...
33360         * ipa-param-manipulation.cc: ...here.
33361         * ipa-polymorphic-call.c: Moved to...
33362         * ipa-polymorphic-call.cc: ...here.
33363         * ipa-predicate.c: Moved to...
33364         * ipa-predicate.cc: ...here.
33365         * ipa-profile.c: Moved to...
33366         * ipa-profile.cc: ...here.
33367         * ipa-prop.c: Moved to...
33368         * ipa-prop.cc: ...here.
33369         * ipa-pure-const.c: Moved to...
33370         * ipa-pure-const.cc: ...here.
33371         * ipa-ref.c: Moved to...
33372         * ipa-ref.cc: ...here.
33373         * ipa-reference.c: Moved to...
33374         * ipa-reference.cc: ...here.
33375         * ipa-split.c: Moved to...
33376         * ipa-split.cc: ...here.
33377         * ipa-sra.c: Moved to...
33378         * ipa-sra.cc: ...here.
33379         * ipa-utils.c: Moved to...
33380         * ipa-utils.cc: ...here.
33381         * ipa-visibility.c: Moved to...
33382         * ipa-visibility.cc: ...here.
33383         * ipa.c: Moved to...
33384         * ipa.cc: ...here.
33385         * ira-build.c: Moved to...
33386         * ira-build.cc: ...here.
33387         * ira-color.c: Moved to...
33388         * ira-color.cc: ...here.
33389         * ira-conflicts.c: Moved to...
33390         * ira-conflicts.cc: ...here.
33391         * ira-costs.c: Moved to...
33392         * ira-costs.cc: ...here.
33393         * ira-emit.c: Moved to...
33394         * ira-emit.cc: ...here.
33395         * ira-lives.c: Moved to...
33396         * ira-lives.cc: ...here.
33397         * ira.c: Moved to...
33398         * ira.cc: ...here.
33399         * jump.c: Moved to...
33400         * jump.cc: ...here.
33401         * langhooks.c: Moved to...
33402         * langhooks.cc: ...here.
33403         * lcm.c: Moved to...
33404         * lcm.cc: ...here.
33405         * lists.c: Moved to...
33406         * lists.cc: ...here.
33407         * loop-doloop.c: Moved to...
33408         * loop-doloop.cc: ...here.
33409         * loop-init.c: Moved to...
33410         * loop-init.cc: ...here.
33411         * loop-invariant.c: Moved to...
33412         * loop-invariant.cc: ...here.
33413         * loop-iv.c: Moved to...
33414         * loop-iv.cc: ...here.
33415         * loop-unroll.c: Moved to...
33416         * loop-unroll.cc: ...here.
33417         * lower-subreg.c: Moved to...
33418         * lower-subreg.cc: ...here.
33419         * lra-assigns.c: Moved to...
33420         * lra-assigns.cc: ...here.
33421         * lra-coalesce.c: Moved to...
33422         * lra-coalesce.cc: ...here.
33423         * lra-constraints.c: Moved to...
33424         * lra-constraints.cc: ...here.
33425         * lra-eliminations.c: Moved to...
33426         * lra-eliminations.cc: ...here.
33427         * lra-lives.c: Moved to...
33428         * lra-lives.cc: ...here.
33429         * lra-remat.c: Moved to...
33430         * lra-remat.cc: ...here.
33431         * lra-spills.c: Moved to...
33432         * lra-spills.cc: ...here.
33433         * lra.c: Moved to...
33434         * lra.cc: ...here.
33435         * lto-cgraph.c: Moved to...
33436         * lto-cgraph.cc: ...here.
33437         * lto-compress.c: Moved to...
33438         * lto-compress.cc: ...here.
33439         * lto-opts.c: Moved to...
33440         * lto-opts.cc: ...here.
33441         * lto-section-in.c: Moved to...
33442         * lto-section-in.cc: ...here.
33443         * lto-section-out.c: Moved to...
33444         * lto-section-out.cc: ...here.
33445         * lto-streamer-in.c: Moved to...
33446         * lto-streamer-in.cc: ...here.
33447         * lto-streamer-out.c: Moved to...
33448         * lto-streamer-out.cc: ...here.
33449         * lto-streamer.c: Moved to...
33450         * lto-streamer.cc: ...here.
33451         * lto-wrapper.c: Moved to...
33452         * lto-wrapper.cc: ...here.
33453         * main.c: Moved to...
33454         * main.cc: ...here.
33455         * mcf.c: Moved to...
33456         * mcf.cc: ...here.
33457         * mode-switching.c: Moved to...
33458         * mode-switching.cc: ...here.
33459         * modulo-sched.c: Moved to...
33460         * modulo-sched.cc: ...here.
33461         * multiple_target.c: Moved to...
33462         * multiple_target.cc: ...here.
33463         * omp-expand.c: Moved to...
33464         * omp-expand.cc: ...here.
33465         * omp-general.c: Moved to...
33466         * omp-general.cc: ...here.
33467         * omp-low.c: Moved to...
33468         * omp-low.cc: ...here.
33469         * omp-offload.c: Moved to...
33470         * omp-offload.cc: ...here.
33471         * omp-simd-clone.c: Moved to...
33472         * omp-simd-clone.cc: ...here.
33473         * opt-suggestions.c: Moved to...
33474         * opt-suggestions.cc: ...here.
33475         * optabs-libfuncs.c: Moved to...
33476         * optabs-libfuncs.cc: ...here.
33477         * optabs-query.c: Moved to...
33478         * optabs-query.cc: ...here.
33479         * optabs-tree.c: Moved to...
33480         * optabs-tree.cc: ...here.
33481         * optabs.c: Moved to...
33482         * optabs.cc: ...here.
33483         * opts-common.c: Moved to...
33484         * opts-common.cc: ...here.
33485         * opts-global.c: Moved to...
33486         * opts-global.cc: ...here.
33487         * opts.c: Moved to...
33488         * opts.cc: ...here.
33489         * passes.c: Moved to...
33490         * passes.cc: ...here.
33491         * plugin.c: Moved to...
33492         * plugin.cc: ...here.
33493         * postreload-gcse.c: Moved to...
33494         * postreload-gcse.cc: ...here.
33495         * postreload.c: Moved to...
33496         * postreload.cc: ...here.
33497         * predict.c: Moved to...
33498         * predict.cc: ...here.
33499         * prefix.c: Moved to...
33500         * prefix.cc: ...here.
33501         * pretty-print.c: Moved to...
33502         * pretty-print.cc: ...here.
33503         * print-rtl-function.c: Moved to...
33504         * print-rtl-function.cc: ...here.
33505         * print-rtl.c: Moved to...
33506         * print-rtl.cc: ...here.
33507         * print-tree.c: Moved to...
33508         * print-tree.cc: ...here.
33509         * profile-count.c: Moved to...
33510         * profile-count.cc: ...here.
33511         * profile.c: Moved to...
33512         * profile.cc: ...here.
33513         * read-md.c: Moved to...
33514         * read-md.cc: ...here.
33515         * read-rtl-function.c: Moved to...
33516         * read-rtl-function.cc: ...here.
33517         * read-rtl.c: Moved to...
33518         * read-rtl.cc: ...here.
33519         * real.c: Moved to...
33520         * real.cc: ...here.
33521         * realmpfr.c: Moved to...
33522         * realmpfr.cc: ...here.
33523         * recog.c: Moved to...
33524         * recog.cc: ...here.
33525         * ree.c: Moved to...
33526         * ree.cc: ...here.
33527         * reg-stack.c: Moved to...
33528         * reg-stack.cc: ...here.
33529         * regcprop.c: Moved to...
33530         * regcprop.cc: ...here.
33531         * reginfo.c: Moved to...
33532         * reginfo.cc: ...here.
33533         * regrename.c: Moved to...
33534         * regrename.cc: ...here.
33535         * regstat.c: Moved to...
33536         * regstat.cc: ...here.
33537         * reload.c: Moved to...
33538         * reload.cc: ...here.
33539         * reload1.c: Moved to...
33540         * reload1.cc: ...here.
33541         * reorg.c: Moved to...
33542         * reorg.cc: ...here.
33543         * resource.c: Moved to...
33544         * resource.cc: ...here.
33545         * rtl-error.c: Moved to...
33546         * rtl-error.cc: ...here.
33547         * rtl-tests.c: Moved to...
33548         * rtl-tests.cc: ...here.
33549         * rtl.c: Moved to...
33550         * rtl.cc: ...here.
33551         * rtlanal.c: Moved to...
33552         * rtlanal.cc: ...here.
33553         * rtlhash.c: Moved to...
33554         * rtlhash.cc: ...here.
33555         * rtlhooks.c: Moved to...
33556         * rtlhooks.cc: ...here.
33557         * rtx-vector-builder.c: Moved to...
33558         * rtx-vector-builder.cc: ...here.
33559         * run-rtl-passes.c: Moved to...
33560         * run-rtl-passes.cc: ...here.
33561         * sancov.c: Moved to...
33562         * sancov.cc: ...here.
33563         * sanopt.c: Moved to...
33564         * sanopt.cc: ...here.
33565         * sbitmap.c: Moved to...
33566         * sbitmap.cc: ...here.
33567         * sched-deps.c: Moved to...
33568         * sched-deps.cc: ...here.
33569         * sched-ebb.c: Moved to...
33570         * sched-ebb.cc: ...here.
33571         * sched-rgn.c: Moved to...
33572         * sched-rgn.cc: ...here.
33573         * sel-sched-dump.c: Moved to...
33574         * sel-sched-dump.cc: ...here.
33575         * sel-sched-ir.c: Moved to...
33576         * sel-sched-ir.cc: ...here.
33577         * sel-sched.c: Moved to...
33578         * sel-sched.cc: ...here.
33579         * selftest-diagnostic.c: Moved to...
33580         * selftest-diagnostic.cc: ...here.
33581         * selftest-rtl.c: Moved to...
33582         * selftest-rtl.cc: ...here.
33583         * selftest-run-tests.c: Moved to...
33584         * selftest-run-tests.cc: ...here.
33585         * selftest.c: Moved to...
33586         * selftest.cc: ...here.
33587         * sese.c: Moved to...
33588         * sese.cc: ...here.
33589         * shrink-wrap.c: Moved to...
33590         * shrink-wrap.cc: ...here.
33591         * simplify-rtx.c: Moved to...
33592         * simplify-rtx.cc: ...here.
33593         * sparseset.c: Moved to...
33594         * sparseset.cc: ...here.
33595         * spellcheck-tree.c: Moved to...
33596         * spellcheck-tree.cc: ...here.
33597         * spellcheck.c: Moved to...
33598         * spellcheck.cc: ...here.
33599         * sreal.c: Moved to...
33600         * sreal.cc: ...here.
33601         * stack-ptr-mod.c: Moved to...
33602         * stack-ptr-mod.cc: ...here.
33603         * statistics.c: Moved to...
33604         * statistics.cc: ...here.
33605         * stmt.c: Moved to...
33606         * stmt.cc: ...here.
33607         * stor-layout.c: Moved to...
33608         * stor-layout.cc: ...here.
33609         * store-motion.c: Moved to...
33610         * store-motion.cc: ...here.
33611         * streamer-hooks.c: Moved to...
33612         * streamer-hooks.cc: ...here.
33613         * stringpool.c: Moved to...
33614         * stringpool.cc: ...here.
33615         * substring-locations.c: Moved to...
33616         * substring-locations.cc: ...here.
33617         * symtab.c: Moved to...
33618         * symtab.cc: ...here.
33619         * target-globals.c: Moved to...
33620         * target-globals.cc: ...here.
33621         * targhooks.c: Moved to...
33622         * targhooks.cc: ...here.
33623         * timevar.c: Moved to...
33624         * timevar.cc: ...here.
33625         * toplev.c: Moved to...
33626         * toplev.cc: ...here.
33627         * tracer.c: Moved to...
33628         * tracer.cc: ...here.
33629         * trans-mem.c: Moved to...
33630         * trans-mem.cc: ...here.
33631         * tree-affine.c: Moved to...
33632         * tree-affine.cc: ...here.
33633         * tree-call-cdce.c: Moved to...
33634         * tree-call-cdce.cc: ...here.
33635         * tree-cfg.c: Moved to...
33636         * tree-cfg.cc: ...here.
33637         * tree-cfgcleanup.c: Moved to...
33638         * tree-cfgcleanup.cc: ...here.
33639         * tree-chrec.c: Moved to...
33640         * tree-chrec.cc: ...here.
33641         * tree-complex.c: Moved to...
33642         * tree-complex.cc: ...here.
33643         * tree-data-ref.c: Moved to...
33644         * tree-data-ref.cc: ...here.
33645         * tree-dfa.c: Moved to...
33646         * tree-dfa.cc: ...here.
33647         * tree-diagnostic.c: Moved to...
33648         * tree-diagnostic.cc: ...here.
33649         * tree-dump.c: Moved to...
33650         * tree-dump.cc: ...here.
33651         * tree-eh.c: Moved to...
33652         * tree-eh.cc: ...here.
33653         * tree-emutls.c: Moved to...
33654         * tree-emutls.cc: ...here.
33655         * tree-if-conv.c: Moved to...
33656         * tree-if-conv.cc: ...here.
33657         * tree-inline.c: Moved to...
33658         * tree-inline.cc: ...here.
33659         * tree-into-ssa.c: Moved to...
33660         * tree-into-ssa.cc: ...here.
33661         * tree-iterator.c: Moved to...
33662         * tree-iterator.cc: ...here.
33663         * tree-loop-distribution.c: Moved to...
33664         * tree-loop-distribution.cc: ...here.
33665         * tree-nested.c: Moved to...
33666         * tree-nested.cc: ...here.
33667         * tree-nrv.c: Moved to...
33668         * tree-nrv.cc: ...here.
33669         * tree-object-size.c: Moved to...
33670         * tree-object-size.cc: ...here.
33671         * tree-outof-ssa.c: Moved to...
33672         * tree-outof-ssa.cc: ...here.
33673         * tree-parloops.c: Moved to...
33674         * tree-parloops.cc: ...here.
33675         * tree-phinodes.c: Moved to...
33676         * tree-phinodes.cc: ...here.
33677         * tree-predcom.c: Moved to...
33678         * tree-predcom.cc: ...here.
33679         * tree-pretty-print.c: Moved to...
33680         * tree-pretty-print.cc: ...here.
33681         * tree-profile.c: Moved to...
33682         * tree-profile.cc: ...here.
33683         * tree-scalar-evolution.c: Moved to...
33684         * tree-scalar-evolution.cc: ...here.
33685         * tree-sra.c: Moved to...
33686         * tree-sra.cc: ...here.
33687         * tree-ssa-address.c: Moved to...
33688         * tree-ssa-address.cc: ...here.
33689         * tree-ssa-alias.c: Moved to...
33690         * tree-ssa-alias.cc: ...here.
33691         * tree-ssa-ccp.c: Moved to...
33692         * tree-ssa-ccp.cc: ...here.
33693         * tree-ssa-coalesce.c: Moved to...
33694         * tree-ssa-coalesce.cc: ...here.
33695         * tree-ssa-copy.c: Moved to...
33696         * tree-ssa-copy.cc: ...here.
33697         * tree-ssa-dce.c: Moved to...
33698         * tree-ssa-dce.cc: ...here.
33699         * tree-ssa-dom.c: Moved to...
33700         * tree-ssa-dom.cc: ...here.
33701         * tree-ssa-dse.c: Moved to...
33702         * tree-ssa-dse.cc: ...here.
33703         * tree-ssa-forwprop.c: Moved to...
33704         * tree-ssa-forwprop.cc: ...here.
33705         * tree-ssa-ifcombine.c: Moved to...
33706         * tree-ssa-ifcombine.cc: ...here.
33707         * tree-ssa-live.c: Moved to...
33708         * tree-ssa-live.cc: ...here.
33709         * tree-ssa-loop-ch.c: Moved to...
33710         * tree-ssa-loop-ch.cc: ...here.
33711         * tree-ssa-loop-im.c: Moved to...
33712         * tree-ssa-loop-im.cc: ...here.
33713         * tree-ssa-loop-ivcanon.c: Moved to...
33714         * tree-ssa-loop-ivcanon.cc: ...here.
33715         * tree-ssa-loop-ivopts.c: Moved to...
33716         * tree-ssa-loop-ivopts.cc: ...here.
33717         * tree-ssa-loop-manip.c: Moved to...
33718         * tree-ssa-loop-manip.cc: ...here.
33719         * tree-ssa-loop-niter.c: Moved to...
33720         * tree-ssa-loop-niter.cc: ...here.
33721         * tree-ssa-loop-prefetch.c: Moved to...
33722         * tree-ssa-loop-prefetch.cc: ...here.
33723         * tree-ssa-loop-split.c: Moved to...
33724         * tree-ssa-loop-split.cc: ...here.
33725         * tree-ssa-loop-unswitch.c: Moved to...
33726         * tree-ssa-loop-unswitch.cc: ...here.
33727         * tree-ssa-loop.c: Moved to...
33728         * tree-ssa-loop.cc: ...here.
33729         * tree-ssa-math-opts.c: Moved to...
33730         * tree-ssa-math-opts.cc: ...here.
33731         * tree-ssa-operands.c: Moved to...
33732         * tree-ssa-operands.cc: ...here.
33733         * tree-ssa-phiopt.c: Moved to...
33734         * tree-ssa-phiopt.cc: ...here.
33735         * tree-ssa-phiprop.c: Moved to...
33736         * tree-ssa-phiprop.cc: ...here.
33737         * tree-ssa-pre.c: Moved to...
33738         * tree-ssa-pre.cc: ...here.
33739         * tree-ssa-propagate.c: Moved to...
33740         * tree-ssa-propagate.cc: ...here.
33741         * tree-ssa-reassoc.c: Moved to...
33742         * tree-ssa-reassoc.cc: ...here.
33743         * tree-ssa-sccvn.c: Moved to...
33744         * tree-ssa-sccvn.cc: ...here.
33745         * tree-ssa-scopedtables.c: Moved to...
33746         * tree-ssa-scopedtables.cc: ...here.
33747         * tree-ssa-sink.c: Moved to...
33748         * tree-ssa-sink.cc: ...here.
33749         * tree-ssa-strlen.c: Moved to...
33750         * tree-ssa-strlen.cc: ...here.
33751         * tree-ssa-structalias.c: Moved to...
33752         * tree-ssa-structalias.cc: ...here.
33753         * tree-ssa-tail-merge.c: Moved to...
33754         * tree-ssa-tail-merge.cc: ...here.
33755         * tree-ssa-ter.c: Moved to...
33756         * tree-ssa-ter.cc: ...here.
33757         * tree-ssa-threadbackward.c: Moved to...
33758         * tree-ssa-threadbackward.cc: ...here.
33759         * tree-ssa-threadedge.c: Moved to...
33760         * tree-ssa-threadedge.cc: ...here.
33761         * tree-ssa-threadupdate.c: Moved to...
33762         * tree-ssa-threadupdate.cc: ...here.
33763         * tree-ssa-uncprop.c: Moved to...
33764         * tree-ssa-uncprop.cc: ...here.
33765         * tree-ssa-uninit.c: Moved to...
33766         * tree-ssa-uninit.cc: ...here.
33767         * tree-ssa.c: Moved to...
33768         * tree-ssa.cc: ...here.
33769         * tree-ssanames.c: Moved to...
33770         * tree-ssanames.cc: ...here.
33771         * tree-stdarg.c: Moved to...
33772         * tree-stdarg.cc: ...here.
33773         * tree-streamer-in.c: Moved to...
33774         * tree-streamer-in.cc: ...here.
33775         * tree-streamer-out.c: Moved to...
33776         * tree-streamer-out.cc: ...here.
33777         * tree-streamer.c: Moved to...
33778         * tree-streamer.cc: ...here.
33779         * tree-switch-conversion.c: Moved to...
33780         * tree-switch-conversion.cc: ...here.
33781         * tree-tailcall.c: Moved to...
33782         * tree-tailcall.cc: ...here.
33783         * tree-vect-data-refs.c: Moved to...
33784         * tree-vect-data-refs.cc: ...here.
33785         * tree-vect-generic.c: Moved to...
33786         * tree-vect-generic.cc: ...here.
33787         * tree-vect-loop-manip.c: Moved to...
33788         * tree-vect-loop-manip.cc: ...here.
33789         * tree-vect-loop.c: Moved to...
33790         * tree-vect-loop.cc: ...here.
33791         * tree-vect-patterns.c: Moved to...
33792         * tree-vect-patterns.cc: ...here.
33793         * tree-vect-slp-patterns.c: Moved to...
33794         * tree-vect-slp-patterns.cc: ...here.
33795         * tree-vect-slp.c: Moved to...
33796         * tree-vect-slp.cc: ...here.
33797         * tree-vect-stmts.c: Moved to...
33798         * tree-vect-stmts.cc: ...here.
33799         * tree-vector-builder.c: Moved to...
33800         * tree-vector-builder.cc: ...here.
33801         * tree-vectorizer.c: Moved to...
33802         * tree-vectorizer.cc: ...here.
33803         * tree-vrp.c: Moved to...
33804         * tree-vrp.cc: ...here.
33805         * tree.c: Moved to...
33806         * tree.cc: ...here.
33807         * tsan.c: Moved to...
33808         * tsan.cc: ...here.
33809         * typed-splay-tree.c: Moved to...
33810         * typed-splay-tree.cc: ...here.
33811         * ubsan.c: Moved to...
33812         * ubsan.cc: ...here.
33813         * valtrack.c: Moved to...
33814         * valtrack.cc: ...here.
33815         * value-prof.c: Moved to...
33816         * value-prof.cc: ...here.
33817         * var-tracking.c: Moved to...
33818         * var-tracking.cc: ...here.
33819         * varasm.c: Moved to...
33820         * varasm.cc: ...here.
33821         * varpool.c: Moved to...
33822         * varpool.cc: ...here.
33823         * vec-perm-indices.c: Moved to...
33824         * vec-perm-indices.cc: ...here.
33825         * vec.c: Moved to...
33826         * vec.cc: ...here.
33827         * vmsdbgout.c: Moved to...
33828         * vmsdbgout.cc: ...here.
33829         * vr-values.c: Moved to...
33830         * vr-values.cc: ...here.
33831         * vtable-verify.c: Moved to...
33832         * vtable-verify.cc: ...here.
33833         * web.c: Moved to...
33834         * web.cc: ...here.
33835         * xcoffout.c: Moved to...
33836         * xcoffout.cc: ...here.
33838 2022-01-17  qing zhao  <qing.zhao@oracle.com>
33840         * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
33841         .DEFERRED_INIT call with an anonymous SSA_NAME specially.
33842         (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
33843         specially.
33844         (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
33845         (warn_uninitialized_vars): Likewise.
33846         (warn_uninitialized_phi): Likewise.
33848 2022-01-17  Jason Merrill  <jason@redhat.com>
33850         * diagnostic.h (struct diagnostic_context): Add includes_seen.
33851         * diagnostic.c (diagnostic_initialize): Initialize it.
33852         (diagnostic_finish): Clean it up.
33853         (includes_seen): New function.
33854         (diagnostic_report_current_module): Use it.
33856 2022-01-17  Richard Biener  <rguenther@suse.de>
33858         PR middle-end/101292
33859         * diagnostic-spec.c (copy_warning): Make sure to not
33860         reference old hashtable content on possible resize.
33861         * warning-control.cc (copy_warning): Likewise.
33863 2022-01-17  Jakub Jelinek  <jakub@redhat.com>
33865         PR target/103973
33866         * tree-cfg.h (cond_only_block_p): Declare.
33867         * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
33868         * tree-cfg.c (cond_only_block_p): ... here.  No longer static.
33869         * optabs.def (spaceship_optab): New optab.
33870         * internal-fn.def (SPACESHIP): New internal function.
33871         * internal-fn.h (expand_SPACESHIP): Declare.
33872         * internal-fn.c (expand_PHI): Formatting fix.
33873         (expand_SPACESHIP): New function.
33874         * tree-ssa-math-opts.c (optimize_spaceship): New function.
33875         (math_opts_dom_walker::after_dom_children): Use it.
33876         * config/i386/i386.md (spaceship<mode>3): New define_expand.
33877         * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
33878         * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
33879         * doc/md.texi (spaceship@var{m}3): Document.
33881 2022-01-17  Kewen Lin  <linkw@linux.ibm.com>
33883         * config/rs6000/altivec.md (altivec_vreveti2): Remove.
33884         * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
33885         *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
33886         known constant values to simplify code.
33888 2022-01-17  Haochen Gui  <guihaoc@gcc.gnu.org>
33890         PR target/103124
33891         * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
33893 2022-01-16  wwwhhhyyy  <hongyu.wang@intel.com>
33895         * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
33896         * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
33897         Insert zero-idiom in output template when attr enabled, set new attribute to
33898         true for non-mask/maskz insn.
33899         (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
33900         Likewise.
33901         (avx512dq_mul<mode>3<mask_name>): Likewise.
33902         (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
33903         (avx2_perm<mode>_1<mask_name>): Likewise.
33904         (avx512f_perm<mode>_1<mask_name>): Likewise.
33905         (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
33906         (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
33907         Likewise.
33908         (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
33909         (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
33910         Likewise.
33911         * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
33912         subst_attr.
33913         (mask4_dest_false_dep_for_glc_cond): Likewise.
33914         (mask6_dest_false_dep_for_glc_cond): Likewise.
33915         (mask10_dest_false_dep_for_glc_cond): Likewise.
33916         (maskc_dest_false_dep_for_glc_cond): Likewise.
33917         (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
33918         (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
33919         * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
33920         DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
33922 2022-01-15  Martin Sebor  <msebor@redhat.com>
33924         PR c/63272
33925         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
33926         -Wdangling-pointer.
33927         * doc/invoke.texi (-Wdangling-pointer): Document new option.
33928         * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
33929         (pass_waccess::check_pointer_uses): New function.
33930         (pass_waccess::gimple_call_return_arg): New function.
33931         (pass_waccess::gimple_call_return_arg_ref): New function.
33932         (pass_waccess::check_call_dangling): New function.
33933         (pass_waccess::check_dangling_uses): New function overloads.
33934         (pass_waccess::check_dangling_stores): New function.
33935         (pass_waccess::check_dangling_stores): New function.
33936         (pass_waccess::m_clobbers): New data member.
33937         (pass_waccess::m_func): New data member.
33938         (pass_waccess::m_run_number): New data member.
33939         (pass_waccess::m_check_dangling_p): New data member.
33940         (pass_waccess::check_alloca): Check m_early_checks_p.
33941         (pass_waccess::check_alloc_size_call): Same.
33942         (pass_waccess::check_strcat): Same.
33943         (pass_waccess::check_strncat): Same.
33944         (pass_waccess::check_stxcpy): Same.
33945         (pass_waccess::check_stxncpy): Same.
33946         (pass_waccess::check_strncmp): Same.
33947         (pass_waccess::check_memop_access): Same.
33948         (pass_waccess::check_read_access): Same.
33949         (pass_waccess::check_builtin): Call check_pointer_uses.
33950         (pass_waccess::warn_invalid_pointer): Add arguments.
33951         (is_auto_decl): New function.
33952         (pass_waccess::check_stmt): New function.
33953         (pass_waccess::check_block): Call check_stmt.
33954         (pass_waccess::execute): Call check_dangling_uses,
33955         check_dangling_stores.  Empty m_clobbers.
33956         * passes.def (pass_warn_access): Invoke pass two more times.
33958 2022-01-15  Martin Sebor  <msebor@redhat.com>
33960         PR tree-optimization/80532
33961         * common.opt (-Wuse-after-free): New options.
33962         * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
33963         OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
33964         * diagnostic-spec.h (NW_DANGLING): New enumerator.
33965         * doc/invoke.texi (-Wuse-after-free): Document new option.
33966         * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
33967         (pass_waccess::check_call_access): ...to this.
33968         (pass_waccess::check): Rename...
33969         (pass_waccess::check_block): ...to this.
33970         (pass_waccess::check_pointer_uses): New function.
33971         (pass_waccess::gimple_call_return_arg): New function.
33972         (pass_waccess::warn_invalid_pointer): New function.
33973         (pass_waccess::check_builtin): Handle free and realloc.
33974         (gimple_use_after_inval_p): New function.
33975         (get_realloc_lhs): New function.
33976         (maybe_warn_mismatched_realloc): New function.
33977         (pointers_related_p): New function.
33978         (pass_waccess::check_call): Call check_pointer_uses.
33979         (pass_waccess::execute): Compute and free dominance info.
33981 2022-01-15  Uroš Bizjak  <ubizjak@gmail.com>
33983         * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
33984         expand_simple_unop and expand_simple_binop instead of manually
33985         constructing NOT, AND and IOR RTXes.  Use vector_all_ones_operand
33986         consistently.  Eliminate common subexpressions and simplify code.
33987         * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
33988         (<any_logic:code><MODEF:mode>3): Make public.
33990 2022-01-14  Eric Botcazou  <ebotcazou@adacore.com>
33992         * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
33993         reverse flag as "reverse" for the sake of consistency.
33994         * ipa-sra.c: Fix copyright year.
33995         (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
33996         (dump_isra_access): Tweak dump line.
33997         (isra_write_node_summary): Write the reverse flag.
33998         (isra_read_node_info): Read it.
33999         (pull_accesses_from_callee): Test its consistency and copy it.
34001 2022-01-14  Richard Sandiford  <richard.sandiford@arm.com>
34003         PR middle-end/104026
34004         * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
34005         partial_load_store_bias.
34007 2022-01-14  Martin Sebor  <msebor@redhat.com>
34009         PR middle-end/101475
34010         * pointer-query.cc (handle_component_ref): Use the size of
34011         the enclosing object if it's smaller than the member.
34013 2022-01-14  Martin Liska  <mliska@suse.cz>
34015         * configure: Regenerate.
34017 2022-01-14  Uroš Bizjak  <ubizjak@gmail.com>
34019         * config/i386/i386.md (*add<mode>_1_slp"):
34020         Mark alternative 1 output operand earlyclobbered.
34021         (*sub<mode>_1_slp): Ditto.
34022         (*and<mode>_1_slp): Ditto.
34023         (*<code><mode>_1_slp): Ditto.
34024         (*neg<mode>_1_slp): Ditto.
34025         (*one_cmpl<mode>_1_slp): Ditto.
34026         (*ashl<mode>3_1_slp): Ditto.
34027         (*<insn><mode>3_1_slp): Ditto.
34028         (*<insn><mode>3_1_slp): Ditto.
34030 2022-01-14  Kewen Lin  <linkw@linux.ibm.com>
34032         PR tree-optimization/104015
34033         * tree-vect-loop.c (vect_analyze_loop): Check
34034         param_vect_partial_vector_usage for supports_partial_vectors.
34036 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
34038         PR c++/89074
34039         * fold-const.c (address_compare): Punt on comparison of address of
34040         one object with address of end of another object if
34041         folding_initializer.
34043 2022-01-14  Jakub Jelinek  <jakub@redhat.com>
34045         PR target/98737
34046         * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
34047         __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
34048         and __atomic_op_fetch (p, x, y) iop x into
34049         __atomic_fetch_op (p, x, y).
34051 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
34053         * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
34054         (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
34055         (INCOMING_RETURN_ADDR_RTX): Likewise.
34056         (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
34058 2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>
34060         * config/arc/arc.c (arc_compute_frame_size): Remove condition when
34061         computin checking accumulator regs.
34062         (arc_expand_prologue): Update comments.
34063         (arc_expand_epilogue): Likewise.
34065 2022-01-14  Roger Sayle  <roger@nextmovesoftware.com>
34066             Uroš Bizjak  <ubizjak@gmail.com>
34068         * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
34069         (ix86_expand_ti_to_v1ti): Use force_reg.
34070         (ix86_expand_v1ti_shift): Use force_reg.
34071         (ix86_expand_v1ti_rotate): Use force_reg.
34072         (ix86_expand_v1ti_ashiftrt): Provide new three operation
34073         implementations for shifts by 111..126 bits.  Use force_reg.
34075 2022-01-14  Martin Liska  <mliska@suse.cz>
34077         * common/config/arm/arm-common.c (arm_target_mode): Fix
34078         warning: unterminated quoting directive [-Wformat=].
34080 2022-01-14  Siddhesh Poyarekar  <siddhesh@gotplt.org>
34082         PR tree-optimization/104009
34083         * tree-object-size.c (compute_builtin_object_size): Bail out on
34084         negative offset.
34085         (plus_stmt_object_size): Return maximum of wholesize and minimum
34086         of 0 for negative offset.
34088 2022-01-14  liuhongt  <hongtao.liu@intel.com>
34090         PR target/104001
34091         PR target/94790
34092         PR target/104014
34093         * config/i386/i386.md (*xor2andn): Refine predicate of
34094         operands[0] from nonimmediate_operand to
34095         register_operand, remove TARGET_AVX512BW from condition.
34097 2022-01-14  David Malcolm  <dmalcolm@redhat.com>
34099         * doc/extend.texi (Function Attributes): Note that "tainted_args" can
34100         be used on field decls.
34101         (Common Function Attributes): Add entry on "tainted_args" attribute.
34103 2022-01-13  Anthony Sharp  <anthonysharp15@gmail.com>
34104             Jason Merrill  <jason@redhat.com>
34106         PR c++/70417
34107         * doc/invoke.texi: Documentation for Wmissing-template-keyword.
34109 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
34111         PR target/103861
34112         * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
34113         (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
34114         * config/i386/mmx.md (<any_shift:insn>v2qi):
34115         New insn_and_split pattern.
34117 2022-01-13  Robin Dapp  <rdapp@linux.ibm.com>
34119         * internal-fn.c (expand_partial_load_optab_fn): Add bias.
34120         (expand_partial_store_optab_fn): Likewise.
34121         (internal_len_load_store_bias): New function.
34122         * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
34123         (internal_len_load_store_bias): New function.
34124         * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
34125         (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
34126         * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
34127         (vect_estimate_min_profitable_iters): Account for bias.
34128         (vect_get_loop_len): Add bias-adjusted length.
34129         * tree-vect-stmts.c (vectorizable_store): Use.
34130         (vectorizable_load): Use.
34131         * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
34132         (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
34133         * config/rs6000/vsx.md: Use const0 bias predicate.
34134         * doc/md.texi: Document bias value.
34136 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
34138         PR tree-optimization/83072
34139         PR tree-optimization/83073
34140         PR tree-optimization/97909
34141         * fold-const.c (expr_not_equal_to): Use a multi-range class.
34143 2022-01-13  Andrew MacLeod  <amacleod@redhat.com>
34145         PR tree-optimization/96707
34146         * range-op.cc (operator_rshift::lhs_op1_relation): New.
34148 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
34150         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
34151         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
34152         (negv2qi splitters): Use lowpart_subreg instead of
34153         gen_lowpart to create subreg.
34154         (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
34155         Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
34156         (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
34157         gen_lowpart to create subreg.
34158         * config/i386/i386.md (*subqi_ext<mode>_2): Move.
34160 2022-01-13  Uroš Bizjak  <ubizjak@gmail.com>
34162         PR target/104003
34163         * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
34165 2022-01-13  Martin Liska  <mliska@suse.cz>
34167         * common/config/arm/arm-common.c (arm_target_mode): Wrap
34168         keywords with %<, %> and remove trailing punctuation char.
34169         (arm_canon_arch_option_1): Likewise.
34170         (arm_asm_auto_mfpu): Likewise.
34171         * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
34172         * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
34173         (use_vfp_abi): Likewise.
34174         (aapcs_vfp_is_call_or_return_candidate): Likewise.
34175         (arm_handle_cmse_nonsecure_entry): Likewise.
34176         (arm_handle_cmse_nonsecure_call): Likewise.
34177         (thumb1_md_asm_adjust): Likewise.
34179 2022-01-13  Paul A. Clarke  <pc@us.ibm.com>
34181         * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
34182         _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
34183         _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
34184         _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
34185         _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
34186         _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
34187         (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
34188         _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
34189         macro.
34191 2022-01-13  Jakub Jelinek  <jakub@redhat.com>
34193         PR tree-optimization/103989
34194         * tree-inline.c (setup_one_parameter): Don't copy parms with
34195         empty type.
34197 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
34199         * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
34200         'TYPE_ADDR_SPACE' for offloading.
34201         * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
34202         'TYPE_ADDR_SPACE' for offloading.
34204 2022-01-13  Julian Brown  <julian@codesourcery.com>
34205             Thomas Schwinge  <thomas@codesourcery.com>
34207         * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
34208         of...
34209         (add_async_clauses_and_wait): ...here. Call new outlined function.
34210         (decompose_kernels_region_body): Add wait at the end of
34211         explicitly-asynchronous kernels regions.
34213 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
34215         PR middle-end/100280
34216         * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
34217         Mark variables used in synthesized data clauses as addressable.
34219 2022-01-13  Martin Liska  <mliska@suse.cz>
34221         * config/epiphany/epiphany.c (epiphany_mode_priority):
34222         Use gcc_unreachable for not handled cases.
34224 2022-01-13  Martin Liska  <mliska@suse.cz>
34226         * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
34227         Use %qs format specifier.
34228         (epiphany_override_options): Wrap keyword in %<, %>.
34230 2022-01-13  Haochen Jiang  <haochen.jiang@intel.com>
34232         PR target/94790
34233         * config/i386/i386.md (*xor2andn): New define_insn_and_split.
34235 2022-01-13  Xionghu Luo  <luoxhu@linux.ibm.com>
34237         * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
34239 2022-01-12  Uroš Bizjak  <ubizjak@gmail.com>
34241         PR target/100637
34242         PR target/103861
34243         * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
34244         (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
34245         when constructing vector logic RTXes.
34246         (expand_vec_perm_pshufb2): Ditto.
34247         * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
34248         (<plusminus:insn>v2qi3): Ditto.
34249         (vcond<mode><mode>): Re-enable for TARGET_SSE2.
34250         (vcondu<mode><mode>): Ditto.
34251         (vcond_mask_<mode><mode>): Ditto.
34252         (one_cmpl<VI_32:mode>2): Remove expander.
34253         (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
34254         Use VI_16_32 mode iterator.
34255         (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
34256         Use lowpart_subreg instead of gen_lowpart to create subreg.
34257         (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
34258         "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
34259         Disparage GPR alternative a bit.  Add CC clobber.
34260         (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
34261         Use lowpart_subreg instead of gen_lowpart to create subreg.
34262         (*<any_logic:code><VI_16_32:mode>3): Merge from
34263         "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
34264         using VI_16_32 mode iterator.  Disparage GPR alternative a bit.
34265         Add CC clobber.
34266         (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
34267         iterator.  Use lowpart_subreg instead of gen_lowpart to create subreg.
34269 2022-01-12  Clément Chigot  <clement.chigot@atos.net>
34271         * configure.ac: Check sizeof ino_t and dev_t.
34272         (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
34273         syscall being able to handle 64bit inodes.
34274         * config.in: Regenerate.
34275         * configure: Regenerate.
34276         * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
34277         (remove_duplicates): Use it.
34279 2022-01-12  Andrew MacLeod  <amacleod@redhat.com>
34281         PR tree-optimization/103551
34282         * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
34284 2022-01-12  Richard Biener  <rguenther@suse.de>
34286         PR tree-optimization/103990
34287         * tree-pass.h (tail_merge_optimize): Drop unused argument.
34288         * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
34289         * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
34290         and adjust call to tail_merge_optimize.
34292 2022-01-12  Andre Vieira  <andre.simoesdiasvieira@arm.com>
34294         * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
34295         does not add autovectorize_vector_modes.
34297 2022-01-12  Martin Liska  <mliska@suse.cz>
34299         * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
34300         %qs where possible.
34301         (aarch64_parse_sve_width_string): Likewise.
34302         (aarch64_override_options_internal): Likewise.
34303         (aarch64_print_hint_for_extensions): Likewise.
34304         (aarch64_validate_sls_mitigation): Likewise.
34305         (aarch64_handle_attr_arch): Likewise.
34306         (aarch64_handle_attr_cpu): Likewise.
34307         (aarch64_handle_attr_tune): Likewise.
34308         (aarch64_handle_attr_isa_flags): Likewise.
34310 2022-01-12  Martin Liska  <mliska@suse.cz>
34312         * config.gcc: Include elfos.h before ${tm_file}.
34314 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
34316         * config/cris/cris.c: Quote identifiers in parameters to error
34317         and internal_error, and remove extraneous spaces with punctuation.
34318         * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
34319         expression to internal_error, pass it as a parameter instead of
34320         appending it to the format part.
34322 2022-01-12  Hans-Peter Nilsson  <hp@axis.com>
34324         * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
34325         parameter to as_a.
34327 2022-01-11  qing zhao  <qing.zhao@oracle.com>
34329         * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
34330         Change the 3rd argument of function .DEFERRED_INIT to the name of the
34331         decl.
34332         (gimplify_decl_expr): Delete the 3rd argument when call
34333         gimple_add_init_for_auto_var.
34334         * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
34335         the 3rd argument change of function .DEFERRED_INIT.
34336         * tree-cfg.c (verify_gimple_call): Update comments and verification
34337         to reflect the 3rd argument change of function .DEFERRED_INIT.
34338         * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
34339         (sra_modify_deferred_init): Change the 3rd argument of function
34340         .DEFERRED_INIT to the name of the decl.
34342 2022-01-11  Thomas Koenig  <tkoenig@gcc.gnu.org>
34344         * flag-types.h (enum gfc_convert): Add flags for
34345         conversion.
34347 2022-01-11  Michael Meissner  <meissner@the-meissners.org>
34349         * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
34350         checks for only C/C++ front ends before allowing the long double
34351         format to change without a warning.
34353 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
34355         PR rtl-optimization/103974
34356         * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
34357         extra argument, default true, that says whether old-reload
34358         targets should be excluded.
34359         * ira-color.c (color_pass): Pass false.
34361 2022-01-11  Uroš Bizjak  <ubizjak@gmail.com>
34363         PR target/103861
34364         * config/i386/mmx.md (vcond<mode><mode>):
34365         Use VI_16_32 mode iterator.  Enable for TARGET_SSE4_1.
34366         (vcondu<mode><mode>): Ditto.
34367         (vcond_mask_<mode><mode>): Ditto.
34368         (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
34369         (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
34370         Use VI_16_32 mode iterator.
34371         * config/i386/i386-expand.c (ix86_expand_sse_movcc):
34372         Update for rename.  Handle V2QImode.
34373         (expand_vec_perm_blend): Update for rename.
34375 2022-01-11  Jakub Jelinek  <jakub@redhat.com>
34377         PR c++/101597
34378         * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
34380 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
34382         PR middle-end/70090
34383         * tree-object-size.c (size_valid_p): New function.
34384         (size_for_offset): Remove OFFSET constness assertion.
34385         (addr_object_size): Build dynamic expressions for object
34386         sizes and use size_valid_p to decide if it is valid for the
34387         given OBJECT_SIZE_TYPE.
34388         (compute_builtin_object_size): Allow dynamic offsets when
34389         computing size at O0.
34390         (call_object_size): Call size_valid_p.
34391         (plus_stmt_object_size): Allow non-constant offset and use
34392         size_valid_p to decide if it is valid for the given
34393         OBJECT_SIZE_TYPE.
34395 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
34397         PR middle-end/70090
34398         * tree-object-size.c (alloc_object_size): Make and return
34399         non-constant size expression.
34400         (call_object_size): Return expression or unknown based on
34401         whether dynamic object size is requested.
34403 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
34405         PR middle-end/70090
34406         * tree-object-size.c: Include tree-dfa.h.
34407         (parm_object_size): New function.
34408         (collect_object_sizes_for): Call it.
34410 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
34412         PR middle-end/70090
34413         * builtins.c (fold_builtin_object_size): Adjust for dynamic size
34414         expressions.
34415         * tree-object-size.c: Include gimplify-me.h.
34416         (struct object_size_info): New member UNKNOWNS.
34417         (size_initval_p, size_usable_p, object_sizes_get_raw): New
34418         functions.
34419         (object_sizes_get): Return suitable gimple variable for
34420         object size.
34421         (bundle_sizes): New function.
34422         (object_sizes_set): Use it and handle dynamic object size
34423         expressions.
34424         (object_sizes_set_temp): New function.
34425         (size_for_offset): Adjust for dynamic size expressions.
34426         (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
34427         New functions.
34428         (compute_builtin_object_size): Call gimplify_size_expressions
34429         for OST_DYNAMIC.
34430         (dynamic_object_size): New function.
34431         (cond_expr_object_size): Use it.
34432         (phi_dynamic_object_size): New function.
34433         (collect_object_sizes_for): Call it for OST_DYNAMIC.  Adjust to
34434         accommodate dynamic object sizes.
34436 2022-01-11  Siddhesh Poyarekar  <siddhesh@gotplt.org>
34437             Jakub Jelinek  <jakub@redhat.com>
34439         PR tree-optimization/103961
34440         * tree-object-size.c (plus_stmt_object_size): Always avoid
34441         computing offset for -1 size.
34443 2022-01-11  Andrew MacLeod  <amacleod@redhat.com>
34445         PR tree-optimization/103821
34446         * range-op.cc (range_operator::fold_range): Only do precise ranges
34447         when there are not too many subranges.
34449 2022-01-11  Richard Sandiford  <richard.sandiford@arm.com>
34451         * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
34452         definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
34454 2022-01-11  Roger Sayle  <roger@nextmovesoftware.com>
34455             Richard Biener  <rguenther@suse.de>
34457         * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
34458         highpart_mults_inserted field.
34459         (convert_mult_to_highpart): New function to convert right shift
34460         of a widening multiply into a MULT_HIGHPART_EXPR.
34461         (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
34462         Call new convert_mult_to_highpart function.
34463         (pass_optimize_widening_mul::execute): Add a statistics counter
34464         for tracking "highpart multiplications inserted" events.
34466 2022-01-11  Xionghu Luo  <luoxhu@linux.ibm.com>
34468         PR target/102239
34469         * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
34470         declare.
34471         * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
34472         function.
34473         * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
34475 2022-01-11  Olivier Hainque  <hainque@adacore.com>
34477         * gcc.c (driver_handle_option): State --sysroot as
34478         validated.
34480 2022-01-11  Kewen Lin  <linkw@linux.ibm.com>
34482         * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
34483         useless related to option -mno-power10.
34485 2022-01-11  Haochen Jiang  <haochen.jiang@intel.com>
34487         PR target/53652
34488         * config/i386/sse.md (*andnot<mode>3): Extend predicate of
34489         operands[1] from register_operand to vector_operand.
34491 2022-01-10  Uroš Bizjak  <ubizjak@gmail.com>
34493         PR target/103861
34494         * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
34495         Handle V2QImode.
34496         * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
34497         Use VI1_16_32 mode iterator.
34498         (*eq<mode>3): Ditto.
34499         (*gt<mode>3): Ditto.
34500         (*xop_maskcmp<mode>3): Ditto.
34501         (*xop_maskcmp_uns<mode>3): Ditto.
34502         (vec_cmp<mode><mode>): Ditto.
34503         (vec_cmpu<mode><mode>): Ditto.
34505 2022-01-10  Richard Biener  <rguenther@suse.de>
34507         PR tree-optimization/103948
34508         * tree-vect-generic.c (expand_vector_condition): Return true if
34509         all ones vector is returned for true, all zeros vector for false
34510         and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
34512 2022-01-10  Paul A. Clarke  <pc@us.ibm.com>
34514         * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
34515         when _ARCH_PWR10. Use signed types.
34516         (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
34517         (_mm_blendv_pd): Likewise.
34519 2022-01-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>
34521         * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
34522         epilogue costing.
34523         * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
34524         epilogues, unless we are guaranteed that we can't have partial vectors.
34525         * genopinit.c: (partial_vectors_supported): Generate new function.
34527 2022-01-10  Jakub Jelinek  <jakub@redhat.com>
34529         PR target/102024
34530         * config/i386/i386.c (classify_argument): Add zero_width_bitfields
34531         argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
34532         always ignore them, when seeing other zero sized bitfields, either
34533         set zero_width_bitfields to 1 and ignore it or if equal to 2 process
34534         it.  Pass it to recursive calls.  Add wrapper
34535         with old arguments and diagnose ABI differences for C structures
34536         with zero width bitfields.  Formatting fixes.
34538 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
34540         PR rtl-optimization/98782
34541         * ira-int.h (ira_soft_conflict): Declare.
34542         * ira-color.c (max_soft_conflict_loop_depth): New constant.
34543         (ira_soft_conflict): New function.
34544         (spill_soft_conflicts): Likewise.
34545         (assign_hard_reg): Use them to handle the case described by
34546         the comment above ira_soft_conflict.
34547         (improve_allocation): Likewise.
34548         * ira.c (check_allocation): Allow allocnos with "soft" conflicts
34549         to share the same register.
34551 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
34553         PR rtl-optimization/98782
34554         * ira-int.h (ira_caller_save_cost): New function.
34555         (ira_caller_save_loop_spill_p): Likewise.
34556         * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
34557         cheaper to spill a call-clobbered register throughout a loop rather
34558         than spill it around each individual call.  If so, treat all
34559         call-clobbered registers as conflicts and...
34560         (propagate_allocno_info): ...do not propagate call information
34561         from the child to the parent.
34562         * ira-color.c (move_spill_restore): Update accordingly.
34563         * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
34565 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
34567         PR rtl-optimization/98782
34568         * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
34569         (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
34570         (ira_single_region_allocno_p): New function.
34571         (ira_total_conflict_hard_regs): Likewise.
34572         * ira-build.c (ira_create_allocno): Initialize
34573         ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
34574         (ira_propagate_hard_reg_costs): New function.
34575         (propagate_allocno_info): Use it.  Try to avoid propagating
34576         hard register conflicts to parent allocnos if we can handle
34577         the conflicts by spilling instead.  Limit the propagated
34578         register costs to the cost of spilling throughout the child loop.
34579         * ira-color.c (color_pass): Use ira_single_region_allocno_p to
34580         test whether a child and parent allocno can share the same
34581         register.
34582         (move_spill_restore): Adjust for the new behavior of
34583         propagate_allocno_info.
34585 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
34587         PR rtl-optimization/98782
34588         * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
34589         extracted from...
34590         * ira-color.c (color_pass): ...here.
34592 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
34594         PR rtl-optimization/98782
34595         * ira-color.c (color_pass): Add comments to describe the spill costs.
34596         (move_spill_restore): Likewise.  Fix reversed calculation.
34598 2022-01-10  Richard Sandiford  <richard.sandiford@arm.com>
34600         PR rtl-optimization/98782
34601         * ira-int.h (ira_loop_border_costs): New class.
34602         * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
34603         New constructor.
34604         (calculate_allocno_spill_cost): Use ira_loop_border_costs.
34605         (color_pass): Likewise.
34606         (move_spill_restore): Likewise.
34608 2022-01-10  Eric Botcazou  <ebotcazou@adacore.com>
34610         PR target/103465
34611         * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
34613 2022-01-10  Richard Biener  <rguenther@suse.de>
34615         PR tree-optimization/100359
34616         * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
34617         Allow non-growing peeling with !allow_peel and UL_ALL.
34619 2022-01-08  Roger Sayle  <roger@nextmovesoftware.com>
34621         * config/i386/i386-expand.c (ix86_expand_vector_move): Add
34622         special case for TImode to V1TImode moves, going via V2DImode.
34624 2022-01-08  Jakub Jelinek  <jakub@redhat.com>
34626         PR c++/89074
34627         * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
34628         simplification.
34630 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
34632         * doc/analyzer.texi
34633         (Special Functions for Debugging the Analyzer): Document
34634         __analyzer_dump_escaped.
34636 2022-01-08  David Malcolm  <dmalcolm@redhat.com>
34638         * doc/analyzer.texi (Other Debugging Techniques): Document
34639         region::is_named_decl_p.
34641 2022-01-07  Andrew Pinski  <apinski@marvell.com>
34643         PR target/102941
34644         * config/arm/aarch-common.c (arm_md_asm_adjust):
34645         Use a temp if !REG_P.
34647 2022-01-07  Uroš Bizjak  <ubizjak@gmail.com>
34649         * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
34650         (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
34652 2022-01-07  liuhongt  <hongtao.liu@intel.com>
34654         PR rtl-optimization/103750
34655         * fwprop.c (forward_propagate_into): Allow propagations from
34656         inner loop to outer loop.
34658 2022-01-07  Roger Sayle  <roger@nextmovesoftware.com>
34660         * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
34662 2022-01-07  Haochen Gui  <guihaoc@gcc.gnu.org>
34664         * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
34665         (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
34666         Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
34668 2022-01-07  liuhongt  <hongtao.liu@intel.com>
34670         * config/i386/sse.md
34671         (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
34672         UNSPEC_PCMP_UNSIGNED.
34674 2022-01-07  liuhongt  <hongtao.liu@intel.com>
34676         PR target/103753
34677         * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
34678         gen_avx2_pblendph_1 when elt == 0.
34679         * config/i386/sse.md (avx2_pblendph): Rename to ..
34680         (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
34681         (*avx2_pblendw): Rename to ..
34682         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
34683         (avx2_pblendw): Rename to ..
34684         (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
34685         (blendsuf): Removed.
34686         (sse4_1_pblend<blendsuf>): Renamed to ..
34687         (sse4_1_pblend<ssemodesuffix>): .. this.
34689 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
34691         PR target/103925
34692         * config/i386/i386.c (ix86_output_indirect_function_return):
34693         Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
34695 2022-01-06  H.J. Lu  <hjl.tools@gmail.com>
34697         PR target/102952
34698         * config/i386/i386-opts.h (harden_sls): Replace
34699         harden_sls_indirect_branch with harden_sls_indirect_jmp.
34700         * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
34701         Likewise.
34702         (ix86_output_indirect_jmp): Likewise.
34703         (ix86_output_call_insn): Likewise.
34704         * config/i386/i386.opt: Replace indirect-branch with
34705         indirect-jmp.  Replace harden_sls_indirect_branch with
34706         harden_sls_indirect_jmp.
34707         * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
34708         indirect-jmp.
34710 2022-01-06  Uroš Bizjak  <ubizjak@gmail.com>
34712         * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
34713         Add %q modifier for operands in general registers.
34714         <MODE_SI>: Add %q modifier for operands in general registers.
34715         * config/i386/i386.md (*movhi_internal): Change type attribute of
34716         xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
34717         to SImode for non-avx512fp16 targets.
34718         (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
34719         * config/i386/mmx.md (*movv2qi_internal):
34720         Ditto for xmm-gpr interunit alternatives 8,9.
34722 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
34724         * common/config/riscv/riscv-common.c (riscv_implied_info): Add
34725         vector extensions.
34726         (riscv_ext_version_table): Add version info for vector extensions.
34727         (riscv_ext_flag_table): Add option mask for vector extensions.
34728         * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
34729         (MASK_VECTOR_EEW_64): New.
34730         (MASK_VECTOR_EEW_FP_32): New.
34731         (MASK_VECTOR_EEW_FP_64): New.
34732         (MASK_ZVL32B): New.
34733         (MASK_ZVL64B): New.
34734         (MASK_ZVL128B): New.
34735         (MASK_ZVL256B): New.
34736         (MASK_ZVL512B): New.
34737         (MASK_ZVL1024B): New.
34738         (MASK_ZVL2048B): New.
34739         (MASK_ZVL4096B): New.
34740         (MASK_ZVL8192B): New.
34741         (MASK_ZVL16384B): New.
34742         (MASK_ZVL32768B): New.
34743         (MASK_ZVL65536B): New.
34744         (TARGET_ZVL32B): New.
34745         (TARGET_ZVL64B): New.
34746         (TARGET_ZVL128B): New.
34747         (TARGET_ZVL256B): New.
34748         (TARGET_ZVL512B): New.
34749         (TARGET_ZVL1024B): New.
34750         (TARGET_ZVL2048B): New.
34751         (TARGET_ZVL4096B): New.
34752         (TARGET_ZVL8192B): New.
34753         (TARGET_ZVL16384B): New.
34754         (TARGET_ZVL32768B): New.
34755         (TARGET_ZVL65536B): New.
34756         * config/riscv/riscv.opt (Mask(VECTOR)): New.
34757         (riscv_vector_eew_flags): New.
34758         (riscv_zvl_flags): New.
34760 2022-01-06  Kito Cheng  <kito.cheng@sifive.com>
34762         * common/config/riscv/riscv-common.c
34763         (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
34764         digit.
34766 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
34768         PR tree-optimization/103899
34769         * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
34770         warning by moving context variable to the only spot where it is used
34771         and moving gcc_assert into if body.
34773 2022-01-06  Jakub Jelinek  <jakub@redhat.com>
34775         PR rtl-optimization/103908
34776         * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
34777         asm goto.
34779 2022-01-05  Bill Schmidt  <wschmidt@linux.ibm.com>
34781         PR target/103622
34782         * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
34783         Skip over instances with undefined function types.
34785 2022-01-05  Andrew Pinski  <apinski@marvell.com>
34787         PR target/103910
34788         * config/i386/i386.h (x86_mfence): Mark with GTY.
34790 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
34792         PR target/103861
34793         * config/i386/mmx.md (VI_16_32): New mode iterator.
34794         (VI1_16_32): Ditto.
34795         (mmxvecsize): Handle V2QI mode.
34796         (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
34797         Use VI1_16_32 mode iterator.
34798         (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
34799         Use VI1_16_32 mode iterator.
34800         (abs<mode>2): Use VI_16_32 mode iterator.
34801         (uavgv2qi3_ceil): New insn pattern.
34803 2022-01-05  Martin Sebor  <msebor@redhat.com>
34805         * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
34806         %qs to avoid -Wformat-diag.
34808 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
34810         PR target/103915
34811         * config/i386/mmx.md (one_cmplv2qi2): Change
34812         alternatives 1,2 type from sselog to sselog1.
34814 2022-01-05  Uroš Bizjak  <ubizjak@gmail.com>
34816         PR target/103905
34817         * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
34818         narrow mode remapped elements for !one_operand_p case.
34820 2022-01-05  Richard Biener  <rguenther@suse.de>
34822         PR tree-optimization/103816
34823         * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
34824         check DR_GROUP_GAP compute for overflow and representability.
34826 2022-01-05  Jakub Jelinek  <jakub@redhat.com>
34828         PR fortran/103691
34829         * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
34830         for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
34831         it can do unwanted rhs folding like &a[0] into &2.0 etc.
34833 2022-01-05  Kewen Lin  <linkw@linux.ibm.com>
34835         PR ipa/102059
34836         * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
34837         (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
34838         (rs6000_need_ipa_fn_target_info): New function.
34839         (rs6000_update_ipa_fn_target_info): Likewise.
34840         (rs6000_can_inline_p): Adjust for ipa function summary target info.
34841         * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
34842         * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
34843         summary target info.
34844         (analyze_function_body): Adjust for ipa function summary target info
34845         and call hook rs6000_need_ipa_fn_target_info and
34846         rs6000_update_ipa_fn_target_info.
34847         (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
34848         target info.
34849         (inline_read_section): Likewise.
34850         (ipa_fn_summary_write): Likewise.
34851         * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
34852         * doc/tm.texi: Regenerate.
34853         * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
34854         (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
34855         * target.def (update_ipa_fn_target_info): New hook.
34856         (need_ipa_fn_target_info): Likewise.
34857         * targhooks.c (default_need_ipa_fn_target_info): New function.
34858         (default_update_ipa_fn_target_info): Likewise.
34859         * targhooks.h (default_update_ipa_fn_target_info): New declare.
34860         (default_need_ipa_fn_target_info): Likewise.
34862 2022-01-04  Martin Sebor  <msebor@redhat.com>
34864         PR middle-end/99612
34865         * builtins.c (get_memmodel): Move warning code to
34866         gimple-ssa-warn-access.cc.
34867         (expand_builtin_atomic_compare_exchange): Same.
34868         (expand_ifn_atomic_compare_exchange): Same.
34869         (expand_builtin_atomic_load): Same.
34870         (expand_builtin_atomic_store): Same.
34871         (expand_builtin_atomic_clear): Same.
34872         * doc/extend.texi (__atomic_exchange_n): Update valid memory
34873         models.
34874         * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
34875         (struct memmodel_pair): New struct.
34876         (memmodel_name): New function.
34877         (pass_waccess::maybe_warn_memmodel): New function.
34878         (pass_waccess::check_atomic_memmodel): New function.
34879         (pass_waccess::check_atomic_builtin): Handle memory model.
34880         * input.c (expansion_point_location_if_in_system_header): Return
34881         original location if expansion location is in a system header.
34883 2022-01-04  Uroš Bizjak  <ubizjak@gmail.com>
34885         PR target/103861
34886         * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
34887         (one_cmplv2qi3 splitters): New post-reload splitters.
34888         (*andnotv2qi3): New insn pattern.
34889         (andnotv2qi3 splitters): New post-reload splitters.
34890         (<any_logic:code>v2qi3): New insn pattern.
34891         (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
34893 2022-01-04  Richard Biener  <rguenther@suse.de>
34895         PR tree-optimization/103800
34896         * tree-vect-loop.c (vectorizable_phi): Remove assert and
34897         expand comment.
34899 2022-01-04  Richard Biener  <rguenther@suse.de>
34901         PR tree-optimization/103690
34902         * tree-pass.h (tail_merge_optimize): Adjust.
34903         * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
34904         to re-split critical edges, move CFG cleanup ...
34905         * tree-ssa-pre.c (pass_pre::execute): ... here, before
34906         simple_dce_from_worklist and delay freeing inserted_exprs from
34907         ...
34908         (fini_pre): .. here.
34910 2022-01-04  Roger Sayle  <roger@nextmovesoftware.com>
34912         * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
34913         * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
34914         (setcc_from_bi): Remove SImode specific pattern.
34915         (setcc<mode>_from_bi): Provide more general HSDIM pattern.
34916         (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
34917         for sign- and zero-extending BImode predicates to integers.
34918         (setcc_int<mode>): Remove previous (-1-based) instructions.
34919         (cstorebi4): Remove BImode to SImode specific expander.
34920         (cstore<mode>4): Fix indentation.  Expand using setccsi_from_bi.
34921         (cstore<mode>4): For both integer and floating point modes.
34923 2022-01-04  Olivier Hainque  <hainque@adacore.com>
34925         * gcc.c (driver_handle_option): do_save --sysroot.
34927 2022-01-04  Richard Biener  <rguenther@suse.de>
34929         PR tree-optimization/103864
34930         PR tree-optimization/103544
34931         * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
34932         reductions wrapped in conversions from SLP handling.
34933         (vect_analyze_slp): Revert PR103544 change.
34935 2022-01-04  Jakub Jelinek  <jakub@redhat.com>
34937         PR rtl-optimization/103860
34938         * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
34939         uselessly for blocks for which it has been called already.
34941 2022-01-04  Cui,Lili  <lili.cui@intel.com>
34943         * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
34944         to Alderlake and Rocketlake.
34946 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
34948         PR middle-end/103643
34949         * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
34950         OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
34952 2022-01-04  liuhongt  <hongtao.liu@intel.com>
34954         PR target/103895
34955         * config/i386/sse.md (*bit_and_float_vector_all_ones):
34956         Force_reg operand 1 to avoid ICE.
34958 2022-01-04  Jason Merrill  <jason@redhat.com>
34960         * tree-pretty-print.c (do_niy): Add spc parameter.
34961         (NIY): Pass it.
34962         (print_call_name): Add spc local variable.
34964 2022-01-03  Uroš Bizjak  <ubizjak@gmail.com>
34966         PR target/103894
34967         * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
34968         (mov<V_32:mode>_internal): Ditto.
34969         (*push<V_32:mode>_rex64): Ditto.
34970         (movmisalign<V_32:mode>): Ditto.
34971         (*push<V_32:mode>_rex64 splitter): Enable for
34972         TARGET_64BIT && TARGET_SSE.
34973         (*push<V_32:mode>2): Remove insn pattern.
34975 2022-01-03  Andrew Pinski  <apinski@marvell.com>
34977         PR c/33193
34978         * doc/extend.texi: Extend the documentation about Complex
34979         types for casting and also rewrite the __real__/__imag__
34980         expression portion to use tables.
34981         Move __builtin_complex to the Complex type section.
34983 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
34985         PR target/98737
34986         * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
34987         ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
34988         New internal fns.
34989         * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
34990         ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
34991         ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
34992         * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
34993         expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
34994         expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
34995         functions.
34996         * optabs.def (atomic_add_fetch_cmp_0_optab,
34997         atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
34998         atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
34999         direct optabs.
35000         * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
35001         * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
35002         * tree-ssa-ccp.c: Include internal-fn.h.
35003         (optimize_atomic_bit_test_and): Add . before internal fn call
35004         in function comment.  Change return type from void to bool and
35005         return true only if successfully replaced.
35006         (optimize_atomic_op_fetch_cmp_0): New function.
35007         (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
35008         for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
35009         BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
35010         for *XOR* ones only if optimize_atomic_bit_test_and failed.
35011         * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
35012         atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
35013         (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
35014         atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
35015         * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
35016         atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
35017         atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
35018         new named patterns.
35020 2022-01-03  Richard Biener  <rguenther@suse.de>
35022         PR middle-end/103851
35023         * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
35025 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
35027         PR c++/94716
35028         * symtab.c: Include fold-const.h.
35029         (symtab_node::equal_address_to): If folding_initializer is true,
35030         handle it like memory_accessed.  Simplify.
35032 2022-01-03  Martin Liska  <mliska@suse.cz>
35034         * doc/extend.texi: Use ; for function declarations.
35036 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
35038         PR c++/103600
35039         * symtab.c (symtab_node::equal_address_to): Return 0 if one of
35040         VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
35042 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
35044         * gcc.c (process_command): Update copyright notice dates.
35045         * gcov-dump.c (print_version): Ditto.
35046         * gcov.c (print_version): Ditto.
35047         * gcov-tool.c (print_version): Ditto.
35048         * gengtype.c (create_file): Ditto.
35049         * doc/cpp.texi: Bump @copying's copyright year.
35050         * doc/cppinternals.texi: Ditto.
35051         * doc/gcc.texi: Ditto.
35052         * doc/gccint.texi: Ditto.
35053         * doc/gcov.texi: Ditto.
35054         * doc/install.texi: Ditto.
35055         * doc/invoke.texi: Ditto.
35057 2022-01-02  Uroš Bizjak  <ubizjak@gmail.com>
35059         PR target/103861
35060         * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
35061         (VALID_INT_MODE_P): Ditto.
35062         * config/i386/i386.c (ix86_secondary_reload): Handle
35063         V2QImode reloads from SSE register to memory.
35064         (vector_mode_supported_p): Always return true for V2QImode.
35065         * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
35066         (*negqi_ext<mode>_2): Ditto.
35067         * config/i386/mmx.md (movv2qi): New expander.
35068         (movmisalignv2qi): Ditto.
35069         (*movv2qi_internal): New insn pattern.
35070         (*pushv2qi2): Ditto.
35071         (negv2qi2 and splitters): Ditto.
35072         (<plusminus:insn>v2qi3 and splitters): Ditto.
35074 2022-01-02  John David Anglin  <danglin@gcc.gnu.org>
35076         * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
35077         sync_lock_test_and_set libfunc. Call convert_memory_address to
35078         convert memory address to Pmode.
35079         (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
35082 Copyright (C) 2022 Free Software Foundation, Inc.
35084 Copying and distribution of this file, with or without modification,
35085 are permitted in any medium without royalty provided the copyright
35086 notice and this notice are preserved.