]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
Daily bump.
[gcc.git] / gcc / ChangeLog
1 2022-09-07 Martin Liska <mliska@suse.cz>
2
3 * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS.
4 * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
5 * configure: Regenerate.
6 * config.in: Regenerate.
7
8 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com>
9
10 PR rtl-optimization/105586
11 * sched-rgn.cc (save_state_for_fallthru_edge): New function.
12 (schedule_region): Use it for all blocks.
13
14 2022-09-07 Joseph Myers <joseph@codesourcery.com>
15
16 * ginclude/stdalign.h [defined __STDC_VERSION__ &&
17 __STDC_VERSION__ > 201710L]: Disable all content.
18 * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
19 > 201710L] (bool, true, false): Do not define.
20
21 2022-09-07 Martin Liska <mliska@suse.cz>
22
23 PR bootstrap/106855
24 * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
25 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
26 Restore usage of XCOFF_DEBUGGING_INFO.
27 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
28 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
29 XCOFF_DEBUGGING_INFO.
30 (dw2_asm_output_nstring): Likewise.
31 (USE_LINKONCE_INDIRECT): Likewise.
32 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
33 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
34 (output_fde): Likewise.
35 (output_call_frame_info): Likewise.
36 (have_macinfo): Likewise.
37 (add_AT_loc_list): Likewise.
38 (add_AT_view_list): Likewise.
39 (output_compilation_unit_header): Likewise.
40 (output_pubnames): Likewise.
41 (output_aranges): Likewise.
42 (output_line_info): Likewise.
43 (output_macinfo): Likewise.
44 (dwarf2out_finish): Likewise.
45 (dwarf2out_early_finish): Likewise.
46
47 2022-09-07 Richard Biener <rguenther@suse.de>
48
49 PR tree-optimization/106866
50 * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
51 we changed cfun->calls_setjmp make sure to purge all
52 abnormal call edges.
53
54 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com>
55
56 * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
57 float LE comparing with zero for fpuv3.
58 * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
59 features are enabled.
60
61 2022-09-07 Richard Biener <rguenther@suse.de>
62
63 PR tree-optimization/106860
64 * tree-ssa-loop-split.cc (split_loop): Find the exit to
65 latch edge from the loop exit edge instead of from the
66 latch. Verify we're going to find it.
67
68 2022-09-07 Richard Biener <rguenther@suse.de>
69
70 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
71 Adjust to take the region exit source as argument.
72 (uninit_analysis::init_from_phi_def): Adjust.
73 (uninit_analysis::init_use_preds): Mark the dominating region
74 before computing control dependences.
75
76 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
77
78 * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
79 w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
80 in that case. Extend w<-r to w<-Z.
81 (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
82 (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
83 available.
84 (define_split): Do not apply the floating-point immediate-to-register
85 split to zeros, even if MOVI is not available.
86
87 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
88
89 * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
90 Disallow use of FPRs in register asms for !TARGET_FLOAT.
91
92 2022-09-07 Lulu Cheng <chenglulu@loongson.cn>
93
94 PR target/106828
95 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
96 (TARGET_ASAN_SHADOW_OFFSET): New.
97
98 2022-09-07 Jakub Jelinek <jakub@redhat.com>
99
100 * doc/invoke.texi (-Wno-unicode): Document.
101
102 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
103
104 * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
105
106 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
107
108 * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
109 replacements.
110
111 2022-09-07 liuhongt <hongtao.liu@intel.com>
112
113 PR tree-optimization/103144
114 * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
115 (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
116 (vect_create_nonlinear_iv_init): New function.
117 (vect_peel_nonlinear_iv_init): Ditto.
118 (vect_create_nonlinear_iv_step): Ditto
119 (vect_create_nonlinear_iv_vec_step): Ditto
120 (vect_update_nonlinear_iv): Ditto
121 (vectorizable_nonlinear_induction): Ditto.
122 (vectorizable_induction): Call
123 vectorizable_nonlinear_induction when induction_type is not
124 vect_step_op_add.
125 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
126 Update nonlinear iv for epilogue loop.
127 * tree-vectorizer.h (enum vect_induction_op_type): New enum.
128 (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
129
130 2022-09-06 Richard Biener <rguenther@suse.de>
131
132 PR tree-optimization/106754
133 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
134 New function, split out from compute_control_dep_chain. Handle
135 loop-exit like conditions here by pushing to the control vector.
136 (compute_control_dep_chain): Adjust and streamline dumping.
137 In the wrapper perform a post-dominator walk as well.
138 (uninit_analysis::init_use_preds): Remove premature early exit.
139
140 2022-09-06 Max Filippov <jcmvbkbc@gmail.com>
141
142 * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
143
144 2022-09-06 Aldy Hernandez <aldyh@redhat.com>
145
146 * range-op-float.cc (build_le): Handle NANs and going past infinity.
147 (build_lt): Same.
148 (build_ge): Same.
149 (build_gt): Same.
150 (foperator_lt::op1_range): Avoid adjustments to range if build_*
151 returned false.
152 (foperator_lt::op2_range): Same.
153 (foperator_le::op1_range): Same.
154 (foperator_le::op2_range): Same.
155 (foperator_gt::op1_range): Same.
156 (foperator_gt::op2_range): Same.
157
158 2022-09-06 Richard Biener <rguenther@suse.de>
159
160 * gimple-predicate-analysis.cc (compute_control_dep_chain):
161 Add output flag to indicate whether we possibly have dropped
162 any chains. Return whether the info is complete from the
163 wrapping overload.
164 (uninit_analysis::init_use_preds): Adjust accordingly, with
165 a workaround for PR106754.
166 (uninit_analysis::init_from_phi_def): Properly guard the
167 case where we complete an empty chain.
168
169 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
170
171 * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
172
173 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
174
175 * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
176 type with same element type as arg0, and length as op2.
177
178 2022-09-06 Richard Biener <rguenther@suse.de>
179
180 PR tree-optimization/106844
181 * gimple-predicate-analysis.cc (compute_control_dep_chain):
182 Return whether we found a chain.
183
184 2022-09-06 Richard Biener <rguenther@suse.de>
185
186 PR tree-optimization/106841
187 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
188 scatter/gather offset.
189
190 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
191
192 * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
193
194 2022-09-06 Jakub Jelinek <jakub@redhat.com>
195
196 * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
197 (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of
198 GIMPLE_OMP_TEAMS as upper bound.
199 (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
200 inline functions.
201 * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
202 NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
203 (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
204 with NULL OMP_ORDERED_BODY.
205 * omp-low.cc (check_omp_nesting_restrictions): Use
206 gimple_omp_ordered_standalone_p test instead of
207 omp_find_clause (..., OMP_CLAUSE_DOACROSS).
208 (lower_omp_ordered): Likewise.
209 * omp-expand.cc (expand_omp, build_omp_regions_1,
210 omp_make_gimple_edges): Likewise.
211
212 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com>
213
214 * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
215 (cskyv2_addcc_invert): Likewise.
216
217 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com>
218
219 * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
220 `insn'.
221 (bpf_expand_epilogue): Likewise.
222
223 2022-09-06 liuhongt <hongtao.liu@intel.com>
224
225 * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
226 Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
227 * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
228 (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
229 (avx512f_vcvtps2ph512_mask_sae): New expander
230
231 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
232
233 * gimple-range-fold.cc
234 (fold_using_range::range_of_builtin_int_call): Ignore sign bit
235 when there's the possibility of a NAN.
236
237 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
238
239 * gimple-range-fold.cc
240 (fold_using_range::range_of_builtin_int_call): Fold a set signbit
241 in __builtin_signbit to nonzero.
242
243 2022-09-05 Alexander Monakov <amonakov@ispras.ru>
244
245 PR target/106453
246 * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
247 bits of operand 0 are consumed, and the result is zero-extended
248 to 64 bits.
249
250 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
251
252 PR middle-end/106831
253 * value-range.h (frange::supports_p): Disable decimal floats.
254 * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
255 check.
256 (frange_drop_ninf): Same.
257
258 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
259
260 PR middle-end/106824
261 * value-range.cc (frange::set_nan): Set undefined when updating a
262 NAN to a non-NAN.
263
264 2022-09-05 Kito Cheng <kito.cheng@sifive.com>
265
266 * config/riscv/riscv.cc (riscv_option_override): Fix wrong
267 condition for MASK_DIV and simplify incompatible checking.
268 * config/riscv/riscv.md (muldi3): Adding parentheses.
269
270 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
271
272 * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
273 string is a valid -mcpu string and emit hint.
274
275 2022-09-05 LiaoShihua <shihua@iscas.ac.cn>
276
277 * common/config/riscv/riscv-common.cc: Add Zmmul.
278 * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
279 (TARGET_ZMMUL): Ditto.
280 * config/riscv/riscv.cc (riscv_option_override):Ditto.
281 * config/riscv/riscv.md: Add Zmmul
282 * config/riscv/riscv.opt: Ditto.
283
284 2022-09-05 Richard Biener <rguenther@suse.de>
285
286 * tree-cfg.h (get_cases_for_edge): Declare.
287 * tree-cfg.cc (get_cases_for_edge): Export.
288 * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
289 Start and end recording case labels.
290 * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
291 (predicate::init_from_control_deps): Use get_cases_for_edge.
292
293 2022-09-05 Richard Biener <rguenther@suse.de>
294
295 * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
296 (compute_control_dep_chain): Move uninit-control-dep-attempts
297 checking where it also counts the post-dominator check
298 invocations.
299
300 2022-09-05 Richard Biener <rguenther@suse.de>
301
302 * gimple-predicate-analysis.h (predicate::debug): New.
303 (predicate::dump): Add FILE * argument, add base overload.
304 * gimple-predicate-analysis.cc (debug): New.
305 (dump_pred_info): Add FILE * argument.
306 (dump_pred_chain): Likewise.
307 (predicate::dump): Split out preamble into overload. Add
308 FILE * argument.
309 (predicate::debug): New.
310 (predicate::simplify): Adjust.
311 (predicate::normalize): Likewise.
312 (predicate::init_from_control_deps): Likewise.
313
314 2022-09-05 Richard Sandiford <richard.sandiford@arm.com>
315
316 * config/aarch64/aarch64-protos.h
317 (aarch64_init_simd_builtins): Remove prototype.
318 * config/aarch64/aarch64-builtins.cc
319 (aarch64_simd_builtins_initialized_p): Delete.
320 (aarch64_init_simd_builtins): Make static. Remove protection
321 against multiple calls.
322 * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
323 lazy SIMD builtin initialization.
324 * config/aarch64/aarch64.cc
325 (aarch64_option_valid_attribute_p): Likewise.
326
327 2022-09-05 Xi Ruoyao <xry111@xry111.site>
328
329 * config/loongarch/genopts/loongarch.opt.in: Add
330 -mdirect-extern-access option.
331 * config/loongarch/loongarch.opt: Regenerate.
332 * config/loongarch/loongarch.cc
333 (loongarch_symbol_binds_local_p): Return true if
334 TARGET_DIRECT_EXTERN_ACCESS.
335 (loongarch_option_override_internal): Complain if
336 -mdirect-extern-access is used with -fPIC or -fpic.
337 * doc/invoke.texi: Document -mdirect-extern-access for
338 LoongArch.
339
340 2022-09-05 Martin Liska <mliska@suse.cz>
341
342 * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
343 DEBUGGER_REGNO.
344 * doc/tm.texi: Regenerate.
345
346 2022-09-05 Martin Liska <mliska@suse.cz>
347
348 * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
349 Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
350 (aarch64_debugger_regno): Likewise.
351 * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
352 (aarch64_debugger_regno): Likewise.
353 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
354 (DEBUGGER_REGNO): Likewise.
355 (DWARF_FRAME_REGNUM): Likewise.
356 * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
357 * config/arc/arc.cc (arc_init_reg_tables): Likewise.
358 * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
359 (DEBUGGER_REGNO): Likewise.
360 * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
361 (arm_debugger_regno): Likewise.
362 * config/arm/arm.cc (arm_dbx_regno): Likewise.
363 (arm_debugger_regno): Likewise.
364 * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
365 (DEBUGGER_REGNO): Likewise.
366 * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
367 (DEBUGGER_REGNO): Likewise.
368 * config/c6x/c6x.cc: Likewise.
369 * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
370 (DEBUGGER_REGNO): Likewise.
371 * config/cris/cris.h (enum reg_class): Likewise.
372 (DBX_REGISTER_NUMBER): Likewise.
373 (DEBUGGER_REGNO): Likewise.
374 * config/csky/csky.cc (enum reg_class): Likewise.
375 * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
376 (DBX_REGISTER_NUMBER): Likewise.
377 (DEBUGGER_REGNO): Likewise.
378 * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
379 (DEBUGGER_REGNO): Likewise.
380 * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
381 (DEBUGGER_REGNO): Likewise.
382 * config/gcn/gcn.cc (print_operand): Likewise.
383 * config/i386/bsd.h (ASM_QUAD): Likewise.
384 * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
385 (DEBUGGER_REGNO): Likewise.
386 (DWARF_FRAME_REGNUM): Likewise.
387 * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
388 (DEBUGGER_REGNO): Likewise.
389 * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
390 (DEBUGGER_REGNO): Likewise.
391 * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
392 (DEBUGGER_REGNO): Likewise.
393 * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
394 (DEBUGGER_REGNO): Likewise.
395 * config/i386/gas.h: Likewise.
396 * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
397 (DEBUGGER_REGNO): Likewise.
398 * config/i386/i386.cc (enum reg_class): Likewise.
399 * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
400 (DEBUGGER_REGNO): Likewise.
401 * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
402 (DEBUGGER_REGNO): Likewise.
403 * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
404 (DEBUGGER_REGNO): Likewise.
405 * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
406 (DEBUGGER_REGNO): Likewise.
407 * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
408 (DEBUGGER_REGNO): Likewise.
409 * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
410 (DEBUGGER_REGNO): Likewise.
411 * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
412 (DEBUGGER_REGNO): Likewise.
413 * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
414 (DEBUGGER_REGNO): Likewise.
415 * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
416 (DEBUGGER_REGNO): Likewise.
417 * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
418 (DEBUGGER_REGNO): Likewise.
419 * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
420 (ia64_debugger_regno): Likewise.
421 * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
422 (ia64_dbx_regno): Likewise.
423 (ia64_debugger_regno): Likewise.
424 (process_cfa_adjust_cfa): Likewise.
425 (process_cfa_register): Likewise.
426 (ia64_asm_unwind_emit): Likewise.
427 * config/ia64/ia64.h: Likewise.
428 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
429 (DEBUGGER_REGNO): Likewise.
430 * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
431 (DEBUGGER_REGNO): Likewise.
432 * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
433 * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
434 (DEBUGGER_REGNO): Likewise.
435 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
436 (DEBUGGER_REGNO): Likewise.
437 * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
438 (DEBUGGER_REGNO): Likewise.
439 (__transfer_from_trampoline): Likewise.
440 * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
441 (DEBUGGER_REGNO): Likewise.
442 * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
443 (DBX_REGISTER_NUMBER): Likewise.
444 (DEBUGGER_REGNO): Likewise.
445 * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
446 * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
447 (DEBUGGER_REGNO): Likewise.
448 (GP_DBX_FIRST): Likewise.
449 (GP_DEBUGGER_FIRST): Likewise.
450 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
451 (DEBUGGER_REGNO): Likewise.
452 * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
453 (mmix_debugger_regno): Likewise.
454 * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
455 (mmix_debugger_regno): Likewise.
456 * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
457 (DEBUGGER_REGNO): Likewise.
458 * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
459 (nds32_debugger_regno): Likewise.
460 * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
461 (nds32_debugger_regno): Likewise.
462 (nds32_use_blocks_for_constant_p): Likewise.
463 * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
464 (DEBUGGER_REGNO): Likewise.
465 * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
466 (DEBUGGER_REGNO): Likewise.
467 * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
468 (DEBUGGER_REGNO): Likewise.
469 * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
470 (DEBUGGER_REGNO): Likewise.
471 * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
472 (DEBUGGER_REGNO): Likewise.
473 * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
474 (rs6000_debugger_regno): Likewise.
475 * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
476 (rs6000_debugger_regno): Likewise.
477 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
478 (DEBUGGER_REGNO): Likewise.
479 (DWARF2_FRAME_REG_OUT): Likewise.
480 * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
481 (DEBUGGER_REGNO): Likewise.
482 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
483 (DEBUGGER_REGNO): Likewise.
484 * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
485 (DEBUGGER_REGNO): Likewise.
486 * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
487 (DEBUGGER_REGNO): Likewise.
488 (SH_DBX_REGISTER_NUMBER): Likewise.
489 (SH_DEBUGGER_REGNO): Likewise.
490 * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
491 (DEBUGGER_REGNO): Likewise.
492 * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
493 (DEBUGGER_REGNO): Likewise.
494 * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
495 (DEBUGGER_REGNO): Likewise.
496 * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
497 (DEBUGGER_REGNO): Likewise.
498 * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
499 (xtensa_debugger_regno): Likewise.
500 * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
501 (xtensa_debugger_regno): Likewise.
502 * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
503 (DEBUGGER_REGNO): Likewise.
504 * defaults.h (DBX_REGISTER_NUMBER): Likewise.
505 (DEBUGGER_REGNO): Likewise.
506 (DWARF_FRAME_REGNUM): Likewise.
507 * doc/tm.texi: Likewise.
508 * doc/tm.texi.in: Likewise.
509 * dwarf2out.cc (dbx_reg_number): Likewise.
510 (debugger_reg_number): Likewise.
511 (reg_loc_descriptor): Likewise.
512 (multiple_reg_loc_descriptor): Likewise.
513 (mem_loc_descriptor): Likewise.
514 * except.cc: Likewise.
515
516 2022-09-05 konglin1 <lingling.kong@intel.com>
517
518 PR target/106742
519 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
520 Handle V8BF mode.
521 (expand_vec_perm_broadcast_1): Ditto.
522 * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
523 (vec_set<mode>_0): Add @ to it.
524 (@vec_set<mode>_0): Ditto.
525 (vec_interleave_high<mode><mask_name>): Ditto.
526 (@vec_interleave_high<mode><mask_name>): Ditto.
527 (vec_interleave_low<mode><mask_name>): Ditto.
528 (@vec_interleave_low<mode><mask_name>): Ditto.
529 * config/i386/subst.md (SUBST_V): Add BF vector mode.
530
531 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
532
533 * value-range.cc (early_nan_resolve): Remove.
534 (frange::intersect): Handle NANs.
535
536 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
537
538 * value-range.cc (frange::union_): Do not drop properties when
539 unioning a NAN with something else.
540 (range_tests_signed_zeros): Add tests.
541
542 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
543
544 * real.cc (encode_ieee_single): Use real_isdenormal.
545 (encode_ieee_double): Same.
546 (encode_ieee_extended): Same.
547 (encode_ieee_quad): Same.
548 (encode_ieee_half): Same.
549 (encode_arm_bfloat_half): Same.
550 * real.h (real_isdenormal): New.
551
552 2022-09-03 Aldy Hernandez <aldyh@redhat.com>
553
554 * value-range.cc (frange::singleton_p): Move NAN check to the top.
555
556 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
557
558 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
559
560 2022-09-03 Jakub Jelinek <jakub@redhat.com>
561
562 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
563 (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
564 and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
565 (enum omp_clause_doacross_kind): New type.
566 (struct tree_omp_clause): Add subcode.doacross_kind member.
567 * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
568 (OMP_CLAUSE_DOACROSS_KIND): Define.
569 (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
570 (OMP_CLAUSE_DOACROSS_DEPEND): Define.
571 (OMP_CLAUSE_ORDERED_DOACROSS): Define.
572 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
573 OMP_CLAUSE_DOACROSS entries.
574 * tree-nested.cc (convert_nonlocal_omp_clauses,
575 convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
576 * tree-pretty-print.cc (dump_omp_clause): Don't handle
577 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle
578 OMP_CLAUSE_DOACROSS.
579 * gimplify.cc (gimplify_omp_depend): Don't handle
580 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
581 (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS.
582 (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
583 (find_standalone_omp_ordered): New function.
584 (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
585 body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
586 set OMP_CLAUSE_ORDERED_DOACROSS.
587 (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
588 OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
589 diagnostics that presence or absence of ordered clause parameter
590 is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use
591 actual user name of the clause - doacross or depend - in diagnostics.
592 * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
593 if !OMP_CLAUSE_ORDERED_DOACROSS (t). If
594 OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
595 set fd->ordered to -1 and set it after the loop in that case to
596 fd->collapse.
597 * omp-low.cc (check_omp_nesting_restrictions): Don't handle
598 OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
599 OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross
600 or depend - in diagnostics. Diagnose mixing of stand-alone and
601 block associated ordered constructs binding to the same loop.
602 (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
603 instead handle OMP_CLAUSE_DOACROSS.
604 (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
605 OMP_CLAUSE_DEPEND.
606 (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
607 OMP_CLAUSE_DEPEND_SINK.
608 * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
609 doacross(sink:omp_cur_iteration-1).
610 (expand_omp_ordered_source_sink): Use
611 OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
612 OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause
613 - doacross or depend - in diagnostics.
614 (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
615 OMP_CLAUSE_DEPEND.
616 (build_omp_regions_1): Likewise.
617 (omp_make_gimple_edges): Likewise.
618 * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
619 * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
620 * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
621
622 2022-09-02 David Malcolm <dmalcolm@redhat.com>
623
624 PR c/90885
625 * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
626
627 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
628
629 PR d/105659
630 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
631 * config/aarch64/aarch64-d.cc: Include tm_d.h.
632 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
633 config/aarch64/aarch64-d.h.
634 (aarch64_d_register_target_info): Likewise.
635 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
636 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
637 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
638 tm_p.h.
639 * config/arm/arm-protos.h (arm_d_target_versions): Move to
640 config/arm/arm-d.h.
641 (arm_d_register_target_info): Likewise.
642 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
643 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
644 * config/default-d.cc: Remove memmodel.h include.
645 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
646 * config/glibc-d.cc: Likewise.
647 * config/i386/i386-d.cc: Include tm_d.h.
648 * config/i386/i386-protos.h (ix86_d_target_versions): Move to
649 config/i386/i386-d.h.
650 (ix86_d_register_target_info): Likewise.
651 (ix86_d_has_stdcall_convention): Likewise.
652 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
653 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
654 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
655 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
656 * config/mips/mips-d.cc: Include tm_d.h.
657 * config/mips/mips-protos.h (mips_d_target_versions): Move to
658 config/mips/mips-d.h.
659 (mips_d_register_target_info): Likewise.
660 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
661 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
662 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
663 * config/openbsd-d.cc: Likewise.
664 * config/pa/pa-d.cc: Include tm_d.h.
665 * config/pa/pa-protos.h (pa_d_target_versions): Move to
666 config/pa/pa-d.h.
667 (pa_d_register_target_info): Likewise.
668 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
669 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
670 * config/riscv/riscv-d.cc: Include tm_d.h.
671 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
672 config/riscv/riscv-d.h.
673 (riscv_d_register_target_info): Likewise.
674 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
675 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
676 * config/rs6000/rs6000-d.cc: Include tm_d.h.
677 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
678 config/rs6000/rs6000-d.h.
679 (rs6000_d_register_target_info): Likewise.
680 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
681 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
682 * config/s390/s390-d.cc: Include tm_d.h.
683 * config/s390/s390-protos.h (s390_d_target_versions): Move to
684 config/s390/s390-d.h.
685 (s390_d_register_target_info): Likewise.
686 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
687 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
688 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
689 * config/sparc/sparc-d.cc: Include tm_d.h.
690 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
691 config/sparc/sparc-d.h.
692 (sparc_d_register_target_info): Likewise.
693 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
694 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
695 * configure: Regenerate.
696 * configure.ac (tm_d_file): Remove defaults.h.
697 (tm_d_include_list): Remove options.h and insn-constants.h.
698 * config/aarch64/aarch64-d.h: New file.
699 * config/arm/arm-d.h: New file.
700 * config/i386/i386-d.h: New file.
701 * config/mips/mips-d.h: New file.
702 * config/pa/pa-d.h: New file.
703 * config/riscv/riscv-d.h: New file.
704 * config/rs6000/rs6000-d.h: New file.
705 * config/s390/s390-d.h: New file.
706 * config/sparc/sparc-d.h: New file.
707
708 2022-09-02 Aldy Hernandez <aldyh@redhat.com>
709
710 * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
711 (fold_builtin_fpclassify): Same.
712 * fold-const-call.cc (fold_const_call_cc): Same.
713 * match.pd: Same.
714 * omp-low.cc (omp_reduction_init_op): Same.
715 * realmpfr.cc (real_from_mpfr): Same.
716 * tree.cc (build_complex_inf): Same.
717
718 2022-09-02 Peter Bergner <bergner@linux.ibm.com>
719
720 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
721 NOP_EXPR for MMA pointer casting.
722
723 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
724
725 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
726 Reduce the fallback cost to 1. Only use it if the number of
727 input lanes is equal to the number of output lanes.
728
729 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
730
731 PR tree-optimization/106787
732 * tree-vect-slp.cc (vect_map_to_instance): New function, split out
733 from...
734 (vect_bb_partition_graph_r): ...here. Replace the visited set
735 with a map from nodes to instances. Ensure that a node only
736 appears in one partition.
737 (vect_bb_partition_graph): Update accordingly.
738
739 2022-09-02 Richard Biener <rguenther@suse.de>
740
741 * timevar.def (TV_TREE_RPO_VN): New.
742 * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
743 * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
744 (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
745 (pass_fre::execute): Adjust.
746 * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
747
748 2022-09-02 Richard Biener <rguenther@suse.de>
749
750 PR tree-optimization/106809
751 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
752 more than one successor before doing extra work.
753
754 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
755
756 * common/config/riscv/riscv-common.cc: Include <vector>.
757 (struct riscv_multi_lib_info_t): New.
758 (riscv_subset_list::match_score): Ditto.
759 (find_last_appear_switch): Ditto.
760 (prefixed_with): Ditto.
761 (struct multi_lib_info_t): Ditto.
762 (riscv_current_arch_str): Ditto.
763 (riscv_current_abi_str): Ditto.
764 (riscv_multi_lib_info_t::parse): Ditto.
765 (riscv_check_cond): Ditto.
766 (riscv_check_conds): Ditto.
767 (riscv_compute_multilib): Ditto.
768 (TARGET_COMPUTE_MULTILIB): Defined.
769 * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
770 doing link.
771 (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
772 * config/riscv/riscv.h (riscv_multi_lib_check): New.
773 (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
774 * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
775
776 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
777
778 * common/common-target.def (compute_multilib): New.
779 * common/common-targhooks.h (default_compute_multilib): New.
780 * common/common-targhooks.cc (default_compute_multilib): New.
781 * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
782 * doc/tm.texi: Regen.
783 * gcc.cc: Include common/common-target.h.
784 (set_multilib_dir) Call targetm_common.compute_multilib.
785 (SWITCH_LIVE): Move to opts.h.
786 (SWITCH_FALSE): Ditto.
787 (SWITCH_IGNORE): Ditto.
788 (SWITCH_IGNORE_PERMANENTLY): Ditto.
789 (SWITCH_KEEP_FOR_GCC): Ditto.
790 (struct switchstr): Ditto.
791 * opts.h (SWITCH_LIVE): Move from gcc.c.
792 (SWITCH_FALSE): Ditto.
793 (SWITCH_IGNORE): Ditto.
794 (SWITCH_IGNORE_PERMANENTLY): Ditto.
795 (SWITCH_KEEP_FOR_GCC): Ditto.
796 (struct switchstr): Ditto.
797
798 2022-09-02 Martin Liska <mliska@suse.cz>
799
800 * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
801 debugging format.
802
803 2022-09-02 Martin Liska <mliska@suse.cz>
804
805 * Makefile.in: Remove -gstabs option support, DBX-related
806 macros and DBX debugging info support.
807 * collect2.cc (scan_prog_file): Likewise.
808 * common.opt: Likewise.
809 * config.gcc: Likewise.
810 * config.in: Likewise.
811 * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
812 * config/alpha/alpha.cc: Likewise.
813 * config/alpha/elf.h (ASM_SPEC): Likewise.
814 * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
815 (DBX_CONTIN_LENGTH): Likewise.
816 * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
817 (DBX_CONTIN_LENGTH): Likewise.
818 * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
819 * config/darwin.h (DSYMUTIL_SPEC): Likewise.
820 (ASM_DEBUG_SPEC): Likewise.
821 (DBX_DEBUGGING_INFO): Likewise.
822 (DBX_USE_BINCL): Likewise.
823 (DBX_CONTIN_LENGTH): Likewise.
824 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
825 * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
826 (DBX_CONTIN_LENGTH): Likewise.
827 * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
828 (DBX_CONTIN_LENGTH): Likewise.
829 * config/i386/gas.h (DBX_NO_XREFS): Likewise.
830 (DBX_CONTIN_LENGTH): Likewise.
831 * config/ia64/ia64.h: Likewise.
832 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
833 * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
834 * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
835 (DBX_CONTIN_LENGTH): Likewise.
836 (DBX_CONTIN_CHAR): Likewise.
837 * config/mips/mips.cc (mips_output_filename): Likewise.
838 (mips_option_override): Likewise.
839 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
840 (DBX_DEBUGGING_INFO): Likewise.
841 (DBX_CONTIN_LENGTH): Likewise.
842 (DBX_REGISTER_NUMBER): Likewise.
843 (GP_DBX_FIRST): Likewise.
844 (FP_DBX_FIRST): Likewise.
845 (MD_DBX_FIRST): Likewise.
846 * config/nvptx/nvptx.cc: Likewise.
847 * config/openbsd.h (DBX_NO_XREFS): Likewise.
848 * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
849 * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
850 (DBX_CONTIN_LENGTH): Likewise.
851 * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
852 (DBX_USE_BINCL): Likewise.
853 (DBX_LINES_FUNCTION_RELATIVE): Likewise.
854 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
855 * config/pdp11/pdp11.cc: Likewise.
856 * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
857 (PREFERRED_DEBUGGING_TYPE): Likewise.
858 (DBX_CONTIN_LENGTH): Likewise.
859 * config/rs6000/rs6000-builtin.cc: Likewise.
860 * config/rs6000/rs6000-call.cc: Likewise.
861 * config/rs6000/rs6000-logue.cc (defined): Likewise.
862 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
863 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
864 (rs6000_xcoff_declare_function_name): Likewise.
865 * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
866 (DBX_FUNCTION_FIRST): Likewise.
867 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
868 * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
869 * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
870 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
871 * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
872 * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
873 * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
874 * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
875 * config/vax/vax.cc (vax_file_start): Likewise.
876 * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
877 (DBX_CONTIN_LENGTH): Likewise.
878 (DBX_CONTIN_CHAR): Likewise.
879 (DBX_NO_XREFS): Likewise.
880 (DBX_STATIC_STAB_DATA_SECTION): Likewise.
881 * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
882 (XCOFF_DEBUGGING_INFO): Likewise.
883 * configure: Regenerate. Likewise.
884 * configure.ac: Likewise.
885 * debug.h: Likewise.
886 * doc/install.texi: Likewise.
887 * doc/invoke.texi: Likewise.
888 * doc/passes.texi: Likewise.
889 * doc/tm.texi: Likewise.
890 * doc/tm.texi.in: Likewise.
891 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
892 (dw2_asm_output_nstring): Likewise.
893 (USE_LINKONCE_INDIRECT): Likewise.
894 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
895 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
896 (output_fde): Likewise.
897 (output_call_frame_info): Likewise.
898 (have_macinfo): Likewise.
899 (add_AT_loc_list): Likewise.
900 (add_AT_view_list): Likewise.
901 (output_compilation_unit_header): Likewise.
902 (output_pubnames): Likewise.
903 (output_aranges): Likewise.
904 (output_line_info): Likewise.
905 (output_macinfo): Likewise.
906 (dwarf2out_finish): Likewise.
907 (dwarf2out_early_finish): Likewise.
908 * final.cc (final_scan_insn_1): Likewise.
909 (rest_of_handle_final): Likewise.
910 * flag-types.h (enum debug_info_type): Likewise.
911 (DBX_DEBUG): Likewise.
912 (XCOFF_DEBUG): Likewise.
913 * function.cc (defined): Likewise.
914 * gcc.cc (defined): Likewise.
915 (ASM_DEBUG_SPEC): Likewise.
916 (ASM_DEBUG_OPTION_SPEC): Likewise.
917 * opts.cc (common_handle_option): Likewise.
918 (set_debug_level): Likewise.
919 * system.h (fancy_abort): Likewise.
920 * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
921 (TARGET_ASM_DESTRUCTOR): Likewise.
922 * toplev.cc (defined): Likewise.
923 * varasm.cc: Likewise.
924 * config/dbxcoff.h: Removed.
925 * config/dbxelf.h: Removed.
926 * dbxout.cc: Removed.
927 * dbxout.h: Removed.
928 * gstab.h: Removed.
929 * stab.def: Removed.
930 * xcoffout.cc: Removed.
931 * xcoffout.h: Removed.
932
933 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com>
934
935 PR ipa/106627
936 * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
937 Set TREE_NOTHROW correctly for dispatcher declaration.
938 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
939 Likewise.
940
941 2022-09-01 Tamar Christina <tamar.christina@arm.com>
942
943 PR other/106782
944 * config/aarch64/aarch64.cc
945 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
946 HOST_WIDE_INT_PRINT_UNSIGNED.
947
948 2022-09-01 Richard Sandiford <richard.sandiford@arm.com>
949
950 * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
951 VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
952 to the number of vector elements, if that's a known constant.
953 (vect_optimize_slp_pass::is_compatible_layout): Remove associated
954 comment about zero SLP_TREE_LANES.
955 (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
956 all partition members when looking for potential layouts.
957 Handle existing permutes of fixed-length vectors.
958
959 2022-09-01 Uroš Bizjak <ubizjak@gmail.com>
960
961 PR target/106707
962 * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
963 Do not convert a move pattern where both operands are AX_REG.
964
965 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
966
967 * range-op-float.cc (build_le): Convert to dconst*inf.
968 (build_ge): Same.
969 * value-range.cc (frange::set_signbit): Same.
970 (frange::normalize_kind): Same.
971 (range_tests_floats): Same.
972 * value-range.h (vrp_val_max): Same.
973 (vrp_val_min): Same.
974 (frange::set_varying): Same.
975
976 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
977
978 * emit-rtl.cc (init_emit_once): Initialize dconstinf and
979 dconstninf.
980 * real.h: Add dconstinf and dconstninf.
981
982 2022-09-01 Richard Biener <rguenther@suse.de>
983
984 * gimple-predicate-analysis.cc (compute_control_dep_chain):
985 Remove cycle detection, instead avoid walking backedges.
986
987 2022-09-01 Richard Biener <rguenther@suse.de>
988
989 * gimple-predicate-analysis.cc (compute_control_dep_chain):
990 New wrapping overload.
991 (uninit_analysis::init_use_preds): Simplify.
992 (uninit_analysis::init_from_phi_def): Likewise.
993
994 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
995
996 * gimple-range-fold.cc
997 (fold_using_range::range_of_builtin_int_call): Add case for
998 CFN_BUILT_IN_SIGNBIT.
999
1000 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
1001
1002 * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
1003 bit.
1004 (foperator_not_equal::op1_range): Same.
1005 * value-query.cc (range_query::get_tree_range): Set sign bit.
1006 * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
1007 * value-range.cc (frange::set_signbit): New.
1008 (frange::set): Adjust for sign bit.
1009 (frange::normalize_kind): Same.
1010 (frange::union_): Remove useless comment.
1011 (frange::intersect): Same.
1012 (frange::contains_p): Adjust for sign bit.
1013 (frange::singleton_p): Same.
1014 (frange::verify_range): Same.
1015 (range_tests_signbit): New tests.
1016 (range_tests_floats): Call range_tests_signbit.
1017 * value-range.h (class frange_props): Add signbit
1018 (class frange): Same.
1019
1020 2022-09-01 Jakub Jelinek <jakub@redhat.com>
1021
1022 PR other/106782
1023 * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
1024 instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
1025 * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
1026 derived types of gimple to gimple * to avoid -Wformat warnings.
1027 * tree-vect-loop-manip.cc (vect_set_loop_condition,
1028 vect_update_ivs_after_vectorizer): Likewise.
1029 * tree-vect-stmts.cc (vectorizable_load): Likewise.
1030 * tree-vect-patterns.cc (vect_split_statement,
1031 vect_recog_mulhs_pattern, vect_recog_average_pattern,
1032 vect_determine_precisions_from_range,
1033 vect_determine_precisions_from_users): Likewise.
1034 * gimple-loop-versioning.cc
1035 (loop_versioning::analyze_term_using_scevs): Likewise.
1036 * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
1037 (vect_build_slp_tree): Cast slp_tree to void * to avoid
1038 -Wformat warnings.
1039 (optimize_load_redistribution_1, vect_match_slp_patterns,
1040 vect_build_slp_instance, vect_optimize_slp_pass::materialize,
1041 vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
1042 vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
1043 (vect_print_slp_tree): Likewise. Also use
1044 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
1045 * tree-vect-loop.cc (vect_determine_vectorization_factor,
1046 vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
1047 vectorizable_induction, vect_transform_loop): Cast pointers to derived
1048 types of gimple to gimple * to avoid -Wformat warnings.
1049 (vect_analyze_loop_2): Cast slp_tree to void * to avoid
1050 -Wformat warnings.
1051 (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
1052 instead of %d.
1053 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
1054 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
1055 instead of SLP_TREE_DEF_TYPE (node).
1056
1057 2022-09-01 Jakub Jelinek <jakub@redhat.com>
1058
1059 PR c++/106655
1060 * doc/invoke.texi (-Winvalid-utf8): Document it.
1061
1062 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
1063
1064 PR tree-optimization/106785
1065 * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
1066 (range_tests_floats): Same.
1067
1068 2022-09-01 konglin1 <lingling.kong@intel.com>
1069
1070 * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
1071 recognition.
1072
1073 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
1074
1075 PR target/101322
1076 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
1077 Enforce the use of a valid MMA pointer type.
1078
1079 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
1080
1081 * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
1082 registers.
1083
1084 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
1085
1086 * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
1087 (riscv_output_move): Add csrr vlenb assembly.
1088 * config/riscv/riscv.md (move_type): Add csrr vlenb type.
1089 (ext): New attribute.
1090 (ext_enabled): Ditto.
1091 (enabled): Ditto.
1092
1093 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
1094
1095 * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
1096 "vr" constraint.
1097 (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
1098 (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
1099 (vp): Add poly constraint.
1100
1101 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
1102
1103 * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
1104
1105 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
1106
1107 * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
1108 configuration according to TARGET_MIN_VLEN.
1109 * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
1110
1111 2022-08-31 Martin Liska <mliska@suse.cz>
1112
1113 * config.build: Remove deprecated ports.
1114 * config.gcc: Likewise.
1115 * config.host: Likewise.
1116 * configure.ac: Likewise.
1117 * configure: Regenerate.
1118 * config/pa/pa-hpux10.h: Removed.
1119 * config/pa/pa-hpux10.opt: Removed.
1120 * config/pa/t-dce-thr: Removed.
1121
1122 2022-08-31 Martin Liska <mliska@suse.cz>
1123
1124 * Makefile.in: Always install limits.h and syslimits.h to
1125 include folder.
1126 * configure.ac: Assign STMP_FIXINC blank if
1127 --disable-fixincludes is used.
1128 * configure: Regenerate.
1129
1130 2022-08-31 Richard Biener <rguenther@suse.de>
1131
1132 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
1133 Assert the guard_bb isn't empty and has more than one successor.
1134 Drop appropriate parts of the predicate when an edge fails to
1135 register a predicate.
1136 (predicate::dump): Dump empty predicate as TRUE.
1137
1138 2022-08-31 Richard Biener <rguenther@suse.de>
1139
1140 PR tree-optimization/90994
1141 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
1142 Ignore exceptional control flow and skip the edge for the purpose of
1143 predicate generation also for non-calls.
1144
1145 2022-08-31 Aldy Hernandez <aldyh@redhat.com>
1146
1147 * value-range-storage.cc (frange_storage_slot::set_frange): Save
1148 endpoints.
1149 (frange_storage_slot::get_frange): Restore endpoints.
1150 * value-range-storage.h (class frange_storage_slot): Add endpoint
1151 fields.
1152
1153 2022-08-31 Martin Liska <mliska@suse.cz>
1154
1155 PR tree-optimization/106789
1156 * range-op-float.cc (default_frelop_fold_range): Remove the
1157 function.
1158
1159 2022-08-31 Martin Liska <mliska@suse.cz>
1160
1161 * value-range.h: Add more override keywords.
1162
1163 2022-08-31 Martin Liska <mliska@suse.cz>
1164
1165 * value-range.h: Add override.
1166
1167 2022-08-31 Richard Biener <rguenther@suse.de>
1168
1169 PR tree-optimization/65244
1170 * gimple-predicate-analysis.h (predicate::init_from_control_deps):
1171 Add argument to specify whether the predicate is for the USE.
1172 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
1173 Also include predicates effective fallthru control edges when
1174 the predicate is for the USE.
1175
1176 2022-08-31 Richard Biener <rguenther@suse.de>
1177
1178 PR tree-optimization/73550
1179 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
1180 Sanitize debug dumping. Handle case labels with a CASE_HIGH.
1181 (predicate::dump): Adjust for better readability.
1182
1183 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1184 Jakub Jelinek <jakub@redhat.com>
1185
1186 * omp-simd-clone.cc (simd_clone_adjust_return_type,
1187 simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
1188 instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
1189
1190 2022-08-31 Richard Sandiford <richard.sandiford@arm.com>
1191
1192 * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
1193 argument.
1194
1195 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai>
1196
1197 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
1198 initialize const_vf to 0.
1199
1200 2022-08-31 Martin Liska <mliska@suse.cz>
1201
1202 * config.gcc: Remove cr16.
1203
1204 2022-08-30 Martin Jambor <mjambor@suse.cz>
1205
1206 * vec.h (array_slice): Add constructors for non-const reference to
1207 heap vector and pointers to heap vectors.
1208
1209 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
1210
1211 * value-range.cc (early_nan_resolve): Change comment.
1212 (frange::union_): Handle union when one side is a NAN.
1213 (range_tests_nan): Add tests for NAN union.
1214
1215 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
1216
1217 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
1218 (gcn_simd_clone_adjust): New.
1219 (gcn_simd_clone_usable): New.
1220 (TARGET_SIMD_CLONE_ADJUST): New.
1221 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
1222 (TARGET_SIMD_CLONE_USABLE): New.
1223
1224 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
1225
1226 * doc/tm.texi: Regenerate.
1227 * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
1228 vecsize.
1229 (simd_clone_adjust_argument_types): Likewise.
1230 * target.def (compute_vecsize_and_simdlen): Document the new
1231 vecsize_int and vecsize_float semantics.
1232
1233 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
1234
1235 * expmed.cc (store_bit_field_1): Fix byte offset calculation
1236 for undefined structures.
1237
1238 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
1239
1240 * params.opt (-param=vect-max-layout-candidates=): New parameter.
1241 * doc/invoke.texi (vect-max-layout-candidates): Document it.
1242 * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
1243 (auto_load_permutation_t): Likewise.
1244 * tree-vect-slp.cc (vect_slp_node_weight): New function.
1245 (slpg_layout_cost): New class.
1246 (slpg_vertex): Replace perm_in and perm_out with partition,
1247 out_degree, weight and out_weight.
1248 (slpg_partition_info, slpg_partition_layout_costs): New classes.
1249 (vect_optimize_slp_pass): Likewise, cannibalizing some part of
1250 the previous vect_optimize_slp.
1251 (vect_optimize_slp): Use it.
1252
1253 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
1254
1255 * hash-traits.h (vec_hash_base): New class.
1256 (vec_free_hash_base): Likewise.
1257
1258 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
1259
1260 * hash-traits.h (int_hash_base): New struct, split out from...
1261 (int_hash): ...this class, which now inherits from int_hash_base.
1262 * hash-map-traits.h (unbounded_hashmap_traits): Take a template
1263 parameter for the key that provides hash and equality functions.
1264 (unbounded_int_hashmap_traits): Turn into a type alias of
1265 unbounded_hashmap_traits.
1266
1267 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
1268
1269 * graphds.cc (graphds_scc): Add a pass-back parameter for the
1270 final node order.
1271 * graphds.h (graphds_scc): Update prototype accordingly.
1272
1273 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
1274
1275 * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
1276 (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead
1277 of STMT_VINFO_VECTYPE.
1278
1279 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
1280
1281 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
1282 (vectorizable_slp_permutation): ...here.
1283
1284 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
1285
1286 * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
1287 that the requested number of units is interoperable with the requested
1288 prevailing mode.
1289
1290 2022-08-30 Martin Liska <mliska@suse.cz>
1291
1292 * config.gcc: Remove the port.
1293 * config/m32c/rtems.h: Removed.
1294
1295 2022-08-30 Richard Biener <rguenther@suse.de>
1296
1297 PR tree-optimization/73550
1298 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
1299 Do not apply MAX_NUM_CHAINS again.
1300
1301 2022-08-30 Richard Biener <rguenther@suse.de>
1302
1303 * gimple-predicate-analysis.cc (format_edge_vec): Dump
1304 both source and destination.
1305 (dump_dep_chains): Remove.
1306 (uninit_analysis::init_use_preds): Remove redundant
1307 dumping of chains.
1308
1309 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
1310
1311 * value-range-storage.cc (frange_storage_slot::get_frange): Use
1312 frange_nan.
1313 * value-range.cc (frange::set_nan): New.
1314 (frange_nan): Move to header file.
1315 (range_tests_nan): Adjust frange_nan callers to pass type.
1316 New test.
1317 * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
1318 (frange_nan): New.
1319
1320 2022-08-30 Richard Biener <rguenther@suse.de>
1321
1322 PR tree-optimization/67196
1323 * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
1324 Simplify and normalize use prediates before first use.
1325
1326 2022-08-30 Richard Biener <rguenther@suse.de>
1327
1328 * gimple-predicate-analysis.cc (dump_pred_chain): Fix
1329 parentizing and AND prepending.
1330 (predicate::dump): Do not dump the GENERIC expanded
1331 predicate, properly parentize and prepend ORs to the
1332 piecewise predicate dump.
1333 (build_pred_expr): Remove.
1334
1335 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
1336
1337 * range-op-float.cc (finite_operand_p): New.
1338 (build_le): New.
1339 (build_lt): New.
1340 (build_ge): New.
1341 (build_gt): New.
1342 (foperator_equal::fold_range): New implementation with endpoints.
1343 (foperator_equal::op1_range): Same.
1344 (foperator_not_equal::fold_range): Same.
1345 (foperator_not_equal::op1_range): Same.
1346 (foperator_lt::fold_range): Same.
1347 (foperator_lt::op1_range): Same.
1348 (foperator_lt::op2_range): Same.
1349 (foperator_le::fold_range): Same.
1350 (foperator_le::op1_range): Same.
1351 (foperator_le::op2_range): Same.
1352 (foperator_gt::fold_range): Same.
1353 (foperator_gt::op1_range): Same.
1354 (foperator_gt::op2_range): Same.
1355 (foperator_ge::fold_range): Same.
1356 (foperator_ge::op1_range): Same.
1357 (foperator_ge::op2_range): Same.
1358
1359 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
1360
1361 * range-op-float.cc (frange_set_nan): New.
1362 (frange_drop_inf): New.
1363 (frange_drop_ninf): New.
1364 (foperator_equal::op1_range): Adjust for endpoints.
1365 (foperator_lt::op1_range): Same.
1366 (foperator_lt::op2_range): Same.
1367 (foperator_gt::op1_range): Same.
1368 (foperator_gt::op2_range): Same.
1369 (foperator_unordered::op1_range): Same.
1370 * value-query.cc (range_query::get_tree_range): Same.
1371 * value-range-pretty-print.cc (vrange_printer::visit): Same.
1372 * value-range-storage.cc (frange_storage_slot::get_frange): Same.
1373 * value-range.cc (frange::set): Same.
1374 (frange::normalize_kind): Same.
1375 (frange::union_): Same.
1376 (frange::intersect): Same.
1377 (frange::operator=): Same.
1378 (early_nan_resolve): New.
1379 (frange::contains_p): New.
1380 (frange::singleton_p): New.
1381 (frange::set_nonzero): New.
1382 (frange::nonzero_p): New.
1383 (frange::set_zero): New.
1384 (frange::zero_p): New.
1385 (frange::set_nonnegative): New.
1386 (frange_float): New.
1387 (frange_nan): New.
1388 (range_tests_nan): New.
1389 (range_tests_signed_zeros): New.
1390 (range_tests_floats): New.
1391 (range_tests): New.
1392 * value-range.h (frange::lower_bound): New.
1393 (frange::upper_bound): New.
1394 (vrp_val_min): Use real_inf with a sign instead of negating inf.
1395 (frange::frange): New.
1396 (frange::set_varying): Adjust for endpoints.
1397 (real_max_representable): New.
1398 (real_min_representable): New.
1399
1400 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
1401
1402 * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
1403 for real zero.
1404
1405 2022-08-30 Martin Liska <mliska@suse.cz>
1406
1407 * config/s390/s390.cc (s390_rtx_costs): Use proper type as
1408 argument.
1409
1410 2022-08-30 Richard Biener <rguenther@suse.de>
1411
1412 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
1413 the set of fallthru reachable blocks from function entry
1414 and use that to determine wlims.always_executed.
1415
1416 2022-08-30 Richard Biener <rguenther@suse.de>
1417
1418 PR tree-optimization/56654
1419 * tree-ssa-uninit.cc (cand_cmp): New.
1420 (find_uninit_use): First process all PHIs and collect candidate
1421 stmts, then sort those after RPO.
1422 (warn_uninitialized_phi): Pass on bb_to_rpo.
1423 (execute_late_warn_uninitialized): Compute and pass on
1424 reverse lookup of RPO number from basic block index.
1425
1426 2022-08-30 Richard Biener <rguenther@suse.de>
1427
1428 * gimple-predicate-analysis.h (uninit_analysis::operator()):
1429 Remove.
1430 * gimple-predicate-analysis.cc
1431 (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
1432 simplify a bit.
1433 * tree-ssa-uninit.cc (defined_args): New global.
1434 (compute_uninit_opnds_pos): Mask with the recorded set
1435 of guarded maybe-uninitialized uses.
1436 (uninit_undef_val_t::operator()): Remove.
1437 (find_uninit_use): Process all PHI uses, recording the
1438 guarded ones and marking the PHI result as uninitialized
1439 consistently.
1440 (warn_uninitialized_phi): Adjust.
1441 (execute_late_warn_uninitialized): Get rid of the PHI worklist
1442 and instead walk the function in RPO order.
1443 * spellcheck.h (best_match::m_best_candidate_len): Initialize.
1444
1445 2022-08-30 Tamar Christina <tamar.christina@arm.com>
1446
1447 PR tree-optimization/106744
1448 * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
1449
1450 2022-08-30 Tamar Christina <tamar.christina@arm.com>
1451
1452 * expmed.cc (store_bit_field_1): Initialize regnum to 0.
1453
1454 2022-08-29 David Faust <david.faust@oracle.com>
1455
1456 PR target/106745
1457 * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
1458 computation of index for anonymous members.
1459
1460 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com>
1461
1462 * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
1463 target macro.
1464
1465 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
1466
1467 PR target/106748
1468 * config/i386/i386-expand.cc
1469 (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
1470 * config/i386/sse.md (V_256H): Add V16BF.
1471
1472 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
1473
1474 * config/s390/s390.cc (s390_address_cost): Declare.
1475 (s390_hard_regno_nregs): Declare.
1476 (s390_rtx_costs): Add handling for REG and MEM in SET.
1477
1478 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
1479
1480 * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
1481 (is_reverse_perm_mask): New function.
1482 (expand_perm_with_rot): Recognize reverse pattern.
1483 (expand_perm_with_vstbrq): New function.
1484 (expand_perm_with_vster): Use vler/vster for element reversal on z15.
1485 (vectorize_vec_perm_const_1): Use.
1486 (s390_vectorize_vec_perm_const): Add expand functions.
1487 * config/s390/vx-builtins.md: Prefer vster over vler.
1488
1489 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
1490
1491 * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
1492 * config/s390/vector.md: Rewrite patterns to use vec_select.
1493 * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
1494 Likewise.
1495
1496 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
1497
1498 PR target/100869
1499 * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
1500 (rotl<mode>3_di): New pattern.
1501 * config/s390/vx-builtins.md: Use vpdi and verll for reversing
1502 elements.
1503
1504 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
1505
1506 * config/s390/s390.cc (s390_issue_rate): Add z15.
1507
1508 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
1509
1510 * common/config/s390/s390-common.cc: Enable -funroll-loops and
1511 -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
1512 * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
1513 loops larger than 12 instructions.
1514 (s390_override_options_after_change): Set unroll options.
1515 (s390_option_override_internal): Likewise.
1516 * config/s390/s390.opt: Document munroll-only-small-loops.
1517
1518 2022-08-29 Richard Biener <rguenther@suse.de>
1519
1520 * gimple-predicate-analysis.cc (is_loop_exit,
1521 find_control_equiv_block): Inline into single caller ...
1522 (uninit_analysis::init_use_preds): ... here and refactor.
1523
1524 2022-08-29 Richard Biener <rguenther@suse.de>
1525
1526 * gimple-predicate-analysis.cc (compute_control_dep_chain):
1527 Inline is_loop_exit and refactor, add comment about
1528 loop exits.
1529
1530 2022-08-29 Kito Cheng <kito.cheng@sifive.com>
1531
1532 * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
1533 (riscv_frame_info::reset(void)): New.
1534 (riscv_compute_frame_info): Use riscv_frame_info::reset instead
1535 of memset when clean frame.
1536
1537 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
1538
1539 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
1540 (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
1541 (riscv_address_insns): Add RVV modes condition.
1542 (riscv_binary_cost): Ditto.
1543 (riscv_rtx_costs): Adjust cost for RVV.
1544 (riscv_secondary_memory_needed): Add RVV modes condition.
1545 (riscv_hard_regno_nregs): Add RVV register allocation.
1546 (riscv_hard_regno_mode_ok): Add RVV register allocation.
1547 (riscv_class_max_nregs): Add RVV register allocation.
1548 * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
1549 (UNITS_PER_V_REG): New macro.
1550 (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
1551 (V_REG_FIRST): New macro.
1552 (V_REG_LAST): Ditto.
1553 (V_REG_NUM): Ditto.
1554 (V_REG_P): Ditto.
1555 (VL_REG_P): Ditto.
1556 (VTYPE_REG_P): Ditto.
1557 (RISCV_DWARF_VL): Ditto.
1558 (RISCV_DWARF_VTYPE): Ditto.
1559 (enum reg_class): Add RVV register types.
1560 (REG_CLASS_CONTENTS): Add RVV register types.
1561 * config/riscv/riscv.md: Add VL/VTYPE register number constants.
1562
1563 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
1564
1565 * config/riscv/riscv.md: Add new type for vector instructions.
1566
1567 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
1568
1569 PR target/106017
1570 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
1571 of MMA pointer conversions.
1572
1573 2022-08-27 Xi Ruoyao <xry111@xry111.site>
1574
1575 * config/i386/gcc-auto-profile: Regenerate.
1576
1577 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
1578
1579 * real.cc (real_iszero): New.
1580 * real.h (real_iszero): New.
1581
1582 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
1583
1584 * real.cc (real_isinf): New overload.
1585 (real_inf): Add sign argument.
1586 * real.h (real_isinf): New overload.
1587 (real_inf): Add sign argument.
1588
1589 2022-08-26 Marek Polacek <polacek@redhat.com>
1590
1591 PR c++/81159
1592 * doc/invoke.texi: Document -Wself-move.
1593
1594 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
1595
1596 * value-range.cc (vrange::set): Set varying.
1597 (vrange::set_nonzero): Same.
1598 (vrange::set_zero): Same.
1599 (vrange::set_nonnegative): Same.
1600
1601 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
1602
1603 * range-op-float.cc (foperator_equal::op1_range): Do not blindly
1604 copy op2 range when honoring signed zeros.
1605
1606 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
1607
1608 * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
1609 add newline.
1610 (profitable_path_p): Same.
1611
1612 2022-08-26 Richard Biener <rguenther@suse.de>
1613
1614 * gimple-predicate-analysis.h
1615 (uninit_analysis::use_cannot_happen): Remove.
1616 * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
1617 (uninit_analysis::use_cannot_happen): Likewise.
1618 (uninit_analysis::is_use_guarded): Do not call
1619 use_cannot_happen.
1620 (dump_predicates): Remove.
1621 (simple_control_dep_chain): Remove edge overload.
1622
1623 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
1624
1625 * internal-fn.cc (expand_GOMP_TARGET_REV): New.
1626 * internal-fn.def (GOMP_TARGET_REV): New.
1627 * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
1628 'omp target device_ancestor_host' as in_other_partition and don't
1629 error if absent.
1630 * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
1631 * omp-expand.cc (expand_omp_target): For reverse offload, remove
1632 sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
1633 empty-body nohost function.
1634 * omp-offload.cc (execute_omp_device_lower): Handle
1635 IFN_GOMP_TARGET_REV.
1636 (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
1637 nullify fn argument for reverse offload
1638
1639 2022-08-26 Jakub Jelinek <jakub@redhat.com>
1640
1641 * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
1642 * builtins.cc (expand_builtin_issignaling): New function.
1643 (expand_builtin_signbit): Don't overwrite target.
1644 (expand_builtin): Handle BUILT_IN_ISSIGNALING.
1645 (fold_builtin_classify): Likewise.
1646 (fold_builtin_1): Likewise.
1647 * optabs.def (issignaling_optab): New.
1648 * fold-const-call.cc (fold_const_call_ss): Handle
1649 BUILT_IN_ISSIGNALING.
1650 * config/i386/i386.md (issignalingxf2): New expander.
1651 * doc/extend.texi (__builtin_issignaling): Document.
1652 (__builtin_isinf, __builtin_isnan): Clarify behavior with
1653 -ffinite-math-only.
1654 * doc/md.texi (issignaling<mode>2): Likewise.
1655
1656 2022-08-26 Jakub Jelinek <jakub@redhat.com>
1657
1658 PR tree-optimization/106099
1659 * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
1660 * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
1661 __builtin_trap to avoid the need of vops.
1662
1663 2022-08-26 Richard Biener <rguenther@suse.de>
1664
1665 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
1666 New helper.
1667 (compute_control_dep_chain): Adjust to honor marked region
1668 if provided.
1669 (uninit_analysis::init_from_phi_def): Pre-mark the dominating
1670 region to improve compute_control_dep_chain walking.
1671 * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
1672
1673 2022-08-26 Richard Biener <rguenther@suse.de>
1674
1675 * gimple-predicate-analysis.cc
1676 (uninit_analysis::collect_phi_def_edges): Only expand a
1677 PHI def edge when it is possibly undefined.
1678
1679 2022-08-26 Martin Liska <mliska@suse.cz>
1680
1681 * doc/extend.texi: Remove cr16 related stuff.
1682 * doc/install.texi: Likewise.
1683 * doc/invoke.texi: Likewise.
1684 * doc/md.texi: Likewise.
1685 * function-tests.cc (test_expansion_to_rtl): Likewise.
1686 * common/config/cr16/cr16-common.cc: Removed.
1687 * config/cr16/constraints.md: Removed.
1688 * config/cr16/cr16-protos.h: Removed.
1689 * config/cr16/cr16.cc: Removed.
1690 * config/cr16/cr16.h: Removed.
1691 * config/cr16/cr16.md: Removed.
1692 * config/cr16/cr16.opt: Removed.
1693 * config/cr16/predicates.md: Removed.
1694 * config/cr16/t-cr16: Removed.
1695
1696 2022-08-26 liuhongt <hongtao.liu@intel.com>
1697
1698 PR target/106704
1699 * config/i386/i386-builtin.def (BDESC): Add
1700 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
1701 corresponding builtins.
1702 * config/i386/i386.cc (ix86_gimple_fold_builtin):
1703 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
1704 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
1705
1706 2022-08-25 Marek Polacek <polacek@redhat.com>
1707
1708 * ginclude/stddef.h: Define nullptr_t.
1709
1710 2022-08-25 Joseph Myers <joseph@codesourcery.com>
1711
1712 * gimplify.cc (gimplify_modify_expr): Convert initialization from
1713 a variable-size CONSTRUCTOR to memset before call to
1714 gimplify_modify_expr_rhs.
1715
1716 2022-08-25 Jason Merrill <jason@redhat.com>
1717
1718 * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
1719
1720 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
1721
1722 PR target/106101
1723 * config/s390/predicates.md (subreg_register_operand): New
1724 predicate.
1725 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
1726 function prototype.
1727 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
1728 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
1729 gen_lowpart.
1730 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
1731 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
1732 ("movstrictqi", "movstricthi", "movstrictsi"): Use the
1733 subreg_register_operand predicate instead of register_operand.
1734
1735 2022-08-25 Xi Ruoyao <xry111@xry111.site>
1736
1737 * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
1738 Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
1739 * config/loongarch/loongarch.cc (loongarch_attribute_table):
1740 New attribute table.
1741 (TARGET_ATTRIBUTE_TABLE): Define the target hook.
1742 (loongarch_handle_model_attribute): New static function.
1743 (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
1744 model attribute of SYMBOL_REF_DECL into account returning
1745 SYMBOL_PCREL or SYMBOL_PCREL64.
1746 (loongarch_use_anchors_for_symbol_p): New static function.
1747 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
1748 (loongarch_symbol_extreme_p): New static function.
1749 (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
1750 (loongarch_symbol_insns): Likewise.
1751 (loongarch_split_symbol_type): Likewise.
1752 (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
1753 TARGET_CMODEL_EXTREME for PC-relative addressing.
1754 (loongarch_print_operand_reloc): Likewise.
1755 * doc/extend.texi (Variable Attributes): Document new
1756 LoongArch specific attribute.
1757
1758 2022-08-25 Xi Ruoyao <xry111@xry111.site>
1759
1760 * config/loongarch/loongarch.cc (loongarch_classify_symbol):
1761 Return early if the rtx is not SYMBOL_REF.
1762
1763 2022-08-25 Richard Biener <rguenther@suse.de>
1764
1765 PR tree-optimization/106737
1766 * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
1767 verify SSA form.
1768
1769 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
1770
1771 PR target/106459
1772 * config/loongarch/loongarch.cc (loongarch_build_integer):
1773 Use HOST_WIDE_INT.
1774 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
1775 (HWIT_1U): New Defined.
1776 (LU12I_OPERAND): Use HOST_WIDE_INT.
1777 (LU32I_OPERAND): Likewise.
1778 (LU52I_OPERAND): Likewise.
1779 (HWIT_UC_0xFFF): Likwise.
1780
1781 2022-08-24 Andrew Pinski <apinski@marvell.com>
1782
1783 PR target/106632
1784 PR target/106588
1785 * config/riscv/bitmanip.md (*shNadduw): Use n constraint
1786 instead of i.
1787 (*slliuw): Likewise.
1788 (*bexti): Likewise. Also add a check for operands[2] to be less
1789 than the mode bitsize.
1790
1791 2022-08-24 Andrew Pinski <apinski@marvell.com>
1792
1793 * config/riscv/constraints.md (DbS): New constraint.
1794 (DnS): New constraint.
1795 * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
1796 (*bclr<mode>): Likewise.
1797 (*binvi<mode>): Likewise.
1798
1799 2022-08-24 Andrew Pinski <apinski@marvell.com>
1800
1801 PR target/106586
1802 * config/riscv/predicates.md (single_bit_mask_operand):
1803 Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
1804 (not_single_bit_mask_operand): Likewise.
1805 * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
1806 1<<31 for 32bits as it is already handled.
1807 Call trunc_int_for_mode on the upper part after the subtraction.
1808 (riscv_move_integer): Call trunc_int_for_mode before generating
1809 the integer just make sure the constant has been sign extended
1810 corectly.
1811 (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
1812 addition for the new rhs.
1813 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
1814 then mask off the upper 32bits of the HWI as it will be sign extended.
1815
1816 2022-08-24 Andrew Pinski <apinski@marvell.com>
1817
1818 * config/riscv/constraints.md (DsS): New constraint.
1819 (DsD): New constraint.
1820 * config/riscv/iterators.md (shiftm1c): New iterator.
1821 * config/riscv/bitmanip.md (*bset<mode>_mask):
1822 Use shiftm1c.
1823 (*bset<mode>_1_mask): Likewise.
1824
1825 2022-08-24 Andrew Pinski <apinski@marvell.com>
1826
1827 * config/riscv/constraints.md (Ds3): New constraint.
1828 * config/riscv/predicates.md (imm123_operand): New predicate.
1829 * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
1830 (*shNadduw): Likewise.
1831
1832 2022-08-24 Andrew Pinski <apinski@marvell.com>
1833
1834 * config/riscv/riscv.cc (riscv_print_operand):
1835 Handle '~'.
1836 (riscv_print_operand_punct_valid_p): New function
1837 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
1838 * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
1839 Use %~ instead of conditional the pattern on TARGET_64BIT.
1840 (rotrsi3): Likewise.
1841 (rotlsi3): Likewise.
1842 * config/riscv/riscv.md: Add ~ to the list of modifiers.
1843 (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
1844 (subsi3): Likewise.
1845 (negsi2): Likewise.
1846 (mulsi3): Likewise.
1847 (optab>si3/any_div): Likewise.
1848 (*add<mode>hi3): Likewise.
1849 (<optab>si3/any_shift): Likewise.
1850
1851 2022-08-24 Andrew Pinski <apinski@marvell.com>
1852
1853 * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
1854 keep the list in riscv.md in sync with this list.
1855 * config/riscv/riscv.md: Add list of modifiers as comments.
1856
1857 2022-08-24 Andrew Pinski <apinski@marvell.com>
1858
1859 * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
1860 * config/riscv/iterators.md: Here.
1861
1862 2022-08-24 Andrew Pinski <apinski@marvell.com>
1863
1864 * config/riscv/bitmanip.md
1865 (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
1866 tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
1867 * config/riscv/iterators.md: Here.
1868
1869 2022-08-24 Andrew Pinski <apinski@marvell.com>
1870
1871 * config/riscv/riscv.md (GPR): Move to new file.
1872 (P, X, BR): Likewise.
1873 (MOVE32, MOVE64, SHORT): Likewise.
1874 (HISI, SUPERQI, SUBX): Likewise.
1875 (ANYI, ANYF, SOFTF): Likewise.
1876 (size, load, default_load): Likewise.
1877 (softload, store, softstore): Likewise.
1878 (reg, fmt, ifmt, amo): Likewise.
1879 (UNITMODE, HALFMODE): Likewise.
1880 (RINT, rint_pattern, rint_rm): Likewise.
1881 (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
1882 (any_extend, any_shiftrt, any_shift): Likewise.
1883 (any_bitwise): Likewise.
1884 (any_div, any_mod): Likewise.
1885 (any_gt, any_ge, any_lt, any_le): Likewise.
1886 (u, su): Likewise.
1887 (optab, insn): Likewise.
1888 * config/riscv/iterators.md: New file.
1889
1890 2022-08-24 Andrew Pinski <apinski@marvell.com>
1891
1892 PR target/106601
1893 * config/riscv/bitmanip.md (bswaphi2): New pattern.
1894
1895 2022-08-24 Andrew Pinski <apinski@marvell.com>
1896
1897 PR target/106600
1898 * config/riscv/bitmanip.md (bswap<mode>2): Remove
1899 condition on TARGET_64BIT as X is already conditional there.
1900
1901 2022-08-24 Joseph Myers <joseph@codesourcery.com>
1902
1903 * tree.cc (build_real): Give DFP dconst0 the minimum quantum
1904 exponent for the type.
1905
1906 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com>
1907
1908 PR target/106733
1909 * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
1910 constants as legitimate addresses for functions.
1911 (bpf_small_register_classes_for_mode_p): Define target hook.
1912
1913 2022-08-24 Richard Biener <rguenther@suse.de>
1914
1915 * gimple-predicate-analysis.cc: Move predicate normalization
1916 after the comment documenting it.
1917
1918 2022-08-24 Richard Biener <rguenther@suse.de>
1919
1920 * gimple-predicate-analysis.h (predicate): Split out
1921 non-predicate related functionality into ..
1922 (uninit_analysis): .. this new class.
1923 * gimple-predicate-analysis.cc: Refactor into two classes.
1924 * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
1925
1926 2022-08-24 Richard Biener <rguenther@suse.de>
1927
1928 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
1929 Do simple_control_dep_chain only up to cd_root, add the PHI
1930 operand edge to the chains like init_from_phi_def does.
1931 (predicate::is_use_guarded): Speedup early out, avoid half-way
1932 initializing the PHI def predicate.
1933
1934 2022-08-24 Jakub Jelinek <jakub@redhat.com>
1935
1936 PR target/106721
1937 * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
1938 Change V32HF, V16HF and V8HF entries from "f" to "i".
1939 (iptr): Add V32BF, V16BF, V8BF and BF entries.
1940 (i128vldq): Add V16HF and V16BF entries.
1941 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
1942 mask_opernad3 -> mask_operand3.
1943
1944 2022-08-24 Martin Liska <mliska@suse.cz>
1945 Jørgen Kvalsvik <j@lambda.is>
1946
1947 * gcov.cc (add_line_counts): Add group functions to coverage
1948 summary.
1949 (accumulate_line_counts): Similarly for files.
1950
1951 2022-08-24 Lulu Cheng <chenglulu@loongson.cn>
1952
1953 * config/loongarch/genopts/loongarch-strings: Support code model medium.
1954 * config/loongarch/genopts/loongarch.opt.in: Likewise.
1955 * config/loongarch/loongarch-def.c: Likewise.
1956 * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
1957 (CMODEL_EXTREME): Likewise.
1958 (N_CMODEL_TYPES): Likewise.
1959 (CMODEL_MEDIUM): Likewise.
1960 * config/loongarch/loongarch-opts.cc: Likewise.
1961 * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
1962 * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
1963 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
1964 Tls symbol Loading support medium mode.
1965 (loongarch_legitimize_call_address): When medium mode, make a symbolic
1966 jump with two instructions.
1967 (loongarch_option_override_internal): Support medium.
1968 * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
1969 (@sibcall_internal_1<mode>): New function call templates added to support
1970 medium mode.
1971 (@sibcall_value_internal_1<mode>): Likewise.
1972 (@sibcall_value_multiple_internal_1<mode>): Likewise.
1973 (@call_internal_1<mode>): Likewise.
1974 (@call_value_internal_1<mode>): Likewise.
1975 (@call_value_multiple_internal_1<mode>): Likewise.
1976 * config/loongarch/loongarch.opt: Support medium.
1977 * config/loongarch/predicates.md: Add processing about medium mode.
1978 * doc/invoke.texi: Document for '-mcmodel=medium'.
1979
1980 2022-08-24 Richard Biener <rguenther@suse.de>
1981
1982 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
1983 Start the compute_control_dep_chain walk from the immediate
1984 dominator of the PHI.
1985
1986 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
1987
1988 PR target/106714
1989 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
1990 __PTRDIFF_TYPE__.
1991 (_tile_stream_loadd_internal): Likewise.
1992 (_tile_stored_internal): Likewise.
1993
1994 2022-08-23 Richard Biener <rguenther@suse.de>
1995
1996 PR tree-optimization/106722
1997 * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
1998 MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
1999 * gimple-predicate-analysis.cc: ... here and document.
2000 (simple_control_dep_chain): New function, factored from
2001 predicate::use_cannot_happen.
2002 (predicate::use_cannot_happen): Adjust.
2003 (predicate::predicate): Use simple_control_dep_chain as fallback.
2004
2005 2022-08-23 Aldy Hernandez <aldyh@redhat.com>
2006
2007 * range-op-float.cc (foperator_equal::op1_range): Set range to
2008 range of op2.
2009
2010 2022-08-23 Richard Biener <rguenther@suse.de>
2011
2012 * gimple-predicate-analysis.cc (is_loop_exit): Split out
2013 from ...
2014 (is_non_loop_exit_postdominating): ... here. Remove after
2015 inlining ...
2016 (find_control_equiv_block): ... here.
2017 (compute_control_dep_chain): ... and here.
2018 (predicate::is_use_guarded): Do not excempt loop exits
2019 from short-cutting the case of the use post-dominating the
2020 PHI definition.
2021
2022 2022-08-23 Andrew MacLeod <amacleod@redhat.com>
2023
2024 PR tree-optimization/106687
2025 * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
2026 for the VREL_GT case as well.
2027
2028 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
2029
2030 * config/pru/pru.md (pru_<code>di3): New alternative for
2031 two operands but without earlyclobber.
2032
2033 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
2034
2035 * config/pru/pru.md (prumov<mode>, mov<mode>): Add
2036 variants for loading -1 consts.
2037
2038 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
2039
2040 PR target/106564
2041 * config/pru/constraints.md (Um): New constraint for -1.
2042 (Uf): New constraint for IOR fill-bytes constants.
2043 (Uz): New constraint for AND zero-bytes constants.
2044 * config/pru/predicates.md (const_fillbytes_operand): New
2045 predicate for IOR fill-bytes constants.
2046 (const_zerobytes_operand): New predicate for AND zero-bytes
2047 constants.
2048 * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
2049 (struct pru_byterange): New struct to describe a byte range.
2050 (pru_calc_byterange): New declaration.
2051 * config/pru/pru.cc (pru_rtx_costs): Add penalty for
2052 64-bit zero-extend.
2053 (pru_output_sign_extend): Remove.
2054 (pru_calc_byterange): New helper function to extract byte
2055 range info from a constant.
2056 (pru_print_operand): Remove 'y' and 'z' print modifiers.
2057 * config/pru/pru.md (zero_extendqidi2): New pattern.
2058 (zero_extendhidi2): New pattern.
2059 (zero_extendsidi2): New pattern.
2060 (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
2061 (@pru_ior_fillbytes<mode>): New pattern.
2062 (@pru_and_zerobytes<mode>): New pattern.
2063 (<code>di3): Rewrite as an expand and handle ZERO and FILL
2064 special cases.
2065 (pru_<code>di3): New name for <code>di3.
2066 (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
2067 handle bit-test for 64-bit registers.
2068
2069 2022-08-22 Richard Biener <rguenther@suse.de>
2070
2071 * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
2072 (predicate::def_expr): Likewise.
2073 (predicate::use_expr): Likewise.
2074 (predicate::expr): Likewise.
2075 * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
2076 (predicate::use_expr): Likewise.
2077 (predicate::expr): Likewise.
2078 (predicate::is_use_guarded): Do not build m_use_expr.
2079
2080 2022-08-22 Martin Liska <mliska@suse.cz>
2081
2082 PR lto/106700
2083 * configure.ac: Detect O_NONBLOCK flag for open.
2084 * config.in: Regenerate.
2085 * configure: Regenerate.
2086 * opts-common.cc (jobserver_info::connect): Set is_connected
2087 properly based on O_NONBLOCK.
2088 * opts-jobserver.h (struct jobserver_info): Add is_connected
2089 member variable.
2090
2091 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai>
2092
2093 * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
2094 and repeat value different.
2095
2096 2022-08-22 Tobias Burnus <tobias@codesourcery.com>
2097
2098 PR lto/106686
2099 * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
2100 (tool_cleanup): Unlink offload_names.
2101 (compile_offload_image): Take filename argument to set it early.
2102 (compile_images_for_offload_targets): Update call; set
2103 offload_names to NULL after freeing the array.
2104
2105 2022-08-22 Richard Biener <rguenther@suse.de>
2106
2107 PR tree-optimization/105937
2108 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
2109 on backedges.
2110 (execute_late_warn_uninitialized): Mark backedges.
2111
2112 2022-08-22 Richard Biener <rguenther@suse.de>
2113
2114 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
2115 If the use is guarded with multiple predicate paths compute
2116 the predicates intersection before going forward. When
2117 compute_control_dep_chain wasn't able to come up with at
2118 least one path from function entry to the PHI edge compute
2119 a conservative sparse path instead.
2120
2121 2022-08-20 Lulu Cheng <chenglulu@loongson.cn>
2122
2123 * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
2124 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
2125 Add extreme support for TLS GD and LD types.
2126 (loongarch_legitimize_tls_address): Add extreme support for TLS LE
2127 and IE.
2128 (loongarch_split_symbol): When compiling with -mcmodel=extreme,
2129 the symbol address will be obtained through five instructions.
2130 (loongarch_print_operand_reloc): Add support.
2131 (loongarch_print_operand): Add support.
2132 (loongarch_print_operand_address): Add support.
2133 (loongarch_option_override_internal): Set '-mcmodel=extreme' option
2134 incompatible with '-mno-explicit-relocs'.
2135 * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
2136 Loads bits 12-31 of data into registers.
2137 (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
2138 the source register.
2139 (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
2140 the source register.
2141 * config/loongarch/predicates.md: Symbols need to be decomposed
2142 when defining the macro TARGET_CMODEL_EXTREME
2143 * doc/invoke.texi: Modify the description information of cmodel in the document.
2144 Document -W[no-]extreme-plt.
2145
2146 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
2147
2148 * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
2149 files_to_cleanup.
2150 * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
2151 omp_requires_file to temp_files.
2152 * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
2153 (main): Remove local omp_requires_file var.
2154 (tool_cleanup): Handle omp_requires_file.
2155
2156 2022-08-19 Aldy Hernandez <aldyh@redhat.com>
2157
2158 * gimple-range-path.cc (path_range_query::path_range_query):
2159 Remove constructor that takes edge.
2160 * gimple-range-path.h (class path_range_query): Same.
2161 * tree-ssa-loop-ch.cc (edge_range_query): New.
2162 (entry_loop_condition_is_static): Call edge_range_query.
2163
2164 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2165
2166 * config/xtensa/xtensa.h
2167 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
2168 Add new register class "ISC_REGS".
2169 * config/xtensa/constraints.md (c): Add new register constraint.
2170 * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
2171 (sibcall_internal, sibcall_value_internal):
2172 Change to use the new register constraint, and remove two split
2173 patterns for fixups that are no longer needed.
2174
2175 2022-08-18 Maciej W. Rozycki <macro@embecosm.com>
2176
2177 * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
2178 pattern formatting.
2179
2180 2022-08-18 Tim Lange <mail@tim-lange.me>
2181
2182 PR analyzer/106181
2183 * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
2184
2185 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
2186
2187 * gimple-range-path.cc (path_range_query::path_range_query): Add
2188 various constructors to take a path.
2189 (path_range_query::~path_range_query): Remove m_alloced_ranger.
2190 (path_range_query::range_on_path_entry): Adjust for m_ranger being
2191 a reference.
2192 (path_range_query::set_path): Rename to...
2193 (path_range_query::reset_path): ...this and call compute_ranges.
2194 (path_range_query::ssa_range_in_phi): Adjust for m_ranger
2195 reference.
2196 (path_range_query::range_defined_in_block): Same.
2197 (path_range_query::compute_ranges_in_block): Same.
2198 (path_range_query::adjust_for_non_null_uses): Same.
2199 (path_range_query::compute_exit_dependencies): Use m_path instead
2200 of argument.
2201 (path_range_query::compute_ranges): Remove path argument.
2202 (path_range_query::range_of_stmt): Adjust for m_ranger reference.
2203 (path_range_query::compute_outgoing_relations): Same.
2204 * gimple-range-path.h (class path_range_query): Add various
2205 constructors.
2206 Make compute_ranges and compute_exit_dependencies private.
2207 Rename set_path to reset_path.
2208 Make m_ranger a reference.
2209 Remove m_alloced_ranger.
2210 * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
2211 path_range_query.
2212 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
2213 ranger and instantiate a new path_range_query every time.
2214 (ch_base::copy_headers): Pass ranger instead of path_range_query.
2215 * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
2216 (back_threader::~back_threader): Remove m_solver.
2217 (back_threader::find_taken_edge_switch): Adjust for m_ranger
2218 reference.
2219 (back_threader::find_taken_edge_cond): Same.
2220 (back_threader::dump): Remove m_solver.
2221 (back_threader::back_threader): Move verify_marked_backedges
2222 here from the path_range_query constructor.
2223 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
2224 some code from compute_ranges_from_state here.
2225 (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
2226 (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
2227 * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
2228 compute_ranges_from_state to compute_exit_dependencies.
2229 Remove m_path.
2230
2231 2022-08-18 Richard Biener <rguenther@suse.de>
2232
2233 PR middle-end/106617
2234 * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
2235 guard, disable on GENERIC to not cause quadratic behavior
2236 with the fold-const.cc implementation and the use of !
2237
2238 2022-08-18 Andrew Pinski <apinski@marvell.com>
2239
2240 PR gcov-profile/106659
2241 * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
2242 INCLUDE_VECTOR.
2243
2244 2022-08-18 konglin1 <lingling.kong@intel.com>
2245
2246 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
2247 BFmode.
2248 (ix86_expand_vector_init_duplicate): Support vector BFmode.
2249 (ix86_expand_vector_init_one_nonzero): Ditto.
2250 (ix86_expand_vector_init_one_var): Ditto.
2251 (ix86_expand_vector_init_concat): Ditto.
2252 (ix86_expand_vector_init_interleave): Ditto.
2253 (ix86_expand_vector_init_general): Ditto.
2254 (ix86_expand_vector_init): Ditto.
2255 (ix86_expand_vector_set_var): Ditto.
2256 (ix86_expand_vector_set): Ditto.
2257 (ix86_expand_vector_extract): Ditto.
2258 * config/i386/i386.cc (classify_argument): Add BF vector modes.
2259 (function_arg_64): Ditto.
2260 (ix86_gimplify_va_arg): Ditto.
2261 (ix86_get_ssemov): Ditto.
2262 * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
2263 (VALID_AVX512F_REG_MODE): Ditto.
2264 (host_detect_local_cpu): Ditto.
2265 (VALID_SSE2_REG_MODE): Ditto.
2266 * config/i386/i386.md: Add BF vector modes.
2267 (MODE_SIZE): Ditto.
2268 (ssemodesuffix): Add bf suffix for BF vector modes.
2269 (ssevecmode): Ditto.
2270 * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
2271 (VI12HFBF_AVX512VL): Ditto.
2272 (V_256_512): Ditto.
2273 (VF_AVX512HFBF16): Ditto.
2274 (VF_AVX512BWHFBF16): Ditto.
2275 (VIHFBF): Ditto.
2276 (avx512): Ditto.
2277 (VIHFBF_256): Ditto.
2278 (VIHFBF_AVX512BW): Ditto.
2279 (VI2F_256_512):Ditto.
2280 (V8_128):Ditto.
2281 (V16_256): Ditto.
2282 (V32_512): Ditto.
2283 (sseinsnmode): Ditto.
2284 (sseconstm1): Ditto.
2285 (sseintmodesuffix): New mode_attr.
2286 (avx512fmaskmode): Ditto.
2287 (avx512fmaskmodelower): Ditto.
2288 (ssedoublevecmode): Ditto.
2289 (ssehalfvecmode): Ditto.
2290 (ssehalfvecmodelower): Ditto.
2291 (ssescalarmode): Add vector BFmode mapping.
2292 (ssescalarmodelower): Ditto.
2293 (ssexmmmode): Ditto.
2294 (ternlogsuffix): Ditto.
2295 (ssescalarsize): Ditto.
2296 (sseintprefix): Ditto.
2297 (i128): Ditto.
2298 (xtg_mode): Ditto.
2299 (bcstscalarsuff): Ditto.
2300 (<avx512>_blendm<mode>): New define_insn for BFmode.
2301 (<avx512>_store<mode>_mask): Ditto.
2302 (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
2303 (vec_set<mode>_0): New define_insn for BF vector set.
2304 (V8BFH_128): New mode_iterator for BFmode.
2305 (avx512fp16_mov<mode>): Ditto.
2306 (vec_set<mode>): New define_insn for BF vector set.
2307 (@vec_extract_hi_<mode>): Ditto.
2308 (@vec_extract_lo_<mode>): Ditto.
2309 (vec_set_hi_<mode>): Ditto.
2310 (vec_set_lo_<mode>): Ditto.
2311 (*vec_extract<mode>_0): New define_insn_and_split for BF
2312 vector extract.
2313 (*vec_extract<mode>): New define_insn.
2314 (VEC_EXTRACT_MODE): Add BF vector modes.
2315 (PINSR_MODE): Add V8BF.
2316 (sse2p4_1): Ditto.
2317 (pinsr_evex_isa): Ditto.
2318 (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
2319 insert for V8BFmode.
2320 (pbroadcast_evex_isa): Add BF vector modes.
2321 (AVX2_VEC_DUP_MODE): Ditto.
2322 (VEC_INIT_MODE): Ditto.
2323 (VEC_INIT_HALF_MODE): Ditto.
2324 (avx2_pbroadcast<mode>): Adjust to support BF vector mode
2325 broadcast.
2326 (avx2_pbroadcast<mode>_1): Ditto.
2327 (<avx512>_vec_dup<mode>_1): Ditto.
2328 (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
2329 Ditto.
2330
2331 2022-08-18 Martin Liska <mliska@suse.cz>
2332
2333 * configure: Regenerate.
2334
2335 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org>
2336
2337 PR target/103109
2338 * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
2339 (<u>madddi4_highpart): New.
2340 (<u>madddi4_highpart_le): New.
2341
2342 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
2343
2344 * gimple-range-path.cc
2345 (path_range_query::compute_exit_dependencies): Use
2346 gimple_range_ssa_names.
2347
2348 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai>
2349
2350 * config/riscv/predicates.md: Adjust runtime invariant.
2351 * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
2352 (NUM_POLY_INT_COEFFS): New.
2353 * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
2354 runtime invariant.
2355 * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
2356 Adjust runtime invariant.
2357 * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
2358 invariant.
2359 (enum riscv_microarchitecture_type): Ditto.
2360 (riscv_valid_offset_p): Ditto.
2361 (riscv_valid_lo_sum_p): Ditto.
2362 (riscv_address_insns): Ditto.
2363 (riscv_load_store_insns): Ditto.
2364 (riscv_legitimize_move): Ditto.
2365 (riscv_binary_cost): Ditto.
2366 (riscv_rtx_costs): Ditto.
2367 (riscv_output_move): Ditto.
2368 (riscv_extend_comparands): Ditto.
2369 (riscv_flatten_aggregate_field): Ditto.
2370 (riscv_get_arg_info): Ditto.
2371 (riscv_pass_by_reference): Ditto.
2372 (riscv_elf_select_rtx_section): Ditto.
2373 (riscv_stack_align): Ditto.
2374 (riscv_compute_frame_info): Ditto.
2375 (riscv_initial_elimination_offset): Ditto.
2376 (riscv_set_return_address): Ditto.
2377 (riscv_for_each_saved_reg): Ditto.
2378 (riscv_first_stack_step): Ditto.
2379 (riscv_expand_prologue): Ditto.
2380 (riscv_expand_epilogue): Ditto.
2381 (riscv_can_use_return_insn): Ditto.
2382 (riscv_secondary_memory_needed): Ditto.
2383 (riscv_hard_regno_nregs): Ditto.
2384 (riscv_convert_vector_bits): New.
2385 (riscv_option_override): Adjust runtime invariant.
2386 (riscv_promote_function_mode): Ditto.
2387 * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
2388 (BITS_PER_RISCV_VECTOR): New.
2389 (BYTES_PER_RISCV_VECTOR): New.
2390 * config/riscv/riscv.md: Adjust runtime invariant.
2391
2392 2022-08-18 Lulu Cheng <chenglulu@loongson.cn>
2393
2394 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
2395 Get __tls_get_addr address through got table when disable plt.
2396
2397 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2398
2399 * config/xtensa/xtensa.cc (xtensa_expand_prologue):
2400 Use an "addmi" machine instruction for updating the stack pointer
2401 rather than addition/subtraction via hard register A9, if the amount
2402 of change satisfies the literal value conditions of that instruction
2403 when the CALL0 ABI is used.
2404 (xtensa_expand_epilogue): Ditto.
2405 And also inhibit the stack pointer addition of constant zero.
2406
2407 2022-08-17 Roger Sayle <roger@nextmovesoftware.com>
2408
2409 PR target/106640
2410 * config/i386/i386-features.cc
2411 (timde_scalar_chain::compute_convert_gain): Replace incorrect use
2412 of XINT with INTVAL (XEXP (src, 1)).
2413
2414 2022-08-17 Aldy Hernandez <aldyh@redhat.com>
2415
2416 * gimple-range-path.cc
2417 (path_range_query::compute_ranges_in_block): Remove
2418 set_root_oracle call.
2419 (path_range_query::compute_ranges): Pass ranger oracle to
2420 reset_path.
2421 * value-relation.cc (path_oracle::reset_path): Set root oracle.
2422 * value-relation.h (path_oracle::reset_path): Add root oracle
2423 argument.
2424
2425 2022-08-17 Marek Polacek <polacek@redhat.com>
2426
2427 PR c++/89780
2428 * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
2429 OPT_Wpessimizing_move and OPT_Wredundant_move.
2430 * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
2431
2432 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2433 Jakub Jelinek <jakub@redhat.com>
2434
2435 PR fortran/46539
2436 * common.opt (static-libquadmath): New option.
2437 * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
2438 * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
2439
2440 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
2441
2442 * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
2443 when filenames come out identically.
2444
2445 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
2446
2447 PR middle-end/106548
2448 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
2449 for 'simd' linear-step values that are variable.
2450
2451 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
2452 Chung-Lin Tang <cltang@codesourcery.com>
2453
2454 PR c++/104493
2455 * gimplify.cc (omp_notice_variable): Call omp_mappable_type
2456 instead of removed langhook.
2457 * omp-general.h (omp_mappable_type): New prototype.
2458 * omp-general.cc (omp_mappable_type): New; moved from ...
2459 * langhooks.cc (lhd_omp_mappable_type): ... here.
2460 * langhooks-def.h (lhd_omp_mappable_type,
2461 LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
2462 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
2463 * langhooks.h (struct lang_hooks_for_types): Remove
2464 omp_mappable_type.
2465
2466 2022-08-17 Christophe Lyon <christophe.lyon@arm.com>
2467
2468 * config.gcc (arm): Define with_float to hard if target name ends
2469 with 'hf'.
2470
2471 2022-08-17 Richard Biener <rguenther@suse.de>
2472
2473 * tree-ssa-threadbackward.cc
2474 (back_threader_profitability): Split profitable_path_p
2475 into possibly_profitable_path_p and itself, keep state
2476 as new members.
2477 (back_threader::m_profit): Remove.
2478 (back_threader::find_paths): Likewise.
2479 (back_threader::maybe_register_path): Take profitability
2480 instance as parameter.
2481 (back_threader::find_paths_to_names): Likewise. Use
2482 possibly_profitable_path_p and avoid the path range query
2483 when the path is currently too large.
2484 (back_threader::find_paths): Fold into ...
2485 (back_threader::maybe_thread_block): ... this.
2486 (get_gimple_control_stmt): Remove.
2487 (back_threader_profitability::possibly_profitable_path_p):
2488 Split out from profitable_path_p, do early profitability
2489 checks.
2490 (back_threader_profitability::profitable_path_p): Do final
2491 profitability path after the taken edge has been determined.
2492
2493 2022-08-17 Xi Ruoyao <xry111@xry111.site>
2494
2495 * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
2496 (fmin<mode>3): Likewise.
2497
2498 2022-08-17 Andrew MacLeod <amacleod@redhat.com>
2499
2500 * gimple-range-fold.cc (gimple_range_ssa_names): New.
2501 * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
2502 * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
2503 code to new routine.
2504
2505 2022-08-16 Martin Liska <mliska@suse.cz>
2506
2507 PR target/106637
2508 * doc/install.texi: Remove link to www.bullfreeware.com
2509
2510 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
2511
2512 * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
2513 zfh and zfhmin.
2514 (riscv_ext_version_table): Ditto.
2515 (riscv_ext_flag_table): Ditto.
2516 * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
2517 (MASK_ZFH): Ditto.
2518 (TARGET_ZFHMIN): Ditto.
2519 (TARGET_ZFH): Ditto.
2520 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
2521 for zfh and zfhmin.
2522 (riscv_emit_float_compare): Handle HFmode.
2523 * config/riscv/riscv.md (ANYF): Add HF.
2524 (SOFTF): Add HF.
2525 (load): Ditto.
2526 (store): Ditto.
2527 (truncsfhf2): New.
2528 (truncdfhf2): Ditto.
2529 (extendhfsf2): Ditto.
2530 (extendhfdf2): Ditto.
2531 (*movhf_hardfloat): Ditto.
2532 (*movhf_softfloat): Make sure not ZFHMIN.
2533 * config/riscv/riscv.opt (riscv_zf_subext): New.
2534
2535 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
2536
2537 * config/riscv/riscv-builtins.cc: include stringpool.h
2538 (riscv_float16_type_node): New.
2539 (riscv_init_builtin_types): Ditto.
2540 (riscv_init_builtins): Call riscv_init_builtin_types.
2541 * config/riscv/riscv-modes.def (HF): New.
2542 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
2543 (riscv_mangle_type): New.
2544 (riscv_scalar_mode_supported_p): Ditto.
2545 (riscv_libgcc_floating_mode_supported_p): Ditto.
2546 (riscv_excess_precision): Ditto.
2547 (riscv_floatn_mode): Ditto.
2548 (riscv_init_libfuncs): Ditto.
2549 (TARGET_MANGLE_TYPE): Ditto.
2550 (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
2551 (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
2552 (TARGET_INIT_LIBFUNCS): Ditto.
2553 (TARGET_C_EXCESS_PRECISION): Ditto.
2554 (TARGET_FLOATN_MODE): Ditto.
2555 * config/riscv/riscv.md (mode): Add HF.
2556 (softload): Add HF.
2557 (softstore): Ditto.
2558 (fmt): Ditto.
2559 (UNITMODE): Ditto.
2560 (movhf): New.
2561 (*movhf_softfloat): New.
2562
2563 2022-08-16 Richard Biener <rguenther@suse.de>
2564
2565 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
2566 Do not walk further if we are leaving the current loop.
2567
2568 2022-08-16 Sergei Trofimovich <siarheit@google.com>
2569
2570 PR driver/106624
2571 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
2572 argument using xstrdup().
2573
2574 2022-08-16 Aldy Hernandez <aldyh@redhat.com>
2575
2576 * gimple-range-path.cc (path_range_query::import_p): Rename to...
2577 (path_range_query::exit_dependency_p): ...this.
2578 (path_range_query::dump): Rename imports to exit dependencies.
2579 (path_range_query::compute_ranges_in_phis): Same.
2580 (path_range_query::compute_ranges_in_block): Same.
2581 (path_range_query::adjust_for_non_null_uses): Same.
2582 (path_range_query::compute_ranges): Same.
2583 (path_range_query::compute_phi_relations): Same.
2584 (path_range_query::add_to_imports): Rename to...
2585 (path_range_query::add_to_exit_dependencies): ...this.
2586 (path_range_query::compute_imports): Rename to...
2587 (path_range_query::compute_exit_dependencies): ...this.
2588 * gimple-range-path.h (class path_range_query): Rename imports to
2589 exit dependencies.
2590
2591 2022-08-16 Martin Liska <mliska@suse.cz>
2592
2593 * value-range-storage.h (class obstack_vrange_allocator): Mark
2594 the class as final.
2595 (class ggc_vrange_allocator): Likewise.
2596
2597 2022-08-16 Martin Liska <mliska@suse.cz>
2598
2599 * value-range-equiv.h (class value_range_equiv): Add virtual
2600 destructor.
2601 * value-range.h: Likewise.
2602
2603 2022-08-16 Richard Biener <rguenther@suse.de>
2604
2605 PR middle-end/106630
2606 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
2607 narrowing conversions.
2608
2609 2022-08-16 Martin Liska <mliska@suse.cz>
2610
2611 * value-range-equiv.h (class value_range_equiv):
2612
2613 2022-08-16 Martin Liska <mliska@suse.cz>
2614
2615 * config/i386/i386-features.h (class general_scalar_chain): Add
2616 final override for a method.
2617 (class timode_scalar_chain): Likewise.
2618
2619 2022-08-16 Richard Biener <rguenther@suse.de>
2620
2621 * doc/invoke.texi (max-jump-thread-paths): Adjust.
2622
2623 2022-08-16 Martin Liska <mliska@suse.cz>
2624
2625 * opts-common.cc (jobserver_info::connect): Open fifo
2626 in non-blocking mode.
2627
2628 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
2629
2630 PR target/103353
2631 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
2632 check to preparation statements and add handlings for !TARGET_MMA.
2633 (define_expand movxo): Likewise.
2634
2635 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
2636
2637 PR tree-optimization/106322
2638 * tree-vect-stmts.cc (vectorizable_call): Don't allow
2639 vect_emulated_vector_p type for both vectype_in and vectype_out.
2640
2641 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2642
2643 * common/config/xtensa/xtensa-common.cc
2644 (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
2645 for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
2646
2647 2022-08-15 Andrew MacLeod <amacleod@redhat.com>
2648
2649 PR tree-optimization/106621
2650 * value-range.cc (irange::set): Check for POLY_INT_CST early.
2651
2652 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
2653
2654 * config/i386/i386-features.cc
2655 (timode_scalar_chain::compute_convert_gain): Provide costs for
2656 shifts and rotates.
2657 (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
2658 and ROTATE just like existing ASHIFT and LSHIFTRT cases.
2659 (timode_scalar_to_vector_candidate_p): Handle all shifts and
2660 rotates by integer constants between 0 and 127.
2661
2662 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
2663
2664 * config/i386/i386-features.cc
2665 (timode_scalar_chain::compute_convert_gain): Provide gains for
2666 comparisons against 0/-1, including "*testti" patterns.
2667
2668 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
2669
2670 PR tree-optimization/64992
2671 PR tree-optimization/98956
2672 * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
2673 when X is zero_one_valued_p and the shift constant C is valid.
2674 (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
2675 when X is zero_one_valued_p and the shift constant C is valid.
2676
2677 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
2678 Richard Biener <rguenther@suse.de>
2679
2680 PR tree-optimization/71343
2681 * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
2682 expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
2683 (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
2684 to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
2685
2686 2022-08-15 Richard Biener <rguenther@suse.de>
2687
2688 * gimple-range-path.cc (range_on_path_entry): Just
2689 call range_on_entry.
2690
2691 2022-08-15 Jakub Jelinek <jakub@redhat.com>
2692
2693 PR rtl-optimization/106590
2694 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
2695 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
2696 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
2697 further conditional moves.
2698
2699 2022-08-15 konglin1 <lingling.kong@intel.com>
2700
2701 * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
2702 * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
2703 (ix86_register_bf16_builtin_type): New function.
2704 (ix86_bf16_type_node): New.
2705 (ix86_bf16_ptr_type_node): Ditto.
2706 (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
2707 * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
2708 (ADJUST_FLOAT_FORMAT): Ditto.
2709 * config/i386/i386.cc (classify_argument): Handle BFmode.
2710 (construct_container): Ditto.
2711 (function_value_32): Return __bf16 by %xmm0.
2712 (function_value_64): Return __bf16 by SSE register.
2713 (ix86_output_ssemov): Handle BFmode.
2714 (ix86_legitimate_constant_p): Disable BFmode constant double.
2715 (ix86_secondary_reload): Require gpr as intermediate register
2716 to store __bf16 from sse register when sse4 is not available.
2717 (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
2718 (ix86_mangle_type): Add manlging for __bf16 type.
2719 (ix86_invalid_conversion): New function for target hook.
2720 (ix86_invalid_unary_op): Ditto.
2721 (ix86_invalid_binary_op): Ditto.
2722 (TARGET_INVALID_CONVERSION): New define for target hook.
2723 (TARGET_INVALID_UNARY_OP): Ditto.
2724 (TARGET_INVALID_BINARY_OP): Ditto.
2725 * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
2726 * config/i386/i386.md ("mode"): Add BFmode.
2727 (MODE_SIZE): Ditto.
2728 (X87MODEFH): Ditto.
2729 (HFBF): Add new define_mode_iterator.
2730 (*pushhf_rex64): Change for BFmode.
2731 (*push<mode>_rex64): Ditto.
2732 (*pushhf): Ditto.
2733 (*push<mode>): Ditto.
2734 (MODESH): Ditto.
2735 (hfbfconstf): Add new define_mode_attr.
2736 (*mov<mode>_internal): Add BFmode.
2737
2738 2022-08-13 Roger Sayle <roger@nextmovesoftware.com>
2739 Uroš Bizjak <ubizjak@gmail.com>
2740
2741 * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
2742 New predicate for values between 0/1 and 255, not multiples of 8.
2743 * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
2744 shifts by constant bit counts.
2745 (*ashlvti3_internal): New define_insn_and_split that lowers
2746 logical left shifts by constant bit counts, that aren't multiples
2747 of 8, before reload.
2748 (lshrv1ti3): Delay lowering of logical right shifts by constant.
2749 (*lshrv1ti3_internal): New define_insn_and_split that lowers
2750 logical right shifts by constant bit counts, that aren't multiples
2751 of 8, before reload.
2752 (ashrv1ti3):: Delay lowering of arithmetic right shifts by
2753 constant bit counts.
2754 (*ashrv1ti3_internal): New define_insn_and_split that lowers
2755 arithmetic right shifts by constant bit counts before reload.
2756 (rotlv1ti3): Delay lowering of rotate left by constant.
2757 (*rotlv1ti3_internal): New define_insn_and_split that lowers
2758 rotate left by constant bits counts before reload.
2759 (rotrv1ti3): Delay lowering of rotate right by constant.
2760 (*rotrv1ti3_internal): New define_insn_and_split that lowers
2761 rotate right by constant bits counts before reload.
2762
2763 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
2764
2765 * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
2766
2767 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
2768
2769 PR middle-end/106057
2770 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
2771 function.
2772 (possible_polymorphic_call_targets): Use it.
2773
2774 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com>
2775
2776 * tree-ssa-loop.h: Improve comment
2777
2778 2022-08-12 Jakub Jelinek <jakub@redhat.com>
2779
2780 PR tree-optimization/106506
2781 * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
2782 is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
2783
2784 2022-08-12 Richard Biener <rguenther@suse.de>
2785
2786 PR tree-optimization/106593
2787 * tree-ssa-threadbackward.cc (back_threader::find_paths):
2788 If the imports from the conditional do not satisfy
2789 gimple_range_ssa_p don't try to thread anything.
2790
2791 2022-08-12 Tamar Christina <tamar.christina@arm.com>
2792
2793 PR target/106524
2794 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
2795 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
2796
2797 2022-08-12 Tim Lange <mail@tim-lange.me>
2798
2799 PR analyzer/106000
2800 * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
2801
2802 2022-08-12 Andrew Pinski <apinski@marvell.com>
2803
2804 * config/aarch64/aarch64.md: Remove comment
2805 about MD_INCLUDES as it is out of date and not needed.
2806
2807 2022-08-11 Richard Biener <rguenther@suse.de>
2808
2809 * gimple-range-path.cc (path_range_query::compute_imports):
2810 Restrict walking SSA defs to blocks inside the path. Track
2811 the same operands as range_def_chain::get_def_chain does.
2812
2813 2022-08-11 Richard Biener <rguenther@suse.de>
2814
2815 PR tree-optimization/106514
2816 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
2817 Compute and unwind both m_imports and interesting on the fly during
2818 path discovery.
2819 (back_threader::find_paths): Compute the original m_imports
2820 from just the SSA uses of the exit conditional. Drop
2821 handling single_succ_to_potentially_threadable_block.
2822 * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
2823 constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE.
2824
2825 2022-08-11 Richard Biener <rguenther@suse.de>
2826
2827 * gimple-range-path.h (path_range_query::compute_imports):
2828 Take path as argument, not the exit block.
2829 * gimple-range-path.cc (path_range_query::compute_imports):
2830 Likewise, and adjust, avoiding possibly stale m_path.
2831 (path_range_query::compute_outgoing_relations): Register
2832 relations for all conditionals.
2833 * tree-ssa-threadbackward.cc (back_threader::find_paths):
2834 Adjust.
2835
2836 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
2837
2838 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
2839 oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
2840 (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
2841
2842 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
2843
2844 * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
2845 Remove function declaration.
2846
2847 2022-08-10 Richard Biener <rguenther@suse.de>
2848
2849 PR tree-optimization/106513
2850 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
2851 for head_marker.
2852
2853 2022-08-10 Martin Liska <mliska@suse.cz>
2854
2855 PR lto/106328
2856 * opts-jobserver.h (struct jobserver_info): Add pipefd.
2857 (jobserver_info::connect): New.
2858 (jobserver_info::disconnect): Likewise.
2859 (jobserver_info::get_token): Likewise.
2860 (jobserver_info::return_token): Likewise.
2861 * opts-common.cc: Implement the new functions.
2862
2863 2022-08-10 Martin Liska <mliska@suse.cz>
2864
2865 * opts-jobserver.h: Add one member.
2866 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
2867 format of --jobserver-auth.
2868
2869 2022-08-10 Martin Liska <mliska@suse.cz>
2870
2871 * gcc.cc (driver::detect_jobserver): Remove and move to
2872 jobserver.h.
2873 * lto-wrapper.cc (jobserver_active_p): Likewise.
2874 (run_gcc): Likewise.
2875 * opts-jobserver.h: New file.
2876 * opts-common.cc (jobserver_info::jobserver_info): New function.
2877
2878 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
2879
2880 * config/i386/i386-features.cc (scalar_chain::convert_compare):
2881 Create new pseudos only when/if needed. Add support for TEST,
2882 i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
2883 When broadcasting V2DImode and V4SImode use new pseudo register.
2884 (timode_scalar_chain::convert_op): Do nothing if operand is
2885 already V1TImode. Avoid generating useless SUBREG conversions,
2886 i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT
2887 in addition to CONST_INT by using CONST_SCALAR_INT_P.
2888 (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
2889 CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword
2890 pattern as an STV candidate.
2891 (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
2892 operands in binary logic operations.
2893 * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
2894 for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
2895 as regular PTEST, i.e. cost->sse_op.
2896 * config/i386/i386.md (*testti_doubleword): New pre-reload
2897 define_insn_and_split that recognizes comparison of TI mode AND
2898 against zero.
2899 * config/i386/sse.md (*ptest<mode>_and): New pre-reload
2900 define_insn_and_split that recognizes UNSPEC_PTEST of identical
2901 AND operands.
2902
2903 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
2904 Richard Biener <rguenther@suse.de>
2905
2906 PR middle-end/21137
2907 PR tree-optimization/98954
2908 * fold-const.cc (fold_binary_loc): Remove optimizations to
2909 optimize ((X >> C1) & C2) ==/!= 0.
2910 * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
2911 check, and handle all values of INTEGER_CSTs @2 and @3.
2912 (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
2913 checks, and handle all values of INTEGER_CSTs @2 and @3.
2914
2915 2022-08-09 David Malcolm <dmalcolm@redhat.com>
2916
2917 * doc/invoke.texi (Static Analyzer Options): Add notes on which
2918 functions the analyzer has hardcoded knowledge of.
2919
2920 2022-08-09 Andrew Stubbs <ams@codesourcery.com>
2921
2922 * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
2923 (num_arg_regs): Allow vector arguments.
2924 (gcn_function_arg): Likewise.
2925 (gcn_function_arg_advance): Likewise.
2926 (gcn_arg_partial_bytes): Likewise.
2927 (gcn_return_in_memory): Likewise.
2928 (gcn_expand_epilogue): Get return value from v8.
2929 * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
2930 (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
2931 (FIRST_VPARM_REG): New.
2932 (FUNCTION_ARG_REGNO_P): Allow vector parameters.
2933 (struct gcn_args): Add vnum field.
2934 (LIBCALL_VALUE): All vector return values.
2935 * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
2936 (gcn_call_value_indirect): Likewise.
2937
2938 2022-08-09 Richard Biener <rguenther@suse.de>
2939
2940 * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
2941 directly. Avoid update_ssa when in SSA form.
2942 (expand_omp_atomic_store): Likewise.
2943 (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
2944 form.
2945 (expand_omp_atomic_pipeline): Likewise.
2946 (expand_omp_atomic_mutex): Likewise.
2947 * tree-parloops.cc (gen_parallel_loop): Use
2948 TODO_update_ssa_no_phi after loop_version.
2949
2950 2022-08-09 Richard Biener <rguenther@suse.de>
2951
2952 * doc/invoke.texi (max-fsm-thread-length): Remove.
2953 * params.opt (max-fsm-thread-length): Likewise.
2954 * tree-ssa-threadbackward.cc
2955 (back_threader_profitability::profitable_path_p): Do not
2956 check max-fsm-thread-length.
2957
2958 2022-08-09 Richard Biener <rguenther@suse.de>
2959
2960 PR tree-optimization/106514
2961 * params.opt (max-jump-thread-paths): New.
2962 * doc/invoke.texi (max-jump-thread-paths): Document.
2963 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
2964 Honor max-jump-thread-paths, take overall_path argument.
2965 (back_threader::find_paths): Pass 1 as initial overall_path.
2966
2967 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
2968
2969 PR middle-end/106492
2970 * omp-low.cc (lower_rec_input_clauses): Add missing folding
2971 to data type of linear-clause list item.
2972
2973 2022-08-08 Andrew MacLeod <amacleod@redhat.com>
2974
2975 PR tree-optimization/106556
2976 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
2977 type of the cond_expr operands being evaluted.
2978
2979 2022-08-08 Tom Honermann <tom@honermann.net>
2980
2981 * ginclude/stdatomic.h (atomic_char8_t,
2982 ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
2983
2984 2022-08-08 Andrew Pinski <apinski@marvell.com>
2985
2986 PR middle-end/103645
2987 * gimplify.cc (gimplify_init_constructor): Don't build/add
2988 gimple assignment of an empty type.
2989
2990 2022-08-08 Richard Biener <rguenther@suse.de>
2991
2992 PR lto/106540
2993 PR lto/106334
2994 * dwarf2out.cc (dwarf2out_register_external_die): Restore
2995 original assert.
2996 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
2997 to input DECL_INITIAL, avoiding to commit drefs.
2998
2999 2022-08-07 Roger Sayle <roger@nextmovesoftware.com>
3000
3001 * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
3002 for x86_64_hilo_general_operand to general operand. Call
3003 force_reg on parts that are not x86_64_immediate_operand.
3004
3005 2022-08-05 David Malcolm <dmalcolm@redhat.com>
3006
3007 PR analyzer/105947
3008 * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
3009
3010 2022-08-05 Roger Sayle <roger@nextmovesoftware.com>
3011
3012 * expmed.cc (emit_store_flag_1): Move code to expand double word
3013 equality and inequality against zero or -1, using word operations,
3014 to after trying to use the backend's cstore<mode>4 optab/expander.
3015
3016 2022-08-05 Tamar Christina <tamar.christina@arm.com>
3017
3018 PR middle-end/106534
3019 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
3020 value_replacement and store_elim from diamonds.
3021
3022 2022-08-05 Richard Biener <rguenther@suse.de>
3023
3024 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
3025 Check whether the registry register_path rejected the path.
3026 (back_threader_registry::register_path): Return whether
3027 register_jump_thread succeeded.
3028
3029 2022-08-05 Aldy Hernandez <aldyh@redhat.com>
3030
3031 PR tree-optimization/106514
3032 * value-range.cc (unsupported_range::unsupported_range): Move...
3033 * value-range.h (unsupported_range::unsupported_range): ...here.
3034 (unsupported_range::set_undefined): New.
3035
3036 2022-08-05 Richard Biener <rguenther@suse.de>
3037
3038 PR tree-optimization/106533
3039 * tree-loop-distribution.cc (loop_distribution::execute): Continue
3040 analyzing the inner loops when find_seed_stmts_for_distribution
3041 fails.
3042
3043 2022-08-05 Andrew Pinski <apinski@marvell.com>
3044
3045 * config/riscv/predicates.md (splittable_const_int_operand):
3046 Remove the check for TARGET_64BIT for single bit const values.
3047
3048 2022-08-04 Andrew MacLeod <amacleod@redhat.com>
3049
3050 PR tree-optimization/106514
3051 * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
3052 Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
3053
3054 2022-08-04 Tamar Christina <tamar.christina@arm.com>
3055
3056 * match.pd: New bit_not rule.
3057
3058 2022-08-04 Tamar Christina <tamar.christina@arm.com>
3059
3060 PR middle-end/106519
3061 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
3062 diamond shapes.
3063
3064 2022-08-04 Sam Feifer <sfeifer@redhat.com>
3065
3066 PR tree-optimization/106243
3067 * match.pd (-x & 1): New simplification.
3068
3069 2022-08-04 Richard Biener <rguenther@suse.de>
3070
3071 PR tree-optimization/106521
3072 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
3073 CFG cleanup manually before rewriting into LC SSA.
3074
3075 2022-08-04 Richard Biener <rguenther@suse.de>
3076
3077 * tree-ssa-threadbackward.cc (populate_worklist): Remove.
3078 (back_threader::resolve_phi): Likewise.
3079 (back_threader::find_paths_to_names): Rewrite greedy search.
3080
3081 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
3082
3083 * config/s390/vector.md (V_HW_FT): New iterator.
3084 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
3085 of V_HW.
3086
3087 2022-08-03 Michael Meissner <meissner@linux.ibm.com>
3088
3089 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
3090 setting -mblock-ops-vector-pair.
3091
3092 2022-08-03 Andrew MacLeod <amacleod@redhat.com>
3093
3094 PR tree-optimization/106514
3095 * value-relation.cc (path_oracle::killing_def) Do not walk the
3096 equivalence set clearing bits.
3097
3098 2022-08-03 Tamar Christina <tamar.christina@arm.com>
3099
3100 * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
3101 sequence of a three-way conditional.
3102 (replace_phi_edge_with_variable): Support diamonds.
3103 (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
3104 min/max.
3105 (strip_bit_not, invert_minmax_code): New.
3106
3107 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
3108
3109 PR rtl-optimization/106187
3110 * alias.h (mems_same_for_tbaa_p): Declare.
3111 * alias.cc (mems_same_for_tbaa_p): New function.
3112 * dse.cc (record_store): Use it instead of open-coding
3113 alias check.
3114 * cselib.h (cselib_redundant_set_p): Declare.
3115 * cselib.cc: Include alias.h
3116 (cselib_redundant_set_p): New function.
3117 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
3118 of rtx_equal_for_cselib_p.
3119 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
3120 (reload_cse_noop_set_p): Delete.
3121
3122 2022-08-03 Martin Liska <mliska@suse.cz>
3123
3124 * doc/gcov-dump.texi: Document the new option.
3125 * gcov-dump.cc (main): Parse the new option.
3126 (print_usage): Show the option.
3127 (tag_counters): Sort key:value pairs of TOP N counter.
3128
3129 2022-08-03 Martin Liska <mliska@suse.cz>
3130
3131 * profile.cc (compute_branch_probabilities): Do not collect
3132 stats unless TDF_DETAILS.
3133
3134 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
3135 Uroš Bizjak <ubizjak@gmail.com>
3136
3137 PR target/47949
3138 * config/i386/i386.md (peephole2): New peephole2 to convert
3139 SWI48 moves to/from %rax/%eax where the src is dead to xchg,
3140 when optimizing for minimal size with -Oz.
3141
3142 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
3143
3144 * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
3145 to split comparisons against -1 using AND and CMP -1 instructions.
3146
3147 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
3148
3149 * config/i386/i386-features.cc (compute_convert_gain): Add gain
3150 for converting suitable TImode shift to a V1TImode shift.
3151 (timode_scalar_chain::convert_insn): Add support for converting
3152 suitable ASHIFT and LSHIFTRT.
3153 (timode_scalar_to_vector_candidate_p): Consider logical shifts
3154 by integer constants that are multiples of 8 to be candidates.
3155
3156 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
3157 Segher Boessenkool <segher@kernel.crashing.org>
3158 Richard Sandiford <richard.sandiford@arm.com>
3159
3160 * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
3161 optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
3162 that are all positive to complement the existing FFS and
3163 idempotent ABS simplifications.
3164 <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
3165 val_signbit_known_clear_p is true of the operand.
3166 Simplify sign extensions of SUBREG truncations of operands
3167 that are already suitably (zero) extended.
3168 <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
3169 of operands that are already suitably zero extended.
3170
3171 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
3172
3173 PR tree-optimization/106510
3174 * gimple-range-fold.cc (fur_source::register_outgoing_edges):
3175 Check for unsupported statements early.
3176
3177 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
3178
3179 PR tree-optimization/106474
3180 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
3181 range of equivalences that may contribute to the range.
3182
3183 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com>
3184
3185 * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
3186 encoding bit in BTF.
3187
3188 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
3189
3190 * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
3191 irange check.
3192 (tree_lower_bound): New.
3193 (tree_upper_bound): New.
3194 (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
3195 vrange.
3196 * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
3197 argument to vrange.
3198
3199 2022-08-02 Richard Biener <rguenther@suse.de>
3200
3201 * tree-ssa-threadbackward.cc
3202 (back_threader_profitability::profitable_path_p): Apply
3203 size constraints to all paths again.
3204
3205 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
3206
3207 * range-op-float.cc (finite_operands_p): New.
3208 (frelop_early_resolve): New.
3209 (default_frelop_fold_range): New.
3210 (class foperator_equal): New.
3211 (class foperator_not_equal): New.
3212 (class foperator_lt): New.
3213 (class foperator_le): New.
3214 (class foperator_gt): New.
3215 (class foperator_ge): New.
3216 (class foperator_unordered): New.
3217 (class foperator_ordered): New.
3218 (class foperator_relop_unknown): New.
3219 (floating_op_table::floating_op_table): Add above classes to
3220 floating op table.
3221 * value-range.h (frange::supports_p): Enable.
3222
3223 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
3224
3225 * tree-core.h (struct tree_ssa_name): Add frange_info and
3226 reshuffle the rest.
3227 * value-range-storage.cc (vrange_storage::alloc_slot): Add case
3228 for frange.
3229 (vrange_storage::set_vrange): Same.
3230 (vrange_storage::get_vrange): Same.
3231 (vrange_storage::fits_p): Same.
3232 (frange_storage_slot::alloc_slot): New.
3233 (frange_storage_slot::set_frange): New.
3234 (frange_storage_slot::get_frange): New.
3235 (frange_storage_slot::fits_p): New.
3236 * value-range-storage.h (class frange_storage_slot): New.
3237
3238 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
3239
3240 * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
3241 query to integrals.
3242
3243 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
3244
3245 * value-range.cc (frange::set): Initialize m_props and cleanup.
3246
3247 2022-08-02 Richard Biener <rguenther@suse.de>
3248
3249 PR tree-optimization/106497
3250 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
3251 Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
3252
3253 2022-08-02 Martin Liska <mliska@suse.cz>
3254
3255 * profile.cc (compute_branch_probabilities): Dump details only
3256 if TDF_DETAILS.
3257 * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
3258 TDF_ADDRESS is used, it makes comparison harder.
3259
3260 2022-08-02 Richard Biener <rguenther@suse.de>
3261
3262 PR tree-optimization/106498
3263 * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
3264 SSA update here.
3265 (expand_omp_for): Or here.
3266 (execute_expand_omp): Instead schedule it here together
3267 with CFG cleanup via TODO.
3268
3269 2022-08-02 Richard Biener <rguenther@suse.de>
3270
3271 PR lto/106334
3272 * dwarf2out.cc (dwarf2out_register_external_die): Adjust
3273 assert.
3274
3275 2022-08-02 Richard Biener <rguenther@suse.de>
3276
3277 PR tree-optimization/106495
3278 * tree-ssa-threadbackward.cc
3279 (back_threader_profitability::profitable_path_p): If known_edge
3280 is probably never executed avoid threading.
3281
3282 2022-08-01 David Malcolm <dmalcolm@redhat.com>
3283
3284 * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
3285 error.
3286
3287 2022-08-01 Roger Sayle <roger@nextmovesoftware.com>
3288 Uroš Bizjak <ubizjak@gmail.com>
3289
3290 PR target/106481
3291 * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
3292 Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
3293 CONST_VECTOR.
3294
3295 2022-08-01 H.J. Lu <hjl.tools@gmail.com>
3296
3297 PR target/83782
3298 * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
3299 (TARGET_IFUNC_REF_LOCAL_OK): Use it.
3300
3301 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com>
3302
3303 PR debug/106263
3304 * ctfc.h (struct ctf_dtdef): Add field linkage.
3305 * ctfc.cc (ctf_add_function): Set ctti_linkage.
3306 * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
3307 function types and subprograms.
3308 * btfout.cc (btf_asm_func_type): Emit linkage information for the
3309 function.
3310 (btf_dtd_emit_preprocess_cb): Propagate the linkage information
3311 for functions.
3312
3313 2022-08-01 Andrew Stubbs <ams@codesourcery.com>
3314 Jakub Jelinek <jakub@redhat.com>
3315
3316 * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
3317 the mask type.
3318
3319 2022-08-01 Sam Feifer <sfeifer@redhat.com>
3320
3321 PR tree-optimization/104992
3322 * match.pd (x / y * y == x): New simplification.
3323
3324 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
3325
3326 * value-range.cc (tree_compare): New.
3327 (frange::set): Make more general.
3328 (frange::normalize_kind): Cleanup and return bool.
3329 (frange::union_): Use normalize_kind return value.
3330 (frange::intersect): Same.
3331 (frange::verify_range): Remove unnecessary else.
3332 * value-range.h (vrp_val_max): Move before frange class.
3333 (vrp_val_min): Same.
3334 (frange::frange): Remove set to m_type.
3335
3336 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
3337
3338 * value-range.cc (vrange::supports_type_p): Use const_tree.
3339 (irange::supports_type_p): Same.
3340 (frange::supports_type_p): Same.
3341 * value-range.h (Value_Range::supports_type_p): Same.
3342 (irange::supports_p): Same.
3343
3344 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
3345
3346 * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
3347 query SCEV for integers.
3348 (fold_using_range::range_of_ssa_name_with_loop_info): Remove
3349 irange check.
3350
3351 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
3352
3353 * config/i386/i386.md (define_expand <any_rotate>ti3): For
3354 rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
3355 (rot[lr]64ti2_doubleword): New post-reload splitter.
3356
3357 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
3358 H.J. Lu <hjl.tools@gmail.com>
3359
3360 PR target/106450
3361 * config/i386/i386-features.cc (timode_check_non_convertible_regs):
3362 Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
3363 (timode_remove_non_convertible_regs): Update comment.
3364 Call timode_check_non_convertible_reg on all TImode register
3365 DEFs and USEs in each instruction.
3366
3367 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3368
3369 * config/xtensa/xtensa.md: Change hard register number used in
3370 the split patterns for indirect sibling call fixups from 10 to 11,
3371 the last free one for the CALL0 ABI.
3372
3373 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3374
3375 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
3376 Add new case for IF_THEN_ELSE.
3377
3378 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
3379
3380 * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
3381 (<expander><mode>3<exec>): Use V_INT_noHI.
3382 (v<expander><mode>3<exec>): Likewise.
3383
3384 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
3385
3386 * config/gcn/gcn.md (one_cmpldi2): New.
3387
3388 2022-07-29 Richard Biener <rguenther@suse.de>
3389
3390 PR tree-optimization/105679
3391 * tree-ssa-threadbackward.cc
3392 (back_threader_profitability::profitable_path_p): Avoid threading
3393 when the entry edge is probably never executed.
3394
3395 2022-07-29 Richard Biener <rguenther@suse.de>
3396
3397 PR tree-optimization/106422
3398 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
3399 Check whether we can copy thread blocks and cancel the thread if not.
3400
3401 2022-07-29 Jakub Jelinek <jakub@redhat.com>
3402
3403 PR middle-end/106449
3404 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
3405 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
3406 or n2 before regimplifying it inside of a condition.
3407
3408 2022-07-29 Jakub Jelinek <jakub@redhat.com>
3409
3410 * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
3411 extract_omp_for_update_vars, expand_omp_for_ordered_loops,
3412 expand_omp_simd): Don't fold_convert second argument to
3413 fold_build_pointer_plus to sizetype.
3414
3415 2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
3416
3417 * config.in: Regenerate.
3418 * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
3419 Select the value of the macro definition according to whether
3420 HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
3421 * configure: Regenerate.
3422 * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
3423
3424 2022-07-29 Richard Biener <rguenther@suse.de>
3425
3426 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
3427 Use CONVERT_EXPR_CODE_P.
3428
3429 2022-07-29 Richard Biener <rguenther@suse.de>
3430
3431 * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
3432 get_vectype_for_scalar_type instead of
3433 vect_get_vector_types_for_stmt.
3434
3435 2022-07-28 David Malcolm <dmalcolm@redhat.com>
3436
3437 PR analyzer/105893
3438 * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
3439
3440 2022-07-28 David Malcolm <dmalcolm@redhat.com>
3441
3442 * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
3443 url.
3444 (Static Analyzer Options): Likewise. Add urefs for all of the
3445 warnings that have associated CWE identifiers.
3446
3447 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
3448
3449 * doc/implement-c.texi (Floating point implementation): Mention
3450 `-fno-trapping-math' in the context of FENV_ACCESS pragma.
3451 * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
3452 implication in the descriptions of `-fno-trapping-math' and
3453 `-frounding-math'.
3454
3455 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
3456
3457 * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
3458 (QUIET_PATTERN): New int attribute.
3459 (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
3460 RTL insns entirely within the preparation statements.
3461 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
3462 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
3463 insns.
3464 (*riscv_fsnvsnan<mode>2): New insn.
3465
3466 2022-07-28 Richard Biener <rguenther@suse.de>
3467
3468 PR middle-end/106457
3469 * tree.cc (array_at_struct_end_p): Handle array objects
3470 specially.
3471
3472 2022-07-28 Jakub Jelinek <jakub@redhat.com>
3473
3474 PR tree-optimization/106099
3475 * internal-fn.def (TRAP): New internal fn.
3476 * internal-fn.h (expand_TRAP): Declare.
3477 * internal-fn.cc (expand_TRAP): Define.
3478 * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
3479 use internal fn rather than builtin.
3480
3481 2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
3482
3483 * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
3484
3485 2022-07-27 WANG Xuerui <i@xen0n.name>
3486
3487 * doc/invoke.texi: Document -m[no-]explicit-relocs for
3488 LoongArch.
3489
3490 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
3491
3492 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
3493 duplicate backslashes.
3494
3495 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
3496
3497 * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
3498 case.
3499
3500 2022-07-27 Jakub Jelinek <jakub@redhat.com>
3501
3502 PR debug/106261
3503 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
3504 output asm thunks for -dx.
3505
3506 2022-07-27 Jakub Jelinek <jakub@redhat.com>
3507
3508 PR middle-end/106332
3509 * opts-common.cc (candidates_list_and_hint): Add gcc_assert
3510 that candidates is not an empty vector.
3511
3512 2022-07-27 Xi Ruoyao <xry111@xry111.site>
3513
3514 * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
3515 assembler supports explicit relocation for LoongArch.
3516 * configure: Regenerate.
3517 * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
3518 Define to 0 if not defined.
3519 * config/loongarch/genopts/loongarch.opt.in
3520 (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
3521 * config/loongarch/loongarch.opt: Regenerate.
3522
3523 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
3524
3525 PR c/106016
3526 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
3527
3528 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
3529
3530 * config/loongarch/loongarch-opts.cc: Modify the output message string
3531 of the warning.
3532
3533 2022-07-26 Martin Liska <mliska@suse.cz>
3534
3535 * doc/tm.texi.in: Fix placement of defmac.
3536 * doc/tm.texi: Copy.
3537
3538 2022-07-26 Martin Liska <mliska@suse.cz>
3539
3540 * doc/tm.texi.in: Fix cross @defmac and @hook.
3541 * doc/tm.texi: Copy.
3542
3543 2022-07-26 Aldy Hernandez <aldyh@redhat.com>
3544
3545 PR tree-optimization/106444
3546 * value-range-pretty-print.cc (vrange_printer::visit): Handle
3547 legacy ranges.
3548 (vrange_printer::print_irange_bound): Work on wide_int's.
3549 * value-range-pretty-print.h (print_irange_bound): Same.
3550 * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
3551
3552 2022-07-26 Richard Biener <rguenther@suse.de>
3553
3554 * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
3555 points to a constant continue checking ptr2.
3556
3557 2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
3558
3559 * config/aarch64/aarch64-builtins.cc
3560 (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
3561 (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
3562 (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
3563 (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
3564 (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
3565 (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
3566 (MODE_q_p128): Define macro to map to corresponding mode name.
3567 (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
3568 (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
3569 (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
3570 corresponding qualifier name.
3571 (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
3572 (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
3573 functions for the above mappings
3574 (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
3575 (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
3576 (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
3577 (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
3578 for all vreinterpret intrinsics
3579 (enum aarch64_builtins): Add vreinterpret function codes
3580 (aarch64_init_simd_intrinsics): New
3581 (handle_arm_neon_h): Improved comment.
3582 (aarch64_general_fold_builtin): Fold vreinterpret calls
3583 * config/aarch64/arm_neon.h
3584 (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
3585 (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
3586 (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
3587 (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
3588 (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
3589 (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
3590 (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
3591 (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
3592 (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
3593 (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
3594 (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
3595 (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
3596 (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
3597 (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
3598 (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
3599 (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
3600 (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
3601 (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
3602 (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
3603 (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
3604 (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
3605 (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
3606 (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
3607 (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
3608 (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
3609 (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
3610 (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
3611 (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
3612 (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
3613 (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
3614 (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
3615 (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
3616 (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
3617 (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
3618 (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
3619 (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
3620 (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
3621 (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
3622 (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
3623 (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
3624 (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
3625 (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
3626 (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
3627 (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
3628 (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
3629 (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
3630 (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
3631 (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
3632 (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
3633 (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
3634 (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
3635 (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
3636 (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
3637 (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
3638 (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
3639 (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
3640 (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
3641 (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
3642 (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
3643 (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
3644 (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
3645 (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
3646 (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
3647 (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
3648 (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
3649 (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
3650 (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
3651 (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
3652 (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
3653 (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
3654 (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
3655 (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
3656 (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
3657 (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
3658 (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
3659 (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
3660 (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
3661 (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
3662 (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
3663 (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
3664 (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
3665 (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
3666 (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
3667 (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
3668 (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
3669 (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
3670 (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
3671 (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
3672 (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
3673 (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
3674 (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
3675 (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
3676 (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
3677 (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
3678 (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
3679 (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
3680 (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
3681 (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
3682 (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
3683 (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
3684 (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
3685 (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
3686 (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
3687 (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
3688 (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
3689 (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
3690 (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
3691 (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
3692 (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
3693 (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
3694 (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
3695 (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
3696 (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
3697 (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
3698 (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
3699 (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
3700 (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
3701 (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
3702 (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
3703 (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
3704 (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
3705 (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
3706 (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
3707 (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
3708 (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
3709 (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
3710 (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
3711 (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
3712 (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
3713 (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
3714 (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
3715 (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
3716 (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
3717 (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
3718 (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
3719 (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
3720 (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
3721 (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
3722 (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
3723 (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
3724 (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
3725 (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
3726 (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
3727 (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
3728 (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
3729 (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
3730 (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
3731 (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
3732 (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
3733 (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
3734 (vreinterpretq_p128_bf16): Delete
3735
3736 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
3737
3738 * config/aarch64/aarch64-builtins.cc
3739 (aarch64_simd_builtin_std_type): Rename to...
3740 (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
3741 (aarch64_lookup_simd_builtin_type): Rename to...
3742 (aarch64_simd_builtin_type): ...this. Add const/pointer
3743 support, and extract table lookup to...
3744 (aarch64_lookup_simd_type_in_table): ...this function.
3745 (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
3746 (aarch64_init_fcmla_laneq_builtins): Ditto.
3747 (aarch64_init_simd_builtin_functions): Ditto.
3748
3749 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
3750
3751 * config/aarch64/aarch64-builtins.cc
3752 (aarch64_general_gimple_fold_builtin): Add combine.
3753
3754 2022-07-26 Richard Biener <rguenther@suse.de>
3755
3756 PR tree-optimization/106189
3757 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
3758 Divide using offset_ints.
3759
3760 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
3761
3762 * common/config/loongarch/loongarch-common.cc:
3763 Enable '-fsection-anchors' when O1 and more advanced optimization.
3764 * config/loongarch/genopts/loongarch.opt.in: Add new option
3765 '-mexplicit-relocs', and enable by default.
3766 * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
3767 Delete function declaration.
3768 (loongarch_split_move_insn): Delete function declaration.
3769 (loongarch_split_symbol_type): Add function declaration.
3770 * config/loongarch/loongarch.cc (enum loongarch_address_type):
3771 Add new address type 'ADDRESS_LO_SUM'.
3772 (loongarch_classify_symbolic_expression): New function definitions.
3773 Classify the base of symbolic expression X, given that X appears in
3774 context CONTEXT.
3775 (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
3776 (loongarch_split_symbol_type): New function definitions.
3777 Determines whether the symbol load should be split into two instructions.
3778 (loongarch_valid_lo_sum_p): New function definitions.
3779 Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
3780 symbol has type SYMBOL_TYPE.
3781 (loongarch_classify_address): Add handling of 'LO_SUM'.
3782 (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
3783 (loongarch_signed_immediate_p): Sort code.
3784 (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
3785 (loongarch_const_insns): Add handling of 'HIGH'.
3786 (loongarch_split_move_insn_p): Add the static attribute to the function.
3787 (loongarch_emit_set): New function definitions.
3788 (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
3789 (loongarch_legitimize_tls_address): Add symbol handling when defining the
3790 TARGET_EXPLICIT_RELOCS macro.
3791 (loongarch_split_symbol): New function definitions. Split symbol.
3792 (loongarch_legitimize_address): Add codes see if the address can split into a high part
3793 and a LO_SUM.
3794 (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
3795 high and low.
3796 (loongarch_split_move_insn): Delete function definitions.
3797 (loongarch_output_move): Add support for HIGH and LO_SUM.
3798 (loongarch_print_operand_reloc): New function definitions.
3799 Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
3800 (loongarch_memmodel_needs_release_fence): Sort code.
3801 (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
3802 and LOW output.
3803 (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
3804 (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
3805 (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
3806 * config/loongarch/loongarch.md (movti): Delete the template.
3807 (*movti): Delete the template.
3808 (movtf): Delete the template.
3809 (*movtf): Delete the template.
3810 (*low<mode>): New template of normal symbol low address.
3811 (@tls_low<mode>): New template of tls symbol low address.
3812 (@ld_from_got<mode>): New template load address from got table.
3813 (@ori_l_lo12<mode>): New template.
3814 * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
3815 * config/loongarch/predicates.md: Add support for symbol_type HIGH.
3816
3817 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
3818
3819 * config/loongarch/constraints.md (a): Delete the constraint.
3820 (b): A constant call not local address.
3821 (h): Delete the constraint.
3822 (t): Delete the constraint.
3823 * config/loongarch/loongarch-opts.cc (loongarch_config_target):
3824 Remove cModel type support other than normal.
3825 * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
3826 Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
3827 (loongarch_split_symbol): Delete useless function declarations.
3828 (loongarch_split_symbol_type): Delete useless function declarations.
3829 * config/loongarch/loongarch.cc (enum loongarch_address_type):
3830 Delete unnecessary comment information.
3831 (loongarch_symbol_binds_local_p): Modified the judgment order of label
3832 and symbol.
3833 (loongarch_classify_symbol): Return symbol type. If symbol is a label,
3834 or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
3835 return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
3836 (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
3837 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
3838 (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
3839 and 'SYMBOL_PCREL'.
3840 (loongarch_address_insns): Sort code.
3841 (loongarch_12bit_offset_address_p): Sort code.
3842 (loongarch_14bit_shifted_offset_address_p): Sort code.
3843 (loongarch_call_tls_get_addr): Sort code.
3844 (loongarch_legitimize_tls_address): Sort code.
3845 (loongarch_output_move): Remove schema support for cmodel other than normal.
3846 (loongarch_memmodel_needs_release_fence): Sort code.
3847 (loongarch_print_operand): Sort code.
3848 * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
3849 Rename to LARCH_12BIT_OFFSET_P.
3850 (LARCH_12BIT_OFFSET_P): New macro.
3851 * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
3852 support for cmodel other than normal.
3853 * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
3854 (is_const_call_plt_symbol): Delete this predicate.
3855 (is_const_call_global_noplt_symbol): Delete this predicate.
3856 (is_const_call_no_local_symbol): New predicate, determines whether it is a local
3857 symbol or label.
3858
3859 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
3860
3861 PR target/106091
3862 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
3863 REG_EH_REGION when replacing one store insn having it.
3864 (replace_swapped_aligned_load): Likewise.
3865
3866 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
3867
3868 * Makefile.in (OBJS): Add range-op-float.o.
3869 * range-op.cc (get_float_handler): New.
3870 (range_op_handler::range_op_handler): Save code and type for
3871 delayed querying.
3872 (range_op_handler::oeprator bool): Move from header file, and
3873 add support for floats.
3874 (range_op_handler::fold_range): Add support for floats.
3875 (range_op_handler::op1_range): Same.
3876 (range_op_handler::op2_range): Same.
3877 (range_op_handler::lhs_op1_relation): Same.
3878 (range_op_handler::lhs_op2_relation): Same.
3879 (range_op_handler::op1_op2_relation): Same.
3880 * range-op.h (class range_operator_float): New.
3881 (class floating_op_table): New.
3882 * value-query.cc (range_query::get_tree_range): Add case for
3883 REAL_CST.
3884 * range-op-float.cc: New file.
3885
3886 2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
3887 Uroš Bizjak <ubizjak@gmail.com>
3888
3889 PR target/91681
3890 * config/i386/i386-expand.cc (split_double_concat): A new helper
3891 function for setting a double word value from two word values.
3892 * config/i386/i386-protos.h (split_double_concat): Prototype here.
3893 * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
3894 (*add<dwi>3_doubleword_zext): New define_insn_and_split.
3895 (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
3896 (*concat<mode><dwi>3_1): New define_insn_and_split replacing
3897 previous define_split for implementing DST = (HI<<32)|LO as
3898 pair of move instructions, setting lopart and hipart.
3899 (*concat<mode><dwi>3_2): Likewise.
3900 (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
3901 (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
3902
3903 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
3904
3905 PR middle-end/106432
3906 * gimple-range.cc (gimple_ranger::range_on_edge): Return false
3907 when the result range type is unsupported.
3908
3909 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
3910
3911 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
3912
3913 2022-07-25 Richard Biener <rguenther@suse.de>
3914
3915 PR middle-end/106414
3916 * match.pd (~(x ^ y) -> x == y): Restrict to single bit
3917 precision types.
3918
3919 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
3920
3921 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
3922 (@aarch64_rbit<mode>): ... to this and change it in...
3923 (ffs<mode>2,ctz<mode>2): ... here.
3924 (@aarch64_rev16<mode>): New.
3925 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
3926 Define the following enum AARCH64_REV16, AARCH64_REV16L,
3927 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
3928 (aarch64_init_data_intrinsics): New.
3929 (aarch64_general_init_builtins): Add call to
3930 aarch64_init_data_intrinsics.
3931 (aarch64_expand_builtin_data_intrinsic): New.
3932 (aarch64_general_expand_builtin): Add call to
3933 aarch64_expand_builtin_data_intrinsic.
3934 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
3935 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
3936 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
3937
3938 2022-07-25 Martin Liska <mliska@suse.cz>
3939
3940 * doc/extend.texi: Remove trailing whitespaces.
3941 * doc/invoke.texi: Likewise.
3942
3943 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
3944
3945 * value-range-pretty-print.cc (vrange_printer::visit): New.
3946 (vrange_printer::print_frange_prop): New.
3947 * value-range-pretty-print.h (class vrange_printer): Add visit and
3948 print_frange_prop.
3949 * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
3950 (vrange_allocator::alloc_frange): New.
3951 * value-range.cc (vrange::operator=): Handle frange.
3952 (vrange::operator==): Same.
3953 (frange::accept): New.
3954 (frange::set): New.
3955 (frange::normalize_kind): New.
3956 (frange::union_): New.
3957 (frange::intersect): New.
3958 (frange::operator=): New.
3959 (frange::operator==): New.
3960 (frange::supports_type_p): New.
3961 (frange::verify_range): New.
3962 * value-range.h (enum value_range_discriminator): Handle frange.
3963 (class fp_prop): New.
3964 (FP_PROP_ACCESSOR): New.
3965 (class frange_props): New.
3966 (FRANGE_PROP_ACCESSOR): New.
3967 (class frange): New.
3968 (Value_Range::init): Handle frange.
3969 (Value_Range::operator=): Same.
3970 (Value_Range::supports_type_p): Same.
3971 (frange_props::operator==): New.
3972 (frange_props::union_): New.
3973 (frange_props::intersect): New
3974 (frange::frange): New.
3975 (frange::type): New.
3976 (frange::set_varying): New.
3977 (frange::set_undefined): New.
3978
3979 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
3980 Kewen Lin <linkw@linux.ibm.com>
3981
3982 PR testsuite/106345
3983 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
3984 to filter out all -mtune options.
3985
3986 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
3987
3988 * value-query.cc (range_query::get_value_range): Add assert.
3989 * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
3990 on unsupported types in vr_values.
3991 (simplify_using_ranges::simplify): Same.
3992
3993 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
3994
3995 * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
3996 types.
3997 * value-query.cc (get_ssa_name_range_info): Remove precision check.
3998
3999 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
4000
4001 * value-relation.cc (value_relation::set_relation): Remove assert.
4002 (path_oracle::register_relation): Exit when trying to register
4003 same SSA name relations.
4004
4005 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
4006
4007 * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
4008 (ranger_cache::range_from_dom): Same.
4009 * tree-ssa-dom.cc
4010 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
4011
4012 2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
4013 H.J. Lu <hjl.tools@gmail.com>
4014
4015 PR target/106303
4016 PR target/106347
4017 * config/i386/i386-features.cc (make_vector_copies): Move from
4018 general_scalar_chain to scalar_chain.
4019 (convert_reg): Likewise.
4020 (convert_insn_common): New scalar_chain method split out from
4021 general_scalar_chain convert_insn.
4022 (convert_registers): Move from general_scalar_chain to
4023 scalar_chain.
4024 (scalar_chain::convert): Call convert_insn_common before calling
4025 convert_insn.
4026 (timode_remove_non_convertible_regs): Iterate until there are
4027 no further changes to the candidates.
4028 * config/i386/i386-features.h (scalar_chain::hash_map): Move
4029 from general_scalar_chain.
4030 (scalar_chain::convert_reg): Likewise.
4031 (scalar_chain::convert_insn_common): New shared method.
4032 (scalar_chain::make_vector_copies): Move from general_scalar_chain.
4033 (scalar_chain::convert_registers): Likewise. No longer virtual.
4034 (general_scalar_chain::hash_map): Delete. Moved to scalar_chain.
4035 (general_scalar_chain::convert_reg): Likewise.
4036 (general_scalar_chain::make_vector_copies): Likewise.
4037 (general_scalar_chain::convert_registers): Delete virtual method.
4038 (timode_scalar_chain::convert_registers): Likewise.
4039
4040 2022-07-23 Immad Mir <mirimmad@outlook.com>
4041
4042 * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
4043 "Common Function Attributes" section.
4044 * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
4045 -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
4046 warnings may be emitted through usage of three function attributes used
4047 for static analysis of file descriptors namely fd_arg, fd_arg_read and
4048 fd_arg_write.
4049
4050 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4051
4052 * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
4053 Add a new insn_and_split pattern, and a few split patterns for
4054 spacial cases.
4055
4056 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
4057
4058 * graphds.cc (graphds_scc): Fix algorithm attribution.
4059
4060 2022-07-22 Richard Biener <rguenther@suse.de>
4061
4062 PR tree-optimization/106403
4063 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
4064 value valueization after check for IFN_MASKED_STORE or
4065 IFN_LEN_STORE.
4066
4067 2022-07-22 Richard Biener <rguenther@suse.de>
4068
4069 PR tree-optimization/106397
4070 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
4071 not update SSA form here.
4072 (mark_nontemporal_stores): Return whether we marked any
4073 non-temporal stores and inserted mfence.
4074 (loop_prefetch_arrays): Note when we need to update SSA.
4075 (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
4076 at the end of the pass.
4077
4078 2022-07-22 Richard Biener <rguenther@suse.de>
4079
4080 PR tree-optimization/106387
4081 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
4082 if ptr is not an SSA name.
4083
4084 2022-07-22 liuhongt <hongtao.liu@intel.com>
4085
4086 PR target/106038
4087 * config/i386/mmx.md (<code><mode>3): New define_expand, it's
4088 original "<code><mode>3".
4089 (*<code><mode>3): New define_insn, it's original
4090 "<code><mode>3" be extended to handle memory and immediate
4091 operand with ix86_binary_operator_ok. Also adjust define_split
4092 after it.
4093 (mmxinsnmode): New mode attribute.
4094 (*mov<mode>_imm): Refactor with mmxinsnmode.
4095 * config/i386/predicates.md
4096 (register_or_x86_64_const_vector_operand): New predicate.
4097
4098 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
4099
4100 * config/rs6000/altivec.md:
4101 (vstrir_code_<mode>): Rename to...
4102 (vstrir_direct_<mode>): ... this.
4103 (vstrir_p_code_<mode>): Rename to...
4104 (vstrir_p_direct_<mode>): ... this.
4105 (vstril_code_<mode>): Rename to...
4106 (vstril_direct_<mode>): ... this.
4107 (vstril_p_code_<mode>): Rename to...
4108 (vstril_p_direct_<mode>): ... this.
4109
4110 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
4111
4112 * config/rs6000/rs6000-c.cc: Update comments.
4113 (rs6000_target_modify_macros): Remove bu_mask references.
4114 (rs6000_define_or_undefine_macro): Replace bu_mask reference
4115 with a rs6000_cpu value check.
4116 (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
4117 parameter from call to rs6000_target_modify_macros.
4118 * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
4119 rs6000_target_modify_macros_ptr): Remove parameter from extern
4120 for the prototype.
4121 * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
4122 parameter from prototype, update calls to this function.
4123 (rs6000_print_builtin_options): Remove prototype, call and function.
4124 (rs6000_builtin_mask_calculate): Remove function.
4125 (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
4126 (rs6000_option_override_internal): Remove rs6000_builtin_mask var
4127 and builtin_mask debug output.
4128 (rs6000_builtin_mask_names): Remove.
4129 (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
4130 diff_bumask references; Update calls to rs6000_target_modify_ptr.
4131 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
4132
4133 2022-07-21 Sam Feifer <sfeifer@redhat.com>
4134
4135 PR tree-optimization/94920
4136 * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
4137 (x <= 0 ? -x : 0): New simplification.
4138
4139 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4140
4141 Revert:
4142 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4143
4144 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
4145 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
4146
4147 2022-07-21 Richard Biener <rguenther@suse.de>
4148
4149 PR tree-optimization/106379
4150 * match.pd (~(a ^ b) -> a == b): New pattern.
4151
4152 2022-07-21 Richard Biener <rguenther@suse.de>
4153
4154 PR tree-optimization/106378
4155 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
4156 LEN_STORE, add mode to initialize a may-def and handle
4157 MASK_STORE that way.
4158 (dse_optimize_stmt): Query may-defs. Handle internal
4159 functions LEN_STORE and MASK_STORE similar to how
4160 we handle memory builtins but without byte tracking.
4161
4162 2022-07-21 Richard Biener <rguenther@suse.de>
4163
4164 PR tree-optimization/106365
4165 * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
4166 the offset to start encoding of RHS from.
4167 (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
4168 (vn_walk_cb_data::push_partial_def): Allow the first partial
4169 definition to be fully providing the def. Offset RHS
4170 before encoding if requested.
4171 (vn_reference_lookup_3): Initialize def_rhs everywhere.
4172 Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
4173
4174 2022-07-21 Richard Biener <rguenther@suse.de>
4175
4176 * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
4177 store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
4178 and IFN_MASK_LOAD_LANES.
4179 (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
4180 IFN_LEN_STORE and IFN_MASK_STORE_LANES.
4181
4182 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
4183
4184 PR rtl-optimization/101347
4185 * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
4186 population of nonlocal_goto_handler_labels from here ...
4187 (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
4188 * rtlanal.cc (remove_node_from_insn_list): Verify that a
4189 duplicate is not present in the remainder of the list.
4190
4191 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
4192
4193 * rtl.h (remove_node_from_expr_list): Remove declaration.
4194 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
4195
4196 2022-07-20 Richard Biener <rguenther@suse.de>
4197
4198 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
4199 invariant updated address when the input was invariant.
4200
4201 2022-07-20 liuhongt <hongtao.liu@intel.com>
4202
4203 * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
4204 and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
4205 * timevar.def (TV_TREE_POWCABS): New timevar.
4206 * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
4207 * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
4208 (class pass_expand_powcabs): Ditto.
4209 (pass_expand_powcabs::execute): Ditto.
4210 (make_pass_expand_powcabs): Ditto.
4211 (pass_cse_sincos::execute): Remove pow/cabs expand part.
4212 (make_pass_cse_sincos): Ditto.
4213
4214 2022-07-20 Richard Biener <richard.guenther@gmail.com>
4215 Hongtao Liu <hongtao.liu@intel.com>
4216
4217 PR tree-optimization/106010
4218 * tree-complex.cc (init_dont_simulate_again): Lower complex
4219 type move.
4220 (expand_complex_move): Also expand COMPLEX_CST for rhs.
4221
4222 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
4223
4224 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
4225 for incoming ranges on join nodes and add to worklist.
4226
4227 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
4228
4229 * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
4230 (ranger_cache::range_from_dom): Put all nodes to be calculated
4231 in the worklist and resolve after the dom walk.
4232 * gimple-range-cache.h (resolve_dom): New prototype.
4233
4234 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
4235
4236 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
4237 returns_twice calls.
4238
4239 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
4240
4241 * cfghooks.cc (duplicate_block): Expand comment.
4242 * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
4243 calls that may return twice.
4244
4245 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
4246
4247 * tree-ssa-sink.cc (select_best_block): Punt if selected block
4248 has incoming abnormal edges.
4249
4250 2022-07-19 Martin Liska <mliska@suse.cz>
4251
4252 * doc/extend.texi: Remove trailing :.
4253
4254 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4255
4256 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
4257 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
4258
4259 2022-07-19 Richard Biener <rguenther@suse.de>
4260
4261 PR middle-end/106331
4262 * builtins.cc (get_memory_rtx): Compute alignment from
4263 the original address and set MEM_OFFSET to unknown when
4264 we create a MEM_EXPR from the base object of the address.
4265
4266 2022-07-19 Richard Biener <rguenther@suse.de>
4267
4268 PR lto/106334
4269 * dwarf2out.cc (dwarf2out_register_external_die): Allow
4270 map entry re-use during WPA.
4271
4272 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
4273 Richard Biener <rguenther@suse.de>
4274
4275 PR c/106264
4276 * builtins.cc (fold_builtin_frexp): Call suppress_warning on
4277 COMPOUND_EXPR to silence spurious warning if result isn't used.
4278 (fold_builtin_modf): Likewise.
4279 (do_mpfr_remquo): Likewise.
4280
4281 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4282
4283 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
4284 Change the relative cost of '(set (reg) (const_int N))' where
4285 N fits into signed 12-bit from 4 to 0 if optimizing for size.
4286 And use the appropriate macro instead of the bare number 4.
4287
4288 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
4289
4290 PR tree-optimization/106280
4291 * value-relation.cc (dom_oracle::register_relation): Register
4292 transitives only when it is possible for there to be one.
4293 (dom_oracle::set_one_relation): Return NULL if this is an
4294 existing relation.
4295
4296 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
4297
4298 * doc/invoke.texi (RISC-V Options): Add index references for
4299 `mrelax' and `mriscv-attribute'.
4300
4301 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
4302
4303 * doc/invoke.texi (Option Summary): Add missing second space
4304 around `-mstack-protector-guard-reg='.
4305
4306 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
4307
4308 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
4309 (RISC-V Options): Likewise, and `-mriscv-attribute'.
4310
4311 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
4312
4313 * config/arc/arc-arch.h (arc_tune_attr): Add
4314 ARC_TUNE_ARCHS4X_REL31A variant.
4315 * config/arc/arc.cc (arc_override_options): Tune options for
4316 release 310a.
4317 (arc_sched_issue_rate): Use correct enum.
4318 (arc600_corereg_hazard): Textual change.
4319 (arc_hazard): Add release 310a tunning.
4320 * config/arc/arc.md (tune): Update and take into consideration new
4321 tune option.
4322 (tune_dspmpy): Likewise.
4323 (tune_store): New attribute.
4324 * config/arc/arc.opt (mtune): New tune option.
4325 * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
4326 (hs4x_brcc_op): New instruction rezervation.
4327 (hs4x_data_store_1_op): Likewise.
4328 * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
4329 * config/arc/arc-tables.opt: Regenerate.
4330 * config/arc/t-multilib: Likewise.
4331 * doc/invoke.texi (ARC): Update mcpu and tune sections.
4332
4333 2022-07-18 Richard Biener <rguenther@suse.de>
4334
4335 * tree-loop-distribution.cc (loop_distribution::distribute_loop):
4336 When computing cost-based merging do not disregard builtin
4337 classified partitions in some cases.
4338
4339 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
4340
4341 PR target/106253
4342 * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
4343 Delete.
4344 * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
4345 * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
4346 Delete.
4347 * config/arm/arm_neon_builtins.def (copysignf): Delete.
4348 * config/arm/iterators.md (nvrint_pattern): New attribute.
4349 * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
4350 New pattern.
4351 (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
4352 Likewise.
4353 (neon_copysignf<mode>): Rename to...
4354 (copysign<mode>3): ...this.
4355
4356 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
4357
4358 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
4359 pointer first when in interrupts.
4360
4361 2022-07-18 Richard Biener <rguenther@suse.de>
4362
4363 * tree-loop-distribution.cc (copy_loop_before): Add
4364 the ability to replace the original LC PHI defs.
4365 (generate_loops_for_partition): Pass through a flag
4366 whether to redirect original LC PHI defs.
4367 (generate_code_for_partition): Likewise.
4368 (loop_distribution::distribute_loop): Compute the partition
4369 that should provide the LC PHI defs for common reductions
4370 and pass that down.
4371
4372 2022-07-18 Richard Ball <richard.ball@arm.com>
4373
4374 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
4375 (aarch64_evpc_uzp): Likewise.
4376 (aarch64_evpc_zip): Likewise.
4377
4378 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
4379
4380 PR target/106231
4381 * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
4382 to recognize any_extend:DI of ctz:SI which is implicitly extended.
4383 (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
4384 extended ctz:SI that has preceding xor to break false dependency.
4385
4386 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
4387
4388 * config/i386/predicates.md (x86_64_const_vector_operand):
4389 Check the operand's mode matches the specified mode argument.
4390
4391 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
4392
4393 * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
4394 (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
4395 (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
4396 (vec_pack_trunc_qi): Update to specify the now required
4397 UNSPEC_MASKOP unspec.
4398 (vec_pack_trunc_<mode>): Likewise.
4399
4400 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4401
4402 * config/xtensa/xtensa.md
4403 (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
4404 *masktrue_const_shifted_mask): If the immediate for bitwise AND is
4405 represented as '-(1 << N)', decrease the lower bound of N from 12
4406 to 1. And the other immediate for conditional branch is now no
4407 longer limited to zero, but also one of some positive integers.
4408 Finally, remove the checks of some conditions, because the comparison
4409 expressions that don't satisfy such checks are determined as
4410 compile-time constants and thus will be optimized away before
4411 RTL expansion.
4412
4413 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4414
4415 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
4416 (xtensa_constantsynth_2insn): Change to try all three synthetic
4417 methods and to use the one that fits the immediate value of
4418 the seed into a Narrow Move Immediate instruction "MOVI.N"
4419 when the Code Density Option is configured.
4420
4421 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
4422
4423 PR target/85620
4424 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
4425 false if callee has indirect_return attribute and caller
4426 doesn't.
4427
4428 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
4429
4430 PR target/106273
4431 * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
4432 constraints to reflect the output is earlyclobber, unless it is
4433 the same register (pair) as one of the operands.
4434
4435 2022-07-15 David Malcolm <dmalcolm@redhat.com>
4436
4437 * doc/invoke.texi (Static Analyzer Options): Add the new fd
4438 warnings to the initial gccoptlist, and to the list of those
4439 disabled by -fanalyzer-checker=taint.
4440
4441 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
4442
4443 * config/aarch64/aarch64-builtins.cc
4444 (enum aarch64_type_qualifiers): Remove qualifier_internal.
4445 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
4446
4447 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
4448
4449 * config/aarch64/aarch64-builtins.cc
4450 (v1di_UP): Add V1DI mode to _UP macros.
4451 * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
4452 * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
4453 * config/aarch64/aarch64-simd.md
4454 (vec_extractv2dfv1df): Replace with...
4455 (vec_extract<mode><V1half>): ...this.
4456 * config/aarch64/aarch64.cc
4457 (aarch64_classify_vector_mode): Add V1DI mode.
4458 * config/aarch64/iterators.md
4459 (VQ_2E, V1HALF, V1half): New.
4460 (nunits): Add V1DI mode.
4461
4462 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
4463
4464 PR target/106278
4465 * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
4466 Fix indentation whitespace.
4467 (timode_scalar_chain::fix_debug_reg_uses): Likewise.
4468 (timode_scalar_chain::convert_insn): Delete dead code.
4469 Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
4470 Fix indentation whitespace.
4471 (convertible_comparison_p): Likewise.
4472 (timode_scalar_to_vector_candidate_p): Likewise.
4473
4474 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
4475
4476 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
4477
4478 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
4479
4480 * Makefile.in (OBJS): Add value-range-pretty-print.o.
4481 * pretty-print.h (pp_vrange): New.
4482 * value-range.cc (vrange::dump): Call pp version.
4483 (unsupported_range::dump): Move to its own file.
4484 (dump_bound_with_infinite_markers): Same.
4485 (irange::dump): Same.
4486 (irange::dump_bitmasks): Same.
4487 (vrange::debug): Remove.
4488 * value-range.h: Remove virtual designation for dump methods.
4489 Remove dump_bitmasks method.
4490 * value-range-pretty-print.cc: New file.
4491 * value-range-pretty-print.h: New file.
4492
4493 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
4494
4495 * value-range.cc (irange::accept): New.
4496 (unsupported_range::accept): New.
4497 * value-range.h (class vrange_visitor): New.
4498 (class vrange): Add accept method.
4499 (class unsupported_range): Same.
4500 (class Value_Range): Same.
4501
4502 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
4503
4504 * diagnostic-format-json.cc (json_from_location_range): Adjust
4505 to new label_text API.
4506 * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
4507 Likewise.
4508 * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
4509 (layout::print_any_labels): Likewise.
4510 * tree-diagnostic-path.cc (class path_label): Likewise.
4511 (struct event_range): Likewise.
4512 (default_tree_diagnostic_path_printer): Likewise.
4513 (default_tree_make_json_for_path): Likewise.
4514
4515 2022-07-15 konglin1 <lingling.kong@intel.com>
4516
4517 PR target/106113
4518 * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
4519 comparison due to intrinsics changed over time.
4520 * config/i386/i386-expand.cc (ix86_ssecom_setcc):
4521 Add unordered check and mode for sse comi codegen.
4522 (ix86_expand_sse_comi): Add unordered check and check a different
4523 CCmode.
4524 (ix86_expand_sse_comi_round):Extract unordered check and mode part
4525 in ix86_ssecom_setcc.
4526
4527 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4528
4529 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
4530 op_mode instead of vmode in calls to force_reg for op0 and op1.
4531
4532 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
4533
4534 PR tree-optimization/103798
4535 * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
4536 (simplify_builtin_call): Inline memchr with constant strings of
4537 no more than the bytes of a word.
4538 * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
4539 * tree-ssa-strlen.h (use_in_zero_equality): New.
4540
4541 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
4542
4543 * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
4544 and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
4545 (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
4546 pass it in the call to lookup_tmp_var.
4547 (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
4548 (get_initialized_tmp_var): Likewise.
4549 (prepare_gimple_addressable): Call internal_get_tmp_var instead of
4550 get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
4551
4552 2022-07-14 Martin Liska <mliska@suse.cz>
4553
4554 * doc/gimple.texi: Close properly a deftypefn.
4555
4556 2022-07-14 Martin Liska <mliska@suse.cz>
4557
4558 * doc/gimple.texi: Close properly a deftypefn.
4559
4560 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4561
4562 * config/xtensa/xtensa.md:
4563 In FP constant synthesis split pattern, subcontract to
4564 avoid_constant_pool_reference() as in the case of integer,
4565 because it can handle well too. And cast to int32_t before
4566 calling xtensa_constantsynth() in order to ignore upper 32-bit.
4567
4568 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
4569
4570 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
4571
4572 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
4573
4574 * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
4575 (irange::legacy_intersect): Clear nonzero mask.
4576 (irange::legacy_union): Same.
4577 (irange::invert): Same.
4578
4579 2022-07-13 Richard Biener <rguenther@suse.de>
4580
4581 * tree-ssa-dom.h (record_temporary_equivalences): Remove.
4582 * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
4583 (dom_jt_state::get_blocks_on_stack): Likewise.
4584 (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
4585 (back_propagate_equivalences): Remove dominator bitmap
4586 compute and instead use passed in m_blocks_on_stack.
4587 (record_temporary_equivalences): Likewise.
4588 (record_equivalences_from_incoming_edge): Likewise.
4589 (dom_opt_dom_walker::before_dom_children): Maintain and
4590 pass down blocks on stack.
4591 (dom_opt_dom_walker::after_dom_children): Likewise.
4592
4593 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
4594
4595 * config/aarch64/aarch64-builtins.cc
4596 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
4597
4598 2022-07-13 Richard Biener <rguenther@suse.de>
4599
4600 PR tree-optimization/106249
4601 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
4602 Only verify LC SSA of the new_loop if we created it.
4603 Use TODO_update_ssa_nophi for the SSA update after versioning
4604 the loop.
4605
4606 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
4607
4608 * range-op.cc (unsigned_singleton_p): Remove.
4609 (operator_bitwise_and::remove_impossible_ranges): Remove.
4610 (operator_bitwise_and::fold_range): Set nonzero bits. *
4611 * value-range.cc (irange::get_nonzero_bits): Remove
4612 legacy_mode_p assert.
4613 (irange::dump_bitmasks): Remove legacy_mode_p check.
4614
4615 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
4616
4617 PR target/106253
4618 * predict.h (insn_optimization_type): Declare.
4619 * predict.cc (insn_optimization_type): New function.
4620 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
4621 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
4622 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
4623 * internal-fn.cc (unary_convert_direct): New macro.
4624 (expand_convert_optab_fn): New function.
4625 (expand_unary_convert_optab_fn): New macro.
4626 (direct_unary_convert_optab_supported_p): Likewise.
4627 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
4628 convert_optab_handler.
4629 * config/aarch64/aarch64-protos.h
4630 (aarch64_builtin_vectorized_function): Delete.
4631 * config/aarch64/aarch64-builtins.cc
4632 (aarch64_builtin_vectorized_function): Delete.
4633 * config/aarch64/aarch64.cc
4634 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
4635 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
4636 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
4637 optimize_insn_for_size_p test.
4638
4639 2022-07-12 Richard Biener <rguenther@suse.de>
4640
4641 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
4642 Remove.
4643 (vect_do_peeling): Do not call it, adjust comment.
4644
4645 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
4646
4647 * config/aarch64/aarch64-builtins.cc
4648 (aarch64_builtin_vectorized_function): Remove handling of
4649 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
4650
4651 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
4652
4653 PR tree-optimization/106234
4654 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
4655 cache value before recursively resolving it.
4656
4657 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
4658
4659 * config/i386/i386-features.h (scalar_chain): Add fields
4660 insns_conv, n_sse_to_integer and n_integer_to_sse to this
4661 parent class, moved from general_scalar_chain.
4662 (scalar_chain::convert_compare): Protected method moved
4663 from general_scalar_chain.
4664 (mark_dual_mode_def): Make protected, not private virtual.
4665 (scalar_chain:convert_op): New private virtual method.
4666 (general_scalar_chain::general_scalar_chain): Simplify constructor.
4667 (general_scalar_chain::~general_scalar_chain): Delete destructor.
4668 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
4669 n_integer_to_sse fields to parent class, scalar_chain.
4670 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
4671 (general_scalar_chain::convert_compare): Delete prototype.
4672 (timode_scalar_chain::compute_convert_gain): Remove simplistic
4673 implementation, convert to a method prototype.
4674 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
4675 (timode_scalar_chain::convert_op): Prototype new virtual method.
4676 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
4677 Allocate insns_conv and initialize n_sse_to_integer and
4678 n_integer_to_sse fields in constructor.
4679 (scalar_chain::scalar_chain): Free insns_conv in destructor.
4680 (general_scalar_chain::general_scalar_chain): Delete
4681 constructor, now defined in the class declaration.
4682 (general_scalar_chain::~general_scalar_chain): Delete destructor.
4683 (scalar_chain::mark_dual_mode_def): Renamed from
4684 general_scalar_chain::mark_dual_mode_def.
4685 (timode_scalar_chain::mark_dual_mode_def): Delete.
4686 (scalar_chain::convert_compare): Renamed from
4687 general_scalar_chain::convert_compare.
4688 (timode_scalar_chain::compute_convert_gain): New method to
4689 determine the gain from converting a TImode chain to V1TImode.
4690 (timode_scalar_chain::convert_op): New method to convert an
4691 operand from TImode to V1TImode.
4692 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
4693 on REG_EQUAL notes that were originally TImode (not CONST_INT).
4694 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
4695 (timode_mem_p): Helper predicate to check where operand is
4696 memory reference with sufficient alignment for TImode STV.
4697 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
4698 to check whether COMPARE is convertible. Handle SET_DESTs that
4699 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
4700 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
4701
4702 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
4703
4704 PR tree-optimization/106250
4705 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
4706 argument to directly_supported_p.
4707
4708 2022-07-11 Richard Biener <rguenther@suse.de>
4709
4710 * tree-into-ssa.cc (update_ssa): Do not forcefully
4711 re-compute dominance fast queries for TODO_update_ssa_no_phi.
4712
4713 2022-07-11 Richard Biener <rguenther@suse.de>
4714
4715 PR tree-optimization/106228
4716 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
4717 VUSE compute for the non-loop case.
4718
4719 2022-07-11 Richard Biener <rguenther@suse.de>
4720
4721 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
4722 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
4723 (rewrite_update_dom_walker::m_in_region_flag): New.
4724 (rewrite_update_dom_walker::before_dom_children): If the region
4725 to update is marked, STOP at exits.
4726 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
4727 to be updated.
4728 (dump_update_ssa): Use bitmap_empty_p.
4729 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
4730 TODO_update_ssa_no_phi.
4731 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
4732 pending update_ssa to the caller.
4733
4734 2022-07-11 Richard Biener <rguenthert@suse.de>
4735
4736 PR target/105459
4737 * config/i386/i386-options.cc (ix86_set_current_function):
4738 Rebuild the target optimization node whenever necessary,
4739 not only when the optimization node didn't change.
4740
4741 2022-07-11 Richard Biener <rguenther@suse.de>
4742
4743 PR tree-optimization/106228
4744 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
4745 set a VUSE operand on the emitted load.
4746
4747 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
4748
4749 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
4750 verification against legacy value_range.
4751 (gimple_ranger::register_inferred_ranges): Same.
4752 (gimple_ranger::export_global_ranges): Rename update_global_range
4753 to set_range_info.
4754 * tree-core.h (struct range_info_def): Remove.
4755 (struct irange_storage_slot): New.
4756 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
4757 (struct tree_ssa_name): Add vrange_storage support.
4758 * tree-ssanames.cc (range_info_p): New.
4759 (range_info_fits_p): New.
4760 (range_info_alloc): New.
4761 (range_info_free): New.
4762 (range_info_get_range): New.
4763 (range_info_set_range): New.
4764 (set_range_info_raw): Remove.
4765 (set_range_info): Adjust to use vrange_storage.
4766 (set_nonzero_bits): Same.
4767 (get_nonzero_bits): Same.
4768 (duplicate_ssa_name_range_info): Remove overload taking
4769 value_range_kind.
4770 Rewrite tree overload to use vrange_storage.
4771 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
4772 * tree-ssanames.h (struct range_info_def): Remove.
4773 (set_range_info): Adjust prototype to take vrange.
4774 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
4775 duplicate_ssa_name_range_info.
4776 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
4777 (SSA_NAME_RANGE_TYPE): Remove.
4778 * value-query.cc (get_ssa_name_range_info): Adjust to use
4779 vrange_storage.
4780 (update_global_range): Remove.
4781 (get_range_global): Remove as_a<irange>.
4782 * value-query.h (update_global_range): Remove.
4783 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
4784 Rename update_global_range to set_range_info.
4785 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
4786 gcc_unreachable.
4787
4788 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
4789
4790 * value-range.cc (irange::operator=): Call verify_range.
4791 (irange::irange_set): Normalize kind after everything else has
4792 been set.
4793 (irange::irange_set_anti_range): Same.
4794 (irange::set): Same.
4795 (irange::verify_range): Disallow nonzero masks for VARYING.
4796 (irange::irange_union): Call verify_range.
4797 Handle nonzero masks better.
4798 (irange::irange_intersect): Same.
4799 (irange::set_nonzero_bits): Calculate mask if either range has an
4800 explicit mask.
4801 (irange::intersect_nonzero_bits): Same.
4802 (irange::union_nonzero_bits): Same.
4803 (range_tests_nonzero_bits): New.
4804 (range_tests): Call range_tests_nonzero_bits.
4805 * value-range.h (class irange): Remove set_nonzero_bits method
4806 with trees.
4807 (irange::varying_compatible_p): Set nonzero mask.
4808
4809 2022-07-10 Xi Ruoyao <xry111@xry111.site>
4810
4811 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
4812 the sign-extend of result in the RTL template.
4813 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
4814
4815 2022-07-10 Xi Ruoyao <xry111@xry111.site>
4816
4817 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
4818 Remove static, for use in the machine description file.
4819 * config/loongarch/loongarch-protos.h:
4820 (loongarch_check_zero_div_p): Add prototype.
4821 * config/loongarch/loongarch.md (enabled): New attr.
4822 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
4823 idiv. Conditionally enable the alternatives using
4824 loongarch_check_zero_div_p.
4825 (<optab>di3_fake): Likewise.
4826
4827 2022-07-10 Xi Ruoyao <xry111@xry111.site>
4828
4829 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
4830 instead of mul.d.
4831
4832 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
4833
4834 * value-range.cc (irange::irange_single_pair_union): Set
4835 VR_VARYING when appropriate.
4836
4837 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
4838
4839 * stor-layout.cc (finalize_record_size): Extend warning message.
4840
4841 2022-07-09 Sam Feifer <sfeifer@redhat.com>
4842
4843 PR tree-optimization/98304
4844 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
4845
4846 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
4847
4848 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
4849 initializer and use clear_storage rather than copying the
4850 NULs to the destination array.
4851
4852 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
4853
4854 * config/i386/i386.md (define_peephole2): Use match_operand of
4855 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
4856 (define_peephole2): Likewise.
4857 (define_peephole2): Likewise...
4858
4859 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
4860
4861 * config/i386/i386-features.cc (convert_compare): Add support
4862 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
4863 by generating a pandn followed by ptest.
4864 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
4865 recent *testdi_not_doubleword comparison patterns.
4866
4867 2022-07-09 Tamar Christina <tamar.christina@arm.com>
4868
4869 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
4870 indicate that the value is not undefined.
4871
4872 2022-07-09 Andrew Pinski <apinski@marvell.com>
4873
4874 PR tree-optimization/106087
4875 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
4876 to make sure the statement is only defining one operand.
4877
4878 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
4879
4880 PR preprocessor/91733
4881 * input.cc (find_end_of_line): New helper function.
4882 (file_cache_slot::get_next_line): Recognize \r as a line ending.
4883 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
4884 since \r will now be interpreted as a line-ending.
4885
4886 2022-07-08 Martin Liska <mliska@suse.cz>
4887
4888 PR sanitizer/106132
4889 * opts.cc (finish_options): Use 2 calls to
4890 report_conflicting_sanitizer_options.
4891
4892 2022-07-08 Richard Biener <rguenther@suse.de>
4893
4894 PR tree-optimization/106226
4895 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
4896 no SSA update is needed. Move virtual SSA update ...
4897 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
4898 via forced virtual renaming when TODO_update_ssa_only_virtuals
4899 is queued.
4900 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
4901 when virtual SSA update is required.
4902 (try_vectorize_loop_1): Adjust.
4903 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
4904 virtual renaming if the ABI forces an aggregate return
4905 but the original call did not have a virtual definition.
4906
4907 2022-07-08 Martin Liska <mliska@suse.cz>
4908
4909 * toplev.cc (init_asm_output): Do not init asm_out_file.
4910
4911 2022-07-08 Tamar Christina <tamar.christina@arm.com>
4912
4913 PR tree-optimization/106063
4914 * match.pd: Do not apply pattern after veclower is not supported.
4915
4916 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
4917
4918 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
4919 'fn2' computation.
4920
4921 2022-07-08 Tamar Christina <tamar.christina@arm.com>
4922
4923 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
4924 still undefined and if so emit a subreg move instead.
4925 (store_integral_bit_field): Likewise.
4926 (store_bit_field): Likewise.
4927 * expr.h (write_complex_part): Likewise.
4928 * expmed.h (store_bit_field): Add new parameter.
4929 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
4930 parameter.
4931 (expand_ifn_atomic_compare_exchange): Likewise.
4932 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
4933 * emit-rtl.cc (validate_subreg): Likewise.
4934 * expr.cc (emit_group_store): Likewise.
4935 (copy_blkmode_from_reg): Likewise.
4936 (copy_blkmode_to_reg): Likewise.
4937 (clear_storage_hints): Likewise.
4938 (write_complex_part): Likewise.
4939 (emit_move_complex_parts): Likewise.
4940 (expand_assignment): Likewise.
4941 (store_expr): Likewise.
4942 (store_field): Likewise.
4943 (expand_expr_real_2): Likewise.
4944 * ifcvt.cc (noce_emit_move_insn): Likewise.
4945 * internal-fn.cc (expand_arith_set_overflow): Likewise.
4946 (expand_arith_overflow_result_store): Likewise.
4947 (expand_addsub_overflow): Likewise.
4948 (expand_neg_overflow): Likewise.
4949 (expand_mul_overflow): Likewise.
4950 (expand_arith_overflow): Likewise.
4951
4952 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
4953
4954 PR target/106180
4955 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
4956 Rename from *sse2_cvtps2pd<mask_name>_1.
4957 (vec_unpacks_lo_v4sf): Add handler for memory operand.
4958
4959 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
4960
4961 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
4962 Modify fp_sp_offset and gp_sp_offset's calculation method,
4963 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
4964 or UNITS_PER_FP_REG.
4965
4966 2022-07-07 David Malcolm <dmalcolm@redhat.com>
4967
4968 * diagnostic-format-json.cc (json_from_location_range): Update for
4969 removal of label_text::maybe_free in favor of automatic memory
4970 management.
4971 * diagnostic-format-sarif.cc
4972 (sarif_builder::make_location_object): Likewise.
4973 * diagnostic-show-locus.cc (struct pod_label_text): New.
4974 (class line_label): Convert m_text from label_text to pod_label_text.
4975 (layout::print_any_labels): Move "text" to the line_label.
4976 * tree-diagnostic-path.cc (path_label::get_text): Update for
4977 removal of label_text::maybe_free in favor of automatic memory
4978 management.
4979 (event_range::print): Likewise.
4980 (default_tree_diagnostic_path_printer): Likewise.
4981 (default_tree_make_json_for_path): Likewise.
4982
4983 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4984
4985 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
4986
4987 2022-07-07 Richard Biener <rguenther@suse.de>
4988
4989 * tree-into-ssa.cc (iterating_old_ssa_names): New.
4990 (add_new_name_mapping): Grow {new,old}_ssa_names separately
4991 and only when actually needed. Assert we are not growing
4992 the old_ssa_names set when iterating over it.
4993 (update_ssa): Remove old_ssa_names copying and empty_p
4994 query, note we are iterating over it and expect no set changes.
4995
4996 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
4997
4998 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
4999 (prepare_target_image, main): Handle OpenMP 'requires'.
5000 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
5001 'GOMP_offload_unregister_ver'.
5002
5003 2022-07-07 Richard Biener <rguenther@suse.de>
5004
5005 PR target/106219
5006 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
5007 set DECL_PURE_P.
5008
5009 2022-07-07 Richard Biener <rguenther@suse.de>
5010
5011 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
5012 number of LC PHIs inserted.
5013 (add_exit_phis): Return whether any variable required
5014 multiple LC PHI nodes.
5015 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
5016 when possible.
5017
5018 2022-07-07 Richard Biener <rguenther@suse.de>
5019
5020 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
5021 the def loop exit block bitmap as argument instead of
5022 re-computing it here.
5023 (add_exit_phis_var): Adjust.
5024 (loop_name_cmp): New function.
5025 (add_exit_phis): Sort variables to insert LC PHI nodes
5026 after definition loop, for each definition loop compute
5027 the exit block bitmap once.
5028 (get_loops_exit): Remove.
5029 (rewrite_into_loop_closed_ssa_1): Do not pre-record
5030 all loop exit blocks into bitmaps. Record loop exits
5031 if required.
5032
5033 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
5034
5035 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
5036 to handle the N32 ABI.
5037 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
5038 the macro, as it is not needed anymore.
5039
5040 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
5041
5042 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
5043 '[...]_data'.
5044 * config/nvptx/mkoffload.cc (process): Likewise.
5045
5046 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
5047
5048 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
5049
5050 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
5051
5052 * value-relation.cc (relation_to_code): New vector.
5053 (relation_oracle::validate_relation): New.
5054 (set_relation): Allow ssa1 == ssa2 to be registered.
5055 * value-relation.h (validate_relation): New prototype.
5056 (query_relation): Make internal variant protected.
5057
5058 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
5059
5060 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
5061 for double word comparisons and tests (comparisons against zero).
5062 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
5063 and;cmp into andn;cmp $0 as a pre-reload splitter.
5064 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
5065 (*<any_or><dwi>3_doubleword): Likewise.
5066
5067 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
5068 Hongtao Liu <hongtao.liu@intel.com>
5069
5070 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
5071 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
5072 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
5073 and gen_ssse3_palignv1ti instead of TImode.
5074 * config/i386/sse.md (SSESCALARMODE): Delete.
5075 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
5076 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
5077 iterator instead of SSESCALARMODE.
5078 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
5079 using a single move instruction (if required).
5080
5081 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
5082 Uroš Bizjak <ubizjak@gmail.com>
5083
5084 PR rtl-optimization/96692
5085 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
5086 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
5087
5088 2022-07-05 Richard Biener <rguenther@suse.de>
5089
5090 PR tree-optimization/106198
5091 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
5092 full LC SSA rewrite but only if any blocks changed loop
5093 depth.
5094
5095 2022-07-05 Richard Biener <rguenther@suse.de>
5096
5097 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
5098 (find_uses_to_rename_in_loop): Likewise.
5099 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
5100 uses.
5101 (rewrite_into_loop_closed_ssa): Adjust.
5102
5103 2022-07-05 Richard Biener <rguenther@suse.de>
5104
5105 PR tree-optimization/106186
5106 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
5107 Properly handle virtual PHI nodes.
5108
5109 2022-07-05 Richard Biener <rguenther@suse.de>
5110
5111 PR tree-optimization/106196
5112 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
5113 handle aggregate returns of calls for VDEF updates.
5114
5115 2022-07-05 Richard Biener <rguenther@suse.de>
5116
5117 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
5118 Maintain LC SSA.
5119
5120 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
5121
5122 * tree-vect-patterns.cc (vect_convert_input): Expect the input
5123 type to be signed for optab_vector_mixed_sign. Update the vectype
5124 at the same time as type.
5125 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
5126 available, try sdot instead.
5127 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
5128 (vect_model_reduction_cost): Model the cost of implementing usdot
5129 using sdot.
5130 (vectorizable_reduction): Likewise. Skip target support test
5131 for lane reductions.
5132 (vect_emulate_mixed_dot_prod): New function.
5133 (vect_transform_reduction): Use it to emulate usdot via sdot.
5134
5135 2022-07-05 Richard Biener <rguenther@suse.de>
5136
5137 PR tree-optimization/106182
5138 * loop-init.cc (fix_loop_structure): Return the number
5139 of newly discovered plus the number of deleted loops.
5140 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
5141 variable name.
5142
5143 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
5144
5145 * gimple-range-fold.cc
5146 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
5147 call to SCEV for irange supported types.
5148 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
5149 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
5150 * tree-ssa-dom.cc (cprop_operand): Same.
5151
5152 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
5153
5154 PR target/104489
5155 * calls.cc (precompute_register_parameters): Allow promotion
5156 of floating point values to be passed in wider integer modes
5157 by calling new convert_float_to_wider_int.
5158 (expand_call): Allow floating point results to be returned in
5159 wider integer modes by calling new convert wider_int_to_float.
5160 * cfgexpand.cc (expand_value_return): Allow backends to promote
5161 a scalar floating point return value to a wider integer mode
5162 by calling new convert_float_to_wider_int.
5163 * expr.cc (convert_float_to_wider_int): New function.
5164 (convert_wider_int_to_float): Likewise.
5165 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
5166 scalar FP PARM_DECLs to wider integer modes, by calling new
5167 convert_wider_int_to_float.
5168 * expr.h (convert_modes): Name arguments for improved documentation.
5169 (convert_float_to_wider_int): Prototype new function here.
5170 (convert_wider_int_to_float): Likewise.
5171 * function.cc (assign_parm_setup_stack): Allow floating point
5172 values to be passed on the stack as wider integer modes by
5173 calling new convert_wider_int_to_float.
5174
5175 2022-07-04 Martin Jambor <mjambor@suse.cz>
5176
5177 PR tree-optimization/105860
5178 * tree-sra.cc (build_reconstructed_reference): Start expr
5179 traversal only just below the outermost union.
5180
5181 2022-07-04 Richard Biener <rguenther@suse.de>
5182
5183 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
5184 and update virtual SSA form again. Assert we do so for
5185 a known set of transforms only.
5186 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
5187 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
5188 using load-lanes allow virtual SSA update.
5189
5190 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
5191 Chung-Lin Tang <cltang@codesourcery.com>
5192 Thomas Schwinge <thomas@codesourcery.com>
5193
5194 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
5195 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
5196 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
5197 * config/nvptx/mkoffload.cc (process, main): Likewise.
5198 * lto-cgraph.cc (omp_requires_to_name): New.
5199 (input_offload_tables): Save omp_requires_mask.
5200 (output_offload_tables): Read it, check for consistency,
5201 save value for mkoffload.
5202 * omp-low.cc (lower_omp_target): Force output_offloadtables
5203 call for OMP_REQUIRES_TARGET_USED.
5204
5205 2022-07-04 Richard Biener <rguenther@suse.de>
5206
5207 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
5208 no SSA update is needed instead of updating virtual SSA
5209 form.
5210 * tree-vect-stmts.cc (vectorizable_load): For hoisted
5211 invariant load use the loop entry virtual use.
5212 For emulated gather loads use the virtual use of the
5213 original stmt like vect_finish_stmt_generation would do.
5214
5215 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
5216
5217 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
5218 for direct circularity.
5219
5220 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
5221
5222 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
5223 the language for vector types.
5224
5225 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
5226
5227 * value-range-storage.cc (irange_storage_slot::set_irange): Set
5228 nonzero bits in irange.
5229 (irange_storage_slot::get_irange): Get nonzero bits from irange.
5230 * value-range.cc (irange::operator=): Set nonzero bits.
5231 (irange::irange_set): Same.
5232 (irange::irange_set_anti_range): Same.
5233 (irange::set): Same.
5234 (irange::verify_range): Same.
5235 (irange::legacy_equal_p): Check nonzero bits.
5236 (irange::equal_p): Same.
5237 (irange::contains_p): Handle nonzero bits.
5238 (irange::irange_union): Same.
5239 (irange::irange_intersect): Same.
5240 (irange::dump): Same.
5241 (irange::set_nonzero_bits): New.
5242 (irange::get_nonzero_bits): New.
5243 (irange::intersect_nonzero_bits): New.
5244 (irange::union_nonzero_bits): New.
5245 (irange::dump_bitmasks): New.
5246 * value-range.h (class irange): Add m_nonzero_mask.
5247 (gt_ggc_mx): Handle nonzero bits.
5248 (gt_pch_nx): Same.
5249 (irange::set_undefined): Set nonzero bits.
5250 (irange::set_varying): Same.
5251 (irange::normalize_kind): Call set_undefined.
5252
5253 2022-07-04 Richard Biener <rguenther@suse.de>
5254
5255 * tree-ssa-loop-manip.h
5256 (rewrite_virtuals_into_loop_closed_ssa): Remove.
5257 (rewrite_into_loop_closed_ssa_1): Likewise.
5258 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
5259 Make static.
5260 (rewrite_into_loop_closed_ssa): Remove loop overload,
5261 always rewrite virtuals into LC SSA.
5262 (check_loop_closed_ssa_bb): Also check virtuals.
5263 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
5264 LC PHIs when in LC SSA.
5265 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
5266 loop-closed SSA here, but ...
5267 (tree_loop_unroll_and_jam): ... here once.
5268 * tree-if-conv.cc (version_loop_for_if_conversion): Use
5269 the cheaper TODO_update_ssa_no_phi.
5270 * tree-loop-distribution.cc (version_loop_by_alias_check):
5271 Likewise.
5272 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
5273 Likewise.
5274 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
5275 (tree_unswitch_outer_loop): Do not rewrite virtuals into
5276 LC ssa.
5277 * tree-parloops.cc (transform_to_exit_first_loop_alt):
5278 Likewise.
5279 (pass_parallelize_loops::execute): After finishing rewrite
5280 into LC SSA again because we do not maintain it properly.
5281
5282 2022-07-04 Richard Biener <rguenther@suse.de>
5283
5284 PR tree-optimization/106055
5285 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
5286 we can propagate.
5287
5288 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
5289
5290 PR target/43618
5291 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
5292 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
5293 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
5294
5295 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
5296
5297 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
5298 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
5299 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
5300 with two arguments.
5301 (find_unswitching_predicates_for_bb): Same.
5302 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
5303 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
5304 * value-range.cc (irange::equal_p): Rename to...
5305 (irange::operator==): ...this.
5306 * value-range.h (irange::set): Remove.
5307 (irange::operator==): Remove.
5308 (irange::set_zero): Use set with two arguments.
5309 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
5310 (vr_values::extract_range_from_unary_expr): Same.
5311 (check_for_binary_op_overflow): Same.
5312 (bounds_of_var_in_loop): Same.
5313
5314 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
5315
5316 PR target/106022
5317 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
5318 New.
5319 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
5320 New.
5321 * config/i386/mmx.md (V_16_32_64): New.
5322 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
5323 and 64-bit constant vector.
5324 * config/i386/predicates.md (x86_64_const_vector_operand): New.
5325
5326 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
5327
5328 * gimple-range-cache.cc: Include value-range-storage.h.
5329 * gimple-range-cache.h (class block_range_cache): Add "class" to
5330 m_range_allocator.
5331 * gimple-range-edge.cc
5332 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
5333 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
5334 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
5335 * gimple-range-edge.h: Add "class" to m_range_allocator.
5336 * gimple-range-infer.cc
5337 (infer_range_manager::infer_range_manager): Allocate allocator.
5338 (infer_range_manager::~infer_range_manager): Free allocator.
5339 (infer_range_manager::get_nonzero): Dereference allocator.
5340 (infer_range_manager::add_range): Same.
5341 * gimple-range-infer.h (class vrange_allocator): Add "class" to
5342 m_range_allocator.
5343 * value-range-storage.h (class vrange_allocator): Move from
5344 value-range.h.
5345 (class obstack_vrange_allocator): Same.
5346 (class ggc_vrange_allocator): Same.
5347 (vrange_allocator::alloc_vrange): Same.
5348 (vrange_allocator::alloc_irange): Same.
5349 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
5350 (class obstack_vrange_allocator): Same.
5351 (class ggc_vrange_allocator): Same.
5352
5353 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
5354
5355 * Makefile.in (OBJS): Add value-range-storage.o.
5356 (GTFILES): Add value-range-storage.h.
5357 * gengtype.cc (open_base_files): Add value-range-storage.h.
5358 * value-range-storage.cc: New file.
5359 * value-range-storage.h: New file.
5360
5361 2022-07-03 Xi Ruoyao <xry111@xry111.site>
5362 Lulu Cheng <chenglulu@loongson.cn>
5363
5364 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
5365 New static function.
5366 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
5367 of TARGET_CHECK_ZERO_DIV.
5368 (loongarch_output_division): Likewise.
5369 * common/config/loongarch/loongarch-common.cc
5370 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
5371 * doc/invoke.texi: Update to match the new behavior.
5372
5373 2022-07-03 Ian Lance Taylor <iant@golang.org>
5374
5375 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
5376 statement if -fdelete-dead-exceptions.
5377
5378 2022-07-02 Tim Lange <mail@tim-lange.me>
5379
5380 PR analyzer/105900
5381 * doc/invoke.texi: Added Wanalyzer-allocation-size.
5382
5383 2022-07-02 Immad Mir <mirimmad17@gmail.com>
5384
5385 PR analyzer/106003
5386 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
5387 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
5388 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
5389 -Wanalyzer-fd-use-after-close.
5390
5391 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
5392
5393 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
5394 (trailing_wide_ints::set_precision): Add num_elements argument.
5395 (trailing_wide_ints::extra_size): Same.
5396
5397 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
5398
5399 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
5400 Use "r" constraint for operand 1.
5401
5402 2022-07-01 Richard Biener <rguenther@suse.de>
5403
5404 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
5405 Do not look at interesting_blocks which is a copy of
5406 blocks_to_update.
5407 (update_ssa): Do not initialize it.
5408 (pass_build_ssa::execute): Set interesting_blocks to NULL
5409 after releasing it.
5410
5411 2022-07-01 Richard Biener <rguenther@suse.de>
5412
5413 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
5414 back to using maybe_ne (off, -1).
5415
5416 2022-07-01 Richard Biener <rguenther@suse.de>
5417
5418 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
5419 checking dominance check conditional on flag_checking.
5420
5421 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
5422
5423 * config/gcn/gcn-protos.h (print_operand_address): Remove register
5424 keyword on 'rtx addr' argument.
5425
5426 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
5427 Uroš Bizjak <ubizjak@gmail.com>
5428
5429 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
5430 to post-reload define_insn_and_split.
5431
5432 2022-07-01 Jakub Jelinek <jakub@redhat.com>
5433
5434 PR middle-end/106144
5435 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
5436 emitting element for shift or if shift is 0 first element after start.
5437 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
5438 wi::shifted_mask with 0 start.
5439
5440 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
5441
5442 PR target/106122
5443 * config/i386/i386.md (peephole2): Avoid generating pop %esp
5444 when optimizing for size.
5445
5446 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
5447 Uroš Bizjak <ubizjak@gmail.com>
5448
5449 * config/i386/i386.md (general_szext_operand): Add TImode
5450 support using x86_64_hilo_general_operand predicate.
5451 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
5452 (*add<dwi>3_doubleword): Improved optimization of zero addition.
5453 (and<mode>3): Use SDWIM mode iterator to add support for double
5454 word bit-wise AND in TImode. Use force_reg when double word
5455 immediate operand isn't x86_64_hilo_general_operand.
5456 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
5457 converted into a post-reload splitter.
5458 (*andndi3_doubleword): Previous define_insn deleted.
5459 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
5460 TARGET_BMI that splits post-reload.
5461 (*andn<mode>3_doubleword): New define_insn_and_split for
5462 !TARGET_BMI, that lowers/splits before reload.
5463 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
5464 double word bit-wise XOR and bit-wise IOR in TImode. Use
5465 force_reg when double word immediate operand isn't
5466 x86_64_hilo_general_operand.
5467 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
5468 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
5469 double word bit-wise NOT in TImode.
5470 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
5471 and converted into a post-reload splitter.
5472
5473 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
5474
5475 PR middle-end/105874
5476 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
5477 EXPAND_MEMORY for the expansion of the inner reference only
5478 in the usual cases where a memory reference is required.
5479
5480 2022-07-01 Richard Biener <rguenther@suse.de>
5481
5482 PR tree-optimization/106131
5483 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
5484 zero when offsetting the read looking through an aggregate
5485 copy.
5486
5487 2022-07-01 Martin Liska <mliska@suse.cz>
5488
5489 PR tree-optimization/106126
5490 * gimple-if-to-switch.cc (struct condition_info): Save
5491 has_side_effect.
5492 (find_conditions): Parse all BBs.
5493 (pass_if_to_switch::execute): Allow only side effects for first
5494 BB.
5495
5496 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
5497
5498 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
5499 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
5500 OPTION_MASK_ISA2_AVX512BF16_UNSET and
5501 OPTION_MASK_ISA2_AVX512FP16_UNSET.
5502
5503 2022-06-30 Joseph Myers <joseph@codesourcery.com>
5504
5505 PR lto/106129
5506 * lto-wrapper.cc (find_option): Add argument start.
5507 (merge_and_complain): Loop over existing_opt_index and
5508 existing_opt2_index for Xassembler check. Update calls to
5509 find_option.
5510 (find_and_merge_options): Add argument first to determine whether
5511 to merge options with those passed in *opts.
5512 (run_gcc): Update calls to find_and_merge_options.
5513
5514 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
5515
5516 * gimple-range-cache.cc (block_range_cache::block_range_cache):
5517 Rename vrange_allocator to obstack_vrange_allocator.
5518 (ssa_global_cache::ssa_global_cache): Same.
5519 * gimple-range-edge.h (class gimple_outgoing_range): Same.
5520 * gimple-range-infer.h (class infer_range_manager): Same.
5521 * value-range.h (class vrange_allocator): Make abstract.
5522 (class obstack_vrange_allocator): Inherit from vrange_allocator.
5523 (class ggc_vrange_allocator): New.
5524
5525 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
5526 Uroš Bizjak <ubizjak@gmail.com>
5527
5528 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
5529 provide gen_swapsi.
5530 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
5531 via new gen_<insn>32di2_doubleword below.
5532 (<anyrotate>32di2_doubleword): New define_insn_and_split
5533 that splits after reload as either a pair of move instructions
5534 or an xchgl (using gen_swapsi).
5535
5536 2022-06-30 Richard Biener <rguenther@suse.de>
5537
5538 * domwalk.h (dom_walker::dom_walker): Update comment to
5539 reflect reality and new special argument value for
5540 bb_index_to_rpo.
5541 * domwalk.cc (dom_walker::dom_walker): Recognize -1
5542 bb_index_to_rpo.
5543 * tree-into-ssa.cc
5544 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
5545 dom_walker to not use RPO.
5546
5547 2022-06-30 Martin Liska <mliska@suse.cz>
5548
5549 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
5550 it is unused.
5551
5552 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
5553
5554 PR tree-optimization/106114
5555 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
5556 statement operands instead of GORI cache.
5557
5558 2022-06-30 Antoni Boucher <bouanto@zoho.com>
5559
5560 PR target/106095
5561 * config/i386/sse.md: Fix asm generation.
5562
5563 2022-06-29 Sergei Trofimovich <siarheit@google.com>
5564
5565 PR c++/106102
5566 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
5567
5568 2022-06-29 Joseph Myers <joseph@codesourcery.com>
5569
5570 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
5571 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
5572
5573 2022-06-29 Richard Biener <rguenther@suse.de>
5574
5575 PR rtl-optimization/106082
5576 * combine.cc (distribute_notes): Preserve notes when
5577 they indicate a call doesn't perform a non-local goto.
5578
5579 2022-06-29 Richard Biener <rguenther@suse.de>
5580
5581 PR tree-optimization/106112
5582 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
5583 a constant operand according to its type.
5584
5585 2022-06-29 Martin Liska <mliska@suse.cz>
5586
5587 * doc/invoke.texi: Remove removed evrp-mode.
5588
5589 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
5590
5591 PR target/106097
5592 * config/loongarch/loongarch.cc (loongarch_build_integer):
5593 Remove undefined behavior from code.
5594
5595 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
5596
5597 * doc/sourcebuild.texi: Document new no_alignment_constraints
5598 effective target check.
5599
5600 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
5601
5602 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
5603 * flag-types.h (enum evrp_mode): Remove.
5604 * params.opt: Remove --param=evrp-mode.
5605 * tree-vrp.cc (make_pass_early_vrp): New.
5606 (pass_vrp::execute): Call early VRP instance.
5607 * gimple-ssa-evrp-analyze.cc: Removed.
5608 * gimple-ssa-evrp-analyze.h: Removed.
5609 * gimple-ssa-evrp.cc: Removed.
5610
5611 2022-06-28 Alexandre Oliva <oliva@adacore.com>
5612
5613 * Makefile.in (TFLAGS): New.
5614 (GCC_FOR_TARGET): Add TFLAGS.
5615 (FLAGS_TO_PASS): Pass TFLAGS down.
5616
5617 2022-06-28 Richard Biener <rguenther@suse.de>
5618
5619 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
5620 call update_ssa.
5621
5622 2022-06-28 Richard Biener <rguenther@suse.de>
5623
5624 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
5625 mark_block_for_update.
5626 (update_ssa): Adjust.
5627
5628 2022-06-28 Xi Ruoyao <xry111@xry111.site>
5629
5630 PR target/106096
5631 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
5632 $r13 from SIBCALL_REGS.
5633 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
5634 Change $r13 to JIRL_REGS.
5635
5636 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
5637
5638 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
5639 irange::supports_p.
5640
5641 2022-06-28 Richard Biener <rguenther@suse.de>
5642
5643 PR middle-end/106053
5644 * match.pd ((T)a == (T)b): Avoid folding away sign
5645 changes in a comparison if we'd truncate to a boolean.
5646
5647 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
5648
5649 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
5650 iterator GPR with SImode, adjust the condition and output template,
5651 rename to ...
5652 (*rotlsi3_insert_4): ... this.
5653
5654 2022-06-27 David Malcolm <dmalcolm@redhat.com>
5655
5656 * genmatch.cc: Add "final" and "override" to various vfunc
5657 implementations, removing redundant "virtual" as appropriate.
5658 * gensupport.cc: Likewise.
5659 * gimple-range-cache.h: Likewise.
5660 * ipa-icf-gimple.h: Likewise.
5661 * ipa-icf.h: Likewise.
5662 * read-md.h: Likewise.
5663 * read-rtl-function.cc: Likewise.
5664 * tree-ssa-loop-ch.cc: Likewise.
5665 * tree-ssa-sccvn.cc: Likewise.
5666
5667 2022-06-27 David Malcolm <dmalcolm@redhat.com>
5668
5669 * config/i386/i386-features.h: Add "final" and "override" to
5670 scalar_chain vfunc implementations as appropriate.
5671
5672 2022-06-27 David Malcolm <dmalcolm@redhat.com>
5673
5674 * tree-switch-conversion.h: Add "final" and "override" to cluster
5675 vfunc implementations as appropriate.
5676
5677 2022-06-27 David Malcolm <dmalcolm@redhat.com>
5678
5679 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
5680 implementations as appropriate.
5681
5682 2022-06-27 David Malcolm <dmalcolm@redhat.com>
5683
5684 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
5685 implementations, removing redundant "virtual" as appropriate.
5686 * gimple-ssa-strength-reduction.cc: Likewise.
5687 * ipa-prop.cc: Likewise.
5688 * rtl-ssa/blocks.cc: Likewise.
5689 * tree-into-ssa.cc: Likewise.
5690 * tree-ssa-dom.cc: Likewise.
5691 * tree-ssa-math-opts.cc: Likewise.
5692 * tree-ssa-phiopt.cc: Likewise.
5693 * tree-ssa-propagate.cc: Likewise.
5694 * tree-ssa-sccvn.cc: Likewise.
5695 * tree-ssa-strlen.cc: Likewise.
5696 * tree-ssa-uncprop.cc: Likewise.
5697
5698 2022-06-27 David Malcolm <dmalcolm@redhat.com>
5699
5700 * adjust-alignment.cc: Add "final" and "override" to opt_pass
5701 vfunc implementations, removing redundant "virtual" as
5702 appropriate.
5703 * asan.cc: Likewise.
5704 * auto-inc-dec.cc: Likewise.
5705 * auto-profile.cc: Likewise.
5706 * bb-reorder.cc: Likewise.
5707 * cfgcleanup.cc: Likewise.
5708 * cfgexpand.cc: Likewise.
5709 * cfgrtl.cc: Likewise.
5710 * cgraphbuild.cc: Likewise.
5711 * combine-stack-adj.cc: Likewise.
5712 * combine.cc: Likewise.
5713 * compare-elim.cc: Likewise.
5714 * config/i386/i386-features.cc: Likewise.
5715 * coroutine-passes.cc: Likewise.
5716 * cprop.cc: Likewise.
5717 * cse.cc: Likewise.
5718 * dce.cc: Likewise.
5719 * df-core.cc: Likewise.
5720 * dse.cc: Likewise.
5721 * dwarf2cfi.cc: Likewise.
5722 * early-remat.cc: Likewise.
5723 * except.cc: Likewise.
5724 * final.cc: Likewise.
5725 * function.cc: Likewise.
5726 * fwprop.cc: Likewise.
5727 * gcse.cc: Likewise.
5728 * gimple-harden-conditionals.cc: Likewise.
5729 * gimple-if-to-switch.cc: Likewise.
5730 * gimple-isel.cc: Likewise.
5731 * gimple-laddress.cc: Likewise.
5732 * gimple-loop-interchange.cc: Likewise.
5733 * gimple-loop-jam.cc: Likewise.
5734 * gimple-loop-versioning.cc: Likewise.
5735 * gimple-low.cc: Likewise.
5736 * gimple-ssa-backprop.cc: Likewise.
5737 * gimple-ssa-evrp.cc: Likewise.
5738 * gimple-ssa-isolate-paths.cc: Likewise.
5739 * gimple-ssa-nonnull-compare.cc: Likewise.
5740 * gimple-ssa-split-paths.cc: Likewise.
5741 * gimple-ssa-store-merging.cc: Likewise.
5742 * gimple-ssa-strength-reduction.cc: Likewise.
5743 * gimple-ssa-warn-access.cc: Likewise.
5744 * gimple-ssa-warn-alloca.cc: Likewise.
5745 * gimple-ssa-warn-restrict.cc: Likewise.
5746 * gimple-warn-recursion.cc: Likewise.
5747 * graphite.cc: Likewise.
5748 * ifcvt.cc: Likewise.
5749 * init-regs.cc: Likewise.
5750 * ipa-comdats.cc: Likewise.
5751 * ipa-cp.cc: Likewise.
5752 * ipa-devirt.cc: Likewise.
5753 * ipa-fnsummary.cc: Likewise.
5754 * ipa-free-lang-data.cc: Likewise.
5755 * ipa-icf.cc: Likewise.
5756 * ipa-inline.cc: Likewise.
5757 * ipa-modref.cc: Likewise.
5758 * ipa-profile.cc: Likewise.
5759 * ipa-pure-const.cc: Likewise.
5760 * ipa-reference.cc: Likewise.
5761 * ipa-split.cc: Likewise.
5762 * ipa-sra.cc: Likewise.
5763 * ipa-visibility.cc: Likewise.
5764 * ipa.cc: Likewise.
5765 * ira.cc: Likewise.
5766 * jump.cc: Likewise.
5767 * loop-init.cc: Likewise.
5768 * lower-subreg.cc: Likewise.
5769 * mode-switching.cc: Likewise.
5770 * modulo-sched.cc: Likewise.
5771 * multiple_target.cc: Likewise.
5772 * omp-expand.cc: Likewise.
5773 * omp-low.cc: Likewise.
5774 * omp-oacc-kernels-decompose.cc: Likewise.
5775 * omp-oacc-neuter-broadcast.cc: Likewise.
5776 * omp-offload.cc: Likewise.
5777 * omp-simd-clone.cc: Likewise.
5778 * passes.cc: Likewise.
5779 * postreload-gcse.cc: Likewise.
5780 * postreload.cc: Likewise.
5781 * predict.cc: Likewise.
5782 * recog.cc: Likewise.
5783 * ree.cc: Likewise.
5784 * reg-stack.cc: Likewise.
5785 * regcprop.cc: Likewise.
5786 * reginfo.cc: Likewise.
5787 * regrename.cc: Likewise.
5788 * reorg.cc: Likewise.
5789 * sancov.cc: Likewise.
5790 * sanopt.cc: Likewise.
5791 * sched-rgn.cc: Likewise.
5792 * stack-ptr-mod.cc: Likewise.
5793 * store-motion.cc: Likewise.
5794 * tracer.cc: Likewise.
5795 * trans-mem.cc: Likewise.
5796 * tree-call-cdce.cc: Likewise.
5797 * tree-cfg.cc: Likewise.
5798 * tree-cfgcleanup.cc: Likewise.
5799 * tree-complex.cc: Likewise.
5800 * tree-eh.cc: Likewise.
5801 * tree-emutls.cc: Likewise.
5802 * tree-if-conv.cc: Likewise.
5803 * tree-into-ssa.cc: Likewise.
5804 * tree-loop-distribution.cc: Likewise.
5805 * tree-nrv.cc: Likewise.
5806 * tree-object-size.cc: Likewise.
5807 * tree-parloops.cc: Likewise.
5808 * tree-predcom.cc: Likewise.
5809 * tree-profile.cc: Likewise.
5810 * tree-sra.cc: Likewise.
5811 * tree-ssa-ccp.cc: Likewise.
5812 * tree-ssa-copy.cc: Likewise.
5813 * tree-ssa-dce.cc: Likewise.
5814 * tree-ssa-dom.cc: Likewise.
5815 * tree-ssa-dse.cc: Likewise.
5816 * tree-ssa-forwprop.cc: Likewise.
5817 * tree-ssa-ifcombine.cc: Likewise.
5818 * tree-ssa-loop-ch.cc: Likewise.
5819 * tree-ssa-loop-im.cc: Likewise.
5820 * tree-ssa-loop-ivcanon.cc: Likewise.
5821 * tree-ssa-loop-prefetch.cc: Likewise.
5822 * tree-ssa-loop-split.cc: Likewise.
5823 * tree-ssa-loop-unswitch.cc: Likewise.
5824 * tree-ssa-loop.cc: Likewise.
5825 * tree-ssa-math-opts.cc: Likewise.
5826 * tree-ssa-phiopt.cc: Likewise.
5827 * tree-ssa-phiprop.cc: Likewise.
5828 * tree-ssa-pre.cc: Likewise.
5829 * tree-ssa-reassoc.cc: Likewise.
5830 * tree-ssa-sccvn.cc: Likewise.
5831 * tree-ssa-sink.cc: Likewise.
5832 * tree-ssa-strlen.cc: Likewise.
5833 * tree-ssa-structalias.cc: Likewise.
5834 * tree-ssa-uncprop.cc: Likewise.
5835 * tree-ssa-uninit.cc: Likewise.
5836 * tree-ssanames.cc: Likewise.
5837 * tree-stdarg.cc: Likewise.
5838 * tree-switch-conversion.cc: Likewise.
5839 * tree-tailcall.cc: Likewise.
5840 * tree-vect-generic.cc: Likewise.
5841 * tree-vectorizer.cc: Likewise.
5842 * tree-vrp.cc: Likewise.
5843 * tsan.cc: Likewise.
5844 * ubsan.cc: Likewise.
5845 * var-tracking.cc: Likewise.
5846 * vtable-verify.cc: Likewise.
5847 * web.cc: Likewise.
5848
5849 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
5850
5851 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
5852 (jump): Likewise.
5853 (movdi_symbol_save_scc): Likewise.
5854
5855 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
5856
5857 PR rtl-optimization/7061
5858 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
5859
5860 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
5861
5862 PR tree-optimization/94026
5863 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
5864 (((X >> C1) & C2) eq/ne C3): Likewise.
5865
5866 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5867
5868 * statistics.cc: Include tree.h.
5869 (get_function_name): New function.
5870 (statistics_fini_pass_2): Call get_function_name instead of
5871 current_function_name.
5872 (statistics_counter_event): Call get_function_name instead of
5873 function_name.
5874 (statistics_histogram_event): Likewise.
5875
5876 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
5877
5878 * config/xtensa/xtensa.md:
5879 Suppress unnecessary emitting nop insn in the split patterns for
5880 integer/FP constant synthesis, and add new peephole2 pattern that
5881 folds such synthesized additions.
5882
5883 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
5884
5885 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
5886 instead of evrp.
5887 (dom_jt_state::push): Remove m_evrp.
5888 (dom_jt_state::pop): Same.
5889 (dom_jt_state::record_ranges_from_stmt): Remove.
5890 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
5891 (class dom_jt_simplifier): Pass ranger to constructor.
5892 Inherit from hybrid_jt_simplifier.
5893 (dom_jt_simplifier::simplify): Convert to ranger.
5894 (pass_dominator::execute): Same.
5895 (all_uses_feed_or_dominated_by_stmt): New.
5896 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
5897 (dom_opt_dom_walker::before_dom_children): Call
5898 set_global_ranges_from_unreachable_edges.
5899 Do not call record_ranges_from_stmt.
5900 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
5901 (cprop_operand): Use int_range<> instead of value_range.
5902 (dom_opt_dom_walker::fold_cond): New.
5903 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
5904 cprop_into_stmt.
5905 Use fold_cond() instead of vrp_visit_cond_stmt().
5906 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
5907 pass state to simplifier.
5908 * vr-values.h (class vr_values): Make fold_cond public.
5909
5910 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
5911
5912 * common/config/tilegx/tilegx-common.cc: Removed.
5913 * common/config/tilepro/tilepro-common.cc: Removed.
5914 * config.gcc: Remove tilegx and tilepro entries.
5915 * config/tilegx/constraints.md: Removed.
5916 * config/tilegx/feedback.h: Removed.
5917 * config/tilegx/linux.h: Removed.
5918 * config/tilegx/mul-tables.cc: Removed.
5919 * config/tilegx/predicates.md: Removed.
5920 * config/tilegx/sync.md: Removed.
5921 * config/tilegx/t-tilegx: Removed.
5922 * config/tilegx/tilegx-builtins.h: Removed.
5923 * config/tilegx/tilegx-c.cc: Removed.
5924 * config/tilegx/tilegx-generic.md: Removed.
5925 * config/tilegx/tilegx-modes.def: Removed.
5926 * config/tilegx/tilegx-multiply.h: Removed.
5927 * config/tilegx/tilegx-opts.h: Removed.
5928 * config/tilegx/tilegx-protos.h: Removed.
5929 * config/tilegx/tilegx.cc: Removed.
5930 * config/tilegx/tilegx.h: Removed.
5931 * config/tilegx/tilegx.md: Removed.
5932 * config/tilegx/tilegx.opt: Removed.
5933 * config/tilepro/constraints.md: Removed.
5934 * config/tilepro/feedback.h: Removed.
5935 * config/tilepro/gen-mul-tables.cc: Removed.
5936 * config/tilepro/linux.h: Removed.
5937 * config/tilepro/mul-tables.cc: Removed.
5938 * config/tilepro/predicates.md: Removed.
5939 * config/tilepro/t-tilepro: Removed.
5940 * config/tilepro/tilepro-builtins.h: Removed.
5941 * config/tilepro/tilepro-c.cc: Removed.
5942 * config/tilepro/tilepro-generic.md: Removed.
5943 * config/tilepro/tilepro-modes.def: Removed.
5944 * config/tilepro/tilepro-multiply.h: Removed.
5945 * config/tilepro/tilepro-protos.h: Removed.
5946 * config/tilepro/tilepro.cc: Removed.
5947 * config/tilepro/tilepro.h: Removed.
5948 * config/tilepro/tilepro.md: Removed.
5949 * config/tilepro/tilepro.opt: Removed.
5950 * configure.ac: Remove tilegx and tilepro entries.
5951 * configure: Rebuilt.
5952 * doc/extend.texi: Remove tilegx and tilepro entries.
5953 * doc/install.texi: Remove tilegx and tilepro entries.
5954 * doc/invoke.texi: Remove tilegx and tilepro entries.
5955 * doc/md.texi: Remove tilegx and tilepro entries.
5956
5957 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
5958 Richard Biener <rguenther@suse.de>
5959
5960 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
5961 iteration over each basic block that was updated by the second
5962 iteration.
5963
5964 2022-06-24 Jason Merrill <jason@redhat.com>
5965
5966 PR c++/87729
5967 PR c++/20423
5968 * doc/invoke.texi: Document changes.
5969
5970 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
5971
5972 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
5973 condition to avoid overflow.
5974
5975 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
5976
5977 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
5978 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
5979 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
5980 OPTION_MASK_PPC_GFXOPT.
5981 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
5982 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
5983 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
5984 * config/rs6000/rs6000-c.cc: Update comment.
5985 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
5986 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
5987 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
5988 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
5989 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
5990 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
5991 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
5992 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
5993 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
5994
5995 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
5996
5997 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
5998 OPTION_MASK_MFCRF.
5999 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
6000 OPTION_MASK_MULTIPLE.
6001 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
6002 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
6003 OPTION_MASK_MFCRF.
6004 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
6005 OPTION_MASK_EABI.
6006 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
6007 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
6008 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
6009 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
6010 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
6011 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
6012 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
6013 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
6014 Replace with
6015 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
6016 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
6017 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
6018 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
6019 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
6020 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
6021 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
6022 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
6023 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
6024 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
6025 with OPTION_MASK_MULTIPLE.
6026 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
6027 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
6028 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
6029 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
6030 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
6031 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
6032 with OPTION_MASK_EABI.
6033
6034 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
6035
6036 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
6037 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
6038 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
6039 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
6040 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
6041 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
6042 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
6043 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
6044 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
6045 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
6046 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
6047
6048 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
6049
6050 * config/rs6000/rs6000-c.cc: Update comments.
6051 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
6052 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
6053 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
6054 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
6055 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
6056 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
6057 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
6058 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
6059 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
6060 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
6061 OPTION_MASK_MMA, OPTION_MASK_POWER10.
6062 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
6063 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
6064 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
6065 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
6066 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
6067
6068 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
6069
6070 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
6071 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
6072 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
6073
6074 2022-06-24 Richard Biener <rguenther@suse.de>
6075
6076 PR middle-end/106070
6077 * match.pd (a != b ? a : b): Fix translation of
6078 operand_equal_for_comparison_p.
6079
6080 2022-06-24 Jan Hubicka <jh@suse.cz>
6081
6082 PR ipa/106057
6083 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
6084
6085 2022-06-24 Martin Liska <mliska@suse.cz>
6086
6087 PR middle-end/106059
6088 * profile-count.h: *= and /= operators need to modify this
6089 object.
6090
6091 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
6092 Uroš Bizjak <ubizjak@gmail.com>
6093
6094 PR target/105930
6095 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
6096 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
6097 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
6098
6099 2022-06-24 Alexandre Oliva <oliva@adacore.com>
6100
6101 * common.opt (nostdlib++): New.
6102 * doc/invoke.texi (-nostdlib++): Document it.
6103
6104 2022-06-24 Alexandre Oliva <oliva@adacore.com>
6105
6106 * doc/sourcebuild.texi (Environment attributes): Document
6107 two_plus_gigs.
6108
6109 2022-06-23 David Malcolm <dmalcolm@redhat.com>
6110
6111 * common.opt (fdiagnostics-show-rules): New option.
6112 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
6113 Fix up context->show_rules.
6114 * diagnostic-format-sarif.cc
6115 (diagnostic_output_format_init_sarif): Likewise.
6116 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
6117 (diagnostic_metadata::precanned_rule): New class.
6118 (diagnostic_metadata::add_rule): New.
6119 (diagnostic_metadata::get_num_rules): New.
6120 (diagnostic_metadata::get_rule): New.
6121 (diagnostic_metadata::m_rules): New field.
6122 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
6123 (print_any_rules): New.
6124 (diagnostic_report_diagnostic): Call it.
6125 * diagnostic.h (diagnostic_context::show_rules): New field.
6126 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
6127 * opts.cc (common_handle_option): Handle
6128 OPT_fdiagnostics_show_rules.
6129 * toplev.cc (general_init): Set up global_dc->show_rules.
6130
6131 2022-06-23 Martin Liska <mliska@suse.cz>
6132
6133 PR c++/106062
6134 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
6135 in order to initialize UBSAN built-ins.
6136
6137 2022-06-23 Martin Liska <mliska@suse.cz>
6138
6139 PR ipa/105600
6140 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
6141 Skip variables with body_removed.
6142
6143 2022-06-23 liuhongt <hongtao.liu@intel.com>
6144
6145 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
6146 reg_or_subregno.
6147 (sse4_2_pcmpistr): Ditto.
6148
6149 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
6150
6151 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
6152 typo.
6153 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
6154 * tree-switch-conversion.h: Likewise.
6155
6156 2022-06-22 Jason Merrill <jason@redhat.com>
6157
6158 PR c++/104642
6159 * common.opt: Add -funreachable-traps.
6160 * doc/invoke.texi (-funreachable-traps): Document it.
6161 * opts.cc (finish_options): Enable at -O0 or -Og.
6162 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
6163 (builtin_decl_unreachable, build_builtin_unreachable): New.
6164 * tree.h: Declare them.
6165 * ubsan.cc (sanitize_unreachable_fn): Factor out.
6166 (ubsan_instrument_unreachable): Use
6167 gimple_build_builtin_unreachable.
6168 * ubsan.h (sanitize_unreachable_fn): Declare.
6169 * gimple.cc (gimple_build_builtin_unreachable): New.
6170 * gimple.h: Declare it.
6171 * builtins.cc (expand_builtin_unreachable): Add assert.
6172 (fold_builtin_0): Call build_builtin_unreachable.
6173 * sanopt.cc: Don't run for just SANITIZE_RETURN
6174 or SANITIZE_UNREACHABLE when trapping.
6175 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
6176 unreachable functions.
6177 * gimple-fold.cc (gimple_fold_call)
6178 (gimple_get_virt_method_for_vtable)
6179 * ipa-fnsummary.cc (redirect_to_unreachable)
6180 * ipa-prop.cc (ipa_make_edge_direct_to_target)
6181 (ipa_impossible_devirt_target)
6182 * ipa.cc (walk_polymorphic_call_targets)
6183 * tree-cfg.cc (pass_warn_function_return::execute)
6184 (execute_fixup_cfg)
6185 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
6186 (unloop_loops)
6187 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
6188 Likewise.
6189
6190 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
6191
6192 PR tree-optimization/106019
6193 * tree-data-ref.cc (dr_may_alias_p): Try using the
6194 innermost_loop_behavior to disambiguate non-loop queries.
6195
6196 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
6197
6198 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
6199
6200 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6201
6202 * config/xtensa/xtensa.md (bswapsi2_internal):
6203 Enlarge the buffer that is obviously smaller than the template
6204 string given to sprintf().
6205
6206 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
6207 Marek Polacek <polacek@redhat.com>
6208 Segher Boessenkool <segher@kernel.crashing.org>
6209 Kewen Lin <linkw@linux.ibm.com>
6210
6211 PR target/105991
6212 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
6213 exact_log2 doesn't return -1 (or zero).
6214 (plus_xor): New code iterator.
6215 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
6216
6217 2022-06-21 Nathan Sidwell <nathan@acm.org>
6218
6219 * doc/invoke.texi (C++ Modules): Remove language-linkage
6220 as missing feature.
6221
6222 2022-06-21 Arjun Shankar <arjun@redhat.com>
6223
6224 PR tree-optimization/94899
6225 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
6226 0x80000000): New simplification.
6227
6228 2022-06-21 Jakub Jelinek <jakub@redhat.com>
6229
6230 PR rtl-optimization/106032
6231 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
6232 t may_trap_or_fault_p, even if it is cheap.
6233
6234 2022-06-21 Jakub Jelinek <jakub@redhat.com>
6235
6236 PR middle-end/106030
6237 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
6238 temp to expand_operands if mode has been promoted.
6239
6240 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
6241
6242 PR target/105740
6243 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
6244 condition bb.
6245
6246 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
6247
6248 PR tree-optimization/105736
6249 * tree-object-size.cc (addr_object_size): Return size_unknown
6250 when object offset computation returns an error.
6251
6252 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
6253
6254 PR target/105960
6255 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
6256 false if PIC register is used when calling ifunc functions.
6257
6258 2022-06-20 Richard Biener <rguenther@suse.de>
6259
6260 PR middle-end/106027
6261 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
6262 type of the prevailing comparison for the new comparison type.
6263 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
6264 to A < X && A >= Y folding.
6265
6266 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
6267
6268 PR tree-optimization/105940
6269 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
6270 slp_done_for_suggested_uf and adjust with it accordingly.
6271 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
6272 pass it down to vect_analyze_loop_2 for the initial analysis and
6273 applying suggested unroll factor.
6274 (vect_is_simple_reduction): Add parameter slp and adjust with it.
6275 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
6276 (vect_analyze_scalar_cycles): Likewise.
6277
6278 2022-06-20 Martin Liska <mliska@suse.cz>
6279
6280 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
6281 use them.
6282 (better_edge_p): Likewise.
6283 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
6284 * cfgloopmanip.cc (scale_loop_profile): Likewise.
6285 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
6286 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
6287 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
6288 * dojump.cc (do_compare_rtx_and_jump): Likewise.
6289 * final.cc (compute_alignments): Likewise.
6290 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
6291 (decide_about_value): Likewise.
6292 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
6293 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
6294 * modulo-sched.cc (sms_schedule): Likewise.
6295 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
6296 (expand_omp_ordered_sink): Likewise.
6297 (expand_omp_for_ordered_loops): Likewise.
6298 (expand_omp_for_static_nochunk): Likewise.
6299 * predict.cc (maybe_hot_count_p): Likewise.
6300 (probably_never_executed): Likewise.
6301 (set_even_probabilities): Likewise.
6302 (handle_missing_profiles): Likewise.
6303 (expensive_function_p): Likewise.
6304 * profile-count.h: Likewise.
6305 * profile.cc (compute_branch_probabilities): Likewise.
6306 * stmt.cc (emit_case_dispatch_table): Likewise.
6307 * symtab-thunks.cc (expand_thunk): Likewise.
6308 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
6309 * tree-ssa-sink.cc (select_best_block): Likewise.
6310 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
6311 (switch_decision_tree::balance_case_nodes): Likewise.
6312 (switch_decision_tree::emit_case_nodes): Likewise.
6313 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
6314
6315 2022-06-20 yulong <shiyulong@iscas.ac.cn>
6316
6317 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
6318 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
6319 of RISCV_BUILTIN.
6320 * config/riscv/riscv-ftypes.def (0): Remove unused.
6321 (1): New.
6322
6323 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6324
6325 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
6326 Consider relaxed MOVI instructions as L32R.
6327
6328 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6329
6330 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
6331 Use can_create_pseudo_p(), instead of using individual
6332 reload_in_progress and reload_completed.
6333 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
6334 the existing predicate function.
6335 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
6336 Use the standard RTX code predicate macros such as MEM_P,
6337 SYMBOL_REF_P and/or CONST_INT_P.
6338 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
6339 if callee-saved register, at the split patterns for indirect sibcall
6340 fixups.
6341
6342 2022-06-18 Jakub Jelinek <jakub@redhat.com>
6343
6344 * common.opt (flag_sanitize_trap): New variable.
6345 (fsanitize-trap=, fsanitize-trap): New options.
6346 (fsanitize-undefined-trap-on-error): Change into deprecated alias
6347 for -fsanitize-trap=all.
6348 * opts.h (struct sanitizer_opts_s): Add can_trap member.
6349 * opts.cc (finish_options): Complain about unsupported
6350 -fsanitize-trap= options.
6351 (sanitizer_opts): Add can_trap values to all entries.
6352 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
6353 options which have can_trap false.
6354 (parse_sanitizer_options): Add support for -fsanitize-trap=.
6355 For -fsanitize-trap=all, enable
6356 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
6357 -fsanitize-trap=vptr here.
6358 (common_handle_option): Handle OPT_fsanitize_trap_ and
6359 OPT_fsanitize_trap.
6360 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
6361 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
6362 flag_sanitize_undefined_trap_on_error.
6363 * gcc.cc (sanitize_spec_function): Use
6364 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
6365 and drop use of flag_sanitize_undefined_trap_on_error in
6366 "undefined" handling.
6367 * ubsan.cc (ubsan_instrument_unreachable): Use
6368 flag_sanitize_trap & SANITIZE_??? instead of
6369 flag_sanitize_undefined_trap_on_error.
6370 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
6371 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
6372 ubsan_build_overflow_builtin, instrument_bool_enum_load,
6373 ubsan_instrument_float_cast, instrument_nonnull_arg,
6374 instrument_nonnull_return, instrument_builtin): Likewise.
6375 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
6376 (-fsanitize-undefined-trap-on-error): Document as deprecated
6377 alias of -fsanitize-trap.
6378
6379 2022-06-18 Jakub Jelinek <jakub@redhat.com>
6380
6381 PR middle-end/105998
6382 * varasm.cc (narrowing_initializer_constant_valid_p): Check
6383 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
6384 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
6385
6386 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
6387
6388 PR tree-optimization/105835
6389 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
6390 Narrow integer multiplication by a zero_one_valued_p operand.
6391 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
6392 conversions inside COND_EXPR where both data operands are
6393 integer constants.
6394
6395 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6396
6397 * config/xtensa/constraints.md (Y):
6398 Change to include integer constants until reload begins.
6399 * config/xtensa/predicates.md (move_operand): Ditto.
6400 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
6401 Change to allow storing integer constants into litpool only after
6402 reload begins.
6403
6404 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
6405
6406 PR target/105209
6407 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
6408 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
6409 (alpha_store_data_bypass_p_1): Ditto.
6410 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
6411 of generic store_data_bypass_p.
6412 (ev4_ist_c): Remove insn reservation.
6413
6414 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
6415
6416 PR target/105970
6417 * config/i386/i386.cc (ix86_function_arg): Assert that
6418 the mode of pointer argumet is equal to ptr_mode, not Pmode.
6419
6420 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
6421
6422 PR target/105993
6423 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
6424 instead of REGNO comparisons in combine splitter.
6425
6426 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
6427
6428 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
6429 types.
6430
6431 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
6432
6433 * config/riscv/bitmanip.md: Supress warning.
6434
6435 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
6436
6437 PR target/106004
6438 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
6439 Clear bits in the mask above bit 31.
6440
6441 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
6442
6443 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
6444 to avoid spilling trivial literals to the constant pool.
6445
6446 2022-06-16 David Malcolm <dmalcolm@redhat.com>
6447
6448 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
6449 auto_diagnostic_group to group any warning with its note.
6450 (maybe_warn_for_bound): Likewise.
6451 (check_access): Likewise.
6452 (warn_dealloc_offset): Likewise.
6453 (pass_waccess::maybe_warn_memmodel): Likewise.
6454 (pass_waccess::maybe_check_dealloc_call): Likewise.
6455 (pass_waccess::warn_invalid_pointer): Likewise.
6456 (pass_waccess::check_dangling_stores): Likewise.
6457
6458 2022-06-16 Jason Merrill <jason@redhat.com>
6459
6460 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
6461 opts_set->x_flag_sanitize.
6462
6463 2022-06-16 Jason Merrill <jason@redhat.com>
6464
6465 * flags.h (issue_strict_overflow_warning): Comment #endif.
6466
6467 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
6468
6469 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
6470 was invaraint before, clear the invariant bit.
6471 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
6472 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
6473
6474 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
6475
6476 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
6477
6478 2022-06-16 Jakub Jelinek <jakub@redhat.com>
6479
6480 PR tree-optimization/105983
6481 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
6482 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
6483 on non-equality comparisons.
6484
6485 2022-06-16 Jakub Jelinek <jakub@redhat.com>
6486
6487 PR tree-optimization/105984
6488 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
6489 x > stype_max / cst || x < stype_min / cst): fold_convert @1
6490 to TREE_TYPE (@0) just once and test for negative divisor
6491 also on that folded constant instead of on @1.
6492
6493 2022-06-16 Jakub Jelinek <jakub@redhat.com>
6494
6495 PR middle-end/105951
6496 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
6497 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
6498 as last argument to the internal functions.
6499 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
6500 extra call argument to ifns. If expand_atomic_fetch_op fails for the
6501 lhs == NULL_TREE case, fall through into the optab code with
6502 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
6503 fails, construct a CALL_EXPR and expand that.
6504 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
6505 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
6506 expand that.
6507
6508 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
6509
6510 PR target/103316
6511 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
6512 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
6513 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
6514 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
6515 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
6516 for new Power10 V1TI instructions.
6517 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
6518 (vec_cmpu<mode><mode>): Likewise.
6519 (vector_nlt<mode>): Set mode iterator to VEC_IC.
6520 (vector_nltv1ti): Remove.
6521 (vector_gtu<mode>): Set mode iterator to VEC_IC.
6522 (vector_gtuv1ti): Remove.
6523 (vector_nltu<mode>): Set mode iterator to VEC_IC.
6524 (vector_nltuv1ti): Remove.
6525 (vector_geu<mode>): Set mode iterator to VEC_IC.
6526 (vector_ngt<mode>): Likewise.
6527 (vector_ngtv1ti): Remove.
6528 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
6529 (vector_ngtuv1ti): Remove.
6530 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
6531 (vector_gtu_v1ti_p): Remove.
6532 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
6533 (vrotlv1ti3): Remove.
6534 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
6535 (vashrv1ti3): Remove.
6536
6537 2022-06-16 Martin Liska <mliska@suse.cz>
6538
6539 * gengtype-state.cc (read_a_state_token): Do not skip extra
6540 character after escaped sequence.
6541
6542 2022-06-16 Martin Liska <mliska@suse.cz>
6543
6544 PR driver/105564
6545 * spellcheck.cc (test_find_closest_string): Add new test.
6546 * spellcheck.h (class best_match): Prefer a difference in
6547 trailing sign symbol.
6548
6549 2022-06-16 liuhongt <hongtao.liu@intel.com>
6550
6551 PR tree-optimization/53533
6552 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
6553 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
6554 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
6555
6556 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6557
6558 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
6559
6560 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6561
6562 * config/xtensa/predicates.md (reload_operand):
6563 New predicate.
6564 * config/xtensa/xtensa.md: New peephole2 pattern.
6565
6566 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6567
6568 * config/xtensa/xtensa.md (*round_up_to_even):
6569 New insn-and-split pattern.
6570 (*signed_ge_zero): Ditto.
6571
6572 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6573
6574 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
6575 xtensa_emit_sibcall): New prototypes.
6576 (xtensa_expand_epilogue): Add new argument that specifies whether
6577 or not sibling call.
6578 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
6579 New macro definition.
6580 (xtensa_prepare_expand_call): New function in order to share
6581 the common code.
6582 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
6583 New functions.
6584 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
6585 for sibling call handling.
6586 * config/xtensa/xtensa.md (call, call_value):
6587 Use xtensa_prepare_expand_call.
6588 (call_internal, call_value_internal):
6589 Add the condition in order to be disabled if sibling call.
6590 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
6591 (sibcall_internal, sibcall_value_internal): New insn patterns,
6592 and split ones in order to take care of the indirect sibcalls.
6593
6594 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6595
6596 * doc/invoke.texi: Document -mextra-l32r-costs= option.
6597
6598 2022-06-15 David Malcolm <dmalcolm@redhat.com>
6599
6600 PR analyzer/105962
6601 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
6602 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
6603 Extend -fdiagnostics-path-format=separate-events so that with
6604 -fdiagnostics-show-path-depths it prints fndecls as well as stack
6605 depths.
6606
6607 2022-06-15 David Malcolm <dmalcolm@redhat.com>
6608
6609 * value-relation.h: Add "final" and "override" to relation_oracle
6610 vfunc implementations as appropriate.
6611
6612 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
6613
6614 PR middle-end/105975
6615 Revert everything apart from the expand_fn_using_insn and
6616 expand_direct_optab_fn changes from:
6617 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
6618 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
6619 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
6620 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
6621 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
6622 member variable.
6623 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
6624 (direct_internal_fn_p): Also return true for internal functions
6625 that map directly to instructions defined target-insns.def.
6626 (direct_internal_fn): Adjust comment accordingly.
6627 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
6628 (vectorizable_optab2): New local macros.
6629 (not_direct): Initialize directly_mapped.
6630 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
6631 (gather_load_direct, len_load_direct, mask_store_direct)
6632 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
6633 (vec_cond_direct, scatter_store_direct, len_store_direct)
6634 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
6635 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
6636 (while_direct, fold_extract_direct, fold_left_direct)
6637 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
6638 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
6639 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
6640 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
6641 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
6642 (direct_internal_fn_types): Handle functions that map to instructions
6643 defined in target-insns.def.
6644 (direct_internal_fn_types): Likewise.
6645 (direct_internal_fn_supported_p): Likewise.
6646 (internal_fn_expanders): Likewise.
6647 (expand_fn_using_insn): New function,
6648 split out and adapted from...
6649 (expand_direct_optab_fn): ...here.
6650 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
6651 (expand_GOMP_SIMT_EXIT): Likewise.
6652 (expand_GOMP_SIMT_LANE): Likewise.
6653 (expand_GOMP_SIMT_LAST_LANE): Likewise.
6654 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
6655 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
6656 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
6657 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
6658
6659 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
6660
6661 PR target/105981
6662 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
6663 to first_reg and second_reg respectively. Initialize them correctly
6664 when generating big-endian code.
6665
6666 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
6667
6668 PR target/105974
6669 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
6670
6671 2022-06-15 Richard Biener <rguenther@suse.de>
6672
6673 PR tree-optimization/105971
6674 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
6675 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
6676 to leak less surprising alias results.
6677
6678 2022-06-15 Richard Biener <rguenther@suse.de>
6679
6680 PR tree-optimization/105969
6681 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
6682 by zero in overflow check.
6683
6684 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
6685
6686 PR tree-optimization/105254
6687 PR tree-optimization/105940
6688 Revert:
6689 * config/aarch64/aarch64.cc
6690 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
6691 loop_vec_info as argument. Restrict the unroll factor to values
6692 that divide the VF.
6693 (aarch64_vector_costs::finish_cost): Update call accordingly.
6694
6695 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
6696
6697 * read-rtl.cc (find_int): Substitute symbolic constants
6698 before converting the string to an integer.
6699
6700 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
6701 Richard Biener <rguenther@suse.de>
6702
6703 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
6704 left shifts by a constant when the result is truncated, and the
6705 shift constant is well-defined.
6706 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
6707 support for rotations of signed integer types, by lowering
6708 using unsigned vector shifts.
6709
6710 2022-06-15 liuhongt <hongtao.liu@intel.com>
6711
6712 PR target/105953
6713 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
6714 operands[3].
6715
6716 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
6717
6718 PR rtl-optimization/105041
6719 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
6720
6721 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
6722
6723 * config/rs6000/vsx.md (VS_scalar): Delete.
6724 (rest of file): Adjust.
6725
6726 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
6727
6728 PR ipa/105739
6729 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
6730
6731 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
6732
6733 * config/riscv/bitmanip.md: Add split to handle opportunities
6734 for slli + sh[123]add.uw
6735
6736 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
6737
6738 * config/riscv/predicates.md (consecutive_bits_operand):
6739 Implement new predicate.
6740
6741 2022-06-14 Richard Biener <rguenther@suse.de>
6742
6743 PR tree-optimization/105946
6744 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
6745 Do not look at arguments not specified in the function call.
6746
6747 2022-06-14 Richard Biener <rguenther@suse.de>
6748
6749 PR middle-end/105965
6750 * match.pd (view_convert CONSTRUCTOR): Handle single-element
6751 CTOR case.
6752
6753 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
6754
6755 * warning-control.cc (copy_warning) [generic version]: Do not erase
6756 the warning data of the destination location when the no-warning
6757 bit is not set on the source.
6758 (copy_warning) [tree version]: Return early if TO is equal to FROM.
6759 (copy_warning) [gimple version]: Likewise.
6760
6761 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
6762
6763 PR tree-optimization/105940
6764 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
6765 applying suggested_unroll_factor after start_over.
6766
6767 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6768
6769 * config/xtensa/predicates.md (shifted_mask_operand):
6770 New predicate.
6771 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
6772 New insn-and-split pattern.
6773 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
6774 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
6775 *masktrue_const_shifted_mask): Ditto.
6776
6777 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6778
6779 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
6780
6781 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6782
6783 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
6784 Remove the first argument.
6785 (xtensa_emit_bit_branch): Remove it because now called only from the
6786 output statement of *bittrue insn pattern.
6787 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
6788 argument 'p_invert', and make so that the condition is reversed by
6789 itself as needed.
6790 (xtensa_expand_conditional_branch): Share the common path, and remove
6791 condition inversion code.
6792 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
6793 "false side" pattern.
6794 (xtensa_emit_bit_branch): Remove it because of the abovementioned
6795 reason, and move the function body to *bittrue insn pattern.
6796 * config/xtensa/xtensa.md (*bittrue): Transplant the output
6797 statement from removed xtensa_emit_bit_branch().
6798 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
6799 insn patterns.
6800
6801 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6802
6803 * config/xtensa/predicates.md (logical_shift_operator,
6804 xtensa_shift_per_byte_operator): New predicates.
6805 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
6806 New prototype.
6807 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
6808 New helper function for funnel shift patterns.
6809 * config/xtensa/xtensa.md (ior_op): New code iterator.
6810 (*ashlsi3_1): Replace with new split pattern.
6811 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
6812 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
6813 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
6814 in order to omit unnecessary bitwise AND operation.
6815 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
6816 *shlrd_per_byte_<code>_omit_AND):
6817 New insn patterns for funnel shifts.
6818
6819 2022-06-13 Jason Merrill <jason@redhat.com>
6820
6821 * tree-cfg.cc (pass_warn_function_return::execute): Also check
6822 BUILT_IN_TRAP.
6823
6824 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
6825
6826 * config/riscv/riscv.md (length): Remove the explicit setting
6827 for "fcmp".
6828
6829 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
6830
6831 * common/config/i386/cpuinfo.h (get_available_features): Require
6832 AVX for F16C and VAES.
6833
6834 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
6835
6836 PR target/105927
6837 * config/i386/predicates.md (register_no_elim_operand):
6838 Return true for subreg of a memory operand.
6839
6840 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
6841
6842 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
6843 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
6844 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
6845 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
6846 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
6847 member variable.
6848 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
6849 (direct_internal_fn_p): Also return true for internal functions
6850 that map directly to instructions defined target-insns.def.
6851 (direct_internal_fn): Adjust comment accordingly.
6852 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
6853 (vectorizable_optab2): New local macros.
6854 (not_direct): Initialize directly_mapped.
6855 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
6856 (gather_load_direct, len_load_direct, mask_store_direct)
6857 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
6858 (vec_cond_direct, scatter_store_direct, len_store_direct)
6859 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
6860 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
6861 (while_direct, fold_extract_direct, fold_left_direct)
6862 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
6863 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
6864 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
6865 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
6866 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
6867 (direct_internal_fn_types): Handle functions that map to instructions
6868 defined in target-insns.def.
6869 (direct_internal_fn_types): Likewise.
6870 (direct_internal_fn_supported_p): Likewise.
6871 (internal_fn_expanders): Likewise.
6872
6873 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
6874
6875 * internal-fn.cc (expand_fn_using_insn): New function,
6876 split out and adapted from...
6877 (expand_direct_optab_fn): ...here.
6878 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
6879 (expand_GOMP_SIMT_EXIT): Likewise.
6880 (expand_GOMP_SIMT_LANE): Likewise.
6881 (expand_GOMP_SIMT_LAST_LANE): Likewise.
6882 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
6883 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
6884 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
6885 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
6886
6887 2022-06-13 Jakub Jelinek <jakub@redhat.com>
6888
6889 * omp-expand.cc (expand_omp_target): Remap user provided
6890 device clause arguments, -1 to -2 and -2 to -3, either
6891 at compile time if constant, or at runtime.
6892
6893 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
6894
6895 * common.opt (finstrument-functions): Set explicit value.
6896 (-finstrument-functions-once): New option.
6897 * doc/invoke.texi (Program Instrumentation Options): Document it.
6898 * gimplify.cc (build_instrumentation_call): New static function.
6899 (gimplify_function_tree): Call it to emit the instrumentation calls
6900 if -finstrument-functions[-once] is specified.
6901
6902 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
6903
6904 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
6905 * gimple.h (gimple_set_location): Do not copy warning data from
6906 the previous location when it is UNKNOWN_LOCATION.
6907 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
6908
6909 2022-06-13 Jakub Jelinek <jakub@redhat.com>
6910
6911 PR target/105911
6912 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
6913 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
6914 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
6915 operands[3] unmodified.
6916
6917 2022-06-12 Simon Wright <simon@pushface.org>
6918
6919 PR target/104871
6920 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
6921 version is darwin20 (macOS 11) or greater, truncate the version to the
6922 major number.
6923
6924 2022-06-12 Mark Mentovai <mark@mentovai.com>
6925
6926 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
6927
6928 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6929
6930 PR target/96463
6931 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
6932 (svld1rq_impl::fold): Define.
6933 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
6934 op_mode and op_vec_flags.
6935 (aarch64_evpc_reencode): Initialize newd.op_mode and
6936 newd.op_vec_flags.
6937 (aarch64_evpc_sve_dup): New function.
6938 (aarch64_expand_vec_perm_const_1): Gate existing calls to
6939 aarch64_evpc_* functions under d->vmode == d->op_mode,
6940 and call aarch64_evpc_sve_dup.
6941 (aarch64_vectorize_vec_perm_const): Remove assert
6942 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
6943 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
6944 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
6945 constant.
6946
6947 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6948
6949 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
6950 New prototype.
6951 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
6952 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
6953 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
6954 New backend functions that process the abovementioned logic.
6955 (xtensa_emit_move_sequence): Revert the previous changes.
6956 * config/xtensa/xtensa.md: New split patterns for integer
6957 and floating-point, as the frontend part.
6958
6959 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6960
6961 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
6962 for ABS and NEG, add missing case for BSWAP and CLRSB, and
6963 double the costs for integer divisions using libfuncs if
6964 optimizing for speed, in order to take advantage of fast constant
6965 division by multiplication.
6966 (TARGET_INSN_COST): New macro definition.
6967 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
6968 calculating relative costs of a RTL insns, for both of speed and
6969 size.
6970 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
6971 the attribute "length" that depends on TARGET_DENSITY.
6972 (define_asm_attributes, blockage, frame_blockage): Add missing
6973 attributes.
6974 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
6975 dependent option, however, preparatory work for now.
6976
6977 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6978
6979 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
6980 Pass through the block length / loop count conditions if
6981 zero-overhead looping is configured and active,
6982
6983 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
6984
6985 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
6986 Split into individual signedness, in order to use libcall
6987 "__umulsidi3" but not the other.
6988 (<u>mulhisi3): Merge into one by using code iterator.
6989 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
6990
6991 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
6992
6993 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
6994 not generate block copies with vector pair instructions if we are
6995 tuning for power10.
6996
6997 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
6998
6999 PR rtl-optimization/7061
7000 * expr.cc (emit_group_store): For groups that consist of a single
7001 scalar integer register that hold a complex mode value, use
7002 gen_lowpart to generate a SUBREG to "view_convert" to the complex
7003 mode. For modes of different sizes, first convert to an integer
7004 mode of the appropriate size.
7005
7006 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
7007
7008 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
7009
7010 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
7011
7012 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
7013 New insn_and_split pattern.
7014
7015 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
7016
7017 * config/xtensa/xtensa.md (one_cmplsi2):
7018 Rearrange as an insn_and_split pattern.
7019
7020 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
7021
7022 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
7023
7024 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
7025
7026 * config/rs6000/rs6000.md (FP_ISA3): Delete.
7027 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
7028 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
7029 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
7030 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
7031 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
7032 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
7033 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
7034 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
7035
7036 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
7037
7038 * config/riscv/riscv.md
7039 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
7040 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
7041 rather than space with FSFLAGS.
7042
7043 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
7044
7045 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
7046 omp_discover_declare_target_fn_r): Don't walk reverse-offload
7047 target regions.
7048
7049 2022-06-09 Jakub Jelinek <jakub@redhat.com>
7050
7051 * doc/invoke.texi (-Waddress): Fix a typo in small example.
7052 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
7053
7054 2022-06-09 Cui,Lili <lili.cui@intel.com>
7055
7056 PR target/105493
7057 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
7058 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
7059 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
7060 (icelake_cost): Ditto.
7061 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
7062 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
7063 {8, 8, 8, 10, 15}.
7064
7065 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
7066
7067 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
7068 and ior insns to one rotate and mask insn.
7069 (define_split for bswapdi register): Likewise.
7070
7071 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
7072
7073 PR middle-end/105874
7074 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
7075 variable tem_modifier for calculating the expand_modifier enum to
7076 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
7077
7078 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
7079
7080 PR target/105879
7081 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
7082 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
7083 'gen_highpart' bitwise semantics and fix order of highpart and
7084 lowpart depending on target endianness.
7085
7086 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
7087
7088 * config/arm/arm-cpus.in (star-mc1): New cpu.
7089 * config/arm/arm-tables.opt: Regenerate.
7090 * config/arm/arm-tune.md: Regenerate.
7091 * doc/invoke.texi: Update docs.
7092
7093 2022-06-08 liuhongt <hongtao.liu@intel.com>
7094
7095 PR target/105513
7096 PR target/105504
7097 * config/i386/i386.md (*movsi_internal): Change alternative
7098 from *v to ?v.
7099 (*movdi_internal): Ditto.
7100 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
7101 to ?r.
7102 (*vec_extractv4sf_mem): Ditto.
7103 (*vec_extracthf): Ditto.
7104
7105 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
7106
7107 PR target/105090
7108 * config/arm/arm.cc (arm_bfi_1_p): New function.
7109 (arm_bfi_p): New function.
7110 (arm_rtx_costs_internal): Add costs for BFI idioms.
7111 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
7112 * config/arm/constraints.md (Dj): New constraint.
7113 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
7114 (insv_zero): Convert to an insn with a split.
7115 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
7116
7117 2022-06-07 liuhongt <hongtao.liu@intel.com>
7118
7119 PR target/105854
7120 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
7121 from Yv to Yw.
7122
7123 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
7124
7125 PR middle-end/105853
7126 PR target/105856
7127 * calls.cc (load_register_parameters): Call store_constructor
7128 and int_expr_size directly instead of expanding via expand_expr.
7129 * expr.cc (static void store_constructor): Don't prototype here.
7130 (static HOST_WIDE_INT int_expr_size): Likewise.
7131 (store_constructor): No longer static.
7132 (int_expr_size): Likewise, no longer static.
7133 * expr.h (store_constructor): Prototype here.
7134 (int_expr_size): Prototype here.
7135
7136 2022-06-07 Jan Beulich <jbeulich@suse.com>
7137
7138 Revert:
7139 2022-06-03 Jan Beulich <jbeulich@suse.com>
7140
7141 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
7142 * configure.ac: Check for objcopy, producing
7143 ORIGINAL_OBJCOPY_FOR_TARGET.
7144 * configure: Update accordingly.
7145 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
7146 Handle objcopy.
7147
7148 2022-06-07 Jakub Jelinek <jakub@redhat.com>
7149
7150 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
7151 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
7152 Adjust clause printing style depending on
7153 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
7154
7155 2022-06-07 Jan Beulich <jbeulich@suse.com>
7156
7157 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
7158 Change type.
7159 * config/i386/i386-builtin-types.def: New function type
7160 (V4DI, V32QI, V32QI).
7161 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
7162 V4DI_FTYPE_V32QI_V32QI.
7163
7164 2022-06-07 Jan Beulich <jbeulich@suse.com>
7165
7166 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
7167 into account for reg-only insns.
7168
7169 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
7170
7171 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
7172 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
7173 TARGET_CMOVE's (scalar integer) conditional moves.
7174 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
7175 from its equivalent (canonical) pxor;pand;pxor sequence.
7176
7177 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
7178
7179 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
7180 parameter ORDER.
7181
7182 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
7183
7184 * config.in: Regenerate.
7185 * configure: Regenerate.
7186 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
7187
7188 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
7189
7190 PR middle-end/95126
7191 * calls.cc (load_register_parameters): When loading a suitable
7192 immediate_const_ctor_p VAR_DECL into a single word_mode register,
7193 construct it directly in a pseudo rather than read it (by parts)
7194 from memory.
7195 * expr.cc (int_expr_size): Make tree argument a const_tree.
7196 (immediate_const_ctor_p): Helper predicate. Return true for
7197 simple constructors that may be materialized in a register.
7198 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
7199 VAR_DECL with a suitable immediate_const_ctor_p constructor
7200 use store_constructor to materialize it directly in a pseudo.
7201 * expr.h (immediate_const_ctor_p): Prototype here.
7202 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
7203 VALUE argument from tree to const_tree.
7204 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
7205 prototype.
7206
7207 2022-06-04 Jakub Jelinek <jakub@redhat.com>
7208
7209 PR target/105825
7210 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
7211 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
7212 bits of mask aren't all set, use operands[2] mode for the AND
7213 operation instead of always SImode.
7214
7215 2022-06-03 Jakub Jelinek <jakub@redhat.com>
7216
7217 PR middle-end/30314
7218 PR middle-end/105777
7219 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
7220 x > stype_max / cst || x < stype_min / cst): New simplification.
7221
7222 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
7223
7224 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
7225 Value_Range.
7226 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
7227 * value-range.h (Value_Range::Value_Range): Implement copy
7228 constructor for Value_Range.
7229
7230 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
7231
7232 * value-range.h (struct vrange_traits): Remove.
7233 (is_a): Rewrite without vrange_traits.
7234 (as_a): Same.
7235
7236 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
7237
7238 * value-range.cc (vrange::contains_p): Implement.
7239 (vrange::type): Return void.
7240 (vrange::supports_type_p): Implement.
7241 (irange::fits_p): Same.
7242 (vrange::set_undefined): Same.
7243 (irange::set_nonnegative): Same.
7244 (vrange::set_varying): Same.
7245 (vrange::union_): Same.
7246 (unsupported_range::set): Move to vrange.
7247 (unsupported_range::type): Move to vrange.
7248 (vrange::intersect): Implement for varying and undefined.
7249 (vrange::zero_p): Implement.
7250 (unsupported_range::supports_type_p): Move to vrange.
7251 (vrange::nonzero_p): Implement.
7252 (unsupported_range::set_undefined): Move to vrange.
7253 (unsupported_range::set_varying): Same.
7254 (unsupported_range::dump): Same.
7255 (unsupported_range::union_): Same. Implement for varying and
7256 undefined.
7257 (unsupported_range::intersect): Move to vrange.
7258 (unsupported_range::zero_p): Same.
7259 (unsupported_range::nonzero_p): Same.
7260 (unsupported_range::set_nonzero): Same.
7261 (unsupported_range::set_zero): Same.
7262 (unsupported_range::set_nonnegative): Same.
7263 (unsupported_range::fits_p): Same.
7264 * value-range.h (class vrange): Remove abstract markers for most
7265 methods.
7266 (class unsupported_range): Remove most methods as they will now be
7267 inherited from vrange.
7268
7269 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
7270
7271 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
7272 an object level supports_type_p for irange and a static
7273 Value_Range::supports_type_p.
7274 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
7275 (fold_using_range::range_of_address): Same.
7276 (fold_using_range::range_of_builtin_call): Same.
7277 * gimple-range-fold.h (gimple_range_type): Same.
7278 (gimple_range_ssa_p): Same.
7279 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
7280 Same.
7281 (path_range_query::range_of_stmt): Same.
7282 (path_range_query::add_to_imports): Same.
7283 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
7284 (gimple_ranger::export_global_ranges): Same.
7285 * gimple-ssa-evrp-analyze.cc
7286 (evrp_range_analyzer::record_ranges_from_phis): Same.
7287 * range-op.cc (range_operator::wi_fold): Same.
7288 (range_operator::fold_range): Same.
7289 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
7290 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
7291 (evaluate_control_stmt_using_entry_checks): Same.
7292 * tree-ssa-threadedge.cc
7293 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
7294 * tree-vrp.cc (supported_types_p): Same.
7295 * value-query.cc (range_query::value_of_expr): Same.
7296 (range_query::value_on_edge): Same.
7297 (range_query::value_of_stmt): Same.
7298 (range_query::get_tree_range): Same.
7299 (get_range_global): Same.
7300 (global_range_query::range_of_expr): Same.
7301 * value-range-equiv.h (class value_range_equiv): Same.
7302 * value-range.cc (irange::supports_type_p): Same.
7303 (unsupported_range::supports_type_p): Same.
7304 * value-range.h (enum value_range_discriminator): Same.
7305 (Value_Range::init): Same.
7306 (Value_Range::supports_type_p): Same.
7307 (irange::supports_type_p): Same.
7308 (irange::supports_p): Same.
7309 (vrange::supports_type_p): Same.
7310 (vrange_allocator::alloc_vrange): Same.
7311
7312 2022-06-03 Jan Beulich <jbeulich@suse.com>
7313
7314 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
7315 * configure.ac: Check for objcopy, producing
7316 ORIGINAL_OBJCOPY_FOR_TARGET.
7317 * configure: Update accordingly.
7318 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
7319 Handle objcopy.
7320
7321 2022-06-03 Jan Beulich <jbeulich@suse.com>
7322
7323 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
7324 (*mmx_psadbw): New. Mark as commutative.
7325 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
7326 (*<sse2_avx2>_psadbw): New. Mark as commutative.
7327
7328 2022-06-03 Alexandre Oliva <oliva@adacore.com>
7329
7330 PR tree-optimization/105665
7331 PR tree-optimization/100810
7332 * tree-ssa-loop-ivopts.cc
7333 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
7334 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
7335 (find_ssa_undef): Check precomputed flag and intervening uses.
7336 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
7337
7338 2022-06-02 David Malcolm <dmalcolm@redhat.com>
7339
7340 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
7341 tree-logical-location.o.
7342 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
7343 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
7344 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
7345 (sarif-stderr, sarif-file): New enum values.
7346 * diagnostic-client-data-hooks.h: New file.
7347 * diagnostic-format-sarif.cc: New file.
7348 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
7349 (enum diagnostic_event::noun): New enum.
7350 (enum diagnostic_event::property): New enum.
7351 (struct diagnostic_event::meaning): New struct.
7352 (diagnostic_event::get_logical_location): New vfunc.
7353 (diagnostic_event::get_meaning): New vfunc.
7354 (simple_diagnostic_event::get_logical_location): New vfunc impl.
7355 (simple_diagnostic_event::get_meaning): New vfunc impl.
7356 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
7357 (diagnostic_initialize): Initialize m_client_data_hooks.
7358 (diagnostic_finish): Clean up m_client_data_hooks.
7359 (diagnostic_event::meaning::dump_to_pp): New.
7360 (diagnostic_event::meaning::maybe_get_verb_str): New.
7361 (diagnostic_event::meaning::maybe_get_noun_str): New.
7362 (diagnostic_event::meaning::maybe_get_property_str): New.
7363 (get_cwe_url): Make non-static.
7364 (diagnostic_output_format_init): Handle
7365 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
7366 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
7367 * diagnostic.h (enum diagnostics_output_format): Add
7368 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
7369 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
7370 (class diagnostic_client_data_hooks): New forward decl.
7371 (class logical_location): New forward decl.
7372 (diagnostic_context::m_client_data_hooks): New field.
7373 (diagnostic_output_format_init_sarif_stderr): New decl.
7374 (diagnostic_output_format_init_sarif_file): New decl.
7375 (get_cwe_url): New decl.
7376 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
7377 sarif-file.
7378 * doc/sourcebuild.texi (Scan a particular file): Add
7379 scan-sarif-file and scan-sarif-file-not.
7380 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
7381 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
7382 (LANG_HOOKS_INITIALIZER): Add
7383 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
7384 * langhooks.cc (lhd_get_sarif_source_language): New.
7385 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
7386 * logical-location.h: New file.
7387 * plugin.cc (struct for_each_plugin_closure): New.
7388 (for_each_plugin_cb): New.
7389 (for_each_plugin): New.
7390 * plugin.h (for_each_plugin): New decl.
7391 * tree-diagnostic-client-data-hooks.cc: New file.
7392 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
7393 (tree_diagnostics_defaults): Populate m_client_data_hooks.
7394 * tree-logical-location.cc: New file.
7395 * tree-logical-location.h: New file.
7396
7397 2022-06-02 David Malcolm <dmalcolm@redhat.com>
7398
7399 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
7400 to description.
7401 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
7402 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
7403 (diagnostics_output_format): Add json-stderr and json-file.
7404 * diagnostic-format-json.cc (json_flush_to_file): New.
7405 (json_final_cb): Convert to...
7406 (json_flush_to_file): ...this, ...
7407 (json_stderr_final_cb): ...this, and...
7408 (json_file_final_cb): ...this.
7409 (diagnostic_output_format_init): Move to diagnostic.cc.
7410 (json_output_base_file_name): New.
7411 (diagnostic_output_format_init_json): New.
7412 (diagnostic_output_format_init_json_stderr): New.
7413 (diagnostic_output_format_init_json_file): New.
7414 * diagnostic.cc (diagnostic_output_format_init): Move here from
7415 diagnostic-format-json.cc; update for changes to enum.
7416 * diagnostic.h (enum diagnostics_output_format): Rename
7417 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
7418 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
7419 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
7420 (diagnostic_output_format_init): Add base_file_name param.
7421 (diagnostic_output_format_init_json_stderr): New decl.
7422 (diagnostic_output_format_init_json_file): New dec.
7423 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
7424 "json-file". Rewrite so that the existing "json" is a synonym of
7425 "json-stderr".
7426 * gcc.cc (driver_handle_option): Pass dump_base_name to
7427 diagnostic_output_format_init.
7428 * opts.cc (common_handle_option): Likewise.
7429
7430 2022-06-02 David Malcolm <dmalcolm@redhat.com>
7431
7432 * json.cc (string::print): Fix escaping of '\'.
7433
7434 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
7435
7436 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
7437 (-1 << 31) for the single-bit case, when operating on (1 << 31)
7438 in SImode.
7439 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
7440 any single-bit value, moving the special case for (1 << 31) to
7441 riscv_build_integer_1 (in riscv.c).
7442
7443 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
7444
7445 PR target/105791
7446 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
7447 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
7448
7449 2022-06-02 Jakub Jelinek <jakub@redhat.com>
7450
7451 PR target/105778
7452 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
7453 from AND and its operands and just verify operands[2] has HImode,
7454 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
7455 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
7456 just throw away the masking. Use force_reg before calling
7457 gen_lowpart.
7458 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
7459 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
7460 just throw away the masking.
7461 (*ashl<mode>3_doubleword): Rename to ...
7462 (ashl<mode>3_doubleword): ... this.
7463 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
7464 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
7465 Use force_reg before calling gen_lowpart.
7466 (*<insn><mode>3_mask): Likewise.
7467 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
7468 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
7469 case just throw away the masking. Use force_reg before calling
7470 gen_lowpart.
7471 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
7472 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
7473 throw away the masking.
7474 (*<insn><mode>3_doubleword): Rename to ...
7475 (<insn><mode>3_doubleword): ... this.
7476 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
7477 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
7478 Use force_reg before calling gen_lowpart.
7479 (splitter after it): Remove :SI from AND and its operands and just
7480 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
7481 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
7482 operands and just verify operands[1] has HImode, SImode or for
7483 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
7484 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
7485 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
7486 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
7487
7488 2022-06-02 Richard Biener <rguenther@suse.de>
7489
7490 PR tree-optimization/101668
7491 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
7492 for vector types with compatible lane types.
7493 (vect_build_slp_tree_2): Deal with this.
7494 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
7495 special cases without VEC_PERM.
7496 (vectorizable_slp_permutation): Select the operand vector
7497 type and relax requirements. Handle identity permutes
7498 with mismatching operand types.
7499 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
7500 permutes for op_mode == mode.
7501
7502 2022-06-02 Richard Biener <rguenther@suse.de>
7503
7504 PR tree-optimization/105802
7505 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
7506 Make sure to also compute the range in the type of the switch index.
7507
7508 2022-06-01 David Seifert <soap@gentoo.org>
7509
7510 PR plugins/95648
7511 * configure: Regenerate.
7512
7513 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
7514
7515 PR rtl-optimization/105638
7516 * df-core.cc (df_find_single_def_src): Moved and renamed from
7517 find_single_def_src in loop-iv.cc. Change the argument to rtx
7518 and use rtx_equal_p. Return null for partial or conditional
7519 defs.
7520 * df.h (df_find_single_def_src): New prototype.
7521 * dse.cc (record_store): Use the constant source if the source
7522 register is set only once.
7523 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
7524 (replace_single_def_regs): Replace find_single_def_src with
7525 df_find_single_def_src.
7526
7527 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
7528
7529 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
7530 selected_tune.
7531 (explicit_arch): Rename to selected_arch.
7532 (x_aarch64_override_tune_string): Remove.
7533 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
7534 (aarch64_override_tune_string): Add Save so it gets saved/restored.
7535 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
7536 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
7537 (processor): Remove archtecture_version field.
7538 (selected_arch): Remove global.
7539 (selected_cpu): Remove global.
7540 (selected_tune): Remove global.
7541 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
7542 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
7543 (aarch64_override_options): Further simplify code to only set
7544 selected_arch and selected_tune globals.
7545 (aarch64_option_save): Remove now that target options are saved.
7546 (aarch64_option_restore): Remove redundant target option restores.
7547 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
7548 AARCH64_ISA_V9.
7549 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
7550 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
7551 (aarch64_ra_sign_key): Remove.
7552
7553 2022-06-01 Jakub Jelinek <jakub@redhat.com>
7554
7555 PR middle-end/30314
7556 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
7557 x > ~(utype)0 / cst): New simplification.
7558
7559 2022-06-01 Richard Biener <rguenther@suse.de>
7560
7561 PR tree-optimization/105786
7562 * tree-loop-distribution.cc
7563 (loop_distribution::transform_reduction_loop): Only do strlen
7564 replacement for integer type reductions.
7565
7566 2022-06-01 Jakub Jelinek <jakub@redhat.com>
7567
7568 PR tree-optimization/105770
7569 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
7570 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
7571
7572 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
7573
7574 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
7575 (sbr_vector::sbr_vector): Same.
7576 (sbr_vector::grow): Same.
7577 (sbr_vector::set_bb_range): Same.
7578 (sbr_vector::get_bb_range): Same.
7579 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
7580 (sbr_sparse_bitmap::set_bb_range): Same.
7581 (sbr_sparse_bitmap::get_bb_range): Same.
7582 (block_range_cache::set_bb_range): Same.
7583 (block_range_cache::get_bb_range): Same.
7584 (block_range_cache::dump): Same.
7585 (ssa_global_cache::get_global_range): Same.
7586 (ssa_global_cache::set_global_range): Same.
7587 (ssa_global_cache::clear): Same.
7588 (ssa_global_cache::dump): Same.
7589 (ranger_cache::get_global_range): Same.
7590 (ranger_cache::set_global_range): Same.
7591 (ranger_cache::range_of_def): Same.
7592 (ranger_cache::entry_range): Same.
7593 (ranger_cache::exit_range): Same.
7594 (ranger_cache::edge_range): Same.
7595 (ranger_cache::range_of_expr): Same.
7596 (ranger_cache::range_on_edge): Same.
7597 (ranger_cache::block_range): Same.
7598 (ranger_cache::propagate_cache): Same.
7599 (ranger_cache::fill_block_cache): Same.
7600 (ranger_cache::range_from_dom): Same.
7601 * gimple-range-cache.h: Same.
7602 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
7603 Same.
7604 (gimple_outgoing_range::switch_edge_range): Same.
7605 (gimple_outgoing_range::edge_range_p): Same.
7606 * gimple-range-edge.h: Same.
7607 * gimple-range-fold.cc (fur_source::get_operand): Same.
7608 (fur_source::get_phi_operand): Same.
7609 (fur_edge::get_operand): Same.
7610 (fur_edge::get_phi_operand): Same.
7611 (fur_stmt::get_operand): Same.
7612 (fur_stmt::get_phi_operand): Same.
7613 (fur_list::fur_list): Same.
7614 (fur_list::get_operand): Same.
7615 (fur_list::get_phi_operand): Same.
7616 (fold_range): Same.
7617 (adjust_imagpart_expr): Same.
7618 (adjust_realpart_expr): Same.
7619 (gimple_range_adjustment): Same.
7620 (fold_using_range::fold_stmt): Same.
7621 (fold_using_range::range_of_range_op): Same.
7622 (fold_using_range::range_of_address): Same.
7623 (fold_using_range::range_of_phi): Same.
7624 (fold_using_range::range_of_call): Same.
7625 (fold_using_range::range_of_builtin_call): Same.
7626 (fold_using_range::range_of_builtin_int_call): Same.
7627 (fold_using_range::range_of_cond_expr): Same.
7628 (fur_source::register_outgoing_edges): Same.
7629 * gimple-range-fold.h (fold_range): Same.
7630 (gimple_range_type): Same.
7631 (gimple_range_ssa_p): Same.
7632 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
7633 (gimple_range_calc_op2): Same.
7634 (gori_compute::compute_operand_range_switch): Same.
7635 (gori_compute::compute_operand_range): Same.
7636 (gori_compute::logical_combine): Same.
7637 (gori_compute::compute_logical_operands): Same.
7638 (gori_compute::compute_operand1_range): Same.
7639 (gori_compute::compute_operand2_range): Same.
7640 (gori_compute::compute_operand1_and_operand2_range): Same.
7641 (gori_compute::outgoing_edge_range_p): Same.
7642 (gori_compute::condexpr_adjust): Same.
7643 * gimple-range-gori.h (gimple_range_calc_op1): Same.
7644 (gimple_range_calc_op2): Same.
7645 * gimple-range-path.cc (path_range_query::get_cache): Same.
7646 (path_range_query::set_cache): Same.
7647 (path_range_query::range_on_path_entry): Same.
7648 (path_range_query::internal_range_of_expr): Same.
7649 (path_range_query::range_of_expr): Same.
7650 (path_range_query::ssa_range_in_phi): Same.
7651 (path_range_query::range_defined_in_block): Same.
7652 (path_range_query::compute_ranges_in_phis): Same.
7653 (path_range_query::compute_ranges_in_block): Same.
7654 (path_range_query::add_to_imports): Same.
7655 (path_range_query::range_of_stmt): Same.
7656 * gimple-range-path.h: Same.
7657 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
7658 (gimple_infer_range::~side_effect_manager): Same.
7659 (gimple_infer_range::get_nonzero): Same.
7660 (gimple_infer_range::maybe_adjust_range): Same.
7661 (gimple_infer_range::add_range): Same.
7662 * gimple-range-infer.h: Same.
7663 * gimple-range-tests.cc: Same.
7664 * gimple-range-trace.cc (range_tracer::trailer): Same.
7665 (debug_seed_ranger): Same.
7666 * gimple-range-trace.h: Same.
7667 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
7668 (gimple_ranger::range_on_entry): Same.
7669 (gimple_ranger::range_on_exit): Same.
7670 (gimple_ranger::range_on_edge): Same.
7671 (gimple_ranger::fold_range_internal): Same.
7672 (gimple_ranger::range_of_stmt): Same.
7673 (gimple_ranger::prefill_name): Same.
7674 (gimple_ranger::prefill_stmt_dependencies): Same.
7675 (gimple_ranger::export_global_ranges): Same.
7676 (gimple_ranger::dump_bb): Same.
7677 * gimple-range.h: Same.
7678 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
7679 (memmodel_to_uhwi): Same.
7680 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
7681 (determine_value_range): Same.
7682 (record_nonwrapping_iv): Same.
7683 (infer_loop_bounds_from_signedness): Same.
7684 (scev_var_range_cant_overflow): Same.
7685 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
7686 * value-query.cc (range_query::range_on_edge): Same.
7687 (range_query::range_of_stmt): Same.
7688 (range_query::value_of_expr): Same.
7689 (range_query::value_on_edge): Same.
7690 (range_query::value_of_stmt): Same.
7691 (range_query::get_tree_range): Same.
7692 (update_global_range): Same.
7693 (get_range_global): Same.
7694 (gimple_range_global): Same.
7695 (global_range_query::range_of_expr): Same.
7696 (range_query::query_relation): Same.
7697 * value-query.h (gimple_range_global): Same.
7698 (update_global_range): Same.
7699 * vr-values.cc (vr_values::range_of_expr): Same.
7700 (bounds_of_var_in_loop): Same.
7701 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
7702 * vr-values.h (class vr_values): Same.
7703 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
7704
7705 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
7706
7707 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
7708 vrange allocator.
7709 (sbr_vector::grow): Same.
7710 (sbr_vector::set_bb_range): Same.
7711 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
7712 (sbr_sparse_bitmap::set_bb_range): Same.
7713 (block_range_cache::~block_range_cache): Same.
7714 (block_range_cache::set_bb_range): Same.
7715 (ssa_global_cache::ssa_global_cache): Same.
7716 (ssa_global_cache::~ssa_global_cache): Same.
7717 (ssa_global_cache::set_global_range): Same.
7718 * gimple-range-cache.h (block_range_cache): Same.
7719 (ssa_global_cache): Same.
7720 * gimple-range-edge.cc
7721 (gimple_outgoing_range::calc_switch_ranges): Same.
7722 * gimple-range-edge.h (gimple_outgoing_range): Same.
7723 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
7724 Same.
7725 (infer_range_manager::add_range): Same.
7726 * gimple-range-infer.h (class infer_range_manager): Same.
7727 * value-range.h (class irange_allocator): Rename to...
7728 (class vrange_allocator): ...this.
7729 (irange_allocator::irange_allocator): New.
7730 (vrange_allocator::vrange_allocator): New.
7731 (irange_allocator::~irange_allocator): New.
7732 (vrange_allocator::~vrange_allocator): New.
7733 (irange_allocator::get_memory): Rename to...
7734 (vrange_allocator::alloc): ...this.
7735 (vrange_allocator::alloc_vrange): Rename from...
7736 (irange_allocator::allocate): ...this.
7737 (vrange_allocator::alloc_irange): New.
7738
7739 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
7740
7741 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
7742 vrange and convert range_op_handler function calls to use the
7743 identically named object.
7744 * gimple-range-fold.cc (gimple_range_operand1): Same.
7745 (gimple_range_operand2): Same.
7746 (fold_using_range::fold_stmt): Same.
7747 (fold_using_range::range_of_range_op): Same.
7748 (fold_using_range::range_of_builtin_ubsan_call): Same.
7749 (fold_using_range::relation_fold_and_or): Same.
7750 (fur_source::register_outgoing_edges): Same.
7751 * gimple-range-fold.h (gimple_range_handler): Remove.
7752 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
7753 (gimple_range_calc_op2): Same.
7754 (range_def_chain::get_def_chain): Same.
7755 (gori_compute::compute_operand_range): Same.
7756 (gori_compute::condexpr_adjust): Same.
7757 * gimple-range.cc (gimple_ranger::prefill_name): Same.
7758 (gimple_ranger::prefill_stmt_dependencies): Same.
7759 * range-op.cc (get_bool_state): Same.
7760 (class operator_equal): Add using clause.
7761 (class operator_not_equal): Same.
7762 (class operator_lt): Same.
7763 (class operator_le): Same.
7764 (class operator_gt): Same.
7765 (class operator_ge): Same.
7766 (class operator_plus): Same.
7767 (class operator_minus): Same.
7768 (class operator_mult): Same.
7769 (class operator_exact_divide): Same.
7770 (class operator_lshift): Same.
7771 (class operator_rshift): Same.
7772 (class operator_cast): Same.
7773 (class operator_logical_and): Same.
7774 (class operator_bitwise_and): Same.
7775 (class operator_logical_or): Same.
7776 (class operator_bitwise_or): Same.
7777 (class operator_bitwise_xor): Same.
7778 (class operator_trunc_mod): Same.
7779 (class operator_logical_not): Same.
7780 (class operator_bitwise_not): Same.
7781 (class operator_cst): Same.
7782 (class operator_identity): Same.
7783 (class operator_unknown): Same.
7784 (class operator_abs): Same.
7785 (class operator_negate): Same.
7786 (class operator_addr_expr): Same.
7787 (class pointer_or_operator): Same.
7788 (operator_plus::op1_range): Adjust for vrange.
7789 (operator_minus::op1_range): Same.
7790 (operator_mult::op1_range): Same.
7791 (operator_cast::op1_range): Same.
7792 (operator_bitwise_not::fold_range): Same.
7793 (operator_negate::fold_range): Same.
7794 (range_op_handler): Rename to...
7795 (get_handler): ...this.
7796 (range_op_handler::range_op_handler): New.
7797 (range_op_handler::fold_range): New.
7798 (range_op_handler::op1_range): New.
7799 (range_op_handler::op2_range): New.
7800 (range_op_handler::lhs_op1_relation): New.
7801 (range_op_handler::lhs_op2_relation): New.
7802 (range_op_handler::op1_op2_relation): New.
7803 (range_cast): Adjust for vrange.
7804 * range-op.h (range_op_handler): Remove function.
7805 (range_cast): Adjust for vrange.
7806 (class range_op_handler): New.
7807 (get_bool_state): Adjust for vrange.
7808 (empty_range_varying): Same.
7809 (relop_early_resolve): Same.
7810 * tree-data-ref.cc (compute_distributive_range): Same.
7811 * tree-vrp.cc (get_range_op_handler): Remove.
7812 (range_fold_binary_symbolics_p): Use range_op_handler class
7813 instead of get_range_op_handler.
7814 (range_fold_unary_symbolics_p): Same.
7815 (range_fold_binary_expr): Same.
7816 (range_fold_unary_expr): Same.
7817 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
7818
7819 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
7820
7821 * gimple-range-fold.h (gimple_range_type): Check type before
7822 calling supports_type_p.
7823 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
7824 * value-query.cc (range_query::get_tree_range): Same.
7825 * value-range.cc (Value_Range::lower_bound): New.
7826 (Value_Range::upper_bound): New.
7827 (Value_Range::dump): New.
7828 * value-range.h (class Value_Range): New.
7829 (irange::supports_type_p): Do not check if type is non-zero.
7830
7831 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
7832
7833 * value-range-equiv.cc (value_range_equiv::set): New.
7834 * value-range-equiv.h (class value_range_equiv): Make set method
7835 virtual.
7836 Remove default bitmap argument from set method.
7837 * value-range.cc (vrange::contains_p): New.
7838 (vrange::singleton_p): New.
7839 (vrange::operator=): New.
7840 (vrange::operator==): New.
7841 (irange::fits_p): Move to .cc file.
7842 (irange::set_nonnegative): New.
7843 (unsupported_range::unsupported_range): New.
7844 (unsupported_range::set): New.
7845 (unsupported_range::type): New.
7846 (unsupported_range::set_undefined): New.
7847 (unsupported_range::set_varying): New.
7848 (unsupported_range::dump): New.
7849 (unsupported_range::union_): New.
7850 (unsupported_range::intersect): New.
7851 (unsupported_range::zero_p): New.
7852 (unsupported_range::nonzero_p): New.
7853 (unsupported_range::set_nonzero): New.
7854 (unsupported_range::set_zero): New.
7855 (unsupported_range::set_nonnegative): New.
7856 (unsupported_range::fits_p): New.
7857 (irange::set): Call irange::set_undefined.
7858 (irange::verify_range): Check discriminator field.
7859 (irange::dump): Dump [irange] marker.
7860 (irange::debug): Move to...
7861 (vrange::debug): ...here.
7862 (dump_value_range): Accept vrange.
7863 (debug): Same.
7864 * value-range.h (enum value_range_discriminator): New.
7865 (class vrange): New.
7866 (class unsupported_range): New.
7867 (struct vrange_traits): New.
7868 (is_a): New.
7869 (as_a): New.
7870 (class irange): Inherit from vrange.
7871 (dump_value_range): Adjust for vrange.
7872 (irange::kind): Rename to...
7873 (vrange::kind): ...this.
7874 (irange::varying_p): Rename to...
7875 (vrange::varying_p): ...this.
7876 (irange::undefined_p): Rename to...
7877 (vrange::undefined_p): ...this.
7878 (irange::irange): Set discriminator.
7879 (irange::union_): Convert to irange before passing to irange
7880 method.
7881 (irange::intersect): Same.
7882 (vrange::supports_type_p): New.
7883 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
7884 NULL bitmap argument to value_range_equiv::set.
7885 (vr_values::extract_range_basic): Same.
7886
7887 2022-06-01 Richard Biener <rguenther@suse.de>
7888
7889 PR tree-optimization/105763
7890 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
7891 Check gimple_range_ssa_p.
7892
7893 2022-05-31 Jason Merrill <jason@redhat.com>
7894
7895 * Makefile.in (TAGS): Look at libcpp/*.cc.
7896
7897 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
7898
7899 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
7900 Prefix mode names with E_.
7901
7902 2022-05-31 Alan Modra <amodra@gmail.com>
7903
7904 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
7905 spelling of DW_AT_namelist_item.
7906
7907 2022-05-31 Jakub Jelinek <jakub@redhat.com>
7908
7909 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
7910 allow var to be private in the outer context.
7911 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
7912 to build_outer_var_ref.
7913
7914 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
7915
7916 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
7917 tieable with DImode on TARGET_64BIT, and SCmode tieable with
7918 V2SFmode, and DCmode with V2DFmode.
7919
7920 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
7921
7922 PR rtl-optimization/101617
7923 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
7924 special case (indicated by negate_cc_compare_p) to generate a
7925 -1/0 mask using neg;sbb.
7926 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
7927 to generate an *x86_neg<mode>_ccc instruction.
7928 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
7929 generate a *x86_mov<mode>cc_0_m1_neg instruction.
7930
7931 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
7932
7933 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
7934 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
7935 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
7936
7937 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
7938
7939 PR target/70321
7940 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
7941 DI mode equality/inequality using XOR here. Instead generate a
7942 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
7943 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
7944 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
7945 (general_scalar_chain::convert_compare): New function to convert
7946 scalar equality/inequality comparison into vector operations.
7947 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
7948 new convert_compare helper method.
7949 (convertible_comparion_p): Update to match doubleword COMPARE
7950 of two register, memory or integer constant operands.
7951 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
7952 Prototype/declare member function here.
7953 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
7954 only allow new doubleword modes for EQ and NE operators.
7955 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
7956 doubleword comparison into a pair of XORs followed by an IOR to
7957 set the (zero) flags register, optimizing the XORs if possible.
7958 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
7959 iterator; V_AVX is (currently) only used by ptest.
7960 (sse4_1 mode attribute): Update to support V1TI and V2TI.
7961
7962 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
7963
7964 * config/i386/i386.md: Remove constraints when used with
7965 const_int_operand, const0_operand, const_1_operand, constm1_operand,
7966 const8_operand, const128_operand, const248_operand, const123_operand,
7967 const2367_operand, const1248_operand, const359_operand,
7968 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
7969 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
7970 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
7971 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
7972 const_0_to_255_mul_8_operand, const_1_to_31_operand,
7973 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
7974 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
7975 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
7976 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
7977 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
7978 const_24_to_27_operand and const_28_to_31_operand.
7979 * config/i386/mmx.md: Ditto.
7980 * config/i386/sse.md: Ditto.
7981 * config/i386/subst.md: Ditto.
7982 * config/i386/sync.md: Ditto.
7983
7984 2022-05-30 Jan Beulich <jbeulich@suse.com>
7985
7986 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
7987 arguments.
7988
7989 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
7990
7991 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
7992
7993 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
7994
7995 PR target/105599
7996 * config/darwin.h: Move versions-specific handling of multiply_defined
7997 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
7998
7999 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
8000
8001 PR other/82383
8002 * doc/sourcebuild.texi: Add entries for the c++tools,
8003 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
8004 and libsanitizer directories. Remove entry for boehm-gc.
8005 Fix alphabetization for libquadmath.
8006
8007 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
8008
8009 * config/avr/avr-mcus.def: Add device definitions.
8010 * doc/avr-mmcu.texi: Corresponding changes.
8011 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
8012 device prefix.
8013 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
8014 from leaking into cc1.
8015
8016 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
8017
8018 PR target/103722
8019 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
8020 is special) for various scenarios.
8021
8022 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
8023
8024 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
8025 describing this macro.
8026
8027 2022-05-27 Richard Biener <rguenther@suse.de>
8028
8029 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
8030
8031 2022-05-27 Martin Jambor <mjambor@suse.cz>
8032
8033 PR ipa/105639
8034 * ipa-prop.cc (propagate_controlled_uses): Check type of the
8035 constant before adding a LOAD reference.
8036
8037 2022-05-27 Jakub Jelinek <jakub@redhat.com>
8038
8039 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
8040 to OMP_CLAUSE_ENTER.
8041 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
8042 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
8043 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
8044 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
8045 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
8046 "to" instead of "enter".
8047 * tree-nested.cc (convert_nonlocal_omp_clauses,
8048 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
8049 OMP_CLAUSE_TO_DECLARE.
8050
8051 2022-05-27 Richard Biener <rguenther@suse.de>
8052
8053 PR tree-optimization/105726
8054 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
8055 Constrain array-of-flexarray case more.
8056
8057 2022-05-27 Jakub Jelinek <jakub@redhat.com>
8058
8059 PR sanitizer/105729
8060 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
8061 to (X &) z + w if -fsanitize=null during GENERIC folding.
8062
8063 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
8064
8065 * match.pd (match_zero_one_valued_p): New predicate.
8066 (mult @0 @1): Use zero_one_valued_p for optimization to the
8067 expression "bit_and @0 @1".
8068 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
8069 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
8070 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
8071 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
8072 Remove three redundant transforms obsoleted by the three above.
8073
8074 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
8075
8076 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
8077 to split a combined "and;cmp" sequence into "not;test".
8078
8079 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8080
8081 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
8082 (bswapsi2_internal): Revise the template and condition, and add
8083 detection code for preceding the same insn in order to omit a
8084 "SSAI 8" instruction of the latter.
8085 (bswapdi2): Suppress built-in insn expansion with the corresponding
8086 library call when optimizing for size.
8087
8088 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8089
8090 * config/xtensa/xtensa-protos.h
8091 (xtensa_expand_block_set_unrolled_loop,
8092 xtensa_expand_block_set_small_loop): New prototypes.
8093 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
8094 xtensa_expand_block_set_unrolled_loop,
8095 xtensa_expand_block_set_small_loop): New functions.
8096 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
8097 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
8098
8099 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8100
8101 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
8102 Make instruction counting more accurate, and simplify emitting insns.
8103
8104 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8105
8106 * config/xtensa/constraints.md (M, O): Use the macro.
8107 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
8108 sext_fldsz_operand): Ditto.
8109 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
8110 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
8111 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
8112 xtensa_expand_prologue): Ditto.
8113 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
8114
8115 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8116
8117 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
8118 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
8119 Ditto.
8120
8121 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
8122
8123 * gimple-range-cache.cc: Adjust comments.
8124 * gimple-range-infer.cc: Adjust comments.
8125 * gimple-range-infer.h: Adjust comments.
8126 * gimple-range.cc: Adjust comments.
8127
8128 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
8129
8130 * Makefile.in (OBJS): Use gimple-range-infer.o.
8131 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
8132 (ranger_cache::range_from_dom): Rename var side_effect to infer.
8133 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
8134 * gimple-range-cache.h: Include gimple-range-infer.h.
8135 (class ranger_cache): Adjust prototypes, use infer_range_manager.
8136 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
8137 (gimple_infer_range::*): Rename from stmt_side_effects.
8138 (infer_range_manager::*): Rename from side_effect_manager.
8139 * gimple-range-side-effect.cc: Rename.
8140 * gimple-range-side-effect.h: Rename.
8141 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
8142 (class gimple_infer_range): Rename from stmt_side_effects.
8143 (class infer_range_manager): Rename from side_effect_manager.
8144 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
8145 from register_side_effects.
8146 * gimple-range.h (register_inferred_ranges): Adjust prototype.
8147 * range-op.h: Adjust comment.
8148 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
8149 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
8150
8151 2022-05-25 Simon Cook <simon.cook@embecosm.com>
8152
8153 * config/riscv/arch-canonicalize: Only add mafd extension if
8154 base was rv32/rv64g.
8155
8156 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
8157
8158 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
8159
8160 2022-05-25 Jakub Jelinek <jakub@redhat.com>
8161
8162 PR sanitizer/105714
8163 * asan.cc (has_stmt_been_instrumented_p): For assignments which
8164 are both stores and loads, return true only if both destination
8165 and source have been instrumented.
8166
8167 2022-05-25 Martin Liska <mliska@suse.cz>
8168 Richard Biener <rguenther@suse.de>
8169
8170 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
8171 * params.opt (max-unswitch-level): Remove.
8172 * doc/invoke.texi (max-unswitch-level): Likewise.
8173 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
8174 gimplified expressions.
8175 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
8176 (tree_may_unswitch_on): Rename to ...
8177 (find_unswitching_predicates_for_bb): ... this and handle
8178 switch statements.
8179 (get_predicates_for_bb): Likewise.
8180 (set_predicates_for_bb): Likewise.
8181 (init_loop_unswitch_info): Likewise.
8182 (tree_ssa_unswitch_loops): Prepare stuff before calling
8183 tree_unswitch_single_loop.
8184 (tree_unswitch_single_loop): Rework the function using
8185 pre-computed predicates and with a per original loop cost model.
8186 (merge_last): New.
8187 (add_predicate_to_path): Likewise.
8188 (find_range_for_lhs): Likewise.
8189 (simplify_using_entry_checks): Rename to ...
8190 (evaluate_control_stmt_using_entry_checks): ... this, handle
8191 switch statements and improve simplifications using ranger.
8192 (simplify_loop_version): Rework using
8193 evaluate_control_stmt_using_entry_checks.
8194 (evaluate_bbs): New.
8195 (evaluate_loop_insns_for_predicate): Likewise.
8196 (tree_unswitch_loop): Adjust to allow switch statements and
8197 pass in the edge to unswitch.
8198 (clean_up_after_unswitching): New.
8199 (pass_tree_unswitch::execute): Pass down fun.
8200
8201 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
8202
8203 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
8204 counts for the epilog loop.
8205
8206 2022-05-24 Martin Sebor <msebor@redhat.com>
8207 Richard Biener <rguenther@suse.de>
8208
8209 PR middle-end/105604
8210 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
8211 (get_origin_and_offset_r): Remove null handling. Handle variable array
8212 sizes.
8213 (get_origin_and_offset): Handle null argument here. Simplify.
8214 (alias_offset): Update comment.
8215 * pointer-query.cc (field_at_offset): Update comment. Handle members
8216 of variable-length types.
8217
8218 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
8219
8220 * target.def (vec_perm_const): Define new parameter op_mode and
8221 update doc.
8222 * doc/tm.texi: Regenerate.
8223 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
8224 vec_perm_const hook to add new parameter op_mode and return false
8225 if result and operand modes do not match.
8226 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
8227 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
8228 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
8229 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
8230 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
8231 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
8232 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
8233 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
8234 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
8235 prototype.
8236 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
8237 (ashrv2di3): Likewise.
8238 * optabs.cc (expand_vec_perm_const): Likewise.
8239 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
8240 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
8241 op_mode and pass it to vec_perm_const hook.
8242 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
8243 * match.pd (vec_perm X Y CST): Likewise.
8244 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
8245 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
8246 (vect_grouped_load_supported): Likewise.
8247 (vect_shift_permute_load_chain): Likewise.
8248 * tree-vect-generic.cc (lower_vec_perm): Likewise.
8249 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
8250 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
8251 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
8252 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
8253 (vect_transform_slp_perm_load): Likewise.
8254 (vectorizable_slp_permutation): Likewise.
8255 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
8256 (vectorizable_bswap): Likewise.
8257 (scan_store_can_perm_p): Likewise.
8258 (vect_gen_perm_mask_checked): Likewise.
8259
8260 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
8261
8262 PR target/104816
8263 * config/i386/i386.opt: Remove Undocumented.
8264 * doc/invoke.texi: Document -mcet-switch.
8265
8266 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
8267
8268 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
8269 * config/gcn/gcn-opts.h (enum gcn_isa): New.
8270 (TARGET_GCN3): Use enum gcn_isa.
8271 (TARGET_GCN3_PLUS): Likewise.
8272 (TARGET_GCN5): Likewise.
8273 (TARGET_GCN5_PLUS): Likewise.
8274 (TARGET_CDNA1): New.
8275 (TARGET_CDNA1_PLUS): New.
8276 (TARGET_CDNA2): New.
8277 (TARGET_CDNA2_PLUS): New.
8278 (TARGET_M0_LDS_LIMIT): New.
8279 (TARGET_PACKED_WORK_ITEMS): New.
8280 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
8281 (gcn_option_override): Recognise CDNA ISA variants.
8282 (gcn_omp_device_kind_arch_isa): Support gfx90a.
8283 (gcn_expand_prologue): Make m0 init optional.
8284 Add support for packed work items.
8285 (output_file_start): Support gfx90a.
8286 (gcn_hsa_declare_function_name): Support gfx90a metadata.
8287 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
8288 __CDNA2__.
8289 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
8290 (<su>mulsi3_highpart_imm): Likewise.
8291 (<su>mulsidi3): Likewise.
8292 (<su>mulsidi3_imm): Likewise.
8293 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
8294 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
8295 (main): Support gfx90a.
8296 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
8297 * config/gcn/t-omp-device: Add gfx90a isa.
8298
8299 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
8300
8301 * config.in: Regenerate.
8302 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
8303 (X_900): Delete.
8304 (X_906): Delete.
8305 (X_908): Delete.
8306 (S_FIJI): Delete.
8307 (S_900): Delete.
8308 (S_906): Delete.
8309 (S_908): Delete.
8310 (NO_XNACK): New macro.
8311 (NO_SRAM_ECC): New macro.
8312 (SRAMOPT): Keep only v4 variant.
8313 (HSACO3_SELECT_OPT): Delete.
8314 (DRIVER_SELF_SPECS): Delete.
8315 (ASM_SPEC): Remove LLVM 9 support.
8316 * config/gcn/gcn-valu.md
8317 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
8318 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
8319 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
8320 (print_operand_address): Remove assembler bug workaround.
8321 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
8322 (EF_AMDGPU_SRAM_ECC_V3): Delete.
8323 (SET_XNACK_ON): Delete v3 variants.
8324 (SET_XNACK_OFF): Delete v3 variants.
8325 (TEST_XNACK): Delete v3 variants.
8326 (SET_SRAM_ECC_ON): Delete v3 variants.
8327 (SET_SRAM_ECC_ANY): Delete v3 variants.
8328 (SET_SRAM_ECC_OFF): Delete v3 variants.
8329 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
8330 (TEST_SRAM_ECC_ANY): Delete v3 variants.
8331 (TEST_SRAM_ECC_ON): Delete v3 variants.
8332 (copy_early_debug_info): Remove v3 support.
8333 (main): Remove v3 support.
8334 * configure: Regenerate.
8335 * configure.ac: Replace all GCN feature checks with a version check.
8336
8337 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
8338
8339 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
8340 i.e. a double word negation of a zero extended operand, to
8341 neg;sbb.
8342
8343 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
8344
8345 PR tree-optimization/105668
8346 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
8347 V1TImode, just like V2DImode.
8348 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
8349 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
8350 (vcond_mask_v2div2di): Delete.
8351 (vcond_mask_v1tiv1ti): New define_expand.
8352
8353 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
8354
8355 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
8356 to strncmp for strings of length one.
8357
8358 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
8359
8360 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
8361 prefetch instructions.
8362 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
8363 Extensions.
8364 (RISCV_ATYPE_SI): New.
8365 (RISCV_ATYPE_DI): New.
8366 * config/riscv/riscv-ftypes.def (0): New.
8367 (1): New.
8368 * config/riscv/riscv.md (riscv_clean_<mode>): New.
8369 (riscv_flush_<mode>): New.
8370 (riscv_inval_<mode>): New.
8371 (riscv_zero_<mode>): New.
8372 (prefetch): New.
8373 (riscv_prefetchi_<mode>): New.
8374 * config/riscv/riscv-cmo.def: New file.
8375
8376 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
8377
8378 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
8379 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
8380 (MASK_ZICBOM): New.
8381 (MASK_ZICBOP): New.
8382 (TARGET_ZICBOZ): New.
8383 (TARGET_ZICBOM): New.
8384 (TARGET_ZICBOP): New.
8385 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
8386
8387 2022-05-24 David Malcolm <dmalcolm@redhat.com>
8388
8389 * tree-vect-slp-patterns.cc: Add "final" and "override" to
8390 vect_pattern::build impls as appropriate.
8391
8392 2022-05-24 David Malcolm <dmalcolm@redhat.com>
8393
8394 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
8395 implementations, removing redundant "virtual" as appropriate.
8396 * ipa-fnsummary.h: Likewise.
8397 * ipa-modref.cc: Likewise.
8398 * ipa-param-manipulation.cc: Likewise.
8399 * ipa-profile.cc: Likewise.
8400 * ipa-prop.h: Likewise.
8401 * ipa-pure-const.cc: Likewise.
8402 * ipa-reference.cc: Likewise.
8403 * ipa-sra.cc: Likewise.
8404 * symbol-summary.h: Likewise.
8405 * symtab-thunks.cc: Likewise.
8406
8407 2022-05-24 Martin Liska <mliska@suse.cz>
8408
8409 Revert:
8410 2022-05-24 Martin Liska <mliska@suse.cz>
8411
8412 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
8413 warning.
8414
8415 2022-05-24 Martin Liska <mliska@suse.cz>
8416
8417 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
8418 warning.
8419
8420 2022-05-24 Bruno Haible <bruno@clisp.org>
8421
8422 PR other/105527
8423 * doc/install.texi (Configuration): Add more details about --with-zstd.
8424 Document --with-zstd-include and --with-zstd-lib
8425
8426 2022-05-24 Richard Biener <rguenther@suse.de>
8427
8428 PR middle-end/105711
8429 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
8430 and use it.
8431 (extract_bit_field_1): Pass down the mode of op0 to
8432 extract_bit_field_as_subreg.
8433
8434 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
8435
8436 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
8437 fmv_cost.
8438 (rocket_tune_info): Add default fmv_cost 8.
8439 (sifive_7_tune_info): Ditto.
8440 (thead_c906_tune_info): Ditto.
8441 (optimize_size_tune_info): Ditto.
8442 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
8443
8444 2022-05-24 Jakub Jelinek <jakub@redhat.com>
8445
8446 PR c/105378
8447 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
8448 builtin.
8449 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
8450 clause but no depend clauses.
8451 * omp-expand.cc (expand_taskwait_call): Use
8452 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
8453 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
8454
8455 2022-05-24 Richard Biener <rguenther@suse.de>
8456
8457 PR tree-optimization/100221
8458 * tree-ssa-dse.cc (contains_phi_arg): New function.
8459 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
8460
8461 2022-05-24 Richard Biener <rguenther@suse.de>
8462
8463 PR tree-optimization/105629
8464 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
8465 a sign-extending conversion.
8466
8467 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
8468
8469 PR target/105627
8470 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
8471 be a debug insn.
8472 (union_uses): Skip debug use_insn.
8473
8474 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
8475
8476 * config/riscv/predicates.md (const_0_operand): Remove
8477 const_double.
8478 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
8479 CONST_DOUBLE.
8480 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
8481
8482 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
8483
8484 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
8485 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
8486 (cpu_indicator_init): Handle Zhaoxin processors.
8487 * common/config/i386/i386-common.cc: Add lujiazui.
8488 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
8489 VENDOR_ZHAOXIN.
8490 (enum processor_types): Add ZHAOXIN_FAM7H.
8491 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
8492 * config.gcc: Add lujiazui.
8493 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
8494 Signatures for zhaoxin
8495 (signature_SHANGHAI_ecx): Ditto.
8496 (signature_SHANGHAI_edx): Ditto.
8497 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
8498 -march=native recognize lujiazui processors.
8499 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
8500 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
8501 * config/i386/i386.h (enum processor_type): Ditto.
8502 * config/i386/i386.md: Add lujiazui.
8503 * config/i386/x86-tune-costs.h (struct processor_costs): Add
8504 lujiazui costs.
8505 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
8506 (ix86_adjust_cost): Ditto.
8507 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
8508 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
8509 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
8510 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
8511 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
8512 (X86_TUNE_MOVX): Ditto.
8513 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
8514 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
8515 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
8516 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
8517 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
8518 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
8519 (X86_TUNE_USE_LEAVE): Ditto.
8520 (X86_TUNE_PUSH_MEMORY): Ditto.
8521 (X86_TUNE_LCP_STALL): Ditto.
8522 (X86_TUNE_USE_INCDEC): Ditto.
8523 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
8524 (X86_TUNE_OPT_AGU): Ditto.
8525 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
8526 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
8527 (X86_TUNE_USE_SAHF): Ditto.
8528 (X86_TUNE_USE_BT): Ditto.
8529 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
8530 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
8531 (X86_TUNE_AVOID_MFENCE): Ditto.
8532 (X86_TUNE_EXPAND_ABS): Ditto.
8533 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
8534 (X86_TUNE_USE_FFREEP): Ditto.
8535 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
8536 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
8537 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
8538 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
8539 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
8540 * doc/extend.texi: Add details about lujiazui.
8541 * doc/invoke.texi: Add details about lujiazui.
8542 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
8543
8544 2022-05-23 Martin Liska <mliska@suse.cz>
8545
8546 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
8547
8548 2022-05-23 Richard Biener <rguenther@suse.de>
8549
8550 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
8551 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
8552
8553 2022-05-23 Richard Biener <rguenther@suse.de>
8554
8555 * gimple-expr.cc (is_gimple_condexpr): Remove.
8556 * gimple-expr.h (is_gimple_condexpr): Likewise.
8557 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
8558 * tree-if-conv.cc (set_bb_predicate): Likewie.
8559 (add_to_predicate_list): Likewise.
8560 (gen_phi_arg_condition): Likewise.
8561 (predicate_scalar_phi): Likewise.
8562 (predicate_statements): Likewise.
8563
8564 2022-05-23 Richard Biener <rguenther@suse.de>
8565
8566 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
8567 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
8568 as is_gimple_val.
8569 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
8570 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
8571 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
8572 Build the condition of the COND_EXPR separately.
8573 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
8574 * tree-vect-generic.cc (expand_vector_condition): Likewise.
8575 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
8576 Likewise.
8577 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
8578 * tree-vect-patterns.cc: Add comment indicating we are
8579 building invalid COND_EXPRs and why.
8580 * omp-expand.cc (expand_omp_simd): Gimplify the condition
8581 to the COND_EXPR separately.
8582 (expand_omp_atomic_cas): Note part that should be unreachable
8583 now.
8584 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
8585 condition for valid replacements.
8586 * tree-if-conv.cc (predicate_bbs): Simulate previous
8587 re-folding of the condition in folded COND_EXPRs which
8588 is necessary because of unfolded GIMPLE_CONDs in the IL
8589 as in for example gcc.dg/fold-bopcond-1.c.
8590 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
8591 Handle that the comparison is now in the def stmt of
8592 the select operand. Required by gcc.dg/pr104526.c.
8593
8594 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
8595
8596 PR fortran/104949
8597 * langhooks-def.h (lhd_omp_array_size): New.
8598 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
8599 (LANG_HOOKS_DECLS): Add it.
8600 * langhooks.cc (lhd_omp_array_size): New.
8601 * langhooks.h (struct lang_hooks_for_decls): Add hook.
8602 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
8603 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
8604
8605 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
8606
8607 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
8608 XOR/IOR case. Account for two instructions for double-word
8609 operations. In case of vector pandn, account for single
8610 instruction. Likewise for integer andn with TARGET_BMI.
8611 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
8612 <case NEG>: Double-word negation requires 3 instructions.
8613
8614 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
8615
8616 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
8617 Fix "K" extension prefix to be placed before "J".
8618 * config/riscv/arch-canonicalize: Likewise.
8619
8620 2022-05-23 liuhongt <hongtao.liu@intel.com>
8621
8622 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
8623 <-> mask cost from 5 to 6.
8624 (icelake_cost): Ditto.
8625
8626 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
8627
8628 * config/aarch64/aarch64.md
8629 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
8630 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
8631 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
8632 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
8633 (one_cmpl_<optab><mode>2): Likewise.
8634 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
8635 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
8636 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
8637 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
8638 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
8639 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
8640 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
8641 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
8642 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
8643 (rolsi3_insn_uxtw): New pattern.
8644 * config/aarch64/iterators.md (SHIFT): Add rotate left.
8645 (SHIFT_no_rotate): Add new iterator.
8646 (SHIFT:shift): Print rotate left as ror.
8647 (is_rotl): Add test for left rotate.
8648
8649 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
8650
8651 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
8652 processing. Add support for architectural extensions.
8653 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
8654 AARCH64_CPU_DEFAULT_FLAGS.
8655 (TARGET_CPU_NBITS): Remove.
8656 (TARGET_CPU_MASK): Remove.
8657 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
8658 (get_tune_cpu): Assert CPU is always valid.
8659 (get_arch): Assert architecture is always valid.
8660 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
8661 (aarch64_option_restore): Remove unnecessary checks on tune.
8662
8663 2022-05-20 David Malcolm <dmalcolm@redhat.com>
8664
8665 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
8666 "FINAL" and "OVERRIDE" with "final" and "override".
8667 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
8668 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
8669 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
8670 * diagnostic-path.h: Likewise.
8671 * digraph.cc: Likewise.
8672 * gcc-rich-location.h: Likewise.
8673 * gimple-array-bounds.cc: Likewise.
8674 * gimple-loop-versioning.cc: Likewise.
8675 * gimple-range-cache.cc: Likewise.
8676 * gimple-range-cache.h: Likewise.
8677 * gimple-range-fold.cc: Likewise.
8678 * gimple-range-fold.h: Likewise.
8679 * gimple-range-tests.cc: Likewise.
8680 * gimple-range.h: Likewise.
8681 * gimple-ssa-evrp.cc: Likewise.
8682 * input.cc: Likewise.
8683 * json.h: Likewise.
8684 * read-rtl-function.cc: Likewise.
8685 * tree-complex.cc: Likewise.
8686 * tree-diagnostic-path.cc: Likewise.
8687 * tree-ssa-ccp.cc: Likewise.
8688 * tree-ssa-copy.cc: Likewise.
8689 * tree-vrp.cc: Likewise.
8690 * value-query.h: Likewise.
8691 * vr-values.h: Likewise.
8692
8693 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
8694
8695 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
8696 target_memcpy_rect_async to omp_runtime_apis array.
8697
8698 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
8699
8700 * doc/sourcebuild.texi (Decimal floating point attributes): Document
8701 dfp_bid effective-target.
8702
8703 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
8704
8705 * config/aarch64/aarch64.cc
8706 (aarch64_split_128bit_move): Handle DFP modes.
8707 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
8708 (aarch64_classify_address): Likewise.
8709 (aarch64_legitimize_address_displacement): Likewise.
8710 (aarch64_reinterpret_float_as_int): Likewise.
8711 (aarch64_float_const_zero_rtx_p): Likewise.
8712 (aarch64_can_const_movi_rtx_p): Likewise.
8713 (aarch64_anchor_offset): Likewise.
8714 (aarch64_secondary_reload): Likewise.
8715 (aarch64_rtx_costs): Likewise.
8716 (aarch64_legitimate_constant_p): Likewise.
8717 (aarch64_gimplify_va_arg_expr): Likewise.
8718 (aapcs_vfp_sub_candidate): Likewise.
8719 (aarch64_vfp_is_call_or_return_candidate): Likewise.
8720 (aarch64_output_scalar_simd_mov_immediate): Likewise.
8721 (aarch64_gen_adjusted_ldpstp): Likewise.
8722 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
8723 * config/aarch64/aarch64.md
8724 (movsf_aarch64): Use SFD iterator and rename into
8725 mov<mode>_aarch64.
8726 (movdf_aarch64): Use DFD iterator and rename into
8727 mov<mode>_aarch64.
8728 (movtf_aarch64): Use TFD iterator and rename into
8729 mov<mode>_aarch64.
8730 (split pattern for move TF mode): Use TFD iterator.
8731 * config/aarch64/iterators.md
8732 (GPF_TF_F16_MOV): Add DFP modes.
8733 (SFD, DFD, TFD): New iterators.
8734 (GPF_TF): Add DFP modes.
8735 (TX, DX, DX2): Likewise.
8736
8737 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
8738
8739 * configure: Regenerate.
8740
8741 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
8742
8743 PR middle-end/98865
8744 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
8745 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
8746 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
8747
8748 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
8749
8750 * config/rs6000/rs6000-builtins.def: Rephrase
8751 to remove RS6000_BTC_SPECIAL from comment.
8752 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
8753 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
8754 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
8755 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
8756 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
8757 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
8758 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
8759 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
8760 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
8761 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
8762 RS6000_BTM_ALWAYS): Delete.
8763
8764 2022-05-19 Richard Biener <rguenther@suse.de>
8765
8766 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
8767 computation of the new value.
8768
8769 2022-05-19 Richard Biener <rguenther@suse.de>
8770
8771 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
8772 (add_to_value): Use get_expression_id.
8773 (bitmap_insert_into_set): Likewise.
8774 (bitmap_value_insert_into_set): Likewise.
8775
8776 2022-05-19 David Malcolm <dmalcolm@redhat.com>
8777
8778 * doc/invoke.texi (-fanalyzer-checker=): Add
8779 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
8780 the list of analyzer warnings disabled by
8781 -fanalyzer-checker=taint.
8782
8783 2022-05-19 Jakub Jelinek <jakub@redhat.com>
8784
8785 PR debug/105630
8786 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
8787 global vars without symtab node even when they have DECL_RTL
8788 set.
8789
8790 2022-05-19 Jakub Jelinek <jakub@redhat.com>
8791
8792 PR c/105635
8793 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
8794 doesn't have pointer or reference type.
8795
8796 2022-05-18 Marek Polacek <polacek@redhat.com>
8797
8798 PR c/105131
8799 * doc/invoke.texi: Document -Wenum-int-mismatch.
8800
8801 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
8802
8803 * config/i386/gnu-user-common.h (defined): Only define
8804 TARGET_CAN_SPLIT_STACK for glibc targets.
8805 * config/i386/gnu.h (defined): Ditto.
8806
8807 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
8808
8809 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
8810 is wider than word_mode, a multiplication costs three word_mode
8811 multiplications and two word_mode additions.
8812
8813 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
8814
8815 * config/i386/i386.md (define_split): Split *andsi_1
8816 and *andn_si_ccno after reload with -Oz.
8817
8818 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
8819
8820 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
8821 Output reason for failure to dump file.
8822 (scop_detection::harmful_loop_in_region): Likewise.
8823 (scop_detection::graphite_can_represent_expr): Likewise.
8824 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
8825 (scop_detection::stmt_simple_for_scop_p): Likewise.
8826 (print_sese_loop_numbers): New function.
8827 (scop_detection::add_scop): Use from here.
8828
8829 2022-05-18 liuhongt <hongtao.liu@intel.com>
8830
8831 PR middle-end/103462
8832 * match.pd (bitwise_induction_p): New match.
8833 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
8834 Declare.
8835 (analyze_and_compute_bitwise_induction_effect): New function.
8836 (enum bit_op_kind): New enum.
8837 (final_value_replacement_loop): Enhanced to handle bitwise
8838 induction.
8839
8840 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
8841
8842 PR target/95737
8843 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
8844
8845 2022-05-18 liuhongt <hongtao.liu@intel.com>
8846
8847 PR target/104375
8848 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
8849 define_insn.
8850
8851 2022-05-18 liuhongt <hongtao.liu@intel.com>
8852
8853 PR target/104610
8854 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
8855 for QImode when code is EQ or NE.
8856 * config/i386/i386.md (cbranchoi4): New expander.
8857
8858 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
8859 Segher Boessenkool <segher@kernel.crashing.org>
8860
8861 PR target/105556
8862 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
8863 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
8864 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
8865 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
8866 Update other operands accordingly.
8867
8868 2022-05-17 Marek Polacek <polacek@redhat.com>
8869
8870 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
8871
8872 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
8873
8874 PR target/99685
8875 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
8876 register count when not splitting IEEE 128-bit Complex.
8877
8878 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
8879
8880 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
8881 target inside target if inner is reverse offload.
8882
8883 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
8884
8885 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
8886 * config/nvptx/mkoffload.cc (process): Likewise.
8887
8888 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
8889
8890 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
8891 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
8892 (non_null_ref::~non_null_ref): Delete.
8893 (non_null_ref::set_nonnull): Delete.
8894 (non_null_ref::non_null_deref_p): Delete.
8895 (non_null_ref::process_name): Delete.
8896 (ranger_cache::ranger_cache): Initialize m_exit object.
8897 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
8898 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
8899 (ranger_cache::update_to_nonnull): Delete.
8900 (non_null_loadstore): Delete.
8901 (ranger_cache::block_apply_nonnull): Delete.
8902 (ranger_cache::apply_side_effects): New.
8903 * gimple-range-cache.h (class non_null_ref): Delete.
8904 (non_null_ref::adjust_range): Delete.
8905 (class ranger_cache): Adjust prototypes, add side effect manager.
8906 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
8907 side effect manager for queries.
8908 (path_range_query::adjust_for_non_null_uses): Ditto.
8909 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
8910 * gimple-range-side-effect.cc: New.
8911 * gimple-range-side-effect.h: New.
8912 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
8913 (gimple_ranger::range_of_expr): Check def block for override value.
8914 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
8915 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
8916 (gimple_ranger::register_side_effects): Call apply_side_effects.
8917 (enable_ranger): Update contructor.
8918 * gimple-range.h (class gimple_ranger): Update prototype.
8919 (enable_ranger): Update prototype.
8920 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
8921
8922 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
8923
8924 PR c++/105169
8925 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
8926 * varasm.cc (switch_to_comdat_section): New
8927 (handle_vtv_comdat_section): Call switch_to_comdat_section.
8928 * varasm.h: Declare switch_to_comdat_section.
8929
8930 2022-05-17 Richard Biener <rguenther@suse.de>
8931
8932 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
8933 not clear bb->aux of the copied blocks.
8934
8935 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
8936
8937 PR tree-optimization/105458
8938 * value-relation.cc (path_oracle::register_relation): Merge, then check
8939 for equivalence.
8940
8941 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
8942
8943 PR target/105624
8944 Revert:
8945 * config/i386/i386.md: Remove constraints when used with
8946 const_int_operand, const0_operand, const_1_operand, constm1_operand,
8947 const8_operand, const128_operand, const248_operand, const123_operand,
8948 const2367_operand, const1248_operand, const359_operand,
8949 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
8950 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
8951 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
8952 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
8953 const_0_to_255_mul_8_operand, const_1_to_31_operand,
8954 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
8955 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
8956 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
8957 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
8958 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
8959 const_24_to_27_operand and const_28_to_31_operand.
8960 * config/i386/mmx.md: Ditto.
8961 * config/i386/sse.md: Ditto.
8962 * config/i386/subst.md: Ditto.
8963 * config/i386/sync.md: Ditto.
8964
8965 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
8966
8967 * diagnostic.cc: Don't advise to call 'abort' instead of
8968 'internal_error'.
8969 * system.h: Advise to call 'internal_error' instead of 'abort' or
8970 'fancy_abort'.
8971
8972 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
8973
8974 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
8975 a reference to a variable which does not exist.
8976 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
8977 in comment.
8978
8979 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
8980
8981 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
8982 (isl_id_for_parameter): ... this new function name.
8983 (build_scop_context): Adjust function use.
8984
8985 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
8986
8987 PR target/105602
8988 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
8989 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
8990
8991 2022-05-17 Jakub Jelinek <jakub@redhat.com>
8992
8993 * tree-core.h (enum omp_clause_depend_kind): Add
8994 OMP_CLAUSE_DEPEND_INOUTSET.
8995 * tree-pretty-print.cc (dump_omp_clause): Handle
8996 OMP_CLAUSE_DEPEND_INOUTSET.
8997 * gimplify.cc (gimplify_omp_depend): Likewise.
8998 * omp-low.cc (lower_depend_clauses): Likewise.
8999
9000 2022-05-17 Jakub Jelinek <jakub@redhat.com>
9001
9002 PR target/105613
9003 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
9004 andv4si3 only for EQ, for NE use iorv4si3 instead.
9005
9006 2022-05-17 Richard Biener <rguenther@suse.de>
9007
9008 PR tree-optimization/105618
9009 * tree-ssa-sink.cc (statement_sink_location): For virtual
9010 PHI uses ignore those defining the used virtual operand.
9011
9012 2022-05-17 Jakub Jelinek <jakub@redhat.com>
9013
9014 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
9015 hanlde -> handle. Fix up comment formatting.
9016
9017 2022-05-17 liuhongt <hongtao.liu@intel.com>
9018
9019 PR target/105033
9020 * config/i386/sse.md (*vec_concatv4si): Extend to ..
9021 (*vec_concat<mode>): .. V16QI and V8HImode.
9022 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
9023 (*vec_concatv8hi_permt2): Ditto.
9024
9025 2022-05-17 liuhongt <hongtao.liu@intel.com>
9026
9027 PR tree-optimization/105591
9028 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
9029 vec_perm_expr index.
9030
9031 2022-05-16 Jason Merrill <jason@redhat.com>
9032
9033 PR c/105492
9034 * attribs.cc (decl_attributes): Fix broken typedefs here.
9035
9036 2022-05-16 David Malcolm <dmalcolm@redhat.com>
9037
9038 PR analyzer/105103
9039 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
9040 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
9041 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
9042 -Wanalyzer-va-list-use-after-va-end.
9043
9044 2022-05-16 Richard Biener <rguenther@suse.de>
9045
9046 * gimple-match.h (gimple_build): Move code_helper overloads ...
9047 * gimple-fold.h (gimple_build): ... here.
9048 (gimple_build): Transition to new worker API. Provide
9049 overloads from sequence-based API.
9050 (gimple_convert): Likewise.
9051 (gimple_convert_to_ptrofftype): Likewise.
9052 (gimple_build_vector_from_val): Likewise.
9053 (gimple_build_vector): Likewise.
9054 (gimple_build_round_up): Likewise.
9055 * gimple-fold.cc (gimple_build_insert_seq): New helper.
9056 (gimple_build): Use it. Transition combined_fn and code_helper
9057 API parts.
9058 (gimple_convert): Transition to new worker API.
9059 (gimple_convert_to_ptrofftype): Likewise.
9060 (gimple_build_vector_from_val): Likewise.
9061 (gimple_build_vector): Likewise.
9062 (gimple_build_round_up): Likewise.
9063
9064 2022-05-16 Richard Biener <rguenther@suse.de>
9065
9066 * gimple-match.h (code_helper): Move class ...
9067 * tree.h (code_helper): ... here.
9068
9069 2022-05-16 Martin Liska <mliska@suse.cz>
9070
9071 * opts-global.cc (write_langs): Add comment.
9072
9073 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
9074
9075 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
9076 instead of a bitwise negation.
9077 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
9078
9079 2022-05-16 Martin Liska <mliska@suse.cz>
9080
9081 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
9082 (decls_mismatched_attributes): Likewise.
9083 * builtins.cc (c_strlen): Likewise.
9084 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
9085 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
9086 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
9087 (aarch64_init_simd_builtin_types): Likewise.
9088 (aarch64_init_builtin_rsqrt): Likewise.
9089 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
9090 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
9091 (arm_init_simd_builtin_types): Likewise.
9092 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
9093 (c_prefix): Likewise.
9094 (main): Likewise.
9095 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
9096 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
9097 * config/gcn/mkoffload.cc (process_obj): Likewise.
9098 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
9099 (fold_builtin_cpu): Likewise.
9100 * config/m32c/m32c.cc (PUSHM_N): Likewise.
9101 * config/nvptx/mkoffload.cc (process): Likewise.
9102 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
9103 * config/s390/s390.cc (NR_C_MODES): Likewise.
9104 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
9105 (create_insn_code_compression_table): Likewise.
9106 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
9107 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
9108 * dwarf2out.cc (ARRAY_SIZE): Likewise.
9109 * genhooks.cc (emit_documentation): Likewise.
9110 (emit_init_macros): Likewise.
9111 * gimple-ssa-sprintf.cc (format_floating): Likewise.
9112 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
9113 * godump.cc (keyword_hash_init): Likewise.
9114 * hash-table.cc (hash_table_higher_prime_index): Likewise.
9115 * input.cc (for_each_line_table_case): Likewise.
9116 * ipa-free-lang-data.cc (free_lang_data): Likewise.
9117 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
9118 * optc-save-gen.awk: Likewise.
9119 * spellcheck.cc (test_metric_conditions): Likewise.
9120 * tree-vect-slp-patterns.cc (sizeof): Likewise.
9121 (ARRAY_SIZE): Likewise.
9122 * tree.cc (build_common_tree_nodes): Likewise.
9123
9124 2022-05-16 Martin Liska <mliska@suse.cz>
9125
9126 * opts-global.cc (write_langs): Allocate at least one byte.
9127
9128 2022-05-16 Richard Biener <rguenther@suse.de>
9129
9130 * match.pd (A cmp B ? A : B -> min/max): New patterns
9131 carried over from fold_cond_expr_with_comparison.
9132
9133 2022-05-16 liuhongt <hongtao.liu@intel.com>
9134
9135 PR target/105587
9136 * config/i386/i386-expand.cc
9137 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
9138 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
9139
9140 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
9141
9142 * config/i386/i386.md: Remove constraints when used with
9143 const_int_operand, const0_operand, const_1_operand, constm1_operand,
9144 const8_operand, const128_operand, const248_operand, const123_operand,
9145 const2367_operand, const1248_operand, const359_operand,
9146 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
9147 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
9148 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
9149 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
9150 const_0_to_255_mul_8_operand, const_1_to_31_operand,
9151 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
9152 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
9153 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
9154 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
9155 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
9156 const_24_to_27_operand and const_28_to_31_operand.
9157 * config/i386/mmx.md: Ditto.
9158 * config/i386/sse.md: Ditto.
9159 * config/i386/subst.md: Ditto.
9160 * config/i386/sync.md: Ditto.
9161
9162 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
9163 Uroš Bizjak <ubizjak@gmail.com>
9164
9165 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
9166 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
9167 by a pshufd and pand.
9168 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
9169 vector equality as a V2DImode vector comparison (see above),
9170 followed by a pshufd and pand.
9171
9172 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
9173
9174 PR tree-optimization/83907
9175 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
9176 for memset with an constant char value.
9177 (handle_store): Improved handling of stores with a first byte
9178 of zero, but not storing_all_zeros_p.
9179
9180 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
9181 Manolis Tsamis <manolis.tsamis@vrull.eu>
9182
9183 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
9184 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
9185 * doc/sourcebuild.texi: add documentation for RISC-V specific
9186 test target keywords
9187
9188 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9189
9190 PR tree-optimization/105597
9191 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
9192 of the lhs and make sure it is not undefined.
9193
9194 2022-05-13 Sebastian Pop <spop@amazon.com>
9195
9196 PR target/105162
9197 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
9198 of str array.
9199 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
9200 memmodel_from_int and handle MEMMODEL_SYNC_*.
9201 (DEF0): Add __aarch64_*_sync functions.
9202
9203 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9204
9205 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
9206 enumerated values.
9207 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
9208 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
9209 new VREL enumerated values.
9210 (*::lhs_op2_relation): Ditto.
9211 (*::op1_op2_relation): Ditto.
9212 (*::fold_range): Use new VREL enumerated values.
9213 (minus_op1_op2_relation_effect): Ditto.
9214 (range_relational_tests): Ditto.
9215 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
9216 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
9217 relation_kind.
9218 (*_op1_op2_relation): Return relation_kind.
9219 (relop_early_resolve): Use VREL_UNDEFINED.
9220 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
9221 * value-relation.cc (VREL_LAST): Change enumerated value.
9222 (vrel_range_assert): Delete.
9223 (print_relation): Remove range assert.
9224 (rr_negate_table): Adjust table to use new enumerated values..
9225 (relation_negate): Remove range assert.
9226 (rr_swap_table): Adjust.
9227 (relation_swap): Remove range assert.
9228 (rr_intersect_table): Adjust.
9229 (relation_intersect): Remove range assert.
9230 (rr_union_table): Adjust.
9231 (relation_union): Remove range assert.
9232 (rr_transitive_table): Adjust.
9233 (relation_transitive): Remove range assert.
9234 (equiv_oracle::query_relation): Use new VREL enumerated values.
9235 (equiv_oracle::register_relation): Ditto.
9236 (relation_oracle::register_stmt): Ditto.
9237 (dom_oracle::set_one_relation): Ditto.
9238 (dom_oracle::register_transitives): Ditto.
9239 (dom_oracle::query_relation): Ditto.
9240 (path_oracle::register_relation): Ditto.
9241 (path_oracle::query_relation): Ditto.
9242 * value-relation.h (enum relation_kind_t): New relation_kind.
9243 (*_op1_op2_relation): Adjust prototypes.
9244
9245 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9246
9247 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
9248 * value-range.cc (irange::legacy_verbose_union_): Add return value.
9249 (irange::irange_single_pair_union): New.
9250 (irange::irange_union): Add return value.
9251 * value-range.h (class irange): Adjust prototypes.
9252
9253 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9254
9255 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
9256 (irange::irange_contains_p): New.
9257 (irange::irange_intersect): Add return value.
9258 * value-range.h (class irange): Adjust prototypes.
9259
9260 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9261
9262 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
9263 had_global value instead.
9264
9265 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9266
9267 PR tree-optimization/104547
9268 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
9269 the op1/op2 relation to the relation call.
9270 * range-op.cc (*::lhs_op1_relation): Add param.
9271 (*::lhs_op2_relation): Ditto.
9272 (operator_minus::lhs_op1_relation): New.
9273 (range_relational_tests): Add relation param.
9274 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
9275
9276 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9277
9278 * gimple-range.cc (gimple_ranger::register_side_effects): First check
9279 if the DEF should be exported as a global.
9280 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
9281 which will export globals.
9282 (execute_ranger_vrp): Remove call to export_global_ranges.
9283
9284 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9285
9286 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
9287
9288 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
9289
9290 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
9291 worlist truncated.
9292 (ranger_cache::entry_range): Add rfd_mode parameter.
9293 (ranger_cache::exit_range): Ditto.
9294 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
9295 (ranger_cache::range_of_expr): Adjust call to entry_range.
9296 (ranger_cache::range_on_edge): Split to edge_range and call.
9297 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
9298 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
9299 mutiple predecessors.
9300 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
9301 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
9302 prototypes.
9303
9304 2022-05-13 Alexandre Oliva <oliva@adacore.com>
9305
9306 * gimple-harden-conditionals.cc: Include sbitmap.h.
9307 (pass_harden_conditional_branches::execute): Skip new blocks.
9308 (pass_harden_compares::execute): Likewise.
9309
9310 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
9311
9312 PR target/105463
9313 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
9314 mve_memory_operand.
9315 (*movmisalign<mode>_mve_load): Likewise.
9316 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
9317 form...
9318 (@movmisalign<mode>): ... thus. Use generic predicates and then
9319 rework operands if they are not valid. For MVE rework to a
9320 narrower element size if the alignment is not high enough.
9321
9322 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
9323
9324 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
9325 when there is no write-back. Fix use when strict is true.
9326
9327 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
9328
9329 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
9330 definition.
9331
9332 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
9333
9334 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
9335 extzvsi_internal): Rename from extv, extv_internal, extzv and
9336 extzv_internal, respectively.
9337
9338 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
9339
9340 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
9341 is the same on the LHS and RHS before rewriting one with the model
9342 of the other.
9343
9344 2022-05-13 Richard Biener <rguenther@suse.de>
9345
9346 * gimple-fold.cc (gimple_build): Adjust for new
9347 main API.
9348 * gimple-fold.h (gimple_build): New main APIs with
9349 iterator, insert direction and iterator update.
9350 (gimple_build): New forwarder template.
9351 (clear_padding_type_may_have_padding_p): Remove.
9352 (clear_type_padding_in_mask): Likewise.
9353 (arith_overflowed_p): Likewise.
9354 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
9355 (clear_type_padding_in_mask): Likewise.
9356 (arith_overflowed_p): Likewise.
9357 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
9358 (gimplify_build2): Likewise.
9359 (gimplify_build1): Likewise.
9360 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
9361 compare stmt.
9362 * gengtype.cc (open_base_files): Re-order includes.
9363 * builtins.cc: Re-order gimple-fold.h include.
9364 * calls.cc: Likewise.
9365 * cgraphbuild.cc: Likewise.
9366 * cgraphunit.cc: Likewise.
9367 * config/rs6000/rs6000-builtin.cc: Likewise.
9368 * config/rs6000/rs6000-call.cc: Likewise.
9369 * config/rs6000/rs6000.cc: Likewise.
9370 * config/s390/s390.cc: Likewise.
9371 * expr.cc: Likewise.
9372 * fold-const.cc: Likewise.
9373 * function-tests.cc: Likewise.
9374 * gimple-match-head.cc: Likewise.
9375 * gimple-range-fold.cc: Likewise.
9376 * gimple-ssa-evrp-analyze.cc: Likewise.
9377 * gimple-ssa-evrp.cc: Likewise.
9378 * gimple-ssa-sprintf.cc: Likewise.
9379 * gimple-ssa-warn-access.cc: Likewise.
9380 * gimplify.cc: Likewise.
9381 * graphite-isl-ast-to-gimple.cc: Likewise.
9382 * ipa-cp.cc: Likewise.
9383 * ipa-devirt.cc: Likewise.
9384 * ipa-prop.cc: Likewise.
9385 * omp-low.cc: Likewise.
9386 * pointer-query.cc: Likewise.
9387 * range-op.cc: Likewise.
9388 * tree-cfg.cc: Likewise.
9389 * tree-if-conv.cc: Likewise.
9390 * tree-inline.cc: Likewise.
9391 * tree-object-size.cc: Likewise.
9392 * tree-ssa-ccp.cc: Likewise.
9393 * tree-ssa-dom.cc: Likewise.
9394 * tree-ssa-forwprop.cc: Likewise.
9395 * tree-ssa-ifcombine.cc: Likewise.
9396 * tree-ssa-loop-ivcanon.cc: Likewise.
9397 * tree-ssa-math-opts.cc: Likewise.
9398 * tree-ssa-pre.cc: Likewise.
9399 * tree-ssa-propagate.cc: Likewise.
9400 * tree-ssa-reassoc.cc: Likewise.
9401 * tree-ssa-sccvn.cc: Likewise.
9402 * tree-ssa-strlen.cc: Likewise.
9403 * tree-ssa.cc: Likewise.
9404 * value-pointer-equiv.cc: Likewise.
9405 * vr-values.cc: Likewise.
9406
9407 2022-05-13 Alexandre Oliva <oliva@adacore.com>
9408
9409 PR rtl-optimization/105455
9410 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
9411 probabilities for newly-conditional edges.
9412
9413 2022-05-13 liuhongt <hongtao.liu@intel.com>
9414
9415 PR tree-optimization/102583
9416 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
9417 contiguous stride in the VEC_PERM_EXPR.
9418
9419 2022-05-12 Richard Biener <rguenther@suse.de>
9420
9421 PR rtl-optimization/105577
9422 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
9423 edges before running fast DCE via df_analyze.
9424
9425 2022-05-12 Richard Biener <rguenther@suse.de>
9426
9427 PR tree-optimization/105562
9428 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
9429 against all CLOBBER defs if there's not an obvious must-alias
9430 and we are not doing redundant store elimination.
9431 (vn_walk_cb_data::redundant_store_removal_p): New field.
9432 (vn_reference_lookup_pieces): Initialize it.
9433 (vn_reference_lookup): Add argument to specify if we are
9434 doing redundant store removal.
9435 (eliminate_dom_walker::eliminate_stmt): Specify we do.
9436 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
9437
9438 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
9439
9440 PR target/104371
9441 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
9442 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
9443 New define_split pattern.
9444
9445 2022-05-12 Jakub Jelinek <jakub@redhat.com>
9446
9447 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
9448 if null_pointer_node.
9449 (gimplify_scan_omp_clauses): Likewise.
9450 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
9451 as omp_all_memory.
9452
9453 2022-05-11 Patrick Palka <ppalka@redhat.com>
9454
9455 * tree.h (TREE_VEC_BEGIN): Define.
9456 (TREE_VEC_END): Correct 'length' member access.
9457 (class tree_vec_range): Define.
9458
9459 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
9460
9461 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
9462
9463 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
9464
9465 * config/rs6000/rs6000.md: Use d instead of <Ff>.
9466
9467 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
9468
9469 * config/rs6000/constraints.md (register_constraint "f"): Use
9470 RS6000_CONSTRAINT_d.
9471 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
9472 RS6000_CONSTRAINT_f.
9473 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
9474 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
9475 RS6000_CONSTRAINT_d.
9476
9477 2022-05-11 Richard Biener <rguenther@suse.de>
9478
9479 * gimple-fold.h (gimple_build): Use variadic template
9480 functions for the gimple_build API forwarders without
9481 location_t argument.
9482
9483 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
9484
9485 PR middle-end/70090
9486 * asan.cc (initialize_sanitizer_builtins): Register
9487 __builtin_dynamic_object_size if necessary.
9488
9489 2022-05-11 Richard Biener <rguenther@suse.de>
9490
9491 PR rtl-optimization/105559
9492 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
9493 for non-debug insns.
9494
9495 2022-05-11 Richard Biener <rguenther@suse.de>
9496
9497 * generic-match-head.cc: Include tree-eh.h.
9498 * match.pd ((cond ...) cmp X): New simplification inspired
9499 by fold_binary_op_with_conditional_arg.
9500 (eq/ne (cmp ...) true/false): Likewise.
9501
9502 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
9503
9504 * doc/install.texi: Don't document '--with-hsa-runtime',
9505 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
9506
9507 2022-05-11 Martin Liska <mliska@suse.cz>
9508
9509 PR other/105527
9510 * doc/install.texi: Document the configure option --with-zstd.
9511
9512 2022-05-11 Martin Liska <mliska@suse.cz>
9513
9514 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
9515 compute index in cpu_features2.
9516 (set_cpu_feature): Likewise.
9517 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
9518 loop for cpu_features2 and use NOP_EXPRs.
9519
9520 2022-05-11 Richard Biener <rguenther@suse.de>
9521
9522 PR bootstrap/105551
9523 * opts.cc (finish_options): Also disable var-tracking if
9524 !DWARF2_DEBUGGING_INFO.
9525
9526 2022-05-11 liuhongt <hongtao.liu@intel.com>
9527
9528 PR target/104915
9529 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
9530 pre_reload define_insn_and_split.
9531 (*vec_setv2di_0_zero_extendhi_1): Ditto.
9532 (*vec_set<mode>_0_zero_extendsi): Ditto.
9533 (*vec_setv2di_0_zero_extendsi_1): Ditto.
9534 (ssewvecmode): New mode attr.
9535 (ssewvecmodelower): Ditto.
9536 (ssepackmodelower): Ditto.
9537
9538 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
9539
9540 * config/rs6000/constraints.md (register constraint v): Use
9541 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
9542
9543 2022-05-11 Martin Liska <mliska@suse.cz>
9544
9545 PR target/105355
9546 * config/riscv/riscv.opt: Remove Separate from
9547 -msmall-data-limit=.
9548 * optc-gen.awk: Report error for the described situation.
9549 * gcc.cc: Use Separate syntax.
9550 * opts.cc (gen_command_line_string): Change option name.
9551
9552 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
9553
9554 PR target/105414
9555 * match.pd (minmax): Skip constant folding for fmin/fmax when both
9556 arguments are sNaN or one is sNaN and another is NaN.
9557
9558 2022-05-10 Jakub Jelinek <jakub@redhat.com>
9559
9560 PR tree-optimization/105528
9561 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
9562 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
9563
9564 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
9565
9566 * doc/md.texi (Defining Mode Iterators): Correct example replacement
9567 text.
9568
9569 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
9570
9571 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
9572 constants.
9573 (fmin<mode>3, fmax<mode>3): New insns.
9574
9575 2022-05-10 Richard Biener <rguenther@suse.de>
9576
9577 * tree-if-conv.cc (fold_build_cond_expr): Use
9578 match-and-simplify to simplify the condition.
9579 (ifcvt_follow_ssa_use_edges): Remove.
9580 (predicate_scalar_phi): Use follow_all_ssa_edges.
9581
9582 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
9583
9584 PR middle-end/100400
9585 * omp-oacc-kernels-decompose.cc
9586 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
9587 call 'internal_error'.
9588
9589 2022-05-10 Richard Biener <rguenther@suse.de>
9590
9591 PR middle-end/105537
9592 * toplev.cc (process_options): Move flag_var_tracking
9593 handling ...
9594 * opts.cc (finish_options): ... here.
9595
9596 2022-05-10 Martin Liska <mliska@suse.cz>
9597
9598 * basic-block.h (struct basic_block_d): Use void *
9599 instead PTR.
9600 * cfgloop.h: Likewise.
9601 * cgraph.h: Likewise.
9602 * gengtype-state.cc (state_ident_by_name): Likewise.
9603 (record_type): Likewise.
9604 (read_state_already_seen_type): Likewise.
9605 * gengtype.cc (dump_type): Likewise.
9606 (input_file_by_name): Likewise.
9607 (main): Likewise.
9608 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
9609 * ipa-utils.h (struct ipa_dfs_info): Likewise.
9610 * plugin.cc (htab_hash_plugin): Likewise.
9611
9612 2022-05-10 Richard Biener <rguenther@suse.de>
9613
9614 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
9615 API with !GENERATOR_FILE.
9616 * opts.cc (global_options): Poison.
9617 (global_options_set): Likewise.
9618 (finish_options): Refer to options via opts.
9619
9620 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
9621 Roger Sayle <roger@nextmovesoftware.com>
9622
9623 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
9624 alternative when optimizing for size and the immediate operand is
9625 const_0_to_127_operand.
9626 (*andqi_2_maybe_si): Likewise.
9627 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
9628
9629 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
9630
9631 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
9632 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
9633 can't be negative.
9634
9635 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
9636
9637 PR target/105292
9638 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
9639 true only for 8-byte vector modes.
9640
9641 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
9642
9643 PR middle-end/70090
9644 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
9645 (instrument_object_size): Get dynamic object size expression.
9646
9647 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
9648
9649 PR preprocessor/101168
9650 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
9651 Avoid empty identifier.
9652
9653 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
9654
9655 PR target/101891
9656 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
9657 as a generic MMX mode instead of V4HImode.
9658 (zero_all_mm_registers): Use SET to zero instead of MOV for
9659 zeroing scratch registers.
9660 (ix86_zero_call_used_regs): Likewise.
9661
9662 2022-05-09 liuhongt <hongtao.liu@intel.com>
9663
9664 PR target/105354
9665 * config/i386/i386-expand.cc
9666 (expand_vec_perm_pslldq_psrldq_por): New function.
9667 (ix86_expand_vec_perm_const_1): Try
9668 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
9669 4/5-instruction sequence.
9670
9671 2022-05-09 Martin Liška <mliska@suse.cz>
9672
9673 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
9674 * system.h (STATIC_ASSERT): Define as static_assert for C++
9675 and fallback to array index in C.
9676
9677 2022-05-09 Richard Biener <rguenther@suse.de>
9678
9679 PR tree-optimization/105517
9680 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
9681 offset can be represented in the POINTER_PLUS_EXPR IL.
9682 (vn_reference_insert): Likewise.
9683 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
9684
9685 2022-05-09 Richard Biener <rguenther@suse.de>
9686
9687 * match.pd: Remove #if GIMPLE guards around ! using patterns.
9688
9689 2022-05-09 liuhongt <hongtao.liu@intel.com>
9690
9691 PR target/105072
9692 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
9693 New define_insn.
9694 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
9695 define_insn_and_split.
9696
9697 2022-05-09 Alex Coplan <alex.coplan@arm.com>
9698
9699 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
9700 symtab state is PARSING.
9701
9702 2022-05-09 Martin Liska <mliska@suse.cz>
9703
9704 * system.h (LIKELY): Define.
9705 (UNLIKELY): Likewise.
9706 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
9707 macros.
9708 * dse.cc (set_position_unneeded): Likewise.
9709 (set_all_positions_unneeded): Likewise.
9710 (any_positions_needed_p): Likewise.
9711 (all_positions_needed_p): Likewise.
9712 * expmed.cc (flip_storage_order): Likewise.
9713 * genmatch.cc (dt_simplify::gen_1): Likewise.
9714 * ggc-common.cc (gt_pch_save): Likewise.
9715 * print-rtl.cc: Likewise.
9716 * rtl-iter.h (T>::array_type::~array_type): Likewise.
9717 (T>::next): Likewise.
9718 * rtl-ssa/internals.inl: Likewise.
9719 * rtl-ssa/member-fns.inl: Likewise.
9720 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
9721 (rtx_properties::try_to_add_dest): Likewise.
9722 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
9723 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
9724 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
9725 * sort.cc (likely): Likewise.
9726 (mergesort): Likewise.
9727 * wide-int.h (wi::eq_p): Likewise.
9728 (wi::ltu_p): Likewise.
9729 (wi::cmpu): Likewise.
9730 (wi::bit_and): Likewise.
9731 (wi::bit_and_not): Likewise.
9732 (wi::bit_or): Likewise.
9733 (wi::bit_or_not): Likewise.
9734 (wi::bit_xor): Likewise.
9735 (wi::add): Likewise.
9736 (wi::sub): Likewise.
9737
9738 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
9739
9740 * config/riscv/arch-canonicalize: Handle g correctly.
9741
9742 2022-05-07 Marek Polacek <polacek@redhat.com>
9743
9744 PR c++/101833
9745 PR c++/47634
9746 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
9747
9748 2022-05-06 Jason Merrill <jason@redhat.com>
9749
9750 * diagnostic-color.cc: Add fnname and targs color entries.
9751 * doc/invoke.texi: Document them.
9752
9753 2022-05-06 Jason Merrill <jason@redhat.com>
9754
9755 * vec.h (vec::iterate): Fix comment.
9756
9757 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
9758
9759 PR target/102059
9760 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
9761 and -mpower10-fusion options for inlining purposes.
9762
9763 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
9764
9765 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
9766
9767 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
9768
9769 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
9770 omp_runtime_apis array.
9771
9772 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
9773
9774 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
9775 (scan_sharing_clauses): Check a restriction on allocate clause.
9776
9777 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
9778
9779 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
9780 and ORDERED clause conflict errors. Add check for GRAINSIZE and
9781 NUM_TASKS on TASKLOOP.
9782
9783 2022-05-05 Martin Liska <mliska@suse.cz>
9784
9785 * genautomata.cc (create_composed_state): Remove dead code.
9786 * graphite-poly.cc (print_pdrs): Likewise.
9787 * lto-wrapper.cc (run_gcc): Likewise.
9788 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
9789 Likewise.
9790
9791 2022-05-05 Martin Liska <mliska@suse.cz>
9792
9793 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
9794 PROF_*.
9795 (gimple_gen_time_profiler): Likewise.
9796
9797 2022-05-05 Martin Liska <mliska@suse.cz>
9798
9799 * value-prof.cc (stream_out_histogram_value): Remove sanity
9800 checking.
9801
9802 2022-05-05 Richard Biener <rguenther@suse.de>
9803
9804 PR tree-optimization/104162
9805 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
9806 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
9807 becomes invariant.
9808 (vn_reference_insert): Likewise.
9809
9810 2022-05-05 Richard Biener <rguenther@suse.de>
9811
9812 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
9813 to real_value field.
9814 (tree_real_cst::value): Add real_value field.
9815 * tree.h (TREE_REAL_CST_PTR): Adjust.
9816 * tree.cc (build_real): Remove separate allocation.
9817 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
9818 Likewise.
9819
9820 2022-05-05 Richard Biener <rguenther@suse.de>
9821
9822 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
9823 divisions with undefined overflow unconditionally.
9824 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
9825 overflow to defined.
9826
9827 2022-05-05 Richard Biener <rguenther@suse.de>
9828
9829 PR tree-optimization/105484
9830 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
9831 whether the CFG changed.
9832 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
9833
9834 2022-05-05 Richard Biener <rguenther@suse.de>
9835
9836 PR tree-optimization/104595
9837 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
9838 COND_EXPR do not fail if check_bool_pattern returns false.
9839
9840 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
9841
9842 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
9843 item that is in an outer data-sharing clause.
9844
9845 2022-05-04 Richard Biener <rguenther@suse.de>
9846
9847 PR tree-optimization/104658
9848 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
9849 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
9850 type on nodes we promote.
9851 (vectorizable_bb_reduc_epilogue): Deal with externalized
9852 root.
9853 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
9854 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
9855
9856 2022-05-04 Richard Biener <rguenther@suse.de>
9857
9858 PR tree-optimization/103116
9859 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
9860 case we need peeling for gaps even though GROUP_GAP is zero.
9861
9862 2022-05-04 Martin Liska <mliska@suse.cz>
9863
9864 * gengtype-state.cc (read_a_state_token): Remove dead code.
9865 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
9866
9867 2022-05-04 Richard Biener <rguenther@suse.de>
9868
9869 * gimplify.cc (gimplify_init_constructor): First gimplify,
9870 then simplify the result to a VECTOR_CST.
9871
9872 2022-05-04 Jakub Jelinek <jakub@redhat.com>
9873
9874 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
9875 element at the end of insn_conditions.
9876 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
9877 ARRAY_SIZE (insn_conditions).
9878
9879 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
9880
9881 PR target/104662
9882 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
9883 vector of booleans and MVE is not enabled.
9884
9885 2022-05-04 Richard Biener <rguenther@suse.de>
9886
9887 PR debug/105158
9888 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
9889 Move debug stmts to the predecessor if moving to the
9890 destination is not possible.
9891 (remove_forwarder_block): Adjust.
9892 (remove_forwarder_block_with_phi): Likewise.
9893
9894 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
9895
9896 PR tree-optimization/102950
9897 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
9898 determine bounds of bitwise operations on signed types.
9899 (operator_bitwise_and::wi_fold): Call the above function.
9900 (operator_bitwise_or::wi_fold): Likewise.
9901 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
9902 result can't be zero if the operands can't be equal.
9903
9904 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
9905
9906 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
9907 protocol class methods linker-visible.
9908
9909 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
9910
9911 PR target/105079
9912 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
9913 define_insn_and_split pattern.
9914
9915 2022-05-03 Richard Biener <rguenther@suse.de>
9916
9917 PR middle-end/105083
9918 * tree-scalar-evolution.cc (scev_initialize): Verify we
9919 have appropriate loop state.
9920 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
9921 loop init and finalization.
9922
9923 2022-05-03 Richard Biener <rguenther@suse.de>
9924
9925 PR middle-end/105461
9926 * opts.cc (finish_options): Match the condition to
9927 disable flag_var_tracking to that of process_options.
9928
9929 2022-05-03 Richard Biener <rguenther@suse.de>
9930
9931 * opts.cc: #undef OPTIONS_SET_P.
9932 (finish_options): Use opts_set instead of OPTIONS_SET_P.
9933
9934 2022-05-03 Richard Biener <rguenther@suse.de>
9935
9936 PR tree-optimization/105394
9937 * tree-vect-generic.cc (expand_vector_condition): Adjust
9938 comp_width for non-integer mode masks as well.
9939
9940 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
9941
9942 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
9943 omp_runtime_apis array.
9944
9945 2022-05-02 Richard Biener <rguenther@suse.de>
9946
9947 * tree-scalar-evolution.cc (expression_expensive_p):
9948 Never consider mismatched calls as cheap.
9949
9950 2022-05-02 Richard Biener <rguenther@suse.de>
9951
9952 PR tree-optimization/104240
9953 * tree-vect-slp.cc (op1_op0_map): New.
9954 (vect_get_operand_map): Handle compares.
9955 (vect_build_slp_tree_1): Support swapped operands for
9956 tcc_comparison.
9957
9958 2022-05-02 Jakub Jelinek <jakub@redhat.com>
9959
9960 PR debug/105415
9961 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
9962 if there is no symtab node for the VAR_DECL.
9963
9964 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9965
9966 * gcov-io.cc (gcov_rewrite): Clear the file error status.
9967
9968 2022-05-02 Richard Biener <rguenther@suse.de>
9969
9970 PR tree-optimization/105437
9971 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
9972 case where last_stmt alters control flow.
9973
9974 2022-05-02 Richard Biener <rguenther@suse.de>
9975
9976 * dojump.cc (do_jump): Use CASE_CONVERT.
9977 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
9978
9979 2022-05-02 Jakub Jelinek <jakub@redhat.com>
9980
9981 * system.h: Include initializer_list.
9982
9983 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
9984
9985 * config/rs6000/constraints.md (Y constraint): Fix comment.
9986
9987 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
9988
9989 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
9990 VR_RANGE before passing a piecewise range to set_range_info_raw.
9991
9992 2022-04-30 Patrick Palka <ppalka@redhat.com>
9993
9994 * gengtype.cc (adjust_field_tree_exp): Remove.
9995 (adjust_field_type): Don't handle the "tree_exp" special attribute.
9996 * tree-core.h (struct tree_exp): Remove "special" and "desc"
9997 attributes. Add "length" attribute.
9998
9999 2022-04-29 Martin Jambor <mjambor@suse.cz>
10000
10001 PR ipa/100413
10002 * cgraph.cc (cgraph_node::remove): Release body of the node this
10003 is clone_of if appropriate.
10004
10005 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
10006
10007 PR target/51954
10008 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
10009
10010 2022-04-29 Richard Biener <rguenther@suse.de>
10011
10012 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
10013 (canonicalize_cond_expr_cond): Move here from gimple.cc,
10014 allow both COND_EXPR and GIMPLE_COND forms.
10015 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
10016 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
10017 * gimple.h (canonicalize_cond_expr_cond): Likewise.
10018 * gimple-loop-versioning.cc (loop_versioning::version_loop):
10019 Use is_gimple_condexpr_for_cond.
10020 * tree-parloops.cc (gen_parallel_loop): Likewise.
10021 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
10022 a proper cond expr after canonicalize_cond_expr_cond.
10023 Use is_gimple_condexpr_for_cond where appropriate.
10024 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
10025 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
10026
10027 2022-04-29 Richard Biener <rguenther@suse.de>
10028
10029 * gimple-iterator.h (gsi_after_labels): Add overload for
10030 gimple_seq.
10031 (gsi_start_1): Rename to gsi_start and take a reference.
10032 (gsi_last_1): Likewise.
10033 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
10034 * omp-low.cc (lower_rec_input_clauses): Likewise.
10035 (lower_omp_scan): Likewise.
10036
10037 2022-04-29 Richard Biener <rguenther@suse.de>
10038
10039 PR tree-optimization/105431
10040 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
10041 (powi_as_mults): Use absu_hwi.
10042 (gimple_expand_builtin_powi): Remove now pointless n != -n
10043 check.
10044
10045 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
10046
10047 * range-op.cc (empty_range_varying): Move to range-op.h.
10048 (range_true): Move to range.h.
10049 (range_false): Same.
10050 (range_true_and_false): Same.
10051 (enum bool_range_state): Move to range-op.h.
10052 (relop_early_resolve): Same.
10053 (operator_equal::op1_op2_relation): Abstract code to...
10054 (equal_op1_op2_relation): ...here.
10055 (operator_not_equal::op1_op2_relation): Abstract code to...
10056 (not_equal_op1_op2_relation): ...here.
10057 (operator_lt::op1_op2_relation): Abstract code to...
10058 (lt_op1_op2_relation): ...here.
10059 (operator_le::op1_op2_relation): Abstract code to...
10060 (le_op1_op2_relation): ...here.
10061 (operator_gt::op1_op2_relation): Abstract code to...
10062 (gt_op1_op2_relation): ...here.
10063 (operator_ge::op1_op2_relation): Abstract code to...
10064 (ge_op1_op2_relation): ...here.
10065 (class range_op_table): Move to range-op.h.
10066 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
10067 (not_equal_op1_op2_relation): Same.
10068 (lt_op1_op2_relation): Same.
10069 (le_op1_op2_relation): Same.
10070 (gt_op1_op2_relation): Same.
10071 (ge_op1_op2_relation): Same.
10072 (enum bool_range_state): Same.
10073 (get_bool_state): Same.
10074 (empty_range_varying): Same.
10075 (relop_early_resolve): Same.
10076 (class range_op_table): Same.
10077 * range.h (range_true): Same.
10078 (range_false): Same.
10079 (range_true_and_false): Same.
10080
10081 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
10082
10083 * gimple-fold.cc (size_must_be_zero_p): Use reference
10084 instead of pointer
10085 * gimple-ssa-evrp-analyze.cc
10086 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
10087 intersect to legacy_verbose_intersect.
10088 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
10089 of pointer.
10090 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
10091 instead of value_range_equiv.
10092 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
10093 instead of pointer.
10094 (find_case_label_range): Same.
10095 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
10096 (value_range_equiv::legacy_verbose_intersect): ...this.
10097 (value_range_equiv::union_): Rename to...
10098 (value_range_equiv::legacy_verbose_union_): ...this.
10099 * value-range-equiv.h (class value_range_equiv): Rename union and
10100 intersect to legacy_verbose_{intersect,union}.
10101 * value-range.cc (irange::union_): Rename to...
10102 (irange::legacy_verbose_union_): ...this.
10103 (irange::intersect): Rename to...
10104 (irange::legacy_verbose_intersect): ...this.
10105 * value-range.h (irange::union_): Rename union_ to
10106 legacy_verbose_union.
10107 (irange::intersect): Rename intersect to legacy_verbose_intersect.
10108 * vr-values.cc (vr_values::update_value_range): Same.
10109 (vr_values::extract_range_for_var_from_comparison_expr): Same.
10110 (vr_values::extract_range_from_cond_expr): Rename union_ to
10111 legacy_verbose_union.
10112 (vr_values::extract_range_from_phi_node): Same.
10113
10114 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
10115
10116 * gimple-ssa-evrp-analyze.cc
10117 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
10118 that take a range.
10119 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
10120 * ipa-prop.cc (ipcp_update_vr): Same.
10121 * tree-inline.cc (remap_ssa_name): Same.
10122 * tree-ssa-copy.cc (fini_copy_prop): Same.
10123 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
10124 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
10125 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
10126 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
10127 * tree-ssa-strlen.cc (set_strlen_range): Same.
10128 (strlen_pass::handle_builtin_string_cmp): Same.
10129 * tree-ssanames.cc (set_range_info): Make static.
10130 (duplicate_ssa_name_range_info): Make static and add a new variant
10131 calling the static.
10132 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
10133 (duplicate_ssa_name_range_info): Remove version taking a
10134 range_info_def and replace with a version taking SSA names.
10135 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
10136 that take a range.
10137 (vect_do_peeling): Same.
10138 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
10139 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
10140
10141 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
10142
10143 * value-range.h (irange::irange): Use set_undefined.
10144
10145 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
10146
10147 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
10148 irange::intersect (wide_int, wide_int).
10149 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
10150 (adjust_imagpart_expr): Same.
10151 * value-range.h (irange::intersect (wide_int, wide_int)): Make
10152 private.
10153
10154 2022-04-29 Richard Biener <rguenther@suse.de>
10155
10156 PR tree-optimization/104322
10157 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
10158
10159 2022-04-29 Richard Biener <rguenther@suse.de>
10160
10161 PR middle-end/105376
10162 * tree.cc (build_real): Special case dconst* arguments
10163 for decimal floating point types.
10164
10165 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10166
10167 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
10168 Environments): New section.
10169
10170 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10171
10172 * doc/gcov-tool.texi: Document merge-stream subcommand.
10173 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
10174 subcommand of gcov-tool.
10175 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
10176 (print_merge_stream_usage_message): New.
10177 (merge_stream_usage): Likewise.
10178 (do_merge_stream): Likewise.
10179 (print_usage): Call print_merge_stream_usage_message().
10180 (main): Call do_merge_stream() to execute merge-stream subcommand.
10181
10182 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10183
10184 * gcov-io.cc (gcov_file_error): New enum.
10185 (gcov_var): Use gcov_file_error enum for the error member.
10186 (gcov_open): Use GCOV_FILE_NO_ERROR.
10187 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
10188 (gcov_write): Likewise.
10189 (gcov_write_unsigned): Likewise.
10190 (gcov_write_string): Likewise.
10191 (gcov_read_bytes): Set error code if EOF is reached.
10192 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
10193
10194 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10195
10196 * gcov-io.cc (GCOV_MODE_STDIN): Define.
10197 (gcov_position): For gcov-tool, return calculated position if file is
10198 stdin.
10199 (gcov_open): For gcov-tool, use stdin if filename is NULL.
10200 (gcov_close): For gcov-tool, do not close stdin.
10201 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
10202 (gcov_sync): For gcov-tool, discard input if file is stdin.
10203
10204 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10205
10206 * doc/invoke.texi (fprofile-info-section): Mention
10207 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
10208 standard language. Fix minor example code issues.
10209 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
10210
10211 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10212
10213 * gcov-io.cc (gcov_seek): Make it static.
10214 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
10215
10216 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10217
10218 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
10219 (gcov_output_files): Open files for reading and writing.
10220
10221 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10222
10223 * gcov-io.cc (gcov_open): Always use the mode parameter.
10224 * gcov-io.h (gcov_open): Declare it unconditionally.
10225
10226 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
10227
10228 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
10229 (profile_merge): Allow merging of directories which contain no profile
10230 files.
10231
10232 2022-04-28 David Malcolm <dmalcolm@redhat.com>
10233
10234 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
10235 fpath.txt output.
10236
10237 2022-04-28 Jakub Jelinek <jakub@redhat.com>
10238
10239 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
10240 temporary only if out overlaps compare_op, not when it overlaps
10241 op0 or op1.
10242
10243 2022-04-28 Jakub Jelinek <jakub@redhat.com>
10244
10245 PR lto/105399
10246 * cgraph.cc (cgraph_node::verify_node): Don't verify
10247 semantic_interposition flag against
10248 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
10249
10250 2022-04-28 Jakub Jelinek <jakub@redhat.com>
10251
10252 PR target/105331
10253 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
10254 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
10255 of it.
10256
10257 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
10258
10259 * doc/install.texi (Configuration): Remove misleading text
10260 around LE PowerPC Linux multilibs.
10261
10262 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10263
10264 PR d/103528
10265 * doc/install.texi (Tools/packages necessary for building GCC)
10266 (GDC): Document libphobos requirement.
10267 (Host/target specific installation notes for GCC, *-*-solaris2*):
10268 Document libphobos and GDC specifics.
10269
10270 2022-04-28 Richard Biener <rguenther@suse.de>
10271
10272 PR tree-optimization/105219
10273 * tree-vect-loop.cc (vect_transform_loop): Disable
10274 special code narrowing the vectorized epilogue max
10275 iterations when peeling for alignment or gaps was in effect.
10276
10277 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
10278
10279 * config/loongarch/loongarch.cc
10280 (loongarch_flatten_aggregate_field): Ignore empty fields for
10281 RECORD_TYPE.
10282
10283 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
10284
10285 * config/loongarch/loongarch.md: Add fdiv define_expand template,
10286 then generate floating-point division and floating-point reciprocal
10287 instructions.
10288
10289 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
10290
10291 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
10292 to PLV instruction templates.
10293
10294 2022-04-27 Richard Biener <rguenther@suse.de>
10295
10296 PR middle-end/104492
10297 * gimple-ssa-warn-access.cc
10298 (pass_waccess::warn_invalid_pointer): Exclude equality compare
10299 diagnostics for all kind of invalidations.
10300 (pass_waccess::check_dangling_uses): Fix post-dominator query.
10301 (pass_waccess::check_pointer_uses): Likewise.
10302
10303 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
10304
10305 PR target/102024
10306 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
10307 prototype.
10308 * config/s390/s390.cc (s390_single_field_struct_p): New function.
10309 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
10310 (s390_function_arg_float): Likewise.
10311
10312 2022-04-27 Jakub Jelinek <jakub@redhat.com>
10313
10314 PR sanitizer/105396
10315 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
10316 where offset is bigger than off but smaller than m_prev_offset + 32
10317 bits by pushing one or more 0 bytes. Sink the
10318 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
10319 all cases to the end of the function.
10320
10321 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
10322
10323 PR target/105271
10324 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
10325 stanza.
10326
10327 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
10328
10329 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
10330 data-share memory exhausted" error more verbose.
10331
10332 2022-04-26 Martin Liska <mliska@suse.cz>
10333
10334 PR lto/105364
10335 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
10336 (run_gcc): Parse OPT_fdiagnostics_urls_.
10337 (main): Initialize global_dc.
10338
10339 2022-04-26 Jakub Jelinek <jakub@redhat.com>
10340
10341 PR rtl-optimization/105314
10342 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
10343 operand is equal to if_info->x, instead use the non-zero operand
10344 as one of the operands of AND with if_info->x as target.
10345
10346 2022-04-26 Jakub Jelinek <jakub@redhat.com>
10347
10348 PR tree-optimization/105374
10349 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
10350 !fold_convertible_p rather than assuming fold_convert must succeed.
10351
10352 2022-04-26 Jakub Jelinek <jakub@redhat.com>
10353
10354 PR target/105367
10355 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
10356 el_mode == DFmode ? double_type_node : float_type_node instead of
10357 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
10358
10359 2022-04-25 David Malcolm <dmalcolm@redhat.com>
10360
10361 PR analyzer/104308
10362 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
10363 the location of new_stmt in all places that don't already set it,
10364 whether explicitly, or via a call to gsi_replace.
10365
10366 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
10367
10368 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
10369
10370 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
10371
10372 PR tree-optimization/105276
10373 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
10374 existing global range with calculated value.
10375
10376 2022-04-25 Richard Biener <rguenther@suse.de>
10377
10378 PR tree-optimization/105368
10379 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
10380
10381 2022-04-25 Richard Biener <rguenther@suse.de>
10382
10383 PR tree-optimization/100810
10384 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
10385 (find_ssa_undef): New function.
10386 (add_candidate_1): Avoid adding derived candidates with
10387 undefined SSA names and mark the original ones.
10388 (determine_group_iv_cost_generic): Reject rewriting
10389 uses with a different IV when that involves undefined SSA names.
10390
10391 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
10392
10393 PR target/89125
10394 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
10395 bsd_libc_has_function.
10396 * targhooks.cc (bsd_libc_has_function): New function.
10397 Expand the supported math functions to inclue C99 libm.
10398 * targhooks.h (bsd_libc_has_function): New Prototype.
10399
10400 2022-04-25 Richard Biener <rguenther@suse.de>
10401
10402 PR rtl-optimization/105231
10403 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
10404 with landing pad > 0 is from i3. Put any REG_EH_REGION note
10405 on i3 or drop it if the insn can not trap.
10406 (try_combine): Ensure that we can merge REG_EH_REGION notes
10407 with non-call exceptions. Ensure we are not splitting a
10408 trapping part of an insn with non-call exceptions when there
10409 is any REG_EH_REGION note to preserve.
10410
10411 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
10412
10413 PR target/105339
10414 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
10415 Add parentheses for parameters and djust format.
10416 (_mm512_mask_scalef_round_pd): Ditto.
10417 (_mm512_maskz_scalef_round_pd): Ditto.
10418 (_mm512_scalef_round_ps): Ditto.
10419 (_mm512_mask_scalef_round_ps): Ditto.
10420 (_mm512_maskz_scalef_round_ps): Ditto.
10421 (_mm_scalef_round_sd): Use _mm_undefined_pd.
10422 (_mm_scalef_round_ss): Use _mm_undefined_ps.
10423 (_mm_mask_scalef_round_sd): New macro.
10424 (_mm_mask_scalef_round_ss): Ditto.
10425 (_mm_maskz_scalef_round_sd): Ditto.
10426 (_mm_maskz_scalef_round_ss): Ditto.
10427
10428 2022-04-23 Jakub Jelinek <jakub@redhat.com>
10429
10430 PR target/105338
10431 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
10432 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
10433 cases.
10434
10435 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
10436
10437 PR target/105334
10438 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
10439 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
10440 (pack<mode>_hard for FMOVE128): ... this...
10441 (pack<mode>_soft for FMOVE128): ... and this.
10442
10443 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
10444
10445 * doc/extend.texi: Correct "This" to "These".
10446
10447 2022-04-22 Jakub Jelinek <jakub@redhat.com>
10448
10449 PR rtl-optimization/105333
10450 * rtlanal.cc (replace_rtx): Use simplify_subreg or
10451 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
10452 CONST_INT_P.
10453
10454 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
10455
10456 PR target/103197
10457 PR target/102146
10458 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
10459 the "Z" alternatives in {l,st}{f,xs}iwzx.
10460 (zero_extendhi<mode>2 for EXTHI): Ditto.
10461 (zero_extendsi<mode>2 for EXTSI): Ditto.
10462 (*movsi_internal1): Ditto.
10463 (*mov<mode>_internal1 for QHI): Ditto.
10464 (movsd_hardfloat): Ditto.
10465
10466 2022-04-21 Martin Liska <mliska@suse.cz>
10467
10468 * configure.ac: Enable compressed debug sections for mold
10469 linker.
10470 * configure: Regenerate.
10471
10472 2022-04-21 Jakub Jelinek <jakub@redhat.com>
10473
10474 PR debug/105203
10475 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
10476 on DEBUG_INSNs.
10477
10478 2022-04-20 Richard Biener <rguenther@suse.de>
10479
10480 PR tree-optimization/104912
10481 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
10482 the cost model check to a separate BB to make sure it is
10483 checked first and not combined with other version checks.
10484
10485 2022-04-20 Richard Biener <rguenther@suse.de>
10486
10487 PR tree-optimization/105312
10488 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
10489 VCOND and VCONDU for EQ and NE.
10490
10491 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
10492
10493 PR ipa/103818
10494 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
10495 poly_offset_int to avoid overflow.
10496 (modref_access_node::update2): likewise.
10497
10498 2022-04-20 Jakub Jelinek <jakub@redhat.com>
10499
10500 PR ipa/105306
10501 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
10502 to opt_for_fn (decl, flag_semantic_interposition).
10503 * cgraphclones.cc (cgraph_node::create_clone): Copy over
10504 semantic_interposition flag.
10505
10506 2022-04-19 Sergei Trofimovich <siarheit@google.com>
10507
10508 PR gcov-profile/105282
10509 * value-prof.cc (stream_out_histogram_value): Allow negative counts
10510 on HIST_TYPE_INDIR_CALL.
10511
10512 2022-04-19 Jakub Jelinek <jakub@redhat.com>
10513
10514 PR target/105257
10515 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
10516 use gen_raw_REG instead of gen_rtx_REG and copy over also
10517 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
10518
10519 2022-04-19 Richard Biener <rguenther@suse.de>
10520
10521 PR tree-optimization/104010
10522 PR tree-optimization/103941
10523 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
10524 we run into stmts in patterns continue walking those
10525 for uses outside of the vectorized region instead of
10526 marking the lane live.
10527
10528 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
10529
10530 * doc/install.texi <CRIS>: Remove references to removed websites and
10531 adjust for cris-*-elf being the only remaining toolchain.
10532
10533 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
10534
10535 * doc/invoke.texi <CRIS>: Remove references to options for removed
10536 subtarget cris-axis-linux-gnu and tweak wording accordingly.
10537
10538 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
10539
10540 * doc/install.texi (Specific): Adjust mingw-w64 download link.
10541
10542 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
10543
10544 * config/i386/smmintrin.h: Correct target pragma from sse4.1
10545 and sse4.2 to crc32 for crc32 intrinsics.
10546
10547 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
10548
10549 PR debug/105089
10550 * ctfc.cc (ctf_dvd_ignore_insert): New function.
10551 (ctf_dvd_ignore_lookup): Likewise.
10552 (ctf_add_variable): Keep track of non-defining decl DIEs.
10553 (new_ctf_container): Initialize the new hash-table.
10554 (ctfc_delete_container): Empty hash-table.
10555 * ctfc.h (struct ctf_container): Add new hash-table.
10556 (ctf_dvd_ignore_lookup): New declaration.
10557 (ctf_add_variable): Add additional argument.
10558 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
10559 record for non-defining decl for which a defining decl exists
10560 in the same TU.
10561 (ctf_preprocess): Defer updating the number of global objts
10562 until here.
10563 (output_ctf_header): Use ctfc_vars_list_count as some CTF
10564 variables may not make it to the final output.
10565 (output_ctf_vars): Likewise.
10566 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
10567 if this is known to be a non-defining decl DIE.
10568
10569 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
10570
10571 * ctfc.h (struct ctf_container): Introduce a new member.
10572 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
10573 variable.
10574
10575 2022-04-14 Jakub Jelinek <jakub@redhat.com>
10576
10577 PR target/105247
10578 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
10579 or rotates by VOIDmode constant integer shift count use word_mode
10580 for the operand if int_mode is narrower than word.
10581
10582 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
10583
10584 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
10585 (s390_get_unit_mask): Likewise.
10586 (s390_is_fpd): Likewise.
10587 (s390_is_fxd): Likewise.
10588 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
10589 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
10590 Add z16.
10591 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
10592 Likewise.
10593 * config/s390/3931.md: New file.
10594
10595 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
10596
10597 PR tree-optimization/105254
10598 * config/aarch64/aarch64.cc
10599 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
10600 loop_vec_info as argument. Restrict the unroll factor to values
10601 that divide the VF.
10602 (aarch64_vector_costs::finish_cost): Update call accordingly.
10603
10604 2022-04-13 Richard Biener <rguenther@suse.de>
10605
10606 PR tree-optimization/105263
10607 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
10608 negates in multiplication chains with DFP.
10609
10610 2022-04-13 Jakub Jelinek <jakub@redhat.com>
10611
10612 PR middle-end/105253
10613 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
10614 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
10615 comparisons or tree_nop_conversion_p checks.
10616
10617 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
10618
10619 PR target/103069
10620 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
10621 Add missing set to target_val at pause label.
10622
10623 2022-04-13 Jakub Jelinek <jakub@redhat.com>
10624
10625 PR target/105234
10626 * attribs.cc (decl_attributes): Don't set
10627 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
10628 NULL.
10629
10630 2022-04-13 Richard Biener <rguenther@suse.de>
10631
10632 PR tree-optimization/105250
10633 * fold-const.cc (fold_convertible_p): Revert
10634 r12-7979-geaaf77dd85c333, instead check for size equality
10635 of the vector types involved.
10636
10637 2022-04-13 Richard Biener <rguenther@suse.de>
10638
10639 Revert:
10640 2022-04-13 Richard Biener <rguenther@suse.de>
10641
10642 PR tree-optimization/104912
10643 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
10644 the cost model check to a separate BB to make sure it is
10645 checked first and not combined with other version checks.
10646
10647 2022-04-13 Richard Biener <rguenther@suse.de>
10648
10649 PR tree-optimization/104912
10650 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
10651 the cost model check to a separate BB to make sure it is
10652 checked first and not combined with other version checks.
10653
10654 2022-04-13 Jakub Jelinek <jakub@redhat.com>
10655
10656 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
10657
10658 2022-04-12 Antoni Boucher <bouanto@zoho.com>
10659
10660 PR jit/104072
10661 * reginfo.cc: New functions (clear_global_regs_cache,
10662 reginfo_cc_finalize) to avoid an issue where compiling the same
10663 code multiple times gives an error about assigning the same
10664 register to 2 global variables.
10665 * rtl.h: New function (reginfo_cc_finalize).
10666 * toplev.cc: Call it.
10667
10668 2022-04-12 Antoni Boucher <bouanto@zoho.com>
10669
10670 PR jit/104071
10671 * toplev.cc: Call the new function tree_cc_finalize in
10672 toplev::finalize.
10673 * tree.cc: New functions (clear_nonstandard_integer_type_cache
10674 and tree_cc_finalize) to clear the cache of non-standard integer
10675 types to avoid having issues with some optimizations of
10676 bitcast where the SSA_NAME will have a size of a cached
10677 integer type that should have been invalidated, causing a
10678 comparison of integer constant to fail.
10679 * tree.h: New function (tree_cc_finalize).
10680
10681 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
10682
10683 PR target/97348
10684 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
10685 * config/nvptx/nvptx.opt (misa): Adjust comment.
10686
10687 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
10688
10689 Revert:
10690 2022-03-03 Tom de Vries <tdevries@suse.de>
10691
10692 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
10693
10694 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
10695
10696 Revert:
10697 2022-03-31 Tom de Vries <tdevries@suse.de>
10698
10699 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
10700
10701 2022-04-12 Richard Biener <rguenther@suse.de>
10702
10703 PR ipa/104303
10704 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
10705 include local escaped memory as obviously necessary stores.
10706
10707 2022-04-12 Richard Biener <rguenther@suse.de>
10708
10709 PR tree-optimization/105235
10710 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
10711 return whether the CFG changed.
10712 (execute_cse_sincos_1): Adjust.
10713
10714 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
10715
10716 PR target/104144
10717 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
10718 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
10719 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
10720 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
10721 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
10722 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
10723 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
10724
10725 2022-04-12 Richard Biener <rguenther@suse.de>
10726
10727 PR tree-optimization/105232
10728 * tree.cc (component_ref_size): Bail out for too large
10729 or non-constant sizes.
10730
10731 2022-04-12 Richard Biener <rguenther@suse.de>
10732
10733 PR tree-optimization/105226
10734 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
10735 we can split the exit of an outer loop we choose to version.
10736
10737 2022-04-12 Jakub Jelinek <jakub@redhat.com>
10738
10739 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
10740 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
10741 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
10742 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
10743 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
10744 Formatting fix.
10745 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
10746
10747 2022-04-12 Jakub Jelinek <jakub@redhat.com>
10748
10749 PR target/105214
10750 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
10751 do_pending_stack_adjust.
10752
10753 2022-04-12 Jakub Jelinek <jakub@redhat.com>
10754
10755 PR rtl-optimization/105211
10756 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
10757 fails for TREE_TYPE (arg), retry it with
10758 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
10759 fails, emit call normally.
10760
10761 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
10762
10763 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
10764 * config.gcc: Add z16 as march/mtune switch.
10765 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
10766 Recognize z16 with -march=native.
10767 * config/s390/s390-opts.h (enum processor_type): Rename
10768 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
10769 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
10770 (PROCESSOR_3931_Z16): ... throughout the file.
10771 (s390_processor processor_table): Add z16 as cpu string.
10772 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
10773 PF_Z16.
10774 (TARGET_CPU_ARCH14): Rename to ...
10775 (TARGET_CPU_Z16): ... this.
10776 (TARGET_CPU_ARCH14_P): Rename to ...
10777 (TARGET_CPU_Z16_P): ... this.
10778 (TARGET_ARCH14): Rename to ...
10779 (TARGET_Z16): ... this.
10780 (TARGET_ARCH14_P): Rename to ...
10781 (TARGET_Z16_P): ... this.
10782 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
10783 check TARGET_Z16 instead of TARGET_ARCH14.
10784 * config/s390/s390.opt: Add z16 to processor_type.
10785 * doc/invoke.texi: Document z16 and arch14.
10786
10787 2022-04-12 chenglulu <chenglulu@loongson.cn>
10788
10789 * config/loongarch/loongarch.cc: Fix bug for
10790 tmpdir-g++.dg-struct-layout-1/t033.
10791
10792 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
10793
10794 PR target/104894
10795 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
10796 to longcall functions.
10797
10798 2022-04-11 Jason Merrill <jason@redhat.com>
10799
10800 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
10801
10802 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
10803
10804 PR target/105213
10805 PR target/103623
10806 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
10807
10808 2022-04-11 Jakub Jelinek <jakub@redhat.com>
10809
10810 PR tree-optimization/105218
10811 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
10812 more than one predecessor or phi's bb more than 2 predecessors,
10813 reset phi result uses instead of adding a debug temp.
10814
10815 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
10816
10817 PR target/104853
10818 * config.gcc: Pass -misa-spec to arch-canonicalize and
10819 multilib-generator.
10820 * config/riscv/arch-canonicalize: Adding -misa-spec option.
10821 (SUPPORTED_ISA_SPEC): New.
10822 (arch_canonicalize): New argument `isa_spec`.
10823 Handle multiple ISA spec versions.
10824 * config/riscv/multilib-generator: Adding -misa-spec option.
10825
10826 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
10827
10828 * config/riscv/arch-canonicalize: Add TODO item.
10829 (IMPLIED_EXT): Sync.
10830 (arch_canonicalize): Checking until no change.
10831
10832 2022-04-11 Tamar Christina <tamar.christina@arm.com>
10833
10834 PR target/105197
10835 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
10836 not masked.
10837
10838 2022-04-11 Jason Merrill <jason@redhat.com>
10839
10840 PR c++/100370
10841 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
10842 deref == -1.
10843
10844 2022-04-11 Jakub Jelinek <jakub@redhat.com>
10845
10846 PR tree-optimization/104639
10847 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
10848 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
10849 into x != cst3.
10850
10851 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
10852
10853 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
10854 sign bit of the source ends up in CC.
10855
10856 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
10857
10858 PR ipa/103376
10859 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
10860 flag.
10861
10862 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
10863
10864 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
10865 nondeterministic and side_effects flags.
10866
10867 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
10868
10869 PR target/105157
10870 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
10871 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
10872 (TARGET_CPU_MASK): Likewise.
10873 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
10874 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
10875 (aarch64_get_arch): Likewise.
10876 (aarch64_override_options): Use TARGET_CPU_NBITS.
10877
10878 2022-04-08 Richard Biener <rguenther@suse.de>
10879
10880 PR tree-optimization/105198
10881 * tree-predcom.cc (find_looparound_phi): Check whether
10882 the found memory location of the entry value is clobbered
10883 inbetween the value we want to use and loop entry.
10884
10885 2022-04-08 Jakub Jelinek <jakub@redhat.com>
10886
10887 PR tree-optimization/105189
10888 * fold-const.cc (make_range_step): Fix up handling of
10889 (unsigned) x +[low, -] ranges for signed x if low fits into
10890 typeof (x).
10891
10892 2022-04-08 Richard Biener <rguenther@suse.de>
10893
10894 PR tree-optimization/105175
10895 * tree-vect-stmts.cc (vectorizable_operation): Suppress
10896 -Wvector-operation-performance if using emulated vectors.
10897 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
10898 -Wvector-operation-performance when suppressed.
10899 (expand_vector_parallel): Likewise.
10900 (expand_vector_comparison): Likewise.
10901 (expand_vector_condition): Likewise.
10902 (lower_vec_perm): Likewise.
10903 (expand_vector_conversion): Likewise.
10904
10905 2022-04-07 Tamar Christina <tamar.christina@arm.com>
10906
10907 PR target/104409
10908 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
10909 (aarch64_general_init_builtins): Move LS64 code.
10910 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
10911 arm_acle.h
10912 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
10913 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
10914
10915 2022-04-07 Richard Biener <rguenther@suse.de>
10916 Jan Hubicka <hubicka@ucw.cz>
10917
10918 PR ipa/104303
10919 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
10920 ref_may_alias_global_p, ref_may_alias_global_p,
10921 stmt_may_clobber_global_p, pt_solution_includes_global): Add
10922 bool parameters indicating whether escaped locals should be
10923 considered global.
10924 * tree-ssa-structalias.cc (pt_solution_includes_global):
10925 When the new escaped_nonlocal_p flag is true also consider
10926 pt->vars_contains_escaped.
10927 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
10928 Pass down new escaped_nonlocal_p flag.
10929 (ref_may_alias_global_p): Likewise.
10930 (stmt_may_clobber_global_p): Likewise.
10931 (ref_may_alias_global_p_1): Likewise. For decls also
10932 query the escaped solution if true.
10933 (ref_may_access_global_memory_p): Remove.
10934 (modref_may_conflict): Use ref_may_alias_global_p with
10935 escaped locals considered global.
10936 (ref_maybe_used_by_stmt_p): Adjust.
10937 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
10938 Likewise.
10939 * tree-ssa-dse.cc (dse_classify_store): Likewise.
10940 * trans-mem.cc (thread_private_new_memory): Likewise, but
10941 consider escaped locals global.
10942 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
10943
10944 2022-04-07 Richard Biener <rguenther@suse.de>
10945
10946 PR tree-optimization/105185
10947 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
10948 modref query again.
10949
10950 2022-04-07 Tamar Christina <tamar.christina@arm.com>
10951
10952 PR target/104049
10953 * config/aarch64/aarch64-simd.md
10954 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
10955 (reduc_plus_scal_<mode>): ... This.
10956 (reduc_plus_scal_v4sf): Moved.
10957 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
10958 (reduc_plus_scal_v2si): ... This.
10959
10960 2022-04-07 Jakub Jelinek <jakub@redhat.com>
10961
10962 PR tree-optimization/102586
10963 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
10964 langhook.
10965 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
10966 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
10967 * gimple-fold.cc (clear_padding_type): Use ftype instead of
10968 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
10969 name try the lang_hooks.types.classtype_as_base langhook and
10970 if it returns non-NULL, use that instead of ftype for recursive call.
10971
10972 2022-04-07 Jakub Jelinek <jakub@redhat.com>
10973
10974 PR tree-optimization/105150
10975 * tree.cc (tree_builtin_call_types_compatible_p): New function.
10976 (get_call_combined_fn): Use it.
10977
10978 2022-04-07 Richard Biener <rguenther@suse.de>
10979
10980 PR middle-end/105165
10981 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
10982 _Complex outputs.
10983
10984 2022-04-07 liuhongt <hongtao.liu@intel.com>
10985
10986 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
10987 Removed.
10988 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
10989 for mask_applied.
10990 (<code><mode>3<mask_name>): Ditto.
10991 (*<code><mode>3<mask_name>): Ditto.
10992 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
10993 real instruction.
10994 (VFB_512): Ditto.
10995 (VFB): Ditto.
10996
10997 2022-04-06 Jakub Jelinek <jakub@redhat.com>
10998
10999 PR rtl-optimization/104985
11000 * combine.cc (struct undo): Add where.regno member.
11001 (do_SUBST_MODE): Rename to ...
11002 (subst_mode): ... this. Change first argument from rtx * into int,
11003 operate on regno_reg_rtx[regno] and save regno into where.regno.
11004 (SUBST_MODE): Remove.
11005 (try_combine): Use subst_mode instead of SUBST_MODE, change first
11006 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
11007 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
11008 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
11009 instead of *undo->where.r.
11010 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
11011 argument from regno_reg_rtx[whatever] to whatever.
11012
11013 2022-04-06 Jakub Jelinek <jakub@redhat.com>
11014
11015 PR target/105069
11016 * config/sh/sh.opt (mdiv=): Add Save.
11017
11018 2022-04-06 Martin Liska <mliska@suse.cz>
11019
11020 PR driver/105096
11021 * common.opt: Document properly based on what it does.
11022 * gcc.cc (display_help): Unify with what we have in common.opt.
11023 * opts.cc (common_handle_option): Do not print undocumented
11024 options.
11025
11026 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
11027
11028 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
11029 cxx17_empty_base_field_p fields and set an indicator.
11030 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
11031 (mips_function_value_1): Inform psABI change about C++17 empty
11032 bases.
11033
11034 2022-04-06 Jakub Jelinek <jakub@redhat.com>
11035
11036 PR tree-optimization/105150
11037 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
11038 builtin_decl_explicit here...
11039 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
11040 here.
11041
11042 2022-04-06 Richard Biener <rguenther@suse.de>
11043
11044 PR tree-optimization/105173
11045 * tree-ssa-reassoc.cc (find_insert_point): Get extra
11046 insert_before output argument and compute it.
11047 (insert_stmt_before_use): Adjust.
11048 (rewrite_expr_tree): Likewise.
11049
11050 2022-04-06 Richard Biener <rguenther@suse.de>
11051
11052 PR ipa/105166
11053 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
11054 out for non-pointer arguments.
11055
11056 2022-04-06 Richard Biener <rguenther@suse.de>
11057
11058 PR tree-optimization/105163
11059 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
11060 negated abnormals.
11061
11062 2022-04-06 Jakub Jelinek <jakub@redhat.com>
11063
11064 PR tree-optimization/105150
11065 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
11066 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
11067 preferrably on builtin_decl_explicit decl rather than fndecl.
11068 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
11069 gimple_builtin_call_types_compatible_p here.
11070
11071 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
11072
11073 PR tree-optimization/103761
11074 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
11075 the ncopies parameter with an slp_node parameter. Calculate the
11076 number of vectors based on it and vectype. Rename lambda to
11077 group_memory_nvectors.
11078 (vectorizable_store, vectorizable_load): Update calls accordingly.
11079
11080 2022-04-06 Martin Liska <mliska@suse.cz>
11081
11082 * doc/invoke.texi: Document it.
11083
11084 2022-04-06 Richard Biener <rguenther@suse.de>
11085
11086 PR tree-optimization/105148
11087 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
11088 2 and 3 of ARRAY_REFs.
11089
11090 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
11091
11092 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
11093 (*andnottf3): Replace with...
11094 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
11095
11096 2022-04-06 Richard Biener <rguenther@suse.de>
11097
11098 PR tree-optimization/105142
11099 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
11100 basic-block parameter.
11101 (maybe_fold_or_comparisons): Likewise.
11102 * gimple-fold.cc (follow_outer_ssa_edges): New.
11103 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
11104 when an outer condition basic-block is specified.
11105 (and_comparisons_1, and_var_with_comparison,
11106 and_var_with_comparison_1, or_comparisons_1,
11107 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
11108 down the outer condition basic-block.
11109 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
11110 basic-block of the outer condition.
11111
11112 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
11113
11114 PR target/105002
11115 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
11116 comparison codes UNLT/UNLE/UNGT/UNGE.
11117
11118 2022-04-05 David Malcolm <dmalcolm@redhat.com>
11119
11120 * doc/extend.texi (Common Function Attributes): Document that
11121 'access' does not imply 'nonnull'.
11122
11123 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
11124
11125 PR target/105139
11126 * config/i386/mmx.md (*movv2qi_internal):
11127 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
11128
11129 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
11130
11131 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
11132 define_expand and turn operands 0 and 1 from REGs to MEMs.
11133 (*aarch64_cpymemdi): New pattern.
11134 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
11135 from a REG to a MEM.
11136 (*aarch64_setmemdi): New pattern.
11137 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
11138 copy_to_mode_reg on all three registers. Replace the original
11139 MEM addresses rather than creating wild reads and writes.
11140 (aarch64_expand_setmem_mops): Likewise for the size and for the
11141 destination memory and address.
11142
11143 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
11144
11145 PR target/103147
11146 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
11147 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
11148 from aarch64_simd_switcher.
11149 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
11150 New variable.
11151 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
11152 (register_tuple_type): Add more asserts. Expect the alignment
11153 of the structure to be subject to flag_pack_struct and
11154 maximum_field_alignment. Set aarch64_simd_tuple_modes.
11155 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
11156 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
11157 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
11158 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
11159 while calling aarch64_init_simd_builtins.
11160 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
11161 (sve_switcher::~sve_switcher): Remove code now performed by
11162 aarch64_simd_switcher.
11163
11164 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
11165
11166 PR target/104897
11167 * config/aarch64/aarch64-sve-builtins.cc
11168 (function_resolver::infer_vector_or_tuple_type): Use error_n
11169 for "%d vectors" messages.
11170
11171 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
11172
11173 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
11174 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
11175 current clause.
11176
11177 2022-04-05 Richard Biener <rguenther@suse.de>
11178
11179 PR c/105151
11180 * passes.def (pass_walloca): Move early instance into
11181 pass_build_ssa_passes to make SSA form available.
11182
11183 2022-04-05 liuhongt <hongtao.liu@intel.com>
11184
11185 PR target/101908
11186 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
11187 function
11188 (ix86_reorg): Call ix86_split_stlf_stall_load.
11189 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
11190 param.
11191
11192 2022-04-05 Alexandre Oliva <oliva@adacore.com>
11193
11194 * targhooks.cc (default_zero_call_used_regs): Attempt to group
11195 regs that the target refuses to use in their natural modes.
11196 (zcur_select_mode_rtx): New.
11197 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
11198 (hard_regno_max_nregs): Define.
11199 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
11200
11201 2022-04-04 Alex Coplan <alex.coplan@arm.com>
11202
11203 * doc/match-and-simplify.texi: Fix typos.
11204
11205 2022-04-04 Jakub Jelinek <jakub@redhat.com>
11206
11207 PR target/105144
11208 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
11209 only if configured with --enable-maintainer-mode, otherwise compare
11210 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
11211 if they differ, emit a message and fail.
11212
11213 2022-04-04 Jakub Jelinek <jakub@redhat.com>
11214
11215 PR target/105144
11216 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
11217 * config/aarch64/aarch64-tune.md: Regenerated.
11218
11219 2022-04-04 Richard Biener <rguenther@suse.de>
11220
11221 PR tree-optimization/105132
11222 * tree-vect-stmts.cc (vectorizable_operation): Check that
11223 the input vectors have the same number of elements.
11224
11225 2022-04-04 Richard Biener <rguenther@suse.de>
11226
11227 PR middle-end/105140
11228 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
11229
11230 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
11231
11232 PR target/104987
11233 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
11234 (delay slot descripts): Use different delay slot description when
11235 the insn as the "bbi" attribute.
11236 (bbi, bbin patterns): Set the bbi attribute to yes.
11237
11238 2022-04-03 Jakub Jelinek <jakub@redhat.com>
11239
11240 PR target/105123
11241 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
11242 using word as target for expand_simple_binop when doing ASHIFT and
11243 IOR.
11244
11245 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
11246
11247 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
11248 NULL before dereferencing it.
11249
11250 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
11251
11252 * config/i386/i386.cc (zero_all_st_registers): Return the value of
11253 num_of_st.
11254 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
11255 the return value of zero_all_st_registers.
11256 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
11257 * function.cc (gen_call_used_regs_seq): Add an assertion.
11258 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
11259
11260 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
11261
11262 PR target/102024
11263 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
11264 fields, and inform if it causes a psABI change.
11265
11266 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
11267
11268 PR target/102024
11269 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
11270 zero-width bit-fields and set up an indicator.
11271 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
11272 (mips_function_value_1): Diagnose when the presense of a C++
11273 zero-width bit-field changes function returning in GCC 12.
11274
11275 2022-04-01 Jakub Jelinek <jakub@redhat.com>
11276
11277 PR tree-optimization/104645
11278 * tree-ssa-phiopt.cc (value_replacement): If assign has
11279 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
11280 statement with constant evaluation.
11281
11282 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
11283
11284 * config/mips/mips.cc (mips_expand_prologue):
11285 IPL is 8bit for MCU ASE.
11286
11287 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
11288
11289 PR target/104004
11290 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
11291 (MTFSB0): Likewise.
11292 (MTFSB1): Likewise.
11293 (SET_FPSCR_RN): Likewise.
11294 (SET_FPSCR_DRN): Mark nosoft and no32bit.
11295
11296 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
11297
11298 * doc/options.texi (Option file format): Clarifications around
11299 option definition records' help texts.
11300
11301 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
11302
11303 * optc-gen.awk <END>: Fix "Multiple different help strings" error
11304 diagnostic.
11305
11306 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
11307
11308 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
11309 determine_suggested_unroll_factor and m_has_avg.
11310 (determine_suggested_unroll_factor): New function.
11311 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
11312 to set m_nosve_pattern.
11313 (aarch64_vector_costs::finish_costs): Use
11314 determine_suggested_unroll_factor.
11315 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
11316 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
11317
11318 2022-03-31 Martin Jambor <mjambor@suse.cz>
11319
11320 PR ipa/103083
11321 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
11322 (ipa_get_jf_ancestor_keep_null): New function.
11323 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
11324 ancestor function.
11325 (compute_complex_assign_jump_func): Pass false to keep_null
11326 parameter of ipa_set_ancestor_jf.
11327 (compute_complex_ancestor_jump_func): Pass true to keep_null
11328 parameter of ipa_set_ancestor_jf.
11329 (update_jump_functions_after_inlining): Carry over keep_null from the
11330 original ancestor jump-function or merge them.
11331 (ipa_write_jump_function): Stream keep_null flag.
11332 (ipa_read_jump_function): Likewise.
11333 (ipa_print_node_jump_functions_for_edge): Print the new flag.
11334 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
11335 member function known_nonzero_p.
11336 (ipcp_bits_lattice::known_nonzero_p): New.
11337 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
11338 observe it.
11339 (ipcp_bits_lattice::meet_with): Likewise.
11340 (propagate_bits_across_jump_function): Simplify. Pass true in
11341 drop_all_ones when it is necessary.
11342 (propagate_aggs_across_jump_function): Take care of keep_null
11343 flag.
11344 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
11345 jump functions.
11346
11347 2022-03-31 Martin Jambor <mjambor@suse.cz>
11348
11349 PR ipa/102513
11350 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
11351 which do not fit the known value_range.
11352
11353 2022-03-31 Martin Jambor <mjambor@suse.cz>
11354
11355 PR ipa/103171
11356 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
11357 always when an ADDR_EXPR constant is known to reach a load because
11358 of inlining, not just when removing an ADDR reference.
11359
11360 2022-03-31 Richard Biener <rguenther@suse.de>
11361
11362 PR tree-optimization/105109
11363 * tree-ssa.cc (execute_update_addresses_taken): Suppress
11364 diagnostics on the load of the other complex component.
11365
11366 2022-03-31 Tom de Vries <tdevries@suse.de>
11367
11368 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
11369
11370 2022-03-31 Richard Biener <rguenther@suse.de>
11371
11372 PR rtl-optimization/105091
11373 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
11374 bases.
11375
11376 2022-03-31 Richard Biener <rguenther@suse.de>
11377
11378 Revert:
11379 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
11380
11381 PR target/102125
11382 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
11383 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
11384
11385 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
11386
11387 * gcov-io.cc (gcov_read_string): Reword documentation comment.
11388
11389 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
11390
11391 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
11392 stanza.
11393 (NEG_V4SF): Likewise.
11394 (NEG_V4SI): Likewise.
11395 (NEG_V8HI): Likewise.
11396 (NEG_V2DF): Move to [vsx] stanza.
11397 (NEG_V2DI): Likewise.
11398
11399 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
11400
11401 PR middle-end/105032
11402 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
11403
11404 2022-03-30 Tom de Vries <tdevries@suse.de>
11405 Tobias Burnus <tobias@codesourcery.com>
11406
11407 * doc/invoke.texi (march): Document __PTX_SM__.
11408 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
11409 __PTX_ISA_VERSION_MINOR__.
11410
11411 2022-03-30 Jakub Jelinek <jakub@redhat.com>
11412
11413 PR sanitizer/105093
11414 * ubsan.cc (instrument_object_size): If t is equal to inner and
11415 is a decl other than global var, punt. When emitting call to
11416 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
11417
11418 2022-03-30 Jakub Jelinek <jakub@redhat.com>
11419
11420 PR tree-optimization/105094
11421 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
11422 bitsize <= 0 rather than just == 0.
11423
11424 2022-03-30 Tom de Vries <tdevries@suse.de>
11425
11426 * doc/invoke.texi (misa, mptx): Update.
11427 (march, march-map): Add.
11428
11429 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
11430
11431 * opt-functions.awk (n_args): New function.
11432 (lang_enabled_by): Merge function into...
11433 * optc-gen.awk <END>: ... sole user here.
11434 Improve diagnostics.
11435
11436 2022-03-29 Marek Polacek <polacek@redhat.com>
11437 Jakub Jelinek <jakub@redhat.com>
11438
11439 PR middle-end/103597
11440 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
11441 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
11442 (gimplify_cond_expr): Set UNUSED_LABEL_P.
11443 * tree.h (UNUSED_LABEL_P): New.
11444
11445 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
11446
11447 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
11448 be any VSX register.
11449
11450 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
11451
11452 PR target/102024
11453 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
11454 zero-sized bit-fields. Detect cases where a warning may be needed.
11455 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
11456 zero-sized bit-field has caused parameter passing to change.
11457
11458 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
11459
11460 PR target/102024
11461 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
11462 bit-fields. Detect cases where a warning may be needed.
11463 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
11464 a zero-sized bit-field has caused parameter passing to change.
11465
11466 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
11467
11468 PR target/96882
11469 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
11470 ARM_PCS_AAPCS_LOCAL.
11471
11472 2022-03-29 Tom de Vries <tdevries@suse.de>
11473
11474 PR target/104857
11475 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
11476 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
11477 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
11478 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
11479
11480 2022-03-29 Tom de Vries <tdevries@suse.de>
11481
11482 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
11483 is ignored.
11484
11485 2022-03-29 Tom de Vries <tdevries@suse.de>
11486
11487 PR target/104714
11488 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
11489
11490 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
11491
11492 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
11493 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
11494 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
11495 (TARGET_USE_GATHER_4PARTS): New macro.
11496 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
11497 (X86_TUNE_USE_GATHER_4PARTS): New tune
11498
11499 2022-03-29 Tom de Vries <tdevries@suse.de>
11500
11501 * config/nvptx/nvptx.opt (march): Add alias of misa.
11502
11503 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
11504 Lulu Cheng <chenglulu@loongson.cn>
11505
11506 * doc/install.texi: Add LoongArch options section.
11507 * doc/invoke.texi: Add LoongArch options section.
11508 * doc/md.texi: Add LoongArch options section.
11509
11510 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
11511 Lulu Cheng <chenglulu@loongson.cn>
11512
11513 * config/loongarch/loongarch-c.cc
11514
11515 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
11516 Lulu Cheng <chenglulu@loongson.cn>
11517
11518 * config/loongarch/larchintrin.h: New file.
11519 * config/loongarch/loongarch-builtins.cc: New file.
11520
11521 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
11522 Lulu Cheng <chenglulu@loongson.cn>
11523
11524 * config/host-linux.cc: Add LoongArch support.
11525 * config/loongarch/loongarch-protos.h: New file.
11526 * config/loongarch/loongarch-tune.h: Likewise.
11527 * config/loongarch/loongarch.cc: Likewise.
11528 * config/loongarch/loongarch.h: Likewise.
11529
11530 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
11531 Lulu Cheng <chenglulu@loongson.cn>
11532
11533 * config/loongarch/constraints.md: New file.
11534 * config/loongarch/generic.md: New file.
11535 * config/loongarch/la464.md: New file.
11536 * config/loongarch/loongarch-ftypes.def: New file.
11537 * config/loongarch/loongarch-modes.def: New file.
11538 * config/loongarch/loongarch.md: New file.
11539 * config/loongarch/predicates.md: New file.
11540 * config/loongarch/sync.md: New file.
11541
11542 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
11543 Lulu Cheng <chenglulu@loongson.cn>
11544
11545 * configure: Regenerate file.
11546
11547 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
11548 Lulu Cheng <chenglulu@loongson.cn>
11549
11550 * common/config/loongarch/loongarch-common.cc: New file.
11551 * config/loongarch/genopts/genstr.sh: New file.
11552 * config/loongarch/genopts/loongarch-strings: New file.
11553 * config/loongarch/genopts/loongarch.opt.in: New file.
11554 * config/loongarch/loongarch-str.h: New file.
11555 * config/loongarch/gnu-user.h: New file.
11556 * config/loongarch/linux.h: New file.
11557 * config/loongarch/loongarch-cpu.cc: New file.
11558 * config/loongarch/loongarch-cpu.h: New file.
11559 * config/loongarch/loongarch-def.c: New file.
11560 * config/loongarch/loongarch-def.h: New file.
11561 * config/loongarch/loongarch-driver.cc: New file.
11562 * config/loongarch/loongarch-driver.h: New file.
11563 * config/loongarch/loongarch-opts.cc: New file.
11564 * config/loongarch/loongarch-opts.h: New file.
11565 * config/loongarch/loongarch.opt: New file.
11566 * config/loongarch/t-linux: New file.
11567 * config/loongarch/t-loongarch: New file.
11568 * config.gcc: Add LoongArch support.
11569 * configure.ac: Add LoongArch support.
11570
11571 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
11572
11573 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
11574 typo.
11575
11576 2022-03-29 Richard Biener <rguenther@suse.de>
11577
11578 PR tree-optimization/105080
11579 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
11580 loops and SCEV.
11581
11582 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
11583
11584 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
11585 (output_ctf_vars): Likewise.
11586
11587 2022-03-28 Jason Merrill <jason@redhat.com>
11588
11589 PR c++/59426
11590 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
11591
11592 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
11593
11594 PR target/105068
11595 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
11596 "Yw" in clobber.
11597
11598 2022-03-28 Tom de Vries <tdevries@suse.de>
11599
11600 PR target/104818
11601 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
11602 * config/nvptx/nvptx-gen.opt: Regenerate.
11603 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
11604 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
11605 gen-opt.sh.
11606
11607 2022-03-28 David Malcolm <dmalcolm@redhat.com>
11608
11609 PR analyzer/104308
11610 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
11611 to loads then stores, set the location of the new load stmt.
11612
11613 2022-03-28 Richard Biener <rguenther@suse.de>
11614
11615 PR tree-optimization/105070
11616 * tree-switch-conversion.h
11617 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
11618 argument.
11619 * tree-switch-conversion.cc
11620 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
11621 cond with location.
11622 (bit_test_cluster::emit): Annotate all generated expressions
11623 with location.
11624
11625 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
11626
11627 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
11628
11629 2022-03-28 liuhongt <hongtao.liu@intel.com>
11630
11631 PR target/105066
11632 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
11633 alternative 4 from sse4_noavx to noavx.
11634
11635 2022-03-28 Jakub Jelinek <jakub@redhat.com>
11636
11637 PR tree-optimization/105056
11638 * tree-predcom.cc (component::component): Initialize also comp_step.
11639
11640 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
11641
11642 PR target/105068
11643 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
11644 "Yw".
11645
11646 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
11647
11648 PR middle-end/104885
11649 * calls.cc (mark_stack_region_used): Check that the region
11650 is within the allocated size of stack_usage_map.
11651
11652 2022-03-26 Jakub Jelinek <jakub@redhat.com>
11653
11654 PR rtl-optimization/103775
11655 * recog.cc (check_invalid_inc_dec): New function.
11656 (insn_invalid_p): Return 1 if REG_INC operand overlaps
11657 any stored REGs.
11658
11659 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
11660
11661 PR target/105058
11662 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
11663 (aes<aesklvariant>u8): Likewise.
11664
11665 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
11666
11667 PR target/105052
11668 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
11669 Replace "Yv" with "x".
11670 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
11671 (ssse3_psign<mode>3): Likewise.
11672
11673 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
11674
11675 * reload.cc (find_reloads): Align comment with code where
11676 considering the intersection of register classes then tweaking the
11677 regclass for the current alternative or rejecting it.
11678
11679 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
11680
11681 PR target/104882
11682 Revert
11683 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
11684
11685 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
11686 (mve_vec_unpack<US>_hi_<mode>): Delete.
11687 (@mve_vec_pack_trunc_lo_<mode>): Delete.
11688 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
11689 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
11690 from vec-common.md.
11691 (vec_unpack<US>_lo_<mode>): Likewise.
11692 (vec_pack_trunc_<mode>): Rename from
11693 neon_quad_vec_pack_trunc_<mode>.
11694 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
11695 (vec_unpack<US>_lo_<mode>): Delete.
11696 (vec_pack_trunc_<mode>): Delete.
11697
11698 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
11699
11700 PR middle-end/104971
11701 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
11702 regs to clear remove_p flag.
11703
11704 2022-03-25 Richard Biener <rguenther@suse.de>
11705
11706 PR tree-optimization/105053
11707 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
11708 the correct live-out stmt for a reduction chain.
11709
11710 2022-03-25 Richard Biener <rguenther@suse.de>
11711
11712 PR middle-end/105049
11713 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
11714 CONSTRUCTOR first elements.
11715
11716 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
11717
11718 PR analyzer/103533
11719 * doc/invoke.texi (Static Analyzer Options): Move
11720 @ignore block after @gccoptlist's '}' for 'make pdf'.
11721
11722 2022-03-25 David Malcolm <dmalcolm@redhat.com>
11723
11724 PR analyzer/104954
11725 * doc/invoke.texi (Static Analyzer Options): Add
11726 -fdump-analyzer-untracked.
11727
11728 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
11729
11730 PR analyzer/103533
11731 * doc/invoke.texi: Document that enabling taint analyzer
11732 checker disables some warnings from `-fanalyzer`.
11733
11734 2022-03-24 Alexandre Oliva <oliva@adacore.com>
11735
11736 PR debug/104564
11737 * gimple-harden-conditionals.cc (detach_value): Keep temps
11738 anonymous.
11739
11740 2022-03-24 Alexandre Oliva <oliva@adacore.com>
11741
11742 PR middle-end/104975
11743 * gimple-harden-conditionals.cc
11744 (pass_harden_compares::execute): Force split in case of
11745 multiple edges.
11746
11747 2022-03-24 Jakub Jelinek <jakub@redhat.com>
11748
11749 PR c++/105035
11750 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
11751 field0 or field1 is not a FIELD_DECL, return false.
11752
11753 2022-03-24 Richard Biener <rguenther@suse.de>
11754
11755 * tree-predcom.cc (chain::chain): Add CTOR.
11756 (component::component): Likewise.
11757 (pcom_worker::release_chain): Use delete.
11758 (release_components): Likewise.
11759 (pcom_worker::filter_suitable_components): Likewise.
11760 (pcom_worker::split_data_refs_to_components): Use new.
11761 (make_invariant_chain): Likewise.
11762 (make_rooted_chain): Likewise.
11763 (pcom_worker::combine_chains): Likewise.
11764 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
11765 Make sure to release previously constructed scalar_results.
11766 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
11767 for vec_offsets.
11768 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
11769 Release m_flag_set_edges.
11770
11771 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
11772
11773 PR tree-optimization/104970
11774 * tree-object-size.cc (parm_object_size): Restrict size
11775 computation scenarios to explicit access attributes.
11776
11777 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
11778
11779 PR target/104967
11780 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
11781 function types.
11782
11783 2022-03-23 Richard Biener <rguenther@suse.de>
11784
11785 PR target/102125
11786 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
11787 use of movmisalign when either the source or destination
11788 decl is properly aligned.
11789
11790 2022-03-23 Richard Biener <rguenther@suse.de>
11791
11792 PR rtl-optimization/105028
11793 * ira-color.cc (form_threads_from_copies): Remove unnecessary
11794 copying of the sorted_copies tail.
11795
11796 2022-03-23 Martin Liska <mliska@suse.cz>
11797
11798 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
11799 Use %qs in format.
11800 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
11801 Reword the error message.
11802
11803 2022-03-23 liuhongt <hongtao.liu@intel.com>
11804
11805 PR target/104976
11806 * config/i386/sse.md (ssePSmodelower): New.
11807 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
11808 lowpart_subreg to avoid NULL_RTX.
11809 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
11810 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
11811 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
11812 <avx512>_<complexopname>_<mode>_mask<round_name>,
11813 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
11814 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
11815 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
11816 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
11817 float<floatunssuffix><mode>v4hf2,
11818 float<floatunssuffix>v2div2hf2,
11819 fix<fixunssuffix>_truncv4hf<mode>2,
11820 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
11821 extendv2hfv2df2,
11822 trunc<mode>v4hf2,truncv2dfv2hf2,
11823 *avx512bw_permvar_truncv16siv16hi_1,
11824 *avx512bw_permvar_truncv16siv16hi_1_hf,
11825 *avx512f_permvar_truncv8siv8hi_1,
11826 *avx512f_permvar_truncv8siv8hi_1_hf,
11827 *avx512f_vpermvar_truncv8div8si_1,
11828 *avx512f_permvar_truncv32hiv32qi_1,
11829 *avx512f_permvar_truncv16hiv16qi_1,
11830 *avx512f_permvar_truncv4div4si_1,
11831 *avx512f_pshufb_truncv8hiv8qi_1,
11832 *avx512f_pshufb_truncv4siv4hi_1,
11833 *avx512f_pshufd_truncv2div2si_1,
11834 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
11835 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
11836
11837 2022-03-22 Tom de Vries <tdevries@suse.de>
11838
11839 PR target/104925
11840 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
11841 Use % as register prefix.
11842
11843 2022-03-22 Tom de Vries <tdevries@suse.de>
11844
11845 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
11846 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
11847 mexperimental.
11848
11849 2022-03-22 Tom de Vries <tdevries@suse.de>
11850
11851 * config/nvptx/nvptx.opt (mexperimental): New option.
11852
11853 2022-03-22 Tom de Vries <tdevries@suse.de>
11854
11855 PR target/104957
11856 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
11857 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
11858 for alias.
11859 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
11860 (nvptx_asm_output_def_from_decls): New function.
11861 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
11862 gcc_unreachable ().
11863 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
11864 nvptx_asm_output_def_from_decls.
11865 * config/nvptx/nvptx.opt (malias): New opt.
11866
11867 2022-03-22 Tom de Vries <tdevries@suse.de>
11868
11869 PR target/104916
11870 PR target/104783
11871 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
11872 sync (or uniform warp check for mptx < 6.0).
11873
11874 2022-03-22 Richard Biener <rguenther@suse.de>
11875
11876 PR tree-optimization/105012
11877 * tree-if-conv.cc (ifcvt_local_dce): Only call
11878 dse_classify_store when we have a VDEF.
11879
11880 2022-03-22 Martin Liska <mliska@suse.cz>
11881
11882 PR target/104902
11883 * config/nvptx/nvptx.cc (handle_ptx_version_option):
11884 Fix option wrapping in an error message.
11885
11886 2022-03-22 Martin Liska <mliska@suse.cz>
11887
11888 PR target/104903
11889 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
11890 Wrap const keyword.
11891
11892 2022-03-22 Martin Liska <mliska@suse.cz>
11893
11894 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
11895 name.
11896
11897 2022-03-22 Martin Liska <mliska@suse.cz>
11898
11899 PR target/104898
11900 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
11901 Use %qs instead of (%qs).
11902
11903 2022-03-22 Martin Liska <mliska@suse.cz>
11904
11905 PR target/104898
11906 * config/i386/i386-options.cc (ix86_option_override_internal):
11907 Use '%qs' instead of '(%qs)'.
11908
11909 2022-03-22 Martin Liska <mliska@suse.cz>
11910
11911 PR target/104898
11912 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
11913 Use 'qs' and remove usage '(%qs)'.
11914 (aarch64_handle_attr_cpu): Likewise.
11915 (aarch64_handle_attr_tune): Likewise.
11916 (aarch64_handle_attr_isa_flags): Likewise.
11917
11918 2022-03-22 Tamar Christina <tamar.christina@arm.com>
11919 Andre Vieira <andre.simoesdiasvieira@arm.com>
11920
11921 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
11922 struct.
11923 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
11924 cost.
11925 (neoverse512tvb_tunings): Likewise.
11926
11927 2022-03-22 Tamar Christina <tamar.christina@arm.com>
11928 Andre Vieira <andre.simoesdiasvieira@arm.com>
11929
11930 * config/aarch64/aarch64.cc (demeter_addrcost_table,
11931 demeter_regmove_cost, demeter_advsimd_vector_cost,
11932 demeter_sve_vector_cost, demeter_scalar_issue_info,
11933 demeter_advsimd_issue_info, demeter_sve_issue_info,
11934 demeter_vec_issue_info, demeter_vector_cost,
11935 demeter_tunings): New tuning structs.
11936 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
11937 tuning.
11938 * config/aarch64/aarch64-cores.def: Add entry for demeter.
11939 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
11940
11941 2022-03-22 Tamar Christina <tamar.christina@arm.com>
11942 Andre Vieira <andre.simoesdiasvieira@arm.com>
11943
11944 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
11945 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
11946 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
11947 tunings to use cpu_memmov_cost struct.
11948
11949 2022-03-22 Tamar Christina <tamar.christina@arm.com>
11950 Andre Vieira <andre.simoesdiasvieira@arm.com>
11951
11952 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
11953 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
11954 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
11955 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
11956 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
11957 (neoversen2_tunings): Use new structs and update tuning flags.
11958 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
11959 tuning.
11960
11961 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
11962
11963 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
11964 bit.
11965
11966 2022-03-22 liuhongt <hongtao.liu@intel.com>
11967
11968 PR target/104982
11969 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
11970 following splitter to reversed condition.
11971
11972 2022-03-22 Jakub Jelinek <jakub@redhat.com>
11973
11974 PR rtl-optimization/104989
11975 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
11976 sorry for passing too large argument, instead set sibcall_failure
11977 for pass == 0, or a new normal_failure flag otherwise. If
11978 normal_failure is set, don't assert all stack has been deallocated
11979 at the end and throw away the whole insn sequence.
11980
11981 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
11982
11983 * print-tree.cc: Change array length
11984
11985 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
11986
11987 PR target/104978
11988 * config/i386/sse.md
11989 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
11990 Use avx512f_movsf_mask instead of vmovaps or vblend, and
11991 force_reg before lowpart_subreg.
11992 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
11993
11994 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
11995
11996 PR target/105000
11997 * common/config/i386/i386-common.cc
11998 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
11999 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
12000
12001 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
12002
12003 PR target/104998
12004 * common/config/i386/cpuinfo.h (get_available_features): Pass
12005 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
12006 bit_AESKLE is set.
12007
12008 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
12009
12010 PR middle-end/104869
12011 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
12012 (clobber_group::next_clobber): Likewise.
12013 (def_lookup::prev_def): Rename to...
12014 (def_lookup::last_def_of_prev_group): ...this.
12015 (def_lookup::next_def): Rename to...
12016 (def_lookup::first_def_of_next_group): ...this.
12017 (def_lookup::matching_or_prev_def): Rename to...
12018 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
12019 (def_lookup::matching_or_next_def): Rename to...
12020 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
12021 (def_lookup::prev_def): New function, taking the lookup insn as
12022 argument.
12023 (def_lookup::next_def): Likewise.
12024 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
12025 (def_lookup::last_def_of_prev_group): ...this.
12026 (def_lookup::next_def): Rename to...
12027 (def_lookup::first_def_of_next_group): ...this.
12028 (def_lookup::matching_or_prev_def): Rename to...
12029 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
12030 (def_lookup::matching_or_next_def): Rename to...
12031 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
12032 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
12033 above renaming.
12034 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
12035 (clobber_group::next_clobber): Likewise.
12036 (def_lookup::prev_def): Likewise.
12037 (def_lookup::next_def): Likewise.
12038 (function_info::make_use_available): Pass the lookup insn to
12039 def_lookup::prev_def and def_lookup::next_def.
12040
12041 2022-03-21 Martin Liska <mliska@suse.cz>
12042
12043 * doc/invoke.texi: Document min-pagesize parameter.
12044
12045 2022-03-21 Richard Biener <rguenther@suse.de>
12046
12047 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
12048 we are estimating niter of loop.
12049
12050 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
12051
12052 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
12053 Update flag name and mask name.
12054 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
12055 misc macro for vector extensions.
12056 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
12057 (MASK_VECTOR_ELEN_32): ... this.
12058 (MASK_VECTOR_EEW_64): Rename to ...
12059 (MASK_VECTOR_ELEN_64): ... this.
12060 (MASK_VECTOR_EEW_FP_32): Rename to ...
12061 (MASK_VECTOR_ELEN_FP_32): ... this.
12062 (MASK_VECTOR_EEW_FP_64): Rename to ...
12063 (MASK_VECTOR_ELEN_FP_64): ... this.
12064 (TARGET_VECTOR_ELEN_32): New.
12065 (TARGET_VECTOR_ELEN_64): Ditto.
12066 (TARGET_VECTOR_ELEN_FP_32): Ditto.
12067 (TARGET_VECTOR_ELEN_FP_64): Ditto.
12068 (TARGET_MIN_VLEN): Ditto.
12069 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
12070 (riscv_vector_elen_flags): ... this.
12071
12072 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
12073
12074 PR target/104977
12075 * config/i386/sse.md
12076 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
12077 Correct round operand for intel dialect.
12078
12079 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
12080
12081 * diagnostic.cc (diagnostic_cc_tests): Rename to...
12082 (c_diagnostic_cc_tests): ...this.
12083 * opt-problem.cc (opt_problem_cc_tests): Rename to...
12084 (c_opt_problem_cc_tests): ...this.
12085 * selftest-run-tests.cc (selftest::run_tests): No longer run
12086 opt_problem_cc_tests or diagnostic_cc_tests.
12087 * selftest.h (diagnostic_cc_tests): Remove declaration.
12088 (opt_problem_cc_tests): Likewise.
12089
12090 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
12091
12092 PR jit/63854
12093 * hash-traits.h (struct typed_const_free_remove): New.
12094 (struct free_string_hash): New.
12095 * pass_manager.h: Use free_string_hash.
12096 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
12097 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
12098
12099 2022-03-19 Jakub Jelinek <jakub@redhat.com>
12100
12101 PR middle-end/104971
12102 * config/i386/i386-expand.cc
12103 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
12104 don't push/pop anything and just return const0_rtx.
12105
12106 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
12107
12108 PR rtl-optimization/104961
12109 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
12110
12111 2022-03-18 Jason Merrill <jason@redhat.com>
12112
12113 * tree.h (IDENTIFIER_LENGTH): Add comment.
12114
12115 2022-03-18 Jakub Jelinek <jakub@redhat.com>
12116
12117 PR middle-end/99578
12118 PR middle-end/100680
12119 PR tree-optimization/100834
12120 * params.opt (--param=min-pagesize=): New parameter.
12121 * pointer-query.cc
12122 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
12123 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
12124 of zero for pointer constants equal or larger than min-pagesize.
12125
12126 2022-03-18 Tom de Vries <tdevries@suse.de>
12127
12128 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
12129 Set gfor location only when dealing with a OMP_TASKLOOP.
12130
12131 2022-03-18 Tom de Vries <tdevries@suse.de>
12132
12133 * gimplify.cc (gimplify_omp_for): Set taskloop location.
12134
12135 2022-03-18 Tom de Vries <tdevries@suse.de>
12136
12137 PR target/104952
12138 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
12139 is executed unconditionally.
12140
12141 2022-03-18 liuhongt <hongtao.liu@intel.com>
12142
12143 PR target/104974
12144 * config/i386/i386.md (*movhi_internal): Set attr type from HI
12145 to HF for alternative 12 under TARGET_AVX512FP16.
12146
12147 2022-03-18 Cui,Lili <lili.cui@intel.com>
12148
12149 PR target/104963
12150 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
12151 * doc/invoke.texi: Update documents for Intel sapphirerapids.
12152
12153 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
12154
12155 PR target/86722
12156 PR tree-optimization/90356
12157 * config/i386/i386.md (*movtf_internal): Don't guard
12158 standard_sse_constant_p clause by optimize_function_for_size_p.
12159 (*movdf_internal): Likewise.
12160 (*movsf_internal): Likewise.
12161
12162 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
12163
12164 PR tree-optimization/102943
12165 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
12166 dominators and apply intermediary outgoing edge ranges.
12167
12168 2022-03-17 Richard Biener <rguenther@suse.de>
12169
12170 PR tree-optimization/104960
12171 * passes.def: Add pass parameter to pass_sink_code, mark
12172 last one to unsplit edges.
12173 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
12174 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
12175 when we need to unsplit edges.
12176
12177 2022-03-17 Jakub Jelinek <jakub@redhat.com>
12178
12179 PR middle-end/103984
12180 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
12181 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
12182 and asan unpoisioning, then append the temporary sequence and
12183 finally the TARGET_EXPR_CLEANUP clobbers.
12184
12185 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
12186
12187 * config/i386/sse.md: Delete corrupt character/typo.
12188
12189 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
12190
12191 PR target/94680
12192 * config/i386/sse.md (sse2_movq128): New define_expand to
12193 preserve previous named instruction.
12194 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
12195 generalized to VI8F_128 (both V2DI and V2DF).
12196
12197 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
12198
12199 PR tree-optimization/104941
12200 * tree-object-size.cc (size_for_offset): Make useless conversion
12201 check lighter and assign result of fold_convert to OFFSET.
12202
12203 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
12204
12205 PR target/104890
12206 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
12207 pushing target("general-regs-only").
12208
12209 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
12210
12211 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
12212 Add version info for zk, zks and zkn.
12213
12214 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
12215
12216 * common/config/riscv/riscv-common.cc
12217 (riscv_combine_info): New.
12218 (riscv_subset_list::handle_combine_ext): Combine back into zk to
12219 maintain the canonical order in isa strings.
12220 (riscv_subset_list::parse): Ditto.
12221 * config/riscv/riscv-subset.h (handle_combine_ext): New.
12222
12223 2022-03-16 Richard Biener <rguenther@suse.de>
12224
12225 PR tree-optimization/102008
12226 * passes.def: Move the added code sinking pass before the
12227 preceeding phiopt pass.
12228
12229 2022-03-16 Patrick Palka <ppalka@redhat.com>
12230
12231 PR c++/96780
12232 * doc/invoke.texi (C++ Dialect Options): Document
12233 -ffold-simple-inlines.
12234
12235 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
12236
12237 PR tree-optimization/104942
12238 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
12239
12240 2022-03-16 Jakub Jelinek <jakub@redhat.com>
12241
12242 PR target/104910
12243 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
12244 imm rtx.
12245
12246 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
12247 Richard Biener <rguenther@suse.de>
12248
12249 * gimple-match-head.cc (single_use): Implement inline using a
12250 single loop.
12251
12252 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
12253
12254 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
12255 instead of HONOR_NANS.
12256 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
12257 this can't trap/signal.
12258
12259 2022-03-16 liuhongt <hongtao.liu@intel.com>
12260
12261 PR target/104946
12262 * config/i386/i386-builtin.def (BDESC): Add
12263 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
12264 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
12265 __builtin_ia32_blendvpd w/o sse4.2
12266
12267 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
12268
12269 PR target/104923
12270 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
12271 acceptable MEM addresses.
12272
12273 2022-03-15 Jakub Jelinek <jakub@redhat.com>
12274
12275 PR target/91229
12276 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
12277 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
12278 to warning calls.
12279
12280 2022-03-15 Jakub Jelinek <jakub@redhat.com>
12281
12282 PR target/104890
12283 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
12284 instead of general-regs-only.
12285
12286 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
12287 Marc Glisse <marc.glisse@inria.fr>
12288 Richard Biener <rguenther@suse.de>
12289
12290 PR tree-optimization/101895
12291 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
12292 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
12293
12294 2022-03-15 Jakub Jelinek <jakub@redhat.com>
12295
12296 PR rtl-optimization/104814
12297 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
12298 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
12299
12300 2022-03-15 Martin Sebor <msebor@redhat.com>
12301
12302 PR middle-end/104436
12303 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
12304 Check for warning suppression. Avoid by-value arguments transformed
12305 into by-transparent-reference.
12306
12307 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
12308 Uroš Bizjak <ubizjak@gmail.com>
12309
12310 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
12311 transformation when *zero_extend<mode>si2 is not available.
12312
12313 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
12314
12315 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
12316 * config/mips/mips.cc (mips_option_override): Make
12317 -fsanitize=address imply -fasynchronous-unwind-tables. This is
12318 needed by libasan for stack backtrace on MIPS.
12319 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
12320
12321 2022-03-14 Jakub Jelinek <jakub@redhat.com>
12322
12323 PR debug/104778
12324 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
12325 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
12326 call simplified the first operand into VOIDmode constant.
12327
12328 2022-03-14 Jakub Jelinek <jakub@redhat.com>
12329
12330 PR tree-optimization/102586
12331 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
12332 argument type should be pointer to trivially-copyable type unless it
12333 is address of a variable or parameter.
12334
12335 2022-03-14 Jakub Jelinek <jakub@redhat.com>
12336
12337 PR target/99754
12338 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
12339 first rather than last element of the vector, use __m32_u to do
12340 a really unaligned load, use just 0 instead of (int)0.
12341 (_mm_loadu_si16): Put loaded value into first rather than last
12342 element of the vector, use __m16_u to do a really unaligned load,
12343 use just 0 instead of (short)0.
12344
12345 2022-03-14 Jakub Jelinek <jakub@redhat.com>
12346
12347 PR other/104899
12348 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
12349 in diagnostic message - cannott -> cannot. Use %< and %> around
12350 names of attribute. Avoid too long line.
12351 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
12352 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
12353
12354 2022-03-14 liuhongt <hongtao.liu@intel.com>
12355
12356 PR target/104666
12357 * config/i386/i386-expand.cc
12358 (ix86_check_builtin_isa_match): New func.
12359 (ix86_expand_builtin): Move code to
12360 ix86_check_builtin_isa_match and call it.
12361 * config/i386/i386-protos.h
12362 (ix86_check_builtin_isa_match): Declare.
12363 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
12364 builtin into gimple when isa mismatches.
12365
12366 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
12367
12368 * doc/invoke.texi: Fix typos.
12369 * doc/tm.texi.in: Remove duplicated word.
12370 * doc/tm.texi: Regenerate.
12371
12372 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
12373
12374 PR target/104829
12375 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
12376 "ppc" and "ppc64" based on rs6000_cpu.
12377
12378 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
12379
12380 PR middle-end/100280
12381 PR middle-end/104892
12382 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
12383 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
12384
12385 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
12386
12387 PR middle-end/100280
12388 PR middle-end/104086
12389 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
12390 Mark variables used in 'present' clauses as addressable.
12391 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
12392 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
12393
12394 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
12395
12396 PR other/65095
12397 * tree-core.h (user_omp_claus_code_name): Declare function.
12398 * tree.cc (user_omp_clause_code_name): New function.
12399
12400 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
12401
12402 PR middle-end/98420
12403 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
12404 (the defaut) or -fno-signed-zeros.
12405
12406 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
12407
12408 PR target/104868
12409 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
12410 moving from a GPR register to an Altivec register.
12411
12412 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
12413
12414 PR tree-optimization/98335
12415 * config/i386/i386.md (peephole2): Eliminate redundant insv.
12416 Combine movl followed by movb. Transform xorl followed by
12417 a suitable movb or movw into the equivalent movz[bw]l.
12418
12419 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
12420 Richard Biener <rguenther@suse.de>
12421
12422 PR tree-optimization/98335
12423 * builtins.cc (get_object_alignment_2): Export.
12424 * builtins.h (get_object_alignment_2): Likewise.
12425 * tree-ssa-alias.cc (ao_ref_alignment): New.
12426 * tree-ssa-alias.h (ao_ref_alignment): Declare.
12427 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
12428 to align head/tail, writing more bytes but using fewer store insns.
12429
12430 2022-03-11 Richard Biener <rguenther@suse.de>
12431
12432 PR tree-optimization/104880
12433 * tree-ssa.cc (execute_update_address_taken): Remember if we
12434 optimistically made something not addressable and
12435 prepare to undo it.
12436
12437 2022-03-11 Richard Biener <rguenther@suse.de>
12438
12439 PR target/104762
12440 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
12441 cost the first lane of SSE pieces as inserts for vec_construct.
12442
12443 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
12444
12445 PR c++/84964
12446 * calls.cc (expand_call): Ignore stack adjustments after sorry.
12447
12448 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
12449
12450 PR target/103074
12451 * lra-constraints.cc (split_reg): Set up
12452 check_and_force_assignment_correctness_p when splitting hard
12453 register live range.
12454
12455 2022-03-10 Martin Jambor <mjambor@suse.cz>
12456
12457 PR ipa/104813
12458 * ipa-cp.cc (create_specialized_node): Move removal of
12459 self-recursive calls from callers vector before refrence
12460 adjustments.
12461
12462 2022-03-10 Richard Biener <rguenther@suse.de>
12463
12464 PR tree-optimization/102943
12465 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
12466 Make a bitmap_head.
12467 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
12468 to tree view.
12469 (sbr_sparse_bitmap::set_bb_range): Adjust.
12470 (sbr_sparse_bitmap::get_bb_range): Likewise.
12471
12472 2022-03-10 Richard Biener <rguenther@suse.de>
12473
12474 PR tree-optimization/102943
12475 * tree-ssa-dom.cc (back_propagate_equivalences): Only
12476 populate the dominance bitmap if fast queries are not
12477 available. Use a tree view bitmap.
12478 (record_temporary_equivalences): Cache the dominance bitmap
12479 across all equivalences on the edge.
12480
12481 2022-03-10 Tom de Vries <tdevries@suse.de>
12482
12483 PR target/104840
12484 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
12485 of false,true.
12486
12487 2022-03-10 Tom de Vries <tdevries@suse.de>
12488
12489 PR target/104783
12490 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
12491 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
12492 (nvptx_get_unisimt_outside_simt_predicate): New function.
12493 (predicate_insn): New function, factored out of ...
12494 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
12495 * config/nvptx/nvptx.h (struct machine_function): Add
12496 unisimt_outside_simt_predicate field.
12497 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
12498 (define_insn "nvptx_uniform_warp_check"): Make predicable.
12499
12500 2022-03-10 Tom de Vries <tdevries@suse.de>
12501
12502 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
12503 result.
12504
12505 2022-03-10 Tom de Vries <tdevries@suse.de>
12506
12507 PR target/104815
12508 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
12509 modifier.
12510 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
12511
12512 2022-03-10 Tom de Vries <tdevries@suse.de>
12513
12514 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
12515 Emit atom.and.b64 instead of atom.b64.and.
12516
12517 2022-03-10 Tom de Vries <tdevries@suse.de>
12518
12519 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
12520 (MULTILIB_OPTIONS): ... here.
12521
12522 2022-03-10 Tom de Vries <tdevries@suse.de>
12523
12524 PR target/104758
12525 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
12526 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
12527
12528 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
12529
12530 PR middle-end/90115
12531 PR middle-end/102330
12532 PR middle-end/104774
12533 * omp-low.cc (oacc_privatization_candidate_p)
12534 (oacc_privatization_scan_clause_chain)
12535 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
12536 Analyze 'lookup_decl'-translated DECL.
12537
12538 2022-03-10 Jakub Jelinek <jakub@redhat.com>
12539
12540 PR target/99708
12541 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
12542 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
12543 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
12544 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
12545 "**NULL**" if type_node is NULL first. Handle
12546 ieee128_float_type_node.
12547 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
12548 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
12549 ieee128_float_type_node to NULL rather than long_double_type_node if
12550 they aren't supported. Do support __ibm128 even if
12551 !TARGET_FLOAT128_TYPE when long double is double double.
12552 (rs6000_expand_builtin): Error if bif_is_ibm128 and
12553 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
12554 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
12555 for it.
12556 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
12557 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
12558 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
12559 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
12560 Formatting fix.
12561 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
12562 (struct attrinfo): Add isibm128 member.
12563 (TYPE_MAP_SIZE): Remove.
12564 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
12565 ibm128_float_type_node only if it is non-NULL, otherwise fall back
12566 to long_double_type_node. Remove "pif" entry.
12567 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
12568 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
12569 (write_type_node): Use sizeof type_map / sizeof type_map[0]
12570 instead of TYPE_MAP_SIZE.
12571 (write_bif_static_init): Handle isibm128.
12572 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
12573 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
12574 attribute.
12575
12576 2022-03-09 Richard Biener <rguenther@suse.de>
12577
12578 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
12579 with non-decl operand, avoiding a copy.
12580
12581 2022-03-09 Jakub Jelinek <jakub@redhat.com>
12582
12583 PR target/104781
12584 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
12585
12586 2022-03-09 Richard Biener <rguenther@suse.de>
12587
12588 PR middle-end/104786
12589 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
12590 for VLAs without an upper size bound.
12591
12592 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
12593
12594 PR tree-optimization/104851
12595 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
12596 error.
12597
12598 2022-03-09 Jakub Jelinek <jakub@redhat.com>
12599
12600 PR c/104711
12601 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
12602 is enabled by it only for C++11 to C++17 rather than for C++03 or
12603 later.
12604 (-Wshift-negative-value): Similarly (except here we stated
12605 that it is enabled for C++11 or later).
12606
12607 2022-03-09 Jakub Jelinek <jakub@redhat.com>
12608
12609 PR rtl-optimization/104839
12610 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
12611 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
12612 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
12613 instead of incorrect 0 in SUBREG_PROMOTED_SET.
12614
12615 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
12616
12617 PR target/104842
12618 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
12619 value before adding an offset.
12620
12621 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
12622
12623 * config/arm/arm-builtins.cc
12624 (arm_binop_none_none_unone_qualifiers): Delete.
12625 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
12626
12627 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
12628
12629 PR translation/104552
12630 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
12631 the PCH out of memory error message punctuation and wording.
12632
12633 2022-03-08 Marek Polacek <polacek@redhat.com>
12634
12635 PR rtl-optimization/104777
12636 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
12637 ASM_OPERANDS_LABEL_VEC has at least one element.
12638
12639 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
12640
12641 PR target/104781
12642 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
12643 stack realignment or regparm nested function with EH return.
12644
12645 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
12646
12647 PR target/104790
12648 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
12649 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
12650 register for non widening loads or narrowing stores.
12651
12652 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
12653
12654 PR translation/104552
12655 * params.opt: Fix typo.
12656
12657 2022-03-08 Richard Biener <rguenther@suse.de>
12658
12659 PR tree-optimization/84201
12660 * params.opt (-param=vect-induction-float): Add.
12661 * doc/invoke.texi (vect-induction-float): Document.
12662 * tree-vect-loop.cc (vectorizable_induction): Honor
12663 param_vect_induction_float.
12664
12665 2022-03-08 Martin Jambor <mjambor@suse.cz>
12666
12667 PR translation/104552
12668 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
12669 "that" in the description.
12670
12671 2022-03-08 Richard Biener <rguenther@suse.de>
12672
12673 PR tree-optimization/104825
12674 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
12675 guard modref get_ao_ref on a pointer typed argument.
12676
12677 2022-03-08 liuhongt <hongtao.liu@intel.com>
12678
12679 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
12680 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
12681
12682 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
12683
12684 * doc/invoke.texi (C++ Modules): Remove anachronism.
12685
12686 2022-03-07 Martin Liska <mliska@suse.cz>
12687
12688 PR middle-end/104381
12689 * opts.cc (finish_options): If debug info is disabled
12690 (debug_info_level) and -fvar-tracking is unset, disable it.
12691
12692 2022-03-07 Jakub Jelinek <jakub@redhat.com>
12693
12694 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
12695 * config/riscv/riscv.cc: Likewise.
12696 * config/darwin.h: Likewise.
12697 * config/i386/i386.cc: Likewise.
12698 * config/aarch64/thunderx3t110.md: Likewise.
12699 * config/aarch64/fractional-cost.h: Likewise.
12700 * config/vax/vax.cc: Likewise.
12701 * config/rs6000/pcrel-opt.md: Likewise.
12702 * config/rs6000/predicates.md: Likewise.
12703 * ctfc.h: Likewise.
12704 * tree-ssa-uninit.cc: Likewise.
12705 * value-relation.h: Likewise.
12706 * gimple-range-gori.cc: Likewise.
12707 * ipa-polymorphic-call.cc: Likewise.
12708 * pointer-query.cc: Likewise.
12709 * ipa-sra.cc: Likewise.
12710 * internal-fn.cc: Likewise.
12711 * varasm.cc: Likewise.
12712 * gimple-ssa-warn-access.cc: Likewise.
12713
12714 2022-03-07 Martin Liska <mliska@suse.cz>
12715
12716 PR target/104794
12717 * config/arm/arm.cc (arm_option_override_internal): Add missing
12718 space.
12719
12720 2022-03-07 Richard Biener <rguenther@suse.de>
12721
12722 PR tree-optimization/104782
12723 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
12724 Re-instantiate r10-5979 fix, add comment.
12725
12726 2022-03-07 Martin Liska <mliska@suse.cz>
12727
12728 PR target/104797
12729 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
12730 parenthesis from built-in name.
12731
12732 2022-03-07 Martin Liska <mliska@suse.cz>
12733
12734 PR target/104794
12735 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
12736 of options in error messages.
12737 (arm_option_reconfigure_globals): Likewise.
12738
12739 2022-03-07 Martin Liska <mliska@suse.cz>
12740
12741 PR target/104794
12742 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
12743 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
12744 have only range [0,32].
12745
12746 2022-03-07 Jakub Jelinek <jakub@redhat.com>
12747
12748 PR target/104775
12749 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
12750 S constraint instead of T in the last alternative.
12751
12752 2022-03-07 Martin Liska <mliska@suse.cz>
12753
12754 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
12755 message.
12756
12757 2022-03-07 Martin Liska <mliska@suse.cz>
12758
12759 PR translation/90148
12760 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
12761 quote to a proper place.
12762 * plugin.cc (default_plugin_dir_name): Likewise.
12763
12764 2022-03-07 Martin Liska <mliska@suse.cz>
12765
12766 PR target/99297
12767 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
12768 string.
12769
12770 2022-03-07 Jakub Jelinek <jakub@redhat.com>
12771
12772 PR target/104779
12773 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
12774 define_expand pattern. Rename define_insn to ...
12775 (*avx512dq_mul<mode>3<mask_name>): ... this.
12776 (<code><mode>3_mask): New any_logic define_expand pattern.
12777 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
12778 (*<code><mode>3<mask_name>): ... this.
12779
12780 2022-03-05 Jakub Jelinek <jakub@redhat.com>
12781
12782 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
12783 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
12784
12785 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
12786 Uroš Bizjak <ubizjak@gmail.com>
12787
12788 PR testsuite/104732
12789 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
12790 Include DI mode unconditionally.
12791 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
12792 i.e. always split on !TARGET_64BIT.
12793 (*<any_or>di3_doubleword): Likewise.
12794 (*one_cmpldi2_doubleword): Likewise.
12795 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
12796 (<any_or><mode>3 expander): Likewise.
12797 (one_cmpl<mode>2 expander): Likewise.
12798
12799 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
12800
12801 PR target/104698
12802 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
12803 (mtvsrdd_diti_w1): Delete.
12804 (extendditi2): Convert from define_expand to
12805 define_insn_and_split. Replace with code to deal with both GPR
12806 registers and with altivec registers.
12807
12808 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
12809
12810 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
12811 bit. Handle most older CPUs.
12812
12813 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
12814
12815 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
12816 avoid a mismatch with DECL_MD_FUNCTION_CODE().
12817
12818 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
12819
12820 PR target/104117
12821 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
12822 (@machopic_low_<mode>): New.
12823 * config/rs6000/predicates.md (macho_pic_address): New.
12824 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
12825 apply the TLS processing to Darwin.
12826 * lra-constraints.cc (process_address_1): Revert the changes
12827 in r12-7209.
12828
12829 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
12830
12831 PR target/87496
12832 PR target/104208
12833 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
12834 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
12835 -mlong-double-128.
12836 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
12837 from here...
12838 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
12839 ... to here.
12840
12841 2022-03-04 Jakub Jelinek <jakub@redhat.com>
12842
12843 PR middle-end/104529
12844 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
12845 on automatic objects which will be runtime initialized.
12846
12847 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
12848
12849 PR middle-end/100280
12850 PR middle-end/104132
12851 PR middle-end/104133
12852 * omp-low.cc (task_shared_vars): Rename to
12853 'make_addressable_vars'. Adjust all users.
12854 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
12855 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
12856
12857 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
12858
12859 PR middle-end/100280
12860 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
12861 * tree-core.h: Document it.
12862 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
12863 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
12864 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
12865 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
12866 'TREE_ADDRESSABLE'.
12867
12868 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
12869
12870 PR middle-end/100280
12871 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
12872 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
12873 '[...]' declared in block made addressable".
12874
12875 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
12876
12877 PR middle-end/100400
12878 PR middle-end/103836
12879 PR middle-end/104061
12880 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
12881 Catch 'GIMPLE_DEBUG'.
12882
12883 2022-03-04 Jakub Jelinek <jakub@redhat.com>
12884
12885 PR c/104627
12886 * tree.cc (warn_deprecated_use): For types prefer to use node
12887 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
12888 NULL.
12889
12890 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
12891
12892 PR target/104704
12893 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
12894 a pseudo register.
12895
12896 2022-03-03 Martin Sebor <msebor@redhat.com>
12897
12898 PR middle-end/104761
12899 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
12900 mark_dfs_back_edges.
12901
12902 2022-03-03 Martin Liska <mliska@suse.cz>
12903
12904 * configure.ac: Use linker plug-in by default.
12905 * configure: Regenerate.
12906
12907 2022-03-03 Martin Liska <mliska@suse.cz>
12908
12909 * configure.ac: Now ld.mold support LTO plugin API, use it.
12910 * configure: Regenerate.
12911
12912 2022-03-03 Tom de Vries <tdevries@suse.de>
12913
12914 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
12915
12916 2022-03-03 Tom de Vries <tdevries@suse.de>
12917
12918 PR target/104758
12919 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
12920
12921 2022-03-03 Tom de Vries <tdevries@suse.de>
12922
12923 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
12924
12925 2022-03-03 Jakub Jelinek <jakub@redhat.com>
12926
12927 PR middle-end/104757
12928 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
12929 gimplify_omp_for.
12930 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
12931 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
12932
12933 2022-03-03 Jakub Jelinek <jakub@redhat.com>
12934
12935 PR middle-end/104558
12936 * calls.cc (store_one_arg): When not calling emit_push_insn
12937 because size_rtx is const0_rtx, call at least anti_adjust_stack
12938 on arg->locate.alignment_pad if !argblock and the alignment might
12939 be non-zero.
12940
12941 2022-03-02 Alexandre Oliva <oliva@adacore.com>
12942
12943 * lra-constraints.cc (undo_optional_reloads): Recognize and
12944 drop insns of multi-word move sequences, tolerate removal
12945 iteration on an already-removed clobber, and refuse to
12946 substitute original pseudos into clobbers.
12947
12948 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
12949
12950 PR middle-end/102276
12951 * common.opt (-Wtrivial-auto-var-init): New option.
12952 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
12953 (-ftrivial-auto-var-init): Update option;
12954 * gimplify.cc (emit_warn_switch_unreachable): New function.
12955 (warn_switch_unreachable_r): Rename to ...
12956 (warn_switch_unreachable_and_auto_init_r): This.
12957 (maybe_warn_switch_unreachable): Rename to ...
12958 (maybe_warn_switch_unreachable_and_auto_init): This.
12959 (gimplify_switch_expr): Update calls to renamed function.
12960
12961 2022-03-02 Richard Biener <rguenther@suse.de>
12962
12963 PR rtl-optimization/104686
12964 * ira-color.cc (object_conflicts_with_allocno_p): New function
12965 using a bitvector test instead of iterating when possible.
12966 (allocnos_conflict_p): Choose the best allocno to iterate over
12967 object conflicts.
12968 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
12969 last.
12970
12971 2022-03-02 Jakub Jelinek <jakub@redhat.com>
12972
12973 * cfg.cc (dump_edge_info): Dump goto_locus if present.
12974
12975 2022-03-02 Jakub Jelinek <jakub@redhat.com>
12976
12977 PR rtl-optimization/104589
12978 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
12979 INSN_LOCATION comparison with goto_locus.
12980
12981 2022-03-02 Jakub Jelinek <jakub@redhat.com>
12982
12983 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
12984 strlen_pass::before_dom_children): Comment spelling fixes.
12985
12986 2022-03-02 Jakub Jelinek <jakub@redhat.com>
12987
12988 * ipa-modref-tree.cc (modref_access_node::contains,
12989 modref_access_node::closer_pair_p, modref_access_node::insert,
12990 modref_access_node::insert_kill): Comment spelling fixes.
12991 * ipa-modref.cc: Likewise.
12992 (modref_summary::finalize, ignore_nondeterminism_p,
12993 class modref_access_analysis,
12994 modref_access_analysis::set_side_effects,
12995 modref_access_analysis::set_nondeterministic,
12996 modref_access_analysis::record_global_memory_load,
12997 modref_access_analysis::propagate, modref_access_analysis::analyze,
12998 struct escape_point, class modref_lattice, modref_lattice::merge,
12999 modref_lattice::merge_deref, class modref_eaf_analysis,
13000 modref_eaf_analysis::merge_call_lhs_flags,
13001 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
13002 modref_eaf_analysis::record_escape_points, remap_kills,
13003 update_escape_summary, remove_useless_summaries,
13004 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
13005 Likewise.
13006 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
13007 Likewise.
13008 * ipa-modref-tree.h (enum modref_special_parms,
13009 struct modref_access_node): Likewise.
13010
13011 2022-03-01 Jakub Jelinek <jakub@redhat.com>
13012
13013 PR tree-optimization/104715
13014 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
13015 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
13016 of a call if gimple_call_return_arg is equal to ptr, not just when it
13017 is non-NULL.
13018
13019 2022-03-01 Jakub Jelinek <jakub@redhat.com>
13020
13021 * gimple-ssa-warn-access.cc (warn_string_no_nul,
13022 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
13023 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
13024 pass_waccess::check_alloca, pass_waccess::check_strcat,
13025 memmodel_to_uhwi, fntype_argno_type,
13026 pass_waccess::maybe_check_access_sizes,
13027 pass_waccess::check_call_access,
13028 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
13029 Comment spelling fixes.
13030
13031 2022-03-01 Richard Biener <rguenther@suse.de>
13032
13033 PR tree-optimization/104716
13034 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
13035 Check if we can copy the loop.
13036
13037 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
13038
13039 PR middle-end/104721
13040 * cfgexpand.cc (expand_gimple_basic_block): Clear
13041 currently_expanding_gimple_stmt when returning inside the loop.
13042
13043 2022-03-01 Martin Liska <mliska@suse.cz>
13044
13045 PR ipa/104533
13046 * multiple_target.cc (get_attr_len): Move to tree.c.
13047 (expand_target_clones): Remove single value checking.
13048 * tree.cc (get_target_clone_attr_len): New fn.
13049 * tree.h (get_target_clone_attr_len): Likewise.
13050
13051 2022-03-01 Martin Liska <mliska@suse.cz>
13052
13053 PR gcov-profile/104677
13054 * doc/invoke.texi: Document more .gcda file name generation.
13055
13056 2022-03-01 Tom de Vries <tdevries@suse.de>
13057
13058 PR target/102429
13059 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
13060 * config/nvptx/nvptx.md
13061 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
13062 New predicate.
13063 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
13064 Use nvptx_register_or_complex_di_df_register_operand.
13065
13066 2022-03-01 Tom de Vries <tdevries@suse.de>
13067
13068 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
13069 * config/nvptx/gen-copyright.sh: New file.
13070 * config/nvptx/gen-h.sh: New file.
13071 * config/nvptx/gen-opt.sh: New file.
13072 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
13073 (TARGET_SM75, TARGET_SM80): Move ...
13074 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
13075 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
13076 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
13077 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
13078 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
13079
13080 2022-03-01 Tom de Vries <tdevries@suse.de>
13081
13082 * config/nvptx/gen-omp-device-properties.sh: New file.
13083 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
13084
13085 2022-03-01 Tom de Vries <tdevries@suse.de>
13086
13087 * config/nvptx/nvptx-sm.def: New file.
13088 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
13089 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
13090 * config/nvptx/nvptx.cc (sm_version_to_string)
13091 (nvptx_omp_device_kind_arch_isa): Same.
13092
13093 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
13094
13095 PR rtl-optimization/104154
13096 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
13097 comparison ifcvt passed us.
13098
13099 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
13100
13101 PR target/104664
13102 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
13103 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
13104
13105 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
13106
13107 PR tree-optimization/91384
13108 * config/i386/i386.md (peephole2): Eliminate final testl insn
13109 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
13110 transforming using *negsi_2 for the negation.
13111
13112 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
13113 Eric Botcazou <ebotcazou@adacore.com>
13114
13115 PR middle-end/80270
13116 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
13117 register, copy it to a pseudo before calling simplify_gen_subreg.
13118
13119 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
13120
13121 PR rtl-optimization/104637
13122 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
13123 as possible on one subpass.
13124
13125 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
13126
13127 PR middle-end/104550
13128 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
13129 created uses.
13130
13131 2022-02-28 Martin Liska <mliska@suse.cz>
13132
13133 PR ipa/104648
13134 * main.cc (main): Use flag_checking instead of CHECKING_P
13135 and run toplev::finalize only if there is not error seen.
13136
13137 2022-02-28 Richard Biener <rguenther@suse.de>
13138
13139 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
13140
13141 2022-02-28 Richard Biener <rguenther@suse.de>
13142
13143 PR tree-optimization/104700
13144 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
13145 into ...
13146 (find_or_generate_expression): ... here, simplifying code.
13147
13148 2022-02-28 Tom de Vries <tdevries@suse.de>
13149
13150 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
13151 PTX_VERSION_default.
13152 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
13153 PTX_VERSION_default.
13154 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
13155
13156 2022-02-28 Richard Biener <rguenther@suse.de>
13157
13158 PR rtl-optimization/104686
13159 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
13160 skipping bits that are zero.
13161 (ira_object_conflict_iter_cond): Likewise.
13162
13163 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
13164
13165 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
13166 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
13167 char to avoid error when using ~enum as parameter.
13168 (_mm512_mask_ternarylogic_epi64): Likewise.
13169 (_mm512_maskz_ternarylogic_epi64): Likewise.
13170 (_mm512_ternarylogic_epi32): Likewise.
13171 (_mm512_mask_ternarylogic_epi32): Likewise.
13172 (_mm512_maskz_ternarylogic_epi32): Likewise.
13173 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
13174 Adjust imm param type to unsigned char.
13175 (_mm256_mask_ternarylogic_epi64): Likewise.
13176 (_mm256_maskz_ternarylogic_epi64): Likewise.
13177 (_mm256_ternarylogic_epi32): Likewise.
13178 (_mm256_mask_ternarylogic_epi32): Likewise.
13179 (_mm256_maskz_ternarylogic_epi32): Likewise.
13180 (_mm_ternarylogic_epi64): Likewise.
13181 (_mm_mask_ternarylogic_epi64): Likewise.
13182 (_mm_maskz_ternarylogic_epi64): Likewise.
13183 (_mm_ternarylogic_epi32): Likewise.
13184 (_mm_mask_ternarylogic_epi32): Likewise.
13185 (_mm_maskz_ternarylogic_epi32): Likewise.
13186
13187 2022-02-25 Jakub Jelinek <jakub@redhat.com>
13188 Marc Glisse <marc.glisse@inria.fr>
13189
13190 PR tree-optimization/104675
13191 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
13192 Restrict simplifications to INTEGRAL_TYPE_P.
13193
13194 2022-02-25 Jakub Jelinek <jakub@redhat.com>
13195
13196 PR target/104681
13197 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
13198
13199 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
13200
13201 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
13202 comparison is not valid.
13203 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
13204 (movdicc): Likewise.
13205 (movsfcc): Likewise.
13206 (movdfcc): Likewise.
13207
13208 2022-02-25 Richard Biener <rguenther@suse.de>
13209
13210 PR tree-optimization/103037
13211 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
13212 (vn_nary_length_from_stmt): Likewise.
13213 (init_vn_nary_op_from_stmt): Likewise.
13214 (vn_nary_op_compute_hash): Likewise.
13215 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
13216 (vn_nary_length_from_stmt): Likewise.
13217 (init_vn_nary_op_from_stmt): Likewise.
13218 (vn_nary_op_compute_hash): Likewise.
13219 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
13220 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
13221 (re-)compute the hash value and if the expression is not
13222 found allocate it from pre_expr_obstack.
13223 (phi_translate_1): Do not insert the NARY found in the
13224 VN tables but build a PRE expression from the valueized
13225 NARY with the value-id we eventually found.
13226 (find_or_generate_expression): Assert we have an entry
13227 for constant values.
13228 (compute_avail): Insert not valueized expressions into
13229 EXP_GEN using the value-id from the VN tables.
13230 (init_pre): Allocate pre_expr_obstack.
13231 (fini_pre): Free pre_expr_obstack.
13232
13233 2022-02-25 Jakub Jelinek <jakub@redhat.com>
13234
13235 PR target/104674
13236 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
13237 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
13238 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
13239
13240 2022-02-25 Jakub Jelinek <jakub@redhat.com>
13241
13242 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
13243
13244 2022-02-25 Jakub Jelinek <jakub@redhat.com>
13245
13246 PR middle-end/104679
13247 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
13248
13249 2022-02-25 Jakub Jelinek <jakub@redhat.com>
13250
13251 PR tree-optimization/104675
13252 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
13253 COMPLEX_TYPE.
13254
13255 2022-02-25 Alexandre Oliva <oliva@adacore.com>
13256
13257 PR target/104121
13258 PR target/103302
13259 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
13260
13261 2022-02-25 Alexandre Oliva <oliva@adacore.com>
13262
13263 PR middle-end/104540
13264 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
13265 dw_cfi_cfa_loc.
13266
13267 2022-02-25 Alexandre Oliva <oliva@adacore.com>
13268
13269 PR tree-optimization/103856
13270 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
13271 eh edge to be requested through an extra parameter.
13272 (pass_harden_compares::execute): Copy PHI args in the EH dest
13273 block for the new EH edge added for the inverted compare.
13274
13275 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
13276
13277 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
13278 of position independence that -mcmodel=medany affords.
13279
13280 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
13281
13282 PR target/104656
13283 * configure.ac: --disable-gcov if targetting bpf-*.
13284 * configure: Regenerate.
13285
13286 2022-02-24 Richard Biener <rguenther@suse.de>
13287
13288 PR tree-optimization/104676
13289 * tree-loop-distribution.cc (loop_distribution::execute):
13290 Do a full scev_reset.
13291
13292 2022-02-24 Jakub Jelinek <jakub@redhat.com>
13293
13294 PR tree-optimization/104601
13295 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
13296 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
13297 vuse value number.
13298
13299 2022-02-24 Tom de Vries <tdevries@suse.de>
13300 Tobias Burnus <tobias@codesourcery.com>
13301
13302 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
13303 sm_70, sm_75 and sm_80.
13304 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
13305
13306 2022-02-24 Tom de Vries <tdevries@suse.de>
13307
13308 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
13309 "rotrsi3"): New define_insn.
13310
13311 2022-02-24 Tom de Vries <tdevries@suse.de>
13312
13313 * config/nvptx/nvptx.cc (gen_comment): Use
13314 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
13315
13316 2022-02-24 liuhongt <hongtao.liu@intel.com>
13317
13318 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
13319 isa attr of alternative 2 from avx to avx512vl.
13320
13321 2022-02-23 Richard Biener <rguenther@suse.de>
13322 Jakub Jelinek <jakub@redhat.com>
13323
13324 PR tree-optimization/104644
13325 * doc/match-and-simplify.texi: Amend ! documentation.
13326 * genmatch.cc (expr::gen_transform): Code-generate ! support
13327 for GENERIC.
13328 (parser::parse_expr): Allow ! for GENERIC.
13329 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
13330 bswap.
13331
13332 2022-02-23 Richard Biener <rguenther@suse.de>
13333
13334 PR tree-optimization/101636
13335 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
13336 vector type of the node.
13337 (vect_slp_analyze_operations): Make sure the CTOR
13338 is vectorized with an expected type.
13339 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
13340
13341 2022-02-23 Jakub Jelinek <jakub@redhat.com>
13342
13343 PR c/104633
13344 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
13345 Don't warn about calls to corresponding builtin from extern inline
13346 gnu_inline wrappers.
13347
13348 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
13349
13350 PR target/104489
13351 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
13352
13353 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
13354
13355 PR target/100757
13356 PR target/101325
13357 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
13358 typo.
13359
13360 2022-02-23 Cui,Lili <lili.cui@intel.com>
13361
13362 * doc/invoke.texi: Update documents for Intel architectures.
13363
13364 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
13365
13366 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
13367 bootstrap.
13368
13369 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
13370
13371 * omp-low.cc (omp_build_component_ref): Move function...
13372 * omp-general.cc (omp_build_component_ref): ... here. Remove
13373 'static'.
13374 * omp-general.h (omp_build_component_ref): Declare function.
13375 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
13376 function.
13377 (build_receiver_ref, build_sender_ref): Call
13378 'omp_build_component_ref' instead.
13379
13380 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
13381
13382 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
13383 simplify. Adjust all users.
13384
13385 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
13386
13387 PR target/88134
13388 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
13389 atomic_update_decl): Add GTY markup.
13390
13391 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13392
13393 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
13394
13395 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13396
13397 PR target/100757
13398 PR target/101325
13399 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
13400 predicate.
13401 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
13402 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
13403 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
13404 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
13405 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
13406 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
13407 * config/arm/mve.md: Use VxBI instead of HI.
13408
13409 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13410
13411 PR target/100757
13412 PR target/101325
13413 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
13414 qualifier.
13415 (STRSBU_P_QUALIFIERS): Likewise.
13416 (LDRGBS_Z_QUALIFIERS): Likewise.
13417 (LDRGBU_Z_QUALIFIERS): Likewise.
13418 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
13419 (LDRGBWBS_Z_QUALIFIERS): Likewise.
13420 (LDRGBWBU_Z_QUALIFIERS): Likewise.
13421 (STRSBWBS_P_QUALIFIERS): Likewise.
13422 (STRSBWBU_P_QUALIFIERS): Likewise.
13423 * config/arm/mve.md: Use VxBI instead of HI.
13424
13425 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13426
13427 PR target/100757
13428 PR target/101325
13429 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
13430 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
13431 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
13432 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
13433 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
13434 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
13435 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
13436 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
13437 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
13438 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
13439 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
13440 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
13441 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
13442 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
13443 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
13444 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
13445 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
13446 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
13447 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
13448 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
13449 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
13450 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
13451 (STRS_P_QUALIFIERS): Use predicate qualifier.
13452 (STRU_P_QUALIFIERS): Likewise.
13453 (STRSU_P_QUALIFIERS): Likewise.
13454 (STRSS_P_QUALIFIERS): Likewise.
13455 (LDRGS_Z_QUALIFIERS): Likewise.
13456 (LDRGU_Z_QUALIFIERS): Likewise.
13457 (LDRS_Z_QUALIFIERS): Likewise.
13458 (LDRU_Z_QUALIFIERS): Likewise.
13459 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
13460 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
13461 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
13462 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
13463 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
13464 * config/arm/mve.md: Use MVE_VPRED instead of HI.
13465
13466 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13467
13468 PR target/100757
13469 PR target/101325
13470 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
13471 Delete.
13472 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
13473 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
13474 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
13475 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
13476 predicated qualifiers.
13477 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
13478 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
13479
13480 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13481
13482 PR target/100757
13483 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
13484 (arm_expand_vector_compare): Update prototype.
13485 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
13486 (arm_vector_mode_supported_p): Add support for VxBI modes.
13487 (arm_expand_vector_compare): Remove useless generation of vpsel.
13488 (arm_expand_vcond): Fix select operands.
13489 (arm_get_mask_mode): New.
13490 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
13491 (vec_cmpu<mode><MVE_vpred>): New.
13492 (vcond_mask_<mode><MVE_vpred>): New.
13493 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
13494 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
13495 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
13496 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
13497 and disable for MVE.
13498 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
13499
13500 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13501
13502 PR target/100757
13503 PR target/101325
13504 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
13505 (BINOP_PRED_NONE_NONE_QUALIFIERS)
13506 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
13507 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
13508 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
13509 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
13510 modes.
13511 (arm_mode_to_pred_mode): New.
13512 (arm_expand_vector_compare): Use the right VxBI mode instead of
13513 HI.
13514 (arm_expand_vcond): Likewise.
13515 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
13516 (mve_bool_vec_to_const): New.
13517 (neon_make_constant): Call mve_bool_vec_to_const when needed.
13518 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
13519 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
13520 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
13521 (vpselq_s, vpselq_f): Use new predicated qualifiers.
13522 * config/arm/constraints.md (DB): New.
13523 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
13524 (MVE_VPRED, MVE_vpred): New attribute iterators.
13525 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
13526 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
13527 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
13528 (@mve_vpselq_<supf>v2di): Define separately.
13529 (mov<mode>): New expander for VxBI modes.
13530 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
13531 MVE_7_HI iterator and add support for DB constraint.
13532
13533 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13534 Richard Sandiford <richard.sandiford@arm.com>
13535
13536 PR target/100757
13537 PR target/101325
13538 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
13539 VNx2BI): Update definition.
13540 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
13541 simd types.
13542 (arm_init_builtin): Map predicate vectors arguments to HImode.
13543 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
13544 rtx. Move return value to HImode rtx.
13545 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
13546 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
13547 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
13548 Pred2x8_t,Pred4x4_t): New.
13549 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
13550 * genmodes.cc (mode_data): Add boolean field.
13551 (blank_mode): Initialize it.
13552 (make_complex_modes): Fix handling of boolean modes.
13553 (make_vector_modes): Likewise.
13554 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
13555 (make_vector_bool_mode): Likewise.
13556 (BOOL_MODE): New.
13557 (make_bool_mode): New.
13558 (emit_insn_modes_h): Fix generation of boolean modes.
13559 (emit_class_narrowest_mode): Likewise.
13560 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
13561 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
13562 define BImode.
13563 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
13564 Fix handling of constm1_rtx for VECTOR_BOOL.
13565 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
13566 (native_decode_vector_rtx): Likewise.
13567 (test_vector_ops_duplicate): Skip vec_merge test
13568 with vectors of booleans.
13569 * varasm.cc (output_constant_pool_2): Likewise.
13570
13571 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13572
13573 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
13574 for operand 1.
13575
13576 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13577
13578 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
13579
13580 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
13581
13582 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
13583 (REG_CLASS_NAMES): Likewise.
13584 (REG_CLASS_CONTENTS): Likewise.
13585 (CLASS_MAX_NREGS): Handle VPR.
13586 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
13587
13588 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
13589 Tom de Vries <tdevries@suse.de>
13590
13591 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
13592 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
13593 Likewise.
13594 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
13595
13596 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
13597 Tom de Vries <tdevries@suse.de>
13598
13599 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
13600 * doc/invoke.texi (-mptx): Update for new values and defaults.
13601
13602 2022-02-22 Tom de Vries <tdevries@suse.de>
13603
13604 * config/nvptx/nvptx.cc (gen_comment): New function.
13605 (workaround_uninit_method_1, workaround_uninit_method_2)
13606 (workaround_uninit_method_3): : Use gen_comment.
13607 * config/nvptx/nvptx.opt (mptx-comment): New option.
13608
13609 2022-02-22 Richard Biener <rguenther@suse.de>
13610
13611 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
13612 for a splat.
13613
13614 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
13615 Richard Biener <rguenther@suse.de>
13616
13617 * fold-const.cc (ctor_single_nonzero_element): New function to
13618 return the single non-zero element of a (vector) constructor.
13619 * fold-const.h (ctor_single_nonzero_element): Prototype here.
13620 * match.pd (reduc (constructor@0)): Simplify reductions of a
13621 constructor containing a single non-zero element.
13622 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
13623 reductions of vector operations of the same operator with
13624 constant vector operands.
13625
13626 2022-02-22 Jakub Jelinek <jakub@redhat.com>
13627
13628 PR tree-optimization/104604
13629 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
13630 Only check if gimple_assign_rhs1 is COMPLEX_CST if
13631 gimple_assign_rhs_code is COMPLEX_CST.
13632
13633 2022-02-22 Jakub Jelinek <jakub@redhat.com>
13634
13635 PR target/104612
13636 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
13637 on input operands before calling lowpart_subreg on it. For output
13638 operand, use a vmode pseudo as destination and then move its lowpart
13639 subreg into operands[0] if lowpart_subreg fails on dest.
13640 (ix86_expand_xorsign): Likewise.
13641
13642 2022-02-22 Richard Biener <rguenther@suse.de>
13643
13644 PR tree-optimization/104582
13645 PR target/99881
13646 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
13647 Cost GPR to vector register moves for integer vector construction.
13648
13649 2022-02-22 Richard Biener <rguenther@suse.de>
13650
13651 PR tree-optimization/104582
13652 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
13653 (vector_costs::add_stmt_cost): Add SLP node parameter.
13654 (dump_stmt_cost): Likewise.
13655 (add_stmt_cost): Likewise, new overload and adjust.
13656 (add_stmt_costs): Adjust.
13657 (record_stmt_cost): New overload.
13658 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
13659 (vector_costs::add_stmt_cost): Adjust.
13660 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
13661 Adjust.
13662 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
13663 the SLP node for costing.
13664 (vectorizable_slp_permutation): Likewise.
13665 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
13666 new overloads.
13667 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
13668 Adjust.
13669 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
13670 Adjust.
13671 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
13672 Adjust.
13673 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
13674
13675 2022-02-22 Richard Biener <rguenther@suse.de>
13676
13677 PR tree-optimization/104582
13678 * tree-vectorizer.h (add_stmt_cost): New overload.
13679 (record_stmt_cost): Likewise.
13680 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
13681 Use add_stmt_costs.
13682 (vect_get_known_peeling_cost): Use new overloads.
13683 (vect_estimate_min_profitable_iters): Likewise. Consistently
13684 use scalar_stmt for costing versioning checks.
13685 * tree-vect-stmts.cc (record_stmt_cost): New overload.
13686
13687 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
13688
13689 PR target/103069
13690 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
13691 Split atomic fetch and loop part.
13692 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
13693 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
13694 prototype.
13695 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
13696 expander under TARGET_RELAX_CMPXCHG_LOOP.
13697 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
13698
13699 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
13700
13701 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
13702 Change wb_candidate[12] to wb_push_candidate[12].
13703 (aarch64_layout_frame): Likewise, and
13704 change callee_adjust when scs is enabled.
13705 (aarch64_save_callee_saves):
13706 Change wb_candidate[12] to wb_push_candidate[12].
13707 (aarch64_restore_callee_saves):
13708 Change wb_candidate[12] to wb_pop_candidate[12].
13709 (aarch64_get_separate_components):
13710 Change wb_candidate[12] to wb_push_candidate[12].
13711 (aarch64_expand_prologue): Push x30 onto SCS before it's
13712 pushed onto stack.
13713 (aarch64_expand_epilogue): Pop x30 frome SCS, while
13714 preventing it from being popped from the regular stack again.
13715 (aarch64_override_options_internal): Add SCS compile option check.
13716 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
13717 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
13718 wb_pop_candidate[12], and rename wb_candidate[12] to
13719 wb_push_candidate[12].
13720 * config/aarch64/aarch64.md (scs_push): New template.
13721 (scs_pop): Likewise.
13722 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
13723 * doc/tm.texi: Regenerate.
13724 * doc/tm.texi.in: Add hook have_shadow_call_stack.
13725 * flag-types.h (enum sanitize_code):
13726 Add SANITIZE_SHADOW_CALL_STACK.
13727 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
13728 and exclude SANITIZE_SHADOW_CALL_STACK.
13729 * target.def: New hook.
13730 * toplev.cc (process_options): Add SCS compile option check.
13731 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
13732
13733 2022-02-21 Tom de Vries <tdevries@suse.de>
13734
13735 PR target/104440
13736 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
13737 (workaround_uninit_method_2, workaround_uninit_method_3)
13738 (workaround_uninit): New function.
13739 (nvptx_reorg): Use workaround_uninit.
13740 * config/nvptx/nvptx.opt (minit-regs): New option.
13741
13742 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
13743
13744 PR rtl-optimization/104498
13745 * alias.cc (compare_base_symbol_refs): Correct distance computation
13746 when swapping x and y.
13747
13748 2022-02-21 Andrew Pinski <apinski@marvell.com>
13749
13750 PR c/104506
13751 * tree-ssa.cc (tree_ssa_useless_type_conversion):
13752 Check the inner type before calling useless_type_conversion_p.
13753
13754 2022-02-19 Tom de Vries <tdevries@suse.de>
13755
13756 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
13757 * config/nvptx/nvptx.md
13758 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
13759 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
13760 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
13761 (define_expand "atomic_store<mode>"): Handle rename. Use
13762 nvptx_atomic_store instead of atomic_exchange.
13763
13764 2022-02-19 Tom de Vries <tdevries@suse.de>
13765
13766 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
13767 insns with atomic attribute. Assert that all handled insns are
13768 PARALLELs.
13769 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
13770 Set atomic attribute to false.
13771
13772 2022-02-19 Tom de Vries <tdevries@suse.de>
13773
13774 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
13775 type to bool.
13776 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
13777 nvptx_warpsync, if necessary.
13778
13779 2022-02-19 Jakub Jelinek <jakub@redhat.com>
13780
13781 PR sanitizer/102656
13782 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
13783 known to be within bounds, treat it like automatic variables.
13784 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
13785 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
13786 it addressable.
13787
13788 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
13789
13790 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
13791 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
13792 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
13793 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
13794 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
13795 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
13796 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
13797 power10_sched_reorder): Likewise.
13798 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
13799 gen_addadd): Likewise
13800 * config/rs6000/fusion.md: Regenerate.
13801
13802 2022-02-18 Jakub Jelinek <jakub@redhat.com>
13803
13804 PR target/104257
13805 PR target/104598
13806 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
13807 rather than __posix_memalign.
13808
13809 2022-02-18 Richard Biener <rguenther@suse.de>
13810
13811 PR target/104581
13812 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
13813 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
13814 of calling ix86_avx_u128_mode_source which would eventually
13815 have returned AVX_U128_ANY in some very special case.
13816
13817 2022-02-18 Richard Biener <rguenther@suse.de>
13818
13819 PR tree-optimization/96881
13820 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
13821 CLOBBER handling.
13822 (control_parents_preserved_p): New function.
13823 (eliminate_unnecessary_stmts): Check that we preserved control
13824 parents before retaining a CLOBBER.
13825 (perform_tree_ssa_dce): Pass down aggressive flag
13826 to eliminate_unnecessary_stmts.
13827
13828 2022-02-17 Jason Merrill <jason@redhat.com>
13829
13830 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
13831 on TYPE_MAIN_VARIANT.
13832
13833 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
13834
13835 PR target/104257
13836 * config/rs6000/bmi2intrin.h: Uglify local variables.
13837 * config/rs6000/emmintrin.h: Likewise.
13838 * config/rs6000/mm_malloc.h: Likewise.
13839 * config/rs6000/mmintrin.h: Likewise.
13840 * config/rs6000/pmmintrin.h: Likewise.
13841 * config/rs6000/smmintrin.h: Likewise.
13842 * config/rs6000/tmmintrin.h: Likewise.
13843 * config/rs6000/xmmintrin.h: Likewise.
13844
13845 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
13846
13847 PR target/104335
13848 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
13849 if the expected comparison's first operand is of mode MODE_CC.
13850
13851 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
13852
13853 PR rtl-optimization/104447
13854 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
13855 hard reg set by lra_no_alloc_regs.
13856
13857 2022-02-17 liuhongt <hongtao.liu@intel.com>
13858
13859 PR tree-optimization/104551
13860 PR tree-optimization/103771
13861 * match.pd (cond_expr_convert_p): Add types_match check when
13862 convert is extension.
13863 * tree-vect-patterns.cc
13864 (gimple_cond_expr_convert_p): Adjust comments.
13865 (vect_recog_cond_expr_convert_pattern): Ditto.
13866
13867 2022-02-17 Jakub Jelinek <jakub@redhat.com>
13868
13869 PR debug/104557
13870 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
13871 if expr has VOIDmode.
13872
13873 2022-02-17 liuhongt <hongtao.liu@intel.com>
13874
13875 * config/i386/cpuid.h (bit_MPX): Removed.
13876 (bit_BNDREGS): Ditto.
13877 (bit_BNDCSR): Ditto.
13878
13879 2022-02-17 Michael Meissner <meissner@the-meissners.org>
13880
13881 PR target/99708
13882 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
13883 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
13884 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
13885 is created.
13886
13887 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
13888
13889 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
13890 range_compatible_p instead of direct type comparison.
13891
13892 2022-02-16 Jakub Jelinek <jakub@redhat.com>
13893
13894 PR rtl-optimization/104544
13895 * combine.cc (try_combine): When looking for insn whose links
13896 should be updated from i3 to i2, don't stop on debug insns, instead
13897 skip over them.
13898
13899 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
13900
13901 PR target/100056
13902 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
13903 * config/aarch64/aarch64.md: Extend the PR100056 patterns
13904 to handle plus in the same way as ior, if the operands have
13905 no set bits in common.
13906
13907 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
13908
13909 PR tree-optimization/104526
13910 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
13911 new routine.
13912 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
13913 of dependency chain if there isn't one.
13914 (gori_compute::condexpr_adjust): New.
13915 * gimple-range-gori.h (class gori_compute): New prototype.
13916
13917 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
13918
13919 PR target/100874
13920 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
13921 Declare.
13922 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
13923 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
13924
13925 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
13926
13927 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
13928 (vect_scalar_ops_slice_hash): Likewise.
13929 (vect_scalar_ops_slice::op): New function.
13930 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
13931 (vect_scalar_ops_slice_hash::hash): Likewise.
13932 (vect_scalar_ops_slice_hash::equal): Likewise.
13933 (vect_prologue_cost_for_slp): Check for duplicate vectors.
13934 * config/aarch64/aarch64.cc
13935 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
13936 (aarch64_aligned_constant_offset_p): New function.
13937 (aarch64_stp_sequence_cost): Likewise.
13938 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
13939 (aarch64_vector_costs::finish_cost): Likewise.
13940
13941 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
13942
13943 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
13944 use after free.
13945
13946 2022-02-15 Richard Biener <rguenther@suse.de>
13947
13948 PR tree-optimization/104543
13949 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
13950 come after the inner loop.
13951
13952 2022-02-15 Jakub Jelinek <jakub@redhat.com>
13953
13954 PR target/104536
13955 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
13956 cannot instead of can%'t in diagnostics. Formatting fixes.
13957
13958 2022-02-15 Jakub Jelinek <jakub@redhat.com>
13959
13960 PR middle-end/104522
13961 * fold-const.h (native_interpret_real): Declare.
13962 * fold-const.cc (native_interpret_real): No longer static. Don't
13963 perform MODE_COMPOSITE_P verification here.
13964 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
13965 for all modes.
13966 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
13967 instead of native_interpret_expr.
13968 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
13969 and comparison verification for all FLOAT_MODE_P modes, not just
13970 MODE_COMPOSITE_P.
13971
13972 2022-02-15 Richard Biener <rguenther@suse.de>
13973
13974 PR tree-optimization/104519
13975 * fold-const.cc (multiple_of_p): Remove never true condition.
13976 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
13977 the appropriate types for determining whether the difference
13978 of final and base is a multiple of the step.
13979
13980 2022-02-15 Jakub Jelinek <jakub@redhat.com>
13981
13982 PR debug/104517
13983 * omp-low.cc (task_cpyfns): New variable.
13984 (delete_omp_context): Don't call finalize_task_copyfn from here.
13985 (create_task_copyfn): Push task_stmt into task_cpyfns.
13986 (execute_lower_omp): Call finalize_task_copyfn here on entries from
13987 task_cpyfns vector and release the vector.
13988
13989 2022-02-14 Martin Sebor <msebor@redhat.com>
13990
13991 PR middle-end/104355
13992 * doc/invoke.texi (-Warray-bounds): Update documentation.
13993
13994 2022-02-14 Michael Meissner <meissner@the-meissners.org>
13995
13996 PR target/104253
13997 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
13998 conversion functions used to convert IFmode types.
13999
14000 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
14001
14002 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
14003
14004 2022-02-14 Richard Biener <rguenther@suse.de>
14005
14006 PR tree-optimization/104528
14007 * tree-ssa.h (find_released_ssa_name): Declare.
14008 * tree-ssa.cc (find_released_ssa_name): Export.
14009 * cfgloop.cc (verify_loop_structure): Look for released
14010 SSA names in loops nb_iterations.
14011 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
14012 estimates.
14013
14014 2022-02-14 Richard Biener <rguenther@suse.de>
14015
14016 PR tree-optimization/104511
14017 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
14018 touching DFP <-> FP conversions.
14019
14020 2022-02-14 Richard Biener <rguenther@suse.de>
14021
14022 PR middle-end/104497
14023 * gimplify.cc (gimplify_compound_lval): Make sure the
14024 base is a non-register if needed and possible.
14025
14026 2022-02-13 liuhongt <hongtao.liu@intel.com>
14027
14028 PR target/103771
14029 * match.pd (cond_expr_convert_p): New match.
14030 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
14031 (vect_recog_cond_expr_convert_pattern): New.
14032
14033 2022-02-12 Jakub Jelinek <jakub@redhat.com>
14034
14035 PR sanitizer/104449
14036 * asan.cc: Include tree-eh.h.
14037 (handle_builtin_alloca): Handle the case when __builtin_alloca or
14038 __builtin_alloca_with_align can throw.
14039
14040 2022-02-12 Jakub Jelinek <jakub@redhat.com>
14041
14042 PR target/104502
14043 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
14044 and AVX512VL isn't available, move operands[1] to operands[0] first.
14045
14046 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
14047
14048 PR target/79754
14049 * config/i386/i386.cc (type_natural_mode):
14050 Skip decimal float vector modes.
14051
14052 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
14053 Vladimir Makarov <vmakarov@redhat.com>
14054
14055 PR target/104117
14056 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
14057 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
14058 emitting PIC code.
14059 (legitimate_lo_sum_address_p): Likewise.
14060 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
14061 load from an invalid lo_sum address.
14062
14063 2022-02-11 Jakub Jelinek <jakub@redhat.com>
14064
14065 PR tree-optimization/104499
14066 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
14067 of convert.
14068
14069 2022-02-11 Jakub Jelinek <jakub@redhat.com>
14070
14071 * tree.cc (build_common_builtin_nodes): Fix up formatting in
14072 __builtin_clear_padding decl creation.
14073 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
14074 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
14075 argument rather than in 3rd argument.
14076 (gimplify_call_expr): Likewise. Fix up comment formatting.
14077 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
14078 2 arguments instead of 3, take for_auto_init from the value
14079 of 2nd argument.
14080
14081 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
14082
14083 PR rtl-optimization/104400
14084 * lra-constraints.cc (process_alt_operands): Don't make union of
14085 this_alternative_exclude_start_hard_regs when reg class in insn
14086 alternative covers other reg classes in the same alternative.
14087
14088 2022-02-11 Jakub Jelinek <jakub@redhat.com>
14089
14090 PR middle-end/104446
14091 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
14092 operands.
14093
14094 2022-02-11 Richard Biener <rguenther@suse.de>
14095
14096 PR middle-end/104496
14097 * internal-fn.cc (vectorized_internal_fn_supported_p):
14098 Bail out for integer mode vector types.
14099
14100 2022-02-11 Jakub Jelinek <jakub@redhat.com>
14101
14102 PR rtl-optimization/104459
14103 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
14104 moving DEBUG_INSNs between bbs.
14105
14106 2022-02-11 liuhongt <hongtao.liu@intel.com>
14107
14108 PR tree-optimization/104479
14109 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
14110 for the dest of uncond_op.
14111
14112 2022-02-11 Tom de Vries <tdevries@suse.de>
14113
14114 PR target/104456
14115 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
14116 insn.
14117
14118 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
14119
14120 PR middle-end/100775
14121 * function.cc (gen_call_used_regs_seq): Call
14122 df_update_exit_block_uses when updating df.
14123
14124 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
14125
14126 PR target/104469
14127 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
14128 Change operand 1 constraint to register_operand.
14129
14130 2022-02-10 Richard Biener <rguenther@suse.de>
14131
14132 PR tree-optimization/104373
14133 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
14134 walk kind.
14135 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
14136 walk kind as argument.
14137 (run_rpo_vn): Adjust.
14138 (pass_fre::execute): Likewise.
14139 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
14140 blocks not reachable.
14141 (execute_late_warn_uninitialized): Mark all edges as
14142 executable.
14143 (execute_early_warn_uninitialized): Use VN to compute
14144 executable edges.
14145 (pass_data_early_warn_uninitialized): Enable a dump file,
14146 change dump name to warn_uninit.
14147
14148 2022-02-10 Richard Biener <rguenther@suse.de>
14149
14150 PR middle-end/104467
14151 * match.pd (vector extract simplification): Multiply the
14152 number of CTOR elements with the number of element elements.
14153
14154 2022-02-10 Richard Biener <rguenther@suse.de>
14155
14156 PR tree-optimization/104466
14157 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
14158 for the MR_DEPENDENCE checks as intended.
14159
14160 2022-02-10 Tom de Vries <tdevries@suse.de>
14161
14162 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
14163 define_insn.
14164 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
14165 TARGET_SM70.
14166 (define_c_enum "unspecv"): Add UNSPECV_ST.
14167
14168 2022-02-10 Tom de Vries <tdevries@suse.de>
14169
14170 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
14171 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
14172 (nvptx_mem_maybe_shared_p): New function.
14173 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
14174 define_expand.
14175
14176 2022-02-10 Tom de Vries <tdevries@suse.de>
14177
14178 PR target/97005
14179 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
14180 driver JIT bug by using sub.s16 instead of sub.u16.
14181
14182 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
14183
14184 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
14185 floating point constants as operands 1 and/or 2.
14186
14187 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
14188
14189 PR target/104345
14190 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
14191 (sel_false<mode>): Likewise.
14192 (define_code_iterator eqne): New code iterator for EQ and NE.
14193 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
14194 the negation of a selp instruction.
14195 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
14196 the bitwise not of a selp instruction.
14197 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
14198
14199 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
14200
14201 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
14202 in machine description.
14203 (logic): Move code attribute earlier in machine description.
14204 (ilogic): New code attribute, like logic but "ior" for IOR.
14205 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
14206 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
14207 (<ilogic>bi3): New define_insn for BI mode logic operations.
14208 (define_split): Lower logic operations from integer modes to
14209 BI mode predicate operations.
14210
14211 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
14212
14213 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
14214 (one_cmplbi2): New define_insn for not.pred.
14215 (mulditi3): New define_expand for signed widening multiply.
14216 (umulditi3): New define_expand for unsigned widening multiply.
14217 (smul<mode>3_highpart): New define_insn for signed highpart mult.
14218 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
14219 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
14220 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
14221 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
14222 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
14223 (*setcc<mode>_from_not_bi): New define_insn.
14224 (*setcc_isinf<mode>): New define_insn for testp.infinite.
14225 (isinf<mode>2): New define_expand.
14226
14227 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
14228
14229 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
14230 (setcc<mode>_from_bi): Additionally support QImode.
14231 (extendbi<mode>2): Additionally support QImode.
14232 (zero_extendbi<mode>2): Additionally support QImode.
14233 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
14234 iterators for signed and unsigned, binary and unary operations.
14235 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
14236 expanders to perform QImode operations using SImode instructions.
14237 (cstoreqi4): New define_expand.
14238 (*ext_truncsi2_qi): New define_insn.
14239 (*zext_truncsi2_qi): New define_insn.
14240
14241 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
14242
14243 * config/nvptx/nvptx.md (*cmpf): New define_insn.
14244 (cstorehf4): New define_expand.
14245 (fmahf4): New define_insn.
14246 (neghf2): New define_insn.
14247 (abshf2): New define_insn.
14248
14249 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
14250
14251 * doc/install.texi (Specific): Change the www.bitwizard.nl
14252 reference to use https.
14253
14254 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
14255
14256 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
14257 OMP_CLAUSE_HAS_DEVICE_ADDR
14258 and handle array sections.
14259 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
14260 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
14261 (lower_omp_target): Same.
14262 * tree-core.h (enum omp_clause_code): Same.
14263 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
14264 (convert_local_omp_clauses): Same.
14265 * tree-pretty-print.cc (dump_omp_clause): Same.
14266 * tree.cc: Same.
14267
14268 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
14269
14270 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
14271 that will result in direct recursive calls.
14272
14273 2022-02-10 Andrew Pinski <apinski@marvell.com>
14274
14275 PR target/104474
14276 * config/aarch64/aarch64.cc
14277 (aarch64_sve_expand_vector_init_handle_trailing_constants):
14278 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
14279
14280 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
14281
14282 PR target/104462
14283 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
14284 Also include OPTION_MASK_ISA2_AVX2_UNSET.
14285
14286 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
14287
14288 PR target/104458
14289 * config/i386/i386-expand.cc (ix86_split_idivmod):
14290 Force operands[2] and operands[3] into a register..
14291
14292 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
14293
14294 PR target/97040
14295 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
14296 (*v850_fnmssf4): Renamed from fnmssf4
14297
14298 2022-02-09 Ian Lance Taylor <iant@golang.org>
14299
14300 * godump.cc (go_force_record_alignment): Really name the alignment
14301 field "_" (complete 2021-12-29 change).
14302
14303 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
14304
14305 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
14306 function prototype.
14307 (VREPLACE_UN_UV4SI): Likewise.
14308 (VREPLACE_UN_V2DF): Likewise.
14309 (VREPLACE_UN_V2DI): Likewise.
14310 (VREPLACE_UN_V4SF): Likewise.
14311 (VREPLACE_UN_V4SI): Likewise.
14312 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
14313 function prototypes.
14314 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
14315 (vreplace_un_<mode>): New define_insn.
14316
14317 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
14318
14319 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
14320 (VDBL): Handle SF.
14321 (single_wx, single_type, single_dtype, dblq): New mode attributes.
14322 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
14323 from VDC to VDCSIF.
14324 (store_pair_lanes<mode>): Likewise.
14325 (*aarch64_combine_internal<mode>): Likewise.
14326 (*aarch64_combine_internal_be<mode>): Likewise.
14327 (*aarch64_combinez<mode>): Likewise.
14328 (*aarch64_combinez_be<mode>): Likewise.
14329 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
14330 8-byte modes for ADDR_QUERY_LDP_STP_N.
14331 (aarch64_print_operand): Likewise for %y.
14332
14333 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
14334
14335 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
14336 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
14337 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
14338 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
14339 (vec_pack_trunc_<mode>): Take general_operand elements and use
14340 aarch64_combine rather than move_lo/hi_quad to combine them.
14341 (vec_pack_trunc_df): Likewise.
14342
14343 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
14344
14345 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
14346 Delete.
14347 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
14348 to...
14349 (*aarch64_combinez<mode>): ...this.
14350 (@aarch64_combinez_be<mode>): Rename to...
14351 (*aarch64_combinez_be<mode>): ...this.
14352 (@aarch64_vec_concat<mode>): New expander.
14353 (aarch64_combine<mode>): Use it.
14354 (@aarch64_simd_combine<mode>): Delete.
14355 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
14356 (aarch64_expand_vector_init): Use aarch64_vec_concat.
14357
14358 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
14359
14360 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
14361 New predicate.
14362 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
14363 (*aarch64_combine_internal_be<mode>): New patterns.
14364
14365 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
14366
14367 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
14368 (move_lo_quad_internal_be_<mode>): Delete.
14369 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
14370
14371 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
14372
14373 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
14374 Declare.
14375 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
14376 aarch64_mergeable_load_pair_p instead of inline check.
14377 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
14378 (aarch64_check_consecutive_mems): Allow the reversed parameter
14379 to be null.
14380 (aarch64_mergeable_load_pair_p): New function.
14381
14382 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
14383
14384 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
14385 element to be an aarch64_simd_nonimmediate_operand.
14386
14387 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
14388
14389 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
14390 aarch64_simd_nonimmediate_operand instead of
14391 aarch64_simd_general_operand.
14392 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
14393 general_operand.
14394 (@aarch64_combinez_be<mode>): Likewise.
14395
14396 2022-02-09 Richard Biener <rguenther@suse.de>
14397
14398 PR middle-end/104464
14399 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
14400 throwing check to after unproblematic replacement.
14401
14402 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
14403
14404 PR tree-optimization/104420
14405 * match.pd (mult @0 real_zerop): Tweak conditions for constant
14406 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
14407
14408 2022-02-09 Jakub Jelinek <jakub@redhat.com>
14409
14410 PR debug/104407
14411 * dwarf2out.cc (mangle_referenced_decls): New function.
14412 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
14413 early_dwarf. Instead walk the initializer and try to mangle vars or
14414 functions referenced from it.
14415
14416 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
14417
14418 PR tree-optimization/104288
14419 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
14420 (non_null_ref::adjust_range): Move to header.
14421 (ranger_cache::range_of_def): Don't check non-null.
14422 (ranger_cache::entry_range): Don't check non-null.
14423 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
14424 (ranger_cache::update_to_nonnull): New.
14425 (non_null_loadstore): New.
14426 (ranger_cache::block_apply_nonnull): New.
14427 * gimple-range-cache.h (class non_null_ref): Update prototypes.
14428 (non_null_ref::adjust_range): Move to here and inline.
14429 (class ranger_cache): Update prototypes.
14430 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
14431 not search dominators.
14432 (path_range_query::adjust_for_non_null_uses): Ditto.
14433 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
14434 def overrides. Do not check nonnull.
14435 (gimple_ranger::range_on_entry): Check dominators for nonnull.
14436 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
14437 (gimple_ranger::register_side_effects): New.
14438 * gimple-range.h (gimple_ranger::register_side_effects): New.
14439 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
14440
14441 2022-02-09 Richard Biener <rguenther@suse.de>
14442
14443 PR tree-optimization/104445
14444 PR tree-optimization/102832
14445 * optabs-query.h (can_vec_extract): New.
14446 * optabs-query.cc (can_vec_extract): Likewise.
14447 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
14448 we can extract a hi/lo part from the larger vector, rework
14449 check iteration from larger to smaller sizes.
14450
14451 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
14452
14453 PR target/35513
14454 PR target/100593
14455 * config/i386/gnu-property.cc: Include "i386-protos.h".
14456 (file_end_indicate_exec_stack_and_gnu_property): Generate
14457 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
14458 nodirect_extern_access attribute.
14459 * config/i386/i386-options.cc
14460 (handle_nodirect_extern_access_attribute): New function.
14461 (ix86_attribute_table): Add nodirect_extern_access attribute.
14462 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
14463 bool argument.
14464 (ix86_has_no_direct_extern_access): New.
14465 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
14466 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
14467 call operand. Force non-call load from GOT for
14468 -mno-direct-extern-access or nodirect_extern_access attribute.
14469 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
14470 for -mno-direct-extern-access or nodirect_extern_access attribute.
14471 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
14472 for call operand.
14473 (asm_preferred_eh_data_format): Use PC-relative format for
14474 -mno-direct-extern-access to avoid copy relocation. Check
14475 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
14476 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
14477 true for -mno-direct-extern-access or nodirect_extern_access
14478 attribute. Don't treat protected data as extern and avoid copy
14479 relocation on common symbol with -mno-direct-extern-access or
14480 nodirect_extern_access attribute.
14481 (ix86_reloc_rw_mask): New to avoid copy relocation for
14482 -mno-direct-extern-access.
14483 (TARGET_ASM_RELOC_RW_MASK): New.
14484 * config/i386/i386.opt: Add -mdirect-extern-access.
14485 * doc/extend.texi: Document nodirect_extern_access attribute.
14486 * doc/invoke.texi: Document -m[no-]direct-extern-access.
14487
14488 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
14489
14490 PR target/104441
14491 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
14492 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
14493 Call ix86_avx_u128_mode_source to check mode for each component
14494 of source operand.
14495
14496 2022-02-09 liuhongt <hongtao.liu@intel.com>
14497
14498 PR target/104451
14499 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
14500 operands[2] from SImode to QImode.
14501
14502 2022-02-09 Richard Biener <rguenther@suse.de>
14503
14504 PR middle-end/104450
14505 * gimple-isel.cc: Pass cfun around.
14506 (+gimple_expand_vec_cond_expr): Do not combine a throwing
14507 comparison with the select.
14508
14509 2022-02-09 Richard Biener <rguenther@suse.de>
14510
14511 PR target/104453
14512 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
14513 folding for NULL LHS.
14514
14515 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
14516
14517 PR rtl-optimization/104198
14518 PR rtl-optimization/104153
14519 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
14520 using it directly. Rework comparison handling and always
14521 perform a second pass.
14522
14523 2022-02-08 Jakub Jelinek <jakub@redhat.com>
14524
14525 PR target/102140
14526 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
14527 split1 pass has finished already.
14528
14529 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
14530
14531 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
14532 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
14533 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
14534 (vmsumcud): New define_insn.
14535
14536 2022-02-08 Tom de Vries <tdevries@suse.de>
14537
14538 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
14539 * config/nvptx/nvptx.h (TARGET_SM70): Define.
14540
14541 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
14542
14543 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
14544 on condition.
14545 * config/s390/s390.md: Use paradoxical subreg.
14546
14547 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
14548
14549 * combine.cc (reg_subword_p): Check for paradoxical subreg.
14550
14551 2022-02-08 Tom de Vries <tdevries@suse.de>
14552
14553 PR target/104283
14554 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
14555 and PTX_VERSION_4_2.
14556 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
14557 (default_ptx_version_option, ptx_version_to_string)
14558 (sm_version_to_string, handle_ptx_version_option): New function.
14559 (nvptx_option_override): Call handle_ptx_version_option.
14560 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
14561 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
14562 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
14563 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
14564
14565 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
14566
14567 * doc/install.texi (Configuration): Document `--with-isa-spec='
14568 RISC-V option.
14569 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
14570 option.
14571 (RISC-V Options): Document it.
14572
14573 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
14574
14575 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
14576
14577 2022-02-08 Tom de Vries <tdevries@suse.de>
14578
14579 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
14580
14581 2022-02-08 Tom de Vries <tdevries@suse.de>
14582
14583 PR target/104364
14584 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
14585 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
14586 change is validated.
14587 (nvptx_mem_local_p): New function.
14588 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
14589 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
14590 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
14591 non-atomic, non-predicable define_insn, factored out of ...
14592 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
14593 Make predicable again.
14594 (define_expand "atomic_compare_and_swap<mode>"): Use
14595 atomic_compare_and_swap<mode>_1_local.
14596
14597 2022-02-08 liuhongt <hongtao.liu@intel.com>
14598
14599 PR rtl-optimization/104059
14600 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
14601 for a more expensive reg-reg move.
14602
14603 2022-02-07 Tamar Christina <tamar.christina@arm.com>
14604
14605 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
14606 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
14607 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
14608 (usdot_laneq, sudot_laneq): New.
14609 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
14610 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
14611
14612 2022-02-07 Tamar Christina <tamar.christina@arm.com>
14613
14614 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
14615 vdot_laneq_s32, vdotq_laneq_s32): New.
14616 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
14617 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
14618 (<sup>dot_prod<vsi2qi>): Re-order rtl.
14619 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
14620 (neon_<sup>dot_laneq<vsi2qi>): New.
14621
14622 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
14623
14624 PR target/104327
14625 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
14626 if always_inline is set. Don't inline when tune differs without
14627 always_inline.
14628
14629 2022-02-07 Richard Biener <rguenther@suse.de>
14630
14631 PR middle-end/104402
14632 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
14633 compares are not valid.
14634 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
14635 check is_gimple_condexpr.
14636
14637 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
14638
14639 PR target/103627
14640 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
14641 hunk affecting VSX and ALTIVEC to appropriate place.
14642
14643 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
14644
14645 PR target/103627
14646 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
14647 MMA if !TARGET_VSX.
14648
14649 2022-02-06 Jakub Jelinek <jakub@redhat.com>
14650
14651 PR c++/89074
14652 PR c++/104033
14653 * fold-const.h (folding_initializer): Adjust comment.
14654 (folding_cxx_constexpr): Declare.
14655 * fold-const.cc (folding_initializer): Adjust comment.
14656 (folding_cxx_constexpr): New variable.
14657 (address_compare): Restrict the decl vs. STRING_CST
14658 or vice versa or STRING_CST vs. STRING_CST or
14659 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
14660 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
14661 assume non-aliased functions have non-zero size and have different
14662 addresses. For folding_cxx_constexpr, punt on comparisons of start
14663 of some object and end of another one, regardless whether it is a decl
14664 or string literal. Also punt for folding_cxx_constexpr on
14665 STRING_CST vs. STRING_CST comparisons if the two literals could be
14666 overlapping.
14667
14668 2022-02-05 Jakub Jelinek <jakub@redhat.com>
14669
14670 PR tree-optimization/104389
14671 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
14672 honored.
14673
14674 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
14675
14676 * configure.ac: Fix detection for zifencei support.
14677 * configure: Regenerate.
14678
14679 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
14680
14681 PR target/104219
14682 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
14683 (all_defaults): Add isa_spec.
14684 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
14685
14686 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
14687
14688 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
14689 parameters instead of arglist and nargs. Simplify accordingly. Remove
14690 unnecessary test for argument count mismatch.
14691 (resolve_vec_cmpne): Likewise.
14692 (resolve_vec_adde_sube): Likewise.
14693 (resolve_vec_addec_subec): Likewise.
14694 (altivec_resolve_overloaded_builtin): Move overload special handling
14695 after the gathering of arguments into args[] and types[] and the test
14696 for correct number of arguments. Don't perform the test for correct
14697 number of arguments for certain special cases. Call the other special
14698 cases with args and types instead of arglist and nargs.
14699
14700 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
14701
14702 PR target/100808
14703 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
14704 3.1): Provide consistent type names. Remove unnecessary semicolons.
14705 Fix bad line breaks.
14706
14707 2022-02-04 Jakub Jelinek <jakub@redhat.com>
14708
14709 PR target/104380
14710 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
14711 adjust mangling of __builtin*printf_chk.
14712
14713 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
14714
14715 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
14716
14717 2022-02-04 Richard Biener <rguenther@suse.de>
14718 Bin Cheng <bin.cheng@linux.alibaba.com>
14719
14720 PR tree-optimization/100499
14721 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
14722 to true.
14723 * fold-const.cc (multiple_of_p): Likewise. Honor it for
14724 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
14725 switching to false for conversions.
14726 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
14727 claim the outermost expression does not wrap when calling
14728 multiple_of_p. Refactor the check done to check the
14729 original IV, avoiding a bias that might wrap.
14730
14731 2022-02-04 Richard Biener <rguenther@suse.de>
14732
14733 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
14734 handling.
14735
14736 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
14737
14738 PR debug/104366
14739 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
14740 (dwarf2out_early_finish): Likewise.
14741
14742 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
14743
14744 PR tree-optimization/104356
14745 * match.pd (X / bool_range_Y is X): Add guard.
14746 (X / X is one): Likewise.
14747 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
14748 (X / -X is -1): Likewise.
14749 (1 / X -> X == 1): Likewise.
14750
14751 2022-02-04 Richard Biener <rguenther@suse.de>
14752
14753 PR tree-optimization/103641
14754 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
14755 Pass the vector mode to choose_mult_variant.
14756
14757 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
14758
14759 PR rtl-optimization/101885
14760 * combine.cc (try_combine): When splitting a parallel into two
14761 sequential sets, check not only that the first doesn't clobber
14762 the second but also that the second doesn't clobber the first.
14763
14764 2022-02-04 Richard Biener <rguenther@suse.de>
14765
14766 PR middle-end/90348
14767 PR middle-end/104092
14768 * tree-core.h (clobber_kind): New enum.
14769 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
14770 * tree.h (CLOBBER_KIND): Add.
14771 (build_clobber): Add clobber kind argument, defaulted to
14772 CLOBBER_UNDEF.
14773 * tree.cc (build_clobber): Likewise.
14774 * gimple.h (gimple_clobber_p): New overload with specified kind.
14775 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
14776 CLOBBER_KIND.
14777 * tree-streamer-out.cc (streamer_write_tree_bitfields):
14778 Likewise.
14779 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
14780 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
14781 with CLOBBER_EOL.
14782 (gimplify_target_expr): Likewise.
14783 * tree-inline.cc (expand_call_inline): Likewise.
14784 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
14785 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
14786 CLOBBER_EOL clobbers as ending lifetime of storage.
14787
14788 2022-02-04 Martin Sebor <msebor@redhat.com>
14789
14790 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
14791 cleanup.
14792
14793 2022-02-03 Martin Sebor <msebor@redhat.com>
14794
14795 PR middle-end/104260
14796 * passes.def (pass_warn_access): Adjust pass placement.
14797
14798 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
14799
14800 PR target/104362
14801 * config/i386/i386.cc (find_drap_reg): For 32bit targets
14802 return DI_REG if function uses __builtin_eh_return.
14803
14804 2022-02-03 Martin Sebor <msebor@redhat.com>
14805
14806 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
14807 (pass_wrestrict::m_ptr_qry): New member.
14808 (wrestrict_walk): Rename...
14809 (pass_wrestrict::check_block): ...to this.
14810 (pass_wrestrict::execute): Set up and tear down pointer_query and
14811 ranger.
14812 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
14813 (builtin_access::builtin_access): Same.
14814 (builtin_access::m_ptr_qry): New member.
14815 (check_call): Rename...
14816 (pass_wrestrict::check_call): ...to this.
14817 (check_bounds_or_overlap): Change argument.
14818 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
14819
14820 2022-02-03 Martin Sebor <msebor@redhat.com>
14821
14822 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
14823 Define ctor.
14824 (array_bounds_checker::get_value_range): Use new member.
14825 (array_bounds_checker::check_mem_ref): Same.
14826 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
14827 Outline ctor.
14828 (array_bounds_checker::m_ptr_query): New member.
14829
14830 2022-02-03 Martin Sebor <msebor@redhat.com>
14831
14832 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
14833 pointer_query cache.
14834 * pointer-query.cc (pointer_query::pointer_query): Remove cache
14835 argument. Zero-initialize new cache member.
14836 (pointer_query::get_ref): Replace cache pointer with direct access.
14837 (pointer_query::put_ref): Same.
14838 (pointer_query::flush_cache): Same.
14839 (pointer_query::dump): Same.
14840 * pointer-query.h (class pointer_query): Remove cache argument from
14841 ctor. Change cache pointer to cache subobject member.
14842 * tree-ssa-strlen.cc: Remove pointer_query cache.
14843
14844 2022-02-03 Martin Sebor <msebor@redhat.com>
14845
14846 PR tree-optimization/104119
14847 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
14848 (format_none): Same.
14849 (format_percent): Same.
14850 (format_integer): Same.
14851 (format_floating): Same.
14852 (get_string_length): Same.
14853 (format_character): Same.
14854 (format_string): Same.
14855 (format_plain): Same.
14856 (format_directive): Same.
14857 (compute_format_length): Same.
14858 (handle_printf_call): Same.
14859 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
14860 get_maxbound.
14861 (get_range_strlen_phi): Same.
14862 (get_maxbound): New function.
14863 (strlen_pass::get_len_or_size): Adjust to parameter change.
14864 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
14865
14866 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
14867
14868 PR target/103686
14869 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
14870 test for !rs6000_fold_gimple.
14871 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
14872 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
14873
14874 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
14875
14876 PR target/95082
14877 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
14878 endianness for vclzlsbb and vctzlsbb.
14879 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
14880 default pattern and indicate a different pattern will be used for
14881 big endian.
14882 (VCLZLSBB_V4SI): Likewise.
14883 (VCLZLSBB_V8HI): Likewise.
14884 (VCTZLSBB_V16QI): Likewise.
14885 (VCTZLSBB_V4SI): Likewise.
14886 (VCTZLSBB_V8HI): Likewise.
14887
14888 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
14889
14890 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
14891 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
14892 from other files.
14893 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
14894 rs6000-builtin.cc.
14895 (cpu_supports_info): Likewise.
14896 (rs6000_type_string): Likewise.
14897 (altivec_expand_predicate_builtin): Likewise.
14898 (rs6000_htm_spr_icode): Likewise.
14899 (altivec_expand_vec_init_builtin): Likewise.
14900 (get_element_number): Likewise.
14901 (altivec_expand_vec_set_builtin): Likewise.
14902 (altivec_expand_vec_ext_builtin): Likewise.
14903 (rs6000_invalid_builtin): Likewise.
14904 (rs6000_fold_builtin): Likewise.
14905 (fold_build_vec_cmp): Likewise.
14906 (fold_compare_helper): Likewise.
14907 (map_to_integral_tree_type): Likewise.
14908 (fold_mergehl_helper): Likewise.
14909 (fold_mergeeo_helper): Likewise.
14910 (rs6000_builtin_valid_without_lhs): Likewise.
14911 (rs6000_builtin_is_supported): Likewise.
14912 (rs6000_gimple_fold_mma_builtin): Likewise.
14913 (rs6000_gimple_fold_builtin): Likewise.
14914 (rs6000_expand_ldst_mask): Likewise.
14915 (cpu_expand_builtin): Likewise.
14916 (elemrev_icode): Likewise.
14917 (ldv_expand_builtin): Likewise.
14918 (lxvrse_expand_builtin): Likewise.
14919 (lxvrze_expand_builtin): Likewise.
14920 (stv_expand_builtin): Likewise.
14921 (mma_expand_builtin): Likewise.
14922 (htm_spr_num): Likewise.
14923 (htm_expand_builtin): Likewise.
14924 (rs6000_expand_builtin): Likewise.
14925 (rs6000_vector_type): Likewise.
14926 (rs6000_init_builtins): Likewise. Remove initialization of
14927 builtin_mode_to_type entries.
14928 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
14929 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
14930 external declaration.
14931 (rs6000_builtin_md_vectorized_function): Likewise.
14932 (rs6000_builtin_reciprocal): Likewise.
14933 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
14934 (rs6000_builtin_types): Likewise.
14935 (builtin_mode_to_type): Remove.
14936 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
14937 static qualifier.
14938 (rs6000_builtin_md_vectorized_function): Likewise.
14939 (rs6000_builtin_reciprocal): Likewise.
14940 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
14941 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
14942
14943 2022-02-03 Richard Biener <rguenther@suse.de>
14944
14945 PR debug/104337
14946 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
14947 together via DECL_ABSTRACT_ORIGIN.
14948
14949 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
14950
14951 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
14952 message for RES_BITS case.
14953
14954 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
14955
14956 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
14957
14958 2022-02-03 Jakub Jelinek <jakub@redhat.com>
14959
14960 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
14961 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
14962
14963 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
14964
14965 * cfganal.cc (verify_marked_backedges): New.
14966 * cfganal.h (verify_marked_backedges): New.
14967 * gimple-range-path.cc (path_range_query::path_range_query):
14968 Verify freshness of back edges.
14969 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
14970 mark_dfs_back_edges.
14971 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
14972 path_range_query construction after backedges have been
14973 updated.
14974
14975 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
14976
14977 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
14978 VALL to VALL_F16.
14979
14980 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
14981
14982 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
14983 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
14984 of VALL_F16MOV.
14985
14986 2022-02-03 Martin Liska <mliska@suse.cz>
14987
14988 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
14989 Change subject and object in the error message.
14990 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
14991 Likewise.
14992
14993 2022-02-03 Martin Liska <mliska@suse.cz>
14994
14995 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
14996 Use the error message for i386 target.
14997
14998 2022-02-03 Jakub Jelinek <jakub@redhat.com>
14999
15000 PR tree-optimization/104334
15001 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
15002 and rh_range type to widest_int and subtract in widest_int. Remove
15003 ov_rh, ov_lh and sign vars, always perform comparisons as signed
15004 and use >, < and == operators for it.
15005
15006 2022-02-03 Martin Sebor <msebor@redhat.com>
15007
15008 * common.opt (-Wuse-after-free): Correct typos.
15009
15010 2022-02-02 David Malcolm <dmalcolm@redhat.com>
15011
15012 PR analyzer/104270
15013 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
15014 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
15015 -ftrivial-auto-var-init= doesn't suppress warnings.
15016
15017 2022-02-02 Martin Liska <mliska@suse.cz>
15018
15019 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
15020
15021 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
15022
15023 PR target/94372
15024 * config/or1k/linux.h (CPP_SPEC): Define.
15025
15026 2022-02-02 Tamar Christina <tamar.christina@arm.com>
15027
15028 PR tree-optimization/102819
15029 PR tree-optimization/103169
15030 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
15031 canonical order.
15032
15033 2022-02-02 Tamar Christina <tamar.christina@arm.com>
15034
15035 PR tree-optimization/102819
15036 PR tree-optimization/103169
15037 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
15038 canonical order.
15039 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
15040
15041 2022-02-02 Tamar Christina <tamar.christina@arm.com>
15042
15043 PR tree-optimization/102819
15044 PR tree-optimization/103169
15045 * doc/md.texi: Update docs for cfms, cfma.
15046 * tree-data-ref.h (same_data_refs): Accept optional offset.
15047 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
15048 patterns.
15049 (vect_normalize_conj_loc): Remove.
15050 (is_eq_or_top): Change to take two nodes.
15051 (enum _conj_status, compatible_complex_nodes_p,
15052 vect_validate_multiplication): New.
15053 (class complex_add_pattern, complex_add_pattern::matches,
15054 complex_add_pattern::recognize, class complex_mul_pattern,
15055 complex_mul_pattern::recognize, class complex_fms_pattern,
15056 complex_fms_pattern::recognize, class complex_operations_pattern,
15057 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
15058 new cache.
15059 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
15060 cache and use new validation code.
15061 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
15062 vect_analyze_slp): Pass along cache.
15063 (compatible_calls_p): Expose.
15064 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
15065 slp_compat_nodes_map_t): New.
15066 (class vect_pattern): Update signatures include new cache.
15067
15068 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
15069
15070 * config/cris/cris.cc (cris_preferred_reload_class): Reject
15071 "eliminated" registers and small-enough constants unless
15072 reloaded into a class that is a subset of GENERAL_REGS.
15073 * config/cris/cris.md (attribute "cpu_variant"): New.
15074 (attribute "enabled"): Conditionalize on a matching attribute
15075 cpu_variant, if specified.
15076 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
15077 memory, add cpu-variant-enabled variants for "r" alternatives on
15078 the far side of the "x" alternatives, preferring the "x" ones
15079 only for variants where MOF is present (in addition to SRP).
15080
15081 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
15082
15083 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
15084 extra cost for ALL_REGS.
15085
15086 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
15087
15088 * config/cris/constraints.md (define_register_constraint "b"): Now
15089 GENERAL_REGS.
15090 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
15091 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
15092 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
15093 and SPEC_GENNONACR_REGS.
15094 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
15095 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
15096
15097 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
15098
15099 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
15100 Conditionalize on (sub-)register operands or operand 1 being 0.
15101
15102 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
15103
15104 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
15105 (MUL_BUG_ASM_DEFAULT): New macro.
15106 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
15107 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
15108 accordingly.
15109
15110 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
15111
15112 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
15113 to 10 for AutoFDO.
15114
15115 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
15116
15117 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
15118
15119 2022-02-01 Andrew Pinski <apinski@marvell.com>
15120
15121 * doc/install.texi:
15122
15123 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
15124
15125 * config/s390/s390.cc (s390_code_end): Do not switch back to
15126 code section.
15127
15128 2022-02-01 Jakub Jelinek <jakub@redhat.com>
15129
15130 PR target/104323
15131 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
15132 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
15133 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
15134 GTY((user)) for struct bifdata and struct ovlddata. Instead add
15135 GTY((skip(""))) to members with pointer and enum types that don't need
15136 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
15137 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
15138 (write_extern_fntype, write_fntype): Remove.
15139 (write_fntype_init): Emit the fntype vars as automatic vars instead
15140 of file scope ones.
15141 (write_header_file): Don't iterate with write_extern_fntype.
15142 (write_init_file): Don't iterate with write_fntype. Don't emit
15143 gt_ggc_mx and gt_pch_nx definitions.
15144
15145 2022-02-01 Jason Merrill <jason@redhat.com>
15146
15147 * tree.h (struct tree_vec_map_cache_hasher): Move from...
15148 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
15149
15150 2022-02-01 Tom de Vries <tdevries@suse.de>
15151
15152 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
15153 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
15154 UNSPECV_UNIFORM_WARP_CHECK.
15155 (define_insn "nvptx_uniform_warp_check"): New define_insn.
15156
15157 2022-02-01 Tom de Vries <tdevries@suse.de>
15158
15159 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
15160 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
15161 UNSPECV_WARPSYNC.
15162 (define_insn "nvptx_warpsync"): New define_insn.
15163
15164 2022-02-01 Tom de Vries <tdevries@suse.de>
15165
15166 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
15167
15168 2022-02-01 Tom de Vries <tdevries@suse.de>
15169
15170 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
15171 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
15172 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
15173 insn for TARGET_PTX_6_0.
15174
15175 2022-02-01 Tom de Vries <tdevries@suse.de>
15176
15177 PR target/100428
15178 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
15179 insn.
15180
15181 2022-02-01 Tom de Vries <tdevries@suse.de>
15182
15183 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
15184 (define_insn "atomic_exchange<mode>")
15185 (define_insn "atomic_fetch_add<mode>")
15186 (define_insn "atomic_fetch_addsf")
15187 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
15188 if memory operands is frame-relative.
15189
15190 2022-02-01 Tom de Vries <tdevries@suse.de>
15191
15192 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
15193 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
15194 (VOID): New macro.
15195 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
15196 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
15197 NVPTX_BUILTIN_MEMBAR_CTA.
15198 (nvptx_lockfull_update): Add level parameter. Emit barriers.
15199 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
15200 nvptx_lockfull_update.
15201 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
15202 UNSPECV_MEMBAR_GL.
15203 (define_expand "nvptx_membar_gl"): New expand.
15204 (define_insn "*nvptx_membar_gl"): New insn.
15205
15206 2022-02-01 Martin Liska <mliska@suse.cz>
15207
15208 * doc/install.texi: Remove option for GCC < 4.8.
15209
15210 2022-02-01 Jakub Jelinek <jakub@redhat.com>
15211
15212 PR middle-end/104307
15213 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
15214 stmts to uses vector, just set vec_cond_expr_only to false for
15215 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
15216 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
15217 like non-VEC_COND_EXPRs.
15218
15219 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
15220
15221 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
15222 (VEC_BLENDV): Likewise.
15223 (VEC_BPERM): Likewise.
15224 (VEC_CFUGE): Likewise.
15225 (VEC_CIPHER_BE): Likewise.
15226 (VEC_CIPHERLAST_BE): Likewise.
15227 (VEC_CLRL): Likewise.
15228 (VEC_CLRR): Likewise.
15229 (VEC_CMPNEZ): Likewise.
15230 (VEC_CNTLZ): Likewise.
15231 (VEC_CNTLZM): Likewise.
15232 (VEC_CNTTZM): Likewise.
15233 (VEC_CNTLZ_LSBB): Likewise.
15234 (VEC_CNTM): Likewise.
15235 (VEC_CNTTZ): Likewise.
15236 (VEC_CNTTZ_LSBB): Likewise.
15237 (VEC_CONVERT_4F32_8F16): Likewise.
15238 (VEC_DIV): Likewise.
15239 (VEC_DIVE): Likewise.
15240 (VEC_EQV): Likewise.
15241 (VEC_EXPANDM): Likewise.
15242 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
15243 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
15244 (VEC_EXTRACTH): Likewise.
15245 (VEC_EXTRACTL): Likewise.
15246 (VEC_EXTRACTM): Likewise.
15247 (VEC_EXTRACT4B): Likewise.
15248 (VEC_EXTULX): Likewise.
15249 (VEC_EXTURX): Likewise.
15250 (VEC_FIRSTMATCHINDEX): Likewise.
15251 (VEC_FIRSTMACHOREOSINDEX): Likewise.
15252 (VEC_FIRSTMISMATCHINDEX): Likewise.
15253 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
15254 (VEC_GB): Likewise.
15255 (VEC_GENBM): Likewise.
15256 (VEC_GENHM): Likewise.
15257 (VEC_GENWM): Likewise.
15258 (VEC_GENDM): Likewise.
15259 (VEC_GENQM): Likewise.
15260 (VEC_GENPCVM): Likewise.
15261 (VEC_GNB): Likewise.
15262 (VEC_INSERTH): Likewise.
15263 (VEC_INSERTL): Likewise.
15264 (VEC_INSERT4B): Likewise.
15265 (VEC_LXVL): Likewise.
15266 (VEC_MERGEE): Likewise.
15267 (VEC_MERGEO): Likewise.
15268 (VEC_MOD): Likewise.
15269 (VEC_MSUB): Likewise.
15270 (VEC_MULH): Likewise.
15271 (VEC_NAND): Likewise.
15272 (VEC_NCIPHER_BE): Likewise.
15273 (VEC_NCIPHERLAST_BE): Likewise.
15274 (VEC_NEARBYINT): Likewise.
15275 (VEC_NMADD): Likewise.
15276 (VEC_ORC): Likewise.
15277 (VEC_PDEP): Likewise.
15278 (VEC_PERMX): Likewise.
15279 (VEC_PEXT): Likewise.
15280 (VEC_POPCNT): Likewise.
15281 (VEC_PARITY_LSBB): Likewise.
15282 (VEC_REPLACE_ELT): Likewise.
15283 (VEC_REPLACE_UN): Likewise.
15284 (VEC_REVB): Likewise.
15285 (VEC_RINT): Likewise.
15286 (VEC_RLMI): Likewise.
15287 (VEC_RLNM): Likewise.
15288 (VEC_SBOX_BE): Likewise.
15289 (VEC_SIGNEXTI): Likewise.
15290 (VEC_SIGNEXTLL): Likewise.
15291 (VEC_SIGNEXTQ): Likewise.
15292 (VEC_SLDB): Likewise.
15293 (VEC_SLV): Likewise.
15294 (VEC_SPLATI): Likewise.
15295 (VEC_SPLATID): Likewise.
15296 (VEC_SPLATI_INS): Likewise.
15297 (VEC_SQRT): Likewise.
15298 (VEC_SRDB): Likewise.
15299 (VEC_SRV): Likewise.
15300 (VEC_STRIL): Likewise.
15301 (VEC_STRIL_P): Likewise.
15302 (VEC_STRIR): Likewise.
15303 (VEC_STRIR_P): Likewise.
15304 (VEC_STXVL): Likewise.
15305 (VEC_TERNARYLOGIC): Likewise.
15306 (VEC_TEST_LSBB_ALL_ONES): Likewise.
15307 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
15308 (VEC_VEE): Likewise.
15309 (VEC_VES): Likewise.
15310 (VEC_VIE): Likewise.
15311 (VEC_VPRTYB): Likewise.
15312 (VEC_VSCEEQ): Likewise.
15313 (VEC_VSCEGT): Likewise.
15314 (VEC_VSCELT): Likewise.
15315 (VEC_VSCEUO): Likewise.
15316 (VEC_VSEE): Likewise.
15317 (VEC_VSES): Likewise.
15318 (VEC_VSIE): Likewise.
15319 (VEC_VSTDC): Likewise.
15320 (VEC_VSTDCN): Likewise.
15321 (VEC_VTDC): Likewise.
15322 (VEC_XL): Likewise.
15323 (VEC_XL_BE): Likewise.
15324 (VEC_XL_LEN_R): Likewise.
15325 (VEC_XL_SEXT): Likewise.
15326 (VEC_XL_ZEXT): Likewise.
15327 (VEC_XST): Likewise.
15328 (VEC_XST_BE): Likewise.
15329 (VEC_XST_LEN_R): Likewise.
15330 (VEC_XST_TRUNC): Likewise.
15331 (VEC_XXPERMDI): Likewise.
15332 (VEC_XXSLDWI): Likewise.
15333 (VEC_TSTSFI_EQ_DD): Likewise.
15334 (VEC_TSTSFI_EQ_TD): Likewise.
15335 (VEC_TSTSFI_GT_DD): Likewise.
15336 (VEC_TSTSFI_GT_TD): Likewise.
15337 (VEC_TSTSFI_LT_DD): Likewise.
15338 (VEC_TSTSFI_LT_TD): Likewise.
15339 (VEC_TSTSFI_OV_DD): Likewise.
15340 (VEC_TSTSFI_OV_TD): Likewise.
15341 (VEC_VADDCUQ): Likewise.
15342 (VEC_VADDECUQ): Likewise.
15343 (VEC_VADDEUQM): Likewise.
15344 (VEC_VADDUDM): Likewise.
15345 (VEC_VADDUQM): Likewise.
15346 (VEC_VBPERMQ): Likewise.
15347 (VEC_VCLZB): Likewise.
15348 (VEC_VCLZD): Likewise.
15349 (VEC_VCLZH): Likewise.
15350 (VEC_VCLZW): Likewise.
15351 (VEC_VCTZB): Likewise.
15352 (VEC_VCTZD): Likewise.
15353 (VEC_VCTZH): Likewise.
15354 (VEC_VCTZW): Likewise.
15355 (VEC_VEEDP): Likewise.
15356 (VEC_VEESP): Likewise.
15357 (VEC_VESDP): Likewise.
15358 (VEC_VESSP): Likewise.
15359 (VEC_VIEDP): Likewise.
15360 (VEC_VIESP): Likewise.
15361 (VEC_VPKSDSS): Likewise.
15362 (VEC_VPKSDUS): Likewise.
15363 (VEC_VPKUDUM): Likewise.
15364 (VEC_VPKUDUS): Likewise.
15365 (VEC_VPOPCNT): Likewise.
15366 (VEC_VPOPCNTB): Likewise.
15367 (VEC_VPOPCNTD): Likewise.
15368 (VEC_VPOPCNTH): Likewise.
15369 (VEC_VPOPCNTW): Likewise.
15370 (VEC_VPRTYBD): Likewise.
15371 (VEC_VPRTYBQ): Likewise.
15372 (VEC_VPRTYBW): Likewise.
15373 (VEC_VRLD): Likewise.
15374 (VEC_VSLD): Likewise.
15375 (VEC_VSRAD): Likewise.
15376 (VEC_VSRD): Likewise.
15377 (VEC_VSTDCDP): Likewise.
15378 (VEC_VSTDCNDP): Likewise.
15379 (VEC_VSTDCNQP): Likewise.
15380 (VEC_VSTDCNSP): Likewise.
15381 (VEC_VSTDCQP): Likewise.
15382 (VEC_VSTDCSP): Likewise.
15383 (VEC_VSUBECUQ): Likewise.
15384 (VEC_VSUBEUQM): Likewise.
15385 (VEC_VSUBUDM): Likewise.
15386 (VEC_VSUBUQM): Likewise.
15387 (VEC_VTDCDP): Likewise.
15388 (VEC_VTDCSP): Likewise.
15389 (VEC_VUPKHSW): Likewise.
15390 (VEC_VUPKLSW): Likewise.
15391
15392 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
15393
15394 PR rtl-optimization/101260
15395 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
15396 copy_regno.
15397
15398 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
15399
15400 PR middle-end/95115
15401 * fold-const.cc (const_binop): Do not fold NaN result from
15402 non-NaN operands.
15403
15404 2022-02-01 Tom de Vries <tdevries@suse.de>
15405
15406 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
15407 -ftree-loop-distribute-patterns.
15408 (loop_distribution::execute): Don't call transform_reduction_loop for
15409 -fno-tree-loop-distribute-patterns.
15410
15411 2022-01-31 Andrew Pinski <apinski@marvell.com>
15412
15413 * fold-const.h (operand_compare::operand_equal_p):
15414 Fix comment about OEP_* flags.
15415
15416 2022-01-31 Jakub Jelinek <jakub@redhat.com>
15417
15418 PR target/104298
15419 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
15420 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
15421 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
15422 if not already defined.
15423
15424 2022-01-31 Martin Sebor <msebor@redhat.com>
15425
15426 PR middle-end/104232
15427 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
15428 Handle PHIs. Add a synonymous overload.
15429 (pass_waccess::check_pointer_uses): Call pointers_related_p.
15430
15431 2022-01-31 Richard Biener <rguenther@suse.de>
15432
15433 PR tree-optimization/100499
15434 * fold-const.cc (multiple_of_p): Pass the correct type of
15435 the expression to the recursive invocation of multiple_of_p
15436 for conversions and use CASE_CONVERT.
15437
15438 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
15439
15440 PR target/104189
15441 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
15442
15443 2022-01-31 Richard Biener <rguenther@suse.de>
15444
15445 PR tree-optimization/100499
15446 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
15447 on poly-ints instead of multiple_of_p.
15448 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
15449 (non_rewritable_mem_ref_base): Likewise.
15450 (non_rewritable_lvalue_p): Likewise.
15451 (execute_update_addresses_taken): Likewise.
15452
15453 2022-01-29 Jakub Jelinek <jakub@redhat.com>
15454 Andrew Pinski <apinski@marvell.com>
15455
15456 PR tree-optimization/104279
15457 PR tree-optimization/104280
15458 PR tree-optimization/104281
15459 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
15460 boolean_type_node and convert to type. Formatting fixes.
15461
15462 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
15463
15464 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
15465
15466 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
15467
15468 PR tree-optimization/103514
15469 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
15470 (a & b) == (a ^ b) -> !(a | b): New optimization.
15471
15472 2022-01-28 Marek Polacek <polacek@redhat.com>
15473
15474 * doc/invoke.texi: Update -Wbidi-chars documentation.
15475
15476 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
15477
15478 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
15479
15480 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
15481
15482 PR tree-optimization/95424
15483 * match.pd: Simplify 1 / X where X is an integer.
15484
15485 2022-01-28 Jakub Jelinek <jakub@redhat.com>
15486
15487 PR tree-optimization/104263
15488 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
15489 cfun->can_throw_non_call_exceptions && cfun->eh test whether
15490 last non-debug stmt in the bb is store_valid_for_store_merging_p
15491 rather than last stmt.
15492
15493 2022-01-28 Martin Liska <mliska@suse.cz>
15494
15495 * diagnostic.cc (diagnostic_action_after_output): Remove extra
15496 newline.
15497
15498 2022-01-28 Martin Liska <mliska@suse.cz>
15499
15500 * config/rs6000/host-darwin.cc (segv_crash_handler):
15501 Do not use leading capital letter.
15502 (segv_handler): Likewise.
15503 * ipa-sra.cc (verify_splitting_accesses): Likewise.
15504 * varasm.cc (get_section): Likewise.
15505
15506 2022-01-28 Richard Biener <rguenther@suse.de>
15507
15508 PR tree-optimization/104267
15509 * tree-vect-stmts.cc (vectorizable_call): Properly use the
15510 per-argument determined vector type for externals and
15511 invariants.
15512
15513 2022-01-28 Richard Biener <rguenther@suse.de>
15514
15515 PR tree-optimization/104263
15516 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
15517 Purge edges also when !cfun->has_nonlocal_label
15518 and !cfun->calls_setjmp.
15519
15520 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
15521
15522 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
15523 attributes.
15524
15525 2022-01-28 Jakub Jelinek <jakub@redhat.com>
15526
15527 PR lto/104237
15528 * cfgrtl.cc (loc_equal): New function.
15529 (unique_locus_on_edge_between_p): Use it.
15530
15531 2022-01-28 Richard Biener <rguenther@suse.de>
15532
15533 * cfganal.h (mark_dfs_back_edges): Provide API with struct
15534 function argument.
15535 * cfganal.cc (mark_dfs_back_edges): Take a struct function
15536 to work on, add a wrapper passing cfun.
15537 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
15538 uses with fun which is already passed.
15539 (draw_cfg_edges): Likewise.
15540 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
15541 for fun != cfun.
15542
15543 2022-01-27 Patrick Palka <ppalka@redhat.com>
15544
15545 PR c++/99895
15546 * tree.cc (build_call_vec): Add const to second parameter.
15547 * tree.h (build_call_vec): Likewise.
15548
15549 2022-01-27 Martin Liska <mliska@suse.cz>
15550
15551 PR web/104254
15552 * diagnostic.cc (diagnostic_initialize):
15553 Initialize report_bug flag.
15554 (diagnostic_action_after_output):
15555 Explain that -freport-bug option can be used for pre-processed
15556 file creation. Make the message shorter.
15557 (error_recursion): Rename Internal to internal.
15558 * diagnostic.h (struct diagnostic_context): New field.
15559 * opts.cc (common_handle_option): Init the field here.
15560
15561 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
15562
15563 PR target/103702
15564 * config/rs6000/rs6000.cc
15565 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
15566 assertion with early return.
15567
15568 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
15569
15570 PR middle-end/103642
15571 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
15572 for non-pointer or non-reference-to-pointer cases.
15573
15574 2022-01-27 Jakub Jelinek <jakub@redhat.com>
15575
15576 PR tree-optimization/104196
15577 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
15578 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
15579 return NULL and emit needed stmts before and after stmt.
15580 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
15581 pick as operand_entry that will hold the merged test the one feeding
15582 earliest condition, ensure that by swapping range->idx with some
15583 other range's idx if needed. If seq is non-NULL, don't actually swap
15584 it but instead rewrite stmts with undefined overflow in between
15585 the two locations.
15586 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
15587 corresponding condition even if they have non-NULL ops[]->op.
15588 Formatting fix.
15589
15590 2022-01-26 Jakub Jelinek <jakub@redhat.com>
15591
15592 PR target/104239
15593 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
15594 asm.
15595 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
15596 before for loop instead of for init clause.
15597 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
15598
15599 2022-01-26 Jakub Jelinek <jakub@redhat.com>
15600
15601 PR target/104239
15602 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
15603 _X86INTRIN_H_INCLUDED and adjust #error wording.
15604 * config/rs6000/bmi2intrin.h: Likewise.
15605
15606 2022-01-26 Jakub Jelinek <jakub@redhat.com>
15607
15608 PR debug/104194
15609 * dwarf2out.cc (long_double_as_float128): New function.
15610 (modified_type_die): For powerpc64le IEEE 754 quad long double
15611 and complex long double emit those as DW_TAG_typedef to
15612 _Float128 or complex _Float128 base type.
15613
15614 2022-01-26 Marek Polacek <polacek@redhat.com>
15615
15616 PR target/104213
15617 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
15618 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
15619
15620 2022-01-26 Martin Liska <mliska@suse.cz>
15621
15622 * ipa-modref-tree.cc (modref_access_node::update):
15623 Remove "--param param=foo" with "--param foo".
15624 (modref_access_node::insert): Likewise.
15625 (modref_access_node::insert_kill): Likewise.
15626 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
15627 (struct modref_base_node): Likewise.
15628 (struct modref_tree): Likewise.
15629
15630 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
15631
15632 PR target/94193
15633 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
15634 predicate check.
15635
15636 2022-01-25 Martin Sebor <msebor@redhat.com>
15637
15638 PR tree-optimization/104203
15639 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
15640 TV_WARN_ACCESS.
15641 * pointer-query.cc (access_ref::merge_ref): Change return type.
15642 Convert failure to a conservative success.
15643 (access_ref::get_ref): Adjust to the change above. Short-circuit
15644 PHI evaluation after first failure turned into conservative success.
15645 * pointer-query.h (access_ref::merge_ref): Change return type.
15646 * timevar.def (TV_WARN_ACCESS): New timer variable.
15647
15648 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
15649
15650 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
15651
15652 2022-01-25 Richard Biener <rguenther@suse.de>
15653
15654 PR tree-optimization/104214
15655 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
15656 stronger guarantees for relational pointer compares when
15657 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
15658 BASE0 + STEP0 - STEP1 cmp BASE1.
15659
15660 2022-01-25 Jakub Jelinek <jakub@redhat.com>
15661
15662 PR target/104172
15663 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
15664 declare.
15665 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
15666 ieee128_mangling_gcc_8_1): Remove.
15667 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
15668 (rs6000_mangle_type): Return "u9__ieee128" instead of
15669 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
15670 (rs6000_globalize_decl_name): Remove.
15671 * config/rs6000/rs6000-call.cc (init_cumulative_args,
15672 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
15673
15674 2022-01-24 Martin Sebor <msebor@redhat.com>
15675
15676 * pointer-query.cc (pointer_query::dump): Remove duplicate
15677 block.
15678
15679 2022-01-24 Marek Polacek <polacek@redhat.com>
15680
15681 PR preprocessor/104030
15682 * doc/invoke.texi: Update documentation for -Wbidi-chars.
15683
15684 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
15685
15686 PR target/94193
15687 * builtins.cc (expand_builtin_fegetround): New function.
15688 (expand_builtin_feclear_feraise_except): New function.
15689 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
15690 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
15691 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
15692 (feclearexceptsi): New Pattern.
15693 (feraiseexceptsi): New Pattern.
15694 * doc/extend.texi: Add a new introductory paragraph about the
15695 new builtins.
15696 * doc/md.texi: (fegetround@var{m}): Document new optab.
15697 (feclearexcept@var{m}): Document new optab.
15698 (feraiseexcept@var{m}): Document new optab.
15699 * optabs.def (fegetround_optab): New optab.
15700 (feclearexcept_optab): New optab.
15701 (feraiseexcept_optab): New optab.
15702
15703 2022-01-24 Richard Biener <rguenther@suse.de>
15704 Jiufu Guo <guojiufu@linux.ibm.com>
15705
15706 PR tree-optimization/100740
15707 PR tree-optimization/101508
15708 PR tree-optimization/101972
15709 PR tree-optimization/102131
15710 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
15711 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
15712 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
15713
15714 2022-01-24 Jakub Jelinek <jakub@redhat.com>
15715
15716 PR sanitizer/104158
15717 * opt-functions.awk (var_set): Handle EnumBitSet property.
15718 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
15719 specified.
15720 * opts.h (enum cl_enum_var_value): New type.
15721 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
15722 Handle CLEV_BITSET.
15723 (cmdline_handle_error): Handle CLEV_BITSET.
15724 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
15725 * doc/options.texi (EnumBitSet): Document.
15726 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
15727 EnumSet.
15728 (trace-pc, trace-cmp): Drop Set properties.
15729
15730 2022-01-24 Jakub Jelinek <jakub@redhat.com>
15731
15732 PR sanitizer/104158
15733 * common.opt (flag_sanitize_coverage): Remove Variable entry.
15734 (fsanitize-coverage=): Remove RejectNegative property, add
15735 Var(flag_sanitize_coverage) and EnumSet properties.
15736 (trace-pc): Add Set(1) property.
15737 (trace-cmp): Add Set(2) property.
15738 * opts.cc (common_handle_option): Don't handle
15739 OPT_fsanitize_coverage_.
15740
15741 2022-01-24 Jakub Jelinek <jakub@redhat.com>
15742
15743 PR sanitizer/104158
15744 * opt-functions.awk (var_set): Handle EnumSet property.
15745 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
15746 specified.
15747 * opt-read.awk: Handle Set property.
15748 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
15749 (struct cl_decoded_option): Mention enum in value description.
15750 Add mask member.
15751 (set_option): Add mask argument defaulted to 0.
15752 * opts.cc (test_enum_sets): New function.
15753 (opts_cc_tests): Call it.
15754 * opts-common.cc (enum_arg_to_value): Change return argument
15755 from bool to int, on success return index into the cl_enum_arg
15756 array, on failure -1. Add len argument, if non-0, use strncmp
15757 instead of strcmp.
15758 (opt_enum_arg_to_value): Adjust caller.
15759 (decode_cmdline_option): Handle EnumSet represented as
15760 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
15761 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
15762 (handle_option): Pass decoded->mask to set_options last argument.
15763 (generate_option): Clear decoded->mask.
15764 (generate_option_input_file): Likewise.
15765 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
15766 (set_option): Add mask argument, use it for CLVC_ENUM.
15767 (control_warning_option): Adjust enum_arg_to_value caller.
15768 * doc/options.texi: Document Set and EnumSet properties.
15769
15770 2022-01-24 Jakub Jelinek <jakub@redhat.com>
15771
15772 PR bootstrap/104170
15773 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
15774 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
15775 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
15776 using OPTION_*_P macros.
15777 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
15778 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
15779 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
15780 using OPTION_*_P macros.
15781 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
15782 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
15783 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
15784 using OPTION_*_P macros.
15785 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
15786 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
15787 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
15788 using OPTION_*_P macros.
15789 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
15790 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
15791 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
15792 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
15793 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
15794 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
15795 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
15796 otherwise assume if (true).
15797
15798 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
15799
15800 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
15801 Skip zicsr and zifencei if I-ext is 2.0.
15802
15803 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
15804
15805 * config.gcc: Modify default isa_spec version.
15806
15807 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
15808
15809 PR tree-optimization/102087
15810 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
15811 Correct PLUS result type.
15812
15813 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
15814
15815 PR target/104188
15816 * config/i386/predicates.md (bcst_mem_operand): Also check mode
15817 of memory broadcast.
15818
15819 2022-01-23 Andrew Pinski <apinski@marvell.com>
15820
15821 PR target/64821
15822 * config/aarch64/aarch64-builtins.cc
15823 (aarch64_general_gimple_fold_builtin): Handle
15824 __builtin_aarch64_sqrt* and simplify into SQRT internal
15825 function.
15826
15827 2022-01-22 Jakub Jelinek <jakub@redhat.com>
15828
15829 PR other/104176
15830 * opts-global.cc (handle_common_deferred_options): Quote
15831 --enable-plugin in diagnostics to avoid -Werror=format-diag.
15832
15833 2022-01-21 Michael Meissner <meissner@the-meissners.org>
15834
15835 PR target/104136
15836 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
15837 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
15838 * config/rs6000/rs6000.md (prefixed attribute): Delete section
15839 that sets the prefixed attribute for xxspltiw, xxspltidp, and
15840 xxsplti32dx instructions.
15841 (movsf_hardfloat): Explicitly set the prefixed attribute
15842 when xxspltiw and xxspltidp instructions are generated.
15843 (mov<mode>_hardfloat32): Likewise.
15844 (mov<mode>_hardfloat64): Likewise.
15845 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
15846 prefixed attribute for xxspltiw and xxspltidp instructions.
15847 (vsx_mov<mode>_32bit): Likewise.
15848
15849 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
15850
15851 PR bootstrap/104170
15852 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
15853 Return true only on glibc.
15854 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
15855 Revert commit c163647ffbc.
15856 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
15857
15858 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
15859
15860 * common/config/s390/s390-common.cc (s390_supports_split_stack):
15861 Only support split-stack on glibc targets.
15862 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
15863 * config/i386/gnu.h (defined): Ditto.
15864
15865 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
15866
15867 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
15868 vector float and vector double.
15869
15870 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
15871
15872 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
15873 Fix mention of ifunc in string.
15874
15875 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
15876
15877 PR middle-end/104140
15878 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
15879 operands of the widening multiplication are either both signed or
15880 both unsigned, and abort the conversion if mismatched.
15881 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
15882 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
15883 signedness.
15884 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
15885 integer types with the same precision and signedness.
15886 (WIDEN_MULT_EXPR): Document that operands must have integer types
15887 with the same precision, but possibly differing signedness.
15888 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
15889 riscv_current_subset_list returning a NULL pointer (empty list).
15890
15891 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
15892
15893 PR target/103676
15894 * ira.h (struct target_ira): Add member
15895 x_ira_exclude_class_mode_regs.
15896 (ira_exclude_class_mode_regs): New macro.
15897 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
15898 move from here ...
15899 * lra-int.h: ... to here.
15900 (lra_create_new_reg_with_unique_value): Add arg
15901 exclude_start_hard_regs.
15902 (class lra_reg): Add member exclude_start_hard_regs.
15903 * lra-assigns.cc (find_hard_regno_for_1): Setup
15904 impossible_start_hard_regs from exclude_start_hard_regs.
15905 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
15906 it lra_create_new_reg[_with_unique_value].
15907 (match_reload): Ditto.
15908 (check_and_process_move): Pass NULL
15909 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
15910 (goal_alt_exclude_start_hard_regs): New static variable.
15911 (process_addr_reg, simplify_operand_subreg): Pass NULL
15912 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
15913 and get_reload_reg.
15914 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
15915 Use this_alternative_exclude_start_hard_regs additionally to find
15916 winning operand alternative.
15917 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
15918 exclude_start_hard_regs to lra_create_new_reg.
15919 (process_address_1, emit_inc): Ditto.
15920 (curr_insn_transform): Pass exclude_start_hard_regs value to
15921 lra_create_new_reg, get_reload_reg, match_reload.
15922 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
15923 to lra_create_new_reg.
15924 (process_invariant_for_inheritance): Ditto.
15925 * lra-remat.cc (update_scratch_ops): Ditto.
15926 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
15927 exclude_start_hard_regs. Setup the corresponding member of
15928 lra reg info.
15929 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
15930 to lra_create_new_reg_with_unique_value.
15931 (initialize_lra_reg_info_element): Initialize member
15932 exclude_start_hard_regs.
15933 (get_scratch_reg): Pass NULL to lra_create_new_reg.
15934 * ira.cc (setup_prohibited_class_mode_regs): Rename to
15935 setup_prohibited_and_exclude_class_mode_regs and calculate
15936 ira_exclude_class_mode_regs.
15937
15938 2022-01-21 Martin Liska <mliska@suse.cz>
15939
15940 * configure.ac: Detect ld_is_mold and use it for
15941 comdat_group=yes and gcc_cv_ld_hidden=yes.
15942 * configure: Regenerate.
15943
15944 2022-01-21 Richard Biener <rguenther@suse.de>
15945
15946 PR tree-optimization/100089
15947 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
15948 of if-converted loops with unvectorized COND_EXPRs for
15949 all but the unlimited cost models.
15950
15951 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
15952
15953 * config/arm/arm-opts.h (enum stack_protector_guard): New.
15954 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
15955 New.
15956 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
15957 (arm_option_override_internal): Handle and put in error checks.
15958 for stack protector guard options.
15959 (arm_option_reconfigure_globals): Likewise.
15960 (arm_stack_protect_tls_canary_mem): New.
15961 (arm_stack_protect_guard): New.
15962 * config/arm/arm.md (stack_protect_set): New.
15963 (stack_protect_set_tls): Likewise.
15964 (stack_protect_test): Likewise.
15965 (stack_protect_test_tls): Likewise.
15966 (reload_tp_hard): Likewise.
15967 * config/arm/arm.opt (-mstack-protector-guard): New
15968 (-mstack-protector-guard-offset): New.
15969 * doc/invoke.texi: Document new options.
15970
15971 2022-01-21 Richard Biener <rguenther@suse.de>
15972
15973 PR tree-optimization/104156
15974 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
15975 Collect and reset debug stmts with out-of-loop uses when
15976 hoisting guards.
15977 (find_loop_guard): Adjust.
15978 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
15979 (used_outside_loop_p): Push debug uses to a vector of
15980 debug stmts to reset.
15981 (hoist_guard): Adjust -fopt-info category.
15982
15983 2022-01-21 Richard Biener <rguenther@suse.de>
15984
15985 PR tree-optimization/104152
15986 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
15987 can_duplicate_and_interleave_p check.
15988
15989 2022-01-21 Jakub Jelinek <jakub@redhat.com>
15990
15991 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
15992 Avoid passing var to warning_at when the format string doesn't
15993 refer to it.
15994
15995 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
15996
15997 PR tree-optimization/103721
15998 * gimple-range-path.cc
15999 (path_range_query::relations_may_be_invalidated): New.
16000 (path_range_query::compute_ranges_in_block): Reset relations if
16001 they may be invalidated.
16002 (path_range_query::maybe_register_phi_relation): Exit if relations
16003 may be invalidated on incoming edge.
16004 (path_range_query::compute_phi_relations): Pass incoming PHI edge
16005 to maybe_register_phi_relation.
16006 * gimple-range-path.h (relations_may_be_invalidated): New.
16007 (maybe_register_phi_relation): Pass edge instead of tree.
16008 * tree-ssa-threadbackward.cc (back_threader::back_threader):
16009 Mark DFS edges.
16010 * value-relation.cc (path_oracle::path_oracle): Call
16011 mark_dfs_back_edges.
16012 (path_oracle::register_relation): Add SSA names to m_registered
16013 bitmap.
16014 (path_oracle::reset_path): Clear m_registered bitmap.
16015 * value-relation.h (path_oracle::set_root_oracle): New.
16016
16017 2022-01-21 Jakub Jelinek <jakub@redhat.com>
16018
16019 PR rtl-optimization/102478
16020 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
16021 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
16022 would be needed.
16023
16024 2022-01-20 Richard Biener <rguenther@suse.de>
16025
16026 PR middle-end/100786
16027 * gimple-fold.cc (get_symbol_constant_value): Only return
16028 values of compatible type to the symbol.
16029
16030 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
16031
16032 * value-relation.cc (relation_oracle::valid_equivs): Query and add
16033 if valid members of a set.
16034 (equiv_oracle::register_equiv): Call valid_equivs rather than
16035 bitmap direct operations.
16036 (path_oracle::register_equiv): Ditto.
16037 * value-relation.h (relation_oracle::valid_equivs): New prototype.
16038
16039 2022-01-20 Richard Biener <rguenther@suse.de>
16040
16041 PR target/100784
16042 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
16043 LHS before folding __builtin_ia32_shufpd and friends.
16044
16045 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
16046
16047 * config/arm/crypto.md (aes_op_protect): Allow moves from core
16048 registers and from memory.
16049 (aes_op_protect_misalign_load): New pattern.
16050 (aes_op_protect_neon_vld1v16qi): New pattern.
16051
16052 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
16053
16054 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
16055 New pattern.
16056 (aarch32_crypto_aese_fused_protected): Likewise.
16057 (aarch32_crypto_aesd_fused_protected): Likewise.
16058
16059 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
16060
16061 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
16062 to define_expand. Add mitigation for the Cortex-A AES erratum
16063 when enabled.
16064 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
16065 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
16066 (aes_op_protect): New pattern.
16067 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
16068
16069 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
16070
16071 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
16072 (ALL_QUIRKS): Add it.
16073 (cortex-a57, cortex-a72): Enable it.
16074 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
16075 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
16076 option.
16077 (mfix-cortex-a72-aes-1655431): New option alias.
16078 * config/arm/arm.cc (arm_option_override): Handle default settings
16079 for AES erratum switch.
16080 * doc/invoke.texi (Arm Options): Document new options.
16081
16082 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
16083
16084 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
16085 <crypto_mode> rather than hard-coding the mode.
16086 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
16087 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
16088 (*aarch32_crypto_aese_fused): Likewise.
16089 (*aarch32_crypto_aesd_fused): Likewise.
16090 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
16091 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
16092 (crypto_sha1h_lb): Likewise.
16093 (crypto_vmullp64): Likewise.
16094 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
16095 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
16096
16097 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
16098
16099 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
16100 iterator to pattern name to disambiguate.
16101 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
16102 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
16103 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
16104 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
16105 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
16106
16107 2022-01-20 Martin Liska <mliska@suse.cz>
16108
16109 PR bootstrap/104135
16110 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
16111 * rtl.cc: Partially disable -Wformat-diag for RTL checking
16112 error messages.
16113
16114 2022-01-20 Jakub Jelinek <jakub@redhat.com>
16115
16116 PR debug/103874
16117 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
16118 block_num > 0, index entry even if !have_multiple_function_sections.
16119
16120 2022-01-20 liuhongt <hongtao.liu@intel.com>
16121
16122 PR target/103771
16123 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
16124 integral mode mask pack by multi steps which takes
16125 vec_pack_sbool_trunc_optab as start when elements number is
16126 less than BITS_PER_UNITS.
16127
16128 2022-01-20 Richard Biener <rguenther@suse.de>
16129
16130 PR tree-optimization/104114
16131 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
16132 single element vector decomposition.
16133
16134 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
16135
16136 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
16137 (noce_convert_multiple_sets): Call function a second time if we can
16138 improve the first try.
16139
16140 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
16141
16142 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
16143 reversed comparison.
16144 (try_emit_cmove_seq): New function to facilitate creating a cmov
16145 sequence.
16146 (noce_convert_multiple_sets): Create two sequences and use the less
16147 expensive one.
16148
16149 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
16150
16151 * rtl.h (struct rtx_comparison): New struct that holds an rtx
16152 comparison.
16153 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
16154 single parameters.
16155 (rs6000_emit_swsqrt): Likewise.
16156 * expmed.cc (expand_sdiv_pow2): Likewise.
16157 (emit_store_flag): Likewise.
16158 * expr.cc (expand_cond_expr_using_cmove): Likewise.
16159 (expand_expr_real_2): Likewise.
16160 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
16161 parameters.
16162 * optabs.cc (emit_conditional_move_1): New function.
16163 (expand_doubleword_shift_condmove): Use struct.
16164 (emit_conditional_move): Use struct and allow to call directly
16165 without going through preparation steps.
16166 * optabs.h (emit_conditional_move): Use struct.
16167
16168 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
16169
16170 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
16171 (noce_process_if_block): Use potential costs.
16172
16173 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
16174
16175 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
16176 (bb_ok_for_noce_convert_multiple_sets): Likewise.
16177
16178 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
16179
16180 * ifcvt.cc (need_cmov_or_rewire): New function.
16181 (noce_convert_multiple_sets): Call it.
16182
16183 2022-01-19 David Malcolm <dmalcolm@redhat.com>
16184
16185 * attribs.cc (attribute_c_tests): Rename to...
16186 (attribs_cc_tests): ...this.
16187 * bitmap.cc (bitmap_c_tests): Rename to...
16188 (bitmap_cc_tests): ...this.
16189 * cgraph.cc (cgraph_c_finalize): Rename to...
16190 (cgraph_cc_finalize): ...this.
16191 (cgraph_c_tests): Rename to...
16192 (cgraph_cc_tests): ...this.
16193 * cgraph.h (cgraph_c_finalize): Rename to...
16194 (cgraph_cc_finalize): ...this.
16195 (cgraphunit_c_finalize): Rename to...
16196 (cgraphunit_cc_finalize): ...this.
16197 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
16198 (cgraphunit_cc_finalize): ...this.
16199 * convert.cc (convert_c_tests): Rename to...
16200 (convert_cc_tests): ...this.
16201 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
16202 (dbgcnt_cc_tests): ...this.
16203 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
16204 (diagnostic_show_locus_cc_tests): ...this.
16205 * diagnostic.cc (diagnostic_c_tests): Rename to...
16206 (diagnostic_cc_tests): ...this.
16207 * dumpfile.cc (dumpfile_c_tests): Rename to...
16208 (dumpfile_cc_tests): ...this.
16209 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
16210 (dwarf2out_cc_finalize): ...this.
16211 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
16212 (dwarf2out_cc_finalize): ...this.
16213 * edit-context.cc (edit_context_c_tests): Rename to...
16214 (edit_context_cc_tests): ...this.
16215 * et-forest.cc (et_forest_c_tests): Rename to...
16216 (et_forest_cc_tests): ...this.
16217 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
16218 (fibonacci_heap_cc_tests): ...this.
16219 * fold-const.cc (fold_const_c_tests): Rename to...
16220 (fold_const_cc_tests): ...this.
16221 * function-tests.cc (function_tests_c_tests): Rename to...
16222 (function_tests_cc_tests): ...this.
16223 * gcse.cc (gcse_c_finalize): Rename to...
16224 (gcse_cc_finalize): ...this.
16225 * gcse.h (gcse_c_finalize): Rename to...
16226 (gcse_cc_finalize): ...this.
16227 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
16228 (ggc_tests_cc_tests): ...this.
16229 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
16230 (store_merging_cc_tests): ...this.
16231 * gimple.cc (gimple_c_tests): Rename to...
16232 (gimple_cc_tests): ...this.
16233 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
16234 (hash_map_tests_cc_tests): ...this.
16235 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
16236 (hash_set_tests_cc_tests): ...this.
16237 * input.cc (input_c_tests): Rename to...
16238 (input_cc_tests): ...this.
16239 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
16240 (ipa_cp_cc_finalize): ...this.
16241 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
16242 (ipa_fnsummary_cc_finalize): ...this.
16243 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
16244 (ipa_fnsummary_cc_finalize): ...this.
16245 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
16246 (ipa_modref_tree_cc_tests): ...this.
16247 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
16248 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
16249 (ipa_modref_cc_finalize): ...this.
16250 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
16251 (ipa_modref_cc_finalize): ...this.
16252 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
16253 (ipa_cp_cc_finalize): ...this.
16254 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
16255 (ipa_reference_cc_finalize): ...this.
16256 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
16257 (ipa_reference_cc_finalize): ...this.
16258 * ira-costs.cc (ira_costs_c_finalize): Rename to...
16259 (ira_costs_cc_finalize): ...this.
16260 * ira.h (ira_costs_c_finalize): Rename to...
16261 (ira_costs_cc_finalize): ...this.
16262 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
16263 (opt_suggestions_cc_tests): ...this.
16264 * opts.cc (opts_c_tests): Rename to...
16265 (opts_cc_tests): ...this.
16266 * predict.cc (predict_c_tests): Rename to...
16267 (predict_cc_tests): ...this.
16268 * pretty-print.cc (pretty_print_c_tests): Rename to...
16269 (pretty_print_cc_tests): ...this.
16270 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
16271 (read_rtl_function_cc_tests): ...this.
16272 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
16273 (rtl_tests_cc_tests): ...this.
16274 * sbitmap.cc (sbitmap_c_tests): Rename to...
16275 (sbitmap_cc_tests): ...this.
16276 * selftest-run-tests.cc (selftest::run_tests): Update calls for
16277 _c_ to _cc_ function renamings; fix names of attribs and
16278 opt-suggestions tests.
16279 * selftest.cc (selftest_c_tests): Rename to...
16280 (selftest_cc_tests): ...this.
16281 * selftest.h (attribute_c_tests): Rename to...
16282 (attribs_cc_tests): ...this.
16283 (bitmap_c_tests): Rename to...
16284 (bitmap_cc_tests): ...this.
16285 (cgraph_c_tests): Rename to...
16286 (cgraph_cc_tests): ...this.
16287 (convert_c_tests): Rename to...
16288 (convert_cc_tests): ...this.
16289 (diagnostic_c_tests): Rename to...
16290 (diagnostic_cc_tests): ...this.
16291 (diagnostic_show_locus_c_tests): Rename to...
16292 (diagnostic_show_locus_cc_tests): ...this.
16293 (dumpfile_c_tests): Rename to...
16294 (dumpfile_cc_tests): ...this.
16295 (edit_context_c_tests): Rename to...
16296 (edit_context_cc_tests): ...this.
16297 (et_forest_c_tests): Rename to...
16298 (et_forest_cc_tests): ...this.
16299 (fibonacci_heap_c_tests): Rename to...
16300 (fibonacci_heap_cc_tests): ...this.
16301 (fold_const_c_tests): Rename to...
16302 (fold_const_cc_tests): ...this.
16303 (function_tests_c_tests): Rename to...
16304 (function_tests_cc_tests): ...this.
16305 (ggc_tests_c_tests): Rename to...
16306 (ggc_tests_cc_tests): ...this.
16307 (gimple_c_tests): Rename to...
16308 (gimple_cc_tests): ...this.
16309 (hash_map_tests_c_tests): Rename to...
16310 (hash_map_tests_cc_tests): ...this.
16311 (hash_set_tests_c_tests): Rename to...
16312 (hash_set_tests_cc_tests): ...this.
16313 (input_c_tests): Rename to...
16314 (input_cc_tests): ...this.
16315 (opts_c_tests): Rename to...
16316 (opts_cc_tests): ...this.
16317 (predict_c_tests): Rename to...
16318 (predict_cc_tests): ...this.
16319 (pretty_print_c_tests): Rename to...
16320 (pretty_print_cc_tests): ...this.
16321 (read_rtl_function_c_tests): Rename to...
16322 (read_rtl_function_cc_tests): ...this.
16323 (rtl_tests_c_tests): Rename to...
16324 (rtl_tests_cc_tests): ...this.
16325 (sbitmap_c_tests): Rename to...
16326 (sbitmap_cc_tests): ...this.
16327 (selftest_c_tests): Rename to...
16328 (selftest_cc_tests): ...this.
16329 (simplify_rtx_c_tests): Rename to...
16330 (simplify_rtx_cc_tests): ...this.
16331 (spellcheck_c_tests): Rename to...
16332 (spellcheck_cc_tests): ...this.
16333 (spellcheck_tree_c_tests): Rename to...
16334 (spellcheck_tree_cc_tests): ...this.
16335 (sreal_c_tests): Rename to...
16336 (sreal_cc_tests): ...this.
16337 (store_merging_c_tests): Rename to...
16338 (store_merging_cc_tests): ...this.
16339 (tree_c_tests): Rename to...
16340 (tree_cc_tests): ...this.
16341 (tree_cfg_c_tests): Rename to...
16342 (tree_cfg_cc_tests): ...this.
16343 (typed_splay_tree_c_tests): Rename to...
16344 (typed_splay_tree_cc_tests): ...this.
16345 (vec_c_tests): Rename to...
16346 (vec_cc_tests): ...this.
16347 (vec_perm_indices_c_tests): Rename to...
16348 (vec_perm_indices_cc_tests): ..this.
16349 (opt_proposer_c_tests): Rename to...
16350 (opt_suggestions_cc_tests): ...this.
16351 (dbgcnt_c_tests): Rename to...
16352 (dbgcnt_cc_tests): ...this.
16353 (ipa_modref_tree_c_tests): Rename to...
16354 (ipa_modref_tree_cc_tests): ...this.
16355 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
16356 (simplify_rtx_cc_tests): ...this.
16357 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
16358 (spellcheck_tree_cc_tests): ...this.
16359 * spellcheck.cc (spellcheck_c_tests): Rename to...
16360 (spellcheck_cc_tests): ...this.
16361 * sreal.cc (sreal_c_tests): Rename to...
16362 (sreal_cc_tests): ...this.
16363 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
16364 function renamings.
16365 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
16366 (tree_cfg_cc_tests): ...this.
16367 * tree.cc (tree_c_tests): Rename to...
16368 (tree_cc_tests): ...this.
16369 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
16370 (typed_splay_tree_cc_tests): ...this.
16371 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
16372 (vec_perm_indices_cc_tests): ...this.
16373 * vec.cc (vec_c_tests): Rename to...
16374 (vec_cc_tests): ...this.
16375
16376 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
16377
16378 PR tree-optimization/103997
16379 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
16380 vectorization.
16381
16382 2022-01-19 Jakub Jelinek <jakub@redhat.com>
16383
16384 PR middle-end/102860
16385 * match.pd (x %[fl] y -> x % y): New simplification for
16386 unsigned integral types.
16387 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
16388 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
16389
16390 2022-01-19 Richard Biener <rguenther@suse.de>
16391
16392 PR tree-optimization/104112
16393 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
16394 for required intermediate vector types.
16395
16396 2022-01-19 Jakub Jelinek <jakub@redhat.com>
16397
16398 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
16399
16400 2022-01-19 Martin Liska <mliska@suse.cz>
16401
16402 * configure.ac: Remove -Wno-error=format-diag.
16403 * configure: Regenerate.
16404
16405 2022-01-19 Martin Liska <mliska@suse.cz>
16406
16407 * config/riscv/riscv.cc (riscv_handle_type_attribute):
16408 Update one -Wformat-diag string in warning message.
16409
16410 2022-01-19 Jakub Jelinek <jakub@redhat.com>
16411
16412 PR middle-end/104103
16413 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
16414 .ASAN_MARK calls.
16415
16416 2022-01-19 Jakub Jelinek <jakub@redhat.com>
16417
16418 PR c++/89074
16419 * fold-const.cc (address_compare): Consider different STRING_CSTs
16420 with the same lengths that memcmp the same as equal, not different.
16421
16422 2022-01-19 Jakub Jelinek <jakub@redhat.com>
16423
16424 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
16425 {%0}.
16426
16427 2022-01-19 Martin Liska <mliska@suse.cz>
16428 Thomas Schwinge <thomas@codesourcery.com>
16429
16430 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
16431 warning messages.
16432
16433 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
16434
16435 PR target/104090
16436 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
16437 rs6000_cpu.
16438
16439 2022-01-19 Jakub Jelinek <jakub@redhat.com>
16440
16441 PR target/104104
16442 * config/i386/sse.md
16443 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
16444 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
16445 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
16446 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
16447 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
16448 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
16449 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
16450 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
16451 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
16452
16453 2022-01-19 Martin Sebor <msebor@redhat.com>
16454
16455 PR middle-end/104069
16456 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
16457 an unknown result as documented.
16458
16459 2022-01-18 Andrew Pinski <apinski@marvell.com>
16460
16461 * ipa-split.cc (visit_bb): Fix comment before the
16462 warning/error attribute checking code.
16463
16464 2022-01-18 David Faust <david.faust@oracle.com>
16465
16466 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
16467 for base strtab offset yet as it may change.
16468 (output_asm_btfext_core_reloc): Do so here instead.
16469 (output_btfext_core_sections): Likewise.
16470
16471 2022-01-18 David Faust <david.faust@oracle.com>
16472
16473 * config/bpf/coreout.cc (output_btfext_header): Account for
16474 4-byte record size in core_relo_len.
16475 (output_btfext_core_sections): Only write record size once.
16476 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
16477 member.
16478
16479 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
16480
16481 * common/config/riscv/riscv-common.cc
16482 (riscv_subset_list::parse_multiletter_ext): Move pointer
16483 arithmetic ahead of `free'.
16484
16485 2022-01-18 Jason Merrill <jason@redhat.com>
16486
16487 PR c++/104007
16488 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
16489 context.
16490
16491 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
16492
16493 PR middle-end/103163
16494 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
16495 (init_emit_once): ...not here.
16496
16497 2022-01-18 Martin Liska <mliska@suse.cz>
16498
16499 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
16500 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
16501 * config/arc/arc.md: Likewise.
16502 * config/avr/avr.cc (avr_section_type_flags): Likewise.
16503 * config/bfin/bfin.cc (bfin_option_override): Likewise.
16504 (bfin_handle_longcall_attribute): Likewise.
16505 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
16506 * config/frv/frv.cc (frv_expand_builtin): Likewise.
16507 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
16508 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
16509 (iq2000_print_operand_address): Likewise.
16510 (iq2000_print_operand): Likewise.
16511 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
16512 (m32c_pragma_address): Likewise.
16513 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
16514 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
16515 (mips_set_compression_mode): Likewise.
16516 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
16517 (mmix_print_operand): Likewise.
16518 (mmix_output_shiftvalue_op_from_str): Likewise.
16519 (mmix_output_shifted_value): Likewise.
16520 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
16521 * config/msp430/msp430.cc (msp430_option_override): Likewise.
16522 (msp430_attr): Likewise.
16523 (msp430_expand_delay_cycles): Likewise.
16524 (msp430_expand_builtin): Likewise.
16525 * config/rs6000/aix73.h: Likewise.
16526 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
16527 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
16528 (valid_psw_flag): Likewise.
16529 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
16530 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
16531 (xstormy16_expand_builtin_va_start): Likewise.
16532 (xstormy16_handle_below100_attribute): Likewise.
16533
16534 2022-01-18 Martin Liska <mliska@suse.cz>
16535
16536 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
16537 warning.
16538 (vms_pragma_standard): Likewise.
16539 (vms_pragma_extern_prefix): Likewise.
16540
16541 2022-01-18 Martin Liska <mliska@suse.cz>
16542
16543 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
16544 (print_operand_address): Likewise.
16545 (xtensa_multibss_section_type_flags): Likewise.
16546
16547 2022-01-18 Martin Liska <mliska@suse.cz>
16548
16549 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
16550 wording of an error message.
16551
16552 2022-01-18 Martin Liska <mliska@suse.cz>
16553
16554 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
16555 warning.
16556 (ghs_pragma_section): Likewise.
16557 (ghs_pragma_interrupt): Likewise.
16558 (ghs_pragma_starttda): Likewise.
16559 (ghs_pragma_startsda): Likewise.
16560 (ghs_pragma_startzda): Likewise.
16561 (ghs_pragma_endtda): Likewise.
16562 (ghs_pragma_endsda): Likewise.
16563 (ghs_pragma_endzda): Likewise.
16564
16565 2022-01-18 Martin Liska <mliska@suse.cz>
16566
16567 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
16568 Fix warnings.
16569 * config/nds32/nds32-intrinsic.md: Likewise.
16570 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
16571 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
16572 (nds32_insert_attributes): Likewise.
16573
16574 2022-01-18 Martin Liska <mliska@suse.cz>
16575
16576 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
16577 keyword.
16578 * config/nvptx/nvptx.md: Remove trailing dot.
16579
16580 2022-01-18 Martin Liska <mliska@suse.cz>
16581
16582 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
16583 Wrap keywords with quotes and remove trailing dots.
16584 (riscv_subset_list::parsing_subset_version): Likewise.
16585 (riscv_subset_list::parse_std_ext): Likewise.
16586 (riscv_subset_list::parse_multiletter_ext): Likewise.
16587 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
16588
16589 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
16590
16591 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
16592 argument suggested_unroll_factor.
16593 (vect_analyze_loop_costing): Likewise.
16594 (_loop_vec_info::_loop_vec_info): Initialize new member
16595 suggested_unroll_factor.
16596 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
16597 main loop use partial vectors.
16598 (vect_analyze_loop_2): Pass and use new argument
16599 suggested_unroll_factor.
16600 (vect_analyze_loop_1): Change to intialize local
16601 suggested_unroll_factor and use it.
16602 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
16603 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
16604 suggested_unroll_factor.
16605 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
16606 (vector_costs::suggested_unroll_factor): New getter function.
16607 (finish_cost): Set return argument suggested_unroll_factor.
16608
16609 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
16610
16611 PR tree-optimization/104038
16612 * doc/invoke.texi (relation-block-limit): New.
16613 * params.opt (relation-block-limit): New.
16614 * value-relation.cc (dom_oracle::register_relation): Check for NULL
16615 record before invoking transitive registery.
16616 (dom_oracle::set_one_relation): Check limit before creating record.
16617 (dom_oracle::register_transitives): Stop when no record created.
16618 * value-relation.h (relation_chain_head::m_num_relations): New.
16619
16620 2022-01-18 Richard Biener <rguenther@suse.de>
16621
16622 PR ipa/103989
16623 * ipa-inline.cc (inline_small_functions): Do not enqueue call
16624 edges originating in functions compiled with -Og.
16625
16626 2022-01-18 Richard Biener <rguenther@suse.de>
16627
16628 PR ipa/103989
16629 * passes.def (pass_all_optimizations_g): Remove pass_modref
16630 and pass_local_pure_const.
16631
16632 2022-01-18 Martin Liska <mliska@suse.cz>
16633
16634 * config/s390/s390.cc: Fix -Wformat-diag warnings.
16635
16636 2022-01-18 Martin Liska <mliska@suse.cz>
16637
16638 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
16639 keyword in quotes.
16640 (s390_resolve_overloaded_builtin): Remove trailing dot.
16641 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
16642 (s390_expand_builtin): Remove trailing dot.
16643 (s390_emit_prologue): Likewise, use semicolon.
16644 (s390_option_override_internal): Update keyword.
16645 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
16646
16647 2022-01-18 Martin Liska <mliska@suse.cz>
16648
16649 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
16650 keywords and use %qs instead of %<%s%>.
16651
16652 2022-01-18 Richard Biener <rguenther@suse.de>
16653
16654 PR tree-optimization/103987
16655 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
16656 query with a pointer check.
16657
16658 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
16659
16660 PR target/104005
16661 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
16662 When using MEM_EXPR, require the base to be a decl.
16663
16664 2022-01-18 Richard Biener <rguenther@suse.de>
16665
16666 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
16667 avoid padding.
16668 * function.h (struct function): Likewise.
16669
16670 2022-01-18 Arnaud Charlet <charlet@adacore.com>
16671
16672 * doc/install.texi: Update prerequisites for GNAT
16673
16674 2022-01-18 Andrew Pinski <apinski@marvell.com>
16675
16676 PR tree-optimization/101941
16677 * ipa-split.cc (visit_bb): Disallow function calls where
16678 the function has either error or warning attribute.
16679
16680 2022-01-18 Richard Biener <rguenther@suse.de>
16681
16682 PR tree-optimization/104064
16683 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
16684 DR_INIT fits in a signed HWI, represent the difference from the
16685 first DR in unsigned.
16686
16687 2022-01-17 Martin Liska <mliska@suse.cz>
16688
16689 * Makefile.in: Rename .c names to .cc.
16690 * config.gcc: Likewise.
16691 * configure: Regenerate. Likewise.
16692 * configure.ac: Likewise.
16693 * gengtype.cc (set_gc_used): Likewise.
16694 (source_dot_c_frul): Likewise.
16695 (source_dot_cc_frul): Likewise.
16696 (struct file_rule_st): Likewise.
16697 (close_output_files): Likewise.
16698 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
16699
16700 2022-01-17 Martin Liska <mliska@suse.cz>
16701
16702 * Makefile.in: Rename .c names to .cc.
16703 * alias.h: Likewise.
16704 * asan.cc: Likewise.
16705 * auto-profile.h: Likewise.
16706 * basic-block.h (struct basic_block_d): Likewise.
16707 * btfout.cc: Likewise.
16708 * builtins.cc (expand_builtin_longjmp): Likewise.
16709 (validate_arg): Likewise.
16710 (access_ref::offset_bounded): Likewise.
16711 * caller-save.cc (reg_restore_code): Likewise.
16712 (setup_save_areas): Likewise.
16713 * calls.cc (initialize_argument_information): Likewise.
16714 (expand_call): Likewise.
16715 (emit_library_call_value_1): Likewise.
16716 * cfg-flags.def (RTL): Likewise.
16717 (SIBCALL): Likewise.
16718 (CAN_FALLTHRU): Likewise.
16719 * cfganal.cc (post_order_compute): Likewise.
16720 * cfgcleanup.cc (try_simplify_condjump): Likewise.
16721 (merge_blocks_move_predecessor_nojumps): Likewise.
16722 (merge_blocks_move_successor_nojumps): Likewise.
16723 (merge_blocks_move): Likewise.
16724 (old_insns_match_p): Likewise.
16725 (try_crossjump_bb): Likewise.
16726 * cfgexpand.cc (expand_gimple_stmt): Likewise.
16727 * cfghooks.cc (split_block_before_cond_jump): Likewise.
16728 (profile_record_check_consistency): Likewise.
16729 * cfghooks.h: Likewise.
16730 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
16731 (rtl_can_merge_blocks): Likewise.
16732 (try_redirect_by_replacing_jump): Likewise.
16733 (make_pass_outof_cfg_layout_mode): Likewise.
16734 (cfg_layout_can_merge_blocks_p): Likewise.
16735 * cgraph.cc (release_function_body): Likewise.
16736 (cgraph_node::get_fun): Likewise.
16737 * cgraph.h (struct cgraph_node): Likewise.
16738 (asmname_hasher::equal): Likewise.
16739 (cgraph_inline_failed_type): Likewise.
16740 (thunk_adjust): Likewise.
16741 (dump_callgraph_transformation): Likewise.
16742 (record_references_in_initializer): Likewise.
16743 (ipa_discover_variable_flags): Likewise.
16744 * cgraphclones.cc (GTY): Likewise.
16745 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
16746 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
16747 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
16748 * collect2.cc (maybe_run_lto_and_relink): Likewise.
16749 * combine-stack-adj.cc: Likewise.
16750 * combine.cc (setup_incoming_promotions): Likewise.
16751 (combine_simplify_rtx): Likewise.
16752 (count_rtxs): Likewise.
16753 * common.opt: Likewise.
16754 * common/config/aarch64/aarch64-common.cc: Likewise.
16755 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
16756 * common/config/avr/avr-common.cc: Likewise.
16757 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
16758 * conditions.h: Likewise.
16759 * config.gcc: Likewise.
16760 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
16761 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
16762 (aarch64_get_extension_string_for_isa_flags): Likewise.
16763 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
16764 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
16765 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
16766 (aarch64_option_valid_attribute_p): Likewise.
16767 (aarch64_short_vector_p): Likewise.
16768 (aarch64_float_const_representable_p): Likewise.
16769 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
16770 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
16771 (GTY): Likewise.
16772 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
16773 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
16774 * config/aarch64/t-aarch64: Likewise.
16775 * config/aarch64/x-aarch64: Likewise.
16776 * config/aarch64/x-darwin: Likewise.
16777 * config/alpha/alpha-protos.h: Likewise.
16778 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
16779 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
16780 (enum reg_class): Likewise.
16781 * config/alpha/alpha.md: Likewise.
16782 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
16783 * config/alpha/x-alpha: Likewise.
16784 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
16785 * config/arc/arc.cc (ARC_OPT): Likewise.
16786 (arc_ccfsm_advance): Likewise.
16787 (arc_arg_partial_bytes): Likewise.
16788 (conditionalize_nonjump): Likewise.
16789 * config/arc/arc.md: Likewise.
16790 * config/arc/builtins.def: Likewise.
16791 * config/arc/t-arc: Likewise.
16792 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
16793 (arm_pragma_target_parse): Likewise.
16794 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
16795 (arm_cpu_cpp_builtins): Likewise.
16796 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
16797 (shift_op): Likewise.
16798 (thumb2_final_prescan_insn): Likewise.
16799 (arm_final_prescan_insn): Likewise.
16800 (arm_asm_output_labelref): Likewise.
16801 (arm_small_register_classes_for_mode_p): Likewise.
16802 * config/arm/arm.h: Likewise.
16803 * config/arm/arm.md: Likewise.
16804 * config/arm/driver-arm.cc: Likewise.
16805 * config/arm/symbian.h: Likewise.
16806 * config/arm/t-arm: Likewise.
16807 * config/arm/thumb1.md: Likewise.
16808 * config/arm/x-arm: Likewise.
16809 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
16810 * config/avr/avr-fixed.md: Likewise.
16811 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
16812 * config/avr/avr-mcus.def: Likewise.
16813 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
16814 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
16815 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
16816 * config/avr/avr.cc (avr_option_override): Likewise.
16817 (avr_build_builtin_va_list): Likewise.
16818 (avr_mode_dependent_address_p): Likewise.
16819 (avr_function_arg_advance): Likewise.
16820 (avr_asm_output_aligned_decl_common): Likewise.
16821 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
16822 (SUPPORTS_INIT_PRIORITY): Likewise.
16823 * config/avr/avr.md: Likewise.
16824 * config/avr/builtins.def: Likewise.
16825 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
16826 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
16827 (main): Likewise.
16828 * config/avr/t-avr: Likewise.
16829 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
16830 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
16831 * config/bpf/bpf.h (enum reg_class): Likewise.
16832 * config/bpf/t-bpf: Likewise.
16833 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
16834 * config/cr16/cr16-protos.h: Likewise.
16835 * config/cris/cris.cc (cris_address_cost): Likewise.
16836 (cris_side_effect_mode_ok): Likewise.
16837 (cris_init_machine_status): Likewise.
16838 (cris_emit_movem_store): Likewise.
16839 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
16840 (enum reg_class): Likewise.
16841 (struct cum_args): Likewise.
16842 * config/cris/cris.opt: Likewise.
16843 * config/cris/sync.md: Likewise.
16844 * config/csky/csky.cc (csky_expand_prologue): Likewise.
16845 * config/darwin-c.cc: Likewise.
16846 * config/darwin-f.cc: Likewise.
16847 * config/darwin-sections.def (zobj_const_section): Likewise.
16848 * config/darwin.cc (output_objc_section_asm_op): Likewise.
16849 (fprintf): Likewise.
16850 * config/darwin.h (GTY): Likewise.
16851 * config/elfos.h: Likewise.
16852 * config/epiphany/epiphany-sched.md: Likewise.
16853 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
16854 * config/epiphany/epiphany.h (GTY): Likewise.
16855 (NO_FUNCTION_CSE): Likewise.
16856 * config/epiphany/mode-switch-use.cc: Likewise.
16857 * config/epiphany/predicates.md: Likewise.
16858 * config/epiphany/t-epiphany: Likewise.
16859 * config/fr30/fr30-protos.h: Likewise.
16860 * config/frv/frv-protos.h: Likewise.
16861 * config/frv/frv.cc (TLS_BIAS): Likewise.
16862 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
16863 * config/ft32/ft32-protos.h: Likewise.
16864 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
16865 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
16866 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
16867 * config/gcn/t-gcn-hsa: Likewise.
16868 * config/gcn/t-omp-device: Likewise.
16869 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
16870 (same_cmp_following_p): Likewise.
16871 * config/h8300/h8300.cc (F): Likewise.
16872 * config/h8300/h8300.h (struct cum_arg): Likewise.
16873 (BRANCH_COST): Likewise.
16874 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
16875 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
16876 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
16877 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
16878 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
16879 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
16880 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
16881 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
16882 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
16883 (ix86_register_pragmas): Likewise.
16884 (ix86_d_has_stdcall_convention): Likewise.
16885 (i386_pe_seh_init_sections): Likewise.
16886 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
16887 (ix86_function_value_regno_p): Likewise.
16888 (ix86_compute_frame_layout): Likewise.
16889 (legitimize_pe_coff_symbol): Likewise.
16890 (output_pic_addr_const): Likewise.
16891 * config/i386/i386.h (defined): Likewise.
16892 (host_detect_local_cpu): Likewise.
16893 (CONSTANT_ADDRESS_P): Likewise.
16894 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
16895 (struct machine_frame_state): Likewise.
16896 * config/i386/i386.md: Likewise.
16897 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
16898 * config/i386/mmx.md: Likewise.
16899 * config/i386/sse.md: Likewise.
16900 * config/i386/t-cygming: Likewise.
16901 * config/i386/t-djgpp: Likewise.
16902 * config/i386/t-gnu-property: Likewise.
16903 * config/i386/t-i386: Likewise.
16904 * config/i386/t-intelmic: Likewise.
16905 * config/i386/t-omp-device: Likewise.
16906 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
16907 (i386_pe_adjust_class_at_definition): Likewise.
16908 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
16909 (i386_pe_mangle_decl_assembler_name): Likewise.
16910 (i386_pe_encode_section_info): Likewise.
16911 * config/i386/x-cygwin: Likewise.
16912 * config/i386/x-darwin: Likewise.
16913 * config/i386/x-i386: Likewise.
16914 * config/i386/x-mingw32: Likewise.
16915 * config/i386/x86-tune-sched-core.cc: Likewise.
16916 * config/i386/x86-tune.def: Likewise.
16917 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
16918 * config/ia64/freebsd.h: Likewise.
16919 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
16920 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
16921 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
16922 (ia64_secondary_reload_class): Likewise.
16923 (bundling): Likewise.
16924 * config/ia64/ia64.h: Likewise.
16925 * config/ia64/ia64.md: Likewise.
16926 * config/ia64/predicates.md: Likewise.
16927 * config/ia64/sysv4.h: Likewise.
16928 * config/ia64/t-ia64: Likewise.
16929 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
16930 * config/iq2000/iq2000.md: Likewise.
16931 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
16932 (if): Likewise.
16933 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
16934 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
16935 * config/m32c/t-m32c: Likewise.
16936 * config/m32r/m32r-protos.h: Likewise.
16937 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
16938 * config/m32r/m32r.h: Likewise.
16939 * config/m32r/m32r.md: Likewise.
16940 * config/m68k/m68k-isas.def: Likewise.
16941 * config/m68k/m68k-microarchs.def: Likewise.
16942 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
16943 (m68k_epilogue_uses): Likewise.
16944 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
16945 (m68k_sched_adjust_cost): Likewise.
16946 (m68k_sched_md_init): Likewise.
16947 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
16948 (enum m68k_function_kind): Likewise.
16949 * config/m68k/m68k.md: Likewise.
16950 * config/m68k/m68kemb.h: Likewise.
16951 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
16952 * config/mcore/mcore-protos.h: Likewise.
16953 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
16954 (mcore_expand_prolog): Likewise.
16955 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
16956 * config/mcore/mcore.md: Likewise.
16957 * config/microblaze/microblaze-protos.h: Likewise.
16958 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
16959 (microblaze_function_prologue): Likewise.
16960 (microblaze_function_epilogue): Likewise.
16961 (microblaze_select_section): Likewise.
16962 (microblaze_asm_output_mi_thunk): Likewise.
16963 (microblaze_eh_return): Likewise.
16964 * config/microblaze/microblaze.h: Likewise.
16965 * config/microblaze/microblaze.md: Likewise.
16966 * config/microblaze/t-microblaze: Likewise.
16967 * config/mips/driver-native.cc: Likewise.
16968 * config/mips/loongson2ef.md: Likewise.
16969 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
16970 * config/mips/mips.cc (mips_rtx_costs): Likewise.
16971 (mips_output_filename): Likewise.
16972 (mips_output_function_prologue): Likewise.
16973 (mips_output_function_epilogue): Likewise.
16974 (mips_output_mi_thunk): Likewise.
16975 * config/mips/mips.h: Likewise.
16976 * config/mips/mips.md: Likewise.
16977 * config/mips/t-mips: Likewise.
16978 * config/mips/x-native: Likewise.
16979 * config/mmix/mmix-protos.h: Likewise.
16980 * config/mmix/mmix.cc (mmix_option_override): Likewise.
16981 (mmix_dbx_register_number): Likewise.
16982 (mmix_expand_prologue): Likewise.
16983 * config/mmix/mmix.h: Likewise.
16984 * config/mmix/mmix.md: Likewise.
16985 * config/mmix/predicates.md: Likewise.
16986 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
16987 (mn10300_legitimate_pic_operand_p): Likewise.
16988 * config/mn10300/mn10300.h (enum reg_class): Likewise.
16989 (NO_FUNCTION_CSE): Likewise.
16990 * config/moxie/moxie-protos.h: Likewise.
16991 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
16992 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
16993 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
16994 (msp430_incoming_return_addr_rtx): Likewise.
16995 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
16996 * config/msp430/t-msp430: Likewise.
16997 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
16998 (nds32_rtx_costs_size_prefer): Likewise.
16999 (nds32_init_rtx_costs): Likewise.
17000 * config/nds32/nds32-doubleword.md: Likewise.
17001 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
17002 (nds32_builtin_decl): Likewise.
17003 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
17004 (enum nds32_isr_nested_type): Likewise.
17005 (enum reg_class): Likewise.
17006 * config/nds32/predicates.md: Likewise.
17007 * config/nds32/t-nds32: Likewise.
17008 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
17009 * config/nvptx/nvptx-protos.h: Likewise.
17010 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
17011 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
17012 * config/nvptx/t-nvptx: Likewise.
17013 * config/nvptx/t-omp-device: Likewise.
17014 * config/pa/elf.h: Likewise.
17015 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
17016 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
17017 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
17018 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
17019 (pa_legitimize_reload_address): Likewise.
17020 (pa_can_use_return_insn): Likewise.
17021 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
17022 (som_output_text_section_asm_op): Likewise.
17023 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
17024 * config/pa/pa.md: Likewise.
17025 * config/pa/som.h: Likewise.
17026 * config/pa/t-pa: Likewise.
17027 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
17028 * config/pdp11/pdp11.h: Likewise.
17029 * config/pdp11/pdp11.md: Likewise.
17030 * config/pdp11/t-pdp11: Likewise.
17031 * config/pru/pru.md: Likewise.
17032 * config/pru/t-pru: Likewise.
17033 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
17034 (riscv_gpr_save_operation_p): Likewise.
17035 (riscv_d_register_target_info): Likewise.
17036 (riscv_init_builtins): Likewise.
17037 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
17038 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
17039 * config/riscv/t-riscv: Likewise.
17040 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
17041 * config/rl78/t-rl78: Likewise.
17042 * config/rs6000/aix.h: Likewise.
17043 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
17044 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
17045 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
17046 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
17047 * config/rs6000/driver-rs6000.cc: Likewise.
17048 * config/rs6000/freebsd.h: Likewise.
17049 * config/rs6000/freebsd64.h: Likewise.
17050 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
17051 * config/rs6000/rbtree.cc: Likewise.
17052 * config/rs6000/rbtree.h: Likewise.
17053 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
17054 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
17055 (rs6000_expand_builtin): Likewise.
17056 (rs6000_init_builtins): Likewise.
17057 * config/rs6000/rs6000-cpus.def: Likewise.
17058 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
17059 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
17060 (quad_address_offset_p): Likewise.
17061 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
17062 (rs6000_emit_epilogue): Likewise.
17063 * config/rs6000/rs6000-overload.def: Likewise.
17064 * config/rs6000/rs6000-p8swap.cc: Likewise.
17065 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
17066 (rs6000_const_f32_to_i32): Likewise.
17067 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
17068 (rs6000_debug_legitimize_address): Likewise.
17069 (rs6000_mode_dependent_address): Likewise.
17070 (rs6000_adjust_priority): Likewise.
17071 (rs6000_c_mode_for_suffix): Likewise.
17072 * config/rs6000/rs6000.h (defined): Likewise.
17073 (LONG_DOUBLE_TYPE_SIZE): Likewise.
17074 * config/rs6000/rs6000.md: Likewise.
17075 * config/rs6000/sysv4.h: Likewise.
17076 * config/rs6000/t-linux: Likewise.
17077 * config/rs6000/t-linux64: Likewise.
17078 * config/rs6000/t-rs6000: Likewise.
17079 * config/rs6000/x-darwin: Likewise.
17080 * config/rs6000/x-darwin64: Likewise.
17081 * config/rs6000/x-rs6000: Likewise.
17082 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
17083 * config/rx/rx.cc (rx_expand_builtin): Likewise.
17084 * config/s390/constraints.md: Likewise.
17085 * config/s390/driver-native.cc: Likewise.
17086 * config/s390/htmxlintrin.h: Likewise.
17087 * config/s390/s390-builtins.def (B_DEF): Likewise.
17088 (OB_DEF_VAR): Likewise.
17089 * config/s390/s390-builtins.h: Likewise.
17090 * config/s390/s390-c.cc: Likewise.
17091 * config/s390/s390-opts.h: Likewise.
17092 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
17093 (s390_register_target_pragmas): Likewise.
17094 * config/s390/s390.cc (s390_init_builtins): Likewise.
17095 (s390_expand_plus_operand): Likewise.
17096 (s390_expand_atomic): Likewise.
17097 (s390_valid_target_attribute_inner_p): Likewise.
17098 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
17099 * config/s390/s390.md: Likewise.
17100 * config/s390/t-s390: Likewise.
17101 * config/s390/vx-builtins.md: Likewise.
17102 * config/s390/x-native: Likewise.
17103 * config/sh/divtab-sh4-300.cc (main): Likewise.
17104 * config/sh/divtab-sh4.cc (main): Likewise.
17105 * config/sh/divtab.cc (main): Likewise.
17106 * config/sh/elf.h: Likewise.
17107 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
17108 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
17109 (sh_struct_value_rtx): Likewise.
17110 (sh_remove_reg_dead_or_unused_notes): Likewise.
17111 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
17112 * config/sh/t-sh: Likewise.
17113 * config/sol2-protos.h (solaris_override_options): Likewise.
17114 * config/sol2.h: Likewise.
17115 * config/sparc/driver-sparc.cc: Likewise.
17116 * config/sparc/freebsd.h: Likewise.
17117 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
17118 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
17119 (sparc_asan_shadow_offset): Likewise.
17120 * config/sparc/sparc.h: Likewise.
17121 * config/sparc/sparc.md: Likewise.
17122 * config/sparc/t-sparc: Likewise.
17123 * config/sparc/x-sparc: Likewise.
17124 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
17125 * config/t-darwin: Likewise.
17126 * config/t-dragonfly: Likewise.
17127 * config/t-freebsd: Likewise.
17128 * config/t-glibc: Likewise.
17129 * config/t-linux: Likewise.
17130 * config/t-netbsd: Likewise.
17131 * config/t-openbsd: Likewise.
17132 * config/t-pnt16-warn: Likewise.
17133 * config/t-sol2: Likewise.
17134 * config/t-vxworks: Likewise.
17135 * config/t-winnt: Likewise.
17136 * config/tilegx/t-tilegx: Likewise.
17137 * config/tilegx/tilegx-c.cc: Likewise.
17138 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
17139 * config/tilegx/tilegx.md: Likewise.
17140 * config/tilepro/t-tilepro: Likewise.
17141 * config/tilepro/tilepro-c.cc: Likewise.
17142 * config/v850/t-v850: Likewise.
17143 * config/v850/v850-protos.h: Likewise.
17144 * config/v850/v850.cc (F): Likewise.
17145 * config/v850/v850.h (enum reg_class): Likewise.
17146 (SLOW_BYTE_ACCESS): Likewise.
17147 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
17148 * config/vax/vax.h (enum reg_class): Likewise.
17149 * config/vax/vax.md: Likewise.
17150 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
17151 * config/visium/visium.h: Likewise.
17152 * config/vms/t-vms: Likewise.
17153 * config/vms/vms-crtlmap.map: Likewise.
17154 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
17155 * config/vx-common.h: Likewise.
17156 * config/x-darwin: Likewise.
17157 * config/x-hpux: Likewise.
17158 * config/x-linux: Likewise.
17159 * config/x-netbsd: Likewise.
17160 * config/x-openbsd: Likewise.
17161 * config/x-solaris: Likewise.
17162 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
17163 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
17164 * config/xtensa/xtensa.h: Likewise.
17165 * configure.ac: Likewise.
17166 * context.cc: Likewise.
17167 * convert.h: Likewise.
17168 * coretypes.h: Likewise.
17169 * coverage.cc: Likewise.
17170 * coverage.h: Likewise.
17171 * cppdefault.h (struct default_include): Likewise.
17172 * cprop.cc (local_cprop_pass): Likewise.
17173 (one_cprop_pass): Likewise.
17174 * cse.cc (hash_rtx_cb): Likewise.
17175 (fold_rtx): Likewise.
17176 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
17177 * data-streamer.h (bp_unpack_var_len_int): Likewise.
17178 (streamer_write_widest_int): Likewise.
17179 * dbgcnt.def: Likewise.
17180 * dbxout.cc (dbxout_early_global_decl): Likewise.
17181 (dbxout_common_check): Likewise.
17182 * dbxout.h: Likewise.
17183 * debug.h (struct gcc_debug_hooks): Likewise.
17184 (dump_go_spec_init): Likewise.
17185 * df-core.cc: Likewise.
17186 * df-scan.cc (df_insn_info_delete): Likewise.
17187 (df_insn_delete): Likewise.
17188 * df.h (debug_df_chain): Likewise.
17189 (can_move_insns_across): Likewise.
17190 * dfp.cc (decimal_from_binary): Likewise.
17191 * diagnostic-color.cc: Likewise.
17192 * diagnostic-event-id.h: Likewise.
17193 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
17194 * diagnostic.cc (bt_callback): Likewise.
17195 (num_digits): Likewise.
17196 * doc/avr-mmcu.texi: Likewise.
17197 * doc/cfg.texi: Likewise.
17198 * doc/contrib.texi: Likewise.
17199 * doc/cppinternals.texi: Likewise.
17200 * doc/extend.texi: Likewise.
17201 * doc/generic.texi: Likewise.
17202 * doc/gimple.texi: Likewise.
17203 * doc/gty.texi: Likewise.
17204 * doc/invoke.texi: Likewise.
17205 * doc/loop.texi: Likewise.
17206 * doc/lto.texi: Likewise.
17207 * doc/match-and-simplify.texi: Likewise.
17208 * doc/md.texi: Likewise.
17209 * doc/optinfo.texi: Likewise.
17210 * doc/options.texi: Likewise.
17211 * doc/passes.texi: Likewise.
17212 * doc/plugins.texi: Likewise.
17213 * doc/rtl.texi: Likewise.
17214 * doc/sourcebuild.texi: Likewise.
17215 * doc/tm.texi: Likewise.
17216 * doc/tm.texi.in: Likewise.
17217 * doc/tree-ssa.texi: Likewise.
17218 * dojump.cc (do_jump): Likewise.
17219 * dojump.h: Likewise.
17220 * dumpfile.cc (test_impl_location): Likewise.
17221 (test_capture_of_dump_calls): Likewise.
17222 * dumpfile.h (enum dump_kind): Likewise.
17223 (class dump_location_t): Likewise.
17224 (dump_enabled_p): Likewise.
17225 (enable_rtl_dump_file): Likewise.
17226 (dump_combine_total_stats): Likewise.
17227 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
17228 * dwarf2ctf.h (ctf_debug_finish): Likewise.
17229 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
17230 (struct loc_descr_context): Likewise.
17231 (rtl_for_decl_location): Likewise.
17232 (gen_subprogram_die): Likewise.
17233 (gen_label_die): Likewise.
17234 (is_trivial_indirect_ref): Likewise.
17235 (dwarf2out_late_global_decl): Likewise.
17236 (dwarf_file_hasher::hash): Likewise.
17237 (dwarf2out_end_source_file): Likewise.
17238 (dwarf2out_define): Likewise.
17239 (dwarf2out_early_finish): Likewise.
17240 * dwarf2out.h (struct dw_fde_node): Likewise.
17241 (struct dw_discr_list_node): Likewise.
17242 (output_loc_sequence_raw): Likewise.
17243 * emit-rtl.cc (gen_raw_REG): Likewise.
17244 (maybe_set_max_label_num): Likewise.
17245 * emit-rtl.h (struct rtl_data): Likewise.
17246 * errors.cc (internal_error): Likewise.
17247 (trim_filename): Likewise.
17248 * et-forest.cc: Likewise.
17249 * except.cc (init_eh_for_function): Likewise.
17250 * explow.cc (promote_ssa_mode): Likewise.
17251 (get_dynamic_stack_size): Likewise.
17252 * explow.h: Likewise.
17253 * expmed.h: Likewise.
17254 * expr.cc (safe_from_p): Likewise.
17255 (expand_expr_real_2): Likewise.
17256 (expand_expr_real_1): Likewise.
17257 * file-prefix-map.cc (remap_filename): Likewise.
17258 * final.cc (app_enable): Likewise.
17259 (make_pass_compute_alignments): Likewise.
17260 (final_scan_insn_1): Likewise.
17261 (final_scan_insn): Likewise.
17262 * fixed-value.h (fixed_from_string): Likewise.
17263 * flag-types.h (NO_DEBUG): Likewise.
17264 (DWARF2_DEBUG): Likewise.
17265 (VMS_DEBUG): Likewise.
17266 (BTF_DEBUG): Likewise.
17267 (enum ctf_debug_info_levels): Likewise.
17268 * fold-const.cc (const_binop): Likewise.
17269 (fold_binary_loc): Likewise.
17270 (fold_checksum_tree): Likewise.
17271 * fp-test.cc: Likewise.
17272 * function.cc (expand_function_end): Likewise.
17273 * function.h (struct function): Likewise.
17274 * fwprop.cc (should_replace_address): Likewise.
17275 * gcc-main.cc: Likewise.
17276 * gcc-rich-location.h (class gcc_rich_location): Likewise.
17277 * gcc-symtab.h: Likewise.
17278 * gcc.cc (MIN_FATAL_STATUS): Likewise.
17279 (driver_handle_option): Likewise.
17280 (quote_spec_arg): Likewise.
17281 (driver::finalize): Likewise.
17282 * gcc.h (set_input): Likewise.
17283 * gcov-dump.cc: Likewise.
17284 * gcov.cc (solve_flow_graph): Likewise.
17285 * gcse-common.cc: Likewise.
17286 * gcse.cc (make_pass_rtl_hoist): Likewise.
17287 * genattr-common.cc: Likewise.
17288 * genattrtab.cc (min_fn): Likewise.
17289 (write_const_num_delay_slots): Likewise.
17290 * genautomata.cc: Likewise.
17291 * genconditions.cc (write_one_condition): Likewise.
17292 * genconstants.cc: Likewise.
17293 * genemit.cc (gen_exp): Likewise.
17294 * generic-match-head.cc: Likewise.
17295 * genextract.cc: Likewise.
17296 * gengenrtl.cc (always_void_p): Likewise.
17297 * gengtype-parse.cc (gtymarker_opt): Likewise.
17298 * gengtype-state.cc (state_writer::state_writer): Likewise.
17299 (write_state_trailer): Likewise.
17300 (equals_type_number): Likewise.
17301 (read_state): Likewise.
17302 * gengtype.cc (open_base_files): Likewise.
17303 (struct file_rule_st): Likewise.
17304 (header_dot_h_frul): Likewise.
17305 * gengtype.h: Likewise.
17306 * genmatch.cc (main): Likewise.
17307 * genmddeps.cc: Likewise.
17308 * genmodes.cc (emit_mode_inner): Likewise.
17309 (emit_mode_unit_size): Likewise.
17310 * genpeep.cc (gen_peephole): Likewise.
17311 * genpreds.cc (write_tm_preds_h): Likewise.
17312 * genrecog.cc (validate_pattern): Likewise.
17313 (write_header): Likewise.
17314 (main): Likewise.
17315 * gensupport.cc (change_subst_attribute): Likewise.
17316 (traverse_c_tests): Likewise.
17317 (add_predicate): Likewise.
17318 (init_predicate_table): Likewise.
17319 * gensupport.h (struct optab_pattern): Likewise.
17320 (get_num_insn_codes): Likewise.
17321 (maybe_eval_c_test): Likewise.
17322 (struct pred_data): Likewise.
17323 * ggc-internal.h: Likewise.
17324 * gimple-fold.cc (maybe_fold_reference): Likewise.
17325 (get_range_strlen_tree): Likewise.
17326 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
17327 * gimple-low.cc: Likewise.
17328 * gimple-match-head.cc (directly_supported_p): Likewise.
17329 * gimple-pretty-print.h: Likewise.
17330 * gimple-ssa-sprintf.cc (format_percent): Likewise.
17331 (adjust_range_for_overflow): Likewise.
17332 * gimple-streamer.h: Likewise.
17333 * gimple.h (struct GTY): Likewise.
17334 (is_gimple_resx): Likewise.
17335 * gimplify.cc (gimplify_expr): Likewise.
17336 (gimplify_init_constructor): Likewise.
17337 (omp_construct_selector_matches): Likewise.
17338 (gimplify_omp_target_update): Likewise.
17339 (gimplify_omp_ordered): Likewise.
17340 (gimplify_va_arg_expr): Likewise.
17341 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
17342 * haifa-sched.cc (increase_insn_priority): Likewise.
17343 (try_ready): Likewise.
17344 (sched_create_recovery_edges): Likewise.
17345 * ifcvt.cc (find_if_case_1): Likewise.
17346 (find_if_case_2): Likewise.
17347 * inchash.h: Likewise.
17348 * incpath.cc (add_env_var_paths): Likewise.
17349 * input.cc (dump_location_info): Likewise.
17350 (assert_loceq): Likewise.
17351 (test_lexer_string_locations_concatenation_1): Likewise.
17352 (test_lexer_string_locations_concatenation_2): Likewise.
17353 (test_lexer_string_locations_concatenation_3): Likewise.
17354 * input.h (BUILTINS_LOCATION): Likewise.
17355 (class string_concat_db): Likewise.
17356 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
17357 (expand_LOOP_VECTORIZED): Likewise.
17358 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
17359 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
17360 (ipa_fn_summary_t::duplicate): Likewise.
17361 (make_pass_ipa_fn_summary): Likewise.
17362 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
17363 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
17364 (free_lang_data_in_decl): Likewise.
17365 * ipa-inline.cc (compute_inlined_call_time): Likewise.
17366 (inline_always_inline_functions): Likewise.
17367 * ipa-inline.h (free_growth_caches): Likewise.
17368 (inline_account_function_p): Likewise.
17369 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
17370 (modref_eaf_analysis::analyze_ssa_name): Likewise.
17371 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
17372 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
17373 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
17374 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
17375 (unadjusted_ptr_and_unit_offset): Likewise.
17376 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
17377 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
17378 * ipa-split.cc (consider_split): Likewise.
17379 * ipa-sra.cc (isra_read_node_info): Likewise.
17380 * ipa-utils.h (struct ipa_dfs_info): Likewise.
17381 (recursive_call_p): Likewise.
17382 (ipa_make_function_pure): Likewise.
17383 * ira-build.cc (ira_create_allocno): Likewise.
17384 (ira_flattening): Likewise.
17385 * ira-color.cc (do_coloring): Likewise.
17386 (update_curr_costs): Likewise.
17387 * ira-conflicts.cc (process_regs_for_copy): Likewise.
17388 * ira-int.h (struct ira_emit_data): Likewise.
17389 (ira_prohibited_mode_move_regs): Likewise.
17390 (ira_get_dup_out_num): Likewise.
17391 (ira_destroy): Likewise.
17392 (ira_tune_allocno_costs): Likewise.
17393 (ira_implicitly_set_insn_hard_regs): Likewise.
17394 (ira_build_conflicts): Likewise.
17395 (ira_color): Likewise.
17396 * ira-lives.cc (process_bb_node_lives): Likewise.
17397 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
17398 (setup_uniform_class_p): Likewise.
17399 (def_dominates_uses): Likewise.
17400 * ira.h (ira_nullify_asm_goto): Likewise.
17401 * langhooks.cc (lhd_post_options): Likewise.
17402 * langhooks.h (class substring_loc): Likewise.
17403 (struct lang_hooks_for_tree_inlining): Likewise.
17404 (struct lang_hooks_for_types): Likewise.
17405 (struct lang_hooks): Likewise.
17406 * libfuncs.h (synchronize_libfunc): Likewise.
17407 * loop-doloop.cc (doloop_condition_get): Likewise.
17408 * loop-init.cc (fix_loop_structure): Likewise.
17409 * loop-invariant.cc: Likewise.
17410 * lower-subreg.h: Likewise.
17411 * lra-constraints.cc (curr_insn_transform): Likewise.
17412 * lra-int.h (struct lra_insn_reg): Likewise.
17413 (lra_undo_inheritance): Likewise.
17414 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
17415 (lra_split_hard_reg_for): Likewise.
17416 (lra_coalesce): Likewise.
17417 (lra_final_code_change): Likewise.
17418 * lra-spills.cc (lra_final_code_change): Likewise.
17419 * lra.cc (lra_process_new_insns): Likewise.
17420 * lto-compress.h (struct lto_compression_stream): Likewise.
17421 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
17422 (write_symbol): Likewise.
17423 * lto-streamer.h (enum LTO_tags): Likewise.
17424 (lto_value_range_error): Likewise.
17425 (lto_append_block): Likewise.
17426 (lto_streamer_hooks_init): Likewise.
17427 (stream_read_tree_ref): Likewise.
17428 (lto_prepare_function_for_streaming): Likewise.
17429 (select_what_to_stream): Likewise.
17430 (omp_lto_input_declare_variant_alt): Likewise.
17431 (cl_optimization_stream_in): Likewise.
17432 * lto-wrapper.cc (append_compiler_options): Likewise.
17433 * machmode.def: Likewise.
17434 * machmode.h (struct int_n_data_t): Likewise.
17435 * main.cc (main): Likewise.
17436 * match.pd: Likewise.
17437 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
17438 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
17439 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
17440 (make_pass_expand_omp_ssa): Likewise.
17441 * omp-low.cc (struct omp_context): Likewise.
17442 (struct omp_taskcopy_context): Likewise.
17443 (lower_omp): Likewise.
17444 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
17445 (mask_name): Likewise.
17446 (omp_sese_dump_pars): Likewise.
17447 (worker_single_simple): Likewise.
17448 * omp-offload.cc (omp_finish_file): Likewise.
17449 (execute_oacc_loop_designation): Likewise.
17450 * optabs-query.cc (lshift_cheap_p): Likewise.
17451 * optc-gen.awk: Likewise.
17452 * optc-save-gen.awk: Likewise.
17453 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
17454 * opts-common.cc: Likewise.
17455 * output.h (app_enable): Likewise.
17456 (output_operand_lossage): Likewise.
17457 (insn_current_reference_address): Likewise.
17458 (get_insn_template): Likewise.
17459 (output_quoted_string): Likewise.
17460 * pass_manager.h (struct register_pass_info): Likewise.
17461 * plugin.cc: Likewise.
17462 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
17463 * plugin.h (invoke_plugin_callbacks): Likewise.
17464 * pointer-query.cc (handle_mem_ref): Likewise.
17465 * postreload-gcse.cc (alloc_mem): Likewise.
17466 * predict.h (enum prediction): Likewise.
17467 (add_reg_br_prob_note): Likewise.
17468 * prefix.h: Likewise.
17469 * profile.h (get_working_sets): Likewise.
17470 * read-md.cc: Likewise.
17471 * read-md.h (struct mapping): Likewise.
17472 (class md_reader): Likewise.
17473 (class noop_reader): Likewise.
17474 * read-rtl-function.cc (function_reader::create_function): Likewise.
17475 (function_reader::extra_parsing_for_operand_code_0): Likewise.
17476 * read-rtl.cc (initialize_iterators): Likewise.
17477 * real.cc: Likewise.
17478 * real.h (struct real_value): Likewise.
17479 (format_helper::format_helper): Likewise.
17480 (real_hash): Likewise.
17481 (real_can_shorten_arithmetic): Likewise.
17482 * recog.cc (struct target_recog): Likewise.
17483 (offsettable_nonstrict_memref_p): Likewise.
17484 (constrain_operands): Likewise.
17485 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
17486 (which_op_alt): Likewise.
17487 (struct insn_gen_fn): Likewise.
17488 * reg-notes.def (REG_NOTE): Likewise.
17489 * reg-stack.cc: Likewise.
17490 * regs.h (reg_is_parm_p): Likewise.
17491 * regset.h: Likewise.
17492 * reload.cc (push_reload): Likewise.
17493 (find_reloads): Likewise.
17494 (find_reloads_address_1): Likewise.
17495 (find_replacement): Likewise.
17496 (refers_to_regno_for_reload_p): Likewise.
17497 (refers_to_mem_for_reload_p): Likewise.
17498 * reload.h (push_reload): Likewise.
17499 (deallocate_reload_reg): Likewise.
17500 * reload1.cc (emit_input_reload_insns): Likewise.
17501 * reorg.cc (relax_delay_slots): Likewise.
17502 * rtl.def (UNKNOWN): Likewise.
17503 (SEQUENCE): Likewise.
17504 (BARRIER): Likewise.
17505 (ASM_OPERANDS): Likewise.
17506 (EQ_ATTR_ALT): Likewise.
17507 * rtl.h (struct GTY): Likewise.
17508 (LABEL_NAME): Likewise.
17509 (LABEL_ALT_ENTRY_P): Likewise.
17510 (SUBREG_BYTE): Likewise.
17511 (get_stack_check_protect): Likewise.
17512 (dump_rtx_statistics): Likewise.
17513 (unwrap_const_vec_duplicate): Likewise.
17514 (subreg_promoted_mode): Likewise.
17515 (gen_lowpart_common): Likewise.
17516 (operand_subword): Likewise.
17517 (immed_wide_int_const): Likewise.
17518 (decide_function_section): Likewise.
17519 (active_insn_p): Likewise.
17520 (delete_related_insns): Likewise.
17521 (try_split): Likewise.
17522 (val_signbit_known_clear_p): Likewise.
17523 (simplifiable_subregs): Likewise.
17524 (set_insn_deleted): Likewise.
17525 (subreg_get_info): Likewise.
17526 (remove_free_EXPR_LIST_node): Likewise.
17527 (finish_subregs_of_mode): Likewise.
17528 (get_mem_attrs): Likewise.
17529 (lookup_constant_def): Likewise.
17530 (rtx_to_tree_code): Likewise.
17531 (hash_rtx): Likewise.
17532 (condjump_in_parallel_p): Likewise.
17533 (validate_subreg): Likewise.
17534 (make_compound_operation): Likewise.
17535 (schedule_ebbs): Likewise.
17536 (print_inline_rtx): Likewise.
17537 (fixup_args_size_notes): Likewise.
17538 (expand_dec): Likewise.
17539 (prepare_copy_insn): Likewise.
17540 (mark_elimination): Likewise.
17541 (valid_mode_changes_for_regno): Likewise.
17542 (make_debug_expr_from_rtl): Likewise.
17543 (delete_vta_debug_insns): Likewise.
17544 (simplify_using_condition): Likewise.
17545 (set_insn_locations): Likewise.
17546 (fatal_insn_not_found): Likewise.
17547 (word_register_operation_p): Likewise.
17548 * rtlanal.cc (get_call_fndecl): Likewise.
17549 (side_effects_p): Likewise.
17550 (subreg_nregs): Likewise.
17551 (rtx_cost): Likewise.
17552 (canonicalize_condition): Likewise.
17553 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
17554 * run-rtl-passes.cc (run_rtl_passes): Likewise.
17555 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
17556 * sched-deps.cc (add_dependence_1): Likewise.
17557 * sched-ebb.cc (begin_move_insn): Likewise.
17558 (add_deps_for_risky_insns): Likewise.
17559 (advance_target_bb): Likewise.
17560 * sched-int.h (reemit_notes): Likewise.
17561 (struct _haifa_insn_data): Likewise.
17562 (HID): Likewise.
17563 (DEP_CANCELLED): Likewise.
17564 (debug_ds): Likewise.
17565 (number_in_ready): Likewise.
17566 (schedule_ebbs_finish): Likewise.
17567 (find_modifiable_mems): Likewise.
17568 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
17569 * sel-sched-dump.cc (dump_lv_set): Likewise.
17570 * sel-sched-dump.h: Likewise.
17571 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
17572 (setup_id_reg_sets): Likewise.
17573 (has_dependence_p): Likewise.
17574 (sel_num_cfg_preds_gt_1): Likewise.
17575 (bb_ends_ebb_p): Likewise.
17576 * sel-sched-ir.h (struct _list_node): Likewise.
17577 (struct idata_def): Likewise.
17578 (bb_next_bb): Likewise.
17579 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
17580 (choose_best_pseudo_reg): Likewise.
17581 (verify_target_availability): Likewise.
17582 (can_speculate_dep_p): Likewise.
17583 (sel_rank_for_schedule): Likewise.
17584 * selftest-run-tests.cc (selftest::run_tests): Likewise.
17585 * selftest.h (class auto_fix_quotes): Likewise.
17586 * shrink-wrap.cc (handle_simple_exit): Likewise.
17587 * shrink-wrap.h: Likewise.
17588 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
17589 (simplify_context::simplify_gen_vec_select): Likewise.
17590 * spellcheck-tree.h: Likewise.
17591 * spellcheck.h: Likewise.
17592 * statistics.h (struct function): Likewise.
17593 * stmt.cc (conditional_probability): Likewise.
17594 * stmt.h: Likewise.
17595 * stor-layout.h: Likewise.
17596 * streamer-hooks.h: Likewise.
17597 * stringpool.h: Likewise.
17598 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
17599 * target.def (HOOK_VECTOR_END): Likewise.
17600 (type.): Likewise.
17601 * target.h (union cumulative_args_t): Likewise.
17602 (by_pieces_ninsns): Likewise.
17603 (class predefined_function_abi): Likewise.
17604 * targhooks.cc (default_translate_mode_attribute): Likewise.
17605 * timevar.def: Likewise.
17606 * timevar.h (class timer): Likewise.
17607 * toplev.h (enable_rtl_dump_file): Likewise.
17608 * trans-mem.cc (collect_bb2reg): Likewise.
17609 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
17610 * tree-cfg.cc (remove_bb): Likewise.
17611 (verify_gimple_debug): Likewise.
17612 (remove_edge_and_dominated_blocks): Likewise.
17613 (push_fndecl): Likewise.
17614 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
17615 * tree-complex.cc (expand_complex_multiplication): Likewise.
17616 (expand_complex_div_straight): Likewise.
17617 * tree-core.h (enum tree_index): Likewise.
17618 (enum operand_equal_flag): Likewise.
17619 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
17620 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
17621 * tree-inline.cc (initialize_inlined_parameters): Likewise.
17622 * tree-inline.h (force_value_to_type): Likewise.
17623 * tree-nested.cc (get_chain_decl): Likewise.
17624 (walk_all_functions): Likewise.
17625 * tree-object-size.h: Likewise.
17626 * tree-outof-ssa.cc: Likewise.
17627 * tree-parloops.cc (create_parallel_loop): Likewise.
17628 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
17629 (dump_generic_node): Likewise.
17630 * tree-profile.cc (tree_profiling): Likewise.
17631 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
17632 * tree-ssa-address.cc: Likewise.
17633 * tree-ssa-alias.cc: Likewise.
17634 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
17635 (dump_alias_stats): Likewise.
17636 * tree-ssa-ccp.cc: Likewise.
17637 * tree-ssa-coalesce.h: Likewise.
17638 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
17639 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
17640 * tree-ssa-loop-unswitch.cc: Likewise.
17641 * tree-ssa-math-opts.cc: Likewise.
17642 * tree-ssa-operands.cc (class operands_scanner): Likewise.
17643 * tree-ssa-pre.cc: Likewise.
17644 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
17645 (debug_range_entry): Likewise.
17646 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
17647 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
17648 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
17649 (equal_mem_array_ref_p): Likewise.
17650 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
17651 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
17652 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
17653 * tree-ssa-ter.h: Likewise.
17654 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
17655 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
17656 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
17657 (write_ts_block_tree_pointers): Likewise.
17658 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
17659 (streamer_read_tree_bitfields): Likewise.
17660 (streamer_write_integer_cst): Likewise.
17661 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
17662 (vect_synth_mult_by_constant): Likewise.
17663 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
17664 * tree-vectorizer.cc: Likewise.
17665 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
17666 (vect_update_inits_of_drs): Likewise.
17667 (vect_get_mask_type_for_stmt): Likewise.
17668 (vect_rgroup_iv_might_wrap_p): Likewise.
17669 (cse_and_gimplify_to_preheader): Likewise.
17670 (vect_free_slp_tree): Likewise.
17671 (vect_pattern_recog): Likewise.
17672 (vect_stmt_dominates_stmt_p): Likewise.
17673 * tree.cc (initialize_tree_contains_struct): Likewise.
17674 (need_assembler_name_p): Likewise.
17675 (type_with_interoperable_signedness): Likewise.
17676 * tree.def (SWITCH_EXPR): Likewise.
17677 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
17678 (poly_int_tree_p): Likewise.
17679 (inlined_function_outer_scope_p): Likewise.
17680 (tree_code_for_canonical_type_merging): Likewise.
17681 * value-prof.cc: Likewise.
17682 * value-prof.h (get_nth_most_common_value): Likewise.
17683 (find_func_by_profile_id): Likewise.
17684 * value-range.cc (vrp_operand_equal_p): Likewise.
17685 * value-range.h: Likewise.
17686 * var-tracking.cc: Likewise.
17687 * varasm.cc (default_function_section): Likewise.
17688 (function_section_1): Likewise.
17689 (assemble_variable): Likewise.
17690 (handle_vtv_comdat_section): Likewise.
17691 * vec.h (struct vec_prefix): Likewise.
17692 * vmsdbgout.cc (full_name): Likewise.
17693 * vtable-verify.cc: Likewise.
17694 * vtable-verify.h (struct vtv_graph_node): Likewise.
17695 * xcoffout.cc: Likewise.
17696 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
17697
17698 2022-01-17 Martin Liska <mliska@suse.cz>
17699
17700 * adjust-alignment.c: Moved to...
17701 * adjust-alignment.cc: ...here.
17702 * alias.c: Moved to...
17703 * alias.cc: ...here.
17704 * alloc-pool.c: Moved to...
17705 * alloc-pool.cc: ...here.
17706 * asan.c: Moved to...
17707 * asan.cc: ...here.
17708 * attribs.c: Moved to...
17709 * attribs.cc: ...here.
17710 * auto-inc-dec.c: Moved to...
17711 * auto-inc-dec.cc: ...here.
17712 * auto-profile.c: Moved to...
17713 * auto-profile.cc: ...here.
17714 * bb-reorder.c: Moved to...
17715 * bb-reorder.cc: ...here.
17716 * bitmap.c: Moved to...
17717 * bitmap.cc: ...here.
17718 * btfout.c: Moved to...
17719 * btfout.cc: ...here.
17720 * builtins.c: Moved to...
17721 * builtins.cc: ...here.
17722 * caller-save.c: Moved to...
17723 * caller-save.cc: ...here.
17724 * calls.c: Moved to...
17725 * calls.cc: ...here.
17726 * ccmp.c: Moved to...
17727 * ccmp.cc: ...here.
17728 * cfg.c: Moved to...
17729 * cfg.cc: ...here.
17730 * cfganal.c: Moved to...
17731 * cfganal.cc: ...here.
17732 * cfgbuild.c: Moved to...
17733 * cfgbuild.cc: ...here.
17734 * cfgcleanup.c: Moved to...
17735 * cfgcleanup.cc: ...here.
17736 * cfgexpand.c: Moved to...
17737 * cfgexpand.cc: ...here.
17738 * cfghooks.c: Moved to...
17739 * cfghooks.cc: ...here.
17740 * cfgloop.c: Moved to...
17741 * cfgloop.cc: ...here.
17742 * cfgloopanal.c: Moved to...
17743 * cfgloopanal.cc: ...here.
17744 * cfgloopmanip.c: Moved to...
17745 * cfgloopmanip.cc: ...here.
17746 * cfgrtl.c: Moved to...
17747 * cfgrtl.cc: ...here.
17748 * cgraph.c: Moved to...
17749 * cgraph.cc: ...here.
17750 * cgraphbuild.c: Moved to...
17751 * cgraphbuild.cc: ...here.
17752 * cgraphclones.c: Moved to...
17753 * cgraphclones.cc: ...here.
17754 * cgraphunit.c: Moved to...
17755 * cgraphunit.cc: ...here.
17756 * collect-utils.c: Moved to...
17757 * collect-utils.cc: ...here.
17758 * collect2-aix.c: Moved to...
17759 * collect2-aix.cc: ...here.
17760 * collect2.c: Moved to...
17761 * collect2.cc: ...here.
17762 * combine-stack-adj.c: Moved to...
17763 * combine-stack-adj.cc: ...here.
17764 * combine.c: Moved to...
17765 * combine.cc: ...here.
17766 * common/common-targhooks.c: Moved to...
17767 * common/common-targhooks.cc: ...here.
17768 * common/config/aarch64/aarch64-common.c: Moved to...
17769 * common/config/aarch64/aarch64-common.cc: ...here.
17770 * common/config/alpha/alpha-common.c: Moved to...
17771 * common/config/alpha/alpha-common.cc: ...here.
17772 * common/config/arc/arc-common.c: Moved to...
17773 * common/config/arc/arc-common.cc: ...here.
17774 * common/config/arm/arm-common.c: Moved to...
17775 * common/config/arm/arm-common.cc: ...here.
17776 * common/config/avr/avr-common.c: Moved to...
17777 * common/config/avr/avr-common.cc: ...here.
17778 * common/config/bfin/bfin-common.c: Moved to...
17779 * common/config/bfin/bfin-common.cc: ...here.
17780 * common/config/bpf/bpf-common.c: Moved to...
17781 * common/config/bpf/bpf-common.cc: ...here.
17782 * common/config/c6x/c6x-common.c: Moved to...
17783 * common/config/c6x/c6x-common.cc: ...here.
17784 * common/config/cr16/cr16-common.c: Moved to...
17785 * common/config/cr16/cr16-common.cc: ...here.
17786 * common/config/cris/cris-common.c: Moved to...
17787 * common/config/cris/cris-common.cc: ...here.
17788 * common/config/csky/csky-common.c: Moved to...
17789 * common/config/csky/csky-common.cc: ...here.
17790 * common/config/default-common.c: Moved to...
17791 * common/config/default-common.cc: ...here.
17792 * common/config/epiphany/epiphany-common.c: Moved to...
17793 * common/config/epiphany/epiphany-common.cc: ...here.
17794 * common/config/fr30/fr30-common.c: Moved to...
17795 * common/config/fr30/fr30-common.cc: ...here.
17796 * common/config/frv/frv-common.c: Moved to...
17797 * common/config/frv/frv-common.cc: ...here.
17798 * common/config/gcn/gcn-common.c: Moved to...
17799 * common/config/gcn/gcn-common.cc: ...here.
17800 * common/config/h8300/h8300-common.c: Moved to...
17801 * common/config/h8300/h8300-common.cc: ...here.
17802 * common/config/i386/i386-common.c: Moved to...
17803 * common/config/i386/i386-common.cc: ...here.
17804 * common/config/ia64/ia64-common.c: Moved to...
17805 * common/config/ia64/ia64-common.cc: ...here.
17806 * common/config/iq2000/iq2000-common.c: Moved to...
17807 * common/config/iq2000/iq2000-common.cc: ...here.
17808 * common/config/lm32/lm32-common.c: Moved to...
17809 * common/config/lm32/lm32-common.cc: ...here.
17810 * common/config/m32r/m32r-common.c: Moved to...
17811 * common/config/m32r/m32r-common.cc: ...here.
17812 * common/config/m68k/m68k-common.c: Moved to...
17813 * common/config/m68k/m68k-common.cc: ...here.
17814 * common/config/mcore/mcore-common.c: Moved to...
17815 * common/config/mcore/mcore-common.cc: ...here.
17816 * common/config/microblaze/microblaze-common.c: Moved to...
17817 * common/config/microblaze/microblaze-common.cc: ...here.
17818 * common/config/mips/mips-common.c: Moved to...
17819 * common/config/mips/mips-common.cc: ...here.
17820 * common/config/mmix/mmix-common.c: Moved to...
17821 * common/config/mmix/mmix-common.cc: ...here.
17822 * common/config/mn10300/mn10300-common.c: Moved to...
17823 * common/config/mn10300/mn10300-common.cc: ...here.
17824 * common/config/msp430/msp430-common.c: Moved to...
17825 * common/config/msp430/msp430-common.cc: ...here.
17826 * common/config/nds32/nds32-common.c: Moved to...
17827 * common/config/nds32/nds32-common.cc: ...here.
17828 * common/config/nios2/nios2-common.c: Moved to...
17829 * common/config/nios2/nios2-common.cc: ...here.
17830 * common/config/nvptx/nvptx-common.c: Moved to...
17831 * common/config/nvptx/nvptx-common.cc: ...here.
17832 * common/config/or1k/or1k-common.c: Moved to...
17833 * common/config/or1k/or1k-common.cc: ...here.
17834 * common/config/pa/pa-common.c: Moved to...
17835 * common/config/pa/pa-common.cc: ...here.
17836 * common/config/pdp11/pdp11-common.c: Moved to...
17837 * common/config/pdp11/pdp11-common.cc: ...here.
17838 * common/config/pru/pru-common.c: Moved to...
17839 * common/config/pru/pru-common.cc: ...here.
17840 * common/config/riscv/riscv-common.c: Moved to...
17841 * common/config/riscv/riscv-common.cc: ...here.
17842 * common/config/rs6000/rs6000-common.c: Moved to...
17843 * common/config/rs6000/rs6000-common.cc: ...here.
17844 * common/config/rx/rx-common.c: Moved to...
17845 * common/config/rx/rx-common.cc: ...here.
17846 * common/config/s390/s390-common.c: Moved to...
17847 * common/config/s390/s390-common.cc: ...here.
17848 * common/config/sh/sh-common.c: Moved to...
17849 * common/config/sh/sh-common.cc: ...here.
17850 * common/config/sparc/sparc-common.c: Moved to...
17851 * common/config/sparc/sparc-common.cc: ...here.
17852 * common/config/tilegx/tilegx-common.c: Moved to...
17853 * common/config/tilegx/tilegx-common.cc: ...here.
17854 * common/config/tilepro/tilepro-common.c: Moved to...
17855 * common/config/tilepro/tilepro-common.cc: ...here.
17856 * common/config/v850/v850-common.c: Moved to...
17857 * common/config/v850/v850-common.cc: ...here.
17858 * common/config/vax/vax-common.c: Moved to...
17859 * common/config/vax/vax-common.cc: ...here.
17860 * common/config/visium/visium-common.c: Moved to...
17861 * common/config/visium/visium-common.cc: ...here.
17862 * common/config/xstormy16/xstormy16-common.c: Moved to...
17863 * common/config/xstormy16/xstormy16-common.cc: ...here.
17864 * common/config/xtensa/xtensa-common.c: Moved to...
17865 * common/config/xtensa/xtensa-common.cc: ...here.
17866 * compare-elim.c: Moved to...
17867 * compare-elim.cc: ...here.
17868 * config/aarch64/aarch64-bti-insert.c: Moved to...
17869 * config/aarch64/aarch64-bti-insert.cc: ...here.
17870 * config/aarch64/aarch64-builtins.c: Moved to...
17871 * config/aarch64/aarch64-builtins.cc: ...here.
17872 * config/aarch64/aarch64-c.c: Moved to...
17873 * config/aarch64/aarch64-c.cc: ...here.
17874 * config/aarch64/aarch64-d.c: Moved to...
17875 * config/aarch64/aarch64-d.cc: ...here.
17876 * config/aarch64/aarch64.c: Moved to...
17877 * config/aarch64/aarch64.cc: ...here.
17878 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
17879 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
17880 * config/aarch64/driver-aarch64.c: Moved to...
17881 * config/aarch64/driver-aarch64.cc: ...here.
17882 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
17883 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
17884 * config/aarch64/host-aarch64-darwin.c: Moved to...
17885 * config/aarch64/host-aarch64-darwin.cc: ...here.
17886 * config/alpha/alpha.c: Moved to...
17887 * config/alpha/alpha.cc: ...here.
17888 * config/alpha/driver-alpha.c: Moved to...
17889 * config/alpha/driver-alpha.cc: ...here.
17890 * config/arc/arc-c.c: Moved to...
17891 * config/arc/arc-c.cc: ...here.
17892 * config/arc/arc.c: Moved to...
17893 * config/arc/arc.cc: ...here.
17894 * config/arc/driver-arc.c: Moved to...
17895 * config/arc/driver-arc.cc: ...here.
17896 * config/arm/aarch-common.c: Moved to...
17897 * config/arm/aarch-common.cc: ...here.
17898 * config/arm/arm-builtins.c: Moved to...
17899 * config/arm/arm-builtins.cc: ...here.
17900 * config/arm/arm-c.c: Moved to...
17901 * config/arm/arm-c.cc: ...here.
17902 * config/arm/arm-d.c: Moved to...
17903 * config/arm/arm-d.cc: ...here.
17904 * config/arm/arm.c: Moved to...
17905 * config/arm/arm.cc: ...here.
17906 * config/arm/driver-arm.c: Moved to...
17907 * config/arm/driver-arm.cc: ...here.
17908 * config/avr/avr-c.c: Moved to...
17909 * config/avr/avr-c.cc: ...here.
17910 * config/avr/avr-devices.c: Moved to...
17911 * config/avr/avr-devices.cc: ...here.
17912 * config/avr/avr-log.c: Moved to...
17913 * config/avr/avr-log.cc: ...here.
17914 * config/avr/avr.c: Moved to...
17915 * config/avr/avr.cc: ...here.
17916 * config/avr/driver-avr.c: Moved to...
17917 * config/avr/driver-avr.cc: ...here.
17918 * config/avr/gen-avr-mmcu-specs.c: Moved to...
17919 * config/avr/gen-avr-mmcu-specs.cc: ...here.
17920 * config/avr/gen-avr-mmcu-texi.c: Moved to...
17921 * config/avr/gen-avr-mmcu-texi.cc: ...here.
17922 * config/bfin/bfin.c: Moved to...
17923 * config/bfin/bfin.cc: ...here.
17924 * config/bpf/bpf.c: Moved to...
17925 * config/bpf/bpf.cc: ...here.
17926 * config/bpf/coreout.c: Moved to...
17927 * config/bpf/coreout.cc: ...here.
17928 * config/c6x/c6x.c: Moved to...
17929 * config/c6x/c6x.cc: ...here.
17930 * config/cr16/cr16.c: Moved to...
17931 * config/cr16/cr16.cc: ...here.
17932 * config/cris/cris.c: Moved to...
17933 * config/cris/cris.cc: ...here.
17934 * config/csky/csky.c: Moved to...
17935 * config/csky/csky.cc: ...here.
17936 * config/darwin-c.c: Moved to...
17937 * config/darwin-c.cc: ...here.
17938 * config/darwin-d.c: Moved to...
17939 * config/darwin-d.cc: ...here.
17940 * config/darwin-driver.c: Moved to...
17941 * config/darwin-driver.cc: ...here.
17942 * config/darwin-f.c: Moved to...
17943 * config/darwin-f.cc: ...here.
17944 * config/darwin.c: Moved to...
17945 * config/darwin.cc: ...here.
17946 * config/default-c.c: Moved to...
17947 * config/default-c.cc: ...here.
17948 * config/default-d.c: Moved to...
17949 * config/default-d.cc: ...here.
17950 * config/dragonfly-d.c: Moved to...
17951 * config/dragonfly-d.cc: ...here.
17952 * config/epiphany/epiphany.c: Moved to...
17953 * config/epiphany/epiphany.cc: ...here.
17954 * config/epiphany/mode-switch-use.c: Moved to...
17955 * config/epiphany/mode-switch-use.cc: ...here.
17956 * config/epiphany/resolve-sw-modes.c: Moved to...
17957 * config/epiphany/resolve-sw-modes.cc: ...here.
17958 * config/fr30/fr30.c: Moved to...
17959 * config/fr30/fr30.cc: ...here.
17960 * config/freebsd-d.c: Moved to...
17961 * config/freebsd-d.cc: ...here.
17962 * config/frv/frv.c: Moved to...
17963 * config/frv/frv.cc: ...here.
17964 * config/ft32/ft32.c: Moved to...
17965 * config/ft32/ft32.cc: ...here.
17966 * config/gcn/driver-gcn.c: Moved to...
17967 * config/gcn/driver-gcn.cc: ...here.
17968 * config/gcn/gcn-run.c: Moved to...
17969 * config/gcn/gcn-run.cc: ...here.
17970 * config/gcn/gcn-tree.c: Moved to...
17971 * config/gcn/gcn-tree.cc: ...here.
17972 * config/gcn/gcn.c: Moved to...
17973 * config/gcn/gcn.cc: ...here.
17974 * config/gcn/mkoffload.c: Moved to...
17975 * config/gcn/mkoffload.cc: ...here.
17976 * config/glibc-c.c: Moved to...
17977 * config/glibc-c.cc: ...here.
17978 * config/glibc-d.c: Moved to...
17979 * config/glibc-d.cc: ...here.
17980 * config/h8300/h8300.c: Moved to...
17981 * config/h8300/h8300.cc: ...here.
17982 * config/host-darwin.c: Moved to...
17983 * config/host-darwin.cc: ...here.
17984 * config/host-hpux.c: Moved to...
17985 * config/host-hpux.cc: ...here.
17986 * config/host-linux.c: Moved to...
17987 * config/host-linux.cc: ...here.
17988 * config/host-netbsd.c: Moved to...
17989 * config/host-netbsd.cc: ...here.
17990 * config/host-openbsd.c: Moved to...
17991 * config/host-openbsd.cc: ...here.
17992 * config/host-solaris.c: Moved to...
17993 * config/host-solaris.cc: ...here.
17994 * config/i386/djgpp.c: Moved to...
17995 * config/i386/djgpp.cc: ...here.
17996 * config/i386/driver-i386.c: Moved to...
17997 * config/i386/driver-i386.cc: ...here.
17998 * config/i386/driver-mingw32.c: Moved to...
17999 * config/i386/driver-mingw32.cc: ...here.
18000 * config/i386/gnu-property.c: Moved to...
18001 * config/i386/gnu-property.cc: ...here.
18002 * config/i386/host-cygwin.c: Moved to...
18003 * config/i386/host-cygwin.cc: ...here.
18004 * config/i386/host-i386-darwin.c: Moved to...
18005 * config/i386/host-i386-darwin.cc: ...here.
18006 * config/i386/host-mingw32.c: Moved to...
18007 * config/i386/host-mingw32.cc: ...here.
18008 * config/i386/i386-builtins.c: Moved to...
18009 * config/i386/i386-builtins.cc: ...here.
18010 * config/i386/i386-c.c: Moved to...
18011 * config/i386/i386-c.cc: ...here.
18012 * config/i386/i386-d.c: Moved to...
18013 * config/i386/i386-d.cc: ...here.
18014 * config/i386/i386-expand.c: Moved to...
18015 * config/i386/i386-expand.cc: ...here.
18016 * config/i386/i386-features.c: Moved to...
18017 * config/i386/i386-features.cc: ...here.
18018 * config/i386/i386-options.c: Moved to...
18019 * config/i386/i386-options.cc: ...here.
18020 * config/i386/i386.c: Moved to...
18021 * config/i386/i386.cc: ...here.
18022 * config/i386/intelmic-mkoffload.c: Moved to...
18023 * config/i386/intelmic-mkoffload.cc: ...here.
18024 * config/i386/msformat-c.c: Moved to...
18025 * config/i386/msformat-c.cc: ...here.
18026 * config/i386/winnt-cxx.c: Moved to...
18027 * config/i386/winnt-cxx.cc: ...here.
18028 * config/i386/winnt-d.c: Moved to...
18029 * config/i386/winnt-d.cc: ...here.
18030 * config/i386/winnt-stubs.c: Moved to...
18031 * config/i386/winnt-stubs.cc: ...here.
18032 * config/i386/winnt.c: Moved to...
18033 * config/i386/winnt.cc: ...here.
18034 * config/i386/x86-tune-sched-atom.c: Moved to...
18035 * config/i386/x86-tune-sched-atom.cc: ...here.
18036 * config/i386/x86-tune-sched-bd.c: Moved to...
18037 * config/i386/x86-tune-sched-bd.cc: ...here.
18038 * config/i386/x86-tune-sched-core.c: Moved to...
18039 * config/i386/x86-tune-sched-core.cc: ...here.
18040 * config/i386/x86-tune-sched.c: Moved to...
18041 * config/i386/x86-tune-sched.cc: ...here.
18042 * config/ia64/ia64-c.c: Moved to...
18043 * config/ia64/ia64-c.cc: ...here.
18044 * config/ia64/ia64.c: Moved to...
18045 * config/ia64/ia64.cc: ...here.
18046 * config/iq2000/iq2000.c: Moved to...
18047 * config/iq2000/iq2000.cc: ...here.
18048 * config/linux.c: Moved to...
18049 * config/linux.cc: ...here.
18050 * config/lm32/lm32.c: Moved to...
18051 * config/lm32/lm32.cc: ...here.
18052 * config/m32c/m32c-pragma.c: Moved to...
18053 * config/m32c/m32c-pragma.cc: ...here.
18054 * config/m32c/m32c.c: Moved to...
18055 * config/m32c/m32c.cc: ...here.
18056 * config/m32r/m32r.c: Moved to...
18057 * config/m32r/m32r.cc: ...here.
18058 * config/m68k/m68k.c: Moved to...
18059 * config/m68k/m68k.cc: ...here.
18060 * config/mcore/mcore.c: Moved to...
18061 * config/mcore/mcore.cc: ...here.
18062 * config/microblaze/microblaze-c.c: Moved to...
18063 * config/microblaze/microblaze-c.cc: ...here.
18064 * config/microblaze/microblaze.c: Moved to...
18065 * config/microblaze/microblaze.cc: ...here.
18066 * config/mips/driver-native.c: Moved to...
18067 * config/mips/driver-native.cc: ...here.
18068 * config/mips/frame-header-opt.c: Moved to...
18069 * config/mips/frame-header-opt.cc: ...here.
18070 * config/mips/mips-d.c: Moved to...
18071 * config/mips/mips-d.cc: ...here.
18072 * config/mips/mips.c: Moved to...
18073 * config/mips/mips.cc: ...here.
18074 * config/mmix/mmix.c: Moved to...
18075 * config/mmix/mmix.cc: ...here.
18076 * config/mn10300/mn10300.c: Moved to...
18077 * config/mn10300/mn10300.cc: ...here.
18078 * config/moxie/moxie.c: Moved to...
18079 * config/moxie/moxie.cc: ...here.
18080 * config/msp430/driver-msp430.c: Moved to...
18081 * config/msp430/driver-msp430.cc: ...here.
18082 * config/msp430/msp430-c.c: Moved to...
18083 * config/msp430/msp430-c.cc: ...here.
18084 * config/msp430/msp430-devices.c: Moved to...
18085 * config/msp430/msp430-devices.cc: ...here.
18086 * config/msp430/msp430.c: Moved to...
18087 * config/msp430/msp430.cc: ...here.
18088 * config/nds32/nds32-cost.c: Moved to...
18089 * config/nds32/nds32-cost.cc: ...here.
18090 * config/nds32/nds32-fp-as-gp.c: Moved to...
18091 * config/nds32/nds32-fp-as-gp.cc: ...here.
18092 * config/nds32/nds32-intrinsic.c: Moved to...
18093 * config/nds32/nds32-intrinsic.cc: ...here.
18094 * config/nds32/nds32-isr.c: Moved to...
18095 * config/nds32/nds32-isr.cc: ...here.
18096 * config/nds32/nds32-md-auxiliary.c: Moved to...
18097 * config/nds32/nds32-md-auxiliary.cc: ...here.
18098 * config/nds32/nds32-memory-manipulation.c: Moved to...
18099 * config/nds32/nds32-memory-manipulation.cc: ...here.
18100 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
18101 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
18102 * config/nds32/nds32-predicates.c: Moved to...
18103 * config/nds32/nds32-predicates.cc: ...here.
18104 * config/nds32/nds32-relax-opt.c: Moved to...
18105 * config/nds32/nds32-relax-opt.cc: ...here.
18106 * config/nds32/nds32-utils.c: Moved to...
18107 * config/nds32/nds32-utils.cc: ...here.
18108 * config/nds32/nds32.c: Moved to...
18109 * config/nds32/nds32.cc: ...here.
18110 * config/netbsd-d.c: Moved to...
18111 * config/netbsd-d.cc: ...here.
18112 * config/netbsd.c: Moved to...
18113 * config/netbsd.cc: ...here.
18114 * config/nios2/nios2.c: Moved to...
18115 * config/nios2/nios2.cc: ...here.
18116 * config/nvptx/mkoffload.c: Moved to...
18117 * config/nvptx/mkoffload.cc: ...here.
18118 * config/nvptx/nvptx-c.c: Moved to...
18119 * config/nvptx/nvptx-c.cc: ...here.
18120 * config/nvptx/nvptx.c: Moved to...
18121 * config/nvptx/nvptx.cc: ...here.
18122 * config/openbsd-d.c: Moved to...
18123 * config/openbsd-d.cc: ...here.
18124 * config/or1k/or1k.c: Moved to...
18125 * config/or1k/or1k.cc: ...here.
18126 * config/pa/pa-d.c: Moved to...
18127 * config/pa/pa-d.cc: ...here.
18128 * config/pa/pa.c: Moved to...
18129 * config/pa/pa.cc: ...here.
18130 * config/pdp11/pdp11.c: Moved to...
18131 * config/pdp11/pdp11.cc: ...here.
18132 * config/pru/pru-passes.c: Moved to...
18133 * config/pru/pru-passes.cc: ...here.
18134 * config/pru/pru-pragma.c: Moved to...
18135 * config/pru/pru-pragma.cc: ...here.
18136 * config/pru/pru.c: Moved to...
18137 * config/pru/pru.cc: ...here.
18138 * config/riscv/riscv-builtins.c: Moved to...
18139 * config/riscv/riscv-builtins.cc: ...here.
18140 * config/riscv/riscv-c.c: Moved to...
18141 * config/riscv/riscv-c.cc: ...here.
18142 * config/riscv/riscv-d.c: Moved to...
18143 * config/riscv/riscv-d.cc: ...here.
18144 * config/riscv/riscv-shorten-memrefs.c: Moved to...
18145 * config/riscv/riscv-shorten-memrefs.cc: ...here.
18146 * config/riscv/riscv-sr.c: Moved to...
18147 * config/riscv/riscv-sr.cc: ...here.
18148 * config/riscv/riscv.c: Moved to...
18149 * config/riscv/riscv.cc: ...here.
18150 * config/rl78/rl78-c.c: Moved to...
18151 * config/rl78/rl78-c.cc: ...here.
18152 * config/rl78/rl78.c: Moved to...
18153 * config/rl78/rl78.cc: ...here.
18154 * config/rs6000/driver-rs6000.c: Moved to...
18155 * config/rs6000/driver-rs6000.cc: ...here.
18156 * config/rs6000/host-darwin.c: Moved to...
18157 * config/rs6000/host-darwin.cc: ...here.
18158 * config/rs6000/host-ppc64-darwin.c: Moved to...
18159 * config/rs6000/host-ppc64-darwin.cc: ...here.
18160 * config/rs6000/rbtree.c: Moved to...
18161 * config/rs6000/rbtree.cc: ...here.
18162 * config/rs6000/rs6000-c.c: Moved to...
18163 * config/rs6000/rs6000-c.cc: ...here.
18164 * config/rs6000/rs6000-call.c: Moved to...
18165 * config/rs6000/rs6000-call.cc: ...here.
18166 * config/rs6000/rs6000-d.c: Moved to...
18167 * config/rs6000/rs6000-d.cc: ...here.
18168 * config/rs6000/rs6000-gen-builtins.c: Moved to...
18169 * config/rs6000/rs6000-gen-builtins.cc: ...here.
18170 * config/rs6000/rs6000-linux.c: Moved to...
18171 * config/rs6000/rs6000-linux.cc: ...here.
18172 * config/rs6000/rs6000-logue.c: Moved to...
18173 * config/rs6000/rs6000-logue.cc: ...here.
18174 * config/rs6000/rs6000-p8swap.c: Moved to...
18175 * config/rs6000/rs6000-p8swap.cc: ...here.
18176 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
18177 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
18178 * config/rs6000/rs6000-string.c: Moved to...
18179 * config/rs6000/rs6000-string.cc: ...here.
18180 * config/rs6000/rs6000.c: Moved to...
18181 * config/rs6000/rs6000.cc: ...here.
18182 * config/rx/rx.c: Moved to...
18183 * config/rx/rx.cc: ...here.
18184 * config/s390/driver-native.c: Moved to...
18185 * config/s390/driver-native.cc: ...here.
18186 * config/s390/s390-c.c: Moved to...
18187 * config/s390/s390-c.cc: ...here.
18188 * config/s390/s390-d.c: Moved to...
18189 * config/s390/s390-d.cc: ...here.
18190 * config/s390/s390.c: Moved to...
18191 * config/s390/s390.cc: ...here.
18192 * config/sh/divtab-sh4-300.c: Moved to...
18193 * config/sh/divtab-sh4-300.cc: ...here.
18194 * config/sh/divtab-sh4.c: Moved to...
18195 * config/sh/divtab-sh4.cc: ...here.
18196 * config/sh/divtab.c: Moved to...
18197 * config/sh/divtab.cc: ...here.
18198 * config/sh/sh-c.c: Moved to...
18199 * config/sh/sh-c.cc: ...here.
18200 * config/sh/sh.c: Moved to...
18201 * config/sh/sh.cc: ...here.
18202 * config/sol2-c.c: Moved to...
18203 * config/sol2-c.cc: ...here.
18204 * config/sol2-cxx.c: Moved to...
18205 * config/sol2-cxx.cc: ...here.
18206 * config/sol2-d.c: Moved to...
18207 * config/sol2-d.cc: ...here.
18208 * config/sol2-stubs.c: Moved to...
18209 * config/sol2-stubs.cc: ...here.
18210 * config/sol2.c: Moved to...
18211 * config/sol2.cc: ...here.
18212 * config/sparc/driver-sparc.c: Moved to...
18213 * config/sparc/driver-sparc.cc: ...here.
18214 * config/sparc/sparc-c.c: Moved to...
18215 * config/sparc/sparc-c.cc: ...here.
18216 * config/sparc/sparc-d.c: Moved to...
18217 * config/sparc/sparc-d.cc: ...here.
18218 * config/sparc/sparc.c: Moved to...
18219 * config/sparc/sparc.cc: ...here.
18220 * config/stormy16/stormy16.c: Moved to...
18221 * config/stormy16/stormy16.cc: ...here.
18222 * config/tilegx/mul-tables.c: Moved to...
18223 * config/tilegx/mul-tables.cc: ...here.
18224 * config/tilegx/tilegx-c.c: Moved to...
18225 * config/tilegx/tilegx-c.cc: ...here.
18226 * config/tilegx/tilegx.c: Moved to...
18227 * config/tilegx/tilegx.cc: ...here.
18228 * config/tilepro/mul-tables.c: Moved to...
18229 * config/tilepro/mul-tables.cc: ...here.
18230 * config/tilepro/tilepro-c.c: Moved to...
18231 * config/tilepro/tilepro-c.cc: ...here.
18232 * config/tilepro/tilepro.c: Moved to...
18233 * config/tilepro/tilepro.cc: ...here.
18234 * config/v850/v850-c.c: Moved to...
18235 * config/v850/v850-c.cc: ...here.
18236 * config/v850/v850.c: Moved to...
18237 * config/v850/v850.cc: ...here.
18238 * config/vax/vax.c: Moved to...
18239 * config/vax/vax.cc: ...here.
18240 * config/visium/visium.c: Moved to...
18241 * config/visium/visium.cc: ...here.
18242 * config/vms/vms-c.c: Moved to...
18243 * config/vms/vms-c.cc: ...here.
18244 * config/vms/vms-f.c: Moved to...
18245 * config/vms/vms-f.cc: ...here.
18246 * config/vms/vms.c: Moved to...
18247 * config/vms/vms.cc: ...here.
18248 * config/vxworks-c.c: Moved to...
18249 * config/vxworks-c.cc: ...here.
18250 * config/vxworks.c: Moved to...
18251 * config/vxworks.cc: ...here.
18252 * config/winnt-c.c: Moved to...
18253 * config/winnt-c.cc: ...here.
18254 * config/xtensa/xtensa.c: Moved to...
18255 * config/xtensa/xtensa.cc: ...here.
18256 * context.c: Moved to...
18257 * context.cc: ...here.
18258 * convert.c: Moved to...
18259 * convert.cc: ...here.
18260 * coverage.c: Moved to...
18261 * coverage.cc: ...here.
18262 * cppbuiltin.c: Moved to...
18263 * cppbuiltin.cc: ...here.
18264 * cppdefault.c: Moved to...
18265 * cppdefault.cc: ...here.
18266 * cprop.c: Moved to...
18267 * cprop.cc: ...here.
18268 * cse.c: Moved to...
18269 * cse.cc: ...here.
18270 * cselib.c: Moved to...
18271 * cselib.cc: ...here.
18272 * ctfc.c: Moved to...
18273 * ctfc.cc: ...here.
18274 * ctfout.c: Moved to...
18275 * ctfout.cc: ...here.
18276 * data-streamer-in.c: Moved to...
18277 * data-streamer-in.cc: ...here.
18278 * data-streamer-out.c: Moved to...
18279 * data-streamer-out.cc: ...here.
18280 * data-streamer.c: Moved to...
18281 * data-streamer.cc: ...here.
18282 * dbgcnt.c: Moved to...
18283 * dbgcnt.cc: ...here.
18284 * dbxout.c: Moved to...
18285 * dbxout.cc: ...here.
18286 * dce.c: Moved to...
18287 * dce.cc: ...here.
18288 * ddg.c: Moved to...
18289 * ddg.cc: ...here.
18290 * debug.c: Moved to...
18291 * debug.cc: ...here.
18292 * df-core.c: Moved to...
18293 * df-core.cc: ...here.
18294 * df-problems.c: Moved to...
18295 * df-problems.cc: ...here.
18296 * df-scan.c: Moved to...
18297 * df-scan.cc: ...here.
18298 * dfp.c: Moved to...
18299 * dfp.cc: ...here.
18300 * diagnostic-color.c: Moved to...
18301 * diagnostic-color.cc: ...here.
18302 * diagnostic-show-locus.c: Moved to...
18303 * diagnostic-show-locus.cc: ...here.
18304 * diagnostic-spec.c: Moved to...
18305 * diagnostic-spec.cc: ...here.
18306 * diagnostic.c: Moved to...
18307 * diagnostic.cc: ...here.
18308 * dojump.c: Moved to...
18309 * dojump.cc: ...here.
18310 * dominance.c: Moved to...
18311 * dominance.cc: ...here.
18312 * domwalk.c: Moved to...
18313 * domwalk.cc: ...here.
18314 * double-int.c: Moved to...
18315 * double-int.cc: ...here.
18316 * dse.c: Moved to...
18317 * dse.cc: ...here.
18318 * dumpfile.c: Moved to...
18319 * dumpfile.cc: ...here.
18320 * dwarf2asm.c: Moved to...
18321 * dwarf2asm.cc: ...here.
18322 * dwarf2cfi.c: Moved to...
18323 * dwarf2cfi.cc: ...here.
18324 * dwarf2ctf.c: Moved to...
18325 * dwarf2ctf.cc: ...here.
18326 * dwarf2out.c: Moved to...
18327 * dwarf2out.cc: ...here.
18328 * early-remat.c: Moved to...
18329 * early-remat.cc: ...here.
18330 * edit-context.c: Moved to...
18331 * edit-context.cc: ...here.
18332 * emit-rtl.c: Moved to...
18333 * emit-rtl.cc: ...here.
18334 * errors.c: Moved to...
18335 * errors.cc: ...here.
18336 * et-forest.c: Moved to...
18337 * et-forest.cc: ...here.
18338 * except.c: Moved to...
18339 * except.cc: ...here.
18340 * explow.c: Moved to...
18341 * explow.cc: ...here.
18342 * expmed.c: Moved to...
18343 * expmed.cc: ...here.
18344 * expr.c: Moved to...
18345 * expr.cc: ...here.
18346 * fibonacci_heap.c: Moved to...
18347 * fibonacci_heap.cc: ...here.
18348 * file-find.c: Moved to...
18349 * file-find.cc: ...here.
18350 * file-prefix-map.c: Moved to...
18351 * file-prefix-map.cc: ...here.
18352 * final.c: Moved to...
18353 * final.cc: ...here.
18354 * fixed-value.c: Moved to...
18355 * fixed-value.cc: ...here.
18356 * fold-const-call.c: Moved to...
18357 * fold-const-call.cc: ...here.
18358 * fold-const.c: Moved to...
18359 * fold-const.cc: ...here.
18360 * fp-test.c: Moved to...
18361 * fp-test.cc: ...here.
18362 * function-tests.c: Moved to...
18363 * function-tests.cc: ...here.
18364 * function.c: Moved to...
18365 * function.cc: ...here.
18366 * fwprop.c: Moved to...
18367 * fwprop.cc: ...here.
18368 * gcc-ar.c: Moved to...
18369 * gcc-ar.cc: ...here.
18370 * gcc-main.c: Moved to...
18371 * gcc-main.cc: ...here.
18372 * gcc-rich-location.c: Moved to...
18373 * gcc-rich-location.cc: ...here.
18374 * gcc.c: Moved to...
18375 * gcc.cc: ...here.
18376 * gcov-dump.c: Moved to...
18377 * gcov-dump.cc: ...here.
18378 * gcov-io.c: Moved to...
18379 * gcov-io.cc: ...here.
18380 * gcov-tool.c: Moved to...
18381 * gcov-tool.cc: ...here.
18382 * gcov.c: Moved to...
18383 * gcov.cc: ...here.
18384 * gcse-common.c: Moved to...
18385 * gcse-common.cc: ...here.
18386 * gcse.c: Moved to...
18387 * gcse.cc: ...here.
18388 * genattr-common.c: Moved to...
18389 * genattr-common.cc: ...here.
18390 * genattr.c: Moved to...
18391 * genattr.cc: ...here.
18392 * genattrtab.c: Moved to...
18393 * genattrtab.cc: ...here.
18394 * genautomata.c: Moved to...
18395 * genautomata.cc: ...here.
18396 * gencfn-macros.c: Moved to...
18397 * gencfn-macros.cc: ...here.
18398 * gencheck.c: Moved to...
18399 * gencheck.cc: ...here.
18400 * genchecksum.c: Moved to...
18401 * genchecksum.cc: ...here.
18402 * gencodes.c: Moved to...
18403 * gencodes.cc: ...here.
18404 * genconditions.c: Moved to...
18405 * genconditions.cc: ...here.
18406 * genconfig.c: Moved to...
18407 * genconfig.cc: ...here.
18408 * genconstants.c: Moved to...
18409 * genconstants.cc: ...here.
18410 * genemit.c: Moved to...
18411 * genemit.cc: ...here.
18412 * genenums.c: Moved to...
18413 * genenums.cc: ...here.
18414 * generic-match-head.c: Moved to...
18415 * generic-match-head.cc: ...here.
18416 * genextract.c: Moved to...
18417 * genextract.cc: ...here.
18418 * genflags.c: Moved to...
18419 * genflags.cc: ...here.
18420 * gengenrtl.c: Moved to...
18421 * gengenrtl.cc: ...here.
18422 * gengtype-parse.c: Moved to...
18423 * gengtype-parse.cc: ...here.
18424 * gengtype-state.c: Moved to...
18425 * gengtype-state.cc: ...here.
18426 * gengtype.c: Moved to...
18427 * gengtype.cc: ...here.
18428 * genhooks.c: Moved to...
18429 * genhooks.cc: ...here.
18430 * genmatch.c: Moved to...
18431 * genmatch.cc: ...here.
18432 * genmddeps.c: Moved to...
18433 * genmddeps.cc: ...here.
18434 * genmddump.c: Moved to...
18435 * genmddump.cc: ...here.
18436 * genmodes.c: Moved to...
18437 * genmodes.cc: ...here.
18438 * genopinit.c: Moved to...
18439 * genopinit.cc: ...here.
18440 * genoutput.c: Moved to...
18441 * genoutput.cc: ...here.
18442 * genpeep.c: Moved to...
18443 * genpeep.cc: ...here.
18444 * genpreds.c: Moved to...
18445 * genpreds.cc: ...here.
18446 * genrecog.c: Moved to...
18447 * genrecog.cc: ...here.
18448 * gensupport.c: Moved to...
18449 * gensupport.cc: ...here.
18450 * gentarget-def.c: Moved to...
18451 * gentarget-def.cc: ...here.
18452 * genversion.c: Moved to...
18453 * genversion.cc: ...here.
18454 * ggc-common.c: Moved to...
18455 * ggc-common.cc: ...here.
18456 * ggc-none.c: Moved to...
18457 * ggc-none.cc: ...here.
18458 * ggc-page.c: Moved to...
18459 * ggc-page.cc: ...here.
18460 * ggc-tests.c: Moved to...
18461 * ggc-tests.cc: ...here.
18462 * gimple-builder.c: Moved to...
18463 * gimple-builder.cc: ...here.
18464 * gimple-expr.c: Moved to...
18465 * gimple-expr.cc: ...here.
18466 * gimple-fold.c: Moved to...
18467 * gimple-fold.cc: ...here.
18468 * gimple-iterator.c: Moved to...
18469 * gimple-iterator.cc: ...here.
18470 * gimple-laddress.c: Moved to...
18471 * gimple-laddress.cc: ...here.
18472 * gimple-loop-jam.c: Moved to...
18473 * gimple-loop-jam.cc: ...here.
18474 * gimple-low.c: Moved to...
18475 * gimple-low.cc: ...here.
18476 * gimple-match-head.c: Moved to...
18477 * gimple-match-head.cc: ...here.
18478 * gimple-pretty-print.c: Moved to...
18479 * gimple-pretty-print.cc: ...here.
18480 * gimple-ssa-backprop.c: Moved to...
18481 * gimple-ssa-backprop.cc: ...here.
18482 * gimple-ssa-evrp-analyze.c: Moved to...
18483 * gimple-ssa-evrp-analyze.cc: ...here.
18484 * gimple-ssa-evrp.c: Moved to...
18485 * gimple-ssa-evrp.cc: ...here.
18486 * gimple-ssa-isolate-paths.c: Moved to...
18487 * gimple-ssa-isolate-paths.cc: ...here.
18488 * gimple-ssa-nonnull-compare.c: Moved to...
18489 * gimple-ssa-nonnull-compare.cc: ...here.
18490 * gimple-ssa-split-paths.c: Moved to...
18491 * gimple-ssa-split-paths.cc: ...here.
18492 * gimple-ssa-sprintf.c: Moved to...
18493 * gimple-ssa-sprintf.cc: ...here.
18494 * gimple-ssa-store-merging.c: Moved to...
18495 * gimple-ssa-store-merging.cc: ...here.
18496 * gimple-ssa-strength-reduction.c: Moved to...
18497 * gimple-ssa-strength-reduction.cc: ...here.
18498 * gimple-ssa-warn-alloca.c: Moved to...
18499 * gimple-ssa-warn-alloca.cc: ...here.
18500 * gimple-ssa-warn-restrict.c: Moved to...
18501 * gimple-ssa-warn-restrict.cc: ...here.
18502 * gimple-streamer-in.c: Moved to...
18503 * gimple-streamer-in.cc: ...here.
18504 * gimple-streamer-out.c: Moved to...
18505 * gimple-streamer-out.cc: ...here.
18506 * gimple-walk.c: Moved to...
18507 * gimple-walk.cc: ...here.
18508 * gimple-warn-recursion.c: Moved to...
18509 * gimple-warn-recursion.cc: ...here.
18510 * gimple.c: Moved to...
18511 * gimple.cc: ...here.
18512 * gimplify-me.c: Moved to...
18513 * gimplify-me.cc: ...here.
18514 * gimplify.c: Moved to...
18515 * gimplify.cc: ...here.
18516 * godump.c: Moved to...
18517 * godump.cc: ...here.
18518 * graph.c: Moved to...
18519 * graph.cc: ...here.
18520 * graphds.c: Moved to...
18521 * graphds.cc: ...here.
18522 * graphite-dependences.c: Moved to...
18523 * graphite-dependences.cc: ...here.
18524 * graphite-isl-ast-to-gimple.c: Moved to...
18525 * graphite-isl-ast-to-gimple.cc: ...here.
18526 * graphite-optimize-isl.c: Moved to...
18527 * graphite-optimize-isl.cc: ...here.
18528 * graphite-poly.c: Moved to...
18529 * graphite-poly.cc: ...here.
18530 * graphite-scop-detection.c: Moved to...
18531 * graphite-scop-detection.cc: ...here.
18532 * graphite-sese-to-poly.c: Moved to...
18533 * graphite-sese-to-poly.cc: ...here.
18534 * graphite.c: Moved to...
18535 * graphite.cc: ...here.
18536 * haifa-sched.c: Moved to...
18537 * haifa-sched.cc: ...here.
18538 * hash-map-tests.c: Moved to...
18539 * hash-map-tests.cc: ...here.
18540 * hash-set-tests.c: Moved to...
18541 * hash-set-tests.cc: ...here.
18542 * hash-table.c: Moved to...
18543 * hash-table.cc: ...here.
18544 * hooks.c: Moved to...
18545 * hooks.cc: ...here.
18546 * host-default.c: Moved to...
18547 * host-default.cc: ...here.
18548 * hw-doloop.c: Moved to...
18549 * hw-doloop.cc: ...here.
18550 * hwint.c: Moved to...
18551 * hwint.cc: ...here.
18552 * ifcvt.c: Moved to...
18553 * ifcvt.cc: ...here.
18554 * inchash.c: Moved to...
18555 * inchash.cc: ...here.
18556 * incpath.c: Moved to...
18557 * incpath.cc: ...here.
18558 * init-regs.c: Moved to...
18559 * init-regs.cc: ...here.
18560 * input.c: Moved to...
18561 * input.cc: ...here.
18562 * internal-fn.c: Moved to...
18563 * internal-fn.cc: ...here.
18564 * intl.c: Moved to...
18565 * intl.cc: ...here.
18566 * ipa-comdats.c: Moved to...
18567 * ipa-comdats.cc: ...here.
18568 * ipa-cp.c: Moved to...
18569 * ipa-cp.cc: ...here.
18570 * ipa-devirt.c: Moved to...
18571 * ipa-devirt.cc: ...here.
18572 * ipa-fnsummary.c: Moved to...
18573 * ipa-fnsummary.cc: ...here.
18574 * ipa-icf-gimple.c: Moved to...
18575 * ipa-icf-gimple.cc: ...here.
18576 * ipa-icf.c: Moved to...
18577 * ipa-icf.cc: ...here.
18578 * ipa-inline-analysis.c: Moved to...
18579 * ipa-inline-analysis.cc: ...here.
18580 * ipa-inline-transform.c: Moved to...
18581 * ipa-inline-transform.cc: ...here.
18582 * ipa-inline.c: Moved to...
18583 * ipa-inline.cc: ...here.
18584 * ipa-modref-tree.c: Moved to...
18585 * ipa-modref-tree.cc: ...here.
18586 * ipa-modref.c: Moved to...
18587 * ipa-modref.cc: ...here.
18588 * ipa-param-manipulation.c: Moved to...
18589 * ipa-param-manipulation.cc: ...here.
18590 * ipa-polymorphic-call.c: Moved to...
18591 * ipa-polymorphic-call.cc: ...here.
18592 * ipa-predicate.c: Moved to...
18593 * ipa-predicate.cc: ...here.
18594 * ipa-profile.c: Moved to...
18595 * ipa-profile.cc: ...here.
18596 * ipa-prop.c: Moved to...
18597 * ipa-prop.cc: ...here.
18598 * ipa-pure-const.c: Moved to...
18599 * ipa-pure-const.cc: ...here.
18600 * ipa-ref.c: Moved to...
18601 * ipa-ref.cc: ...here.
18602 * ipa-reference.c: Moved to...
18603 * ipa-reference.cc: ...here.
18604 * ipa-split.c: Moved to...
18605 * ipa-split.cc: ...here.
18606 * ipa-sra.c: Moved to...
18607 * ipa-sra.cc: ...here.
18608 * ipa-utils.c: Moved to...
18609 * ipa-utils.cc: ...here.
18610 * ipa-visibility.c: Moved to...
18611 * ipa-visibility.cc: ...here.
18612 * ipa.c: Moved to...
18613 * ipa.cc: ...here.
18614 * ira-build.c: Moved to...
18615 * ira-build.cc: ...here.
18616 * ira-color.c: Moved to...
18617 * ira-color.cc: ...here.
18618 * ira-conflicts.c: Moved to...
18619 * ira-conflicts.cc: ...here.
18620 * ira-costs.c: Moved to...
18621 * ira-costs.cc: ...here.
18622 * ira-emit.c: Moved to...
18623 * ira-emit.cc: ...here.
18624 * ira-lives.c: Moved to...
18625 * ira-lives.cc: ...here.
18626 * ira.c: Moved to...
18627 * ira.cc: ...here.
18628 * jump.c: Moved to...
18629 * jump.cc: ...here.
18630 * langhooks.c: Moved to...
18631 * langhooks.cc: ...here.
18632 * lcm.c: Moved to...
18633 * lcm.cc: ...here.
18634 * lists.c: Moved to...
18635 * lists.cc: ...here.
18636 * loop-doloop.c: Moved to...
18637 * loop-doloop.cc: ...here.
18638 * loop-init.c: Moved to...
18639 * loop-init.cc: ...here.
18640 * loop-invariant.c: Moved to...
18641 * loop-invariant.cc: ...here.
18642 * loop-iv.c: Moved to...
18643 * loop-iv.cc: ...here.
18644 * loop-unroll.c: Moved to...
18645 * loop-unroll.cc: ...here.
18646 * lower-subreg.c: Moved to...
18647 * lower-subreg.cc: ...here.
18648 * lra-assigns.c: Moved to...
18649 * lra-assigns.cc: ...here.
18650 * lra-coalesce.c: Moved to...
18651 * lra-coalesce.cc: ...here.
18652 * lra-constraints.c: Moved to...
18653 * lra-constraints.cc: ...here.
18654 * lra-eliminations.c: Moved to...
18655 * lra-eliminations.cc: ...here.
18656 * lra-lives.c: Moved to...
18657 * lra-lives.cc: ...here.
18658 * lra-remat.c: Moved to...
18659 * lra-remat.cc: ...here.
18660 * lra-spills.c: Moved to...
18661 * lra-spills.cc: ...here.
18662 * lra.c: Moved to...
18663 * lra.cc: ...here.
18664 * lto-cgraph.c: Moved to...
18665 * lto-cgraph.cc: ...here.
18666 * lto-compress.c: Moved to...
18667 * lto-compress.cc: ...here.
18668 * lto-opts.c: Moved to...
18669 * lto-opts.cc: ...here.
18670 * lto-section-in.c: Moved to...
18671 * lto-section-in.cc: ...here.
18672 * lto-section-out.c: Moved to...
18673 * lto-section-out.cc: ...here.
18674 * lto-streamer-in.c: Moved to...
18675 * lto-streamer-in.cc: ...here.
18676 * lto-streamer-out.c: Moved to...
18677 * lto-streamer-out.cc: ...here.
18678 * lto-streamer.c: Moved to...
18679 * lto-streamer.cc: ...here.
18680 * lto-wrapper.c: Moved to...
18681 * lto-wrapper.cc: ...here.
18682 * main.c: Moved to...
18683 * main.cc: ...here.
18684 * mcf.c: Moved to...
18685 * mcf.cc: ...here.
18686 * mode-switching.c: Moved to...
18687 * mode-switching.cc: ...here.
18688 * modulo-sched.c: Moved to...
18689 * modulo-sched.cc: ...here.
18690 * multiple_target.c: Moved to...
18691 * multiple_target.cc: ...here.
18692 * omp-expand.c: Moved to...
18693 * omp-expand.cc: ...here.
18694 * omp-general.c: Moved to...
18695 * omp-general.cc: ...here.
18696 * omp-low.c: Moved to...
18697 * omp-low.cc: ...here.
18698 * omp-offload.c: Moved to...
18699 * omp-offload.cc: ...here.
18700 * omp-simd-clone.c: Moved to...
18701 * omp-simd-clone.cc: ...here.
18702 * opt-suggestions.c: Moved to...
18703 * opt-suggestions.cc: ...here.
18704 * optabs-libfuncs.c: Moved to...
18705 * optabs-libfuncs.cc: ...here.
18706 * optabs-query.c: Moved to...
18707 * optabs-query.cc: ...here.
18708 * optabs-tree.c: Moved to...
18709 * optabs-tree.cc: ...here.
18710 * optabs.c: Moved to...
18711 * optabs.cc: ...here.
18712 * opts-common.c: Moved to...
18713 * opts-common.cc: ...here.
18714 * opts-global.c: Moved to...
18715 * opts-global.cc: ...here.
18716 * opts.c: Moved to...
18717 * opts.cc: ...here.
18718 * passes.c: Moved to...
18719 * passes.cc: ...here.
18720 * plugin.c: Moved to...
18721 * plugin.cc: ...here.
18722 * postreload-gcse.c: Moved to...
18723 * postreload-gcse.cc: ...here.
18724 * postreload.c: Moved to...
18725 * postreload.cc: ...here.
18726 * predict.c: Moved to...
18727 * predict.cc: ...here.
18728 * prefix.c: Moved to...
18729 * prefix.cc: ...here.
18730 * pretty-print.c: Moved to...
18731 * pretty-print.cc: ...here.
18732 * print-rtl-function.c: Moved to...
18733 * print-rtl-function.cc: ...here.
18734 * print-rtl.c: Moved to...
18735 * print-rtl.cc: ...here.
18736 * print-tree.c: Moved to...
18737 * print-tree.cc: ...here.
18738 * profile-count.c: Moved to...
18739 * profile-count.cc: ...here.
18740 * profile.c: Moved to...
18741 * profile.cc: ...here.
18742 * read-md.c: Moved to...
18743 * read-md.cc: ...here.
18744 * read-rtl-function.c: Moved to...
18745 * read-rtl-function.cc: ...here.
18746 * read-rtl.c: Moved to...
18747 * read-rtl.cc: ...here.
18748 * real.c: Moved to...
18749 * real.cc: ...here.
18750 * realmpfr.c: Moved to...
18751 * realmpfr.cc: ...here.
18752 * recog.c: Moved to...
18753 * recog.cc: ...here.
18754 * ree.c: Moved to...
18755 * ree.cc: ...here.
18756 * reg-stack.c: Moved to...
18757 * reg-stack.cc: ...here.
18758 * regcprop.c: Moved to...
18759 * regcprop.cc: ...here.
18760 * reginfo.c: Moved to...
18761 * reginfo.cc: ...here.
18762 * regrename.c: Moved to...
18763 * regrename.cc: ...here.
18764 * regstat.c: Moved to...
18765 * regstat.cc: ...here.
18766 * reload.c: Moved to...
18767 * reload.cc: ...here.
18768 * reload1.c: Moved to...
18769 * reload1.cc: ...here.
18770 * reorg.c: Moved to...
18771 * reorg.cc: ...here.
18772 * resource.c: Moved to...
18773 * resource.cc: ...here.
18774 * rtl-error.c: Moved to...
18775 * rtl-error.cc: ...here.
18776 * rtl-tests.c: Moved to...
18777 * rtl-tests.cc: ...here.
18778 * rtl.c: Moved to...
18779 * rtl.cc: ...here.
18780 * rtlanal.c: Moved to...
18781 * rtlanal.cc: ...here.
18782 * rtlhash.c: Moved to...
18783 * rtlhash.cc: ...here.
18784 * rtlhooks.c: Moved to...
18785 * rtlhooks.cc: ...here.
18786 * rtx-vector-builder.c: Moved to...
18787 * rtx-vector-builder.cc: ...here.
18788 * run-rtl-passes.c: Moved to...
18789 * run-rtl-passes.cc: ...here.
18790 * sancov.c: Moved to...
18791 * sancov.cc: ...here.
18792 * sanopt.c: Moved to...
18793 * sanopt.cc: ...here.
18794 * sbitmap.c: Moved to...
18795 * sbitmap.cc: ...here.
18796 * sched-deps.c: Moved to...
18797 * sched-deps.cc: ...here.
18798 * sched-ebb.c: Moved to...
18799 * sched-ebb.cc: ...here.
18800 * sched-rgn.c: Moved to...
18801 * sched-rgn.cc: ...here.
18802 * sel-sched-dump.c: Moved to...
18803 * sel-sched-dump.cc: ...here.
18804 * sel-sched-ir.c: Moved to...
18805 * sel-sched-ir.cc: ...here.
18806 * sel-sched.c: Moved to...
18807 * sel-sched.cc: ...here.
18808 * selftest-diagnostic.c: Moved to...
18809 * selftest-diagnostic.cc: ...here.
18810 * selftest-rtl.c: Moved to...
18811 * selftest-rtl.cc: ...here.
18812 * selftest-run-tests.c: Moved to...
18813 * selftest-run-tests.cc: ...here.
18814 * selftest.c: Moved to...
18815 * selftest.cc: ...here.
18816 * sese.c: Moved to...
18817 * sese.cc: ...here.
18818 * shrink-wrap.c: Moved to...
18819 * shrink-wrap.cc: ...here.
18820 * simplify-rtx.c: Moved to...
18821 * simplify-rtx.cc: ...here.
18822 * sparseset.c: Moved to...
18823 * sparseset.cc: ...here.
18824 * spellcheck-tree.c: Moved to...
18825 * spellcheck-tree.cc: ...here.
18826 * spellcheck.c: Moved to...
18827 * spellcheck.cc: ...here.
18828 * sreal.c: Moved to...
18829 * sreal.cc: ...here.
18830 * stack-ptr-mod.c: Moved to...
18831 * stack-ptr-mod.cc: ...here.
18832 * statistics.c: Moved to...
18833 * statistics.cc: ...here.
18834 * stmt.c: Moved to...
18835 * stmt.cc: ...here.
18836 * stor-layout.c: Moved to...
18837 * stor-layout.cc: ...here.
18838 * store-motion.c: Moved to...
18839 * store-motion.cc: ...here.
18840 * streamer-hooks.c: Moved to...
18841 * streamer-hooks.cc: ...here.
18842 * stringpool.c: Moved to...
18843 * stringpool.cc: ...here.
18844 * substring-locations.c: Moved to...
18845 * substring-locations.cc: ...here.
18846 * symtab.c: Moved to...
18847 * symtab.cc: ...here.
18848 * target-globals.c: Moved to...
18849 * target-globals.cc: ...here.
18850 * targhooks.c: Moved to...
18851 * targhooks.cc: ...here.
18852 * timevar.c: Moved to...
18853 * timevar.cc: ...here.
18854 * toplev.c: Moved to...
18855 * toplev.cc: ...here.
18856 * tracer.c: Moved to...
18857 * tracer.cc: ...here.
18858 * trans-mem.c: Moved to...
18859 * trans-mem.cc: ...here.
18860 * tree-affine.c: Moved to...
18861 * tree-affine.cc: ...here.
18862 * tree-call-cdce.c: Moved to...
18863 * tree-call-cdce.cc: ...here.
18864 * tree-cfg.c: Moved to...
18865 * tree-cfg.cc: ...here.
18866 * tree-cfgcleanup.c: Moved to...
18867 * tree-cfgcleanup.cc: ...here.
18868 * tree-chrec.c: Moved to...
18869 * tree-chrec.cc: ...here.
18870 * tree-complex.c: Moved to...
18871 * tree-complex.cc: ...here.
18872 * tree-data-ref.c: Moved to...
18873 * tree-data-ref.cc: ...here.
18874 * tree-dfa.c: Moved to...
18875 * tree-dfa.cc: ...here.
18876 * tree-diagnostic.c: Moved to...
18877 * tree-diagnostic.cc: ...here.
18878 * tree-dump.c: Moved to...
18879 * tree-dump.cc: ...here.
18880 * tree-eh.c: Moved to...
18881 * tree-eh.cc: ...here.
18882 * tree-emutls.c: Moved to...
18883 * tree-emutls.cc: ...here.
18884 * tree-if-conv.c: Moved to...
18885 * tree-if-conv.cc: ...here.
18886 * tree-inline.c: Moved to...
18887 * tree-inline.cc: ...here.
18888 * tree-into-ssa.c: Moved to...
18889 * tree-into-ssa.cc: ...here.
18890 * tree-iterator.c: Moved to...
18891 * tree-iterator.cc: ...here.
18892 * tree-loop-distribution.c: Moved to...
18893 * tree-loop-distribution.cc: ...here.
18894 * tree-nested.c: Moved to...
18895 * tree-nested.cc: ...here.
18896 * tree-nrv.c: Moved to...
18897 * tree-nrv.cc: ...here.
18898 * tree-object-size.c: Moved to...
18899 * tree-object-size.cc: ...here.
18900 * tree-outof-ssa.c: Moved to...
18901 * tree-outof-ssa.cc: ...here.
18902 * tree-parloops.c: Moved to...
18903 * tree-parloops.cc: ...here.
18904 * tree-phinodes.c: Moved to...
18905 * tree-phinodes.cc: ...here.
18906 * tree-predcom.c: Moved to...
18907 * tree-predcom.cc: ...here.
18908 * tree-pretty-print.c: Moved to...
18909 * tree-pretty-print.cc: ...here.
18910 * tree-profile.c: Moved to...
18911 * tree-profile.cc: ...here.
18912 * tree-scalar-evolution.c: Moved to...
18913 * tree-scalar-evolution.cc: ...here.
18914 * tree-sra.c: Moved to...
18915 * tree-sra.cc: ...here.
18916 * tree-ssa-address.c: Moved to...
18917 * tree-ssa-address.cc: ...here.
18918 * tree-ssa-alias.c: Moved to...
18919 * tree-ssa-alias.cc: ...here.
18920 * tree-ssa-ccp.c: Moved to...
18921 * tree-ssa-ccp.cc: ...here.
18922 * tree-ssa-coalesce.c: Moved to...
18923 * tree-ssa-coalesce.cc: ...here.
18924 * tree-ssa-copy.c: Moved to...
18925 * tree-ssa-copy.cc: ...here.
18926 * tree-ssa-dce.c: Moved to...
18927 * tree-ssa-dce.cc: ...here.
18928 * tree-ssa-dom.c: Moved to...
18929 * tree-ssa-dom.cc: ...here.
18930 * tree-ssa-dse.c: Moved to...
18931 * tree-ssa-dse.cc: ...here.
18932 * tree-ssa-forwprop.c: Moved to...
18933 * tree-ssa-forwprop.cc: ...here.
18934 * tree-ssa-ifcombine.c: Moved to...
18935 * tree-ssa-ifcombine.cc: ...here.
18936 * tree-ssa-live.c: Moved to...
18937 * tree-ssa-live.cc: ...here.
18938 * tree-ssa-loop-ch.c: Moved to...
18939 * tree-ssa-loop-ch.cc: ...here.
18940 * tree-ssa-loop-im.c: Moved to...
18941 * tree-ssa-loop-im.cc: ...here.
18942 * tree-ssa-loop-ivcanon.c: Moved to...
18943 * tree-ssa-loop-ivcanon.cc: ...here.
18944 * tree-ssa-loop-ivopts.c: Moved to...
18945 * tree-ssa-loop-ivopts.cc: ...here.
18946 * tree-ssa-loop-manip.c: Moved to...
18947 * tree-ssa-loop-manip.cc: ...here.
18948 * tree-ssa-loop-niter.c: Moved to...
18949 * tree-ssa-loop-niter.cc: ...here.
18950 * tree-ssa-loop-prefetch.c: Moved to...
18951 * tree-ssa-loop-prefetch.cc: ...here.
18952 * tree-ssa-loop-split.c: Moved to...
18953 * tree-ssa-loop-split.cc: ...here.
18954 * tree-ssa-loop-unswitch.c: Moved to...
18955 * tree-ssa-loop-unswitch.cc: ...here.
18956 * tree-ssa-loop.c: Moved to...
18957 * tree-ssa-loop.cc: ...here.
18958 * tree-ssa-math-opts.c: Moved to...
18959 * tree-ssa-math-opts.cc: ...here.
18960 * tree-ssa-operands.c: Moved to...
18961 * tree-ssa-operands.cc: ...here.
18962 * tree-ssa-phiopt.c: Moved to...
18963 * tree-ssa-phiopt.cc: ...here.
18964 * tree-ssa-phiprop.c: Moved to...
18965 * tree-ssa-phiprop.cc: ...here.
18966 * tree-ssa-pre.c: Moved to...
18967 * tree-ssa-pre.cc: ...here.
18968 * tree-ssa-propagate.c: Moved to...
18969 * tree-ssa-propagate.cc: ...here.
18970 * tree-ssa-reassoc.c: Moved to...
18971 * tree-ssa-reassoc.cc: ...here.
18972 * tree-ssa-sccvn.c: Moved to...
18973 * tree-ssa-sccvn.cc: ...here.
18974 * tree-ssa-scopedtables.c: Moved to...
18975 * tree-ssa-scopedtables.cc: ...here.
18976 * tree-ssa-sink.c: Moved to...
18977 * tree-ssa-sink.cc: ...here.
18978 * tree-ssa-strlen.c: Moved to...
18979 * tree-ssa-strlen.cc: ...here.
18980 * tree-ssa-structalias.c: Moved to...
18981 * tree-ssa-structalias.cc: ...here.
18982 * tree-ssa-tail-merge.c: Moved to...
18983 * tree-ssa-tail-merge.cc: ...here.
18984 * tree-ssa-ter.c: Moved to...
18985 * tree-ssa-ter.cc: ...here.
18986 * tree-ssa-threadbackward.c: Moved to...
18987 * tree-ssa-threadbackward.cc: ...here.
18988 * tree-ssa-threadedge.c: Moved to...
18989 * tree-ssa-threadedge.cc: ...here.
18990 * tree-ssa-threadupdate.c: Moved to...
18991 * tree-ssa-threadupdate.cc: ...here.
18992 * tree-ssa-uncprop.c: Moved to...
18993 * tree-ssa-uncprop.cc: ...here.
18994 * tree-ssa-uninit.c: Moved to...
18995 * tree-ssa-uninit.cc: ...here.
18996 * tree-ssa.c: Moved to...
18997 * tree-ssa.cc: ...here.
18998 * tree-ssanames.c: Moved to...
18999 * tree-ssanames.cc: ...here.
19000 * tree-stdarg.c: Moved to...
19001 * tree-stdarg.cc: ...here.
19002 * tree-streamer-in.c: Moved to...
19003 * tree-streamer-in.cc: ...here.
19004 * tree-streamer-out.c: Moved to...
19005 * tree-streamer-out.cc: ...here.
19006 * tree-streamer.c: Moved to...
19007 * tree-streamer.cc: ...here.
19008 * tree-switch-conversion.c: Moved to...
19009 * tree-switch-conversion.cc: ...here.
19010 * tree-tailcall.c: Moved to...
19011 * tree-tailcall.cc: ...here.
19012 * tree-vect-data-refs.c: Moved to...
19013 * tree-vect-data-refs.cc: ...here.
19014 * tree-vect-generic.c: Moved to...
19015 * tree-vect-generic.cc: ...here.
19016 * tree-vect-loop-manip.c: Moved to...
19017 * tree-vect-loop-manip.cc: ...here.
19018 * tree-vect-loop.c: Moved to...
19019 * tree-vect-loop.cc: ...here.
19020 * tree-vect-patterns.c: Moved to...
19021 * tree-vect-patterns.cc: ...here.
19022 * tree-vect-slp-patterns.c: Moved to...
19023 * tree-vect-slp-patterns.cc: ...here.
19024 * tree-vect-slp.c: Moved to...
19025 * tree-vect-slp.cc: ...here.
19026 * tree-vect-stmts.c: Moved to...
19027 * tree-vect-stmts.cc: ...here.
19028 * tree-vector-builder.c: Moved to...
19029 * tree-vector-builder.cc: ...here.
19030 * tree-vectorizer.c: Moved to...
19031 * tree-vectorizer.cc: ...here.
19032 * tree-vrp.c: Moved to...
19033 * tree-vrp.cc: ...here.
19034 * tree.c: Moved to...
19035 * tree.cc: ...here.
19036 * tsan.c: Moved to...
19037 * tsan.cc: ...here.
19038 * typed-splay-tree.c: Moved to...
19039 * typed-splay-tree.cc: ...here.
19040 * ubsan.c: Moved to...
19041 * ubsan.cc: ...here.
19042 * valtrack.c: Moved to...
19043 * valtrack.cc: ...here.
19044 * value-prof.c: Moved to...
19045 * value-prof.cc: ...here.
19046 * var-tracking.c: Moved to...
19047 * var-tracking.cc: ...here.
19048 * varasm.c: Moved to...
19049 * varasm.cc: ...here.
19050 * varpool.c: Moved to...
19051 * varpool.cc: ...here.
19052 * vec-perm-indices.c: Moved to...
19053 * vec-perm-indices.cc: ...here.
19054 * vec.c: Moved to...
19055 * vec.cc: ...here.
19056 * vmsdbgout.c: Moved to...
19057 * vmsdbgout.cc: ...here.
19058 * vr-values.c: Moved to...
19059 * vr-values.cc: ...here.
19060 * vtable-verify.c: Moved to...
19061 * vtable-verify.cc: ...here.
19062 * web.c: Moved to...
19063 * web.cc: ...here.
19064 * xcoffout.c: Moved to...
19065 * xcoffout.cc: ...here.
19066
19067 2022-01-17 qing zhao <qing.zhao@oracle.com>
19068
19069 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
19070 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
19071 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
19072 specially.
19073 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
19074 (warn_uninitialized_vars): Likewise.
19075 (warn_uninitialized_phi): Likewise.
19076
19077 2022-01-17 Jason Merrill <jason@redhat.com>
19078
19079 * diagnostic.h (struct diagnostic_context): Add includes_seen.
19080 * diagnostic.c (diagnostic_initialize): Initialize it.
19081 (diagnostic_finish): Clean it up.
19082 (includes_seen): New function.
19083 (diagnostic_report_current_module): Use it.
19084
19085 2022-01-17 Richard Biener <rguenther@suse.de>
19086
19087 PR middle-end/101292
19088 * diagnostic-spec.c (copy_warning): Make sure to not
19089 reference old hashtable content on possible resize.
19090 * warning-control.cc (copy_warning): Likewise.
19091
19092 2022-01-17 Jakub Jelinek <jakub@redhat.com>
19093
19094 PR target/103973
19095 * tree-cfg.h (cond_only_block_p): Declare.
19096 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
19097 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
19098 * optabs.def (spaceship_optab): New optab.
19099 * internal-fn.def (SPACESHIP): New internal function.
19100 * internal-fn.h (expand_SPACESHIP): Declare.
19101 * internal-fn.c (expand_PHI): Formatting fix.
19102 (expand_SPACESHIP): New function.
19103 * tree-ssa-math-opts.c (optimize_spaceship): New function.
19104 (math_opts_dom_walker::after_dom_children): Use it.
19105 * config/i386/i386.md (spaceship<mode>3): New define_expand.
19106 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
19107 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
19108 * doc/md.texi (spaceship@var{m}3): Document.
19109
19110 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
19111
19112 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
19113 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
19114 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
19115 known constant values to simplify code.
19116
19117 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
19118
19119 PR target/103124
19120 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
19121
19122 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
19123
19124 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
19125 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
19126 Insert zero-idiom in output template when attr enabled, set new attribute to
19127 true for non-mask/maskz insn.
19128 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
19129 Likewise.
19130 (avx512dq_mul<mode>3<mask_name>): Likewise.
19131 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
19132 (avx2_perm<mode>_1<mask_name>): Likewise.
19133 (avx512f_perm<mode>_1<mask_name>): Likewise.
19134 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
19135 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
19136 Likewise.
19137 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
19138 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
19139 Likewise.
19140 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
19141 subst_attr.
19142 (mask4_dest_false_dep_for_glc_cond): Likewise.
19143 (mask6_dest_false_dep_for_glc_cond): Likewise.
19144 (mask10_dest_false_dep_for_glc_cond): Likewise.
19145 (maskc_dest_false_dep_for_glc_cond): Likewise.
19146 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
19147 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
19148 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
19149 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
19150
19151 2022-01-15 Martin Sebor <msebor@redhat.com>
19152
19153 PR c/63272
19154 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
19155 -Wdangling-pointer.
19156 * doc/invoke.texi (-Wdangling-pointer): Document new option.
19157 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
19158 (pass_waccess::check_pointer_uses): New function.
19159 (pass_waccess::gimple_call_return_arg): New function.
19160 (pass_waccess::gimple_call_return_arg_ref): New function.
19161 (pass_waccess::check_call_dangling): New function.
19162 (pass_waccess::check_dangling_uses): New function overloads.
19163 (pass_waccess::check_dangling_stores): New function.
19164 (pass_waccess::check_dangling_stores): New function.
19165 (pass_waccess::m_clobbers): New data member.
19166 (pass_waccess::m_func): New data member.
19167 (pass_waccess::m_run_number): New data member.
19168 (pass_waccess::m_check_dangling_p): New data member.
19169 (pass_waccess::check_alloca): Check m_early_checks_p.
19170 (pass_waccess::check_alloc_size_call): Same.
19171 (pass_waccess::check_strcat): Same.
19172 (pass_waccess::check_strncat): Same.
19173 (pass_waccess::check_stxcpy): Same.
19174 (pass_waccess::check_stxncpy): Same.
19175 (pass_waccess::check_strncmp): Same.
19176 (pass_waccess::check_memop_access): Same.
19177 (pass_waccess::check_read_access): Same.
19178 (pass_waccess::check_builtin): Call check_pointer_uses.
19179 (pass_waccess::warn_invalid_pointer): Add arguments.
19180 (is_auto_decl): New function.
19181 (pass_waccess::check_stmt): New function.
19182 (pass_waccess::check_block): Call check_stmt.
19183 (pass_waccess::execute): Call check_dangling_uses,
19184 check_dangling_stores. Empty m_clobbers.
19185 * passes.def (pass_warn_access): Invoke pass two more times.
19186
19187 2022-01-15 Martin Sebor <msebor@redhat.com>
19188
19189 PR tree-optimization/80532
19190 * common.opt (-Wuse-after-free): New options.
19191 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
19192 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
19193 * diagnostic-spec.h (NW_DANGLING): New enumerator.
19194 * doc/invoke.texi (-Wuse-after-free): Document new option.
19195 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
19196 (pass_waccess::check_call_access): ...to this.
19197 (pass_waccess::check): Rename...
19198 (pass_waccess::check_block): ...to this.
19199 (pass_waccess::check_pointer_uses): New function.
19200 (pass_waccess::gimple_call_return_arg): New function.
19201 (pass_waccess::warn_invalid_pointer): New function.
19202 (pass_waccess::check_builtin): Handle free and realloc.
19203 (gimple_use_after_inval_p): New function.
19204 (get_realloc_lhs): New function.
19205 (maybe_warn_mismatched_realloc): New function.
19206 (pointers_related_p): New function.
19207 (pass_waccess::check_call): Call check_pointer_uses.
19208 (pass_waccess::execute): Compute and free dominance info.
19209
19210 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
19211
19212 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
19213 expand_simple_unop and expand_simple_binop instead of manually
19214 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
19215 consistently. Eliminate common subexpressions and simplify code.
19216 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
19217 (<any_logic:code><MODEF:mode>3): Make public.
19218
19219 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
19220
19221 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
19222 reverse flag as "reverse" for the sake of consistency.
19223 * ipa-sra.c: Fix copyright year.
19224 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
19225 (dump_isra_access): Tweak dump line.
19226 (isra_write_node_summary): Write the reverse flag.
19227 (isra_read_node_info): Read it.
19228 (pull_accesses_from_callee): Test its consistency and copy it.
19229
19230 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
19231
19232 PR middle-end/104026
19233 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
19234 partial_load_store_bias.
19235
19236 2022-01-14 Martin Sebor <msebor@redhat.com>
19237
19238 PR middle-end/101475
19239 * pointer-query.cc (handle_component_ref): Use the size of
19240 the enclosing object if it's smaller than the member.
19241
19242 2022-01-14 Martin Liska <mliska@suse.cz>
19243
19244 * configure: Regenerate.
19245
19246 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
19247
19248 * config/i386/i386.md (*add<mode>_1_slp"):
19249 Mark alternative 1 output operand earlyclobbered.
19250 (*sub<mode>_1_slp): Ditto.
19251 (*and<mode>_1_slp): Ditto.
19252 (*<code><mode>_1_slp): Ditto.
19253 (*neg<mode>_1_slp): Ditto.
19254 (*one_cmpl<mode>_1_slp): Ditto.
19255 (*ashl<mode>3_1_slp): Ditto.
19256 (*<insn><mode>3_1_slp): Ditto.
19257 (*<insn><mode>3_1_slp): Ditto.
19258
19259 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
19260
19261 PR tree-optimization/104015
19262 * tree-vect-loop.c (vect_analyze_loop): Check
19263 param_vect_partial_vector_usage for supports_partial_vectors.
19264
19265 2022-01-14 Jakub Jelinek <jakub@redhat.com>
19266
19267 PR c++/89074
19268 * fold-const.c (address_compare): Punt on comparison of address of
19269 one object with address of end of another object if
19270 folding_initializer.
19271
19272 2022-01-14 Jakub Jelinek <jakub@redhat.com>
19273
19274 PR target/98737
19275 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
19276 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
19277 and __atomic_op_fetch (p, x, y) iop x into
19278 __atomic_fetch_op (p, x, y).
19279
19280 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
19281
19282 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
19283 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
19284 (INCOMING_RETURN_ADDR_RTX): Likewise.
19285 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
19286
19287 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
19288
19289 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
19290 computin checking accumulator regs.
19291 (arc_expand_prologue): Update comments.
19292 (arc_expand_epilogue): Likewise.
19293
19294 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
19295 Uroš Bizjak <ubizjak@gmail.com>
19296
19297 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
19298 (ix86_expand_ti_to_v1ti): Use force_reg.
19299 (ix86_expand_v1ti_shift): Use force_reg.
19300 (ix86_expand_v1ti_rotate): Use force_reg.
19301 (ix86_expand_v1ti_ashiftrt): Provide new three operation
19302 implementations for shifts by 111..126 bits. Use force_reg.
19303
19304 2022-01-14 Martin Liska <mliska@suse.cz>
19305
19306 * common/config/arm/arm-common.c (arm_target_mode): Fix
19307 warning: unterminated quoting directive [-Wformat=].
19308
19309 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
19310
19311 PR tree-optimization/104009
19312 * tree-object-size.c (compute_builtin_object_size): Bail out on
19313 negative offset.
19314 (plus_stmt_object_size): Return maximum of wholesize and minimum
19315 of 0 for negative offset.
19316
19317 2022-01-14 liuhongt <hongtao.liu@intel.com>
19318
19319 PR target/104001
19320 PR target/94790
19321 PR target/104014
19322 * config/i386/i386.md (*xor2andn): Refine predicate of
19323 operands[0] from nonimmediate_operand to
19324 register_operand, remove TARGET_AVX512BW from condition.
19325
19326 2022-01-14 David Malcolm <dmalcolm@redhat.com>
19327
19328 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
19329 be used on field decls.
19330 (Common Function Attributes): Add entry on "tainted_args" attribute.
19331
19332 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
19333 Jason Merrill <jason@redhat.com>
19334
19335 PR c++/70417
19336 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
19337
19338 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
19339
19340 PR target/103861
19341 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
19342 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
19343 * config/i386/mmx.md (<any_shift:insn>v2qi):
19344 New insn_and_split pattern.
19345
19346 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
19347
19348 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
19349 (expand_partial_store_optab_fn): Likewise.
19350 (internal_len_load_store_bias): New function.
19351 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
19352 (internal_len_load_store_bias): New function.
19353 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
19354 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
19355 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
19356 (vect_estimate_min_profitable_iters): Account for bias.
19357 (vect_get_loop_len): Add bias-adjusted length.
19358 * tree-vect-stmts.c (vectorizable_store): Use.
19359 (vectorizable_load): Use.
19360 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
19361 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
19362 * config/rs6000/vsx.md: Use const0 bias predicate.
19363 * doc/md.texi: Document bias value.
19364
19365 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
19366
19367 PR tree-optimization/83072
19368 PR tree-optimization/83073
19369 PR tree-optimization/97909
19370 * fold-const.c (expr_not_equal_to): Use a multi-range class.
19371
19372 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
19373
19374 PR tree-optimization/96707
19375 * range-op.cc (operator_rshift::lhs_op1_relation): New.
19376
19377 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
19378
19379 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
19380 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
19381 (negv2qi splitters): Use lowpart_subreg instead of
19382 gen_lowpart to create subreg.
19383 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
19384 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
19385 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
19386 gen_lowpart to create subreg.
19387 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
19388
19389 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
19390
19391 PR target/104003
19392 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
19393
19394 2022-01-13 Martin Liska <mliska@suse.cz>
19395
19396 * common/config/arm/arm-common.c (arm_target_mode): Wrap
19397 keywords with %<, %> and remove trailing punctuation char.
19398 (arm_canon_arch_option_1): Likewise.
19399 (arm_asm_auto_mfpu): Likewise.
19400 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
19401 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
19402 (use_vfp_abi): Likewise.
19403 (aapcs_vfp_is_call_or_return_candidate): Likewise.
19404 (arm_handle_cmse_nonsecure_entry): Likewise.
19405 (arm_handle_cmse_nonsecure_call): Likewise.
19406 (thumb1_md_asm_adjust): Likewise.
19407
19408 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
19409
19410 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
19411 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
19412 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
19413 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
19414 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
19415 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
19416 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
19417 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
19418 macro.
19419
19420 2022-01-13 Jakub Jelinek <jakub@redhat.com>
19421
19422 PR tree-optimization/103989
19423 * tree-inline.c (setup_one_parameter): Don't copy parms with
19424 empty type.
19425
19426 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
19427
19428 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
19429 'TYPE_ADDR_SPACE' for offloading.
19430 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
19431 'TYPE_ADDR_SPACE' for offloading.
19432
19433 2022-01-13 Julian Brown <julian@codesourcery.com>
19434 Thomas Schwinge <thomas@codesourcery.com>
19435
19436 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
19437 of...
19438 (add_async_clauses_and_wait): ...here. Call new outlined function.
19439 (decompose_kernels_region_body): Add wait at the end of
19440 explicitly-asynchronous kernels regions.
19441
19442 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
19443
19444 PR middle-end/100280
19445 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
19446 Mark variables used in synthesized data clauses as addressable.
19447
19448 2022-01-13 Martin Liska <mliska@suse.cz>
19449
19450 * config/epiphany/epiphany.c (epiphany_mode_priority):
19451 Use gcc_unreachable for not handled cases.
19452
19453 2022-01-13 Martin Liska <mliska@suse.cz>
19454
19455 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
19456 Use %qs format specifier.
19457 (epiphany_override_options): Wrap keyword in %<, %>.
19458
19459 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
19460
19461 PR target/94790
19462 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
19463
19464 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
19465
19466 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
19467
19468 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
19469
19470 PR target/100637
19471 PR target/103861
19472 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
19473 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
19474 when constructing vector logic RTXes.
19475 (expand_vec_perm_pshufb2): Ditto.
19476 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
19477 (<plusminus:insn>v2qi3): Ditto.
19478 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
19479 (vcondu<mode><mode>): Ditto.
19480 (vcond_mask_<mode><mode>): Ditto.
19481 (one_cmpl<VI_32:mode>2): Remove expander.
19482 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
19483 Use VI_16_32 mode iterator.
19484 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
19485 Use lowpart_subreg instead of gen_lowpart to create subreg.
19486 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
19487 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
19488 Disparage GPR alternative a bit. Add CC clobber.
19489 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
19490 Use lowpart_subreg instead of gen_lowpart to create subreg.
19491 (*<any_logic:code><VI_16_32:mode>3): Merge from
19492 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
19493 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
19494 Add CC clobber.
19495 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
19496 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
19497
19498 2022-01-12 Clément Chigot <clement.chigot@atos.net>
19499
19500 * configure.ac: Check sizeof ino_t and dev_t.
19501 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
19502 syscall being able to handle 64bit inodes.
19503 * config.in: Regenerate.
19504 * configure: Regenerate.
19505 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
19506 (remove_duplicates): Use it.
19507
19508 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
19509
19510 PR tree-optimization/103551
19511 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
19512
19513 2022-01-12 Richard Biener <rguenther@suse.de>
19514
19515 PR tree-optimization/103990
19516 * tree-pass.h (tail_merge_optimize): Drop unused argument.
19517 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
19518 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
19519 and adjust call to tail_merge_optimize.
19520
19521 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
19522
19523 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
19524 does not add autovectorize_vector_modes.
19525
19526 2022-01-12 Martin Liska <mliska@suse.cz>
19527
19528 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
19529 %qs where possible.
19530 (aarch64_parse_sve_width_string): Likewise.
19531 (aarch64_override_options_internal): Likewise.
19532 (aarch64_print_hint_for_extensions): Likewise.
19533 (aarch64_validate_sls_mitigation): Likewise.
19534 (aarch64_handle_attr_arch): Likewise.
19535 (aarch64_handle_attr_cpu): Likewise.
19536 (aarch64_handle_attr_tune): Likewise.
19537 (aarch64_handle_attr_isa_flags): Likewise.
19538
19539 2022-01-12 Martin Liska <mliska@suse.cz>
19540
19541 * config.gcc: Include elfos.h before ${tm_file}.
19542
19543 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
19544
19545 * config/cris/cris.c: Quote identifiers in parameters to error
19546 and internal_error, and remove extraneous spaces with punctuation.
19547 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
19548 expression to internal_error, pass it as a parameter instead of
19549 appending it to the format part.
19550
19551 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
19552
19553 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
19554 parameter to as_a.
19555
19556 2022-01-11 qing zhao <qing.zhao@oracle.com>
19557
19558 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
19559 Change the 3rd argument of function .DEFERRED_INIT to the name of the
19560 decl.
19561 (gimplify_decl_expr): Delete the 3rd argument when call
19562 gimple_add_init_for_auto_var.
19563 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
19564 the 3rd argument change of function .DEFERRED_INIT.
19565 * tree-cfg.c (verify_gimple_call): Update comments and verification
19566 to reflect the 3rd argument change of function .DEFERRED_INIT.
19567 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
19568 (sra_modify_deferred_init): Change the 3rd argument of function
19569 .DEFERRED_INIT to the name of the decl.
19570
19571 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
19572
19573 * flag-types.h (enum gfc_convert): Add flags for
19574 conversion.
19575
19576 2022-01-11 Michael Meissner <meissner@the-meissners.org>
19577
19578 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
19579 checks for only C/C++ front ends before allowing the long double
19580 format to change without a warning.
19581
19582 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
19583
19584 PR rtl-optimization/103974
19585 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
19586 extra argument, default true, that says whether old-reload
19587 targets should be excluded.
19588 * ira-color.c (color_pass): Pass false.
19589
19590 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
19591
19592 PR target/103861
19593 * config/i386/mmx.md (vcond<mode><mode>):
19594 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
19595 (vcondu<mode><mode>): Ditto.
19596 (vcond_mask_<mode><mode>): Ditto.
19597 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
19598 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
19599 Use VI_16_32 mode iterator.
19600 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
19601 Update for rename. Handle V2QImode.
19602 (expand_vec_perm_blend): Update for rename.
19603
19604 2022-01-11 Jakub Jelinek <jakub@redhat.com>
19605
19606 PR c++/101597
19607 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
19608
19609 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
19610
19611 PR middle-end/70090
19612 * tree-object-size.c (size_valid_p): New function.
19613 (size_for_offset): Remove OFFSET constness assertion.
19614 (addr_object_size): Build dynamic expressions for object
19615 sizes and use size_valid_p to decide if it is valid for the
19616 given OBJECT_SIZE_TYPE.
19617 (compute_builtin_object_size): Allow dynamic offsets when
19618 computing size at O0.
19619 (call_object_size): Call size_valid_p.
19620 (plus_stmt_object_size): Allow non-constant offset and use
19621 size_valid_p to decide if it is valid for the given
19622 OBJECT_SIZE_TYPE.
19623
19624 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
19625
19626 PR middle-end/70090
19627 * tree-object-size.c (alloc_object_size): Make and return
19628 non-constant size expression.
19629 (call_object_size): Return expression or unknown based on
19630 whether dynamic object size is requested.
19631
19632 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
19633
19634 PR middle-end/70090
19635 * tree-object-size.c: Include tree-dfa.h.
19636 (parm_object_size): New function.
19637 (collect_object_sizes_for): Call it.
19638
19639 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
19640
19641 PR middle-end/70090
19642 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
19643 expressions.
19644 * tree-object-size.c: Include gimplify-me.h.
19645 (struct object_size_info): New member UNKNOWNS.
19646 (size_initval_p, size_usable_p, object_sizes_get_raw): New
19647 functions.
19648 (object_sizes_get): Return suitable gimple variable for
19649 object size.
19650 (bundle_sizes): New function.
19651 (object_sizes_set): Use it and handle dynamic object size
19652 expressions.
19653 (object_sizes_set_temp): New function.
19654 (size_for_offset): Adjust for dynamic size expressions.
19655 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
19656 New functions.
19657 (compute_builtin_object_size): Call gimplify_size_expressions
19658 for OST_DYNAMIC.
19659 (dynamic_object_size): New function.
19660 (cond_expr_object_size): Use it.
19661 (phi_dynamic_object_size): New function.
19662 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
19663 accommodate dynamic object sizes.
19664
19665 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
19666 Jakub Jelinek <jakub@redhat.com>
19667
19668 PR tree-optimization/103961
19669 * tree-object-size.c (plus_stmt_object_size): Always avoid
19670 computing offset for -1 size.
19671
19672 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
19673
19674 PR tree-optimization/103821
19675 * range-op.cc (range_operator::fold_range): Only do precise ranges
19676 when there are not too many subranges.
19677
19678 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
19679
19680 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
19681 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
19682
19683 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
19684 Richard Biener <rguenther@suse.de>
19685
19686 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
19687 highpart_mults_inserted field.
19688 (convert_mult_to_highpart): New function to convert right shift
19689 of a widening multiply into a MULT_HIGHPART_EXPR.
19690 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
19691 Call new convert_mult_to_highpart function.
19692 (pass_optimize_widening_mul::execute): Add a statistics counter
19693 for tracking "highpart multiplications inserted" events.
19694
19695 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
19696
19697 PR target/102239
19698 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
19699 declare.
19700 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
19701 function.
19702 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
19703
19704 2022-01-11 Olivier Hainque <hainque@adacore.com>
19705
19706 * gcc.c (driver_handle_option): State --sysroot as
19707 validated.
19708
19709 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
19710
19711 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
19712 useless related to option -mno-power10.
19713
19714 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
19715
19716 PR target/53652
19717 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
19718 operands[1] from register_operand to vector_operand.
19719
19720 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
19721
19722 PR target/103861
19723 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
19724 Handle V2QImode.
19725 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
19726 Use VI1_16_32 mode iterator.
19727 (*eq<mode>3): Ditto.
19728 (*gt<mode>3): Ditto.
19729 (*xop_maskcmp<mode>3): Ditto.
19730 (*xop_maskcmp_uns<mode>3): Ditto.
19731 (vec_cmp<mode><mode>): Ditto.
19732 (vec_cmpu<mode><mode>): Ditto.
19733
19734 2022-01-10 Richard Biener <rguenther@suse.de>
19735
19736 PR tree-optimization/103948
19737 * tree-vect-generic.c (expand_vector_condition): Return true if
19738 all ones vector is returned for true, all zeros vector for false
19739 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
19740
19741 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
19742
19743 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
19744 when _ARCH_PWR10. Use signed types.
19745 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
19746 (_mm_blendv_pd): Likewise.
19747
19748 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
19749
19750 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
19751 epilogue costing.
19752 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
19753 epilogues, unless we are guaranteed that we can't have partial vectors.
19754 * genopinit.c: (partial_vectors_supported): Generate new function.
19755
19756 2022-01-10 Jakub Jelinek <jakub@redhat.com>
19757
19758 PR target/102024
19759 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
19760 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
19761 always ignore them, when seeing other zero sized bitfields, either
19762 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
19763 it. Pass it to recursive calls. Add wrapper
19764 with old arguments and diagnose ABI differences for C structures
19765 with zero width bitfields. Formatting fixes.
19766
19767 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
19768
19769 PR rtl-optimization/98782
19770 * ira-int.h (ira_soft_conflict): Declare.
19771 * ira-color.c (max_soft_conflict_loop_depth): New constant.
19772 (ira_soft_conflict): New function.
19773 (spill_soft_conflicts): Likewise.
19774 (assign_hard_reg): Use them to handle the case described by
19775 the comment above ira_soft_conflict.
19776 (improve_allocation): Likewise.
19777 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
19778 to share the same register.
19779
19780 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
19781
19782 PR rtl-optimization/98782
19783 * ira-int.h (ira_caller_save_cost): New function.
19784 (ira_caller_save_loop_spill_p): Likewise.
19785 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
19786 cheaper to spill a call-clobbered register throughout a loop rather
19787 than spill it around each individual call. If so, treat all
19788 call-clobbered registers as conflicts and...
19789 (propagate_allocno_info): ...do not propagate call information
19790 from the child to the parent.
19791 * ira-color.c (move_spill_restore): Update accordingly.
19792 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
19793
19794 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
19795
19796 PR rtl-optimization/98782
19797 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
19798 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
19799 (ira_single_region_allocno_p): New function.
19800 (ira_total_conflict_hard_regs): Likewise.
19801 * ira-build.c (ira_create_allocno): Initialize
19802 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
19803 (ira_propagate_hard_reg_costs): New function.
19804 (propagate_allocno_info): Use it. Try to avoid propagating
19805 hard register conflicts to parent allocnos if we can handle
19806 the conflicts by spilling instead. Limit the propagated
19807 register costs to the cost of spilling throughout the child loop.
19808 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
19809 test whether a child and parent allocno can share the same
19810 register.
19811 (move_spill_restore): Adjust for the new behavior of
19812 propagate_allocno_info.
19813
19814 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
19815
19816 PR rtl-optimization/98782
19817 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
19818 extracted from...
19819 * ira-color.c (color_pass): ...here.
19820
19821 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
19822
19823 PR rtl-optimization/98782
19824 * ira-color.c (color_pass): Add comments to describe the spill costs.
19825 (move_spill_restore): Likewise. Fix reversed calculation.
19826
19827 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
19828
19829 PR rtl-optimization/98782
19830 * ira-int.h (ira_loop_border_costs): New class.
19831 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
19832 New constructor.
19833 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
19834 (color_pass): Likewise.
19835 (move_spill_restore): Likewise.
19836
19837 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
19838
19839 PR target/103465
19840 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
19841
19842 2022-01-10 Richard Biener <rguenther@suse.de>
19843
19844 PR tree-optimization/100359
19845 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
19846 Allow non-growing peeling with !allow_peel and UL_ALL.
19847
19848 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
19849
19850 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
19851 special case for TImode to V1TImode moves, going via V2DImode.
19852
19853 2022-01-08 Jakub Jelinek <jakub@redhat.com>
19854
19855 PR c++/89074
19856 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
19857 simplification.
19858
19859 2022-01-08 David Malcolm <dmalcolm@redhat.com>
19860
19861 * doc/analyzer.texi
19862 (Special Functions for Debugging the Analyzer): Document
19863 __analyzer_dump_escaped.
19864
19865 2022-01-08 David Malcolm <dmalcolm@redhat.com>
19866
19867 * doc/analyzer.texi (Other Debugging Techniques): Document
19868 region::is_named_decl_p.
19869
19870 2022-01-07 Andrew Pinski <apinski@marvell.com>
19871
19872 PR target/102941
19873 * config/arm/aarch-common.c (arm_md_asm_adjust):
19874 Use a temp if !REG_P.
19875
19876 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
19877
19878 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
19879 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
19880
19881 2022-01-07 liuhongt <hongtao.liu@intel.com>
19882
19883 PR rtl-optimization/103750
19884 * fwprop.c (forward_propagate_into): Allow propagations from
19885 inner loop to outer loop.
19886
19887 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
19888
19889 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
19890
19891 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
19892
19893 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
19894 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
19895 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
19896
19897 2022-01-07 liuhongt <hongtao.liu@intel.com>
19898
19899 * config/i386/sse.md
19900 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
19901 UNSPEC_PCMP_UNSIGNED.
19902
19903 2022-01-07 liuhongt <hongtao.liu@intel.com>
19904
19905 PR target/103753
19906 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
19907 gen_avx2_pblendph_1 when elt == 0.
19908 * config/i386/sse.md (avx2_pblendph): Rename to ..
19909 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
19910 (*avx2_pblendw): Rename to ..
19911 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
19912 (avx2_pblendw): Rename to ..
19913 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
19914 (blendsuf): Removed.
19915 (sse4_1_pblend<blendsuf>): Renamed to ..
19916 (sse4_1_pblend<ssemodesuffix>): .. this.
19917
19918 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
19919
19920 PR target/103925
19921 * config/i386/i386.c (ix86_output_indirect_function_return):
19922 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
19923
19924 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
19925
19926 PR target/102952
19927 * config/i386/i386-opts.h (harden_sls): Replace
19928 harden_sls_indirect_branch with harden_sls_indirect_jmp.
19929 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
19930 Likewise.
19931 (ix86_output_indirect_jmp): Likewise.
19932 (ix86_output_call_insn): Likewise.
19933 * config/i386/i386.opt: Replace indirect-branch with
19934 indirect-jmp. Replace harden_sls_indirect_branch with
19935 harden_sls_indirect_jmp.
19936 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
19937 indirect-jmp.
19938
19939 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
19940
19941 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
19942 Add %q modifier for operands in general registers.
19943 <MODE_SI>: Add %q modifier for operands in general registers.
19944 * config/i386/i386.md (*movhi_internal): Change type attribute of
19945 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
19946 to SImode for non-avx512fp16 targets.
19947 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
19948 * config/i386/mmx.md (*movv2qi_internal):
19949 Ditto for xmm-gpr interunit alternatives 8,9.
19950
19951 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
19952
19953 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
19954 vector extensions.
19955 (riscv_ext_version_table): Add version info for vector extensions.
19956 (riscv_ext_flag_table): Add option mask for vector extensions.
19957 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
19958 (MASK_VECTOR_EEW_64): New.
19959 (MASK_VECTOR_EEW_FP_32): New.
19960 (MASK_VECTOR_EEW_FP_64): New.
19961 (MASK_ZVL32B): New.
19962 (MASK_ZVL64B): New.
19963 (MASK_ZVL128B): New.
19964 (MASK_ZVL256B): New.
19965 (MASK_ZVL512B): New.
19966 (MASK_ZVL1024B): New.
19967 (MASK_ZVL2048B): New.
19968 (MASK_ZVL4096B): New.
19969 (MASK_ZVL8192B): New.
19970 (MASK_ZVL16384B): New.
19971 (MASK_ZVL32768B): New.
19972 (MASK_ZVL65536B): New.
19973 (TARGET_ZVL32B): New.
19974 (TARGET_ZVL64B): New.
19975 (TARGET_ZVL128B): New.
19976 (TARGET_ZVL256B): New.
19977 (TARGET_ZVL512B): New.
19978 (TARGET_ZVL1024B): New.
19979 (TARGET_ZVL2048B): New.
19980 (TARGET_ZVL4096B): New.
19981 (TARGET_ZVL8192B): New.
19982 (TARGET_ZVL16384B): New.
19983 (TARGET_ZVL32768B): New.
19984 (TARGET_ZVL65536B): New.
19985 * config/riscv/riscv.opt (Mask(VECTOR)): New.
19986 (riscv_vector_eew_flags): New.
19987 (riscv_zvl_flags): New.
19988
19989 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
19990
19991 * common/config/riscv/riscv-common.c
19992 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
19993 digit.
19994
19995 2022-01-06 Jakub Jelinek <jakub@redhat.com>
19996
19997 PR tree-optimization/103899
19998 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
19999 warning by moving context variable to the only spot where it is used
20000 and moving gcc_assert into if body.
20001
20002 2022-01-06 Jakub Jelinek <jakub@redhat.com>
20003
20004 PR rtl-optimization/103908
20005 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
20006 asm goto.
20007
20008 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
20009
20010 PR target/103622
20011 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
20012 Skip over instances with undefined function types.
20013
20014 2022-01-05 Andrew Pinski <apinski@marvell.com>
20015
20016 PR target/103910
20017 * config/i386/i386.h (x86_mfence): Mark with GTY.
20018
20019 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
20020
20021 PR target/103861
20022 * config/i386/mmx.md (VI_16_32): New mode iterator.
20023 (VI1_16_32): Ditto.
20024 (mmxvecsize): Handle V2QI mode.
20025 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
20026 Use VI1_16_32 mode iterator.
20027 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
20028 Use VI1_16_32 mode iterator.
20029 (abs<mode>2): Use VI_16_32 mode iterator.
20030 (uavgv2qi3_ceil): New insn pattern.
20031
20032 2022-01-05 Martin Sebor <msebor@redhat.com>
20033
20034 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
20035 %qs to avoid -Wformat-diag.
20036
20037 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
20038
20039 PR target/103915
20040 * config/i386/mmx.md (one_cmplv2qi2): Change
20041 alternatives 1,2 type from sselog to sselog1.
20042
20043 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
20044
20045 PR target/103905
20046 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
20047 narrow mode remapped elements for !one_operand_p case.
20048
20049 2022-01-05 Richard Biener <rguenther@suse.de>
20050
20051 PR tree-optimization/103816
20052 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
20053 check DR_GROUP_GAP compute for overflow and representability.
20054
20055 2022-01-05 Jakub Jelinek <jakub@redhat.com>
20056
20057 PR fortran/103691
20058 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
20059 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
20060 it can do unwanted rhs folding like &a[0] into &2.0 etc.
20061
20062 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
20063
20064 PR ipa/102059
20065 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
20066 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
20067 (rs6000_need_ipa_fn_target_info): New function.
20068 (rs6000_update_ipa_fn_target_info): Likewise.
20069 (rs6000_can_inline_p): Adjust for ipa function summary target info.
20070 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
20071 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
20072 summary target info.
20073 (analyze_function_body): Adjust for ipa function summary target info
20074 and call hook rs6000_need_ipa_fn_target_info and
20075 rs6000_update_ipa_fn_target_info.
20076 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
20077 target info.
20078 (inline_read_section): Likewise.
20079 (ipa_fn_summary_write): Likewise.
20080 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
20081 * doc/tm.texi: Regenerate.
20082 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
20083 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
20084 * target.def (update_ipa_fn_target_info): New hook.
20085 (need_ipa_fn_target_info): Likewise.
20086 * targhooks.c (default_need_ipa_fn_target_info): New function.
20087 (default_update_ipa_fn_target_info): Likewise.
20088 * targhooks.h (default_update_ipa_fn_target_info): New declare.
20089 (default_need_ipa_fn_target_info): Likewise.
20090
20091 2022-01-04 Martin Sebor <msebor@redhat.com>
20092
20093 PR middle-end/99612
20094 * builtins.c (get_memmodel): Move warning code to
20095 gimple-ssa-warn-access.cc.
20096 (expand_builtin_atomic_compare_exchange): Same.
20097 (expand_ifn_atomic_compare_exchange): Same.
20098 (expand_builtin_atomic_load): Same.
20099 (expand_builtin_atomic_store): Same.
20100 (expand_builtin_atomic_clear): Same.
20101 * doc/extend.texi (__atomic_exchange_n): Update valid memory
20102 models.
20103 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
20104 (struct memmodel_pair): New struct.
20105 (memmodel_name): New function.
20106 (pass_waccess::maybe_warn_memmodel): New function.
20107 (pass_waccess::check_atomic_memmodel): New function.
20108 (pass_waccess::check_atomic_builtin): Handle memory model.
20109 * input.c (expansion_point_location_if_in_system_header): Return
20110 original location if expansion location is in a system header.
20111
20112 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
20113
20114 PR target/103861
20115 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
20116 (one_cmplv2qi3 splitters): New post-reload splitters.
20117 (*andnotv2qi3): New insn pattern.
20118 (andnotv2qi3 splitters): New post-reload splitters.
20119 (<any_logic:code>v2qi3): New insn pattern.
20120 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
20121
20122 2022-01-04 Richard Biener <rguenther@suse.de>
20123
20124 PR tree-optimization/103800
20125 * tree-vect-loop.c (vectorizable_phi): Remove assert and
20126 expand comment.
20127
20128 2022-01-04 Richard Biener <rguenther@suse.de>
20129
20130 PR tree-optimization/103690
20131 * tree-pass.h (tail_merge_optimize): Adjust.
20132 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
20133 to re-split critical edges, move CFG cleanup ...
20134 * tree-ssa-pre.c (pass_pre::execute): ... here, before
20135 simple_dce_from_worklist and delay freeing inserted_exprs from
20136 ...
20137 (fini_pre): .. here.
20138
20139 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
20140
20141 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
20142 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
20143 (setcc_from_bi): Remove SImode specific pattern.
20144 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
20145 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
20146 for sign- and zero-extending BImode predicates to integers.
20147 (setcc_int<mode>): Remove previous (-1-based) instructions.
20148 (cstorebi4): Remove BImode to SImode specific expander.
20149 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
20150 (cstore<mode>4): For both integer and floating point modes.
20151
20152 2022-01-04 Olivier Hainque <hainque@adacore.com>
20153
20154 * gcc.c (driver_handle_option): do_save --sysroot.
20155
20156 2022-01-04 Richard Biener <rguenther@suse.de>
20157
20158 PR tree-optimization/103864
20159 PR tree-optimization/103544
20160 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
20161 reductions wrapped in conversions from SLP handling.
20162 (vect_analyze_slp): Revert PR103544 change.
20163
20164 2022-01-04 Jakub Jelinek <jakub@redhat.com>
20165
20166 PR rtl-optimization/103860
20167 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
20168 uselessly for blocks for which it has been called already.
20169
20170 2022-01-04 Cui,Lili <lili.cui@intel.com>
20171
20172 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
20173 to Alderlake and Rocketlake.
20174
20175 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
20176
20177 PR middle-end/103643
20178 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
20179 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
20180
20181 2022-01-04 liuhongt <hongtao.liu@intel.com>
20182
20183 PR target/103895
20184 * config/i386/sse.md (*bit_and_float_vector_all_ones):
20185 Force_reg operand 1 to avoid ICE.
20186
20187 2022-01-04 Jason Merrill <jason@redhat.com>
20188
20189 * tree-pretty-print.c (do_niy): Add spc parameter.
20190 (NIY): Pass it.
20191 (print_call_name): Add spc local variable.
20192
20193 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
20194
20195 PR target/103894
20196 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
20197 (mov<V_32:mode>_internal): Ditto.
20198 (*push<V_32:mode>_rex64): Ditto.
20199 (movmisalign<V_32:mode>): Ditto.
20200 (*push<V_32:mode>_rex64 splitter): Enable for
20201 TARGET_64BIT && TARGET_SSE.
20202 (*push<V_32:mode>2): Remove insn pattern.
20203
20204 2022-01-03 Andrew Pinski <apinski@marvell.com>
20205
20206 PR c/33193
20207 * doc/extend.texi: Extend the documentation about Complex
20208 types for casting and also rewrite the __real__/__imag__
20209 expression portion to use tables.
20210 Move __builtin_complex to the Complex type section.
20211
20212 2022-01-03 Jakub Jelinek <jakub@redhat.com>
20213
20214 PR target/98737
20215 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
20216 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
20217 New internal fns.
20218 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
20219 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
20220 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
20221 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
20222 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
20223 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
20224 functions.
20225 * optabs.def (atomic_add_fetch_cmp_0_optab,
20226 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
20227 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
20228 direct optabs.
20229 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
20230 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
20231 * tree-ssa-ccp.c: Include internal-fn.h.
20232 (optimize_atomic_bit_test_and): Add . before internal fn call
20233 in function comment. Change return type from void to bool and
20234 return true only if successfully replaced.
20235 (optimize_atomic_op_fetch_cmp_0): New function.
20236 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
20237 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
20238 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
20239 for *XOR* ones only if optimize_atomic_bit_test_and failed.
20240 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
20241 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
20242 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
20243 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
20244 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
20245 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
20246 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
20247 new named patterns.
20248
20249 2022-01-03 Richard Biener <rguenther@suse.de>
20250
20251 PR middle-end/103851
20252 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
20253
20254 2022-01-03 Jakub Jelinek <jakub@redhat.com>
20255
20256 PR c++/94716
20257 * symtab.c: Include fold-const.h.
20258 (symtab_node::equal_address_to): If folding_initializer is true,
20259 handle it like memory_accessed. Simplify.
20260
20261 2022-01-03 Martin Liska <mliska@suse.cz>
20262
20263 * doc/extend.texi: Use ; for function declarations.
20264
20265 2022-01-03 Jakub Jelinek <jakub@redhat.com>
20266
20267 PR c++/103600
20268 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
20269 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
20270
20271 2022-01-03 Jakub Jelinek <jakub@redhat.com>
20272
20273 * gcc.c (process_command): Update copyright notice dates.
20274 * gcov-dump.c (print_version): Ditto.
20275 * gcov.c (print_version): Ditto.
20276 * gcov-tool.c (print_version): Ditto.
20277 * gengtype.c (create_file): Ditto.
20278 * doc/cpp.texi: Bump @copying's copyright year.
20279 * doc/cppinternals.texi: Ditto.
20280 * doc/gcc.texi: Ditto.
20281 * doc/gccint.texi: Ditto.
20282 * doc/gcov.texi: Ditto.
20283 * doc/install.texi: Ditto.
20284 * doc/invoke.texi: Ditto.
20285
20286 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
20287
20288 PR target/103861
20289 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
20290 (VALID_INT_MODE_P): Ditto.
20291 * config/i386/i386.c (ix86_secondary_reload): Handle
20292 V2QImode reloads from SSE register to memory.
20293 (vector_mode_supported_p): Always return true for V2QImode.
20294 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
20295 (*negqi_ext<mode>_2): Ditto.
20296 * config/i386/mmx.md (movv2qi): New expander.
20297 (movmisalignv2qi): Ditto.
20298 (*movv2qi_internal): New insn pattern.
20299 (*pushv2qi2): Ditto.
20300 (negv2qi2 and splitters): Ditto.
20301 (<plusminus:insn>v2qi3 and splitters): Ditto.
20302
20303 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
20304
20305 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
20306 sync_lock_test_and_set libfunc. Call convert_memory_address to
20307 convert memory address to Pmode.
20308 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
20309
20310 \f
20311 Copyright (C) 2022 Free Software Foundation, Inc.
20312
20313 Copying and distribution of this file, with or without modification,
20314 are permitted in any medium without royalty provided the copyright
20315 notice and this notice are preserved.
This page took 0.833463 seconds and 6 git commands to generate.