]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog-2022
Fix profiledbootstrap
[thirdparty/gcc.git] / gcc / ChangeLog-2022
1 2022-12-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2 Iain Sandoe <iain@sandoe.co.uk>
3
4 PR modula2/107612
5 * Makefile.in: Make the configured libintl includes avaiable in INCINTL.
6 (BUILD_CPPFLAGS): Use INCINTL.
7
8 2022-12-30 Alexandre Oliva <oliva@adacore.com>
9
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.
18
19 2022-12-30 Stam Markianos-Wright <stam.markianos-wright@arm.com>
20
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.
30
31 2022-12-29 Alexandre Oliva <oliva@adacore.com>
32
33 * hash-map.h (put, get_or_insert): Check that added entry
34 doesn't look deleted either.
35 * hash-set.h (add): Likewise.
36
37 2022-12-29 Alexandre Oliva <oliva@adacore.com>
38
39 * tree-parloops.cc (take_address_of): Skip INSERT if !gsi.
40
41 2022-12-29 Alexandre Oliva <oliva@adacore.com>
42
43 * hash-map.h (put, get_or_insert): Check that entry does not
44 look empty after insertion.
45
46 2022-12-29 Alexandre Oliva <oliva@adacore.com>
47
48 * hash-set.h (add): Check that the inserted entry does not
49 look empty.
50
51 2022-12-29 Alexandre Oliva <oliva@adacore.com>
52
53 * trans-mem.cc (split_bb_make_tm_edge): Record new node in
54 tm_restart.
55
56 2022-12-29 Alexandre Oliva <oliva@adacore.com>
57
58 * postreload-gcse.cc (lookup_expr_in_table): Use NO_INSERT.
59
60 2022-12-29 Alexandre Oliva <oliva@adacore.com>
61
62 * tree-inline.cc (declare_return_variable): Don't remap NULL
63 default def of result.
64
65 2022-12-29 Alexandre Oliva <oliva@adacore.com>
66
67 * tree-ssa-loop-niter.cc (expand_simple_operands): Refrain
68 from caching NULL TREE_OPERANDs.
69
70 2022-12-29 Alexandre Oliva <oliva@adacore.com>
71
72 * tree-inline.cc (insert_decl_map): Skip mapping a NULL decl
73 as value to itself.
74
75 2022-12-29 Alexandre Oliva <oliva@adacore.com>
76
77 * varpool.cc (symbol_table::remove_unreferenced_decls): Do not
78 add NULL vnodes to referenced table.
79
80 2022-12-29 Alexandre Oliva <oliva@adacore.com>
81
82 * tree-ssa-scopedtables.cc
83 (avail_exprs_stack::lookup_avail_expr): Finish hash table
84 insertion before further lookups.
85
86 2022-12-29 Max Filippov <jcmvbkbc@gmail.com>
87
88 * config/xtensa/xtensa.cc (xtensa_return_in_memory): Use
89 GP_RETURN_* instead of magic constant.
90
91 2022-12-29 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
92
93 * config/xtensa/xtensa.cc (xtensa_expand_prologue): Fix to check
94 DF availability before use of DF_* macros.
95
96 2022-12-28 Roger Sayle <roger@nextmovesoftware.com>
97
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.
112
113 2022-12-28 Roger Sayle <roger@nextmovesoftware.com>
114
115 * config/i386/i386-expand.cc (ix86_split_ashl): Call
116 ix86_expand_clear to generate an xor instruction.
117
118 2022-12-28 Martin Liska <mliska@suse.cz>
119
120 PR tree-optimization/108137
121 * tree-ssa-strlen.cc (get_range_strlen_phi): Reject anything
122 different from INTEGER_CST.
123
124 2022-12-28 Kito Cheng <kito.cheng@sifive.com>
125
126 * config/riscv/riscv-vsetvl.h (vl_vtype_info::get_avl_info):
127 Return const reference rather than value.
128
129 2022-12-27 Jeff Law <jlaw@ventanamicro.com>
130
131 * config/riscv/riscv.md: Add missing modes to last patch.t
132
133 2022-12-27 Raphael Moreira Zinsly <rzinsly@ventanamicro.com>
134
135 PR target/95632
136 PR target/106602
137 * config/riscv/riscv.md: New pattern to simulate complex
138 const_int loads.
139
140 2022-12-27 Christoph Müllner <christoph.muellner@vrull.eu>
141
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.
145
146 2022-12-27 Christoph Müllner <christoph.muellner@vrull.eu>
147
148 * config/riscv/riscv.md: Sync comments with code.
149
150 2022-12-27 jinma <jinma@linux.alibaba.com>
151
152 * common/config/riscv/riscv-common.cc:
153
154 2022-12-27 Jonathan Yong <10walls@gmail.com>
155
156 * configure.ac: use grep -i for case insensitive test.
157 * configure: Regenerate.
158
159 2022-12-27 Max Filippov <jcmvbkbc@gmail.com>
160
161 * config/xtensa/xtensa.md (unspec): Extract UNSPEC_* constants
162 into this enum.
163 (unspecv): Extract UNSPECV_* constants into this enum.
164
165 2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
166
167 * config/xtensa/xtensa.md (set_frame_ptr): Fix to reflect
168 TARGET_DENSITY.
169
170 2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
171
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.
176
177 2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
178
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.
182
183 2022-12-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
184
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.
192
193 2022-12-27 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
194
195 * config/riscv/riscv-vsetvl.cc
196 (pass_vsetvl::compute_global_backward_infos): Change to visit CFG.
197 (pass_vsetvl::prune_expressions): Ditto.
198
199 2022-12-27 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
200
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.
205
206 2022-12-27 Kewen Lin <linkw@linux.ibm.com>
207
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.
216
217 2022-12-26 liuhongt <hongtao.liu@intel.com>
218
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.
226
227 2022-12-25 Roger Sayle <roger@nextmovesoftware.com>
228 Uroš Bizjak <ubizjak@gmail.com>
229
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.
247
248 2022-12-23 Jakub Jelinek <jakub@redhat.com>
249 Aldy Hernandez <aldyh@redhat.com>
250
251 * tree-ssa-phiopt.cc (value_replacement): Instead of resetting
252 phires range info, union it with carg.
253
254 2022-12-23 Jakub Jelinek <jakub@redhat.com>
255
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.
262
263 2022-12-23 Roger Sayle <roger@nextmovesoftware.com>
264
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.
274
275 2022-12-23 H.J. Lu <hjl.tools@gmail.com>
276 Roger Sayle <roger@nextmovesoftware.com>
277
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.
284
285 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
286
287 * config/riscv/vector.md: Fix contraints.
288
289 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
290
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.
401
402 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
403
404 * config/riscv/riscv-vector-builtins-shapes.cc (struct vsetvl_def): Add
405 "__riscv_" prefix.
406
407 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
408
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.
411
412 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
413
414 * config/riscv/riscv-vector-builtins-bases.cc: Remove side effects.
415
416 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
417
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.
423
424 2022-12-23 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
425
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.
431
432 2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com>
433
434 * doc/md.texi: Move example code remark next to it's code block.
435
436 2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com>
437
438 * doc/md.texi: Fix inconsistent example name.
439
440 2022-12-22 Andrew Carlotti <andrew.carlotti@arm.com>
441
442 * doc/md.texi: Fix incorrect pxref.
443
444 2022-12-22 Richard Biener <rguenther@suse.de>
445
446 PR bootstrap/106482
447 * doc/install.texi (ISO C++11 Compiler): Document GCC version
448 known to work.
449
450 2022-12-22 Jakub Jelinek <jakub@redhat.com>
451
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.
455
456 2022-12-22 Jakub Jelinek <jakub@redhat.com>
457
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.
463
464 2022-12-22 Richard Biener <rguenther@suse.de>
465
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.
470
471 2022-12-22 Jakub Jelinek <jakub@redhat.com>
472
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.
478
479 2022-12-22 Jan Hubicka <hubicka@ucw.cz>
480
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.
499
500 2022-12-22 Jan Hubicka <hubicka@ucw.cz>
501
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.
505
506 2022-12-21 Andrew Pinski <apinski@marvell.com>
507
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.
513
514 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
515
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.
530
531 2022-12-21 Richard Biener <rguenther@suse.de>
532
533 PR middle-end/107994
534 * gimplify.cc (gimplify_expr): Catch errorneous comparison
535 operand.
536
537 2022-12-21 Jan Hubicka <hubicka@ucw.cz>
538
539 * lto-opts.cc (lto_write_options): Also skip -fwhole-program.
540
541 2022-12-21 Jan Hubicka <jh@suse.cz>
542
543 * lto-cgraph.cc (lto_output_node): When doing WPA in incremental link
544 pass down resolution info.
545
546 2022-12-21 Jan Hubicka <hubicka@ucw.cz>
547
548 * doc/invoke.texi: Fix documentation of -fwhole-program with LTO
549 and document behaviour for incremental linking.
550
551 2022-12-21 Kewen Lin <linkw@linux.ibm.com>
552
553 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Fix the
554 location for OPTION_MASK_P10_FUSION flag setting.
555
556 2022-12-21 Kewen Lin <linkw@linux.ibm.com>
557
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.
561
562 2022-12-21 Kewen Lin <linkw@linux.ibm.com>
563
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.
574
575 2022-12-21 Jason Merrill <jason@redhat.com>
576
577 * fold-const.cc (fold_convert_loc): Check return value of
578 protected_set_expr_location_unshare.
579
580 2022-12-21 Jason Merrill <jason@redhat.com>
581
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.
587
588 2022-12-20 Patrick Palka <ppalka@redhat.com>
589
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.
594
595 2022-12-20 Andrew MacLeod <amacleod@redhat.com>
596
597 PR tree-optimization/108139
598 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Do not
599 use equivalences originating from PHIS.
600
601 2022-12-20 Richard Biener <rguenther@suse.de>
602
603 PR d/104749
604 * doc/install.texi (GDC): Document GDC 9.4 or later is required
605 to build the D language frontend.
606
607 2022-12-20 Jiufu Guo <guojiufu@linux.ibm.com>
608
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.
618
619 2022-12-19 Jason Merrill <jason@redhat.com>
620
621 * sort.cc: Disable -Wconditionally-supported in
622 CHECKING_P code.
623
624 2022-12-19 Jason Merrill <jason@redhat.com>
625
626 PR c++/64867
627 * configure.ac (strict_warn): Add -Wconditionally-supported.
628 * configure: Regenerate.
629
630 2022-12-19 Richard Biener <rguenther@suse.de>
631
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.
635
636 2022-12-19 Richard Earnshaw <rearnsha@arm.com>
637
638 * config/arm/arm-c.cc (__ARM_FEATURE_CLZ): Fix definition of
639 preprocessor macro when target has CLZ in another ISA.
640
641 2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
642
643 * config/riscv/vector.md: Remove vste.
644
645 2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
646
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.
675
676 2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
677
678 * config/riscv/riscv-vector-switch.def (ENTRY): Correct attributes.
679
680 2022-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
681
682 PR target/108140
683 * config/aarch64/aarch64-builtins.cc
684 (aarch64_expand_builtin_data_intrinsic): Handle NULL target.
685
686 2022-12-19 Jakub Jelinek <jakub@redhat.com>
687
688 * config/gnu-user.h (LIBHWASAN_EARLY_SPEC): Add libhwasan_preinit.o
689 to link spec if not -shared.
690
691 2022-12-19 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
692
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.
698
699 2022-12-19 Jiufu Guo <guojiufu@linux.ibm.com>
700
701 PR target/106708
702 * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Add using
703 "li; x?oris" to build constant.
704
705 2022-12-19 liuhongt <hongtao.liu@intel.com>
706
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.
711
712 2022-12-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
713
714 * config.gcc: Determine Solaris minor version.
715 Obsolete *-*-solaris2.11.[0-3]*.
716 * doc/install.texi (Specific, *-*-solaris2*): Document it.
717
718 2022-12-17 Segher Boessenkool <segher@kernel.crashing.org>
719
720 * config/rs6000/rs6000-logue.cc (rs6000_output_function_epilogue):
721 Handle GNU Rust for the tbtab lang field.
722
723 2022-12-16 John David Anglin <danglin@gcc.gnu.org>
724
725 * config/pa/pa.cc (pa_option_override): Disable -fstack-protector.
726
727 2022-12-16 Vladimir N. Makarov <vmakarov@redhat.com>
728
729 Revert:
730 2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com>
731
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.
737
738 2022-12-16 Qing Zhao <qing.zhao@oracle.com>
739
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.
749
750 2022-12-16 Palmer Dabbelt <palmer@rivosinc.com>
751
752 * config/riscv/riscv.cc (riscv_option_override): Fix comment
753 wording.
754
755 2022-12-16 Palmer Dabbelt <palmer@rivosinc.com>
756
757 * doc/extend.texi (__builtin_riscv_pause): Imply
758 Xgnuzihintpausestate.
759
760 2022-12-16 Richard Biener <rguenther@suse.de>
761
762 PR middle-end/108086
763 * tree-inline.cc (remap_ssa_name): Do not unshare the
764 result from the decl_map.
765
766 2022-12-16 Richard Biener <rguenther@suse.de>
767
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.
772
773 2022-12-16 Jakub Jelinek <jakub@redhat.com>
774
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.
779
780 2022-12-16 Richard Biener <rguenther@suse.de>
781
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.
785
786 2022-12-16 Haochen Jiang <haochen.jiang@intel.com>
787
788 * config/i386/cmpccxaddintrin.h
789 (__cmpccxadd_epi32): Rename to _cmpccxadd_epi32.
790 (__cmpccxadd_epi64): Rename to _cmpccxadd_epi64.
791
792 2022-12-15 Vladimir N. Makarov <vmakarov@redhat.com>
793
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.
799
800 2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org>
801
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.
807
808 2022-12-15 Siddhesh Poyarekar <siddhesh@gotplt.org>
809
810 PR middle-end/70090
811 * doc/invoke.texi (-fsanitize=object-size): Use
812 __builtin_dynamic_object_size instead of
813 __builtin_object_size.
814
815 2022-12-15 Richard Biener <rguenther@suse.de>
816
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.
821
822 2022-12-15 Spacetown <michael.foerderer@gmx.de>
823
824 PR gcov-profile/107537
825 * gcov.cc (output_branch_count): Add annotation '(fallthrough)'
826 or '(throw)' also to uncovered branches.
827
828 2022-12-15 Richard Biener <rguenther@suse.de>
829
830 PR middle-end/108086
831 * tree-inline.cc (copy_edges_for_bb): Do not update all
832 stmts again.
833
834 2022-12-15 Jakub Jelinek <jakub@redhat.com>
835
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.
842
843 2022-12-14 David Faust <david.faust@oracle.com>
844
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.
851
852 2022-12-14 David Faust <david.faust@oracle.com>
853
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.
860
861 2022-12-14 David Faust <david.faust@oracle.com>
862
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.
868
869 2022-12-14 Martin Jambor <mjambor@suse.cz>
870
871 * ipa-sra.cc (create_parameter_descriptors): Consider the first
872 parameter of a method safe to dereference.
873
874 2022-12-14 Martin Jambor <mjambor@suse.cz>
875
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.
880
881 2022-12-14 Gaius Mulley <gaiusmod2@gmail.com>
882
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.
896
897 2022-12-14 Martin Jambor <mjambor@suse.cz>
898
899 * doc/invoke.texi (ipa-sra-ptrwrap-growth-factor): Fix the
900 description.
901 * params.opt (ipa-sra-ptrwrap-growth-factor): Likewise.
902
903 2022-12-14 Tamar Christina <tamar.christina@arm.com>
904
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.
909
910 2022-12-14 Martin Liska <mliska@suse.cz>
911
912 * doc/invoke.texi: Document ipa-sra-ptrwrap-growth-factor.
913
914 2022-12-14 Richard Biener <rguenther@suse.de>
915
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.
921
922 2022-12-13 Martin Jambor <mjambor@suse.cz>
923
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.
928
929 2022-12-13 Martin Jambor <mjambor@suse.cz>
930
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.
956
957 2022-12-13 Martin Jambor <mjambor@suse.cz>
958
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.
991
992 2022-12-13 Martin Jambor <mjambor@suse.cz>
993
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.
996
997 2022-12-13 Martin Jambor <mjambor@suse.cz>
998
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.
1021
1022 2022-12-13 Martin Jambor <mjambor@suse.cz>
1023
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.
1027
1028 2022-12-13 Martin Jambor <mjambor@suse.cz>
1029
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.
1061
1062 2022-12-13 Martin Jambor <mjambor@suse.cz>
1063
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.
1074
1075 2022-12-13 Jakub Jelinek <jakub@redhat.com>
1076
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.
1083
1084 2022-12-13 Tamar Christina <tamar.christina@arm.com>
1085
1086 * config/aarch64/aarch64.md (tbranch_<code><mode>3): Use gen_int_mode.
1087
1088 2022-12-13 Jakub Jelinek <jakub@redhat.com>
1089
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.
1094
1095 2022-12-13 Richard Biener <rguenther@suse.de>
1096
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.
1103
1104 2022-12-13 Tom Tromey <tom@tromey.com>
1105 Mark Wielaard <mark@klomp.org>
1106 Marc Poulhiès <dkm@kataplop.net>
1107
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".
1111
1112 2022-12-13 Richard Biener <rguenther@suse.de>
1113
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.
1118
1119 2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org>
1120
1121 * config/rs6000/rs6000.md (cbranchcc4): New expander.
1122
1123 2022-12-13 Haochen Gui <guihaoc@gcc.gnu.org>
1124
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.
1128
1129 2022-12-12 Wilco Dijkstra <wilco.dijkstra@arm.com>
1130
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.
1136
1137 2022-12-12 Tamar Christina <tamar.christina@arm.com>
1138
1139 * match.pd: Add new rule.
1140
1141 2022-12-12 Tamar Christina <tamar.christina@arm.com>
1142
1143 * config/aarch64/aarch64.cc (aarch64_can_change_mode_class): Restrict
1144 conversions between partial struct types properly.
1145
1146 2022-12-12 Tamar Christina <tamar.christina@arm.com>
1147
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.
1152
1153 2022-12-12 Tamar Christina <tamar.christina@arm.com>
1154
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.
1170
1171 2022-12-12 Tamar Christina <tamar.christina@arm.com>
1172
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.
1187
1188 2022-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1189
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.
1193
1194 2022-12-12 Richard Biener <rguenther@suse.de>
1195
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.
1202
1203 2022-12-12 Richard Biener <rguenther@suse.de>
1204
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.
1210
1211 2022-12-11 Richard Biener <rguenther@suse.de>
1212
1213 PR tree-optimization/89317
1214 * match.pd ((p + b) - &p->c -> b - offsetof(c)): New patterns.
1215
1216 2022-12-11 Richard Biener <rguenther@suse.de>
1217
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.
1223
1224 2022-12-11 Richard Biener <rguenther@suse.de>
1225
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.
1231
1232 2022-12-10 Jakub Jelinek <jakub@redhat.com>
1233
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.
1239
1240 2022-12-09 Jiufu Guo <guojiufu@linux.ibm.com>
1241
1242 * config/rs6000/rs6000.cc (rs6000_emit_set_const): Remove copy_rtx.
1243 (rs6000_emit_set_long_const): Likewise.
1244
1245 2022-12-09 Martin Liska <mliska@suse.cz>
1246
1247 * config/i386/i386-builtins.cc (fold_builtin_cpu): Use same path
1248 as for PR103661.
1249 * doc/extend.texi: Fix "x86-64" use.
1250
1251 2022-12-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1252
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.
1257
1258 2022-12-09 David Malcolm <dmalcolm@redhat.com>
1259
1260 * Makefile.in (ANALYZER_OBJS): Update for renaming of
1261 analyzer/region-model-impl-calls.cc to analyzer/kf.cc.
1262
1263 2022-12-09 liuhongt <hongtao.liu@intel.com>
1264
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.
1290
1291 2022-12-08 Marek Polacek <polacek@redhat.com>
1292
1293 * doc/invoke.texi (-fsanitize=address): Suggest options to improve
1294 stack traces.
1295
1296 2022-12-08 Eugene Rozenfeld <erozen@microsoft.com>
1297
1298 PR ipa/108000
1299 * ipa-cp.cc (ipcp_propagate_stage): Fix profile count comparison
1300
1301 2022-12-08 David Faust <david.faust@oracle.com>
1302
1303 * config/bpf/bpf.md (bswap<mode>2): New define_insn.
1304
1305 2022-12-08 Sebastian Pop <spop@amazon.com>
1306
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.
1315
1316 2022-12-08 Jakub Jelinek <jakub@redhat.com>
1317
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.
1323
1324 2022-12-08 Jakub Jelinek <jakub@redhat.com>
1325
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.
1330
1331 2022-12-08 Andrew MacLeod <amacleod@redhat.com>
1332
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.
1339
1340 2022-12-08 Jiufu Guo <guojiufu@linux.ibm.com>
1341
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.
1353
1354 2022-12-08 Richard Biener <rguenther@suse.de>
1355
1356 PR tree-optimization/107699
1357 * match.pd (&a !=/== &a.b + c -> (&a - &a.b) !=/== c): New
1358 pattern variant.
1359
1360 2022-12-08 Jakub Jelinek <jakub@redhat.com>
1361
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.
1368
1369 2022-12-08 Jakub Jelinek <jakub@redhat.com>
1370
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.
1378
1379 2022-12-07 Max Filippov <jcmvbkbc@gmail.com>
1380
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.
1396
1397 2022-12-07 Wilco Dijkstra <wilco.dijkstra@arm.com>
1398
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.
1402
1403 2022-12-07 Richard Biener <rguenther@suse.de>
1404
1405 PR ipa/105676
1406 * ipa-pure-const.cc (ipa_make_function_pure): Skip also
1407 for functions already being const.
1408
1409 2022-12-07 Hongyu Wang <hongyu.wang@intel.com>
1410
1411 * config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Add
1412 m_SAPPHIRERAPIDS, m_ALDERLAKE and m_CORE_ATOM.
1413
1414 2022-12-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1415
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.
1422
1423 2022-12-07 liuhongt <hongtao.liu@intel.com>
1424
1425 PR target/107970
1426 * config/i386/mmx.md (btruncv2sf2): Add TARGET_MMX_WITH_SSE to
1427 the condition.
1428
1429 2022-12-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
1430
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.
1451
1452 2022-12-06 Qing Zhao <qing.zhao@oracle.com>
1453
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.
1469
1470 2022-12-06 David Malcolm <dmalcolm@redhat.com>
1471
1472 * doc/analyzer.texi: Drop out-of-date ideas for other checkers.
1473
1474 2022-12-06 David Malcolm <dmalcolm@redhat.com>
1475
1476 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-details.o,
1477 analyzer/kf-analyzer.o, and kf-lang-cp.o.
1478
1479 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1480
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.
1484
1485 2022-12-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
1486
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.
1491
1492 2022-12-06 Jakub Jelinek <jakub@redhat.com>
1493
1494 PR target/107969
1495 * config/i386/i386.md (cbranchbf4, cstorebf4): Guard expanders
1496 with the same condition as cbranchsf4 or cstoresf4 expanders.
1497
1498 2022-12-06 Richard Biener <rguenther@suse.de>
1499
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.
1507
1508 2022-12-06 Jakub Jelinek <jakub@redhat.com>
1509
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.
1517
1518 2022-12-06 Jakub Jelinek <jakub@redhat.com>
1519
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.
1525
1526 2022-12-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1527
1528 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Use dup
1529 and zip1 for interleaving elements in vector initializer.
1530
1531 2022-12-05 Richard Biener <rguenther@suse.de>
1532
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.
1538
1539 2022-12-05 Richard Biener <rguenther@suse.de>
1540
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.
1547
1548 2022-12-05 Jakub Jelinek <jakub@redhat.com>
1549
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.
1553
1554 2022-12-05 Jakub Jelinek <jakub@redhat.com>
1555
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.
1566
1567 2022-12-05 Richard Biener <rguenther@suse.de>
1568
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.
1584
1585 2022-12-05 Andrew Pinski <pinskia@gmail.com>
1586
1587 PR tree-optimization/107956
1588 * tree-vect-patterns.cc (vect_recog_mask_conversion_pattern):
1589 Check for NULL LHS on masked loads.
1590
1591 2022-12-05 Kewen Lin <linkw@linux.ibm.com>
1592 Richard Sandiford <richard.sandiford@arm.com>
1593
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.
1598
1599 2022-12-02 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
1600 Jason Merrill <jason@redhat.com>
1601
1602 * function.cc (init_function_start): Use DECL_RESULT location
1603 for -Waggregate-return warning.
1604
1605 2022-12-02 Andrew MacLeod <amacleod@redhat.com>
1606
1607 * fold-const.cc (fold_unary_loc): Check TREE_TYPE of node.
1608 (tree_invalid_nonnegative_warnv_p): Likewise.
1609
1610 2022-12-02 Jason Merrill <jason@redhat.com>
1611
1612 * gcc.cc (validate_switches): Reset suffix/starred on loop.
1613
1614 2022-12-02 Vladimir N. Makarov <vmakarov@redhat.com>
1615
1616 * lra-constraints.cc (curr_insn_transform): Check available hard
1617 regs for pseudo and its subreg to decide what to reload.
1618
1619 2022-12-02 liuhongt <hongtao.liu@intel.com>
1620
1621 * config/i386/i386-expand.cc
1622 (ix86_expand_fast_convert_bf_to_sf): Use extendbfsf2_1 for
1623 nonimmediate operand.
1624
1625 2022-12-02 Martin Liska <mliska@suse.cz>
1626
1627 * configure: Regenerate.
1628
1629 2022-12-02 Jakub Jelinek <jakub@redhat.com>
1630
1631 PR target/106577
1632 * config/i386/i386-expand.cc (ix86_vector_duplicate_value): Save/restore
1633 recog_data around recog_memoized calls.
1634
1635 2022-12-02 Michael Collison <collison@rivosinc.com>
1636
1637 * match.pd ((x & 0x1) == 0) ? y : z <op> y
1638 -> (-(typeof(y))(x & 0x1) & z) <op> y.
1639
1640 2022-12-02 Richard Biener <rguenther@suse.de>
1641
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
1647
1648 2022-12-02 Eric Gallager <egallager@gcc.gnu.org>
1649
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.
1655
1656 2022-12-02 liuhongt <hongtao.liu@intel.com>
1657
1658 PR target/107934
1659 * config/i386/i386.md (extendbfsf2_1): Change type from
1660 sseishft to sseishft1.
1661
1662 2022-12-01 Alex Coplan <alex.coplan@arm.com>
1663
1664 * varasm.cc (assemble_variable): Fix type confusion bug when
1665 checking for ".vtable_map_vars" section.
1666
1667 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1668
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.
1671
1672 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1673
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.
1685
1686 2022-12-01 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1687
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.
1706
1707 2022-12-01 Paul-Antoine Arras <pa@codesourcery.com>
1708
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'.
1716
1717 2022-12-01 Richard Biener <rguenther@suse.de>
1718
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.
1731
1732 2022-12-01 Richard Biener <rguenther@suse.de>
1733
1734 PR tree-optimization/107935
1735 * tree-ssa-sccvn.cc (visit_phi): Honor forced VARYING on
1736 backedges.
1737
1738 2022-12-01 Jakub Jelinek <jakub@redhat.com>
1739
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.
1750
1751 2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org>
1752
1753 * config/rs6000/rs6000-call.cc (swap_endian_selector_for_mode):
1754 Corrects comments of this function and make them clear.
1755
1756 2022-12-01 liuhongt <hongtao.liu@intel.com>
1757
1758 PR target/107863
1759 * config/i386/i386-expand.cc (ix86_expand_vec_set_builtin):
1760 Convert op1 to target mode whenever mode mismatch.
1761
1762 2022-12-01 David Malcolm <dmalcolm@redhat.com>
1763
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.
1771
1772 2022-12-01 David Malcolm <dmalcolm@redhat.com>
1773
1774 * Makefile.in (ANALYZER_OBJS): Add analyzer/bounds-checking.o.
1775
1776 2022-12-01 Haochen Gui <guihaoc@gcc.gnu.org>
1777
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.
1783
1784 2022-11-30 John David Anglin <danglin@gcc.gnu.org>
1785
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.
1790
1791 2022-11-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1792
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.
1798
1799 2022-11-30 Martin Liska <mliska@suse.cz>
1800
1801 * tree-switch-conversion.cc (bit_test_cluster::emit): Remove
1802 dead variable bt_range.
1803
1804 2022-11-30 Iskander Shakirzyanov <iskander@ispras.ru>
1805 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1806
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.
1818
1819 2022-11-30 Martin Liska <mliska@suse.cz>
1820
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.
1834
1835 2022-11-30 Richard Biener <rguenther@suse.de>
1836
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.
1842
1843 2022-11-30 Richard Biener <rguenther@suse.de>
1844
1845 * tree-ssa-uninit.cc (find_uninit_use): Dump the edge for a
1846 PHI node.
1847
1848 2022-11-30 Richard Biener <rguenther@suse.de>
1849
1850 PR tree-optimization/107919
1851 * gimple-predicate-analysis.cc (predicate::simplify_2):
1852 Handle predicates of arbitrary length.
1853
1854 2022-11-30 Jakub Jelinek <jakub@redhat.com>
1855
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.
1859
1860 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1861
1862 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Add gfx803.
1863 * config/gcn/t-omp-device: Add gfx803.
1864
1865 2022-11-30 Lulu Cheng <chenglulu@loongson.cn>
1866
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.
1880
1881 2022-11-30 David Malcolm <dmalcolm@redhat.com>
1882
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.
1886
1887 2022-11-29 Richard Biener <rguenther@suse.de>
1888
1889 PR tree-optimization/107852
1890 * tree-ssa-sccvn.cc (visit_phi): Use equivalences recorded
1891 as predicated values to elide more redundant PHIs.
1892
1893 2022-11-29 Richard Biener <rguenther@suse.de>
1894
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.
1899
1900 2022-11-29 Richard Biener <rguenther@suse.de>
1901
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.
1906
1907 2022-11-29 Richard Biener <rguenther@suse.de>
1908
1909 PR ipa/107897
1910 * multiple_target.cc (pass_target_clone::gate): Disable
1911 after errors.
1912
1913 2022-11-29 Martin Liska <mliska@suse.cz>
1914
1915 * configure: Regenerate.
1916
1917 2022-11-29 YunQiang Su <yunqiang.su@cipunited.com>
1918
1919 * configure.ac: add description for
1920 AC_DEFINE(ENABLE_MULTIARCH, 1)
1921
1922 2022-11-28 Andrew Pinski <apinski@marvell.com>
1923
1924 * match.pd ((A / (1 << B)) -> (A >> B).):
1925 Fix comment.
1926
1927 2022-11-28 Sinan <sinan.lin@linux.alibaba.com>
1928
1929 * config/riscv/riscv.cc (riscv_build_integer): Improve some cases
1930 of loading 64bit constants for rv32.
1931
1932 2022-11-28 Maciej W. Rozycki <macro@embecosm.com>
1933
1934 * config/riscv/riscv.cc (riscv_emit_int_order_test): Use EQ 0
1935 rather that XOR 1 for LE and LEU operations.
1936
1937 2022-11-28 Richard Biener <rguenther@suse.de>
1938
1939 PR tree-optimization/107896
1940 * tree-vect-stmts.cc (supportable_widening_operation):
1941 Handle non-vector mode intermediate mode.
1942
1943 2022-11-28 Frolov Daniil <frolov.da@phystech.edu>
1944
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.
1950
1951 2022-11-28 Fei Gao <gaofei@eswincomputing.com>
1952
1953 * config/riscv/riscv.cc (riscv_first_stack_step): Fix computation
1954 of MIN_FIRST_STEP to cover FP save area too.
1955
1956 2022-11-28 Richard Biener <rguenther@suse.de>
1957
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.
1961
1962 2022-11-28 Tobias Burnus <tobias@codesourcery.com>
1963
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.
1967
1968 2022-11-28 Yuri Gribov <y.gribov@samsung.com>
1969
1970 PR sanitizer/106558
1971 * sanopt.cc: Do not optimize out checks for non-SSA addresses.
1972
1973 2022-11-28 Jakub Jelinek <jakub@redhat.com>
1974
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.
1980
1981 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1982
1983 * config/arm/mve.md (mve_vrmlaldavhq_<supf>v4si,
1984 mve_vrmlaldavhaq_<supf>v4si): Fix spacing vs tabs.
1985
1986 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1987
1988 * config/arm/mve.md (mve_vmlaldavaq_<supf><mode>)
1989 (mve_vmlaldavaxq_s<mode>, mve_vmlaldavaxq_p_<supf><mode>): Fix
1990 spacing vs tabs.
1991
1992 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1993
1994 * config/arm/mve.md (mve_vsubq_n_f<mode>): Fix spacing.
1995
1996 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
1997
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.
2003
2004 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com>
2005
2006 * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads.
2007 (__arm_vsubq_x Integer): New.
2008
2009 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com>
2010
2011 PR target/107515
2012 * config/arm/arm_mve.h (__ARM_mve_typeid): Add float types.
2013
2014 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com>
2015
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.
2070
2071 2022-11-28 Stam Markianos-Wright <stam.markianos-wright@arm.com>
2072
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.
2082
2083 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
2084
2085 * config/arm/mve.md (mve_vabsq_f<mode>): Fix spacing.
2086
2087 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
2088
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.
2093
2094 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
2095
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.
2099
2100 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
2101
2102 * config/arm/mve.md (mve_vdwdupq_m_wb_u<mode>_insn): Fix spacing.
2103
2104 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
2105
2106 * config/arm/mve.md (mve_vddupq_u<mode>_insn): Fix 'vddup.u'
2107 spacing.
2108 (mve_vddupq_m_wb_u<mode>_insn): Likewise.
2109
2110 2022-11-28 Andrea Corallo <andrea.corallo@arm.com>
2111
2112 * config/arm/vfp.md (*thumb2_movhi_vfp, *thumb2_movhi_fp16): Fix
2113 'vmsr' spacing and reg capitalization.
2114
2115 2022-11-28 Richard Biener <rguenther@suse.de>
2116
2117 PR tree-optimization/107876
2118 * tree-ssa-loop-unswitch.cc (clean_up_after_unswitching): Wipe
2119 dominator info if we removed an edge.
2120
2121 2022-11-28 Richard Biener <rguenther@suse.de>
2122
2123 PR tree-optimization/107867
2124 * tree-ssa-forwprop.cc (pass_forwprop::execute): Handle
2125 abnormal cleanup after substitution.
2126
2127 2022-11-28 Lulu Cheng <chenglulu@loongson.cn>
2128
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.
2143
2144 2022-11-28 liuhongt <hongtao.liu@intel.com>
2145
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.
2156
2157 2022-11-26 Andrew Pinski <apinski@marvell.com>
2158
2159 PR tree-optimization/103356
2160 * match.pd: ((~a) == b -> a ^ b): New pattern.
2161
2162 2022-11-25 Sandra Loosemore <sandra@codesourcery.com>
2163
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.
2187
2188 2022-11-25 Tamar Christina <tamar.christina@arm.com>
2189
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.
2194
2195 2022-11-25 Eric Botcazou <ebotcazou@adacore.com>
2196
2197 * range-op.cc (operator_bitwise_xor::op1_range): Fix thinko.
2198
2199 2022-11-25 Richard Biener <rguenther@suse.de>
2200
2201 PR tree-optimization/107865
2202 * tree-cfg.cc (move_sese_region_to_fn): Free the number of
2203 iterations of moved loops.
2204
2205 2022-11-25 Kewen.Lin <linkw@gcc.gnu.org>
2206
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.
2217
2218 2022-11-24 Wilco Dijkstra <wilco.dijkstra@arm.com>
2219
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.
2226
2227 2022-11-24 Jakub Jelinek <jakub@redhat.com>
2228
2229 PR middle-end/107317
2230 * asan.cc: Include diagnostic-core.h.
2231 (asan_emit_stack_protection): Return NULL early if seen_error ().
2232
2233 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
2234
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.
2243
2244 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
2245
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.
2251
2252 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
2253
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.
2276
2277 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
2278
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.
2297
2298 2022-11-24 Aldy Hernandez <aldyh@redhat.com>
2299
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.
2418
2419 2022-11-24 Hongyu Wang <hongyu.wang@intel.com>
2420
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.
2439
2440 2022-11-23 Ramana Radhakrishnan <ramana.gcc@gmail.com>
2441
2442 * config/arm/types.md: Update comment.
2443 (is_neon_type): Add neon_fcmla, neon_fcadd.
2444
2445 2022-11-23 Jonathan Wakely <jwakely@redhat.com>
2446
2447 * doc/invoke.texi (C++ Dialect Options): Recommend using
2448 -Wdelete-non-virtual-dtor instead of -Wnon-virtual-dtor.
2449
2450 2022-11-23 Jakub Jelinek <jakub@redhat.com>
2451
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.
2456
2457 2022-11-23 Martin Liska <mliska@suse.cz>
2458
2459 * Makefile.in: Set DO_LINK_MUTEX.
2460
2461 2022-11-23 Lulu Cheng <chenglulu@loongson.cn>
2462 xujiahao <xujiahao@loongson.cn>
2463
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.
2471
2472 2022-11-23 Marek Polacek <polacek@redhat.com>
2473
2474 Revert:
2475 2022-11-23 Marek Polacek <polacek@redhat.com>
2476
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.
2485
2486 2022-11-23 Marek Polacek <polacek@redhat.com>
2487
2488 Revert:
2489 2022-11-23 Marek Polacek <polacek@redhat.com>
2490
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.
2495
2496 2022-11-23 Marek Polacek <polacek@redhat.com>
2497
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.
2502
2503 2022-11-23 Marek Polacek <polacek@redhat.com>
2504
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.
2513
2514 2022-11-22 Jeff Law <jlaw@ventanamicro.com>
2515
2516 * tree-ssa-dom.cc (record_edge_info): Fix thinko in last commit.
2517
2518 2022-11-22 Jeff Law <jlaw@ventanamicro.com>
2519
2520 * tree-ssa-dom.cc (record_edge_info): Fix comment typos.
2521
2522 2022-11-22 Jeff Law <jeffreyalaw@gmail.com>
2523
2524 * config/riscv/riscv.cc (riscv_get_separate_components): Do not
2525 do shrink-wrapping for a frame with a variable size.
2526
2527 2022-11-22 Siddhesh Poyarekar <siddhesh@gotplt.org>
2528
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.
2533
2534 2022-11-22 Eric Botcazou <ebotcazou@adacore.com>
2535
2536 * tree-loop-distribution.cc (loop_distribution::classify_builtin_ldst):
2537 Bail out if source and destination do not have the same storage order.
2538
2539 2022-11-22 Martin Jambor <mjambor@suse.cz>
2540
2541 * ipa-sra.cc (ipa_sra_dump_all_summaries): Dump edge summaries even
2542 for non-candidates.
2543
2544 2022-11-22 Martin Jambor <mjambor@suse.cz>
2545
2546 * ipa-cp.cc (push_agg_values_from_edge): Do not consider constants
2547 in unused aggregate parameters.
2548
2549 2022-11-22 Martin Jambor <mjambor@suse.cz>
2550
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.
2560
2561 2022-11-22 Martin Jambor <mjambor@suse.cz>
2562
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.
2571
2572 2022-11-22 Tobias Burnus <tobias@codesourcery.com>
2573 Andrew Stubbs <ams@codesourcery.com>
2574
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.
2581
2582 2022-11-22 Richard Biener <rguenther@suse.de>
2583
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.
2592
2593 2022-11-22 Richard Biener <rguenther@suse.de>
2594
2595 PR tree-optimization/107672
2596 * tree-vect-stmts.cc (supportable_widening_operation): Avoid
2597 type_for_mode on vector modes.
2598
2599 2022-11-22 Richard Biener <rguenther@suse.de>
2600
2601 PR tree-optimization/107766
2602 * tree-vect-slp-patterns.cc (complex_mul_pattern::matches):
2603 Use *node to check for FP vector types.
2604
2605 2022-11-22 liuhongt <hongtao.liu@intel.com>
2606
2607 * config/i386/mmx.md (*mov<mode>_internal): Add
2608 ix86_hard_reg_move_ok to condition.
2609
2610 2022-11-22 liuhongt <hongtao.liu@intel.com>
2611
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.
2619
2620 2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
2621
2622 * config/rtems.h (SUBTARGET_CC1_SPEC): Undef and define.
2623
2624 2022-11-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
2625
2626 * gcc.cc (SUBTARGET_CC1_SPEC): Define if not defined.
2627 (cc1_spec): Append SUBTARGET_CC1_SPEC.
2628
2629 2022-11-21 Dimitar Dimitrov <dimitar@dinux.eu>
2630
2631 * doc/sourcebuild.texi (sockets): Document new check.
2632
2633 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com>
2634
2635 * tree-ssa-loop.h (tree_niter_desc): Update comment.
2636
2637 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com>
2638
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.
2645
2646 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com>
2647
2648 * tree-ssa-loop-niter.cc (ssa_defined_by_minus_one_stmt_p): Move
2649 (number_of_iterations_popcount): Move, and remove separate prototype.
2650
2651 2022-11-21 Andrew Carlotti <andrew.carlotti@arm.com>
2652
2653 * tree-ssa-loop-niter.cc (number_of_iterations_exit_assumptions):
2654 Move at_stmt assignment.
2655
2656 2022-11-21 Christophe Lyon <christophe.lyon@arm.com>
2657
2658 * genmultilib: Fix options and dirnames/osdirnames sanity check.
2659
2660 2022-11-21 Philipp Tomsich <philipp.tomsich@vrull.eu>
2661
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.
2666
2667 2022-11-21 Jakub Jelinek <jakub@redhat.com>
2668
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.
2677
2678 2022-11-21 Christophe Lyon <christophe.lyon@arm.com>
2679
2680 * genmultilib: Add sanity check.
2681
2682 2022-11-21 Eric Botcazou <ebotcazou@adacore.com>
2683
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.
2687
2688 2022-11-21 Andrew Pinski <apinski@marvell.com>
2689
2690 * gimplify.cc (gimplify_modify_expr): If
2691 either *from_p or *to_p were error_operand
2692 return early.
2693
2694 2022-11-21 liuhongt <hongtao.liu@intel.com>
2695
2696 * config/i386/i386-builtins.cc (def_builtin): Handle "shared"
2697 avx512bf16vl-avxneconvert builtins.
2698
2699 2022-11-20 Jakub Jelinek <jakub@redhat.com>
2700
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.
2712
2713 2022-11-20 Jeff Law <jlaw@ventanamicro.com>
2714
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.
2719
2720 2022-11-19 Andrew Pinski <apinski@marvell.com>
2721
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.
2728
2729 2022-11-19 Thomas Schwinge <thomas@codesourcery.com>
2730
2731 * config/nvptx/nvptx.h (STARTFILE_SPEC): Fix 'crt0.o' for
2732 '-mmainkernel'.
2733
2734 2022-11-19 Jonathan Wakely <jwakely@redhat.com>
2735 LIU Hao <lh_mouse@126.com>
2736
2737 * system.h [INCLUDE_MUTEX]: Include header for std::mutex.
2738
2739 2022-11-19 Jakub Jelinek <jakub@redhat.com>
2740
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.
2747
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>
2753
2754 * doc/invoke.texi: Document contracts flags.
2755
2756 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2757
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.
2762
2763 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2764
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.
2771
2772 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2773
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.
2787
2788 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2789
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.
2796
2797 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2798
2799 * config/riscv/bitmanip.md: Add a define_split to optimize
2800 slliw + addiw + divw into sh[123]add + divw.
2801
2802 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2803
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.
2809
2810 2022-11-18 Philipp Tomsich <philipp.tomsich@vrull.eu>
2811
2812 * config/riscv/bitmanip.md (*bsetidisi): New pattern.
2813
2814 2022-11-18 Richard Purdie <richard.purdie@linuxfoundation.org>
2815
2816 * doc/invoke.texi: Document prefix-maps don't affect directives.
2817
2818 2022-11-18 Andrew Pinski <apinski@marvell.com>
2819
2820 PR middle-end/107705
2821 * function.cc (aggregate_value_p): Return 0 if
2822 the function type was an error operand.
2823
2824 2022-11-18 Andrew Pinski <apinski@marvell.com>
2825
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.
2832
2833 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2834
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.
2838
2839 2022-11-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2840
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.
2847
2848 2022-11-18 Richard Biener <rguenther@suse.de>
2849
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.
2854
2855 2022-11-18 Jinyang He <hejinyang@loongson.cn>
2856
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.
2862
2863 2022-11-17 Andrew Pinski <apinski@marvell.com>
2864
2865 PR middle-end/107734
2866 * match.pd (perm + vector op pattern): Clear the sbitmap before
2867 use.
2868
2869 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
2870
2871 PR tree-optimization/107732
2872 * range-op-float.cc (foperator_abs::op1_range): Early exit when
2873 result is undefined.
2874
2875 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
2876
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.
2881
2882 2022-11-17 Philipp Tomsich <philipp.tomsich@vrull.eu>
2883
2884 * config/riscv/bitmanip.md: Add a splitter to generate
2885 polarity-reversed masks from a set bit using bexti + addi.
2886
2887 2022-11-17 mtsamis <manolis.tsamis@vrull.eu>
2888
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.
2905
2906 2022-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2907
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.
2911
2912 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
2913
2914 PR tree-optimization/68097
2915 * gimple-fold.cc (gimple_stmt_nonnegative_warnv_p): Call
2916 range_of_stmt for floats.
2917
2918 2022-11-17 Lili Cui <lili.cui@intel.com>
2919
2920 * config/i386/x86-tune.def
2921 (X86_TUNE_AVX256_MOVE_BY_PIECES): Add alderlake.
2922 (X86_TUNE_AVX256_STORE_BY_PIECES): Ditto.
2923
2924 2022-11-17 Tamar Christina <tamar.christina@arm.com>
2925
2926 PR tree-optimization/107717
2927 * match.pd: Ensure same SSA_NAME.
2928
2929 2022-11-17 Tamar Christina <tamar.christina@arm.com>
2930
2931 * match.pd: Replace GET_MODE_WIDER_MODE with
2932 custom code.
2933
2934 2022-11-17 Aldy Hernandez <aldyh@redhat.com>
2935
2936 * range-op-float.cc (range_operator_float::fold_range): Make check
2937 for maybe_isnan more readable.
2938
2939 2022-11-17 Kewen Lin <linkw@linux.ibm.com>
2940
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.
2943
2944 2022-11-17 Jia-Wei Chen <jiawei@iscas.ac.cn>
2945
2946 * config/riscv/riscv.cc (riscv_expand_epilogue):
2947 Do not emit useless add sp, sp, 0 instrutions.
2948
2949 2022-11-17 Jeff Law <jlaw@ventanamicro.com>
2950
2951 * config/sh/sh_treg_combine.cc: Include tm-preds.h.
2952 (t_reg_operand): Remove bogus prototype.
2953 (negt_reg_operand): Likewise.
2954
2955 2022-11-16 Marek Polacek <polacek@redhat.com>
2956
2957 PR c++/106649
2958 * doc/invoke.texi: Document -Winvalid-constexpr.
2959
2960 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
2961
2962 * config/riscv/bitmanip.md: Add split covering
2963 "(a & (1 << BIT_NO)) ? 0 : 1".
2964
2965 2022-11-16 Philipp Tomsich <philipp.tomsich@vrull.eu>
2966
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.
2970
2971 2022-11-16 Richard Biener <rguenther@suse.de>
2972
2973 PR tree-optimization/107686
2974 * tree-ssa-forwprop.cc (optimize_vector_load): Restrict
2975 VEC_UNPACK support to integral typed bitfield refs.
2976
2977 2022-11-16 Richard Biener <rguenther@suse.de>
2978
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.
2982
2983 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
2984
2985 PR target/107676
2986 * doc/invoke.texi (-mrelax-cmpxchg-loop): Reword description.
2987
2988 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
2989
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.
3012
3013 2022-11-16 Alexander Monakov <amonakov@ispras.ru>
3014
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.
3030
3031 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
3032 Andrew Stubbs <ams@codesourcery.com>
3033
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.
3039
3040 2022-11-16 David Malcolm <dmalcolm@redhat.com>
3041
3042 * Makefile.in (ANALYZER_OBJS): Add analyzer/checker-event.o.
3043
3044 2022-11-16 Max Filippov <jcmvbkbc@gmail.com>
3045
3046 PR target/107645
3047 * config/m68k/predicates.md (symbolic_operand): Return false
3048 when UNSPEC is under the CONST node.
3049
3050 2022-11-16 Christoph Müllner <christoph.muellner@vrull.eu>
3051
3052 * doc/invoke.texi: Fix PRU/RISC-V option list formatting.
3053
3054 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
3055
3056 * config/nvptx/mkoffload.cc (process): Recognize '$nohost$...'
3057 besides tailing '$nohost' as being for reverse offload.
3058
3059 2022-11-16 Jakub Jelinek <jakub@redhat.com>
3060
3061 PR tree-optimization/107668
3062 * range-op-float.cc (float_binary_op_range_finish): Set VARYING
3063 also when r is UNDEFINED.
3064
3065 2022-11-16 Kewen Lin <linkw@linux.ibm.com>
3066
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.
3072
3073 2022-11-15 Philipp Tomsich <philipp.tomsich@vrull.eu>
3074
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).
3085
3086 2022-11-15 David Faust <david.faust@oracle.com>
3087
3088 * config/bpf/bpf.cc (bpf_expand_builtin): Avoid use of uninitialized
3089 variable in error case.
3090
3091 2022-11-15 David Malcolm <dmalcolm@redhat.com>
3092
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.
3098
3099 2022-11-15 David Malcolm <dmalcolm@redhat.com>
3100
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.
3105
3106 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
3107
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.
3115
3116 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
3117
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.
3126
3127 2022-11-15 Lewis Hyatt <lhyatt@gmail.com>
3128
3129 * tree-diagnostic.cc (maybe_unwind_expanded_macro_loc): Handle ad-hoc
3130 location in return value of linemap_resolve_location().
3131
3132 2022-11-15 Jonathan Wakely <jwakely@redhat.com>
3133
3134 * doc/cpp.texi (Pragmas): Use @item and @itemx for region
3135 pragmas.
3136
3137 2022-11-15 Maciej W. Rozycki <macro@embecosm.com>
3138
3139 * ira-color.cc (assign_hard_reg): Remove duplicate `memset' over
3140 `full_costs'.
3141
3142 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
3143
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.
3147
3148 2022-11-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
3149 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3150
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.
3159
3160 2022-11-15 Hongyu Wang <hongyu.wang@intel.com>
3161
3162 PR target/98167
3163 * match.pd: New perm + vector op patterns for int and fp vector.
3164
3165 2022-11-15 Andrew Pinski <apinski@marvell.com>
3166
3167 * doc/invoke.texi: Remove Score option section.
3168
3169 2022-11-15 Andrew Pinski <apinski@marvell.com>
3170
3171 * doc/extend.texi: Remove picoChip builtin section.
3172 * doc/invoke.texi: Remove picoChip option section.
3173
3174 2022-11-15 Andrew Pinski <apinski@marvell.com>
3175
3176 * doc/extend.texi: Remove MeP documentation.
3177 * doc/invoke.texi: Remove MeP Options documentation.
3178
3179 2022-11-15 Andrew Pinski <apinski@marvell.com>
3180
3181 * doc/invoke.texi: Fix opindex for mcall-aixdesc and mcall-openbsd.
3182
3183 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3184
3185 Revert:
3186 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3187
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.
3193
3194 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3195
3196 Revert:
3197 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3198
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.
3209
3210 2022-11-14 Maciej W. Rozycki <macro@embecosm.com>
3211
3212 * ira-build.cc (create_insn_allocnos): Fix documentation.
3213
3214 2022-11-14 Tamar Christina <tamar.christina@arm.com>
3215
3216 * match.pd: Remove returns.
3217
3218 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3219
3220 * config/riscv/bitmanip.md (orcb<mode>2): Add orc.b as an
3221 unspec.
3222 * config/riscv/riscv.md: Add UNSPEC_ORC_B.
3223
3224 2022-11-14 Tamar Christina <tamar.christina@arm.com>
3225
3226 * target.def: Fix typo.
3227
3228 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3229
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.
3240
3241 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3242
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.
3248
3249 2022-11-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3250
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.
3269
3270 2022-11-14 Tamar Christina <tamar.christina@arm.com>
3271
3272 * config/aarch64/aarch64-sve2.md (@aarch64_bitmask_udiv<mode>3): New.
3273
3274 2022-11-14 Tamar Christina <tamar.christina@arm.com>
3275
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.
3278
3279 2022-11-14 Tamar Christina <tamar.christina@arm.com>
3280
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.
3296
3297 2022-11-14 Tamar Christina <tamar.christina@arm.com>
3298
3299 * generic-match-head.cc: Include langooks.
3300 * gimple-match-head.cc: Likewise.
3301 * match.pd: Add fneg/fadd rule.
3302
3303 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
3304
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.
3309
3310 2022-11-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
3311
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.
3316
3317 2022-11-14 Andrew Pinski <apinski@marvell.com>
3318
3319 * doc/invoke.texi: Fix @opindex
3320 for m80387 option.
3321
3322 2022-11-14 Andrew Pinski <apinski@marvell.com>
3323
3324 * doc/invoke.texi: Remove the front - from
3325 some @opindex.
3326
3327 2022-11-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
3328
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.
3338
3339 2022-11-14 Richard Biener <rguenther@suse.de>
3340
3341 * match.pd: Remove duplicates.
3342
3343 2022-11-14 Martin Liska <mliska@suse.cz>
3344
3345 * doc/contrib.texi: Port from Sphinx.
3346 * doc/cpp.texi: Likewise.
3347 * doc/install.texi: Likewise.
3348 * doc/invoke.texi: Likewise.
3349
3350 2022-11-14 Martin Liska <mliska@suse.cz>
3351
3352 Revert:
3353 2022-11-14 Martin Liska <mliska@suse.cz>
3354
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.
4235
4236 2022-11-14 Martin Liska <mliska@suse.cz>
4237
4238 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: Revert.
4239
4240 2022-11-14 Martin Liska <mliska@suse.cz>
4241
4242 Revert:
4243 2022-11-14 Martin Liska <mliska@suse.cz>
4244
4245 * common/common-target.def: Port to RST.
4246 * target.def: Port to RST.
4247
4248 2022-11-14 Martin Liska <mliska@suse.cz>
4249
4250 Revert:
4251 2022-11-09 Martin Liska <mliska@suse.cz>
4252
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.
4320
4321 2022-11-14 Martin Liska <mliska@suse.cz>
4322
4323 Revert:
4324 2022-11-14 Martin Liska <mliska@suse.cz>
4325
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.
4330
4331 2022-11-14 Martin Liska <mliska@suse.cz>
4332
4333 Revert:
4334 2022-11-09 Martin Liska <mliska@suse.cz>
4335
4336 * doc/gccint/target-macros/tm.rst.in: New file.
4337
4338 2022-11-14 Martin Liska <mliska@suse.cz>
4339
4340 Revert:
4341 2022-11-14 Martin Liska <mliska@suse.cz>
4342
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.
4406
4407 2022-11-14 Martin Liska <mliska@suse.cz>
4408
4409 Revert:
4410 2022-11-09 Martin Liska <mliska@suse.cz>
4411
4412 * target.def: Use proper lexers for target macros.
4413 * doc/gccint/target-macros/tm.rst.in: Re-generate.
4414
4415 2022-11-14 Martin Liska <mliska@suse.cz>
4416
4417 Revert:
4418 2022-11-09 Martin Liska <mliska@suse.cz>
4419
4420 * Makefile.in: Support --with-sphinx-build.
4421 * configure.ac:
4422 * configure: Regenerate.
4423
4424 2022-11-14 Martin Liska <mliska@suse.cz>
4425
4426 Revert:
4427 2022-11-14 Martin Liska <mliska@suse.cz>
4428
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.
4433
4434 2022-11-14 Martin Liska <mliska@suse.cz>
4435
4436 Revert:
4437 2022-11-09 Martin Liska <mliska@suse.cz>
4438
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.
4445
4446 2022-11-14 Martin Liska <mliska@suse.cz>
4447
4448 Revert:
4449 2022-11-09 Martin Liska <mliska@suse.cz>
4450
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.
4456
4457 2022-11-14 Martin Liska <mliska@suse.cz>
4458
4459 Revert:
4460 2022-11-09 Martin Liska <mliska@suse.cz>
4461
4462 * Makefile.in: Support installation if sphinx-build is missing.
4463
4464 2022-11-14 Martin Liska <mliska@suse.cz>
4465
4466 Revert:
4467 2022-11-09 Martin Liska <mliska@suse.cz>
4468
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.
4476
4477 2022-11-14 Martin Liska <mliska@suse.cz>
4478
4479 Revert:
4480 2022-11-09 Martin Liska <mliska@suse.cz>
4481
4482 * opts.cc (get_option_html_page): Port to sphinx URLs.
4483 (get_option_url): Likewise.
4484 (test_get_option_html_page): Likewise.
4485
4486 2022-11-14 Martin Liska <mliska@suse.cz>
4487
4488 Revert:
4489 2022-11-14 Martin Liska <mliska@suse.cz>
4490
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.
5803
5804 2022-11-14 Martin Liska <mliska@suse.cz>
5805
5806 Revert:
5807 2022-11-14 Martin Liska <mliska@suse.cz>
5808
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.
5818
5819 2022-11-14 Martin Liska <mliska@suse.cz>
5820
5821 Revert:
5822 2022-11-09 Martin Liska <mliska@suse.cz>
5823 Sinan <sinan.lin@linux.alibaba.com>
5824
5825 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5826 Add missing variable name.
5827
5828 2022-11-14 Martin Liska <mliska@suse.cz>
5829
5830 Revert:
5831 2022-11-14 Martin Liska <mliska@suse.cz>
5832
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.
5838
5839 2022-11-14 Martin Liska <mliska@suse.cz>
5840
5841 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
5842 Revert.
5843
5844 2022-11-14 Martin Liska <mliska@suse.cz>
5845
5846 * doc/cpp/pragmas.rst: Revert.
5847
5848 2022-11-14 Martin Liska <mliska@suse.cz>
5849
5850 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
5851
5852 2022-11-14 Martin Liska <mliska@suse.cz>
5853
5854 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: Revert.
5855
5856 2022-11-14 Martin Liska <mliska@suse.cz>
5857
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.
5860
5861 2022-11-14 Martin Liska <mliska@suse.cz>
5862
5863 Revert:
5864 2022-11-13 Jonathan Wakely <jwakely@redhat.com>
5865
5866 * doc/install/testing.rst: Remove anachronism about separate
5867 source tarballs.
5868
5869 2022-11-14 Martin Liska <mliska@suse.cz>
5870
5871 Revert:
5872 2022-11-13 Martin Liska <mliska@suse.cz>
5873
5874 PR other/107620
5875 * configure: Regenerate.
5876 * configure.ac: Always set sphinx-build.
5877
5878 2022-11-14 Martin Liska <mliska@suse.cz>
5879
5880 * doc/gcc/gcc-command-options/option-summary.rst: Revert.
5881 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: Revert.
5882
5883 2022-11-14 Haochen Jiang <haochen.jiang@intel.com>
5884
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.
5891
5892 2022-11-14 Martin Liska <mliska@suse.cz>
5893
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.
5898
5899 2022-11-14 Hongyu Wang <hongyu.wang@intel.com>
5900
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.
5919
5920 2022-11-13 David Malcolm <dmalcolm@redhat.com>
5921
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.
5927
5928 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
5929
5930 * config/riscv/bitmanip.md: New define_split.
5931
5932 2022-11-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
5933
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.
5937
5938 2022-11-13 Martin Liska <mliska@suse.cz>
5939
5940 PR other/107620
5941 * configure: Regenerate.
5942 * configure.ac: Always set sphinx-build.
5943
5944 2022-11-13 Joseph Myers <joseph@codesourcery.com>
5945
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.
5958
5959 2022-11-13 Jonathan Wakely <jwakely@redhat.com>
5960
5961 * doc/install/testing.rst: Remove anachronism about separate
5962 source tarballs.
5963
5964 2022-11-12 Joseph Myers <joseph@codesourcery.com>
5965
5966 * dfp.cc (decimal_from_binary): Convert a canonical NaN to a
5967 canonical NaN.
5968
5969 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
5970
5971 * value-range.cc (range_tests_signbit): Move to set from here...
5972 (range_tests_signed_zeros): ...to here.
5973
5974 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
5975
5976 * range-op-float.cc (build_lt): Adjust with frange_nextafter
5977 instead of default to a closed range.
5978 (build_gt): Same.
5979
5980 2022-11-12 Aldy Hernandez <aldyh@redhat.com>
5981 Jakub Jelinek <jakub@redhat.com>
5982
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.
5992
5993 2022-11-12 Jakub Jelinek <jakub@redhat.com>
5994
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.
6003
6004 2022-11-12 Jakub Jelinek <jakub@redhat.com>
6005
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.
6010
6011 2022-11-12 Jakub Jelinek <jakub@redhat.com>
6012
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.
6025
6026 2022-11-12 Xi Ruoyao <xry111@xry111.site>
6027
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.
6032
6033 2022-11-12 Xi Ruoyao <xry111@xry111.site>
6034
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.
6039
6040 2022-11-12 Xi Ruoyao <xry111@xry111.site>
6041
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.
6051
6052 2022-11-12 Xi Ruoyao <xry111@xry111.site>
6053
6054 * config/loongarch/loongarch.md (frint_<fmt>): Rename to ..
6055 (rint<mode>2): .. this.
6056
6057 2022-11-11 David Malcolm <dmalcolm@redhat.com>
6058
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.
6064
6065 2022-11-11 David Malcolm <dmalcolm@redhat.com>
6066
6067 PR analyzer/106147
6068 * Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.
6069
6070 2022-11-11 Andrew MacLeod <amacleod@redhat.com>
6071
6072 PR tree-optimization/107523
6073 * gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
6074 rather than fur_depend.
6075
6076 2022-11-11 Andrew MacLeod <amacleod@redhat.com>
6077
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.
6082
6083 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
6084
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.
6090
6091 2022-11-11 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
6092
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.
6098
6099 2022-11-11 Richard Biener <rguenther@suse.de>
6100 Nikita Voronov <nik_1357@mail.ru>
6101
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.
6105
6106 2022-11-11 Richard Biener <rguenther@suse.de>
6107
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.
6116
6117 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
6118
6119 * range-op.cc (operator_mult::fold_range): Remove.
6120 (operator_div::fold_range): Remove.
6121 (operator_bitwise_and): Remove.
6122
6123 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
6124
6125 * range-op.cc (update_known_bitmask): Avoid unnecessary intersection.
6126
6127 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
6128
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.
6133
6134 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
6135
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.
6139
6140 2022-11-11 Aldy Hernandez <aldyh@redhat.com>
6141
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.
6146
6147 2022-11-11 Richard Biener <rguenther@suse.de>
6148
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.
6155
6156 2022-11-11 Richard Biener <rguenther@suse.de>
6157
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.
6164
6165 2022-11-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
6166 Monk Chiang <monk.chiang@sifive.com>
6167
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.
6184
6185 2022-11-11 Jonathan Wakely <jwakely@redhat.com>
6186
6187 PR c/85487
6188 * doc/cpp/pragmas.rst (Pragmas): Document region pragmas.
6189
6190 2022-11-11 Haochen Jiang <haochen.jiang@intel.com>
6191
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.
6197
6198 2022-11-10 David Malcolm <dmalcolm@redhat.com>
6199
6200 PR analyzer/99671
6201 * tristate.h (tristate::is_unknown): New.
6202
6203 2022-11-10 David Malcolm <dmalcolm@redhat.com>
6204
6205 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
6206 Add -Wanalyzer-deref-before-check.
6207
6208 2022-11-10 Marek Polacek <polacek@redhat.com>
6209
6210 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
6211 Extend the description of -Wdangling-reference.
6212
6213 2022-11-10 Andrew Pinski <apinski@marvell.com>
6214
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
6218
6219 2022-11-10 Aldy Hernandez <aldyh@redhat.com>
6220
6221 * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
6222 (range_tests_signed_zeros): Adjust test.
6223
6224 2022-11-10 Richard Biener <rguenther@suse.de>
6225
6226 PR tree-optimization/84646
6227 * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
6228 copy propagation across PHIs.
6229
6230 2022-11-10 Philipp Tomsich <philipp.tomsich@vrull.eu>
6231
6232 * config/riscv/riscv-cores.def (RISCV_TUNE): Update
6233 sifive-7-series to point to the sifive_7 pipeline description.
6234
6235 2022-11-10 Richard Biener <rguenther@suse.de>
6236
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.
6241
6242 2022-11-10 Martin Liska <mliska@suse.cz>
6243
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.
6249
6250 2022-11-10 Richard Biener <rguenther@suse.de>
6251
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.
6263
6264 2022-11-10 Jakub Jelinek <jakub@redhat.com>
6265
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.
6270
6271 2022-11-09 Martin Liska <mliska@suse.cz>
6272 Sinan <sinan.lin@linux.alibaba.com>
6273
6274 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
6275 Add missing variable name.
6276
6277 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
6278
6279 * value-range-storage.cc (frange_storage_slot::get_frange): Clear
6280 NAN if appropriate.
6281 * value-range.cc (range_tests_floats): New test.
6282
6283 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
6284
6285 * range-op-float.cc (class foperator_plus): Remove op[12]_range.
6286 (class foperator_minus): Same.
6287
6288 2022-11-09 Qing Zhao <qing.zhao@oracle.com>
6289
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.
6308
6309 2022-11-09 Martin Liska <mliska@suse.cz>
6310
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.
6320
6321 2022-11-09 Richard Biener <rguenther@suse.de>
6322
6323 PR tree-optimization/84646
6324 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
6325 Remove premature cycle rejection.
6326
6327 2022-11-09 Martin Liska <mliska@suse.cz>
6328
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.
7641
7642 2022-11-09 Martin Liska <mliska@suse.cz>
7643
7644 * opts.cc (get_option_html_page): Port to sphinx URLs.
7645 (get_option_url): Likewise.
7646 (test_get_option_html_page): Likewise.
7647
7648 2022-11-09 Jakub Jelinek <jakub@redhat.com>
7649
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.
7653
7654 2022-11-09 Martin Liska <mliska@suse.cz>
7655
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.
7663
7664 2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu>
7665
7666 * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
7667
7668 2022-11-09 Xi Ruoyao <xry111@xry111.site>
7669
7670 * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
7671 Avoid signed overflow.
7672
7673 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
7674
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.
7679
7680 2022-11-09 Martin Liska <mliska@suse.cz>
7681
7682 * Makefile.in: Support installation if sphinx-build is missing.
7683
7684 2022-11-09 Martin Liska <mliska@suse.cz>
7685
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.
7691
7692 2022-11-09 Martin Liska <mliska@suse.cz>
7693
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.
7700
7701 2022-11-09 Martin Liska <mliska@suse.cz>
7702
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.
7707
7708 2022-11-09 Martin Liska <mliska@suse.cz>
7709
7710 * Makefile.in: Support --with-sphinx-build.
7711 * configure.ac:
7712 * configure: Regenerate.
7713
7714 2022-11-09 Martin Liska <mliska@suse.cz>
7715
7716 * target.def: Use proper lexers for target macros.
7717 * doc/gccint/target-macros/tm.rst.in: Re-generate.
7718
7719 2022-11-09 Martin Liska <mliska@suse.cz>
7720
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.
7784
7785 2022-11-09 Martin Liska <mliska@suse.cz>
7786
7787 * doc/gccint/target-macros/tm.rst.in: New file.
7788
7789 2022-11-09 Martin Liska <mliska@suse.cz>
7790
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.
7795
7796 2022-11-09 Martin Liska <mliska@suse.cz>
7797
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.
7865
7866 2022-11-09 Martin Liska <mliska@suse.cz>
7867
7868 * common/common-target.def: Port to RST.
7869 * target.def: Port to RST.
7870
7871 2022-11-09 Martin Liska <mliska@suse.cz>
7872
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.
8753
8754 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
8755
8756 * range-op-float.cc (class foperator_minus): New.
8757 (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
8758
8759 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
8760
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.
8768
8769 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
8770
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.
8774
8775 2022-11-09 liuhongt <hongtao.liu@intel.com>
8776
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.
8781
8782 2022-11-08 David Faust <david.faust@oracle.com>
8783
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.
8790
8791 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
8792
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.
8799
8800 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
8801
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.
8813
8814 2022-11-08 Richard Biener <rguenther@suse.de>
8815
8816 PR tree-optimization/107389
8817 * gimple-low.cc (lower_builtin_assume_aligned): New.
8818 (lower_stmt): Call it.
8819
8820 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
8821
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.
8826
8827 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
8828
8829 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
8830 of GCN_BUILTIN_LDEXPV to V64DFmode.
8831
8832 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
8833
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.
8837
8838 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
8839
8840 * range-op.cc (irange_to_masked_value): New.
8841 (update_known_bitmask): New.
8842 (operator_mult::fold_range): Call update_known_bitmask.
8843
8844 2022-11-08 Jakub Jelinek <jakub@redhat.com>
8845
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}.
8850
8851 2022-11-08 Jakub Jelinek <jakub@redhat.com>
8852
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.
8866
8867 2022-11-08 Max Filippov <jcmvbkbc@gmail.com>
8868
8869 PR rtl-optimization/107482
8870 * ira-color.cc (assign_hard_reg): Only call
8871 update_costs_from_copies when retry_p is false.
8872
8873 2022-11-08 konglin1 <lingling.kong@intel.com>
8874
8875 Revert:
8876 2022-11-07 konglin1 <lingling.kong@intel.com>
8877
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.
8886
8887 2022-11-08 Haochen Jiang <haochen.jiang@intel.com>
8888
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.
8919
8920 2022-11-08 Andrew MacLeod <amacleod@redhat.com>
8921
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.
8934
8935 2022-11-07 David Faust <david.faust@oracle.com>
8936
8937 * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
8938
8939 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
8940
8941 PR tree-optimization/55157
8942 * range-op.cc (operator_mult::wi_fold): Optimize multiplications
8943 by powers of 2.
8944
8945 2022-11-07 H.J. Lu <hjl.tools@gmail.com>
8946
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).
8950
8951 2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org>
8952
8953 * file-prefix-map.cc (remap_filename): Handle NULL filenames.
8954
8955 2022-11-07 Alexander Monakov <amonakov@ispras.ru>
8956
8957 PR tree-optimization/107505
8958 * tree-ssa-sink.cc (statement_sink_location): Additionally
8959 reject ECF_RETURNS_TWICE calls.
8960
8961 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
8962
8963 PR tree-optimization/107541
8964 * range-op.cc (operator_div::fold_range): Restrict power of 2
8965 optimization to positive numbers.
8966
8967 2022-11-07 Richard Biener <rguenther@suse.de>
8968
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.
8979
8980 2022-11-07 Martin Liska <mliska@suse.cz>
8981 Gerald Pfeifer <gerald@pfeifer.com>
8982
8983 * doc/invoke.texi: Improve wording.
8984
8985 2022-11-07 Martin Liska <mliska@suse.cz>
8986
8987 * range-op.cc: Add final override keywords.
8988
8989 2022-11-07 Kewen Lin <linkw@linux.ibm.com>
8990
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.
9003
9004 2022-11-07 Hu, Lin1 <lin1.hu@intel.com>
9005
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.
9025
9026 2022-11-07 konglin1 <lingling.kong@intel.com>
9027
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.
9036
9037 2022-11-07 konglin1 <lingling.kong@intel.com>
9038
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.
9063
9064 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
9065
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.
9085
9086 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
9087 Hongtao Liu <hongtao.liu@intel.com>
9088
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.
9124
9125 2022-11-06 Uroš Bizjak <ubizjak@gmail.com>
9126
9127 * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
9128 mode when checking vec_set_optab.
9129
9130 2022-11-06 Xi Ruoyao <xry111@xry111.site>
9131
9132 * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
9133 (type): Add fcopysign.
9134 (copysign<mode>3): New instruction template.
9135
9136 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9137
9138 * multiple_target.cc (expand_target_clones): Free memory.
9139
9140 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9141
9142 * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
9143 * multiple_target.cc (create_dispatcher_calls): Likewise.
9144
9145 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
9146
9147 PR c/41041
9148 * doc/cppopts.texi: Document -fwide-exec-charset defaults
9149 correctly.
9150
9151 2022-11-05 Alexandre Oliva <oliva@adacore.com>
9152
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.
9157
9158 2022-11-04 Jeff Chapman II <jchapman@lock3software.com>
9159 Jason Merrill <jason@redhat.com>
9160
9161 * input.cc (get_source_text_between): New fn.
9162 * input.h (get_source_text_between): Declare.
9163
9164 2022-11-04 Aldy Hernandez <aldyh@redhat.com>
9165
9166 PR tree-optimization/107342
9167 * range-op.cc (operator_mult::fold_range): New.
9168 (operator_div::fold_range): New.
9169
9170 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
9171
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.
9175
9176 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
9177
9178 * expr.cc (emit_group_store): Do not use subword paradoxical subregs
9179
9180 2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9181
9182 * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
9183 extensions comment.
9184
9185 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
9186
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.
9198
9199 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
9200
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.
9212
9213 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
9214
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'.
9222
9223 2022-11-04 Hongyu Wang <hongyu.wang@intel.com>
9224 Haochen Jiang <haochen.jiang@intel.com>
9225
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.
9249
9250 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
9251
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.
9271
9272 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
9273
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.
9306
9307 2022-11-03 Jason Merrill <jason@redhat.com>
9308
9309 * doc/invoke.texi: -fconcepts no longer implies
9310 -fconcepts-ts before C++20.
9311
9312 2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com>
9313
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.
9319
9320 2022-11-03 Andrew MacLeod <amacleod@redhat.com>
9321
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.
9327
9328 2022-11-03 David Malcolm <dmalcolm@redhat.com>
9329
9330 * make-unique.h: New file.
9331
9332 2022-11-03 Uroš Bizjak <ubizjak@gmail.com>
9333
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.
9338
9339 2022-11-03 Andrew Stubbs <ams@codesourcery.com>
9340
9341 PR target/107510
9342 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
9343 UNSPEC_SMIN_DPP_SHR conditionals.
9344
9345 2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu>
9346
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.
9351
9352 2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk>
9353
9354 PR driver/93371
9355 * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
9356
9357 2022-11-02 Aldy Hernandez <aldyh@redhat.com>
9358
9359 * value-range.cc (frange::contains_p): Fix signed zero handling.
9360 (range_tests_signed_zeros): New test.
9361
9362 2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9363
9364 * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
9365
9366 2022-11-02 Xionghu Luo <xionghuluo@tencent.com>
9367
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.
9373
9374 2022-11-01 David Seifert <soap@gentoo.org>
9375
9376 * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
9377 * configure: Regenerate.
9378
9379 2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org>
9380
9381 * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
9382
9383 2022-11-01 Aldy Hernandez <aldyh@redhat.com>
9384
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.
9395
9396 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
9397
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.
9401
9402 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
9403
9404 * params.opt (param_vrp1_mode): Make ranger default.
9405
9406 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
9407
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.
9415
9416 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
9417
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.
9424
9425 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
9426
9427 * value-range.cc (irange::intersect_nonzero_bits): If new
9428 non-zero mask is the same as original, flag no change.
9429
9430 2022-11-01 Alexander Monakov <amonakov@ispras.ru>
9431
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.
9451
9452 2022-11-01 liuhongt <hongtao.liu@intel.com>
9453
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).
9468
9469 2022-11-01 liuhongt <hongtao.liu@intel.com>
9470
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.
9484
9485 2022-11-01 Cui,Lili <lili.cui@intel.com>
9486
9487 * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
9488 judgement for INLINE_HINT_known_hot hint.
9489
9490 2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
9491
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.
9513
9514 2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
9515
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.
9520
9521 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
9522
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.
9528
9529 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
9530
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.
9549
9550 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
9551
9552 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
9553 Set base_type as ARG_UNUSED.
9554
9555 2022-10-31 Jakub Jelinek <jakub@redhat.com>
9556
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.
9596
9597 2022-10-31 Jakub Jelinek <jakub@redhat.com>
9598
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.
9603
9604 2022-10-31 Jakub Jelinek <jakub@redhat.com>
9605
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.
9674
9675 2022-10-31 konglin1 <lingling.kong@intel.com>
9676
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.
9730
9731 2022-10-31 konglin1 <lingling.kong@intel.com>
9732
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.
9761
9762 2022-10-31 liuhongt <hongtao.liu@intel.com>
9763
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.
9780
9781 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
9782
9783 * configure.ac (sjlj-exceptions): Restore dropped line.
9784 * configure: Regenerate.
9785
9786 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
9787
9788 * alias.cc (init_alias_analysis): Do not record sets to the hard
9789 frame pointer if the frame pointer has not been eliminated.
9790
9791 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
9792
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.
9811
9812 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
9813
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.
9838
9839 2022-10-29 Jeff Law <jeffreyalaw@gmail.com>
9840
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.
9844
9845 2022-10-28 Joseph Myers <joseph@codesourcery.com>
9846
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.
9899
9900 2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
9901
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.
9905
9906 2022-10-28 Richard Biener <rguenther@suse.de>
9907
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.
9912
9913 2022-10-28 Richard Biener <rguenther@suse.de>
9914
9915 PR tree-optimization/107447
9916 * tree-ssa-loop-im.cc (determine_max_movement): Do not
9917 hoist returns-twice calls.
9918
9919 2022-10-28 Richard Biener <rguenther@suse.de>
9920
9921 PR tree-optimization/107435
9922 * tree-vect-loop.cc (vectorizable_recurr): Convert initial
9923 value to vector component type.
9924
9925 2022-10-28 Julian Brown <julian@codesourcery.com>
9926 Thomas Schwinge <thomas@codesourcery.com>
9927
9928 PR middle-end/90115
9929 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
9930 privatization candidates.
9931
9932 2022-10-28 Martin Liska <mliska@suse.cz>
9933
9934 PR sanitizer/107298
9935 * doc/invoke.texi: Document sanitizers can trigger warnings.
9936
9937 2022-10-28 Thomas Schwinge <thomas@codesourcery.com>
9938
9939 * doc/makefile.texi (Makefile Targets): Document
9940 'distclean-stage[N]'.
9941
9942 2022-10-28 Aldy Hernandez <aldyh@redhat.com>
9943
9944 * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
9945
9946 2022-10-27 Eric Botcazou <ebotcazou@adacore.com>
9947
9948 * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
9949
9950 2022-10-27 H.J. Lu <hjl.tools@gmail.com>
9951
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.
9955
9956 2022-10-27 Andrew Pinski <apinski@marvell.com>
9957
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.
9965
9966 2022-10-27 Richard Sandiford <richard.sandiford@arm.com>
9967
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
9977
9978 2022-10-27 Aldy Hernandez <aldyh@redhat.com>
9979
9980 PR tree-optimization/107394
9981 * value-range-storage.cc (frange_storage_slot::get_frange): Use
9982 frange constructor.
9983
9984 2022-10-27 Thomas Schwinge <thomas@codesourcery.com>
9985
9986 * optc-save-gen.awk: Clarify 'Init' option property usage for
9987 streaming optimization.
9988
9989 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
9990 Yvan ROUX <yvan.roux@foss.st.com>
9991
9992 * ira.cc: Resize array after reg number increased.
9993
9994 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
9995 Sinan Lin <sinan@isrc.iscas.ac.cn>
9996
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.
10005
10006 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
10007
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.
10015
10016 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
10017 Sinan Lin <sinan@isrc.iscas.ac.cn>
10018
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.
10030
10031 2022-10-26 David Faust <david.faust@oracle.com>
10032
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.
10049
10050 2022-10-26 Marek Polacek <polacek@redhat.com>
10051
10052 PR c++/106393
10053 * doc/invoke.texi: Document -Wdangling-reference.
10054
10055 2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10056
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.
10060
10061 2022-10-26 Alexander Monakov <amonakov@ispras.ru>
10062
10063 PR other/107353
10064 * ipa-visibility.cc (function_and_variable_visibility):
10065 Conditionally upgrade TLS model instead of asserting.
10066
10067 2022-10-26 Andrew MacLeod <amacleod@redhat.com>
10068
10069 * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
10070 stmt is non-negative and adjust the range.
10071
10072 2022-10-26 Martin Liska <mliska@suse.cz>
10073
10074 * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
10075 (reset_cpu_feature): New.
10076 (get_zhaoxin_cpu): Use reset_cpu_feature.
10077
10078 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10079
10080 * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
10081
10082 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10083
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.
10101
10102 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10103
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.
10134
10135 2022-10-26 Monk Chiang <monk.chiang@sifive.com>
10136
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.
10145
10146 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10147
10148 * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
10149
10150 2022-10-26 Martin Liska <mliska@suse.cz>
10151
10152 * configure: Regenerate.
10153
10154 2022-10-26 Aldy Hernandez <aldyh@redhat.com>
10155
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.
10160
10161 2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com>
10162
10163 PR target/106460
10164 * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
10165 for HIGH code rtx.
10166
10167 2022-10-26 Kito Cheng <kito.cheng@sifive.com>
10168
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.
10176
10177 2022-10-25 Eugene Rozenfeld <erozen@microsoft.com>
10178
10179 * auto-profile.cc (get_combined_location): Include discriminator in the
10180 returned combined location.
10181 (read_function_instance): Read discriminators from profiles.
10182
10183 2022-10-25 H.J. Lu <hjl.tools@gmail.com>
10184
10185 PR target/107304
10186 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
10187 field with vector raw mode.
10188
10189 2022-10-25 Segher Boessenkool <segher@kernel.crashing.org>
10190
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.
10210
10211 2022-10-25 Richard Biener <rguenther@suse.de>
10212
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.
10237
10238 2022-10-25 Eric Botcazou <ebotcazou@adacore.com>
10239
10240 * profile.cc (branch_prob): Be prepared for ignored functions with
10241 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
10242
10243 2022-10-25 Richard Biener <rguenther@suse.de>
10244
10245 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
10246 STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
10247
10248 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com>
10249
10250 * common/config/i386/i386-common.cc (processor_alias_table): Use
10251 CPU_ZNVER3 for znver4.
10252 * config/i386/znver.md: Remove znver4 reservations.
10253
10254 2022-10-25 Jakub Jelinek <jakub@redhat.com>
10255
10256 * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
10257 and There -> These.
10258
10259 2022-10-25 Jakub Jelinek <jakub@redhat.com>
10260
10261 PR tree-optimization/107368
10262 * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
10263 conditions call gimple_boolify on the condition.
10264
10265 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
10266
10267 * config.gcc: add -with-compact-branches=policy build option.
10268 * doc/install.texi: Likewise.
10269 * config/mips/mips.h: Likewise.
10270
10271 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
10272
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.
10281
10282 2022-10-25 Jakub Jelinek <jakub@redhat.com>
10283
10284 PR tree-optimization/107369
10285 * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
10286 IFN_ASSUME the same as for -O0.
10287
10288 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
10289
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.
10297
10298 2022-10-25 Richard Biener <rguenther@suse.de>
10299
10300 PR tree-optimization/100756
10301 * tree-ssa-loop-niter.cc (expand_simple_operations): Also
10302 expand multiplications by invariants.
10303
10304 2022-10-25 Kewen Lin <linkw@linux.ibm.com>
10305
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.
10309
10310 2022-10-25 Martin Liska <mliska@suse.cz>
10311
10312 * common/config/riscv/riscv-common.cc
10313 (riscv_get_valid_option_values): Get out of ifdef.
10314
10315 2022-10-25 Martin Liska <mliska@suse.cz>
10316
10317 PR target/107364
10318 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
10319 Fix pedantic warning.
10320
10321 2022-10-24 Martin Liska <mliska@suse.cz>
10322
10323 PR analyzer/107366
10324 * diagnostic-format-sarif.cc
10325 (sarif_builder::maybe_make_physical_location_object): Gracefully
10326 reject locations with NULL filename.
10327
10328 2022-10-24 David Malcolm <dmalcolm@redhat.com>
10329
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.
10334
10335 2022-10-24 Jason Merrill <jason@redhat.com>
10336
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.
10343
10344 2022-10-24 Martin Liska <mliska@suse.cz>
10345
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.
10350
10351 2022-10-24 Marek Polacek <polacek@redhat.com>
10352
10353 PR c++/107276
10354 * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
10355 when the type is erroneous.
10356
10357 2022-10-24 Wilco Dijkstra <wdijkstr@arm.com>
10358
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.
10374
10375 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
10376
10377 PR tree-optimization/107355
10378 * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
10379
10380 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
10381
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.
10387
10388 2022-10-24 Kito Cheng <kito.cheng@sifive.com>
10389
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.
10398
10399 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
10400
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.
10407
10408 2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
10409 Yvan ROUX <yvan.roux@foss.st.com>
10410
10411 * lto-wrapper.cc: Quote paths in makefile.
10412
10413 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10414
10415 * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
10416
10417 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10418
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.
10426
10427 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10428
10429 * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
10430
10431 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10432
10433 * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
10434
10435 2022-10-22 Michael Eager <eager@eagercon.com>
10436
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().
10443
10444 2022-10-22 Aldy Hernandez <aldyh@redhat.com>
10445
10446 * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
10447 with !flag_finite_math_only.
10448
10449 2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10450
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.
10457
10458 2022-10-21 Jakub Jelinek <jakub@redhat.com>
10459
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.
10466
10467 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com>
10468
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.
10496
10497 2022-10-21 Richard Biener <rguenther@suse.de>
10498
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.
10506
10507 2022-10-21 Monk Chiang <monk.chiang@sifive.com>
10508
10509 * config/riscv/riscv.md: Add atomic type attribute.
10510 * config/riscv/sync.md: Add atomic type for atomic instructions.
10511
10512 2022-10-21 Jakub Jelinek <jakub@redhat.com>
10513
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.
10519
10520 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10521
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.
10536
10537 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
10538
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.
10705
10706 2022-10-21 Haochen Jiang <haochen.jiang@intel.com>
10707
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.
10712
10713 2022-10-21 Kong Lingling <lingling.kong@intel.com>
10714 Hongyu Wang <hongyu.wang@intel.com>
10715 Haochen Jiang <haochen.jiang@intel.com>
10716
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.
10745
10746 2022-10-21 Hongyu Wang <hongyu.wang@intel.com>
10747
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.
10795
10796 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10797
10798 PR c++/106654
10799 * value-query.cc (get_range_global): Handle non integer ranges for
10800 default def SSA names.
10801
10802 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10803
10804 * range-op-float.cc (foperator_unordered_lt::op1_range): New.
10805 (foperator_unordered_lt::op2_range): New.
10806
10807 2022-10-20 Artem Klimov <jakmobius@gmail.com>
10808 Alexander Monakov <amonakov@gcc.gnu.org>
10809
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.
10816
10817 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10818
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.
10827
10828 2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
10829
10830 PR tree-optimization/107326
10831 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
10832 vectype when widening container.
10833
10834 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10835
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.
10842
10843 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
10844
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.
10856
10857 2022-10-20 Jakub Jelinek <jakub@redhat.com>
10858
10859 * passes.cc (pass_manager::register_pass): Fix a comment
10860 typo - copmilation -> compilation.
10861
10862 2022-10-20 Richard Biener <rguenther@suse.de>
10863
10864 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
10865 Disallow latch PHI defs.
10866 (vectorizable_recurr): Revert previous change.
10867
10868 2022-10-20 Julian Brown <julian@codesourcery.com>
10869
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.
10874
10875 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
10876
10877 * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
10878 * configure: Regenerate.
10879
10880 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10881
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.
10888
10889 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10890
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.
10904
10905 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10906
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.
10913
10914 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10915
10916 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
10917 merging alternative.
10918 (*aarch64_brk<brk_op>_ptest): Likewise.
10919
10920 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
10921
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.
10927
10928 2022-10-20 Richard Biener <rguenther@suse.de>
10929
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.
10937
10938 2022-10-20 Richard Biener <rguenther@suse.de>
10939
10940 PR tree-optimization/107240
10941 * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
10942 simplify shifted value first.
10943
10944 2022-10-20 Andrew MacLeod <amacleod@redhat.com>
10945
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.
10960
10961 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
10962
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.
10973
10974 2022-10-19 Marek Polacek <polacek@redhat.com>
10975
10976 PR c++/85043
10977 * doc/invoke.texi: Update documentation of -Wuseless-cast.
10978
10979 2022-10-19 Andrew MacLeod <amacleod@redhat.com>
10980
10981 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
10982 Value_Range not int_range_max.
10983
10984 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
10985
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.
10989
10990 2022-10-19 LIU Hao <lh_mouse@126.com>
10991
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
11000
11001 2022-10-19 Lewis Hyatt <lhyatt@gmail.com>
11002
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.
11012
11013 2022-10-19 Martin Liska <mliska@suse.cz>
11014
11015 * doc/extend.texi: Remove useless @tie{} directives.
11016
11017 2022-10-19 Martin Jambor <mjambor@suse.cz>
11018
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.
11024
11025 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
11026
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.
11031
11032 2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11033
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.
11051
11052 2022-10-19 Robin Dapp <rdapp@linux.ibm.com>
11053
11054 * config/s390/s390.md: Move reload_completed and check operands for REG_P.
11055
11056 2022-10-19 Jakub Jelinek <jakub@redhat.com>
11057
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.
11062
11063 2022-10-19 Jakub Jelinek <jakub@redhat.com>
11064
11065 PR tree-optimization/106990
11066 * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
11067 !TYPE_OVERFLOW_SANITIZED (type).
11068
11069 2022-10-19 Jakub Jelinek <jakub@redhat.com>
11070
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.
11081
11082 2022-10-19 Richard Biener <rguenther@suse.de>
11083
11084 PR tree-optimization/106781
11085 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
11086 LHS removal from fixup_noreturn_call.
11087
11088 2022-10-19 liuhongt <hongtao.liu@intel.com>
11089
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
11094
11095 2022-10-18 Martin Jambor <mjambor@suse.cz>
11096
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.
11155
11156 2022-10-18 Martin Jambor <mjambor@suse.cz>
11157
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.
11229
11230 2022-10-18 Richard Biener <rguenther@suse.de>
11231
11232 PR tree-optimization/107302
11233 * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
11234 placement for a PHI latch def.
11235
11236 2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
11237
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.
11244
11245 2022-10-18 Jakub Jelinek <jakub@redhat.com>
11246
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.
11302
11303 2022-10-18 Richard Biener <rguenther@suse.de>
11304
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.
11309
11310 2022-10-18 Andrew MacLeod <amacleod@redhat.com>
11311
11312 PR tree-optimization/107273
11313 * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
11314 instead of copying precison of each member.
11315
11316 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
11317
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
11322
11323 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
11324
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.
11329
11330 2022-10-17 Jeff Law <jlaw@ventanamicro.com>
11331
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.
11344
11345 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
11346
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.
11361
11362 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
11363
11364 * config/h8300/extensions.md (CCZN setting zero extended load): Add
11365 missing splitter.
11366
11367 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
11368
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.
11373
11374 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
11375
11376 PR tree-optimization/107286
11377 * value-range.cc (range_tests_floats): Do not test for -Inf when
11378 flag_finite_math_only.
11379
11380 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
11381
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.
11416
11417 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
11418
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.
11425
11426 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
11427
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.
11431
11432 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
11433
11434 * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
11435 'case QImode:', etc.
11436
11437 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
11438
11439 * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
11440
11441 2022-10-17 Richard Biener <rguenther@suse.de>
11442 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11443
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.
11467
11468 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11469
11470 * config/riscv/t-riscv: Change Tab into 2 space.
11471
11472 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11473
11474 * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
11475
11476 2022-10-17 Arsen Arsenovic <arsen@aarsen.me>
11477
11478 * config.gcc: --target=*-elf --without-{newlib,headers} should
11479 provide stdint.h.
11480
11481 2022-10-17 Hu, Lin1 <lin1.hu@intel.com>
11482
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.
11487
11488 2022-10-17 Haochen Jiang <haochen.jiang@intel.com>
11489
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.
11494
11495 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
11496
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.
11502
11503 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
11504
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.
11509
11510 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
11511
11512 * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
11513
11514 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
11515
11516 * value-range.cc (frange::set): Implement distinction between
11517 HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
11518
11519 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
11520
11521 * gimple-range-op.cc (class cfn_copysign): New.
11522 (gimple_range_op_handler::maybe_builtin_call): Add
11523 CFN_BUILT_IN_COPYSIGN*.
11524
11525 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
11526
11527 * real.h (real_isdenormal): Check rvc_normal.
11528 * value-range.cc (range_tests_floats): New test.
11529
11530 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
11531
11532 * gimple-range-op.cc
11533 (gimple_range_op_handler::maybe_builtin_call): Replace
11534 CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
11535
11536 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
11537
11538 * value-range.cc (frange::set): Normalize ranges for both bounds.
11539
11540 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
11541
11542 * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
11543
11544 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
11545
11546 * gimple-range-op.cc
11547 (gimple_range_op_handler::maybe_builtin_call): Add
11548 CFN_BUILT_IN_SIGNBIT[FL]* entries.
11549
11550 2022-10-14 Richard Biener <rguenther@suse.de>
11551
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.
11557
11558 2022-10-14 Eric Botcazou <ebotcazou@adacore.com>
11559
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.
11566
11567 2022-10-14 Jakub Jelinek <jakub@redhat.com>
11568
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.
11598
11599 2022-10-14 Jakub Jelinek <jakub@redhat.com>
11600
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++.
11605
11606 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
11607
11608 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
11609 early for calls made from thunks.
11610
11611 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
11612
11613 * expr.cc (emit_group_stote): Fix handling of modes of different
11614 sizes for big-endian targets in latest change and add commentary.
11615
11616 2022-10-13 Martin Liska <mliska@suse.cz>
11617
11618 * output.h (assemble_vtv_preinit_initializer): Remove.
11619 * varasm.cc (assemble_vtv_preinit_initializer): Remove.
11620
11621 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
11622
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.
11628
11629 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
11630
11631 * range-op.cc (operator_cast::lhs_op1_relation): New.
11632 (operator_bitwise_and::lhs_op1_relation): New.
11633
11634 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
11635
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.
11647
11648 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
11649
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.
11669
11670 2022-10-13 Richard Biener <rguenther@suse.de>
11671
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.
11677
11678 2022-10-13 Jakub Jelinek <jakub@redhat.com>
11679
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.
11701
11702 2022-10-13 Wilco Dijkstra <wdijkstr@arm.com>
11703
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.
11710
11711 2022-10-13 Richard Biener <rguenther@suse.de>
11712
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.
11717
11718 2022-10-13 Aldy Hernandez <aldyh@redhat.com>
11719
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.
11729
11730 2022-10-13 Richard Biener <rguenther@suse.de>
11731
11732 * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
11733 * match.pd: Replace 'return' statements in with expressions
11734 with appropriate variants.
11735
11736 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
11737
11738 PR tree-optimization/107229
11739 * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
11740
11741 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
11742
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.
11746
11747 2022-10-13 Joseph Myers <joseph@codesourcery.com>
11748
11749 * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
11750 (LDBL_IS_IEC_60559): Update comment.
11751
11752 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11753
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.
11757
11758 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11759
11760 * config/riscv/riscv-vector-builtins.h: Remove unused macro.
11761
11762 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11763
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.
11771
11772 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11773
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.
11781
11782 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
11783
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.
11788
11789 2022-10-12 Cui,Lili <lili.cui@intel.com>
11790
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
11795
11796 2022-10-12 Martin Liska <mliska@suse.cz>
11797
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.
11802
11803 2022-10-12 Martin Liska <mliska@suse.cz>
11804
11805 * configure: Regenerate.
11806
11807 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11808
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.
11812
11813 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11814
11815 * value-range.h (frange::nan_signbit_p): New.
11816
11817 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11818
11819 * value-range.cc (frange::set_nonnegative): Pass bool to
11820 update_nan.
11821 * value-range.h: Disallow conversion to bool in update_nan().
11822
11823 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11824
11825 * value-range.h (frange::frange): Add constructor taking type.
11826
11827 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
11828
11829 * range-op-float.cc: Add relation_kind = VREL_VARYING to all
11830 methods.
11831
11832 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11833
11834 * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
11835 calling tracer.trailer().
11836
11837 2022-10-11 Jakub Jelinek <jakub@redhat.com>
11838
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)).
11842
11843 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11844
11845 * range-op-float.cc (class foperator_abs): New.
11846 (floating_op_table::floating_op_table): Add ABS_EXPR entry.
11847
11848 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11849
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.
11857
11858 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11859
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.
11868
11869 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
11870
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.
11876
11877 2022-10-11 Richard Biener <rguenther@suse.de>
11878
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.
11885
11886 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11887
11888 * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
11889
11890 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11891
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.
11898
11899 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11900
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.
11906
11907 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11908
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.
11913
11914 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
11915
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.
11987
11988 2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
11989
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.
12009
12010 2022-10-11 liuhongt <hongtao.liu@intel.com>
12011
12012 PR target/107093
12013 * config/i386/i386.md (*notxor<mode>_1): New post_reload
12014 define_insn_and_split.
12015 (*notxorqi_1): Ditto.
12016
12017 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
12018
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.
12022
12023 2022-10-11 Olivier Hainque <hainque@adacore.com>
12024
12025 * configure: Regenerate.
12026
12027 2022-10-11 Olivier Hainque <hainque@adacore.com>
12028
12029 * config.gcc (*vxworks*): Add t-slibgcc fragment
12030 if enable_shared.
12031
12032 2022-10-11 Olivier Hainque <hainque@adacore.com>
12033
12034 * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
12035 internal macros.
12036 (VXWORKS_LIBGCC_SPEC): Use them and document.
12037
12038 2022-10-11 Martin Liska <mliska@suse.cz>
12039
12040 * gimple-range-op.cc: Add override keyword.
12041
12042 2022-10-11 Eugene Rozenfeld <erozen@microsoft.com>
12043
12044 PR debug/107193
12045 * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
12046 out of the loop.
12047
12048 2022-10-11 Liwei Xu <liwei.xu@intel.com>
12049 liuhongt <hongtao.liu@intel.com>
12050
12051 PR tree-optimization/54346
12052 * match.pd: Merge the index of VCST then generates the new vec_perm.
12053
12054 2022-10-11 Jeff Law <jeffreyalaw@gmail.com>
12055
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.
12059
12060 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
12061
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.
12071
12072 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
12073
12074 * config/riscv/riscv.md: Add vsetvl instruction type.
12075
12076 2022-10-10 Nathan Sidwell <nathan@acm.org>
12077
12078 * common.opt (-fabi-version=): Document 18.
12079 * doc/invoke.texi (-fabi-version): Document 18.
12080
12081 2022-10-10 Andrea Corallo <andrea.corallo@arm.com>
12082
12083 PR other/99723
12084 * toplev.cc (toplev::main): Don't run self tests in case of
12085 previous error.
12086
12087 2022-10-10 Kito Cheng <kito.cheng@sifive.com>
12088
12089 * config/riscv/riscv-c.cc: Add newline to the end of file.
12090
12091 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
12092
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.
12102
12103 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
12104
12105 * value-range.h (frange::maybe_isnan): New.
12106
12107 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
12108
12109 * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
12110 TRUE side for x != x.
12111
12112 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
12113
12114 * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
12115 operands are equal and result is TRUE.
12116
12117 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
12118
12119 * range.h (range_true): Return int_range<2>.
12120 (range_false): Same.
12121 (range_true_and_false): Same.
12122
12123 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
12124
12125 * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
12126
12127 2022-10-10 liuhongt <hongtao.liu@intel.com>
12128
12129 PR target/107185
12130 * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
12131 predicate of operands[0] and operands[1].
12132
12133 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
12134
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.
12141
12142 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
12143
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.
12183
12184 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
12185
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.
12207
12208 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
12209
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.
12217
12218 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
12219
12220 * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
12221
12222 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
12223
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.
12229
12230 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
12231
12232 * config/pru/pru.md (lshrdi3): New expand pattern.
12233 (ashldi3): Ditto.
12234
12235 2022-10-09 YunQiang Su <yunqiang.su@cipunited.com>
12236
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.
12244
12245 2022-10-07 Eugene Rozenfeld <erozen@microsoft.com>
12246
12247 * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
12248 on the same line within the same basic block.
12249
12250 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
12251
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.
12255
12256 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
12257
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.
12270
12271 2022-10-07 Olivier Hainque <hainque@adacore.com>
12272
12273 * config/vxworks/_vxworks-versions.h: Use OS specific
12274 paths in #include of version.h.
12275
12276 2022-10-07 Martin Liska <mliska@suse.cz>
12277
12278 * opts.cc (finish_options): Print sorry message only
12279 for -flive-patching=inline-only-static.
12280
12281 2022-10-07 Jason Merrill <jason@redhat.com>
12282
12283 * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
12284 x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
12285
12286 2022-10-07 Richard Biener <rguenther@suse.de>
12287
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.
12295
12296 2022-10-07 Jonathan Wakely <jwakely@redhat.com>
12297
12298 * value-range.cc (irange::irange_contains_p): Fix comment typo.
12299
12300 2022-10-07 Eric Botcazou <ebotcazou@adacore.com>
12301
12302 * function.cc (thread_prologue_and_epilogue_insns): Update only
12303 entry and exit blocks when not optimizing. Remove dead statement.
12304
12305 2022-10-07 Aldy Hernandez <aldyh@redhat.com>
12306
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.
12324
12325 2022-10-07 Martin Liska <mliska@suse.cz>
12326
12327 * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
12328 size to function parameter.
12329 (ix86_unary_operator_ok): Likewise.
12330
12331 2022-10-07 Martin Liska <mliska@suse.cz>
12332
12333 * auto-profile.cc (get_inline_stack): Remove unused variable.
12334
12335 2022-10-07 Jakub Jelinek <jakub@redhat.com>
12336
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.
12342
12343 2022-10-07 Jakub Jelinek <jakub@redhat.com>
12344
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.
12350
12351 2022-10-07 Olivier Hainque <hainque@adacore.com>
12352
12353 * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
12354 4 to 3 for VxWorks >= 7.
12355
12356 2022-10-07 Olivier Hainque <hainque@adacore.com>
12357
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.
12366
12367 2022-10-07 Olivier Hainque <hainque@adacore.com>
12368
12369 * ginclude/stddef.h: #undef offsetof before #define.
12370
12371 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
12372
12373 PR tree-optimization/107170
12374 * vr-values.cc (vr_values::range_of_expr): Do not die on
12375 unsupported types.
12376
12377 2022-10-06 Joseph Myers <joseph@codesourcery.com>
12378
12379 * doc/invoke.texi (-fno-asm): Update description of effects on
12380 typeof keyword.
12381
12382 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
12383
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.
12387
12388 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
12389
12390 * df-scan.cc (df_ref_create_structure): Minor cleanup.
12391
12392 2022-10-06 Richard Biener <rguenther@suse.de>
12393
12394 PR middle-end/107115
12395 * expr.cc (store_expr): Check mems_same_for_tbaa_p before
12396 eliding a seemingly redundant store.
12397
12398 2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12399
12400 * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
12401 New pattern.
12402
12403 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
12404
12405 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
12406 Ampere-1 core entry.
12407
12408 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
12409
12410 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
12411
12412 2022-10-06 Richard Biener <rguenther@suse.de>
12413
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.
12418
12419 2022-10-06 Claudiu Zissulescu <claziss@synopsys.com>
12420
12421 * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
12422 common-pave-size.
12423
12424 2022-10-06 Jakub Jelinek <jakub@redhat.com>
12425
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.
12441
12442 2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
12443
12444 PR rtl-optimization/107088
12445 * cselib.cc (new_cselib_val): Skip BImode while keeping track of
12446 subvalue relations.
12447
12448 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
12449
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.
12456
12457 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
12458
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.
12464
12465 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
12466
12467 * value-range-pretty-print.cc (vrange_printer::print_real_value):
12468 Avoid printing INF and NAN twice.
12469
12470 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
12471
12472 * config/rs6000/constraints.md (wD): Delete.
12473 * doc/md.texi (Machine Constraints): Adjust.
12474
12475 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
12476
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.
12481
12482 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
12483
12484 * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
12485 "wD" constraint.
12486
12487 2022-10-05 David Malcolm <dmalcolm@redhat.com>
12488
12489 PR analyzer/107060
12490 * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
12491
12492 2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
12493
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.
12517
12518 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
12519
12520 * range-op.cc (operator_cast::fold_range): Handle truncating casts
12521 for nonzero masks.
12522
12523 2022-10-05 Martin Liska <mliska@suse.cz>
12524
12525 PR c/107156
12526 * attribs.h (lookup_attribute_by_prefix): Support the attribute
12527 starting with underscore (_Noreturn).
12528
12529 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
12530
12531 PR tree-optimization/107052
12532 * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
12533 nonzero bit mask.
12534
12535 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
12536
12537 PR tree-optimization/107052
12538 * range-op.cc (operator_cast::fold_range): Set nonzero mask.
12539
12540 2022-10-05 Eric Botcazou <ebotcazou@adacore.com>
12541
12542 PR tree-optimization/106698
12543 * pointer-query.cc (handle_array_ref): Fix handling of low bound.
12544
12545 2022-10-05 Vineet Gupta <vineetg@rivosinc.com>
12546
12547 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
12548 Remove __riscv_cmodel_pic, that deprecated in last version.
12549
12550 2022-10-05 David Malcolm <dmalcolm@redhat.com>
12551
12552 PR analyzer/107072
12553 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
12554
12555 2022-10-04 Jakub Jelinek <jakub@redhat.com>
12556
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.
12566
12567 2022-10-04 Jakub Jelinek <jakub@redhat.com>
12568
12569 * attribs.cc (handle_ignored_attributes_option, decl_attributes,
12570 common_function_versions): Use auto_diagnostic_group.
12571
12572 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
12573
12574 * value-range.cc (irange::set_nonzero_bits): Remove assert.
12575
12576 2022-10-04 Richard Sandiford <richard.sandiford@arm.com>
12577
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.
12584
12585 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
12586
12587 * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
12588 (-fopenmp-simd): Likewise; update permitted directives.
12589
12590 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
12591
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.
12595
12596 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
12597
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.
12630
12631 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
12632
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.
12638
12639 2022-10-03 Sergei Trofimovich <siarheit@google.com>
12640
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.
12644
12645 2022-10-03 Andrew Stubbs <ams@codesourcery.com>
12646
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.
12652
12653 2022-10-03 Andrew MacLeod <amacleod@redhat.com>
12654
12655 PR tree-optimization/107109
12656 * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
12657
12658 2022-10-03 Christophe Lyon <christophe.lyon@arm.com>
12659
12660 * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
12661 clobber.
12662 (mve_vrev64q_m_f<mode>): Likewise.
12663
12664 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
12665
12666 * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
12667 (range_tests_nonzero_bits): New test.
12668
12669 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
12670
12671 * value-range.cc (irange::operator==): Early bail on m_num_ranges
12672 equal to 0.
12673
12674 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
12675
12676 * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
12677 check when comparing VR_VARYING ranges.
12678
12679 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
12680
12681 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
12682 incompatible ranges in ipa-prop.
12683
12684 2022-10-02 Jakub Jelinek <jakub@redhat.com>
12685
12686 PR tree-optimization/107121
12687 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
12688 DEFFERED_INIT -> DEFERRED_INIT.
12689
12690 2022-10-02 Marc Poulhiès <poulhies@adacore.com>
12691
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.
12696
12697 2022-10-02 Olivier Hainque <hainque@adacore.com>
12698
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.
12702
12703 2022-10-01 Stafford Horne <shorne@gmail.com>
12704
12705 * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
12706 HAVE_AS_TLS is defined.
12707
12708 2022-10-01 Julian Brown <julian@codesourcery.com>
12709
12710 * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
12711 handling.
12712
12713 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
12714
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.
12723
12724 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
12725
12726 * tree-ssa-dom.cc (record_edge_info): Install correct version of
12727 patch.
12728
12729 2022-10-01 Eugene Rozenfeld <erozen@microsoft.com>
12730
12731 * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
12732
12733 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
12734
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.
12738
12739 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
12740
12741 * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
12742 (free_all_edge_infos): Do not clear e->aux here.
12743
12744 2022-09-30 H.J. Lu <hjl.tools@gmail.com>
12745
12746 * target.def (TARGET_C_EXCESS_PRECISION): Document
12747 -fexcess-precision=16.
12748
12749 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
12750
12751 * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
12752
12753 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
12754
12755 PR target/106815
12756 * config/riscv/riscv.cc (riscv_excess_precision): Add support
12757 for EXCESS_PRECISION_TYPE_FLOAT16.
12758
12759 2022-09-30 Jakub Jelinek <jakub@redhat.com>
12760
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.
12767
12768 2022-09-30 Lewis Hyatt <lhyatt@gmail.com>
12769
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.
12775
12776 2022-09-30 Jakub Jelinek <jakub@redhat.com>
12777
12778 PR c++/107080
12779 * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
12780 as Dh and _Float16 as DF16_.
12781
12782 2022-09-30 Jakub Jelinek <jakub@redhat.com>
12783
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.
12795
12796 2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
12797 Yvan ROUX <yvan.roux@foss.st.com>
12798
12799 * doc/sourcebuild.texi: Document new vma_equals_lma effective
12800 target check.
12801
12802 2022-09-30 Jiawei <jiawei@iscas.ac.cn>
12803
12804 * config/riscv/riscv.cc (riscv_file_start): New .option.
12805 * config/riscv/riscv.opt: New options.
12806 * doc/invoke.texi: New definations.
12807
12808 2022-09-30 Kewen Lin <linkw@linux.ibm.com>
12809
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.
12824
12825 2022-09-30 Richard Biener <rguenther@suse.de>
12826
12827 PR tree-optimization/107095
12828 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
12829 for .MASK_STORE size.
12830
12831 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12832
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.
12839
12840 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12841
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.
12847
12848 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12849
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.
12861
12862 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12863
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.
12870
12871 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
12872
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.
12887
12888 2022-09-29 Andrew Stubbs <ams@codesourcery.com>
12889
12890 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
12891 Remove unused elt_bits variable.
12892
12893 2022-09-29 Olivier Hainque <hainque@adacore.com>
12894
12895 * config/vxworks.h: Add comment on our use of
12896 HAVE_INITFINI_ARRAY_SUPPORT.
12897
12898 2022-09-29 Olivier Hainque <hainque@adacore.com>
12899
12900 * config/aarch64/t-aarch64-vxworks: Request multilib
12901 variants for mcmodel=large.
12902
12903 2022-09-29 Olivier Hainque <hainque@adacore.com>
12904
12905 * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
12906 resetting to 0.
12907
12908 2022-09-29 Olivier Hainque <hainque@adacore.com>
12909
12910 * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
12911 when ARM_UNWIND_INFO is set.
12912
12913 2022-09-29 Julian Brown <julian@codesourcery.com>
12914
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.
12924
12925 2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com>
12926
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.
12931
12932 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12933
12934 * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
12935 of to_widest.
12936
12937 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12938
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.
12980
12981 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
12982
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.
13010
13011 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13012
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.
13017
13018 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13019
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.
13028
13029 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13030
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.
13043
13044 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13045
13046 * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
13047 (arch_to_arch_name): Use const char * instead of std::string.
13048
13049 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13050
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.
13059
13060 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13061
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.
13083
13084 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13085
13086 * config/aarch64/aarch64-option-extensions.def: Move crypto
13087 after sha2.
13088
13089 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13090
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.
13098
13099 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13100
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.
13107
13108 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13109
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.
13116
13117 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13118
13119 * config.gcc: Remove dead aarch64-option-extensions.def code.
13120 * config/aarch64/aarch64-arches.def: Update comment.
13121
13122 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13123
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".
13131
13132 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13133
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.
13167
13168 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13169
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.
13185
13186 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13187
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.
13199
13200 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
13201
13202 * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
13203
13204 2022-09-29 Jakub Jelinek <jakub@redhat.com>
13205
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.
13212
13213 2022-09-29 Martin Liska <mliska@suse.cz>
13214
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.
13222
13223 2022-09-29 Richard Biener <rguenther@suse.de>
13224
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.
13229
13230 2022-09-29 liuhongt <hongtao.liu@intel.com>
13231
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.
13240
13241 2022-09-28 Eugene Rozenfeld <erozen@microsoft.com>
13242
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.
13283
13284 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
13285
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.
13292
13293 2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
13294
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.
13312
13313 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
13314
13315 * var-tracking.cc (vt_add_function_parameter): Add entry values
13316 up to maximal register mode.
13317
13318 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
13319
13320 * cselib.cc (new_cselib_val): Keep track of further subvalue
13321 relations.
13322
13323 2022-09-28 Andrea Corallo <andrea.corallo@arm.com>
13324
13325 * config/arm/arm-c.cc (arm_cpu_builtins): Define
13326 __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
13327
13328 2022-09-28 Xi Ruoyao <xry111@xry111.site>
13329
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.
13335
13336 2022-09-28 Lulu Cheng <chenglulu@loongson.cn>
13337
13338 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
13339 Fixed typo in "asan_mapping.h".
13340
13341 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
13342
13343 PR middle-end/58245
13344 * calls.cc: Include "tree-eh.h".
13345 (expand_call): Check stack canary before throwing exception.
13346
13347 2022-09-27 Eugene Rozenfeld <erozen@microsoft.com>
13348
13349 * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
13350
13351 2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com>
13352
13353 * doc/invoke.texi: Update ABI version info.
13354
13355 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
13356
13357 * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
13358 singleton.
13359
13360 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
13361
13362 * value-range.cc (irange::set_nonzero_bits): Set range when known.
13363
13364 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
13365
13366 * value-range.h (irange::set): New version taking wide_int_ref.
13367
13368 2022-09-27 Jakub Jelinek <jakub@redhat.com>
13369
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.
13374
13375 2022-09-27 Jeff Law <jeffreyalaw@gmail.com>
13376
13377 * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
13378 and return are available before trying to use them.
13379
13380 2022-09-27 Jakub Jelinek <jakub@redhat.com>
13381
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.
13408
13409 2022-09-26 Martin Liska <mliska@suse.cz>
13410
13411 * doc/invoke.texi: Add missing dash for
13412 Wanalyzer-exposure-through-uninit-copy.
13413
13414 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
13415
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.
13419
13420 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
13421
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.
13426
13427 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
13428
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.
13436
13437 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
13438
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.
13442
13443 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
13444
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'.
13450
13451 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
13452
13453 * config/nvptx/nvptx.h (ASM_SPEC): Define.
13454
13455 2022-09-26 Jeff Law <jeffreyalaw@gmail.com>
13456
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.
13462
13463 2022-09-26 Tobias Burnus <tobias@codesourcery.com>
13464
13465 PR middle-end/106982
13466 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
13467
13468 2022-09-26 Martin Liska <mliska@suse.cz>
13469
13470 * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
13471 and use only dst.
13472
13473 2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13474
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.
13489
13490 2022-09-26 Martin Liska <mliska@suse.cz>
13491
13492 * value-range.cc (tree_compare): Remove unused function.
13493
13494 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
13495
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.
13500
13501 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
13502
13503 PR target/100645
13504 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
13505 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
13506
13507 2022-09-26 Hongtao Liu <hongtao.liu@intel.com>
13508 Liwei Xu <liwei.xu@intel.com>
13509
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.
13516
13517 2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
13518
13519 * doc/sourcebuild.texi: Fix chapter level.
13520
13521 2022-09-24 Jakub Jelinek <jakub@redhat.com>
13522
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.
13531
13532 2022-09-23 Vineet Gupta <vineetg@rivosinc.com>
13533
13534 * config/riscv/riscv.h (LOCAL_SYM_P): New.
13535 (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
13536
13537 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
13538
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.
13546
13547 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
13548
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.
13570
13571 2022-09-23 Richard Biener <rguenther@suse.de>
13572
13573 PR tree-optimization/106922
13574 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
13575 an arbitrary number of same valued skipped stores.
13576
13577 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
13578
13579 * value-range.cc (frange::set): Swap setters such that the one
13580 accepting REAL_VALUE_TYPE does all the work.
13581
13582 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13583
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.
13602
13603 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
13604
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*.
13621
13622 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
13623
13624 * real.cc (debug): New.
13625
13626 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
13627
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.
13631
13632 2022-09-23 Martin Liska <mliska@suse.cz>
13633
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.
13637
13638 2022-09-23 Jakub Jelinek <jakub@redhat.com>
13639
13640 * attribs.cc (decl_attributes): Improve diagnostics, instead of
13641 saying expected between 1 and 1, found 2 just say expected 1, found 2.
13642
13643 2022-09-23 Hu, Lin1 <lin1.hu@intel.com>
13644
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".
13655
13656 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13657
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.
13665
13666 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13667
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.
13672
13673 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13674
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.
13679
13680 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13681
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.
13687
13688 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13689
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.
13694
13695 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13696
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.
13701
13702 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13703
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.
13708
13709 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13710
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.
13715
13716 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13717
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.
13723
13724 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13725
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.
13730
13731 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13732
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.
13744
13745 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13746
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.
13753
13754 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13755
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.
13760
13761 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13762
13763 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
13764 operand 1 for second range if there is no operand 2.
13765
13766 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13767
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.
13800
13801 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13802
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.
13814
13815 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
13816
13817 * tree-ssa-threadbackward.cc
13818 (back_threader::find_paths_to_names): Replace sequence with
13819 a call to gimple_range_ssa_names.
13820
13821 2022-09-22 Martin Liska <mliska@suse.cz>
13822 Fangrui Song <i@maskray.me>
13823
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.
13831
13832 2022-09-22 Richard Biener <rguenther@suse.de>
13833
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.
13843
13844 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
13845
13846 * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
13847 definition.
13848
13849 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
13850
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.
13857
13858 2022-09-22 Richard Biener <rguenther@suse.de>
13859
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.
13867
13868 2022-09-22 Richard Biener <rguenther@suse.de>
13869
13870 * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
13871 function split out from ...
13872 (vn_nary_op_insert_pieces_predicated): ... here.
13873
13874 2022-09-22 liuhongt <hongtao.liu@intel.com>
13875
13876 PR target/106994
13877 * config/i386/mmx.md (floorv2sf2): Fix typo, use
13878 register_operand instead of vector_operand for operands[1].
13879
13880 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
13881
13882 PR tree-optimization/106967
13883 * value-range.cc (frange::set): Set known NANs to undefined for
13884 flag_finite_math_only.
13885
13886 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
13887
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.
13893
13894 2022-09-21 Richard Biener <rguenther@suse.de>
13895
13896 PR tree-optimization/106984
13897 * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
13898 a separate statement.
13899
13900 2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13901
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".
13910
13911 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
13912
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.
13937
13938 2022-09-21 liuhongt <hongtao.liu@intel.com>
13939
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.
13943
13944 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
13945
13946 * value-range.h (frange::maybe_isnan): Return false for
13947 undefined ranges.
13948
13949 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
13950
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.
13954
13955 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
13956
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.
13962
13963 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
13964
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.
13972
13973 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
13974
13975 * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
13976 early-out optimisation to SSA_NAMEs.
13977
13978 2022-09-20 Martin Liska <mliska@suse.cz>
13979
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.
13983
13984 2022-09-20 liuhongt <hongtao.liu@intel.com>
13985
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.
13998
13999 2022-09-20 konglin1 <lingling.kong@intel.com>
14000
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.
14006
14007 2022-09-20 Xi Ruoyao <xry111@xry111.site>
14008
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.
14012
14013 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
14014
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.
14018
14019 2022-09-20 liuhongt <hongtao.liu@intel.com>
14020
14021 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
14022 latest Intel processors.
14023
14024 2022-09-20 konglin1 <lingling.kong@intel.com>
14025
14026 PR target/106887
14027 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
14028 Fixed V16BF mode case.
14029
14030 2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
14031
14032 * targhooks.cc (default_zero_call_used_regs): Improve sorry
14033 message.
14034
14035 2022-09-18 Julian Brown <julian@codesourcery.com>
14036
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.
14041
14042 2022-09-18 Jakub Jelinek <jakub@redhat.com>
14043
14044 PR middle-end/106831
14045 * value-range.cc (frange::singleton_p): Avoid propagating long
14046 doubles that may have multiple representations.
14047
14048 2022-09-18 Aldy Hernandez <aldyh@redhat.com>
14049
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.
14102
14103 2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
14104
14105 * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
14106 to prevent warning.
14107
14108 2022-09-17 Jakub Jelinek <jakub@redhat.com>
14109
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.
14115
14116 2022-09-16 liuhongt <hongtao.liu@intel.com>
14117
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.
14131
14132 2022-09-15 Joseph Myers <joseph@codesourcery.com>
14133
14134 * ginclude/float.h (INFINITY): Define only if
14135 [__FLT_HAS_INFINITY__].
14136
14137 2022-09-15 Richard Biener <rguenther@suse.de>
14138
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.
14144
14145 2022-09-15 Richard Biener <rguenther@suse.de>
14146
14147 * tree.cc (build_common_tree_nodes): Initialize void_list_node
14148 here.
14149
14150 2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com>
14151
14152 PR target/106550
14153 * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
14154
14155 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
14156
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.
14162
14163 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
14164
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.
14177
14178 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
14179
14180 * value-range.cc (frange::set): Use set_nan.
14181 * value-range.h (frange::set_nan): Inline code originally in
14182 set().
14183
14184 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
14185
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.
14212
14213 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
14214
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.
14223
14224 2022-09-14 Julian Brown <julian@codesourcery.com>
14225
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.
14244
14245 2022-09-14 Julian Brown <julian@codesourcery.com>
14246
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.
14274
14275 2022-09-14 Richard Biener <rguenther@suse.de>
14276
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.
14281
14282 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
14283
14284 PR tree-optimization/106936
14285 * value-query.cc (range_query::get_value_range): Remove assert.
14286
14287 2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
14288
14289 * config/mips/mips.cc (mips_option_override): Drop unused variable.
14290
14291 2022-09-14 Julian Brown <julian@codesourcery.com>
14292
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.
14307
14308 2022-09-14 Jakub Jelinek <jakub@redhat.com>
14309
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.
14319
14320 2022-09-14 Richard Biener <rguenther@suse.de>
14321
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.
14326
14327 2022-09-14 liuhongt <hongtao.liu@intel.com>
14328
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.
14333
14334 2022-09-13 Roger Sayle <roger@nextmovesoftware.com>
14335
14336 PR target/106877
14337 * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
14338 in gcc_assert.
14339
14340 2022-09-13 Max Filippov <jcmvbkbc@gmail.com>
14341
14342 Revert:
14343 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14344
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.
14349
14350 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
14351
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.
14355
14356 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org>
14357
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.
14362
14363 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
14364
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.
14376
14377 2022-09-13 Richard Biener <rguenther@suse.de>
14378
14379 PR middle-end/106909
14380 * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
14381 flag of a unreachable call.
14382
14383 2022-09-13 Richard Biener <rguenther@suse.de>
14384
14385 PR tree-optimization/106913
14386 * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
14387 ft_reachable on EXIT_BLOCK.
14388
14389 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
14390
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.
14470
14471 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
14472
14473 * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
14474 condition. Likewise for the related define_split. Tweak formatting.
14475
14476 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14477
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.
14482
14483 2022-09-12 Joseph Myers <joseph@codesourcery.com>
14484
14485 * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
14486 __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
14487
14488 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
14489
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.
14495
14496 2022-09-12 Aldy Hernandez <aldyh@redhat.com>
14497
14498 * value-range.cc (frange::set_signbit): Avoid changing sign when
14499 already in the correct sign.
14500
14501 2022-09-12 Max Filippov <jcmvbkbc@gmail.com>
14502
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.
14507
14508 2022-09-12 Jonathan Wakely <jwakely@redhat.com>
14509
14510 * doc/extend.texi (Floating Types): Fix "_float128" typo.
14511
14512 2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14513
14514 * config/xtensa/xtensa.cc (xtensa_constantsynth):
14515 Add new pattern for the abovementioned case.
14516
14517 2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com>
14518 Segher Boessenkool <segher@kernel.crashing.org>
14519
14520 * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
14521
14522 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14523
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.
14528
14529 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14530
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.
14542
14543 2022-09-09 David Malcolm <dmalcolm@redhat.com>
14544
14545 * doc/invoke.texi (Static Analyzer Options): Add
14546 -Wanalyzer-exposure-through-uninit-copy.
14547
14548 2022-09-09 David Malcolm <dmalcolm@redhat.com>
14549
14550 * Makefile.in (ANALYZER_OBJS): Add
14551 analyzer/known-function-manager.o.
14552
14553 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
14554
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.
14564
14565 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
14566
14567 * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
14568 similar to pre-existing .offload_var_table.
14569
14570 2022-09-09 Joseph Myers <joseph@codesourcery.com>
14571
14572 * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
14573 New macro.
14574
14575 2022-09-09 Kewen Lin <linkw@linux.ibm.com>
14576
14577 PR middle-end/106833
14578 * tree.cc (verify_opaque_type): New function.
14579 (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
14580
14581 2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com>
14582
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.
14605
14606 2022-09-09 Richard Biener <rguenther@suse.de>
14607
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.
14612
14613 2022-09-09 Kito Cheng <kito.cheng@sifive.com>
14614
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.
14620
14621 2022-09-09 Richard Biener <rguenther@suse.de>
14622
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.
14627
14628 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
14629
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.
14633
14634 2022-09-09 Martin Liska <mliska@suse.cz>
14635
14636 * optc-save-gen.awk: Always compare array option values with memcmp.
14637
14638 2022-09-08 Jonathan Wakely <jwakely@redhat.com>
14639
14640 PR c++/106838
14641 * doc/extend.texi (Type Traits): Fix requirements. Document
14642 __is_aggregate and __is_final.
14643
14644 2022-09-08 Tim Lange <mail@tim-lange.me>
14645
14646 PR analyzer/106625
14647 * doc/invoke.texi:
14648 State that the checker also reasons about symbolic values.
14649
14650 2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
14651
14652 PR tree-optimization/106886
14653 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
14654 Fix copying of scalar stmts.
14655
14656 2022-09-08 Chung-Lin Tang <cltang@codesourcery.com>
14657
14658 * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
14659
14660 2022-09-08 Richard Biener <rguenther@suse.de>
14661
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.
14676
14677 2022-09-08 Jakub Jelinek <jakub@redhat.com>
14678
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.
14691
14692 2022-09-08 Richard Biener <rguenther@suse.de>
14693
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.
14698
14699 2022-09-08 Aldy Hernandez <aldyh@redhat.com>
14700
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.
14727
14728 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
14729
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.
14737
14738 2022-09-08 Christophe Lyon <christophe.lyon@arm.com>
14739
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.
14758
14759 2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com>
14760
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.
14764
14765 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
14766
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.
14771
14772 2022-09-07 Martin Liska <mliska@suse.cz>
14773
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.
14778
14779 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com>
14780
14781 PR rtl-optimization/105586
14782 * sched-rgn.cc (save_state_for_fallthru_edge): New function.
14783 (schedule_region): Use it for all blocks.
14784
14785 2022-09-07 Joseph Myers <joseph@codesourcery.com>
14786
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.
14791
14792 2022-09-07 Martin Liska <mliska@suse.cz>
14793
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.
14817
14818 2022-09-07 Richard Biener <rguenther@suse.de>
14819
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.
14824
14825 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com>
14826
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.
14831
14832 2022-09-07 Richard Biener <rguenther@suse.de>
14833
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.
14838
14839 2022-09-07 Richard Biener <rguenther@suse.de>
14840
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.
14846
14847 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
14848
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.
14857
14858 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
14859
14860 * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
14861 Disallow use of FPRs in register asms for !TARGET_FLOAT.
14862
14863 2022-09-07 Lulu Cheng <chenglulu@loongson.cn>
14864
14865 PR target/106828
14866 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
14867 (TARGET_ASAN_SHADOW_OFFSET): New.
14868
14869 2022-09-07 Jakub Jelinek <jakub@redhat.com>
14870
14871 * doc/invoke.texi (-Wno-unicode): Document.
14872
14873 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
14874
14875 * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
14876
14877 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
14878
14879 * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
14880 replacements.
14881
14882 2022-09-07 liuhongt <hongtao.liu@intel.com>
14883
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.
14900
14901 2022-09-06 Richard Biener <rguenther@suse.de>
14902
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.
14910
14911 2022-09-06 Max Filippov <jcmvbkbc@gmail.com>
14912
14913 * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
14914
14915 2022-09-06 Aldy Hernandez <aldyh@redhat.com>
14916
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.
14928
14929 2022-09-06 Richard Biener <rguenther@suse.de>
14930
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.
14939
14940 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
14941
14942 * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
14943
14944 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
14945
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.
14948
14949 2022-09-06 Richard Biener <rguenther@suse.de>
14950
14951 PR tree-optimization/106844
14952 * gimple-predicate-analysis.cc (compute_control_dep_chain):
14953 Return whether we found a chain.
14954
14955 2022-09-06 Richard Biener <rguenther@suse.de>
14956
14957 PR tree-optimization/106841
14958 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
14959 scatter/gather offset.
14960
14961 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
14962
14963 * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
14964
14965 2022-09-06 Jakub Jelinek <jakub@redhat.com>
14966
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.
14982
14983 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com>
14984
14985 * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
14986 (cskyv2_addcc_invert): Likewise.
14987
14988 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com>
14989
14990 * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
14991 `insn'.
14992 (bpf_expand_epilogue): Likewise.
14993
14994 2022-09-06 liuhongt <hongtao.liu@intel.com>
14995
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
15001
15002 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
15003
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.
15007
15008 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
15009
15010 * gimple-range-fold.cc
15011 (fold_using_range::range_of_builtin_int_call): Fold a set signbit
15012 in __builtin_signbit to nonzero.
15013
15014 2022-09-05 Alexander Monakov <amonakov@ispras.ru>
15015
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.
15020
15021 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
15022
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.
15028
15029 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
15030
15031 PR middle-end/106824
15032 * value-range.cc (frange::set_nan): Set undefined when updating a
15033 NAN to a non-NAN.
15034
15035 2022-09-05 Kito Cheng <kito.cheng@sifive.com>
15036
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.
15040
15041 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15042
15043 * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
15044 string is a valid -mcpu string and emit hint.
15045
15046 2022-09-05 LiaoShihua <shihua@iscas.ac.cn>
15047
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.
15054
15055 2022-09-05 Richard Biener <rguenther@suse.de>
15056
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.
15063
15064 2022-09-05 Richard Biener <rguenther@suse.de>
15065
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.
15070
15071 2022-09-05 Richard Biener <rguenther@suse.de>
15072
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.
15084
15085 2022-09-05 Richard Sandiford <richard.sandiford@arm.com>
15086
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.
15097
15098 2022-09-05 Xi Ruoyao <xry111@xry111.site>
15099
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.
15110
15111 2022-09-05 Martin Liska <mliska@suse.cz>
15112
15113 * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
15114 DEBUGGER_REGNO.
15115 * doc/tm.texi: Regenerate.
15116
15117 2022-09-05 Martin Liska <mliska@suse.cz>
15118
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.
15286
15287 2022-09-05 konglin1 <lingling.kong@intel.com>
15288
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.
15301
15302 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
15303
15304 * value-range.cc (early_nan_resolve): Remove.
15305 (frange::intersect): Handle NANs.
15306
15307 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
15308
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.
15312
15313 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
15314
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.
15322
15323 2022-09-03 Aldy Hernandez <aldyh@redhat.com>
15324
15325 * value-range.cc (frange::singleton_p): Move NAN check to the top.
15326
15327 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
15328
15329 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
15330
15331 2022-09-03 Jakub Jelinek <jakub@redhat.com>
15332
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.
15392
15393 2022-09-02 David Malcolm <dmalcolm@redhat.com>
15394
15395 PR c/90885
15396 * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
15397
15398 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
15399
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.
15478
15479 2022-09-02 Aldy Hernandez <aldyh@redhat.com>
15480
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.
15488
15489 2022-09-02 Peter Bergner <bergner@linux.ibm.com>
15490
15491 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
15492 NOP_EXPR for MMA pointer casting.
15493
15494 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
15495
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.
15499
15500 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
15501
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.
15509
15510 2022-09-02 Richard Biener <rguenther@suse.de>
15511
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.
15518
15519 2022-09-02 Richard Biener <rguenther@suse.de>
15520
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.
15524
15525 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
15526
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.
15546
15547 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
15548
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.
15568
15569 2022-09-02 Martin Liska <mliska@suse.cz>
15570
15571 * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
15572 debugging format.
15573
15574 2022-09-02 Martin Liska <mliska@suse.cz>
15575
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.
15703
15704 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com>
15705
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.
15711
15712 2022-09-01 Tamar Christina <tamar.christina@arm.com>
15713
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.
15718
15719 2022-09-01 Richard Sandiford <richard.sandiford@arm.com>
15720
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.
15729
15730 2022-09-01 Uroš Bizjak <ubizjak@gmail.com>
15731
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.
15735
15736 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15737
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.
15746
15747 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15748
15749 * emit-rtl.cc (init_emit_once): Initialize dconstinf and
15750 dconstninf.
15751 * real.h: Add dconstinf and dconstninf.
15752
15753 2022-09-01 Richard Biener <rguenther@suse.de>
15754
15755 * gimple-predicate-analysis.cc (compute_control_dep_chain):
15756 Remove cycle detection, instead avoid walking backedges.
15757
15758 2022-09-01 Richard Biener <rguenther@suse.de>
15759
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.
15764
15765 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15766
15767 * gimple-range-fold.cc
15768 (fold_using_range::range_of_builtin_int_call): Add case for
15769 CFN_BUILT_IN_SIGNBIT.
15770
15771 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15772
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.
15790
15791 2022-09-01 Jakub Jelinek <jakub@redhat.com>
15792
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).
15827
15828 2022-09-01 Jakub Jelinek <jakub@redhat.com>
15829
15830 PR c++/106655
15831 * doc/invoke.texi (-Winvalid-utf8): Document it.
15832
15833 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
15834
15835 PR tree-optimization/106785
15836 * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
15837 (range_tests_floats): Same.
15838
15839 2022-09-01 konglin1 <lingling.kong@intel.com>
15840
15841 * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
15842 recognition.
15843
15844 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
15845
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.
15849
15850 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15851
15852 * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
15853 registers.
15854
15855 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15856
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.
15863
15864 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15865
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.
15871
15872 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15873
15874 * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
15875
15876 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
15877
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.
15881
15882 2022-08-31 Martin Liska <mliska@suse.cz>
15883
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.
15892
15893 2022-08-31 Martin Liska <mliska@suse.cz>
15894
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.
15900
15901 2022-08-31 Richard Biener <rguenther@suse.de>
15902
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.
15908
15909 2022-08-31 Richard Biener <rguenther@suse.de>
15910
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.
15915
15916 2022-08-31 Aldy Hernandez <aldyh@redhat.com>
15917
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.
15923
15924 2022-08-31 Martin Liska <mliska@suse.cz>
15925
15926 PR tree-optimization/106789
15927 * range-op-float.cc (default_frelop_fold_range): Remove the
15928 function.
15929
15930 2022-08-31 Martin Liska <mliska@suse.cz>
15931
15932 * value-range.h: Add more override keywords.
15933
15934 2022-08-31 Martin Liska <mliska@suse.cz>
15935
15936 * value-range.h: Add override.
15937
15938 2022-08-31 Richard Biener <rguenther@suse.de>
15939
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.
15946
15947 2022-08-31 Richard Biener <rguenther@suse.de>
15948
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.
15953
15954 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15955 Jakub Jelinek <jakub@redhat.com>
15956
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.
15960
15961 2022-08-31 Richard Sandiford <richard.sandiford@arm.com>
15962
15963 * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
15964 argument.
15965
15966 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai>
15967
15968 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
15969 initialize const_vf to 0.
15970
15971 2022-08-31 Martin Liska <mliska@suse.cz>
15972
15973 * config.gcc: Remove cr16.
15974
15975 2022-08-30 Martin Jambor <mjambor@suse.cz>
15976
15977 * vec.h (array_slice): Add constructors for non-const reference to
15978 heap vector and pointers to heap vectors.
15979
15980 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
15981
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.
15985
15986 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
15987
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.
15994
15995 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
15996
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.
16003
16004 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
16005
16006 * expmed.cc (store_bit_field_1): Fix byte offset calculation
16007 for undefined structures.
16008
16009 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
16010
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.
16023
16024 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
16025
16026 * hash-traits.h (vec_hash_base): New class.
16027 (vec_free_hash_base): Likewise.
16028
16029 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
16030
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.
16037
16038 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
16039
16040 * graphds.cc (graphds_scc): Add a pass-back parameter for the
16041 final node order.
16042 * graphds.h (graphds_scc): Update prototype accordingly.
16043
16044 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
16045
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.
16049
16050 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
16051
16052 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
16053 (vectorizable_slp_permutation): ...here.
16054
16055 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
16056
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.
16060
16061 2022-08-30 Martin Liska <mliska@suse.cz>
16062
16063 * config.gcc: Remove the port.
16064 * config/m32c/rtems.h: Removed.
16065
16066 2022-08-30 Richard Biener <rguenther@suse.de>
16067
16068 PR tree-optimization/73550
16069 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
16070 Do not apply MAX_NUM_CHAINS again.
16071
16072 2022-08-30 Richard Biener <rguenther@suse.de>
16073
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.
16079
16080 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
16081
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.
16090
16091 2022-08-30 Richard Biener <rguenther@suse.de>
16092
16093 PR tree-optimization/67196
16094 * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
16095 Simplify and normalize use prediates before first use.
16096
16097 2022-08-30 Richard Biener <rguenther@suse.de>
16098
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.
16105
16106 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
16107
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.
16129
16130 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
16131
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.
16170
16171 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
16172
16173 * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
16174 for real zero.
16175
16176 2022-08-30 Martin Liska <mliska@suse.cz>
16177
16178 * config/s390/s390.cc (s390_rtx_costs): Use proper type as
16179 argument.
16180
16181 2022-08-30 Richard Biener <rguenther@suse.de>
16182
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.
16186
16187 2022-08-30 Richard Biener <rguenther@suse.de>
16188
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.
16196
16197 2022-08-30 Richard Biener <rguenther@suse.de>
16198
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.
16215
16216 2022-08-30 Tamar Christina <tamar.christina@arm.com>
16217
16218 PR tree-optimization/106744
16219 * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
16220
16221 2022-08-30 Tamar Christina <tamar.christina@arm.com>
16222
16223 * expmed.cc (store_bit_field_1): Initialize regnum to 0.
16224
16225 2022-08-29 David Faust <david.faust@oracle.com>
16226
16227 PR target/106745
16228 * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
16229 computation of index for anonymous members.
16230
16231 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com>
16232
16233 * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
16234 target macro.
16235
16236 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
16237
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.
16242
16243 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
16244
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.
16248
16249 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
16250
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.
16259
16260 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
16261
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.
16266
16267 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
16268
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.
16274
16275 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
16276
16277 * config/s390/s390.cc (s390_issue_rate): Add z15.
16278
16279 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
16280
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.
16288
16289 2022-08-29 Richard Biener <rguenther@suse.de>
16290
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.
16294
16295 2022-08-29 Richard Biener <rguenther@suse.de>
16296
16297 * gimple-predicate-analysis.cc (compute_control_dep_chain):
16298 Inline is_loop_exit and refactor, add comment about
16299 loop exits.
16300
16301 2022-08-29 Kito Cheng <kito.cheng@sifive.com>
16302
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.
16307
16308 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
16309
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.
16333
16334 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
16335
16336 * config/riscv/riscv.md: Add new type for vector instructions.
16337
16338 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
16339
16340 PR target/106017
16341 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
16342 of MMA pointer conversions.
16343
16344 2022-08-27 Xi Ruoyao <xry111@xry111.site>
16345
16346 * config/i386/gcc-auto-profile: Regenerate.
16347
16348 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
16349
16350 * real.cc (real_iszero): New.
16351 * real.h (real_iszero): New.
16352
16353 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
16354
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.
16359
16360 2022-08-26 Marek Polacek <polacek@redhat.com>
16361
16362 PR c++/81159
16363 * doc/invoke.texi: Document -Wself-move.
16364
16365 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
16366
16367 * value-range.cc (vrange::set): Set varying.
16368 (vrange::set_nonzero): Same.
16369 (vrange::set_zero): Same.
16370 (vrange::set_nonnegative): Same.
16371
16372 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
16373
16374 * range-op-float.cc (foperator_equal::op1_range): Do not blindly
16375 copy op2 range when honoring signed zeros.
16376
16377 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
16378
16379 * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
16380 add newline.
16381 (profitable_path_p): Same.
16382
16383 2022-08-26 Richard Biener <rguenther@suse.de>
16384
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.
16393
16394 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
16395
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
16409
16410 2022-08-26 Jakub Jelinek <jakub@redhat.com>
16411
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.
16426
16427 2022-08-26 Jakub Jelinek <jakub@redhat.com>
16428
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.
16433
16434 2022-08-26 Richard Biener <rguenther@suse.de>
16435
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.
16443
16444 2022-08-26 Richard Biener <rguenther@suse.de>
16445
16446 * gimple-predicate-analysis.cc
16447 (uninit_analysis::collect_phi_def_edges): Only expand a
16448 PHI def edge when it is possibly undefined.
16449
16450 2022-08-26 Martin Liska <mliska@suse.cz>
16451
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.
16466
16467 2022-08-26 liuhongt <hongtao.liu@intel.com>
16468
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.
16476
16477 2022-08-25 Marek Polacek <polacek@redhat.com>
16478
16479 * ginclude/stddef.h: Define nullptr_t.
16480
16481 2022-08-25 Joseph Myers <joseph@codesourcery.com>
16482
16483 * gimplify.cc (gimplify_modify_expr): Convert initialization from
16484 a variable-size CONSTRUCTOR to memset before call to
16485 gimplify_modify_expr_rhs.
16486
16487 2022-08-25 Jason Merrill <jason@redhat.com>
16488
16489 * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
16490
16491 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
16492
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.
16505
16506 2022-08-25 Xi Ruoyao <xry111@xry111.site>
16507
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.
16528
16529 2022-08-25 Xi Ruoyao <xry111@xry111.site>
16530
16531 * config/loongarch/loongarch.cc (loongarch_classify_symbol):
16532 Return early if the rtx is not SYMBOL_REF.
16533
16534 2022-08-25 Richard Biener <rguenther@suse.de>
16535
16536 PR tree-optimization/106737
16537 * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
16538 verify SSA form.
16539
16540 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
16541
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.
16551
16552 2022-08-24 Andrew Pinski <apinski@marvell.com>
16553
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.
16561
16562 2022-08-24 Andrew Pinski <apinski@marvell.com>
16563
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.
16569
16570 2022-08-24 Andrew Pinski <apinski@marvell.com>
16571
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.
16586
16587 2022-08-24 Andrew Pinski <apinski@marvell.com>
16588
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.
16595
16596 2022-08-24 Andrew Pinski <apinski@marvell.com>
16597
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.
16602
16603 2022-08-24 Andrew Pinski <apinski@marvell.com>
16604
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.
16621
16622 2022-08-24 Andrew Pinski <apinski@marvell.com>
16623
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.
16627
16628 2022-08-24 Andrew Pinski <apinski@marvell.com>
16629
16630 * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
16631 * config/riscv/iterators.md: Here.
16632
16633 2022-08-24 Andrew Pinski <apinski@marvell.com>
16634
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.
16639
16640 2022-08-24 Andrew Pinski <apinski@marvell.com>
16641
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.
16660
16661 2022-08-24 Andrew Pinski <apinski@marvell.com>
16662
16663 PR target/106601
16664 * config/riscv/bitmanip.md (bswaphi2): New pattern.
16665
16666 2022-08-24 Andrew Pinski <apinski@marvell.com>
16667
16668 PR target/106600
16669 * config/riscv/bitmanip.md (bswap<mode>2): Remove
16670 condition on TARGET_64BIT as X is already conditional there.
16671
16672 2022-08-24 Joseph Myers <joseph@codesourcery.com>
16673
16674 * tree.cc (build_real): Give DFP dconst0 the minimum quantum
16675 exponent for the type.
16676
16677 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com>
16678
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.
16683
16684 2022-08-24 Richard Biener <rguenther@suse.de>
16685
16686 * gimple-predicate-analysis.cc: Move predicate normalization
16687 after the comment documenting it.
16688
16689 2022-08-24 Richard Biener <rguenther@suse.de>
16690
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.
16696
16697 2022-08-24 Richard Biener <rguenther@suse.de>
16698
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.
16704
16705 2022-08-24 Jakub Jelinek <jakub@redhat.com>
16706
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.
16714
16715 2022-08-24 Martin Liska <mliska@suse.cz>
16716 Jørgen Kvalsvik <j@lambda.is>
16717
16718 * gcov.cc (add_line_counts): Add group functions to coverage
16719 summary.
16720 (accumulate_line_counts): Similarly for files.
16721
16722 2022-08-24 Lulu Cheng <chenglulu@loongson.cn>
16723
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'.
16750
16751 2022-08-24 Richard Biener <rguenther@suse.de>
16752
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.
16756
16757 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
16758
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.
16764
16765 2022-08-23 Richard Biener <rguenther@suse.de>
16766
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.
16775
16776 2022-08-23 Aldy Hernandez <aldyh@redhat.com>
16777
16778 * range-op-float.cc (foperator_equal::op1_range): Set range to
16779 range of op2.
16780
16781 2022-08-23 Richard Biener <rguenther@suse.de>
16782
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.
16792
16793 2022-08-23 Andrew MacLeod <amacleod@redhat.com>
16794
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.
16798
16799 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
16800
16801 * config/pru/pru.md (pru_<code>di3): New alternative for
16802 two operands but without earlyclobber.
16803
16804 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
16805
16806 * config/pru/pru.md (prumov<mode>, mov<mode>): Add
16807 variants for loading -1 consts.
16808
16809 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
16810
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.
16839
16840 2022-08-22 Richard Biener <rguenther@suse.de>
16841
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.
16850
16851 2022-08-22 Martin Liska <mliska@suse.cz>
16852
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.
16861
16862 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai>
16863
16864 * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
16865 and repeat value different.
16866
16867 2022-08-22 Tobias Burnus <tobias@codesourcery.com>
16868
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.
16875
16876 2022-08-22 Richard Biener <rguenther@suse.de>
16877
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.
16882
16883 2022-08-22 Richard Biener <rguenther@suse.de>
16884
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.
16891
16892 2022-08-20 Lulu Cheng <chenglulu@loongson.cn>
16893
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.
16916
16917 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
16918
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.
16926
16927 2022-08-19 Aldy Hernandez <aldyh@redhat.com>
16928
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.
16934
16935 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16936
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.
16945
16946 2022-08-18 Maciej W. Rozycki <macro@embecosm.com>
16947
16948 * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
16949 pattern formatting.
16950
16951 2022-08-18 Tim Lange <mail@tim-lange.me>
16952
16953 PR analyzer/106181
16954 * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
16955
16956 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
16957
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.
17001
17002 2022-08-18 Richard Biener <rguenther@suse.de>
17003
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 !
17008
17009 2022-08-18 Andrew Pinski <apinski@marvell.com>
17010
17011 PR gcov-profile/106659
17012 * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
17013 INCLUDE_VECTOR.
17014
17015 2022-08-18 konglin1 <lingling.kong@intel.com>
17016
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.
17101
17102 2022-08-18 Martin Liska <mliska@suse.cz>
17103
17104 * configure: Regenerate.
17105
17106 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org>
17107
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.
17112
17113 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
17114
17115 * gimple-range-path.cc
17116 (path_range_query::compute_exit_dependencies): Use
17117 gimple_range_ssa_names.
17118
17119 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai>
17120
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.
17162
17163 2022-08-18 Lulu Cheng <chenglulu@loongson.cn>
17164
17165 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
17166 Get __tls_get_addr address through got table when disable plt.
17167
17168 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17169
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.
17177
17178 2022-08-17 Roger Sayle <roger@nextmovesoftware.com>
17179
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)).
17184
17185 2022-08-17 Aldy Hernandez <aldyh@redhat.com>
17186
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.
17195
17196 2022-08-17 Marek Polacek <polacek@redhat.com>
17197
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.
17202
17203 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
17204 Jakub Jelinek <jakub@redhat.com>
17205
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.
17210
17211 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
17212
17213 * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
17214 when filenames come out identically.
17215
17216 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
17217
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.
17221
17222 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
17223 Chung-Lin Tang <cltang@codesourcery.com>
17224
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.
17236
17237 2022-08-17 Christophe Lyon <christophe.lyon@arm.com>
17238
17239 * config.gcc (arm): Define with_float to hard if target name ends
17240 with 'hf'.
17241
17242 2022-08-17 Richard Biener <rguenther@suse.de>
17243
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.
17263
17264 2022-08-17 Xi Ruoyao <xry111@xry111.site>
17265
17266 * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
17267 (fmin<mode>3): Likewise.
17268
17269 2022-08-17 Andrew MacLeod <amacleod@redhat.com>
17270
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.
17275
17276 2022-08-16 Martin Liska <mliska@suse.cz>
17277
17278 PR target/106637
17279 * doc/install.texi: Remove link to www.bullfreeware.com
17280
17281 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
17282
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.
17305
17306 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
17307
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.
17333
17334 2022-08-16 Richard Biener <rguenther@suse.de>
17335
17336 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
17337 Do not walk further if we are leaving the current loop.
17338
17339 2022-08-16 Sergei Trofimovich <siarheit@google.com>
17340
17341 PR driver/106624
17342 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
17343 argument using xstrdup().
17344
17345 2022-08-16 Aldy Hernandez <aldyh@redhat.com>
17346
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.
17361
17362 2022-08-16 Martin Liska <mliska@suse.cz>
17363
17364 * value-range-storage.h (class obstack_vrange_allocator): Mark
17365 the class as final.
17366 (class ggc_vrange_allocator): Likewise.
17367
17368 2022-08-16 Martin Liska <mliska@suse.cz>
17369
17370 * value-range-equiv.h (class value_range_equiv): Add virtual
17371 destructor.
17372 * value-range.h: Likewise.
17373
17374 2022-08-16 Richard Biener <rguenther@suse.de>
17375
17376 PR middle-end/106630
17377 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
17378 narrowing conversions.
17379
17380 2022-08-16 Martin Liska <mliska@suse.cz>
17381
17382 * value-range-equiv.h (class value_range_equiv):
17383
17384 2022-08-16 Martin Liska <mliska@suse.cz>
17385
17386 * config/i386/i386-features.h (class general_scalar_chain): Add
17387 final override for a method.
17388 (class timode_scalar_chain): Likewise.
17389
17390 2022-08-16 Richard Biener <rguenther@suse.de>
17391
17392 * doc/invoke.texi (max-jump-thread-paths): Adjust.
17393
17394 2022-08-16 Martin Liska <mliska@suse.cz>
17395
17396 * opts-common.cc (jobserver_info::connect): Open fifo
17397 in non-blocking mode.
17398
17399 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
17400
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.
17405
17406 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
17407
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.
17411
17412 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17413
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.
17417
17418 2022-08-15 Andrew MacLeod <amacleod@redhat.com>
17419
17420 PR tree-optimization/106621
17421 * value-range.cc (irange::set): Check for POLY_INT_CST early.
17422
17423 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
17424
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.
17432
17433 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
17434
17435 * config/i386/i386-features.cc
17436 (timode_scalar_chain::compute_convert_gain): Provide gains for
17437 comparisons against 0/-1, including "*testti" patterns.
17438
17439 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
17440
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.
17447
17448 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
17449 Richard Biener <rguenther@suse.de>
17450
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.
17456
17457 2022-08-15 Richard Biener <rguenther@suse.de>
17458
17459 * gimple-range-path.cc (range_on_path_entry): Just
17460 call range_on_entry.
17461
17462 2022-08-15 Jakub Jelinek <jakub@redhat.com>
17463
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.
17469
17470 2022-08-15 konglin1 <lingling.kong@intel.com>
17471
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.
17508
17509 2022-08-13 Roger Sayle <roger@nextmovesoftware.com>
17510 Uroš Bizjak <ubizjak@gmail.com>
17511
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.
17533
17534 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
17535
17536 * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
17537
17538 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
17539
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.
17544
17545 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com>
17546
17547 * tree-ssa-loop.h: Improve comment
17548
17549 2022-08-12 Jakub Jelinek <jakub@redhat.com>
17550
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.
17554
17555 2022-08-12 Richard Biener <rguenther@suse.de>
17556
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.
17561
17562 2022-08-12 Tamar Christina <tamar.christina@arm.com>
17563
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.
17567
17568 2022-08-12 Tim Lange <mail@tim-lange.me>
17569
17570 PR analyzer/106000
17571 * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
17572
17573 2022-08-12 Andrew Pinski <apinski@marvell.com>
17574
17575 * config/aarch64/aarch64.md: Remove comment
17576 about MD_INCLUDES as it is out of date and not needed.
17577
17578 2022-08-11 Richard Biener <rguenther@suse.de>
17579
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.
17583
17584 2022-08-11 Richard Biener <rguenther@suse.de>
17585
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.
17595
17596 2022-08-11 Richard Biener <rguenther@suse.de>
17597
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.
17606
17607 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
17608
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.
17612
17613 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
17614
17615 * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
17616 Remove function declaration.
17617
17618 2022-08-10 Richard Biener <rguenther@suse.de>
17619
17620 PR tree-optimization/106513
17621 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
17622 for head_marker.
17623
17624 2022-08-10 Martin Liska <mliska@suse.cz>
17625
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.
17633
17634 2022-08-10 Martin Liska <mliska@suse.cz>
17635
17636 * opts-jobserver.h: Add one member.
17637 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
17638 format of --jobserver-auth.
17639
17640 2022-08-10 Martin Liska <mliska@suse.cz>
17641
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.
17648
17649 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
17650
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.
17673
17674 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
17675 Richard Biener <rguenther@suse.de>
17676
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.
17685
17686 2022-08-09 David Malcolm <dmalcolm@redhat.com>
17687
17688 * doc/invoke.texi (Static Analyzer Options): Add notes on which
17689 functions the analyzer has hardcoded knowledge of.
17690
17691 2022-08-09 Andrew Stubbs <ams@codesourcery.com>
17692
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.
17708
17709 2022-08-09 Richard Biener <rguenther@suse.de>
17710
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.
17720
17721 2022-08-09 Richard Biener <rguenther@suse.de>
17722
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.
17728
17729 2022-08-09 Richard Biener <rguenther@suse.de>
17730
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.
17737
17738 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
17739
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.
17743
17744 2022-08-08 Andrew MacLeod <amacleod@redhat.com>
17745
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.
17749
17750 2022-08-08 Tom Honermann <tom@honermann.net>
17751
17752 * ginclude/stdatomic.h (atomic_char8_t,
17753 ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
17754
17755 2022-08-08 Andrew Pinski <apinski@marvell.com>
17756
17757 PR middle-end/103645
17758 * gimplify.cc (gimplify_init_constructor): Don't build/add
17759 gimple assignment of an empty type.
17760
17761 2022-08-08 Richard Biener <rguenther@suse.de>
17762
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.
17769
17770 2022-08-07 Roger Sayle <roger@nextmovesoftware.com>
17771
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.
17775
17776 2022-08-05 David Malcolm <dmalcolm@redhat.com>
17777
17778 PR analyzer/105947
17779 * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
17780
17781 2022-08-05 Roger Sayle <roger@nextmovesoftware.com>
17782
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.
17786
17787 2022-08-05 Tamar Christina <tamar.christina@arm.com>
17788
17789 PR middle-end/106534
17790 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
17791 value_replacement and store_elim from diamonds.
17792
17793 2022-08-05 Richard Biener <rguenther@suse.de>
17794
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.
17799
17800 2022-08-05 Aldy Hernandez <aldyh@redhat.com>
17801
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.
17806
17807 2022-08-05 Richard Biener <rguenther@suse.de>
17808
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.
17813
17814 2022-08-05 Andrew Pinski <apinski@marvell.com>
17815
17816 * config/riscv/predicates.md (splittable_const_int_operand):
17817 Remove the check for TARGET_64BIT for single bit const values.
17818
17819 2022-08-04 Andrew MacLeod <amacleod@redhat.com>
17820
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.
17824
17825 2022-08-04 Tamar Christina <tamar.christina@arm.com>
17826
17827 * match.pd: New bit_not rule.
17828
17829 2022-08-04 Tamar Christina <tamar.christina@arm.com>
17830
17831 PR middle-end/106519
17832 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
17833 diamond shapes.
17834
17835 2022-08-04 Sam Feifer <sfeifer@redhat.com>
17836
17837 PR tree-optimization/106243
17838 * match.pd (-x & 1): New simplification.
17839
17840 2022-08-04 Richard Biener <rguenther@suse.de>
17841
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.
17845
17846 2022-08-04 Richard Biener <rguenther@suse.de>
17847
17848 * tree-ssa-threadbackward.cc (populate_worklist): Remove.
17849 (back_threader::resolve_phi): Likewise.
17850 (back_threader::find_paths_to_names): Rewrite greedy search.
17851
17852 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
17853
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.
17857
17858 2022-08-03 Michael Meissner <meissner@linux.ibm.com>
17859
17860 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
17861 setting -mblock-ops-vector-pair.
17862
17863 2022-08-03 Andrew MacLeod <amacleod@redhat.com>
17864
17865 PR tree-optimization/106514
17866 * value-relation.cc (path_oracle::killing_def) Do not walk the
17867 equivalence set clearing bits.
17868
17869 2022-08-03 Tamar Christina <tamar.christina@arm.com>
17870
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.
17877
17878 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
17879
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.
17892
17893 2022-08-03 Martin Liska <mliska@suse.cz>
17894
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.
17899
17900 2022-08-03 Martin Liska <mliska@suse.cz>
17901
17902 * profile.cc (compute_branch_probabilities): Do not collect
17903 stats unless TDF_DETAILS.
17904
17905 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
17906 Uroš Bizjak <ubizjak@gmail.com>
17907
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.
17912
17913 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
17914
17915 * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
17916 to split comparisons against -1 using AND and CMP -1 instructions.
17917
17918 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
17919
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.
17926
17927 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
17928 Segher Boessenkool <segher@kernel.crashing.org>
17929 Richard Sandiford <richard.sandiford@arm.com>
17930
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.
17941
17942 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
17943
17944 PR tree-optimization/106510
17945 * gimple-range-fold.cc (fur_source::register_outgoing_edges):
17946 Check for unsupported statements early.
17947
17948 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
17949
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.
17953
17954 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com>
17955
17956 * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
17957 encoding bit in BTF.
17958
17959 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
17960
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.
17969
17970 2022-08-02 Richard Biener <rguenther@suse.de>
17971
17972 * tree-ssa-threadbackward.cc
17973 (back_threader_profitability::profitable_path_p): Apply
17974 size constraints to all paths again.
17975
17976 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
17977
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.
17993
17994 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
17995
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.
18008
18009 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
18010
18011 * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
18012 query to integrals.
18013
18014 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
18015
18016 * value-range.cc (frange::set): Initialize m_props and cleanup.
18017
18018 2022-08-02 Richard Biener <rguenther@suse.de>
18019
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.
18023
18024 2022-08-02 Martin Liska <mliska@suse.cz>
18025
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.
18030
18031 2022-08-02 Richard Biener <rguenther@suse.de>
18032
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.
18039
18040 2022-08-02 Richard Biener <rguenther@suse.de>
18041
18042 PR lto/106334
18043 * dwarf2out.cc (dwarf2out_register_external_die): Adjust
18044 assert.
18045
18046 2022-08-02 Richard Biener <rguenther@suse.de>
18047
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.
18052
18053 2022-08-01 David Malcolm <dmalcolm@redhat.com>
18054
18055 * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
18056 error.
18057
18058 2022-08-01 Roger Sayle <roger@nextmovesoftware.com>
18059 Uroš Bizjak <ubizjak@gmail.com>
18060
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.
18065
18066 2022-08-01 H.J. Lu <hjl.tools@gmail.com>
18067
18068 PR target/83782
18069 * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
18070 (TARGET_IFUNC_REF_LOCAL_OK): Use it.
18071
18072 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com>
18073
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.
18083
18084 2022-08-01 Andrew Stubbs <ams@codesourcery.com>
18085 Jakub Jelinek <jakub@redhat.com>
18086
18087 * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
18088 the mask type.
18089
18090 2022-08-01 Sam Feifer <sfeifer@redhat.com>
18091
18092 PR tree-optimization/104992
18093 * match.pd (x / y * y == x): New simplification.
18094
18095 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
18096
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.
18106
18107 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
18108
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.
18114
18115 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
18116
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.
18121
18122 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
18123
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.
18127
18128 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
18129 H.J. Lu <hjl.tools@gmail.com>
18130
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.
18137
18138 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18139
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.
18143
18144 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18145
18146 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
18147 Add new case for IF_THEN_ELSE.
18148
18149 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
18150
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.
18154
18155 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
18156
18157 * config/gcn/gcn.md (one_cmpldi2): New.
18158
18159 2022-07-29 Richard Biener <rguenther@suse.de>
18160
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.
18165
18166 2022-07-29 Richard Biener <rguenther@suse.de>
18167
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.
18171
18172 2022-07-29 Jakub Jelinek <jakub@redhat.com>
18173
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.
18178
18179 2022-07-29 Jakub Jelinek <jakub@redhat.com>
18180
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.
18185
18186 2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
18187
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.
18194
18195 2022-07-29 Richard Biener <rguenther@suse.de>
18196
18197 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
18198 Use CONVERT_EXPR_CODE_P.
18199
18200 2022-07-29 Richard Biener <rguenther@suse.de>
18201
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.
18205
18206 2022-07-28 David Malcolm <dmalcolm@redhat.com>
18207
18208 PR analyzer/105893
18209 * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
18210
18211 2022-07-28 David Malcolm <dmalcolm@redhat.com>
18212
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.
18217
18218 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
18219
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'.
18225
18226 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
18227
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.
18236
18237 2022-07-28 Richard Biener <rguenther@suse.de>
18238
18239 PR middle-end/106457
18240 * tree.cc (array_at_struct_end_p): Handle array objects
18241 specially.
18242
18243 2022-07-28 Jakub Jelinek <jakub@redhat.com>
18244
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.
18251
18252 2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
18253
18254 * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
18255
18256 2022-07-27 WANG Xuerui <i@xen0n.name>
18257
18258 * doc/invoke.texi: Document -m[no-]explicit-relocs for
18259 LoongArch.
18260
18261 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
18262
18263 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
18264 duplicate backslashes.
18265
18266 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
18267
18268 * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
18269 case.
18270
18271 2022-07-27 Jakub Jelinek <jakub@redhat.com>
18272
18273 PR debug/106261
18274 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
18275 output asm thunks for -dx.
18276
18277 2022-07-27 Jakub Jelinek <jakub@redhat.com>
18278
18279 PR middle-end/106332
18280 * opts-common.cc (candidates_list_and_hint): Add gcc_assert
18281 that candidates is not an empty vector.
18282
18283 2022-07-27 Xi Ruoyao <xry111@xry111.site>
18284
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.
18293
18294 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
18295
18296 PR c/106016
18297 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
18298
18299 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
18300
18301 * config/loongarch/loongarch-opts.cc: Modify the output message string
18302 of the warning.
18303
18304 2022-07-26 Martin Liska <mliska@suse.cz>
18305
18306 * doc/tm.texi.in: Fix placement of defmac.
18307 * doc/tm.texi: Copy.
18308
18309 2022-07-26 Martin Liska <mliska@suse.cz>
18310
18311 * doc/tm.texi.in: Fix cross @defmac and @hook.
18312 * doc/tm.texi: Copy.
18313
18314 2022-07-26 Aldy Hernandez <aldyh@redhat.com>
18315
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.
18322
18323 2022-07-26 Richard Biener <rguenther@suse.de>
18324
18325 * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
18326 points to a constant continue checking ptr2.
18327
18328 2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
18329
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
18506
18507 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
18508
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.
18519
18520 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
18521
18522 * config/aarch64/aarch64-builtins.cc
18523 (aarch64_general_gimple_fold_builtin): Add combine.
18524
18525 2022-07-26 Richard Biener <rguenther@suse.de>
18526
18527 PR tree-optimization/106189
18528 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
18529 Divide using offset_ints.
18530
18531 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
18532
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.
18587
18588 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
18589
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.
18629
18630 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
18631
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.
18636
18637 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
18638
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.
18656
18657 2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
18658 Uroš Bizjak <ubizjak@gmail.com>
18659
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.
18673
18674 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
18675
18676 PR middle-end/106432
18677 * gimple-range.cc (gimple_ranger::range_on_edge): Return false
18678 when the result range type is unsupported.
18679
18680 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
18681
18682 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
18683
18684 2022-07-25 Richard Biener <rguenther@suse.de>
18685
18686 PR middle-end/106414
18687 * match.pd (~(x ^ y) -> x == y): Restrict to single bit
18688 precision types.
18689
18690 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
18691
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.
18708
18709 2022-07-25 Martin Liska <mliska@suse.cz>
18710
18711 * doc/extend.texi: Remove trailing whitespaces.
18712 * doc/invoke.texi: Likewise.
18713
18714 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
18715
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.
18749
18750 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
18751 Kewen Lin <linkw@linux.ibm.com>
18752
18753 PR testsuite/106345
18754 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
18755 to filter out all -mtune options.
18756
18757 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
18758
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.
18763
18764 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
18765
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.
18769
18770 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
18771
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.
18775
18776 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
18777
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.
18782
18783 2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
18784 H.J. Lu <hjl.tools@gmail.com>
18785
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.
18810
18811 2022-07-23 Immad Mir <mirimmad@outlook.com>
18812
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.
18820
18821 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
18822
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.
18826
18827 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
18828
18829 * graphds.cc (graphds_scc): Fix algorithm attribution.
18830
18831 2022-07-22 Richard Biener <rguenther@suse.de>
18832
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.
18837
18838 2022-07-22 Richard Biener <rguenther@suse.de>
18839
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.
18848
18849 2022-07-22 Richard Biener <rguenther@suse.de>
18850
18851 PR tree-optimization/106387
18852 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
18853 if ptr is not an SSA name.
18854
18855 2022-07-22 liuhongt <hongtao.liu@intel.com>
18856
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.
18868
18869 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
18870
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.
18880
18881 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
18882
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.
18903
18904 2022-07-21 Sam Feifer <sfeifer@redhat.com>
18905
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.
18909
18910 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18911
18912 Revert:
18913 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18914
18915 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
18916 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
18917
18918 2022-07-21 Richard Biener <rguenther@suse.de>
18919
18920 PR tree-optimization/106379
18921 * match.pd (~(a ^ b) -> a == b): New pattern.
18922
18923 2022-07-21 Richard Biener <rguenther@suse.de>
18924
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.
18932
18933 2022-07-21 Richard Biener <rguenther@suse.de>
18934
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.
18944
18945 2022-07-21 Richard Biener <rguenther@suse.de>
18946
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.
18952
18953 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
18954
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.
18961
18962 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
18963
18964 * rtl.h (remove_node_from_expr_list): Remove declaration.
18965 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
18966
18967 2022-07-20 Richard Biener <rguenther@suse.de>
18968
18969 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
18970 invariant updated address when the input was invariant.
18971
18972 2022-07-20 liuhongt <hongtao.liu@intel.com>
18973
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.
18984
18985 2022-07-20 Richard Biener <richard.guenther@gmail.com>
18986 Hongtao Liu <hongtao.liu@intel.com>
18987
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.
18992
18993 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
18994
18995 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
18996 for incoming ranges on join nodes and add to worklist.
18997
18998 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
18999
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.
19004
19005 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
19006
19007 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
19008 returns_twice calls.
19009
19010 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
19011
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.
19015
19016 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
19017
19018 * tree-ssa-sink.cc (select_best_block): Punt if selected block
19019 has incoming abnormal edges.
19020
19021 2022-07-19 Martin Liska <mliska@suse.cz>
19022
19023 * doc/extend.texi: Remove trailing :.
19024
19025 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19026
19027 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
19028 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
19029
19030 2022-07-19 Richard Biener <rguenther@suse.de>
19031
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.
19036
19037 2022-07-19 Richard Biener <rguenther@suse.de>
19038
19039 PR lto/106334
19040 * dwarf2out.cc (dwarf2out_register_external_die): Allow
19041 map entry re-use during WPA.
19042
19043 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
19044 Richard Biener <rguenther@suse.de>
19045
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.
19051
19052 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19053
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.
19058
19059 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
19060
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.
19066
19067 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
19068
19069 * doc/invoke.texi (RISC-V Options): Add index references for
19070 `mrelax' and `mriscv-attribute'.
19071
19072 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
19073
19074 * doc/invoke.texi (Option Summary): Add missing second space
19075 around `-mstack-protector-guard-reg='.
19076
19077 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
19078
19079 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
19080 (RISC-V Options): Likewise, and `-mriscv-attribute'.
19081
19082 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
19083
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.
19103
19104 2022-07-18 Richard Biener <rguenther@suse.de>
19105
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.
19109
19110 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
19111
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.
19126
19127 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
19128
19129 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
19130 pointer first when in interrupts.
19131
19132 2022-07-18 Richard Biener <rguenther@suse.de>
19133
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.
19142
19143 2022-07-18 Richard Ball <richard.ball@arm.com>
19144
19145 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
19146 (aarch64_evpc_uzp): Likewise.
19147 (aarch64_evpc_zip): Likewise.
19148
19149 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
19150
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.
19156
19157 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
19158
19159 * config/i386/predicates.md (x86_64_const_vector_operand):
19160 Check the operand's mode matches the specified mode argument.
19161
19162 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
19163
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.
19170
19171 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19172
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.
19183
19184 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19185
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.
19191
19192 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
19193
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.
19198
19199 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
19200
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.
19205
19206 2022-07-15 David Malcolm <dmalcolm@redhat.com>
19207
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.
19211
19212 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
19213
19214 * config/aarch64/aarch64-builtins.cc
19215 (enum aarch64_type_qualifiers): Remove qualifier_internal.
19216 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
19217
19218 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
19219
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.
19232
19233 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
19234
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.
19244
19245 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
19246
19247 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
19248
19249 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
19250
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.
19263
19264 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
19265
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.
19272
19273 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
19274
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.
19285
19286 2022-07-15 konglin1 <lingling.kong@intel.com>
19287
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.
19297
19298 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19299
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.
19302
19303 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
19304
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.
19311
19312 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
19313
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.
19322
19323 2022-07-14 Martin Liska <mliska@suse.cz>
19324
19325 * doc/gimple.texi: Close properly a deftypefn.
19326
19327 2022-07-14 Martin Liska <mliska@suse.cz>
19328
19329 * doc/gimple.texi: Close properly a deftypefn.
19330
19331 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
19332
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.
19338
19339 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
19340
19341 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
19342
19343 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
19344
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.
19349
19350 2022-07-13 Richard Biener <rguenther@suse.de>
19351
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.
19363
19364 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
19365
19366 * config/aarch64/aarch64-builtins.cc
19367 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
19368
19369 2022-07-13 Richard Biener <rguenther@suse.de>
19370
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.
19376
19377 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
19378
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.
19385
19386 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
19387
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.
19409
19410 2022-07-12 Richard Biener <rguenther@suse.de>
19411
19412 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
19413 Remove.
19414 (vect_do_peeling): Do not call it, adjust comment.
19415
19416 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
19417
19418 * config/aarch64/aarch64-builtins.cc
19419 (aarch64_builtin_vectorized_function): Remove handling of
19420 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
19421
19422 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
19423
19424 PR tree-optimization/106234
19425 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
19426 cache value before recursively resolving it.
19427
19428 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
19429
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.
19472
19473 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
19474
19475 PR tree-optimization/106250
19476 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
19477 argument to directly_supported_p.
19478
19479 2022-07-11 Richard Biener <rguenther@suse.de>
19480
19481 * tree-into-ssa.cc (update_ssa): Do not forcefully
19482 re-compute dominance fast queries for TODO_update_ssa_no_phi.
19483
19484 2022-07-11 Richard Biener <rguenther@suse.de>
19485
19486 PR tree-optimization/106228
19487 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
19488 VUSE compute for the non-loop case.
19489
19490 2022-07-11 Richard Biener <rguenther@suse.de>
19491
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.
19504
19505 2022-07-11 Richard Biener <rguenthert@suse.de>
19506
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.
19511
19512 2022-07-11 Richard Biener <rguenther@suse.de>
19513
19514 PR tree-optimization/106228
19515 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
19516 set a VUSE operand on the emitted load.
19517
19518 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
19519
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.
19558
19559 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
19560
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.
19579
19580 2022-07-10 Xi Ruoyao <xry111@xry111.site>
19581
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.
19585
19586 2022-07-10 Xi Ruoyao <xry111@xry111.site>
19587
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.
19597
19598 2022-07-10 Xi Ruoyao <xry111@xry111.site>
19599
19600 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
19601 instead of mul.d.
19602
19603 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
19604
19605 * value-range.cc (irange::irange_single_pair_union): Set
19606 VR_VARYING when appropriate.
19607
19608 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
19609
19610 * stor-layout.cc (finalize_record_size): Extend warning message.
19611
19612 2022-07-09 Sam Feifer <sfeifer@redhat.com>
19613
19614 PR tree-optimization/98304
19615 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
19616
19617 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
19618
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.
19622
19623 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
19624
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...
19629
19630 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
19631
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.
19637
19638 2022-07-09 Tamar Christina <tamar.christina@arm.com>
19639
19640 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
19641 indicate that the value is not undefined.
19642
19643 2022-07-09 Andrew Pinski <apinski@marvell.com>
19644
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.
19648
19649 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
19650
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.
19656
19657 2022-07-08 Martin Liska <mliska@suse.cz>
19658
19659 PR sanitizer/106132
19660 * opts.cc (finish_options): Use 2 calls to
19661 report_conflicting_sanitizer_options.
19662
19663 2022-07-08 Richard Biener <rguenther@suse.de>
19664
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.
19677
19678 2022-07-08 Martin Liska <mliska@suse.cz>
19679
19680 * toplev.cc (init_asm_output): Do not init asm_out_file.
19681
19682 2022-07-08 Tamar Christina <tamar.christina@arm.com>
19683
19684 PR tree-optimization/106063
19685 * match.pd: Do not apply pattern after veclower is not supported.
19686
19687 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
19688
19689 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
19690 'fn2' computation.
19691
19692 2022-07-08 Tamar Christina <tamar.christina@arm.com>
19693
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.
19722
19723 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
19724
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.
19729
19730 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
19731
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.
19736
19737 2022-07-07 David Malcolm <dmalcolm@redhat.com>
19738
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.
19753
19754 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
19755
19756 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
19757
19758 2022-07-07 Richard Biener <rguenther@suse.de>
19759
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.
19766
19767 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
19768
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'.
19773
19774 2022-07-07 Richard Biener <rguenther@suse.de>
19775
19776 PR target/106219
19777 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
19778 set DECL_PURE_P.
19779
19780 2022-07-07 Richard Biener <rguenther@suse.de>
19781
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.
19788
19789 2022-07-07 Richard Biener <rguenther@suse.de>
19790
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.
19803
19804 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
19805
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.
19810
19811 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
19812
19813 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
19814 '[...]_data'.
19815 * config/nvptx/mkoffload.cc (process): Likewise.
19816
19817 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
19818
19819 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
19820
19821 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
19822
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.
19828
19829 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
19830
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.
19837
19838 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
19839 Hongtao Liu <hongtao.liu@intel.com>
19840
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).
19851
19852 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
19853 Uroš Bizjak <ubizjak@gmail.com>
19854
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.
19858
19859 2022-07-05 Richard Biener <rguenther@suse.de>
19860
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.
19865
19866 2022-07-05 Richard Biener <rguenther@suse.de>
19867
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.
19873
19874 2022-07-05 Richard Biener <rguenther@suse.de>
19875
19876 PR tree-optimization/106186
19877 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
19878 Properly handle virtual PHI nodes.
19879
19880 2022-07-05 Richard Biener <rguenther@suse.de>
19881
19882 PR tree-optimization/106196
19883 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
19884 handle aggregate returns of calls for VDEF updates.
19885
19886 2022-07-05 Richard Biener <rguenther@suse.de>
19887
19888 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
19889 Maintain LC SSA.
19890
19891 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
19892
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.
19905
19906 2022-07-05 Richard Biener <rguenther@suse.de>
19907
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.
19913
19914 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
19915
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.
19922
19923 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
19924
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.
19945
19946 2022-07-04 Martin Jambor <mjambor@suse.cz>
19947
19948 PR tree-optimization/105860
19949 * tree-sra.cc (build_reconstructed_reference): Start expr
19950 traversal only just below the outermost union.
19951
19952 2022-07-04 Richard Biener <rguenther@suse.de>
19953
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.
19960
19961 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
19962 Chung-Lin Tang <cltang@codesourcery.com>
19963 Thomas Schwinge <thomas@codesourcery.com>
19964
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.
19975
19976 2022-07-04 Richard Biener <rguenther@suse.de>
19977
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.
19985
19986 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
19987
19988 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
19989 for direct circularity.
19990
19991 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
19992
19993 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
19994 the language for vector types.
19995
19996 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
19997
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.
20023
20024 2022-07-04 Richard Biener <rguenther@suse.de>
20025
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.
20052
20053 2022-07-04 Richard Biener <rguenther@suse.de>
20054
20055 PR tree-optimization/106055
20056 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
20057 we can propagate.
20058
20059 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
20060
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.
20065
20066 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
20067
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.
20084
20085 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
20086
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.
20096
20097 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
20098
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.
20123
20124 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
20125
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.
20131
20132 2022-07-03 Xi Ruoyao <xry111@xry111.site>
20133 Lulu Cheng <chenglulu@loongson.cn>
20134
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.
20143
20144 2022-07-03 Ian Lance Taylor <iant@golang.org>
20145
20146 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
20147 statement if -fdelete-dead-exceptions.
20148
20149 2022-07-02 Tim Lange <mail@tim-lange.me>
20150
20151 PR analyzer/105900
20152 * doc/invoke.texi: Added Wanalyzer-allocation-size.
20153
20154 2022-07-02 Immad Mir <mirimmad17@gmail.com>
20155
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.
20161
20162 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
20163
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.
20167
20168 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
20169
20170 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
20171 Use "r" constraint for operand 1.
20172
20173 2022-07-01 Richard Biener <rguenther@suse.de>
20174
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.
20181
20182 2022-07-01 Richard Biener <rguenther@suse.de>
20183
20184 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
20185 back to using maybe_ne (off, -1).
20186
20187 2022-07-01 Richard Biener <rguenther@suse.de>
20188
20189 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
20190 checking dominance check conditional on flag_checking.
20191
20192 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
20193
20194 * config/gcn/gcn-protos.h (print_operand_address): Remove register
20195 keyword on 'rtx addr' argument.
20196
20197 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
20198 Uroš Bizjak <ubizjak@gmail.com>
20199
20200 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
20201 to post-reload define_insn_and_split.
20202
20203 2022-07-01 Jakub Jelinek <jakub@redhat.com>
20204
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.
20210
20211 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
20212
20213 PR target/106122
20214 * config/i386/i386.md (peephole2): Avoid generating pop %esp
20215 when optimizing for size.
20216
20217 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
20218 Uroš Bizjak <ubizjak@gmail.com>
20219
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.
20243
20244 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
20245
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.
20250
20251 2022-07-01 Richard Biener <rguenther@suse.de>
20252
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.
20257
20258 2022-07-01 Martin Liska <mliska@suse.cz>
20259
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.
20266
20267 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
20268
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.
20273
20274 2022-06-30 Joseph Myers <joseph@codesourcery.com>
20275
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.
20284
20285 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
20286
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.
20295
20296 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
20297 Uroš Bizjak <ubizjak@gmail.com>
20298
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).
20306
20307 2022-06-30 Richard Biener <rguenther@suse.de>
20308
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.
20317
20318 2022-06-30 Martin Liska <mliska@suse.cz>
20319
20320 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
20321 it is unused.
20322
20323 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
20324
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.
20328
20329 2022-06-30 Antoni Boucher <bouanto@zoho.com>
20330
20331 PR target/106095
20332 * config/i386/sse.md: Fix asm generation.
20333
20334 2022-06-29 Sergei Trofimovich <siarheit@google.com>
20335
20336 PR c++/106102
20337 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
20338
20339 2022-06-29 Joseph Myers <joseph@codesourcery.com>
20340
20341 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
20342 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
20343
20344 2022-06-29 Richard Biener <rguenther@suse.de>
20345
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.
20349
20350 2022-06-29 Richard Biener <rguenther@suse.de>
20351
20352 PR tree-optimization/106112
20353 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
20354 a constant operand according to its type.
20355
20356 2022-06-29 Martin Liska <mliska@suse.cz>
20357
20358 * doc/invoke.texi: Remove removed evrp-mode.
20359
20360 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
20361
20362 PR target/106097
20363 * config/loongarch/loongarch.cc (loongarch_build_integer):
20364 Remove undefined behavior from code.
20365
20366 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
20367
20368 * doc/sourcebuild.texi: Document new no_alignment_constraints
20369 effective target check.
20370
20371 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
20372
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.
20381
20382 2022-06-28 Alexandre Oliva <oliva@adacore.com>
20383
20384 * Makefile.in (TFLAGS): New.
20385 (GCC_FOR_TARGET): Add TFLAGS.
20386 (FLAGS_TO_PASS): Pass TFLAGS down.
20387
20388 2022-06-28 Richard Biener <rguenther@suse.de>
20389
20390 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
20391 call update_ssa.
20392
20393 2022-06-28 Richard Biener <rguenther@suse.de>
20394
20395 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
20396 mark_block_for_update.
20397 (update_ssa): Adjust.
20398
20399 2022-06-28 Xi Ruoyao <xry111@xry111.site>
20400
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.
20406
20407 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
20408
20409 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
20410 irange::supports_p.
20411
20412 2022-06-28 Richard Biener <rguenther@suse.de>
20413
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.
20417
20418 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
20419
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.
20424
20425 2022-06-27 David Malcolm <dmalcolm@redhat.com>
20426
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.
20437
20438 2022-06-27 David Malcolm <dmalcolm@redhat.com>
20439
20440 * config/i386/i386-features.h: Add "final" and "override" to
20441 scalar_chain vfunc implementations as appropriate.
20442
20443 2022-06-27 David Malcolm <dmalcolm@redhat.com>
20444
20445 * tree-switch-conversion.h: Add "final" and "override" to cluster
20446 vfunc implementations as appropriate.
20447
20448 2022-06-27 David Malcolm <dmalcolm@redhat.com>
20449
20450 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
20451 implementations as appropriate.
20452
20453 2022-06-27 David Malcolm <dmalcolm@redhat.com>
20454
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.
20468
20469 2022-06-27 David Malcolm <dmalcolm@redhat.com>
20470
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.
20619
20620 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
20621
20622 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
20623 (jump): Likewise.
20624 (movdi_symbol_save_scc): Likewise.
20625
20626 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
20627
20628 PR rtl-optimization/7061
20629 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
20630
20631 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
20632
20633 PR tree-optimization/94026
20634 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
20635 (((X >> C1) & C2) eq/ne C3): Likewise.
20636
20637 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
20638
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.
20646
20647 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20648
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.
20653
20654 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
20655
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.
20680
20681 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
20682
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.
20727
20728 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
20729 Richard Biener <rguenther@suse.de>
20730
20731 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
20732 iteration over each basic block that was updated by the second
20733 iteration.
20734
20735 2022-06-24 Jason Merrill <jason@redhat.com>
20736
20737 PR c++/87729
20738 PR c++/20423
20739 * doc/invoke.texi: Document changes.
20740
20741 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
20742
20743 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
20744 condition to avoid overflow.
20745
20746 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20747
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.
20765
20766 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20767
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.
20804
20805 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20806
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.
20818
20819 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20820
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.
20838
20839 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
20840
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.
20844
20845 2022-06-24 Richard Biener <rguenther@suse.de>
20846
20847 PR middle-end/106070
20848 * match.pd (a != b ? a : b): Fix translation of
20849 operand_equal_for_comparison_p.
20850
20851 2022-06-24 Jan Hubicka <jh@suse.cz>
20852
20853 PR ipa/106057
20854 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
20855
20856 2022-06-24 Martin Liska <mliska@suse.cz>
20857
20858 PR middle-end/106059
20859 * profile-count.h: *= and /= operators need to modify this
20860 object.
20861
20862 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
20863 Uroš Bizjak <ubizjak@gmail.com>
20864
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).
20869
20870 2022-06-24 Alexandre Oliva <oliva@adacore.com>
20871
20872 * common.opt (nostdlib++): New.
20873 * doc/invoke.texi (-nostdlib++): Document it.
20874
20875 2022-06-24 Alexandre Oliva <oliva@adacore.com>
20876
20877 * doc/sourcebuild.texi (Environment attributes): Document
20878 two_plus_gigs.
20879
20880 2022-06-23 David Malcolm <dmalcolm@redhat.com>
20881
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.
20901
20902 2022-06-23 Martin Liska <mliska@suse.cz>
20903
20904 PR c++/106062
20905 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
20906 in order to initialize UBSAN built-ins.
20907
20908 2022-06-23 Martin Liska <mliska@suse.cz>
20909
20910 PR ipa/105600
20911 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
20912 Skip variables with body_removed.
20913
20914 2022-06-23 liuhongt <hongtao.liu@intel.com>
20915
20916 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
20917 reg_or_subregno.
20918 (sse4_2_pcmpistr): Ditto.
20919
20920 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
20921
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.
20926
20927 2022-06-22 Jason Merrill <jason@redhat.com>
20928
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.
20960
20961 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
20962
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.
20966
20967 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
20968
20969 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
20970
20971 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
20972
20973 * config/xtensa/xtensa.md (bswapsi2_internal):
20974 Enlarge the buffer that is obviously smaller than the template
20975 string given to sprintf().
20976
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>
20981
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.
20987
20988 2022-06-21 Nathan Sidwell <nathan@acm.org>
20989
20990 * doc/invoke.texi (C++ Modules): Remove language-linkage
20991 as missing feature.
20992
20993 2022-06-21 Arjun Shankar <arjun@redhat.com>
20994
20995 PR tree-optimization/94899
20996 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
20997 0x80000000): New simplification.
20998
20999 2022-06-21 Jakub Jelinek <jakub@redhat.com>
21000
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.
21004
21005 2022-06-21 Jakub Jelinek <jakub@redhat.com>
21006
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.
21010
21011 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
21012
21013 PR target/105740
21014 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
21015 condition bb.
21016
21017 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
21018
21019 PR tree-optimization/105736
21020 * tree-object-size.cc (addr_object_size): Return size_unknown
21021 when object offset computation returns an error.
21022
21023 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
21024
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.
21028
21029 2022-06-20 Richard Biener <rguenther@suse.de>
21030
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.
21036
21037 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
21038
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.
21048
21049 2022-06-20 Martin Liska <mliska@suse.cz>
21050
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.
21085
21086 2022-06-20 yulong <shiyulong@iscas.ac.cn>
21087
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.
21093
21094 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21095
21096 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
21097 Consider relaxed MOVI instructions as L32R.
21098
21099 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21100
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.
21112
21113 2022-06-18 Jakub Jelinek <jakub@redhat.com>
21114
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.
21149
21150 2022-06-18 Jakub Jelinek <jakub@redhat.com>
21151
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.
21156
21157 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
21158
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.
21165
21166 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21167
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.
21174
21175 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
21176
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.
21184
21185 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
21186
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.
21190
21191 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
21192
21193 PR target/105993
21194 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
21195 instead of REGNO comparisons in combine splitter.
21196
21197 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
21198
21199 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
21200 types.
21201
21202 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
21203
21204 * config/riscv/bitmanip.md: Supress warning.
21205
21206 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
21207
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.
21211
21212 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
21213
21214 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
21215 to avoid spilling trivial literals to the constant pool.
21216
21217 2022-06-16 David Malcolm <dmalcolm@redhat.com>
21218
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.
21228
21229 2022-06-16 Jason Merrill <jason@redhat.com>
21230
21231 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
21232 opts_set->x_flag_sanitize.
21233
21234 2022-06-16 Jason Merrill <jason@redhat.com>
21235
21236 * flags.h (issue_strict_overflow_warning): Comment #endif.
21237
21238 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
21239
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.
21244
21245 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
21246
21247 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
21248
21249 2022-06-16 Jakub Jelinek <jakub@redhat.com>
21250
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.
21255
21256 2022-06-16 Jakub Jelinek <jakub@redhat.com>
21257
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.
21263
21264 2022-06-16 Jakub Jelinek <jakub@redhat.com>
21265
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.
21278
21279 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
21280
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.
21307
21308 2022-06-16 Martin Liska <mliska@suse.cz>
21309
21310 * gengtype-state.cc (read_a_state_token): Do not skip extra
21311 character after escaped sequence.
21312
21313 2022-06-16 Martin Liska <mliska@suse.cz>
21314
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.
21319
21320 2022-06-16 liuhongt <hongtao.liu@intel.com>
21321
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.
21326
21327 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21328
21329 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
21330
21331 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21332
21333 * config/xtensa/predicates.md (reload_operand):
21334 New predicate.
21335 * config/xtensa/xtensa.md: New peephole2 pattern.
21336
21337 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21338
21339 * config/xtensa/xtensa.md (*round_up_to_even):
21340 New insn-and-split pattern.
21341 (*signed_ge_zero): Ditto.
21342
21343 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21344
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.
21364
21365 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21366
21367 * doc/invoke.texi: Document -mextra-l32r-costs= option.
21368
21369 2022-06-15 David Malcolm <dmalcolm@redhat.com>
21370
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.
21377
21378 2022-06-15 David Malcolm <dmalcolm@redhat.com>
21379
21380 * value-relation.h: Add "final" and "override" to relation_oracle
21381 vfunc implementations as appropriate.
21382
21383 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
21384
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.
21429
21430 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
21431
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.
21436
21437 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
21438
21439 PR target/105974
21440 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
21441
21442 2022-06-15 Richard Biener <rguenther@suse.de>
21443
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.
21448
21449 2022-06-15 Richard Biener <rguenther@suse.de>
21450
21451 PR tree-optimization/105969
21452 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
21453 by zero in overflow check.
21454
21455 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
21456
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.
21465
21466 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
21467
21468 * read-rtl.cc (find_int): Substitute symbolic constants
21469 before converting the string to an integer.
21470
21471 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
21472 Richard Biener <rguenther@suse.de>
21473
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.
21480
21481 2022-06-15 liuhongt <hongtao.liu@intel.com>
21482
21483 PR target/105953
21484 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
21485 operands[3].
21486
21487 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
21488
21489 PR rtl-optimization/105041
21490 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
21491
21492 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
21493
21494 * config/rs6000/vsx.md (VS_scalar): Delete.
21495 (rest of file): Adjust.
21496
21497 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
21498
21499 PR ipa/105739
21500 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
21501
21502 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
21503
21504 * config/riscv/bitmanip.md: Add split to handle opportunities
21505 for slli + sh[123]add.uw
21506
21507 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
21508
21509 * config/riscv/predicates.md (consecutive_bits_operand):
21510 Implement new predicate.
21511
21512 2022-06-14 Richard Biener <rguenther@suse.de>
21513
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.
21517
21518 2022-06-14 Richard Biener <rguenther@suse.de>
21519
21520 PR middle-end/105965
21521 * match.pd (view_convert CONSTRUCTOR): Handle single-element
21522 CTOR case.
21523
21524 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
21525
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.
21531
21532 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
21533
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.
21537
21538 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21539
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.
21547
21548 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21549
21550 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
21551
21552 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21553
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.
21571
21572 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21573
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.
21589
21590 2022-06-13 Jason Merrill <jason@redhat.com>
21591
21592 * tree-cfg.cc (pass_warn_function_return::execute): Also check
21593 BUILT_IN_TRAP.
21594
21595 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
21596
21597 * config/riscv/riscv.md (length): Remove the explicit setting
21598 for "fcmp".
21599
21600 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
21601
21602 * common/config/i386/cpuinfo.h (get_available_features): Require
21603 AVX for F16C and VAES.
21604
21605 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
21606
21607 PR target/105927
21608 * config/i386/predicates.md (register_no_elim_operand):
21609 Return true for subreg of a memory operand.
21610
21611 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
21612
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.
21643
21644 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
21645
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.
21657
21658 2022-06-13 Jakub Jelinek <jakub@redhat.com>
21659
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.
21663
21664 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
21665
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.
21672
21673 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
21674
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}.
21679
21680 2022-06-13 Jakub Jelinek <jakub@redhat.com>
21681
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.
21687
21688 2022-06-12 Simon Wright <simon@pushface.org>
21689
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.
21694
21695 2022-06-12 Mark Mentovai <mark@mentovai.com>
21696
21697 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
21698
21699 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
21700
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.
21717
21718 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21719
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.
21729
21730 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21731
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.
21747
21748 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21749
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,
21753
21754 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21755
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.
21761
21762 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
21763
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.
21767
21768 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
21769
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.
21776
21777 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21778
21779 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
21780
21781 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21782
21783 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
21784 New insn_and_split pattern.
21785
21786 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21787
21788 * config/xtensa/xtensa.md (one_cmplsi2):
21789 Rearrange as an insn_and_split pattern.
21790
21791 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
21792
21793 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
21794
21795 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
21796
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.
21806
21807 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
21808
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.
21813
21814 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
21815
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.
21819
21820 2022-06-09 Jakub Jelinek <jakub@redhat.com>
21821
21822 * doc/invoke.texi (-Waddress): Fix a typo in small example.
21823 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
21824
21825 2022-06-09 Cui,Lili <lili.cui@intel.com>
21826
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}.
21835
21836 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
21837
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.
21841
21842 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
21843
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.
21848
21849 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
21850
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.
21856
21857 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
21858
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.
21863
21864 2022-06-08 liuhongt <hongtao.liu@intel.com>
21865
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.
21875
21876 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
21877
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.
21887
21888 2022-06-07 liuhongt <hongtao.liu@intel.com>
21889
21890 PR target/105854
21891 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
21892 from Yv to Yw.
21893
21894 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
21895
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.
21906
21907 2022-06-07 Jan Beulich <jbeulich@suse.com>
21908
21909 Revert:
21910 2022-06-03 Jan Beulich <jbeulich@suse.com>
21911
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.
21918
21919 2022-06-07 Jakub Jelinek <jakub@redhat.com>
21920
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.
21925
21926 2022-06-07 Jan Beulich <jbeulich@suse.com>
21927
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.
21934
21935 2022-06-07 Jan Beulich <jbeulich@suse.com>
21936
21937 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
21938 into account for reg-only insns.
21939
21940 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
21941
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.
21947
21948 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
21949
21950 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
21951 parameter ORDER.
21952
21953 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
21954
21955 * config.in: Regenerate.
21956 * configure: Regenerate.
21957 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
21958
21959 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
21960
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.
21977
21978 2022-06-04 Jakub Jelinek <jakub@redhat.com>
21979
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.
21985
21986 2022-06-03 Jakub Jelinek <jakub@redhat.com>
21987
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.
21992
21993 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
21994
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.
22000
22001 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
22002
22003 * value-range.h (struct vrange_traits): Remove.
22004 (is_a): Rewrite without vrange_traits.
22005 (as_a): Same.
22006
22007 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
22008
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.
22039
22040 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
22041
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.
22082
22083 2022-06-03 Jan Beulich <jbeulich@suse.com>
22084
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.
22091
22092 2022-06-03 Jan Beulich <jbeulich@suse.com>
22093
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.
22098
22099 2022-06-03 Alexandre Oliva <oliva@adacore.com>
22100
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.
22108
22109 2022-06-02 David Malcolm <dmalcolm@redhat.com>
22110
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.
22167
22168 2022-06-02 David Malcolm <dmalcolm@redhat.com>
22169
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.
22200
22201 2022-06-02 David Malcolm <dmalcolm@redhat.com>
22202
22203 * json.cc (string::print): Fix escaping of '\'.
22204
22205 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
22206
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).
22213
22214 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
22215
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.
22219
22220 2022-06-02 Jakub Jelinek <jakub@redhat.com>
22221
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.
22258
22259 2022-06-02 Richard Biener <rguenther@suse.de>
22260
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.
22272
22273 2022-06-02 Richard Biener <rguenther@suse.de>
22274
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.
22278
22279 2022-06-01 David Seifert <soap@gentoo.org>
22280
22281 PR plugins/95648
22282 * configure: Regenerate.
22283
22284 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
22285
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.
22297
22298 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
22299
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.
22323
22324 2022-06-01 Jakub Jelinek <jakub@redhat.com>
22325
22326 PR middle-end/30314
22327 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
22328 x > ~(utype)0 / cst): New simplification.
22329
22330 2022-06-01 Richard Biener <rguenther@suse.de>
22331
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.
22336
22337 2022-06-01 Jakub Jelinek <jakub@redhat.com>
22338
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.
22342
22343 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
22344
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.
22475
22476 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
22477
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.
22509
22510 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
22511
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.
22589
22590 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
22591
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.
22601
22602 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
22603
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.
22657
22658 2022-06-01 Richard Biener <rguenther@suse.de>
22659
22660 PR tree-optimization/105763
22661 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
22662 Check gimple_range_ssa_p.
22663
22664 2022-05-31 Jason Merrill <jason@redhat.com>
22665
22666 * Makefile.in (TAGS): Look at libcpp/*.cc.
22667
22668 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
22669
22670 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
22671 Prefix mode names with E_.
22672
22673 2022-05-31 Alan Modra <amodra@gmail.com>
22674
22675 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
22676 spelling of DW_AT_namelist_item.
22677
22678 2022-05-31 Jakub Jelinek <jakub@redhat.com>
22679
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.
22684
22685 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
22686
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.
22690
22691 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
22692
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.
22701
22702 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
22703
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.
22707
22708 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
22709
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.
22732
22733 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
22734
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.
22754
22755 2022-05-30 Jan Beulich <jbeulich@suse.com>
22756
22757 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
22758 arguments.
22759
22760 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
22761
22762 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
22763
22764 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
22765
22766 PR target/105599
22767 * config/darwin.h: Move versions-specific handling of multiply_defined
22768 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
22769
22770 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
22771
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.
22777
22778 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
22779
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.
22786
22787 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
22788
22789 PR target/103722
22790 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
22791 is special) for various scenarios.
22792
22793 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
22794
22795 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
22796 describing this macro.
22797
22798 2022-05-27 Richard Biener <rguenther@suse.de>
22799
22800 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
22801
22802 2022-05-27 Martin Jambor <mjambor@suse.cz>
22803
22804 PR ipa/105639
22805 * ipa-prop.cc (propagate_controlled_uses): Check type of the
22806 constant before adding a LOAD reference.
22807
22808 2022-05-27 Jakub Jelinek <jakub@redhat.com>
22809
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.
22821
22822 2022-05-27 Richard Biener <rguenther@suse.de>
22823
22824 PR tree-optimization/105726
22825 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
22826 Constrain array-of-flexarray case more.
22827
22828 2022-05-27 Jakub Jelinek <jakub@redhat.com>
22829
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.
22833
22834 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
22835
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.
22844
22845 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
22846
22847 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
22848 to split a combined "and;cmp" sequence into "not;test".
22849
22850 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22851
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.
22858
22859 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22860
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.
22869
22870 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22871
22872 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
22873 Make instruction counting more accurate, and simplify emitting insns.
22874
22875 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22876
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.
22885
22886 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
22887
22888 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
22889 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
22890 Ditto.
22891
22892 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
22893
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.
22898
22899 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
22900
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.
22921
22922 2022-05-25 Simon Cook <simon.cook@embecosm.com>
22923
22924 * config/riscv/arch-canonicalize: Only add mafd extension if
22925 base was rv32/rv64g.
22926
22927 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
22928
22929 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
22930
22931 2022-05-25 Jakub Jelinek <jakub@redhat.com>
22932
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.
22937
22938 2022-05-25 Martin Liska <mliska@suse.cz>
22939 Richard Biener <rguenther@suse.de>
22940
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.
22971
22972 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
22973
22974 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
22975 counts for the epilog loop.
22976
22977 2022-05-24 Martin Sebor <msebor@redhat.com>
22978 Richard Biener <rguenther@suse.de>
22979
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.
22988
22989 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
22990
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.
23030
23031 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
23032
23033 PR target/104816
23034 * config/i386/i386.opt: Remove Undocumented.
23035 * doc/invoke.texi: Document -mcet-switch.
23036
23037 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
23038
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.
23069
23070 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
23071
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.
23107
23108 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
23109
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.
23113
23114 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
23115
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.
23123
23124 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
23125
23126 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
23127 to strncmp for strings of length one.
23128
23129 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
23130
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.
23146
23147 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
23148
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.
23157
23158 2022-05-24 David Malcolm <dmalcolm@redhat.com>
23159
23160 * tree-vect-slp-patterns.cc: Add "final" and "override" to
23161 vect_pattern::build impls as appropriate.
23162
23163 2022-05-24 David Malcolm <dmalcolm@redhat.com>
23164
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.
23177
23178 2022-05-24 Martin Liska <mliska@suse.cz>
23179
23180 Revert:
23181 2022-05-24 Martin Liska <mliska@suse.cz>
23182
23183 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
23184 warning.
23185
23186 2022-05-24 Martin Liska <mliska@suse.cz>
23187
23188 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
23189 warning.
23190
23191 2022-05-24 Bruno Haible <bruno@clisp.org>
23192
23193 PR other/105527
23194 * doc/install.texi (Configuration): Add more details about --with-zstd.
23195 Document --with-zstd-include and --with-zstd-lib
23196
23197 2022-05-24 Richard Biener <rguenther@suse.de>
23198
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.
23204
23205 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
23206
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.
23214
23215 2022-05-24 Jakub Jelinek <jakub@redhat.com>
23216
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.
23225
23226 2022-05-24 Richard Biener <rguenther@suse.de>
23227
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.
23231
23232 2022-05-24 Richard Biener <rguenther@suse.de>
23233
23234 PR tree-optimization/105629
23235 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
23236 a sign-extending conversion.
23237
23238 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
23239
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.
23244
23245 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
23246
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.
23252
23253 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
23254
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.
23314
23315 2022-05-23 Martin Liska <mliska@suse.cz>
23316
23317 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
23318
23319 2022-05-23 Richard Biener <rguenther@suse.de>
23320
23321 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
23322 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
23323
23324 2022-05-23 Richard Biener <rguenther@suse.de>
23325
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.
23334
23335 2022-05-23 Richard Biener <rguenther@suse.de>
23336
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.
23364
23365 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
23366
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.
23375
23376 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
23377
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.
23384
23385 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
23386
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.
23390
23391 2022-05-23 liuhongt <hongtao.liu@intel.com>
23392
23393 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
23394 <-> mask cost from 5 to 6.
23395 (icelake_cost): Ditto.
23396
23397 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
23398
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.
23419
23420 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
23421
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.
23433
23434 2022-05-20 David Malcolm <dmalcolm@redhat.com>
23435
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.
23463
23464 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
23465
23466 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
23467 target_memcpy_rect_async to omp_runtime_apis array.
23468
23469 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
23470
23471 * doc/sourcebuild.texi (Decimal floating point attributes): Document
23472 dfp_bid effective-target.
23473
23474 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
23475
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.
23507
23508 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
23509
23510 * configure: Regenerate.
23511
23512 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
23513
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.
23518
23519 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
23520
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.
23534
23535 2022-05-19 Richard Biener <rguenther@suse.de>
23536
23537 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
23538 computation of the new value.
23539
23540 2022-05-19 Richard Biener <rguenther@suse.de>
23541
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.
23546
23547 2022-05-19 David Malcolm <dmalcolm@redhat.com>
23548
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.
23553
23554 2022-05-19 Jakub Jelinek <jakub@redhat.com>
23555
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.
23560
23561 2022-05-19 Jakub Jelinek <jakub@redhat.com>
23562
23563 PR c/105635
23564 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
23565 doesn't have pointer or reference type.
23566
23567 2022-05-18 Marek Polacek <polacek@redhat.com>
23568
23569 PR c/105131
23570 * doc/invoke.texi: Document -Wenum-int-mismatch.
23571
23572 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
23573
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.
23577
23578 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
23579
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.
23583
23584 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
23585
23586 * config/i386/i386.md (define_split): Split *andsi_1
23587 and *andn_si_ccno after reload with -Oz.
23588
23589 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
23590
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.
23599
23600 2022-05-18 liuhongt <hongtao.liu@intel.com>
23601
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.
23610
23611 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
23612
23613 PR target/95737
23614 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
23615
23616 2022-05-18 liuhongt <hongtao.liu@intel.com>
23617
23618 PR target/104375
23619 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
23620 define_insn.
23621
23622 2022-05-18 liuhongt <hongtao.liu@intel.com>
23623
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.
23628
23629 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
23630 Segher Boessenkool <segher@kernel.crashing.org>
23631
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.
23638
23639 2022-05-17 Marek Polacek <polacek@redhat.com>
23640
23641 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
23642
23643 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
23644
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.
23648
23649 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
23650
23651 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
23652 target inside target if inner is reverse offload.
23653
23654 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
23655
23656 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
23657 * config/nvptx/mkoffload.cc (process): Likewise.
23658
23659 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
23660
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.
23692
23693 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
23694
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.
23700
23701 2022-05-17 Richard Biener <rguenther@suse.de>
23702
23703 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
23704 not clear bb->aux of the copied blocks.
23705
23706 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
23707
23708 PR tree-optimization/105458
23709 * value-relation.cc (path_oracle::register_relation): Merge, then check
23710 for equivalence.
23711
23712 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
23713
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.
23735
23736 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
23737
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'.
23742
23743 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
23744
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.
23749
23750 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
23751
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.
23755
23756 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
23757
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.
23761
23762 2022-05-17 Jakub Jelinek <jakub@redhat.com>
23763
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.
23770
23771 2022-05-17 Jakub Jelinek <jakub@redhat.com>
23772
23773 PR target/105613
23774 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
23775 andv4si3 only for EQ, for NE use iorv4si3 instead.
23776
23777 2022-05-17 Richard Biener <rguenther@suse.de>
23778
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.
23782
23783 2022-05-17 Jakub Jelinek <jakub@redhat.com>
23784
23785 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
23786 hanlde -> handle. Fix up comment formatting.
23787
23788 2022-05-17 liuhongt <hongtao.liu@intel.com>
23789
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.
23795
23796 2022-05-17 liuhongt <hongtao.liu@intel.com>
23797
23798 PR tree-optimization/105591
23799 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
23800 vec_perm_expr index.
23801
23802 2022-05-16 Jason Merrill <jason@redhat.com>
23803
23804 PR c/105492
23805 * attribs.cc (decl_attributes): Fix broken typedefs here.
23806
23807 2022-05-16 David Malcolm <dmalcolm@redhat.com>
23808
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.
23814
23815 2022-05-16 Richard Biener <rguenther@suse.de>
23816
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.
23834
23835 2022-05-16 Richard Biener <rguenther@suse.de>
23836
23837 * gimple-match.h (code_helper): Move class ...
23838 * tree.h (code_helper): ... here.
23839
23840 2022-05-16 Martin Liska <mliska@suse.cz>
23841
23842 * opts-global.cc (write_langs): Add comment.
23843
23844 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
23845
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.
23849
23850 2022-05-16 Martin Liska <mliska@suse.cz>
23851
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.
23894
23895 2022-05-16 Martin Liska <mliska@suse.cz>
23896
23897 * opts-global.cc (write_langs): Allocate at least one byte.
23898
23899 2022-05-16 Richard Biener <rguenther@suse.de>
23900
23901 * match.pd (A cmp B ? A : B -> min/max): New patterns
23902 carried over from fold_cond_expr_with_comparison.
23903
23904 2022-05-16 liuhongt <hongtao.liu@intel.com>
23905
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.
23910
23911 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
23912
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.
23932
23933 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
23934 Uroš Bizjak <ubizjak@gmail.com>
23935
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.
23942
23943 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
23944
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.
23950
23951 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
23952 Manolis Tsamis <manolis.tsamis@vrull.eu>
23953
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
23958
23959 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23960
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.
23964
23965 2022-05-13 Sebastian Pop <spop@amazon.com>
23966
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.
23973
23974 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
23975
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.
24015
24016 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
24017
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.
24023
24024 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
24025
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.
24030
24031 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
24032
24033 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
24034 had_global value instead.
24035
24036 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
24037
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.
24046
24047 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
24048
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.
24054
24055 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
24056
24057 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
24058
24059 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
24060
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.
24074
24075 2022-05-13 Alexandre Oliva <oliva@adacore.com>
24076
24077 * gimple-harden-conditionals.cc: Include sbitmap.h.
24078 (pass_harden_conditional_branches::execute): Skip new blocks.
24079 (pass_harden_compares::execute): Likewise.
24080
24081 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
24082
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.
24092
24093 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
24094
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.
24097
24098 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
24099
24100 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
24101 definition.
24102
24103 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
24104
24105 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
24106 extzvsi_internal): Rename from extv, extv_internal, extzv and
24107 extzv_internal, respectively.
24108
24109 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
24110
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.
24114
24115 2022-05-13 Richard Biener <rguenther@suse.de>
24116
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.
24177
24178 2022-05-13 Alexandre Oliva <oliva@adacore.com>
24179
24180 PR rtl-optimization/105455
24181 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
24182 probabilities for newly-conditional edges.
24183
24184 2022-05-13 liuhongt <hongtao.liu@intel.com>
24185
24186 PR tree-optimization/102583
24187 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
24188 contiguous stride in the VEC_PERM_EXPR.
24189
24190 2022-05-12 Richard Biener <rguenther@suse.de>
24191
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.
24195
24196 2022-05-12 Richard Biener <rguenther@suse.de>
24197
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.
24208
24209 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
24210
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.
24215
24216 2022-05-12 Jakub Jelinek <jakub@redhat.com>
24217
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.
24223
24224 2022-05-11 Patrick Palka <ppalka@redhat.com>
24225
24226 * tree.h (TREE_VEC_BEGIN): Define.
24227 (TREE_VEC_END): Correct 'length' member access.
24228 (class tree_vec_range): Define.
24229
24230 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
24231
24232 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
24233
24234 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
24235
24236 * config/rs6000/rs6000.md: Use d instead of <Ff>.
24237
24238 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
24239
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.
24247
24248 2022-05-11 Richard Biener <rguenther@suse.de>
24249
24250 * gimple-fold.h (gimple_build): Use variadic template
24251 functions for the gimple_build API forwarders without
24252 location_t argument.
24253
24254 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
24255
24256 PR middle-end/70090
24257 * asan.cc (initialize_sanitizer_builtins): Register
24258 __builtin_dynamic_object_size if necessary.
24259
24260 2022-05-11 Richard Biener <rguenther@suse.de>
24261
24262 PR rtl-optimization/105559
24263 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
24264 for non-debug insns.
24265
24266 2022-05-11 Richard Biener <rguenther@suse.de>
24267
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.
24272
24273 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
24274
24275 * doc/install.texi: Don't document '--with-hsa-runtime',
24276 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
24277
24278 2022-05-11 Martin Liska <mliska@suse.cz>
24279
24280 PR other/105527
24281 * doc/install.texi: Document the configure option --with-zstd.
24282
24283 2022-05-11 Martin Liska <mliska@suse.cz>
24284
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.
24290
24291 2022-05-11 Richard Biener <rguenther@suse.de>
24292
24293 PR bootstrap/105551
24294 * opts.cc (finish_options): Also disable var-tracking if
24295 !DWARF2_DEBUGGING_INFO.
24296
24297 2022-05-11 liuhongt <hongtao.liu@intel.com>
24298
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.
24308
24309 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
24310
24311 * config/rs6000/constraints.md (register constraint v): Use
24312 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
24313
24314 2022-05-11 Martin Liska <mliska@suse.cz>
24315
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.
24322
24323 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
24324
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.
24328
24329 2022-05-10 Jakub Jelinek <jakub@redhat.com>
24330
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.
24334
24335 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
24336
24337 * doc/md.texi (Defining Mode Iterators): Correct example replacement
24338 text.
24339
24340 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
24341
24342 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
24343 constants.
24344 (fmin<mode>3, fmax<mode>3): New insns.
24345
24346 2022-05-10 Richard Biener <rguenther@suse.de>
24347
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.
24352
24353 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
24354
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'.
24359
24360 2022-05-10 Richard Biener <rguenther@suse.de>
24361
24362 PR middle-end/105537
24363 * toplev.cc (process_options): Move flag_var_tracking
24364 handling ...
24365 * opts.cc (finish_options): ... here.
24366
24367 2022-05-10 Martin Liska <mliska@suse.cz>
24368
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.
24382
24383 2022-05-10 Richard Biener <rguenther@suse.de>
24384
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.
24390
24391 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
24392 Roger Sayle <roger@nextmovesoftware.com>
24393
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.
24399
24400 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
24401
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.
24405
24406 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
24407
24408 PR target/105292
24409 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
24410 true only for 8-byte vector modes.
24411
24412 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
24413
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.
24417
24418 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
24419
24420 PR preprocessor/101168
24421 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
24422 Avoid empty identifier.
24423
24424 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
24425
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.
24432
24433 2022-05-09 liuhongt <hongtao.liu@intel.com>
24434
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.
24441
24442 2022-05-09 Martin Liška <mliska@suse.cz>
24443
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.
24447
24448 2022-05-09 Richard Biener <rguenther@suse.de>
24449
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.
24455
24456 2022-05-09 Richard Biener <rguenther@suse.de>
24457
24458 * match.pd: Remove #if GIMPLE guards around ! using patterns.
24459
24460 2022-05-09 liuhongt <hongtao.liu@intel.com>
24461
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.
24467
24468 2022-05-09 Alex Coplan <alex.coplan@arm.com>
24469
24470 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
24471 symtab state is PARSING.
24472
24473 2022-05-09 Martin Liska <mliska@suse.cz>
24474
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.
24508
24509 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
24510
24511 * config/riscv/arch-canonicalize: Handle g correctly.
24512
24513 2022-05-07 Marek Polacek <polacek@redhat.com>
24514
24515 PR c++/101833
24516 PR c++/47634
24517 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
24518
24519 2022-05-06 Jason Merrill <jason@redhat.com>
24520
24521 * diagnostic-color.cc: Add fnname and targs color entries.
24522 * doc/invoke.texi: Document them.
24523
24524 2022-05-06 Jason Merrill <jason@redhat.com>
24525
24526 * vec.h (vec::iterate): Fix comment.
24527
24528 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
24529
24530 PR target/102059
24531 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
24532 and -mpower10-fusion options for inlining purposes.
24533
24534 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
24535
24536 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
24537
24538 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
24539
24540 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
24541 omp_runtime_apis array.
24542
24543 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
24544
24545 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
24546 (scan_sharing_clauses): Check a restriction on allocate clause.
24547
24548 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
24549
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.
24553
24554 2022-05-05 Martin Liska <mliska@suse.cz>
24555
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.
24561
24562 2022-05-05 Martin Liska <mliska@suse.cz>
24563
24564 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
24565 PROF_*.
24566 (gimple_gen_time_profiler): Likewise.
24567
24568 2022-05-05 Martin Liska <mliska@suse.cz>
24569
24570 * value-prof.cc (stream_out_histogram_value): Remove sanity
24571 checking.
24572
24573 2022-05-05 Richard Biener <rguenther@suse.de>
24574
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.
24580
24581 2022-05-05 Richard Biener <rguenther@suse.de>
24582
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.
24590
24591 2022-05-05 Richard Biener <rguenther@suse.de>
24592
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.
24597
24598 2022-05-05 Richard Biener <rguenther@suse.de>
24599
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.
24604
24605 2022-05-05 Richard Biener <rguenther@suse.de>
24606
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.
24610
24611 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
24612
24613 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
24614 item that is in an outer data-sharing clause.
24615
24616 2022-05-04 Richard Biener <rguenther@suse.de>
24617
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.
24626
24627 2022-05-04 Richard Biener <rguenther@suse.de>
24628
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.
24632
24633 2022-05-04 Martin Liska <mliska@suse.cz>
24634
24635 * gengtype-state.cc (read_a_state_token): Remove dead code.
24636 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
24637
24638 2022-05-04 Richard Biener <rguenther@suse.de>
24639
24640 * gimplify.cc (gimplify_init_constructor): First gimplify,
24641 then simplify the result to a VECTOR_CST.
24642
24643 2022-05-04 Jakub Jelinek <jakub@redhat.com>
24644
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).
24649
24650 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
24651
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.
24655
24656 2022-05-04 Richard Biener <rguenther@suse.de>
24657
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.
24664
24665 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
24666
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.
24674
24675 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
24676
24677 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
24678 protocol class methods linker-visible.
24679
24680 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
24681
24682 PR target/105079
24683 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
24684 define_insn_and_split pattern.
24685
24686 2022-05-03 Richard Biener <rguenther@suse.de>
24687
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.
24693
24694 2022-05-03 Richard Biener <rguenther@suse.de>
24695
24696 PR middle-end/105461
24697 * opts.cc (finish_options): Match the condition to
24698 disable flag_var_tracking to that of process_options.
24699
24700 2022-05-03 Richard Biener <rguenther@suse.de>
24701
24702 * opts.cc: #undef OPTIONS_SET_P.
24703 (finish_options): Use opts_set instead of OPTIONS_SET_P.
24704
24705 2022-05-03 Richard Biener <rguenther@suse.de>
24706
24707 PR tree-optimization/105394
24708 * tree-vect-generic.cc (expand_vector_condition): Adjust
24709 comp_width for non-integer mode masks as well.
24710
24711 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
24712
24713 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
24714 omp_runtime_apis array.
24715
24716 2022-05-02 Richard Biener <rguenther@suse.de>
24717
24718 * tree-scalar-evolution.cc (expression_expensive_p):
24719 Never consider mismatched calls as cheap.
24720
24721 2022-05-02 Richard Biener <rguenther@suse.de>
24722
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.
24728
24729 2022-05-02 Jakub Jelinek <jakub@redhat.com>
24730
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.
24734
24735 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
24736
24737 * gcov-io.cc (gcov_rewrite): Clear the file error status.
24738
24739 2022-05-02 Richard Biener <rguenther@suse.de>
24740
24741 PR tree-optimization/105437
24742 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
24743 case where last_stmt alters control flow.
24744
24745 2022-05-02 Richard Biener <rguenther@suse.de>
24746
24747 * dojump.cc (do_jump): Use CASE_CONVERT.
24748 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
24749
24750 2022-05-02 Jakub Jelinek <jakub@redhat.com>
24751
24752 * system.h: Include initializer_list.
24753
24754 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
24755
24756 * config/rs6000/constraints.md (Y constraint): Fix comment.
24757
24758 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
24759
24760 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
24761 VR_RANGE before passing a piecewise range to set_range_info_raw.
24762
24763 2022-04-30 Patrick Palka <ppalka@redhat.com>
24764
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.
24769
24770 2022-04-29 Martin Jambor <mjambor@suse.cz>
24771
24772 PR ipa/100413
24773 * cgraph.cc (cgraph_node::remove): Release body of the node this
24774 is clone_of if appropriate.
24775
24776 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
24777
24778 PR target/51954
24779 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
24780
24781 2022-04-29 Richard Biener <rguenther@suse.de>
24782
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.
24797
24798 2022-04-29 Richard Biener <rguenther@suse.de>
24799
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.
24807
24808 2022-04-29 Richard Biener <rguenther@suse.de>
24809
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.
24815
24816 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24817
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.
24851
24852 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24853
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.
24884
24885 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24886
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.
24911
24912 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24913
24914 * value-range.h (irange::irange): Use set_undefined.
24915
24916 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
24917
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.
24924
24925 2022-04-29 Richard Biener <rguenther@suse.de>
24926
24927 PR tree-optimization/104322
24928 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
24929
24930 2022-04-29 Richard Biener <rguenther@suse.de>
24931
24932 PR middle-end/105376
24933 * tree.cc (build_real): Special case dconst* arguments
24934 for decimal floating point types.
24935
24936 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24937
24938 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
24939 Environments): New section.
24940
24941 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24942
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.
24952
24953 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24954
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.
24964
24965 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24966
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.
24974
24975 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24976
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.
24981
24982 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24983
24984 * gcov-io.cc (gcov_seek): Make it static.
24985 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
24986
24987 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24988
24989 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
24990 (gcov_output_files): Open files for reading and writing.
24991
24992 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24993
24994 * gcov-io.cc (gcov_open): Always use the mode parameter.
24995 * gcov-io.h (gcov_open): Declare it unconditionally.
24996
24997 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
24998
24999 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
25000 (profile_merge): Allow merging of directories which contain no profile
25001 files.
25002
25003 2022-04-28 David Malcolm <dmalcolm@redhat.com>
25004
25005 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
25006 fpath.txt output.
25007
25008 2022-04-28 Jakub Jelinek <jakub@redhat.com>
25009
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.
25013
25014 2022-04-28 Jakub Jelinek <jakub@redhat.com>
25015
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.
25020
25021 2022-04-28 Jakub Jelinek <jakub@redhat.com>
25022
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.
25027
25028 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
25029
25030 * doc/install.texi (Configuration): Remove misleading text
25031 around LE PowerPC Linux multilibs.
25032
25033 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
25034
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.
25040
25041 2022-04-28 Richard Biener <rguenther@suse.de>
25042
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.
25047
25048 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
25049
25050 * config/loongarch/loongarch.cc
25051 (loongarch_flatten_aggregate_field): Ignore empty fields for
25052 RECORD_TYPE.
25053
25054 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
25055
25056 * config/loongarch/loongarch.md: Add fdiv define_expand template,
25057 then generate floating-point division and floating-point reciprocal
25058 instructions.
25059
25060 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
25061
25062 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
25063 to PLV instruction templates.
25064
25065 2022-04-27 Richard Biener <rguenther@suse.de>
25066
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.
25073
25074 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
25075
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.
25082
25083 2022-04-27 Jakub Jelinek <jakub@redhat.com>
25084
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.
25091
25092 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
25093
25094 PR target/105271
25095 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
25096 stanza.
25097
25098 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
25099
25100 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
25101 data-share memory exhausted" error more verbose.
25102
25103 2022-04-26 Martin Liska <mliska@suse.cz>
25104
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.
25109
25110 2022-04-26 Jakub Jelinek <jakub@redhat.com>
25111
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.
25116
25117 2022-04-26 Jakub Jelinek <jakub@redhat.com>
25118
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.
25122
25123 2022-04-26 Jakub Jelinek <jakub@redhat.com>
25124
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.
25129
25130 2022-04-25 David Malcolm <dmalcolm@redhat.com>
25131
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.
25136
25137 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
25138
25139 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
25140
25141 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
25142
25143 PR tree-optimization/105276
25144 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
25145 existing global range with calculated value.
25146
25147 2022-04-25 Richard Biener <rguenther@suse.de>
25148
25149 PR tree-optimization/105368
25150 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
25151
25152 2022-04-25 Richard Biener <rguenther@suse.de>
25153
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.
25161
25162 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
25163
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.
25170
25171 2022-04-25 Richard Biener <rguenther@suse.de>
25172
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.
25181
25182 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
25183
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.
25198
25199 2022-04-23 Jakub Jelinek <jakub@redhat.com>
25200
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.
25205
25206 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
25207
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.
25213
25214 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
25215
25216 * doc/extend.texi: Correct "This" to "These".
25217
25218 2022-04-22 Jakub Jelinek <jakub@redhat.com>
25219
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.
25224
25225 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
25226
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.
25236
25237 2022-04-21 Martin Liska <mliska@suse.cz>
25238
25239 * configure.ac: Enable compressed debug sections for mold
25240 linker.
25241 * configure: Regenerate.
25242
25243 2022-04-21 Jakub Jelinek <jakub@redhat.com>
25244
25245 PR debug/105203
25246 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
25247 on DEBUG_INSNs.
25248
25249 2022-04-20 Richard Biener <rguenther@suse.de>
25250
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.
25255
25256 2022-04-20 Richard Biener <rguenther@suse.de>
25257
25258 PR tree-optimization/105312
25259 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
25260 VCOND and VCONDU for EQ and NE.
25261
25262 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
25263
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.
25268
25269 2022-04-20 Jakub Jelinek <jakub@redhat.com>
25270
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.
25276
25277 2022-04-19 Sergei Trofimovich <siarheit@google.com>
25278
25279 PR gcov-profile/105282
25280 * value-prof.cc (stream_out_histogram_value): Allow negative counts
25281 on HIST_TYPE_INDIR_CALL.
25282
25283 2022-04-19 Jakub Jelinek <jakub@redhat.com>
25284
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 */.
25289
25290 2022-04-19 Richard Biener <rguenther@suse.de>
25291
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.
25298
25299 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
25300
25301 * doc/install.texi <CRIS>: Remove references to removed websites and
25302 adjust for cris-*-elf being the only remaining toolchain.
25303
25304 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
25305
25306 * doc/invoke.texi <CRIS>: Remove references to options for removed
25307 subtarget cris-axis-linux-gnu and tweak wording accordingly.
25308
25309 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
25310
25311 * doc/install.texi (Specific): Adjust mingw-w64 download link.
25312
25313 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
25314
25315 * config/i386/smmintrin.h: Correct target pragma from sse4.1
25316 and sse4.2 to crc32 for crc32 intrinsics.
25317
25318 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
25319
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.
25339
25340 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
25341
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.
25345
25346 2022-04-14 Jakub Jelinek <jakub@redhat.com>
25347
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.
25352
25353 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
25354
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.
25365
25366 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
25367
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.
25374
25375 2022-04-13 Richard Biener <rguenther@suse.de>
25376
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.
25380
25381 2022-04-13 Jakub Jelinek <jakub@redhat.com>
25382
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.
25387
25388 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
25389
25390 PR target/103069
25391 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
25392 Add missing set to target_val at pause label.
25393
25394 2022-04-13 Jakub Jelinek <jakub@redhat.com>
25395
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.
25400
25401 2022-04-13 Richard Biener <rguenther@suse.de>
25402
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.
25407
25408 2022-04-13 Richard Biener <rguenther@suse.de>
25409
25410 Revert:
25411 2022-04-13 Richard Biener <rguenther@suse.de>
25412
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.
25417
25418 2022-04-13 Richard Biener <rguenther@suse.de>
25419
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.
25424
25425 2022-04-13 Jakub Jelinek <jakub@redhat.com>
25426
25427 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
25428
25429 2022-04-12 Antoni Boucher <bouanto@zoho.com>
25430
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.
25438
25439 2022-04-12 Antoni Boucher <bouanto@zoho.com>
25440
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).
25451
25452 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
25453
25454 PR target/97348
25455 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
25456 * config/nvptx/nvptx.opt (misa): Adjust comment.
25457
25458 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
25459
25460 Revert:
25461 2022-03-03 Tom de Vries <tdevries@suse.de>
25462
25463 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
25464
25465 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
25466
25467 Revert:
25468 2022-03-31 Tom de Vries <tdevries@suse.de>
25469
25470 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
25471
25472 2022-04-12 Richard Biener <rguenther@suse.de>
25473
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.
25477
25478 2022-04-12 Richard Biener <rguenther@suse.de>
25479
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.
25484
25485 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
25486
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.
25495
25496 2022-04-12 Richard Biener <rguenther@suse.de>
25497
25498 PR tree-optimization/105232
25499 * tree.cc (component_ref_size): Bail out for too large
25500 or non-constant sizes.
25501
25502 2022-04-12 Richard Biener <rguenther@suse.de>
25503
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.
25507
25508 2022-04-12 Jakub Jelinek <jakub@redhat.com>
25509
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.
25517
25518 2022-04-12 Jakub Jelinek <jakub@redhat.com>
25519
25520 PR target/105214
25521 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
25522 do_pending_stack_adjust.
25523
25524 2022-04-12 Jakub Jelinek <jakub@redhat.com>
25525
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.
25531
25532 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
25533
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.
25557
25558 2022-04-12 chenglulu <chenglulu@loongson.cn>
25559
25560 * config/loongarch/loongarch.cc: Fix bug for
25561 tmpdir-g++.dg-struct-layout-1/t033.
25562
25563 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
25564
25565 PR target/104894
25566 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
25567 to longcall functions.
25568
25569 2022-04-11 Jason Merrill <jason@redhat.com>
25570
25571 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
25572
25573 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
25574
25575 PR target/105213
25576 PR target/103623
25577 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
25578
25579 2022-04-11 Jakub Jelinek <jakub@redhat.com>
25580
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.
25585
25586 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
25587
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.
25596
25597 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
25598
25599 * config/riscv/arch-canonicalize: Add TODO item.
25600 (IMPLIED_EXT): Sync.
25601 (arch_canonicalize): Checking until no change.
25602
25603 2022-04-11 Tamar Christina <tamar.christina@arm.com>
25604
25605 PR target/105197
25606 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
25607 not masked.
25608
25609 2022-04-11 Jason Merrill <jason@redhat.com>
25610
25611 PR c++/100370
25612 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
25613 deref == -1.
25614
25615 2022-04-11 Jakub Jelinek <jakub@redhat.com>
25616
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.
25621
25622 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
25623
25624 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
25625 sign bit of the source ends up in CC.
25626
25627 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
25628
25629 PR ipa/103376
25630 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
25631 flag.
25632
25633 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
25634
25635 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
25636 nondeterministic and side_effects flags.
25637
25638 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
25639
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.
25648
25649 2022-04-08 Richard Biener <rguenther@suse.de>
25650
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.
25655
25656 2022-04-08 Jakub Jelinek <jakub@redhat.com>
25657
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).
25662
25663 2022-04-08 Richard Biener <rguenther@suse.de>
25664
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.
25675
25676 2022-04-07 Tamar Christina <tamar.christina@arm.com>
25677
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".
25685
25686 2022-04-07 Richard Biener <rguenther@suse.de>
25687 Jan Hubicka <hubicka@ucw.cz>
25688
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.
25714
25715 2022-04-07 Richard Biener <rguenther@suse.de>
25716
25717 PR tree-optimization/105185
25718 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
25719 modref query again.
25720
25721 2022-04-07 Tamar Christina <tamar.christina@arm.com>
25722
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.
25730
25731 2022-04-07 Jakub Jelinek <jakub@redhat.com>
25732
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.
25742
25743 2022-04-07 Jakub Jelinek <jakub@redhat.com>
25744
25745 PR tree-optimization/105150
25746 * tree.cc (tree_builtin_call_types_compatible_p): New function.
25747 (get_call_combined_fn): Use it.
25748
25749 2022-04-07 Richard Biener <rguenther@suse.de>
25750
25751 PR middle-end/105165
25752 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
25753 _Complex outputs.
25754
25755 2022-04-07 liuhongt <hongtao.liu@intel.com>
25756
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.
25767
25768 2022-04-06 Jakub Jelinek <jakub@redhat.com>
25769
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.
25783
25784 2022-04-06 Jakub Jelinek <jakub@redhat.com>
25785
25786 PR target/105069
25787 * config/sh/sh.opt (mdiv=): Add Save.
25788
25789 2022-04-06 Martin Liska <mliska@suse.cz>
25790
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.
25796
25797 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
25798
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.
25804
25805 2022-04-06 Jakub Jelinek <jakub@redhat.com>
25806
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.
25812
25813 2022-04-06 Richard Biener <rguenther@suse.de>
25814
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.
25820
25821 2022-04-06 Richard Biener <rguenther@suse.de>
25822
25823 PR ipa/105166
25824 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
25825 out for non-pointer arguments.
25826
25827 2022-04-06 Richard Biener <rguenther@suse.de>
25828
25829 PR tree-optimization/105163
25830 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
25831 negated abnormals.
25832
25833 2022-04-06 Jakub Jelinek <jakub@redhat.com>
25834
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.
25841
25842 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
25843
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.
25850
25851 2022-04-06 Martin Liska <mliska@suse.cz>
25852
25853 * doc/invoke.texi: Document it.
25854
25855 2022-04-06 Richard Biener <rguenther@suse.de>
25856
25857 PR tree-optimization/105148
25858 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
25859 2 and 3 of ARRAY_REFs.
25860
25861 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
25862
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.
25866
25867 2022-04-06 Richard Biener <rguenther@suse.de>
25868
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.
25882
25883 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
25884
25885 PR target/105002
25886 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
25887 comparison codes UNLT/UNLE/UNGT/UNGE.
25888
25889 2022-04-05 David Malcolm <dmalcolm@redhat.com>
25890
25891 * doc/extend.texi (Common Function Attributes): Document that
25892 'access' does not imply 'nonnull'.
25893
25894 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
25895
25896 PR target/105139
25897 * config/i386/mmx.md (*movv2qi_internal):
25898 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
25899
25900 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
25901
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.
25913
25914 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
25915
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.
25934
25935 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
25936
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.
25941
25942 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
25943
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.
25947
25948 2022-04-05 Richard Biener <rguenther@suse.de>
25949
25950 PR c/105151
25951 * passes.def (pass_walloca): Move early instance into
25952 pass_build_ssa_passes to make SSA form available.
25953
25954 2022-04-05 liuhongt <hongtao.liu@intel.com>
25955
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.
25962
25963 2022-04-05 Alexandre Oliva <oliva@adacore.com>
25964
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.
25971
25972 2022-04-04 Alex Coplan <alex.coplan@arm.com>
25973
25974 * doc/match-and-simplify.texi: Fix typos.
25975
25976 2022-04-04 Jakub Jelinek <jakub@redhat.com>
25977
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.
25983
25984 2022-04-04 Jakub Jelinek <jakub@redhat.com>
25985
25986 PR target/105144
25987 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
25988 * config/aarch64/aarch64-tune.md: Regenerated.
25989
25990 2022-04-04 Richard Biener <rguenther@suse.de>
25991
25992 PR tree-optimization/105132
25993 * tree-vect-stmts.cc (vectorizable_operation): Check that
25994 the input vectors have the same number of elements.
25995
25996 2022-04-04 Richard Biener <rguenther@suse.de>
25997
25998 PR middle-end/105140
25999 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
26000
26001 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
26002
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.
26008
26009 2022-04-03 Jakub Jelinek <jakub@redhat.com>
26010
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.
26015
26016 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
26017
26018 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
26019 NULL before dereferencing it.
26020
26021 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
26022
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.
26030
26031 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
26032
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.
26036
26037 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
26038
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.
26045
26046 2022-04-01 Jakub Jelinek <jakub@redhat.com>
26047
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.
26052
26053 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
26054
26055 * config/mips/mips.cc (mips_expand_prologue):
26056 IPL is 8bit for MCU ASE.
26057
26058 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
26059
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.
26066
26067 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
26068
26069 * doc/options.texi (Option file format): Clarifications around
26070 option definition records' help texts.
26071
26072 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
26073
26074 * optc-gen.awk <END>: Fix "Multiple different help strings" error
26075 diagnostic.
26076
26077 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
26078
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.
26088
26089 2022-03-31 Martin Jambor <mjambor@suse.cz>
26090
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.
26117
26118 2022-03-31 Martin Jambor <mjambor@suse.cz>
26119
26120 PR ipa/102513
26121 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
26122 which do not fit the known value_range.
26123
26124 2022-03-31 Martin Jambor <mjambor@suse.cz>
26125
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.
26130
26131 2022-03-31 Richard Biener <rguenther@suse.de>
26132
26133 PR tree-optimization/105109
26134 * tree-ssa.cc (execute_update_addresses_taken): Suppress
26135 diagnostics on the load of the other complex component.
26136
26137 2022-03-31 Tom de Vries <tdevries@suse.de>
26138
26139 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
26140
26141 2022-03-31 Richard Biener <rguenther@suse.de>
26142
26143 PR rtl-optimization/105091
26144 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
26145 bases.
26146
26147 2022-03-31 Richard Biener <rguenther@suse.de>
26148
26149 Revert:
26150 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
26151
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.
26155
26156 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
26157
26158 * gcov-io.cc (gcov_read_string): Reword documentation comment.
26159
26160 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
26161
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.
26169
26170 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
26171
26172 PR middle-end/105032
26173 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
26174
26175 2022-03-30 Tom de Vries <tdevries@suse.de>
26176 Tobias Burnus <tobias@codesourcery.com>
26177
26178 * doc/invoke.texi (march): Document __PTX_SM__.
26179 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
26180 __PTX_ISA_VERSION_MINOR__.
26181
26182 2022-03-30 Jakub Jelinek <jakub@redhat.com>
26183
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.
26188
26189 2022-03-30 Jakub Jelinek <jakub@redhat.com>
26190
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.
26194
26195 2022-03-30 Tom de Vries <tdevries@suse.de>
26196
26197 * doc/invoke.texi (misa, mptx): Update.
26198 (march, march-map): Add.
26199
26200 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
26201
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.
26206
26207 2022-03-29 Marek Polacek <polacek@redhat.com>
26208 Jakub Jelinek <jakub@redhat.com>
26209
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.
26215
26216 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
26217
26218 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
26219 be any VSX register.
26220
26221 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
26222
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.
26228
26229 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
26230
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.
26236
26237 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
26238
26239 PR target/96882
26240 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
26241 ARM_PCS_AAPCS_LOCAL.
26242
26243 2022-03-29 Tom de Vries <tdevries@suse.de>
26244
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.
26250
26251 2022-03-29 Tom de Vries <tdevries@suse.de>
26252
26253 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
26254 is ignored.
26255
26256 2022-03-29 Tom de Vries <tdevries@suse.de>
26257
26258 PR target/104714
26259 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
26260
26261 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
26262
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
26269
26270 2022-03-29 Tom de Vries <tdevries@suse.de>
26271
26272 * config/nvptx/nvptx.opt (march): Add alias of misa.
26273
26274 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
26275 Lulu Cheng <chenglulu@loongson.cn>
26276
26277 * doc/install.texi: Add LoongArch options section.
26278 * doc/invoke.texi: Add LoongArch options section.
26279 * doc/md.texi: Add LoongArch options section.
26280
26281 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
26282 Lulu Cheng <chenglulu@loongson.cn>
26283
26284 * config/loongarch/loongarch-c.cc
26285
26286 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
26287 Lulu Cheng <chenglulu@loongson.cn>
26288
26289 * config/loongarch/larchintrin.h: New file.
26290 * config/loongarch/loongarch-builtins.cc: New file.
26291
26292 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
26293 Lulu Cheng <chenglulu@loongson.cn>
26294
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.
26300
26301 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
26302 Lulu Cheng <chenglulu@loongson.cn>
26303
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.
26312
26313 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
26314 Lulu Cheng <chenglulu@loongson.cn>
26315
26316 * configure: Regenerate file.
26317
26318 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
26319 Lulu Cheng <chenglulu@loongson.cn>
26320
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.
26341
26342 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
26343
26344 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
26345 typo.
26346
26347 2022-03-29 Richard Biener <rguenther@suse.de>
26348
26349 PR tree-optimization/105080
26350 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
26351 loops and SCEV.
26352
26353 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
26354
26355 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
26356 (output_ctf_vars): Likewise.
26357
26358 2022-03-28 Jason Merrill <jason@redhat.com>
26359
26360 PR c++/59426
26361 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
26362
26363 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
26364
26365 PR target/105068
26366 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
26367 "Yw" in clobber.
26368
26369 2022-03-28 Tom de Vries <tdevries@suse.de>
26370
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.
26377
26378 2022-03-28 David Malcolm <dmalcolm@redhat.com>
26379
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.
26383
26384 2022-03-28 Richard Biener <rguenther@suse.de>
26385
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.
26395
26396 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
26397
26398 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
26399
26400 2022-03-28 liuhongt <hongtao.liu@intel.com>
26401
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.
26405
26406 2022-03-28 Jakub Jelinek <jakub@redhat.com>
26407
26408 PR tree-optimization/105056
26409 * tree-predcom.cc (component::component): Initialize also comp_step.
26410
26411 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
26412
26413 PR target/105068
26414 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
26415 "Yw".
26416
26417 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
26418
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.
26422
26423 2022-03-26 Jakub Jelinek <jakub@redhat.com>
26424
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.
26429
26430 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
26431
26432 PR target/105058
26433 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
26434 (aes<aesklvariant>u8): Likewise.
26435
26436 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
26437
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.
26443
26444 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
26445
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.
26449
26450 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
26451
26452 PR target/104882
26453 Revert
26454 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
26455
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.
26468
26469 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
26470
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.
26474
26475 2022-03-25 Richard Biener <rguenther@suse.de>
26476
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.
26480
26481 2022-03-25 Richard Biener <rguenther@suse.de>
26482
26483 PR middle-end/105049
26484 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
26485 CONSTRUCTOR first elements.
26486
26487 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
26488
26489 PR analyzer/103533
26490 * doc/invoke.texi (Static Analyzer Options): Move
26491 @ignore block after @gccoptlist's '}' for 'make pdf'.
26492
26493 2022-03-25 David Malcolm <dmalcolm@redhat.com>
26494
26495 PR analyzer/104954
26496 * doc/invoke.texi (Static Analyzer Options): Add
26497 -fdump-analyzer-untracked.
26498
26499 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
26500
26501 PR analyzer/103533
26502 * doc/invoke.texi: Document that enabling taint analyzer
26503 checker disables some warnings from `-fanalyzer`.
26504
26505 2022-03-24 Alexandre Oliva <oliva@adacore.com>
26506
26507 PR debug/104564
26508 * gimple-harden-conditionals.cc (detach_value): Keep temps
26509 anonymous.
26510
26511 2022-03-24 Alexandre Oliva <oliva@adacore.com>
26512
26513 PR middle-end/104975
26514 * gimple-harden-conditionals.cc
26515 (pass_harden_compares::execute): Force split in case of
26516 multiple edges.
26517
26518 2022-03-24 Jakub Jelinek <jakub@redhat.com>
26519
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.
26523
26524 2022-03-24 Richard Biener <rguenther@suse.de>
26525
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.
26541
26542 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
26543
26544 PR tree-optimization/104970
26545 * tree-object-size.cc (parm_object_size): Restrict size
26546 computation scenarios to explicit access attributes.
26547
26548 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
26549
26550 PR target/104967
26551 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
26552 function types.
26553
26554 2022-03-23 Richard Biener <rguenther@suse.de>
26555
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.
26560
26561 2022-03-23 Richard Biener <rguenther@suse.de>
26562
26563 PR rtl-optimization/105028
26564 * ira-color.cc (form_threads_from_copies): Remove unnecessary
26565 copying of the sorted_copies tail.
26566
26567 2022-03-23 Martin Liska <mliska@suse.cz>
26568
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.
26573
26574 2022-03-23 liuhongt <hongtao.liu@intel.com>
26575
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.
26607
26608 2022-03-22 Tom de Vries <tdevries@suse.de>
26609
26610 PR target/104925
26611 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
26612 Use % as register prefix.
26613
26614 2022-03-22 Tom de Vries <tdevries@suse.de>
26615
26616 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
26617 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
26618 mexperimental.
26619
26620 2022-03-22 Tom de Vries <tdevries@suse.de>
26621
26622 * config/nvptx/nvptx.opt (mexperimental): New option.
26623
26624 2022-03-22 Tom de Vries <tdevries@suse.de>
26625
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.
26637
26638 2022-03-22 Tom de Vries <tdevries@suse.de>
26639
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).
26644
26645 2022-03-22 Richard Biener <rguenther@suse.de>
26646
26647 PR tree-optimization/105012
26648 * tree-if-conv.cc (ifcvt_local_dce): Only call
26649 dse_classify_store when we have a VDEF.
26650
26651 2022-03-22 Martin Liska <mliska@suse.cz>
26652
26653 PR target/104902
26654 * config/nvptx/nvptx.cc (handle_ptx_version_option):
26655 Fix option wrapping in an error message.
26656
26657 2022-03-22 Martin Liska <mliska@suse.cz>
26658
26659 PR target/104903
26660 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
26661 Wrap const keyword.
26662
26663 2022-03-22 Martin Liska <mliska@suse.cz>
26664
26665 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
26666 name.
26667
26668 2022-03-22 Martin Liska <mliska@suse.cz>
26669
26670 PR target/104898
26671 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
26672 Use %qs instead of (%qs).
26673
26674 2022-03-22 Martin Liska <mliska@suse.cz>
26675
26676 PR target/104898
26677 * config/i386/i386-options.cc (ix86_option_override_internal):
26678 Use '%qs' instead of '(%qs)'.
26679
26680 2022-03-22 Martin Liska <mliska@suse.cz>
26681
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.
26688
26689 2022-03-22 Tamar Christina <tamar.christina@arm.com>
26690 Andre Vieira <andre.simoesdiasvieira@arm.com>
26691
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.
26697
26698 2022-03-22 Tamar Christina <tamar.christina@arm.com>
26699 Andre Vieira <andre.simoesdiasvieira@arm.com>
26700
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.
26711
26712 2022-03-22 Tamar Christina <tamar.christina@arm.com>
26713 Andre Vieira <andre.simoesdiasvieira@arm.com>
26714
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.
26719
26720 2022-03-22 Tamar Christina <tamar.christina@arm.com>
26721 Andre Vieira <andre.simoesdiasvieira@arm.com>
26722
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.
26731
26732 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
26733
26734 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
26735 bit.
26736
26737 2022-03-22 liuhongt <hongtao.liu@intel.com>
26738
26739 PR target/104982
26740 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
26741 following splitter to reversed condition.
26742
26743 2022-03-22 Jakub Jelinek <jakub@redhat.com>
26744
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.
26751
26752 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
26753
26754 * print-tree.cc: Change array length
26755
26756 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
26757
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.
26764
26765 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
26766
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.
26771
26772 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
26773
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.
26778
26779 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
26780
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.
26811
26812 2022-03-21 Martin Liska <mliska@suse.cz>
26813
26814 * doc/invoke.texi: Document min-pagesize parameter.
26815
26816 2022-03-21 Richard Biener <rguenther@suse.de>
26817
26818 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
26819 we are estimating niter of loop.
26820
26821 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
26822
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.
26842
26843 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
26844
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.
26849
26850 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
26851
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.
26860
26861 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
26862
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.
26869
26870 2022-03-19 Jakub Jelinek <jakub@redhat.com>
26871
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.
26876
26877 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
26878
26879 PR rtl-optimization/104961
26880 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
26881
26882 2022-03-18 Jason Merrill <jason@redhat.com>
26883
26884 * tree.h (IDENTIFIER_LENGTH): Add comment.
26885
26886 2022-03-18 Jakub Jelinek <jakub@redhat.com>
26887
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.
26896
26897 2022-03-18 Tom de Vries <tdevries@suse.de>
26898
26899 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
26900 Set gfor location only when dealing with a OMP_TASKLOOP.
26901
26902 2022-03-18 Tom de Vries <tdevries@suse.de>
26903
26904 * gimplify.cc (gimplify_omp_for): Set taskloop location.
26905
26906 2022-03-18 Tom de Vries <tdevries@suse.de>
26907
26908 PR target/104952
26909 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
26910 is executed unconditionally.
26911
26912 2022-03-18 liuhongt <hongtao.liu@intel.com>
26913
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.
26917
26918 2022-03-18 Cui,Lili <lili.cui@intel.com>
26919
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.
26923
26924 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
26925
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.
26932
26933 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
26934
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.
26938
26939 2022-03-17 Richard Biener <rguenther@suse.de>
26940
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.
26947
26948 2022-03-17 Jakub Jelinek <jakub@redhat.com>
26949
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.
26955
26956 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
26957
26958 * config/i386/sse.md: Delete corrupt character/typo.
26959
26960 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
26961
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).
26967
26968 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
26969
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.
26973
26974 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
26975
26976 PR target/104890
26977 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
26978 pushing target("general-regs-only").
26979
26980 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
26981
26982 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
26983 Add version info for zk, zks and zkn.
26984
26985 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
26986
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.
26993
26994 2022-03-16 Richard Biener <rguenther@suse.de>
26995
26996 PR tree-optimization/102008
26997 * passes.def: Move the added code sinking pass before the
26998 preceeding phiopt pass.
26999
27000 2022-03-16 Patrick Palka <ppalka@redhat.com>
27001
27002 PR c++/96780
27003 * doc/invoke.texi (C++ Dialect Options): Document
27004 -ffold-simple-inlines.
27005
27006 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
27007
27008 PR tree-optimization/104942
27009 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
27010
27011 2022-03-16 Jakub Jelinek <jakub@redhat.com>
27012
27013 PR target/104910
27014 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
27015 imm rtx.
27016
27017 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
27018 Richard Biener <rguenther@suse.de>
27019
27020 * gimple-match-head.cc (single_use): Implement inline using a
27021 single loop.
27022
27023 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
27024
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.
27029
27030 2022-03-16 liuhongt <hongtao.liu@intel.com>
27031
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
27037
27038 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
27039
27040 PR target/104923
27041 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
27042 acceptable MEM addresses.
27043
27044 2022-03-15 Jakub Jelinek <jakub@redhat.com>
27045
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.
27050
27051 2022-03-15 Jakub Jelinek <jakub@redhat.com>
27052
27053 PR target/104890
27054 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
27055 instead of general-regs-only.
27056
27057 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
27058 Marc Glisse <marc.glisse@inria.fr>
27059 Richard Biener <rguenther@suse.de>
27060
27061 PR tree-optimization/101895
27062 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
27063 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
27064
27065 2022-03-15 Jakub Jelinek <jakub@redhat.com>
27066
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.
27070
27071 2022-03-15 Martin Sebor <msebor@redhat.com>
27072
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.
27077
27078 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
27079 Uroš Bizjak <ubizjak@gmail.com>
27080
27081 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
27082 transformation when *zero_extend<mode>si2 is not available.
27083
27084 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
27085
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.
27091
27092 2022-03-14 Jakub Jelinek <jakub@redhat.com>
27093
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.
27098
27099 2022-03-14 Jakub Jelinek <jakub@redhat.com>
27100
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.
27105
27106 2022-03-14 Jakub Jelinek <jakub@redhat.com>
27107
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.
27115
27116 2022-03-14 Jakub Jelinek <jakub@redhat.com>
27117
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.
27124
27125 2022-03-14 liuhongt <hongtao.liu@intel.com>
27126
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.
27136
27137 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
27138
27139 * doc/invoke.texi: Fix typos.
27140 * doc/tm.texi.in: Remove duplicated word.
27141 * doc/tm.texi: Regenerate.
27142
27143 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
27144
27145 PR target/104829
27146 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
27147 "ppc" and "ppc64" based on rs6000_cpu.
27148
27149 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
27150
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'.
27155
27156 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
27157
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'.
27164
27165 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
27166
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.
27170
27171 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
27172
27173 PR middle-end/98420
27174 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
27175 (the defaut) or -fno-signed-zeros.
27176
27177 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
27178
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.
27182
27183 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
27184
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.
27189
27190 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
27191 Richard Biener <rguenther@suse.de>
27192
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.
27200
27201 2022-03-11 Richard Biener <rguenther@suse.de>
27202
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.
27207
27208 2022-03-11 Richard Biener <rguenther@suse.de>
27209
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.
27213
27214 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
27215
27216 PR c++/84964
27217 * calls.cc (expand_call): Ignore stack adjustments after sorry.
27218
27219 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
27220
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.
27225
27226 2022-03-10 Martin Jambor <mjambor@suse.cz>
27227
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.
27232
27233 2022-03-10 Richard Biener <rguenther@suse.de>
27234
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.
27242
27243 2022-03-10 Richard Biener <rguenther@suse.de>
27244
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.
27251
27252 2022-03-10 Tom de Vries <tdevries@suse.de>
27253
27254 PR target/104840
27255 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
27256 of false,true.
27257
27258 2022-03-10 Tom de Vries <tdevries@suse.de>
27259
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.
27270
27271 2022-03-10 Tom de Vries <tdevries@suse.de>
27272
27273 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
27274 result.
27275
27276 2022-03-10 Tom de Vries <tdevries@suse.de>
27277
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.
27282
27283 2022-03-10 Tom de Vries <tdevries@suse.de>
27284
27285 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
27286 Emit atom.and.b64 instead of atom.b64.and.
27287
27288 2022-03-10 Tom de Vries <tdevries@suse.de>
27289
27290 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
27291 (MULTILIB_OPTIONS): ... here.
27292
27293 2022-03-10 Tom de Vries <tdevries@suse.de>
27294
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.
27298
27299 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
27300
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.
27308
27309 2022-03-10 Jakub Jelinek <jakub@redhat.com>
27310
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.
27346
27347 2022-03-09 Richard Biener <rguenther@suse.de>
27348
27349 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
27350 with non-decl operand, avoiding a copy.
27351
27352 2022-03-09 Jakub Jelinek <jakub@redhat.com>
27353
27354 PR target/104781
27355 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
27356
27357 2022-03-09 Richard Biener <rguenther@suse.de>
27358
27359 PR middle-end/104786
27360 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
27361 for VLAs without an upper size bound.
27362
27363 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
27364
27365 PR tree-optimization/104851
27366 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
27367 error.
27368
27369 2022-03-09 Jakub Jelinek <jakub@redhat.com>
27370
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).
27377
27378 2022-03-09 Jakub Jelinek <jakub@redhat.com>
27379
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.
27385
27386 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
27387
27388 PR target/104842
27389 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
27390 value before adding an offset.
27391
27392 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
27393
27394 * config/arm/arm-builtins.cc
27395 (arm_binop_none_none_unone_qualifiers): Delete.
27396 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
27397
27398 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
27399
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.
27403
27404 2022-03-08 Marek Polacek <polacek@redhat.com>
27405
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.
27409
27410 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
27411
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.
27415
27416 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
27417
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.
27422
27423 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
27424
27425 PR translation/104552
27426 * params.opt: Fix typo.
27427
27428 2022-03-08 Richard Biener <rguenther@suse.de>
27429
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.
27435
27436 2022-03-08 Martin Jambor <mjambor@suse.cz>
27437
27438 PR translation/104552
27439 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
27440 "that" in the description.
27441
27442 2022-03-08 Richard Biener <rguenther@suse.de>
27443
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.
27447
27448 2022-03-08 liuhongt <hongtao.liu@intel.com>
27449
27450 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
27451 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
27452
27453 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
27454
27455 * doc/invoke.texi (C++ Modules): Remove anachronism.
27456
27457 2022-03-07 Martin Liska <mliska@suse.cz>
27458
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.
27462
27463 2022-03-07 Jakub Jelinek <jakub@redhat.com>
27464
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.
27484
27485 2022-03-07 Martin Liska <mliska@suse.cz>
27486
27487 PR target/104794
27488 * config/arm/arm.cc (arm_option_override_internal): Add missing
27489 space.
27490
27491 2022-03-07 Richard Biener <rguenther@suse.de>
27492
27493 PR tree-optimization/104782
27494 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
27495 Re-instantiate r10-5979 fix, add comment.
27496
27497 2022-03-07 Martin Liska <mliska@suse.cz>
27498
27499 PR target/104797
27500 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
27501 parenthesis from built-in name.
27502
27503 2022-03-07 Martin Liska <mliska@suse.cz>
27504
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.
27509
27510 2022-03-07 Martin Liska <mliska@suse.cz>
27511
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].
27516
27517 2022-03-07 Jakub Jelinek <jakub@redhat.com>
27518
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.
27522
27523 2022-03-07 Martin Liska <mliska@suse.cz>
27524
27525 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
27526 message.
27527
27528 2022-03-07 Martin Liska <mliska@suse.cz>
27529
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.
27534
27535 2022-03-07 Martin Liska <mliska@suse.cz>
27536
27537 PR target/99297
27538 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
27539 string.
27540
27541 2022-03-07 Jakub Jelinek <jakub@redhat.com>
27542
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.
27550
27551 2022-03-05 Jakub Jelinek <jakub@redhat.com>
27552
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.
27555
27556 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
27557 Uroš Bizjak <ubizjak@gmail.com>
27558
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.
27569
27570 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
27571
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.
27578
27579 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
27580
27581 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
27582 bit. Handle most older CPUs.
27583
27584 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
27585
27586 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
27587 avoid a mismatch with DECL_MD_FUNCTION_CODE().
27588
27589 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
27590
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.
27599
27600 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
27601
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.
27611
27612 2022-03-04 Jakub Jelinek <jakub@redhat.com>
27613
27614 PR middle-end/104529
27615 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
27616 on automatic objects which will be runtime initialized.
27617
27618 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
27619
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.
27627
27628 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
27629
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'.
27638
27639 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
27640
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".
27645
27646 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
27647
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'.
27653
27654 2022-03-04 Jakub Jelinek <jakub@redhat.com>
27655
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.
27660
27661 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
27662
27663 PR target/104704
27664 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
27665 a pseudo register.
27666
27667 2022-03-03 Martin Sebor <msebor@redhat.com>
27668
27669 PR middle-end/104761
27670 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
27671 mark_dfs_back_edges.
27672
27673 2022-03-03 Martin Liska <mliska@suse.cz>
27674
27675 * configure.ac: Use linker plug-in by default.
27676 * configure: Regenerate.
27677
27678 2022-03-03 Martin Liska <mliska@suse.cz>
27679
27680 * configure.ac: Now ld.mold support LTO plugin API, use it.
27681 * configure: Regenerate.
27682
27683 2022-03-03 Tom de Vries <tdevries@suse.de>
27684
27685 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
27686
27687 2022-03-03 Tom de Vries <tdevries@suse.de>
27688
27689 PR target/104758
27690 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
27691
27692 2022-03-03 Tom de Vries <tdevries@suse.de>
27693
27694 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
27695
27696 2022-03-03 Jakub Jelinek <jakub@redhat.com>
27697
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.
27703
27704 2022-03-03 Jakub Jelinek <jakub@redhat.com>
27705
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.
27711
27712 2022-03-02 Alexandre Oliva <oliva@adacore.com>
27713
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.
27718
27719 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
27720
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.
27731
27732 2022-03-02 Richard Biener <rguenther@suse.de>
27733
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.
27741
27742 2022-03-02 Jakub Jelinek <jakub@redhat.com>
27743
27744 * cfg.cc (dump_edge_info): Dump goto_locus if present.
27745
27746 2022-03-02 Jakub Jelinek <jakub@redhat.com>
27747
27748 PR rtl-optimization/104589
27749 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
27750 INSN_LOCATION comparison with goto_locus.
27751
27752 2022-03-02 Jakub Jelinek <jakub@redhat.com>
27753
27754 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
27755 strlen_pass::before_dom_children): Comment spelling fixes.
27756
27757 2022-03-02 Jakub Jelinek <jakub@redhat.com>
27758
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.
27781
27782 2022-03-01 Jakub Jelinek <jakub@redhat.com>
27783
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.
27789
27790 2022-03-01 Jakub Jelinek <jakub@redhat.com>
27791
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.
27801
27802 2022-03-01 Richard Biener <rguenther@suse.de>
27803
27804 PR tree-optimization/104716
27805 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
27806 Check if we can copy the loop.
27807
27808 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
27809
27810 PR middle-end/104721
27811 * cfgexpand.cc (expand_gimple_basic_block): Clear
27812 currently_expanding_gimple_stmt when returning inside the loop.
27813
27814 2022-03-01 Martin Liska <mliska@suse.cz>
27815
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.
27821
27822 2022-03-01 Martin Liska <mliska@suse.cz>
27823
27824 PR gcov-profile/104677
27825 * doc/invoke.texi: Document more .gcda file name generation.
27826
27827 2022-03-01 Tom de Vries <tdevries@suse.de>
27828
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.
27836
27837 2022-03-01 Tom de Vries <tdevries@suse.de>
27838
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.
27850
27851 2022-03-01 Tom de Vries <tdevries@suse.de>
27852
27853 * config/nvptx/gen-omp-device-properties.sh: New file.
27854 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
27855
27856 2022-03-01 Tom de Vries <tdevries@suse.de>
27857
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.
27863
27864 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
27865
27866 PR rtl-optimization/104154
27867 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
27868 comparison ifcvt passed us.
27869
27870 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
27871
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.
27875
27876 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
27877
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.
27882
27883 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
27884 Eric Botcazou <ebotcazou@adacore.com>
27885
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.
27889
27890 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
27891
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.
27895
27896 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
27897
27898 PR middle-end/104550
27899 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
27900 created uses.
27901
27902 2022-02-28 Martin Liska <mliska@suse.cz>
27903
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.
27907
27908 2022-02-28 Richard Biener <rguenther@suse.de>
27909
27910 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
27911
27912 2022-02-28 Richard Biener <rguenther@suse.de>
27913
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.
27918
27919 2022-02-28 Tom de Vries <tdevries@suse.de>
27920
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.
27926
27927 2022-02-28 Richard Biener <rguenther@suse.de>
27928
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.
27933
27934 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
27935
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.
27957
27958 2022-02-25 Jakub Jelinek <jakub@redhat.com>
27959 Marc Glisse <marc.glisse@inria.fr>
27960
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.
27964
27965 2022-02-25 Jakub Jelinek <jakub@redhat.com>
27966
27967 PR target/104681
27968 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
27969
27970 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
27971
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.
27978
27979 2022-02-25 Richard Biener <rguenther@suse.de>
27980
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.
28003
28004 2022-02-25 Jakub Jelinek <jakub@redhat.com>
28005
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.
28010
28011 2022-02-25 Jakub Jelinek <jakub@redhat.com>
28012
28013 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
28014
28015 2022-02-25 Jakub Jelinek <jakub@redhat.com>
28016
28017 PR middle-end/104679
28018 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
28019
28020 2022-02-25 Jakub Jelinek <jakub@redhat.com>
28021
28022 PR tree-optimization/104675
28023 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
28024 COMPLEX_TYPE.
28025
28026 2022-02-25 Alexandre Oliva <oliva@adacore.com>
28027
28028 PR target/104121
28029 PR target/103302
28030 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
28031
28032 2022-02-25 Alexandre Oliva <oliva@adacore.com>
28033
28034 PR middle-end/104540
28035 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
28036 dw_cfi_cfa_loc.
28037
28038 2022-02-25 Alexandre Oliva <oliva@adacore.com>
28039
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.
28045
28046 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
28047
28048 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
28049 of position independence that -mcmodel=medany affords.
28050
28051 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
28052
28053 PR target/104656
28054 * configure.ac: --disable-gcov if targetting bpf-*.
28055 * configure: Regenerate.
28056
28057 2022-02-24 Richard Biener <rguenther@suse.de>
28058
28059 PR tree-optimization/104676
28060 * tree-loop-distribution.cc (loop_distribution::execute):
28061 Do a full scev_reset.
28062
28063 2022-02-24 Jakub Jelinek <jakub@redhat.com>
28064
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.
28069
28070 2022-02-24 Tom de Vries <tdevries@suse.de>
28071 Tobias Burnus <tobias@codesourcery.com>
28072
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.
28076
28077 2022-02-24 Tom de Vries <tdevries@suse.de>
28078
28079 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
28080 "rotrsi3"): New define_insn.
28081
28082 2022-02-24 Tom de Vries <tdevries@suse.de>
28083
28084 * config/nvptx/nvptx.cc (gen_comment): Use
28085 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
28086
28087 2022-02-24 liuhongt <hongtao.liu@intel.com>
28088
28089 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
28090 isa attr of alternative 2 from avx to avx512vl.
28091
28092 2022-02-23 Richard Biener <rguenther@suse.de>
28093 Jakub Jelinek <jakub@redhat.com>
28094
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.
28102
28103 2022-02-23 Richard Biener <rguenther@suse.de>
28104
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.
28111
28112 2022-02-23 Jakub Jelinek <jakub@redhat.com>
28113
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.
28118
28119 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
28120
28121 PR target/104489
28122 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
28123
28124 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
28125
28126 PR target/100757
28127 PR target/101325
28128 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
28129 typo.
28130
28131 2022-02-23 Cui,Lili <lili.cui@intel.com>
28132
28133 * doc/invoke.texi: Update documents for Intel architectures.
28134
28135 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
28136
28137 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
28138 bootstrap.
28139
28140 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
28141
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.
28150
28151 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
28152
28153 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
28154 simplify. Adjust all users.
28155
28156 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
28157
28158 PR target/88134
28159 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
28160 atomic_update_decl): Add GTY markup.
28161
28162 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28163
28164 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
28165
28166 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28167
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.
28179
28180 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28181
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.
28195
28196 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28197
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.
28236
28237 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28238
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.
28250
28251 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28252
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.
28270
28271 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28272
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.
28303
28304 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28305 Richard Sandiford <richard.sandiford@arm.com>
28306
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.
28341
28342 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28343
28344 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
28345 for operand 1.
28346
28347 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28348
28349 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
28350
28351 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
28352
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.
28358
28359 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
28360 Tom de Vries <tdevries@suse.de>
28361
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.
28366
28367 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
28368 Tom de Vries <tdevries@suse.de>
28369
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.
28372
28373 2022-02-22 Tom de Vries <tdevries@suse.de>
28374
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.
28379
28380 2022-02-22 Richard Biener <rguenther@suse.de>
28381
28382 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
28383 for a splat.
28384
28385 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
28386 Richard Biener <rguenther@suse.de>
28387
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.
28396
28397 2022-02-22 Jakub Jelinek <jakub@redhat.com>
28398
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.
28403
28404 2022-02-22 Jakub Jelinek <jakub@redhat.com>
28405
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.
28412
28413 2022-02-22 Richard Biener <rguenther@suse.de>
28414
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.
28419
28420 2022-02-22 Richard Biener <rguenther@suse.de>
28421
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.
28445
28446 2022-02-22 Richard Biener <rguenther@suse.de>
28447
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.
28457
28458 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
28459
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.
28469
28470 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
28471
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.
28503
28504 2022-02-21 Tom de Vries <tdevries@suse.de>
28505
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.
28512
28513 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
28514
28515 PR rtl-optimization/104498
28516 * alias.cc (compare_base_symbol_refs): Correct distance computation
28517 when swapping x and y.
28518
28519 2022-02-21 Andrew Pinski <apinski@marvell.com>
28520
28521 PR c/104506
28522 * tree-ssa.cc (tree_ssa_useless_type_conversion):
28523 Check the inner type before calling useless_type_conversion_p.
28524
28525 2022-02-19 Tom de Vries <tdevries@suse.de>
28526
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.
28534
28535 2022-02-19 Tom de Vries <tdevries@suse.de>
28536
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.
28542
28543 2022-02-19 Tom de Vries <tdevries@suse.de>
28544
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.
28549
28550 2022-02-19 Jakub Jelinek <jakub@redhat.com>
28551
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.
28558
28559 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
28560
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.
28572
28573 2022-02-18 Jakub Jelinek <jakub@redhat.com>
28574
28575 PR target/104257
28576 PR target/104598
28577 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
28578 rather than __posix_memalign.
28579
28580 2022-02-18 Richard Biener <rguenther@suse.de>
28581
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.
28587
28588 2022-02-18 Richard Biener <rguenther@suse.de>
28589
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.
28598
28599 2022-02-17 Jason Merrill <jason@redhat.com>
28600
28601 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
28602 on TYPE_MAIN_VARIANT.
28603
28604 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
28605
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.
28615
28616 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
28617
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.
28621
28622 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
28623
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.
28627
28628 2022-02-17 liuhongt <hongtao.liu@intel.com>
28629
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.
28637
28638 2022-02-17 Jakub Jelinek <jakub@redhat.com>
28639
28640 PR debug/104557
28641 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
28642 if expr has VOIDmode.
28643
28644 2022-02-17 liuhongt <hongtao.liu@intel.com>
28645
28646 * config/i386/cpuid.h (bit_MPX): Removed.
28647 (bit_BNDREGS): Ditto.
28648 (bit_BNDCSR): Ditto.
28649
28650 2022-02-17 Michael Meissner <meissner@the-meissners.org>
28651
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.
28657
28658 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
28659
28660 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
28661 range_compatible_p instead of direct type comparison.
28662
28663 2022-02-16 Jakub Jelinek <jakub@redhat.com>
28664
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.
28669
28670 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
28671
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.
28677
28678 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
28679
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.
28687
28688 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
28689
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.
28695
28696 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
28697
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.
28711
28712 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
28713
28714 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
28715 use after free.
28716
28717 2022-02-15 Richard Biener <rguenther@suse.de>
28718
28719 PR tree-optimization/104543
28720 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
28721 come after the inner loop.
28722
28723 2022-02-15 Jakub Jelinek <jakub@redhat.com>
28724
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.
28728
28729 2022-02-15 Jakub Jelinek <jakub@redhat.com>
28730
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.
28742
28743 2022-02-15 Richard Biener <rguenther@suse.de>
28744
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.
28750
28751 2022-02-15 Jakub Jelinek <jakub@redhat.com>
28752
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.
28759
28760 2022-02-14 Martin Sebor <msebor@redhat.com>
28761
28762 PR middle-end/104355
28763 * doc/invoke.texi (-Warray-bounds): Update documentation.
28764
28765 2022-02-14 Michael Meissner <meissner@the-meissners.org>
28766
28767 PR target/104253
28768 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
28769 conversion functions used to convert IFmode types.
28770
28771 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
28772
28773 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
28774
28775 2022-02-14 Richard Biener <rguenther@suse.de>
28776
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.
28784
28785 2022-02-14 Richard Biener <rguenther@suse.de>
28786
28787 PR tree-optimization/104511
28788 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
28789 touching DFP <-> FP conversions.
28790
28791 2022-02-14 Richard Biener <rguenther@suse.de>
28792
28793 PR middle-end/104497
28794 * gimplify.cc (gimplify_compound_lval): Make sure the
28795 base is a non-register if needed and possible.
28796
28797 2022-02-13 liuhongt <hongtao.liu@intel.com>
28798
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.
28803
28804 2022-02-12 Jakub Jelinek <jakub@redhat.com>
28805
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.
28810
28811 2022-02-12 Jakub Jelinek <jakub@redhat.com>
28812
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.
28816
28817 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
28818
28819 PR target/79754
28820 * config/i386/i386.cc (type_natural_mode):
28821 Skip decimal float vector modes.
28822
28823 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
28824 Vladimir Makarov <vmakarov@redhat.com>
28825
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.
28833
28834 2022-02-11 Jakub Jelinek <jakub@redhat.com>
28835
28836 PR tree-optimization/104499
28837 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
28838 of convert.
28839
28840 2022-02-11 Jakub Jelinek <jakub@redhat.com>
28841
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.
28851
28852 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
28853
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.
28858
28859 2022-02-11 Jakub Jelinek <jakub@redhat.com>
28860
28861 PR middle-end/104446
28862 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
28863 operands.
28864
28865 2022-02-11 Richard Biener <rguenther@suse.de>
28866
28867 PR middle-end/104496
28868 * internal-fn.cc (vectorized_internal_fn_supported_p):
28869 Bail out for integer mode vector types.
28870
28871 2022-02-11 Jakub Jelinek <jakub@redhat.com>
28872
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.
28876
28877 2022-02-11 liuhongt <hongtao.liu@intel.com>
28878
28879 PR tree-optimization/104479
28880 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
28881 for the dest of uncond_op.
28882
28883 2022-02-11 Tom de Vries <tdevries@suse.de>
28884
28885 PR target/104456
28886 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
28887 insn.
28888
28889 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
28890
28891 PR middle-end/100775
28892 * function.cc (gen_call_used_regs_seq): Call
28893 df_update_exit_block_uses when updating df.
28894
28895 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
28896
28897 PR target/104469
28898 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
28899 Change operand 1 constraint to register_operand.
28900
28901 2022-02-10 Richard Biener <rguenther@suse.de>
28902
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.
28918
28919 2022-02-10 Richard Biener <rguenther@suse.de>
28920
28921 PR middle-end/104467
28922 * match.pd (vector extract simplification): Multiply the
28923 number of CTOR elements with the number of element elements.
28924
28925 2022-02-10 Richard Biener <rguenther@suse.de>
28926
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.
28930
28931 2022-02-10 Tom de Vries <tdevries@suse.de>
28932
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.
28938
28939 2022-02-10 Tom de Vries <tdevries@suse.de>
28940
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.
28946
28947 2022-02-10 Tom de Vries <tdevries@suse.de>
28948
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.
28952
28953 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28954
28955 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
28956 floating point constants as operands 1 and/or 2.
28957
28958 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28959
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.
28969
28970 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28971
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.
28981
28982 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28983
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.
28997
28998 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
28999
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.
29011
29012 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
29013
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.
29019
29020 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
29021
29022 * doc/install.texi (Specific): Change the www.bitwizard.nl
29023 reference to use https.
29024
29025 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
29026
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.
29038
29039 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
29040
29041 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
29042 that will result in direct recursive calls.
29043
29044 2022-02-10 Andrew Pinski <apinski@marvell.com>
29045
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.
29050
29051 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
29052
29053 PR target/104462
29054 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
29055 Also include OPTION_MASK_ISA2_AVX2_UNSET.
29056
29057 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
29058
29059 PR target/104458
29060 * config/i386/i386-expand.cc (ix86_split_idivmod):
29061 Force operands[2] and operands[3] into a register..
29062
29063 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
29064
29065 PR target/97040
29066 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
29067 (*v850_fnmssf4): Renamed from fnmssf4
29068
29069 2022-02-09 Ian Lance Taylor <iant@golang.org>
29070
29071 * godump.cc (go_force_record_alignment): Really name the alignment
29072 field "_" (complete 2021-12-29 change).
29073
29074 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
29075
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.
29087
29088 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
29089
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.
29103
29104 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
29105
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.
29113
29114 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
29115
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.
29128
29129 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
29130
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.
29135
29136 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
29137
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.
29141
29142 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
29143
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.
29152
29153 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
29154
29155 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
29156 element to be an aarch64_simd_nonimmediate_operand.
29157
29158 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
29159
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.
29166
29167 2022-02-09 Richard Biener <rguenther@suse.de>
29168
29169 PR middle-end/104464
29170 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
29171 throwing check to after unproblematic replacement.
29172
29173 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
29174
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.
29178
29179 2022-02-09 Jakub Jelinek <jakub@redhat.com>
29180
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.
29186
29187 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
29188
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.
29211
29212 2022-02-09 Richard Biener <rguenther@suse.de>
29213
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.
29221
29222 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
29223
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.
29258
29259 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
29260
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.
29266
29267 2022-02-09 liuhongt <hongtao.liu@intel.com>
29268
29269 PR target/104451
29270 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
29271 operands[2] from SImode to QImode.
29272
29273 2022-02-09 Richard Biener <rguenther@suse.de>
29274
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.
29279
29280 2022-02-09 Richard Biener <rguenther@suse.de>
29281
29282 PR target/104453
29283 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
29284 folding for NULL LHS.
29285
29286 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
29287
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.
29293
29294 2022-02-08 Jakub Jelinek <jakub@redhat.com>
29295
29296 PR target/102140
29297 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
29298 split1 pass has finished already.
29299
29300 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
29301
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.
29306
29307 2022-02-08 Tom de Vries <tdevries@suse.de>
29308
29309 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
29310 * config/nvptx/nvptx.h (TARGET_SM70): Define.
29311
29312 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
29313
29314 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
29315 on condition.
29316 * config/s390/s390.md: Use paradoxical subreg.
29317
29318 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
29319
29320 * combine.cc (reg_subword_p): Check for paradoxical subreg.
29321
29322 2022-02-08 Tom de Vries <tdevries@suse.de>
29323
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'.
29335
29336 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
29337
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.
29343
29344 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
29345
29346 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
29347
29348 2022-02-08 Tom de Vries <tdevries@suse.de>
29349
29350 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
29351
29352 2022-02-08 Tom de Vries <tdevries@suse.de>
29353
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.
29367
29368 2022-02-08 liuhongt <hongtao.liu@intel.com>
29369
29370 PR rtl-optimization/104059
29371 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
29372 for a more expensive reg-reg move.
29373
29374 2022-02-07 Tamar Christina <tamar.christina@arm.com>
29375
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.
29382
29383 2022-02-07 Tamar Christina <tamar.christina@arm.com>
29384
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.
29392
29393 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
29394
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.
29399
29400 2022-02-07 Richard Biener <rguenther@suse.de>
29401
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.
29407
29408 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
29409
29410 PR target/103627
29411 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
29412 hunk affecting VSX and ALTIVEC to appropriate place.
29413
29414 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
29415
29416 PR target/103627
29417 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
29418 MMA if !TARGET_VSX.
29419
29420 2022-02-06 Jakub Jelinek <jakub@redhat.com>
29421
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.
29438
29439 2022-02-05 Jakub Jelinek <jakub@redhat.com>
29440
29441 PR tree-optimization/104389
29442 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
29443 honored.
29444
29445 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
29446
29447 * configure.ac: Fix detection for zifencei support.
29448 * configure: Regenerate.
29449
29450 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
29451
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.
29456
29457 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
29458
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.
29470
29471 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
29472
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.
29477
29478 2022-02-04 Jakub Jelinek <jakub@redhat.com>
29479
29480 PR target/104380
29481 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
29482 adjust mangling of __builtin*printf_chk.
29483
29484 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
29485
29486 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
29487
29488 2022-02-04 Richard Biener <rguenther@suse.de>
29489 Bin Cheng <bin.cheng@linux.alibaba.com>
29490
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.
29501
29502 2022-02-04 Richard Biener <rguenther@suse.de>
29503
29504 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
29505 handling.
29506
29507 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
29508
29509 PR debug/104366
29510 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
29511 (dwarf2out_early_finish): Likewise.
29512
29513 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
29514
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.
29521
29522 2022-02-04 Richard Biener <rguenther@suse.de>
29523
29524 PR tree-optimization/103641
29525 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
29526 Pass the vector mode to choose_mult_variant.
29527
29528 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
29529
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.
29534
29535 2022-02-04 Richard Biener <rguenther@suse.de>
29536
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.
29558
29559 2022-02-04 Martin Sebor <msebor@redhat.com>
29560
29561 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
29562 cleanup.
29563
29564 2022-02-03 Martin Sebor <msebor@redhat.com>
29565
29566 PR middle-end/104260
29567 * passes.def (pass_warn_access): Adjust pass placement.
29568
29569 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
29570
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.
29574
29575 2022-02-03 Martin Sebor <msebor@redhat.com>
29576
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.
29590
29591 2022-02-03 Martin Sebor <msebor@redhat.com>
29592
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.
29600
29601 2022-02-03 Martin Sebor <msebor@redhat.com>
29602
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.
29614
29615 2022-02-03 Martin Sebor <msebor@redhat.com>
29616
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.
29636
29637 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
29638
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.
29644
29645 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
29646
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.
29658
29659 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
29660
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.
29713
29714 2022-02-03 Richard Biener <rguenther@suse.de>
29715
29716 PR debug/104337
29717 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
29718 together via DECL_ABSTRACT_ORIGIN.
29719
29720 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
29721
29722 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
29723 message for RES_BITS case.
29724
29725 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
29726
29727 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
29728
29729 2022-02-03 Jakub Jelinek <jakub@redhat.com>
29730
29731 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
29732 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
29733
29734 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
29735
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.
29745
29746 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
29747
29748 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
29749 VALL to VALL_F16.
29750
29751 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
29752
29753 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
29754 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
29755 of VALL_F16MOV.
29756
29757 2022-02-03 Martin Liska <mliska@suse.cz>
29758
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.
29763
29764 2022-02-03 Martin Liska <mliska@suse.cz>
29765
29766 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
29767 Use the error message for i386 target.
29768
29769 2022-02-03 Jakub Jelinek <jakub@redhat.com>
29770
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.
29776
29777 2022-02-03 Martin Sebor <msebor@redhat.com>
29778
29779 * common.opt (-Wuse-after-free): Correct typos.
29780
29781 2022-02-02 David Malcolm <dmalcolm@redhat.com>
29782
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.
29787
29788 2022-02-02 Martin Liska <mliska@suse.cz>
29789
29790 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
29791
29792 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
29793
29794 PR target/94372
29795 * config/or1k/linux.h (CPP_SPEC): Define.
29796
29797 2022-02-02 Tamar Christina <tamar.christina@arm.com>
29798
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.
29803
29804 2022-02-02 Tamar Christina <tamar.christina@arm.com>
29805
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.
29811
29812 2022-02-02 Tamar Christina <tamar.christina@arm.com>
29813
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.
29838
29839 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29840
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).
29851
29852 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29853
29854 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
29855 extra cost for ALL_REGS.
29856
29857 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29858
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.
29867
29868 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29869
29870 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
29871 Conditionalize on (sub-)register operands or operand 1 being 0.
29872
29873 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
29874
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.
29880
29881 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
29882
29883 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
29884 to 10 for AutoFDO.
29885
29886 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
29887
29888 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
29889
29890 2022-02-01 Andrew Pinski <apinski@marvell.com>
29891
29892 * doc/install.texi:
29893
29894 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
29895
29896 * config/s390/s390.cc (s390_code_end): Do not switch back to
29897 code section.
29898
29899 2022-02-01 Jakub Jelinek <jakub@redhat.com>
29900
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.
29915
29916 2022-02-01 Jason Merrill <jason@redhat.com>
29917
29918 * tree.h (struct tree_vec_map_cache_hasher): Move from...
29919 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
29920
29921 2022-02-01 Tom de Vries <tdevries@suse.de>
29922
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.
29927
29928 2022-02-01 Tom de Vries <tdevries@suse.de>
29929
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.
29934
29935 2022-02-01 Tom de Vries <tdevries@suse.de>
29936
29937 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
29938
29939 2022-02-01 Tom de Vries <tdevries@suse.de>
29940
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.
29945
29946 2022-02-01 Tom de Vries <tdevries@suse.de>
29947
29948 PR target/100428
29949 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
29950 insn.
29951
29952 2022-02-01 Tom de Vries <tdevries@suse.de>
29953
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.
29960
29961 2022-02-01 Tom de Vries <tdevries@suse.de>
29962
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.
29976
29977 2022-02-01 Martin Liska <mliska@suse.cz>
29978
29979 * doc/install.texi: Remove option for GCC < 4.8.
29980
29981 2022-02-01 Jakub Jelinek <jakub@redhat.com>
29982
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.
29989
29990 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
29991
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.
30162
30163 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
30164
30165 PR rtl-optimization/101260
30166 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
30167 copy_regno.
30168
30169 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
30170
30171 PR middle-end/95115
30172 * fold-const.cc (const_binop): Do not fold NaN result from
30173 non-NaN operands.
30174
30175 2022-02-01 Tom de Vries <tdevries@suse.de>
30176
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.
30181
30182 2022-01-31 Andrew Pinski <apinski@marvell.com>
30183
30184 * fold-const.h (operand_compare::operand_equal_p):
30185 Fix comment about OEP_* flags.
30186
30187 2022-01-31 Jakub Jelinek <jakub@redhat.com>
30188
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.
30194
30195 2022-01-31 Martin Sebor <msebor@redhat.com>
30196
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.
30201
30202 2022-01-31 Richard Biener <rguenther@suse.de>
30203
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.
30208
30209 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
30210
30211 PR target/104189
30212 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
30213
30214 2022-01-31 Richard Biener <rguenther@suse.de>
30215
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.
30223
30224 2022-01-29 Jakub Jelinek <jakub@redhat.com>
30225 Andrew Pinski <apinski@marvell.com>
30226
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.
30232
30233 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
30234
30235 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
30236
30237 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
30238
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.
30242
30243 2022-01-28 Marek Polacek <polacek@redhat.com>
30244
30245 * doc/invoke.texi: Update -Wbidi-chars documentation.
30246
30247 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
30248
30249 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
30250
30251 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
30252
30253 PR tree-optimization/95424
30254 * match.pd: Simplify 1 / X where X is an integer.
30255
30256 2022-01-28 Jakub Jelinek <jakub@redhat.com>
30257
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.
30263
30264 2022-01-28 Martin Liska <mliska@suse.cz>
30265
30266 * diagnostic.cc (diagnostic_action_after_output): Remove extra
30267 newline.
30268
30269 2022-01-28 Martin Liska <mliska@suse.cz>
30270
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.
30276
30277 2022-01-28 Richard Biener <rguenther@suse.de>
30278
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.
30283
30284 2022-01-28 Richard Biener <rguenther@suse.de>
30285
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.
30290
30291 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
30292
30293 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
30294 attributes.
30295
30296 2022-01-28 Jakub Jelinek <jakub@redhat.com>
30297
30298 PR lto/104237
30299 * cfgrtl.cc (loc_equal): New function.
30300 (unique_locus_on_edge_between_p): Use it.
30301
30302 2022-01-28 Richard Biener <rguenther@suse.de>
30303
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.
30313
30314 2022-01-27 Patrick Palka <ppalka@redhat.com>
30315
30316 PR c++/99895
30317 * tree.cc (build_call_vec): Add const to second parameter.
30318 * tree.h (build_call_vec): Likewise.
30319
30320 2022-01-27 Martin Liska <mliska@suse.cz>
30321
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.
30331
30332 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
30333
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.
30338
30339 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
30340
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.
30344
30345 2022-01-27 Jakub Jelinek <jakub@redhat.com>
30346
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.
30360
30361 2022-01-26 Jakub Jelinek <jakub@redhat.com>
30362
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.
30369
30370 2022-01-26 Jakub Jelinek <jakub@redhat.com>
30371
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.
30376
30377 2022-01-26 Jakub Jelinek <jakub@redhat.com>
30378
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.
30384
30385 2022-01-26 Marek Polacek <polacek@redhat.com>
30386
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.
30390
30391 2022-01-26 Martin Liska <mliska@suse.cz>
30392
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.
30400
30401 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
30402
30403 PR target/94193
30404 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
30405 predicate check.
30406
30407 2022-01-25 Martin Sebor <msebor@redhat.com>
30408
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.
30418
30419 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
30420
30421 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
30422
30423 2022-01-25 Richard Biener <rguenther@suse.de>
30424
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.
30430
30431 2022-01-25 Jakub Jelinek <jakub@redhat.com>
30432
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.
30444
30445 2022-01-24 Martin Sebor <msebor@redhat.com>
30446
30447 * pointer-query.cc (pointer_query::dump): Remove duplicate
30448 block.
30449
30450 2022-01-24 Marek Polacek <polacek@redhat.com>
30451
30452 PR preprocessor/104030
30453 * doc/invoke.texi: Update documentation for -Wbidi-chars.
30454
30455 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
30456
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.
30473
30474 2022-01-24 Richard Biener <rguenther@suse.de>
30475 Jiufu Guo <guojiufu@linux.ibm.com>
30476
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.
30484
30485 2022-01-24 Jakub Jelinek <jakub@redhat.com>
30486
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.
30500
30501 2022-01-24 Jakub Jelinek <jakub@redhat.com>
30502
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_.
30511
30512 2022-01-24 Jakub Jelinek <jakub@redhat.com>
30513
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.
30540
30541 2022-01-24 Jakub Jelinek <jakub@redhat.com>
30542
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).
30568
30569 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
30570
30571 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
30572 Skip zicsr and zifencei if I-ext is 2.0.
30573
30574 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
30575
30576 * config.gcc: Modify default isa_spec version.
30577
30578 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
30579
30580 PR tree-optimization/102087
30581 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
30582 Correct PLUS result type.
30583
30584 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
30585
30586 PR target/104188
30587 * config/i386/predicates.md (bcst_mem_operand): Also check mode
30588 of memory broadcast.
30589
30590 2022-01-23 Andrew Pinski <apinski@marvell.com>
30591
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.
30597
30598 2022-01-22 Jakub Jelinek <jakub@redhat.com>
30599
30600 PR other/104176
30601 * opts-global.cc (handle_common_deferred_options): Quote
30602 --enable-plugin in diagnostics to avoid -Werror=format-diag.
30603
30604 2022-01-21 Michael Meissner <meissner@the-meissners.org>
30605
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.
30619
30620 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
30621
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.
30628
30629 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
30630
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.
30635
30636 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
30637
30638 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
30639 vector float and vector double.
30640
30641 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
30642
30643 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
30644 Fix mention of ifunc in string.
30645
30646 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
30647
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).
30661
30662 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
30663
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.
30708
30709 2022-01-21 Martin Liska <mliska@suse.cz>
30710
30711 * configure.ac: Detect ld_is_mold and use it for
30712 comdat_group=yes and gcc_cv_ld_hidden=yes.
30713 * configure: Regenerate.
30714
30715 2022-01-21 Richard Biener <rguenther@suse.de>
30716
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.
30721
30722 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
30723
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.
30741
30742 2022-01-21 Richard Biener <rguenther@suse.de>
30743
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.
30753
30754 2022-01-21 Richard Biener <rguenther@suse.de>
30755
30756 PR tree-optimization/104152
30757 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
30758 can_duplicate_and_interleave_p check.
30759
30760 2022-01-21 Jakub Jelinek <jakub@redhat.com>
30761
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.
30765
30766 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
30767
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.
30787
30788 2022-01-21 Jakub Jelinek <jakub@redhat.com>
30789
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.
30794
30795 2022-01-20 Richard Biener <rguenther@suse.de>
30796
30797 PR middle-end/100786
30798 * gimple-fold.cc (get_symbol_constant_value): Only return
30799 values of compatible type to the symbol.
30800
30801 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
30802
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.
30809
30810 2022-01-20 Richard Biener <rguenther@suse.de>
30811
30812 PR target/100784
30813 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
30814 LHS before folding __builtin_ia32_shufpd and friends.
30815
30816 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30817
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.
30822
30823 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30824
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.
30829
30830 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30831
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.
30839
30840 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30841
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.
30852
30853 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30854
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.
30867
30868 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
30869
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.
30877
30878 2022-01-20 Martin Liska <mliska@suse.cz>
30879
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.
30884
30885 2022-01-20 Jakub Jelinek <jakub@redhat.com>
30886
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.
30890
30891 2022-01-20 liuhongt <hongtao.liu@intel.com>
30892
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.
30898
30899 2022-01-20 Richard Biener <rguenther@suse.de>
30900
30901 PR tree-optimization/104114
30902 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
30903 single element vector decomposition.
30904
30905 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30906
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.
30910
30911 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30912
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.
30919
30920 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30921
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.
30938
30939 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30940
30941 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
30942 (noce_process_if_block): Use potential costs.
30943
30944 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30945
30946 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
30947 (bb_ok_for_noce_convert_multiple_sets): Likewise.
30948
30949 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
30950
30951 * ifcvt.cc (need_cmov_or_rewire): New function.
30952 (noce_convert_multiple_sets): Call it.
30953
30954 2022-01-19 David Malcolm <dmalcolm@redhat.com>
30955
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.
31146
31147 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
31148
31149 PR tree-optimization/103997
31150 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
31151 vectorization.
31152
31153 2022-01-19 Jakub Jelinek <jakub@redhat.com>
31154
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.
31160
31161 2022-01-19 Richard Biener <rguenther@suse.de>
31162
31163 PR tree-optimization/104112
31164 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
31165 for required intermediate vector types.
31166
31167 2022-01-19 Jakub Jelinek <jakub@redhat.com>
31168
31169 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
31170
31171 2022-01-19 Martin Liska <mliska@suse.cz>
31172
31173 * configure.ac: Remove -Wno-error=format-diag.
31174 * configure: Regenerate.
31175
31176 2022-01-19 Martin Liska <mliska@suse.cz>
31177
31178 * config/riscv/riscv.cc (riscv_handle_type_attribute):
31179 Update one -Wformat-diag string in warning message.
31180
31181 2022-01-19 Jakub Jelinek <jakub@redhat.com>
31182
31183 PR middle-end/104103
31184 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
31185 .ASAN_MARK calls.
31186
31187 2022-01-19 Jakub Jelinek <jakub@redhat.com>
31188
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.
31192
31193 2022-01-19 Jakub Jelinek <jakub@redhat.com>
31194
31195 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
31196 {%0}.
31197
31198 2022-01-19 Martin Liska <mliska@suse.cz>
31199 Thomas Schwinge <thomas@codesourcery.com>
31200
31201 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
31202 warning messages.
31203
31204 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
31205
31206 PR target/104090
31207 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
31208 rs6000_cpu.
31209
31210 2022-01-19 Jakub Jelinek <jakub@redhat.com>
31211
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}.
31223
31224 2022-01-19 Martin Sebor <msebor@redhat.com>
31225
31226 PR middle-end/104069
31227 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
31228 an unknown result as documented.
31229
31230 2022-01-18 Andrew Pinski <apinski@marvell.com>
31231
31232 * ipa-split.cc (visit_bb): Fix comment before the
31233 warning/error attribute checking code.
31234
31235 2022-01-18 David Faust <david.faust@oracle.com>
31236
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.
31241
31242 2022-01-18 David Faust <david.faust@oracle.com>
31243
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.
31249
31250 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
31251
31252 * common/config/riscv/riscv-common.cc
31253 (riscv_subset_list::parse_multiletter_ext): Move pointer
31254 arithmetic ahead of `free'.
31255
31256 2022-01-18 Jason Merrill <jason@redhat.com>
31257
31258 PR c++/104007
31259 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
31260 context.
31261
31262 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
31263
31264 PR middle-end/103163
31265 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
31266 (init_emit_once): ...not here.
31267
31268 2022-01-18 Martin Liska <mliska@suse.cz>
31269
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.
31304
31305 2022-01-18 Martin Liska <mliska@suse.cz>
31306
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.
31311
31312 2022-01-18 Martin Liska <mliska@suse.cz>
31313
31314 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
31315 (print_operand_address): Likewise.
31316 (xtensa_multibss_section_type_flags): Likewise.
31317
31318 2022-01-18 Martin Liska <mliska@suse.cz>
31319
31320 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
31321 wording of an error message.
31322
31323 2022-01-18 Martin Liska <mliska@suse.cz>
31324
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.
31335
31336 2022-01-18 Martin Liska <mliska@suse.cz>
31337
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.
31344
31345 2022-01-18 Martin Liska <mliska@suse.cz>
31346
31347 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
31348 keyword.
31349 * config/nvptx/nvptx.md: Remove trailing dot.
31350
31351 2022-01-18 Martin Liska <mliska@suse.cz>
31352
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.
31359
31360 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
31361
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.
31379
31380 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
31381
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.
31390
31391 2022-01-18 Richard Biener <rguenther@suse.de>
31392
31393 PR ipa/103989
31394 * ipa-inline.cc (inline_small_functions): Do not enqueue call
31395 edges originating in functions compiled with -Og.
31396
31397 2022-01-18 Richard Biener <rguenther@suse.de>
31398
31399 PR ipa/103989
31400 * passes.def (pass_all_optimizations_g): Remove pass_modref
31401 and pass_local_pure_const.
31402
31403 2022-01-18 Martin Liska <mliska@suse.cz>
31404
31405 * config/s390/s390.cc: Fix -Wformat-diag warnings.
31406
31407 2022-01-18 Martin Liska <mliska@suse.cz>
31408
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.
31417
31418 2022-01-18 Martin Liska <mliska@suse.cz>
31419
31420 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
31421 keywords and use %qs instead of %<%s%>.
31422
31423 2022-01-18 Richard Biener <rguenther@suse.de>
31424
31425 PR tree-optimization/103987
31426 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
31427 query with a pointer check.
31428
31429 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
31430
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.
31434
31435 2022-01-18 Richard Biener <rguenther@suse.de>
31436
31437 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
31438 avoid padding.
31439 * function.h (struct function): Likewise.
31440
31441 2022-01-18 Arnaud Charlet <charlet@adacore.com>
31442
31443 * doc/install.texi: Update prerequisites for GNAT
31444
31445 2022-01-18 Andrew Pinski <apinski@marvell.com>
31446
31447 PR tree-optimization/101941
31448 * ipa-split.cc (visit_bb): Disallow function calls where
31449 the function has either error or warning attribute.
31450
31451 2022-01-18 Richard Biener <rguenther@suse.de>
31452
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.
31457
31458 2022-01-17 Martin Liska <mliska@suse.cz>
31459
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.
31470
31471 2022-01-17 Martin Liska <mliska@suse.cz>
31472
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.
32468
32469 2022-01-17 Martin Liska <mliska@suse.cz>
32470
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.
33837
33838 2022-01-17 qing zhao <qing.zhao@oracle.com>
33839
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.
33847
33848 2022-01-17 Jason Merrill <jason@redhat.com>
33849
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.
33855
33856 2022-01-17 Richard Biener <rguenther@suse.de>
33857
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.
33862
33863 2022-01-17 Jakub Jelinek <jakub@redhat.com>
33864
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.
33880
33881 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
33882
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.
33887
33888 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
33889
33890 PR target/103124
33891 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
33892
33893 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
33894
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
33921
33922 2022-01-15 Martin Sebor <msebor@redhat.com>
33923
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.
33957
33958 2022-01-15 Martin Sebor <msebor@redhat.com>
33959
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.
33980
33981 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
33982
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.
33989
33990 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
33991
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.
34000
34001 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
34002
34003 PR middle-end/104026
34004 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
34005 partial_load_store_bias.
34006
34007 2022-01-14 Martin Sebor <msebor@redhat.com>
34008
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.
34012
34013 2022-01-14 Martin Liska <mliska@suse.cz>
34014
34015 * configure: Regenerate.
34016
34017 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
34018
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.
34029
34030 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
34031
34032 PR tree-optimization/104015
34033 * tree-vect-loop.c (vect_analyze_loop): Check
34034 param_vect_partial_vector_usage for supports_partial_vectors.
34035
34036 2022-01-14 Jakub Jelinek <jakub@redhat.com>
34037
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.
34042
34043 2022-01-14 Jakub Jelinek <jakub@redhat.com>
34044
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).
34050
34051 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
34052
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.
34057
34058 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
34059
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.
34064
34065 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
34066 Uroš Bizjak <ubizjak@gmail.com>
34067
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.
34074
34075 2022-01-14 Martin Liska <mliska@suse.cz>
34076
34077 * common/config/arm/arm-common.c (arm_target_mode): Fix
34078 warning: unterminated quoting directive [-Wformat=].
34079
34080 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
34081
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.
34087
34088 2022-01-14 liuhongt <hongtao.liu@intel.com>
34089
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.
34096
34097 2022-01-14 David Malcolm <dmalcolm@redhat.com>
34098
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.
34102
34103 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
34104 Jason Merrill <jason@redhat.com>
34105
34106 PR c++/70417
34107 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
34108
34109 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
34110
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.
34116
34117 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
34118
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.
34135
34136 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
34137
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.
34142
34143 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
34144
34145 PR tree-optimization/96707
34146 * range-op.cc (operator_rshift::lhs_op1_relation): New.
34147
34148 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
34149
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.
34159
34160 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
34161
34162 PR target/104003
34163 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
34164
34165 2022-01-13 Martin Liska <mliska@suse.cz>
34166
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.
34178
34179 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
34180
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.
34190
34191 2022-01-13 Jakub Jelinek <jakub@redhat.com>
34192
34193 PR tree-optimization/103989
34194 * tree-inline.c (setup_one_parameter): Don't copy parms with
34195 empty type.
34196
34197 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
34198
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.
34203
34204 2022-01-13 Julian Brown <julian@codesourcery.com>
34205 Thomas Schwinge <thomas@codesourcery.com>
34206
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.
34212
34213 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
34214
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.
34218
34219 2022-01-13 Martin Liska <mliska@suse.cz>
34220
34221 * config/epiphany/epiphany.c (epiphany_mode_priority):
34222 Use gcc_unreachable for not handled cases.
34223
34224 2022-01-13 Martin Liska <mliska@suse.cz>
34225
34226 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
34227 Use %qs format specifier.
34228 (epiphany_override_options): Wrap keyword in %<, %>.
34229
34230 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
34231
34232 PR target/94790
34233 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
34234
34235 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
34236
34237 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
34238
34239 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
34240
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.
34268
34269 2022-01-12 Clément Chigot <clement.chigot@atos.net>
34270
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.
34278
34279 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
34280
34281 PR tree-optimization/103551
34282 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
34283
34284 2022-01-12 Richard Biener <rguenther@suse.de>
34285
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.
34291
34292 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
34293
34294 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
34295 does not add autovectorize_vector_modes.
34296
34297 2022-01-12 Martin Liska <mliska@suse.cz>
34298
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.
34309
34310 2022-01-12 Martin Liska <mliska@suse.cz>
34311
34312 * config.gcc: Include elfos.h before ${tm_file}.
34313
34314 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
34315
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.
34321
34322 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
34323
34324 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
34325 parameter to as_a.
34326
34327 2022-01-11 qing zhao <qing.zhao@oracle.com>
34328
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.
34341
34342 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
34343
34344 * flag-types.h (enum gfc_convert): Add flags for
34345 conversion.
34346
34347 2022-01-11 Michael Meissner <meissner@the-meissners.org>
34348
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.
34352
34353 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
34354
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.
34360
34361 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
34362
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.
34374
34375 2022-01-11 Jakub Jelinek <jakub@redhat.com>
34376
34377 PR c++/101597
34378 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
34379
34380 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
34381
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.
34394
34395 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
34396
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.
34402
34403 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
34404
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.
34409
34410 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
34411
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.
34435
34436 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
34437 Jakub Jelinek <jakub@redhat.com>
34438
34439 PR tree-optimization/103961
34440 * tree-object-size.c (plus_stmt_object_size): Always avoid
34441 computing offset for -1 size.
34442
34443 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
34444
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.
34448
34449 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
34450
34451 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
34452 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
34453
34454 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
34455 Richard Biener <rguenther@suse.de>
34456
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.
34465
34466 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
34467
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.
34474
34475 2022-01-11 Olivier Hainque <hainque@adacore.com>
34476
34477 * gcc.c (driver_handle_option): State --sysroot as
34478 validated.
34479
34480 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
34481
34482 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
34483 useless related to option -mno-power10.
34484
34485 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
34486
34487 PR target/53652
34488 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
34489 operands[1] from register_operand to vector_operand.
34490
34491 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
34492
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.
34504
34505 2022-01-10 Richard Biener <rguenther@suse.de>
34506
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.
34511
34512 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
34513
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.
34518
34519 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
34520
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.
34526
34527 2022-01-10 Jakub Jelinek <jakub@redhat.com>
34528
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.
34537
34538 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
34539
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.
34550
34551 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
34552
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.
34564
34565 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
34566
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.
34584
34585 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
34586
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.
34591
34592 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
34593
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.
34597
34598 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
34599
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.
34607
34608 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
34609
34610 PR target/103465
34611 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
34612
34613 2022-01-10 Richard Biener <rguenther@suse.de>
34614
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.
34618
34619 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
34620
34621 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
34622 special case for TImode to V1TImode moves, going via V2DImode.
34623
34624 2022-01-08 Jakub Jelinek <jakub@redhat.com>
34625
34626 PR c++/89074
34627 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
34628 simplification.
34629
34630 2022-01-08 David Malcolm <dmalcolm@redhat.com>
34631
34632 * doc/analyzer.texi
34633 (Special Functions for Debugging the Analyzer): Document
34634 __analyzer_dump_escaped.
34635
34636 2022-01-08 David Malcolm <dmalcolm@redhat.com>
34637
34638 * doc/analyzer.texi (Other Debugging Techniques): Document
34639 region::is_named_decl_p.
34640
34641 2022-01-07 Andrew Pinski <apinski@marvell.com>
34642
34643 PR target/102941
34644 * config/arm/aarch-common.c (arm_md_asm_adjust):
34645 Use a temp if !REG_P.
34646
34647 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
34648
34649 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
34650 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
34651
34652 2022-01-07 liuhongt <hongtao.liu@intel.com>
34653
34654 PR rtl-optimization/103750
34655 * fwprop.c (forward_propagate_into): Allow propagations from
34656 inner loop to outer loop.
34657
34658 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
34659
34660 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
34661
34662 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
34663
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.
34667
34668 2022-01-07 liuhongt <hongtao.liu@intel.com>
34669
34670 * config/i386/sse.md
34671 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
34672 UNSPEC_PCMP_UNSIGNED.
34673
34674 2022-01-07 liuhongt <hongtao.liu@intel.com>
34675
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.
34688
34689 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
34690
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.
34694
34695 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
34696
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.
34709
34710 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
34711
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.
34721
34722 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
34723
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.
34759
34760 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
34761
34762 * common/config/riscv/riscv-common.c
34763 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
34764 digit.
34765
34766 2022-01-06 Jakub Jelinek <jakub@redhat.com>
34767
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.
34772
34773 2022-01-06 Jakub Jelinek <jakub@redhat.com>
34774
34775 PR rtl-optimization/103908
34776 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
34777 asm goto.
34778
34779 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
34780
34781 PR target/103622
34782 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
34783 Skip over instances with undefined function types.
34784
34785 2022-01-05 Andrew Pinski <apinski@marvell.com>
34786
34787 PR target/103910
34788 * config/i386/i386.h (x86_mfence): Mark with GTY.
34789
34790 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
34791
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.
34802
34803 2022-01-05 Martin Sebor <msebor@redhat.com>
34804
34805 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
34806 %qs to avoid -Wformat-diag.
34807
34808 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
34809
34810 PR target/103915
34811 * config/i386/mmx.md (one_cmplv2qi2): Change
34812 alternatives 1,2 type from sselog to sselog1.
34813
34814 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
34815
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.
34819
34820 2022-01-05 Richard Biener <rguenther@suse.de>
34821
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.
34825
34826 2022-01-05 Jakub Jelinek <jakub@redhat.com>
34827
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.
34832
34833 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
34834
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.
34861
34862 2022-01-04 Martin Sebor <msebor@redhat.com>
34863
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.
34882
34883 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
34884
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.
34892
34893 2022-01-04 Richard Biener <rguenther@suse.de>
34894
34895 PR tree-optimization/103800
34896 * tree-vect-loop.c (vectorizable_phi): Remove assert and
34897 expand comment.
34898
34899 2022-01-04 Richard Biener <rguenther@suse.de>
34900
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.
34909
34910 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
34911
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.
34922
34923 2022-01-04 Olivier Hainque <hainque@adacore.com>
34924
34925 * gcc.c (driver_handle_option): do_save --sysroot.
34926
34927 2022-01-04 Richard Biener <rguenther@suse.de>
34928
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.
34934
34935 2022-01-04 Jakub Jelinek <jakub@redhat.com>
34936
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.
34940
34941 2022-01-04 Cui,Lili <lili.cui@intel.com>
34942
34943 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
34944 to Alderlake and Rocketlake.
34945
34946 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
34947
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'
34951
34952 2022-01-04 liuhongt <hongtao.liu@intel.com>
34953
34954 PR target/103895
34955 * config/i386/sse.md (*bit_and_float_vector_all_ones):
34956 Force_reg operand 1 to avoid ICE.
34957
34958 2022-01-04 Jason Merrill <jason@redhat.com>
34959
34960 * tree-pretty-print.c (do_niy): Add spc parameter.
34961 (NIY): Pass it.
34962 (print_call_name): Add spc local variable.
34963
34964 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
34965
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.
34974
34975 2022-01-03 Andrew Pinski <apinski@marvell.com>
34976
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.
34982
34983 2022-01-03 Jakub Jelinek <jakub@redhat.com>
34984
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.
35019
35020 2022-01-03 Richard Biener <rguenther@suse.de>
35021
35022 PR middle-end/103851
35023 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
35024
35025 2022-01-03 Jakub Jelinek <jakub@redhat.com>
35026
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.
35031
35032 2022-01-03 Martin Liska <mliska@suse.cz>
35033
35034 * doc/extend.texi: Use ; for function declarations.
35035
35036 2022-01-03 Jakub Jelinek <jakub@redhat.com>
35037
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.
35041
35042 2022-01-03 Jakub Jelinek <jakub@redhat.com>
35043
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.
35056
35057 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
35058
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.
35073
35074 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
35075
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.
35080
35081 \f
35082 Copyright (C) 2022 Free Software Foundation, Inc.
35083
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.