]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
docs: fix: WARNING: Parsing of expression failed. Using fallback parser.
[gcc.git] / gcc / ChangeLog
1 2022-11-08 David Faust <david.faust@oracle.com>
2
3 * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
4 (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
5 bpf_builtins for error checks.
6 (bpf_core_walk): Use values of enum bpf_builtins.
7 (bpf_core_newdecl): Likewise.
8 (bpf_expand_builtin): Likewise.
9
10 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
11
12 PR tree-optimization/24021
13 * range-op-float.cc (propagate_nans): New.
14 (frange_nextafter): New.
15 (frange_arithmetic): New.
16 (class foperator_plus): New.
17 (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
18
19 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
20
21 * real.cc (real_isdenormal): New.
22 (encode_ieee_single): Call real_isdenormal.
23 (encode_ieee_double): Same.
24 (encode_ieee_extended): Same.
25 (encode_ieee_quad): Same.
26 (encode_ieee_half): Same.
27 (encode_arm_bfloat_half): Same.
28 * real.h (real_isdenormal): Add mode argument. Rewrite for
29 normalized values.
30 * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
31 real_isdenormal.
32
33 2022-11-08 Richard Biener <rguenther@suse.de>
34
35 PR tree-optimization/107389
36 * gimple-low.cc (lower_builtin_assume_aligned): New.
37 (lower_stmt): Call it.
38
39 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
40
41 * range-op.cc (operator_div::fold_range): Call
42 update_known_bitmask.
43 * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
44 2 as a right shift.
45
46 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
47
48 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
49 of GCN_BUILTIN_LDEXPV to V64DFmode.
50
51 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
52
53 * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
54 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
55 GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
56
57 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
58
59 * range-op.cc (irange_to_masked_value): New.
60 (update_known_bitmask): New.
61 (operator_mult::fold_range): Call update_known_bitmask.
62
63 2022-11-08 Jakub Jelinek <jakub@redhat.com>
64
65 PR tree-optimization/107547
66 * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
67 of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle
68 BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
69
70 2022-11-08 Jakub Jelinek <jakub@redhat.com>
71
72 PR target/107546
73 * config/i386/predicates.md (vector_or_const_vector_operand): New
74 predicate.
75 * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
76 vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
77 vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
78 predicate instead of nonimmediate_operand and
79 vector_or_const_vector_operand instead of vector_operand.
80 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
81 LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
82 into LE/LEU or GT/GTU with larger or smaller by one cop1 if
83 there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into
84 REG. Formatting fix.
85
86 2022-11-08 Max Filippov <jcmvbkbc@gmail.com>
87
88 PR rtl-optimization/107482
89 * ira-color.cc (assign_hard_reg): Only call
90 update_costs_from_copies when retry_p is false.
91
92 2022-11-08 konglin1 <lingling.kong@intel.com>
93
94 Revert:
95 2022-11-07 konglin1 <lingling.kong@intel.com>
96
97 * config/i386/i386.opt:Add -mprefer-remote-atomic.
98 * config/i386/sync.md (atomic_<plus_logic><mode>):
99 New define_expand.
100 (atomic_add<mode>): Rename to below one.
101 (atomic_add<mode>_1): To this.
102 (atomic_<logic><mode>): Ditto.
103 (atomic_<logic><mode>_1): Ditto.
104 * doc/invoke.texi: Add -mprefer-remote-atomic.
105
106 2022-11-08 Haochen Jiang <haochen.jiang@intel.com>
107
108 * config/i386/i386-options.cc (m_CORE_ATOM): New.
109 * config/i386/x86-tune.def
110 (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
111 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
112 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
113 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
114 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
115 (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
116 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
117 (X86_TUNE_USE_LEAVE): Ditto.
118 (X86_TUNE_PUSH_MEMORY): Ditto.
119 (X86_TUNE_USE_INCDEC): Ditto.
120 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
121 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
122 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
123 (X86_TUNE_USE_SAHF): Ditto.
124 (X86_TUNE_USE_BT): Ditto.
125 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
126 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
127 (X86_TUNE_AVOID_MFENCE): Ditto.
128 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
129 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
130 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
131 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
132 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
133 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
134 (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
135 (X86_TUNE_USE_GATHER_2PARTS): Ditto.
136 (X86_TUNE_USE_GATHER_4PARTS): Ditto.
137 (X86_TUNE_USE_GATHER): Ditto.
138
139 2022-11-08 Andrew MacLeod <amacleod@redhat.com>
140
141 PR tree-optimization/104530
142 * gimple-range-cache.cc (ranger_cache::register_inferred_value):
143 New. Split from:
144 (ranger_cache::apply_inferred_ranges): Move setting cache to
145 separate function.
146 * gimple-range-cache.h (register_inferred_value): New prototype.
147 * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
148 * gimple-range-infer.h (has_range_p): New prototype.
149 * gimple-range.cc (register_transitive_inferred_ranges): New.
150 * gimple-range.h (register_transitive_inferred_ranges): New proto.
151 * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
152 ranges at the end of the block before folding final stmt.
153
154 2022-11-07 David Faust <david.faust@oracle.com>
155
156 * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
157
158 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
159
160 PR tree-optimization/55157
161 * range-op.cc (operator_mult::wi_fold): Optimize multiplications
162 by powers of 2.
163
164 2022-11-07 H.J. Lu <hjl.tools@gmail.com>
165
166 PR middle-end/102566
167 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
168 if (_5 < 0) and if (_5 >= 0).
169
170 2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org>
171
172 * file-prefix-map.cc (remap_filename): Handle NULL filenames.
173
174 2022-11-07 Alexander Monakov <amonakov@ispras.ru>
175
176 PR tree-optimization/107505
177 * tree-ssa-sink.cc (statement_sink_location): Additionally
178 reject ECF_RETURNS_TWICE calls.
179
180 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
181
182 PR tree-optimization/107541
183 * range-op.cc (operator_div::fold_range): Restrict power of 2
184 optimization to positive numbers.
185
186 2022-11-07 Richard Biener <rguenther@suse.de>
187
188 * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
189 (unswitch_predicate::unswitch_predicate): Initialize count.
190 (init_loop_unswitch_info): First collect candidates and
191 determine the outermost loop to unswitch.
192 (tree_ssa_unswitch_loops): First perform all guard hoisting,
193 then perform unswitching on innermost loop predicates.
194 (find_unswitching_predicates_for_bb): Keep track of the
195 most profitable predicate to unswitch on.
196 (tree_unswitch_single_loop): Unswitch given predicate if
197 not NULL.
198
199 2022-11-07 Martin Liska <mliska@suse.cz>
200 Gerald Pfeifer <gerald@pfeifer.com>
201
202 * doc/invoke.texi: Improve wording.
203
204 2022-11-07 Martin Liska <mliska@suse.cz>
205
206 * range-op.cc: Add final override keywords.
207
208 2022-11-07 Kewen Lin <linkw@linux.ibm.com>
209
210 PR tree-optimization/107412
211 * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
212 (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
213 mask_p indicating it's for mask or length, and add some handlings for
214 IFN LEN_{LOAD,STORE}.
215 (gimple_fold_mask_load): Rename to ...
216 (gimple_fold_partial_load): ... this, add one parameter mask_p.
217 (gimple_fold_mask_store): Rename to ...
218 (gimple_fold_partial_store): ... this, add one parameter mask_p.
219 (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
220 and adjust calls on gimple_fold_mask_load_store_mem_ref to
221 gimple_fold_partial_load_store_mem_ref.
222
223 2022-11-07 Hu, Lin1 <lin1.hu@intel.com>
224
225 * common/config/i386/cpuinfo.h
226 (get_intel_cpu): Handle Grand Ridge.
227 * common/config/i386/i386-common.cc
228 (processor_names): Add grandridge.
229 (processor_alias_table): Ditto.
230 * common/config/i386/i386-cpuinfo.h:
231 (enum processor_types): Add INTEL_GRANDRIDGE.
232 * config.gcc: Add -march=grandridge.
233 * config/i386/driver-i386.cc (host_detect_local_cpu):
234 Handle grandridge.
235 * config/i386/i386-c.cc (ix86_target_macros_internal):
236 Ditto.
237 * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
238 (processor_cost_table): Add grandridge.
239 * config/i386/i386.h (enum processor_type):
240 Add PROCESSOR_GRANDRIDGE.
241 (PTA_GRANDRIDGE): Ditto.
242 * doc/extend.texi: Add grandridge.
243 * doc/invoke.texi: Ditto.
244
245 2022-11-07 konglin1 <lingling.kong@intel.com>
246
247 * config/i386/i386.opt:Add -mprefer-remote-atomic.
248 * config/i386/sync.md (atomic_<plus_logic><mode>):
249 New define_expand.
250 (atomic_add<mode>): Rename to below one.
251 (atomic_add<mode>_1): To this.
252 (atomic_<logic><mode>): Ditto.
253 (atomic_<logic><mode>_1): Ditto.
254 * doc/invoke.texi: Add -mprefer-remote-atomic.
255
256 2022-11-07 konglin1 <lingling.kong@intel.com>
257
258 * common/config/i386/cpuinfo.h (get_available_features):
259 Detect raoint.
260 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
261 OPTION_MASK_ISA2_RAOINT_UNSET): New.
262 (ix86_handle_option): Handle -mraoint.
263 * common/config/i386/i386-cpuinfo.h (enum processor_features):
264 Add FEATURE_RAOINT.
265 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
266 raoint.
267 * config.gcc: Add raointintrin.h
268 * config/i386/cpuid.h (bit_RAOINT): New.
269 * config/i386/i386-builtin.def (BDESC): Add new builtins.
270 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
271 __RAOINT__.
272 * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
273 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
274 Add -mraoint.
275 * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
276 * config/i386/i386.opt: Add option -mraoint.
277 * config/i386/x86gprintrin.h: Include raointintrin.h.
278 * doc/extend.texi: Document raoint.
279 * doc/invoke.texi: Document -mraoint.
280 * doc/sourcebuild.texi: Document target raoint.
281 * config/i386/raointintrin.h: New file.
282
283 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
284
285 * common/config/i386/cpuinfo.h
286 (get_intel_cpu): Handle Granite Rapids.
287 * common/config/i386/i386-common.cc:
288 (processor_names): Add graniterapids.
289 (processor_alias_table): Ditto.
290 * common/config/i386/i386-cpuinfo.h
291 (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
292 * config.gcc: Add -march=graniterapids.
293 * config/i386/driver-i386.cc (host_detect_local_cpu):
294 Handle graniterapids.
295 * config/i386/i386-c.cc (ix86_target_macros_internal):
296 Ditto.
297 * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
298 (processor_cost_table): Add graniterapids.
299 * config/i386/i386.h (enum processor_type):
300 Add PROCESSOR_GRANITERAPIDS.
301 (PTA_GRANITERAPIDS): Ditto.
302 * doc/extend.texi: Add graniterapids.
303 * doc/invoke.texi: Ditto.
304
305 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
306 Hongtao Liu <hongtao.liu@intel.com>
307
308 * common/config/i386/cpuinfo.h (get_available_features):
309 Detect PREFETCHI.
310 * common/config/i386/i386-common.cc
311 (OPTION_MASK_ISA2_PREFETCHI_SET,
312 OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
313 (ix86_handle_option): Handle -mprefetchi.
314 * common/config/i386/i386-cpuinfo.h
315 (enum processor_features): Add FEATURE_PREFETCHI.
316 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
317 for prefetchi.
318 * config.gcc: Add prfchiintrin.h.
319 * config/i386/cpuid.h (bit_PREFETCHI): New.
320 * config/i386/i386-builtin-types.def:
321 Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
322 and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
323 * config/i386/i386-builtin.def (BDESC): Add new builtins.
324 * config/i386/i386-c.cc (ix86_target_macros_internal):
325 Define __PREFETCHI__.
326 * config/i386/i386-expand.cc: Handle new builtins.
327 * config/i386/i386-isa.def (PREFETCHI):
328 Add DEF_PTA(PREFETCHI).
329 * config/i386/i386-options.cc
330 (ix86_valid_target_attribute_inner_p): Handle prefetchi.
331 * config/i386/i386.md (prefetchi): New define_insn.
332 * config/i386/i386.opt: Add option -mprefetchi.
333 * config/i386/predicates.md (local_func_symbolic_operand):
334 New predicates.
335 * config/i386/x86gprintrin.h: Include prfchiintrin.h.
336 * config/i386/xmmintrin.h (enum _mm_hint): New enum for
337 prefetchi.
338 (_mm_prefetch): Handle the highest bit of enum.
339 * doc/extend.texi: Document prefetchi.
340 * doc/invoke.texi: Document -mprefetchi.
341 * doc/sourcebuild.texi: Document target prefetchi.
342 * config/i386/prfchiintrin.h: New file.
343
344 2022-11-06 Uroš Bizjak <ubizjak@gmail.com>
345
346 * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
347 mode when checking vec_set_optab.
348
349 2022-11-06 Xi Ruoyao <xry111@xry111.site>
350
351 * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
352 (type): Add fcopysign.
353 (copysign<mode>3): New instruction template.
354
355 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
356
357 * multiple_target.cc (expand_target_clones): Free memory.
358
359 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
360
361 * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
362 * multiple_target.cc (create_dispatcher_calls): Likewise.
363
364 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
365
366 PR c/41041
367 * doc/cppopts.texi: Document -fwide-exec-charset defaults
368 correctly.
369
370 2022-11-05 Alexandre Oliva <oliva@adacore.com>
371
372 * common.opt (fmultiflags): New.
373 * doc/invoke.texi: Document it.
374 * gcc.cc (driver_self_specs): Discard it.
375 * opts.cc (common_handle_option): Ignore it in the driver.
376
377 2022-11-04 Jeff Chapman II <jchapman@lock3software.com>
378 Jason Merrill <jason@redhat.com>
379
380 * input.cc (get_source_text_between): New fn.
381 * input.h (get_source_text_between): Declare.
382
383 2022-11-04 Aldy Hernandez <aldyh@redhat.com>
384
385 PR tree-optimization/107342
386 * range-op.cc (operator_mult::fold_range): New.
387 (operator_div::fold_range): New.
388
389 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
390
391 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
392 Do not take into account operand 2.
393 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
394
395 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
396
397 * expr.cc (emit_group_store): Do not use subword paradoxical subregs
398
399 2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
400
401 * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
402 extensions comment.
403
404 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
405
406 * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
407 * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
408 [ACCEL_COMPILER]: Remove.
409 * config/i386/intelmic-mkoffload.cc: Remove.
410 * config/i386/intelmic-offload.h: Likewise.
411 * config/i386/t-intelmic: Likewise.
412 * config/i386/t-omp-device: Likewise.
413 * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
414 * configure: Regenerate.
415 * doc/install.texi (--enable-offload-targets=[...]): Update.
416 * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
417
418 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
419
420 * Makefile.in (OBJS): Remove 'dbxout.o'.
421 * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
422 * dbxout.cc: Remove.
423 * dbxout.h: Likewise.
424 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
425 Default to 'default_asm_out_constructor',
426 'default_asm_out_destructor'.
427 * targhooks.cc (default_asm_out_constructor)
428 (default_asm_out_destructor): New.
429 * targhooks.h (default_asm_out_constructor)
430 (default_asm_out_destructor): Declare.
431
432 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
433
434 * Makefile.in (OBJS): Add 'dbxout.o'.
435 * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
436 * dbxout.cc: New.
437 * dbxout.h: Likewise.
438 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
439 Default to 'default_stabs_asm_out_constructor',
440 'default_stabs_asm_out_destructor'.
441
442 2022-11-04 Hongyu Wang <hongyu.wang@intel.com>
443 Haochen Jiang <haochen.jiang@intel.com>
444
445 * common/config/i386/cpuinfo.h (get_available_features): Detect
446 amx-fp16.
447 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
448 OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
449 (ix86_handle_option): Handle -mamx-fp16.
450 * common/config/i386/i386-cpuinfo.h (enum processor_features):
451 Add FEATURE_AMX_FP16.
452 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
453 amx-fp16.
454 * config.gcc: Add amxfp16intrin.h.
455 * config/i386/cpuid.h (bit_AMX_FP16): New.
456 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
457 __AMX_FP16__.
458 * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
459 * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
460 (ix86_valid_target_attribute_inner_p): Add new ATTR.
461 (ix86_option_override_internal): Handle AMX-FP16.
462 * config/i386/i386.opt: Add -mamx-fp16.
463 * config/i386/immintrin.h: Include amxfp16intrin.h.
464 * doc/extend.texi: Document -mamx-fp16.
465 * doc/invoke.texi: Document amx-fp16.
466 * doc/sourcebuild.texi: Document amx_fp16.
467 * config/i386/amxfp16intrin.h: New file.
468
469 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
470
471 * common/config/i386/cpuinfo.h (get_intel_cpu):
472 Add Sierra Forest.
473 * common/config/i386/i386-common.cc
474 (processor_names): Add Sierra Forest.
475 (processor_alias_table): Ditto.
476 * common/config/i386/i386-cpuinfo.h
477 (enum processor_types): Add INTEL_SIERRAFOREST.
478 * config.gcc: Add -march=sierraforest.
479 * config/i386/driver-i386.cc (host_detect_local_cpu):
480 Handle Sierra Forest.
481 * config/i386/i386-c.cc (ix86_target_macros_internal):
482 Ditto.
483 * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
484 (processor_cost_table): Add sierra forest.
485 * config/i386/i386.h (enum processor_type):
486 Add PROCESSOR_SIERRA_FOREST.
487 (PTA_SIERRAFOREST): Ditto.
488 * doc/extend.texi: Add sierra forest.
489 * doc/invoke.texi: Ditto.
490
491 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
492
493 * common/config/i386/cpuinfo.h (get_available_features):
494 Detect cmpccxadd.
495 * common/config/i386/i386-common.cc
496 (OPTION_MASK_ISA2_CMPCCXADD_SET,
497 OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
498 (ix86_handle_option): Handle -mcmpccxadd.
499 * common/config/i386/i386-cpuinfo.h (enum processor_features):
500 Add FEATURE_CMPCCXADD.
501 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
502 cmpccxadd.
503 * config.gcc: Add cmpccxaddintrin.h.
504 * config/i386/cpuid.h (bit_CMPCCXADD): New.
505 * config/i386/i386-builtin-types.def:
506 Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
507 and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
508 * config/i386/i386-builtin.def (BDESC): Add new builtins.
509 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
510 __CMPCCXADD__.
511 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
512 Add new parameter to indicate constant position.
513 Handle INT_FTYPE_PINT_INT_INT_INT
514 and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
515 * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
516 * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
517 (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
518 * config/i386/i386.opt: Add option -mcmpccxadd.
519 * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
520 * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
521 * doc/extend.texi: Document cmpccxadd.
522 * doc/invoke.texi: Document -mcmpccxadd.
523 * doc/sourcebuild.texi: Document target cmpccxadd.
524 * config/i386/cmpccxaddintrin.h: New file.
525
526 2022-11-03 Jason Merrill <jason@redhat.com>
527
528 * doc/invoke.texi: -fconcepts no longer implies
529 -fconcepts-ts before C++20.
530
531 2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com>
532
533 * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
534 (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
535 <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
536 *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
537 assembler output.
538
539 2022-11-03 Andrew MacLeod <amacleod@redhat.com>
540
541 * gimple-range.cc (gimple_ranger::update_stmt): New.
542 * gimple-range.h (gimple_ranger::update_stmt): New prototype.
543 * tree-ssa-operands.cc (update_stmt_operands): Notify range
544 query that stmt has changed.
545 * value-query.h (range_query::update_stmt): New.
546
547 2022-11-03 David Malcolm <dmalcolm@redhat.com>
548
549 * make-unique.h: New file.
550
551 2022-11-03 Uroš Bizjak <ubizjak@gmail.com>
552
553 PR target/107404
554 * config/i386/i386.md (eliminate reg-reg move by inverting the
555 condition of a cmove #2 peephole2): Check if eliminated move
556 initialized a register, used in the moved instruction.
557
558 2022-11-03 Andrew Stubbs <ams@codesourcery.com>
559
560 PR target/107510
561 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
562 UNSPEC_SMIN_DPP_SHR conditionals.
563
564 2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu>
565
566 * common/config/riscv/riscv-common.cc: Add zawrs extension.
567 * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
568 (TARGET_ZAWRS): New.
569 * config/riscv/riscv.opt: New.
570
571 2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk>
572
573 PR driver/93371
574 * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
575
576 2022-11-02 Aldy Hernandez <aldyh@redhat.com>
577
578 * value-range.cc (frange::contains_p): Fix signed zero handling.
579 (range_tests_signed_zeros): New test.
580
581 2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
582
583 * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
584
585 2022-11-02 Xionghu Luo <xionghuluo@tencent.com>
586
587 PR target/100866
588 * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
589 (altivec_vrl<VI_char>): ...this.
590 * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
591 target is Power8 and mode is V8HI.
592
593 2022-11-01 David Seifert <soap@gentoo.org>
594
595 * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
596 * configure: Regenerate.
597
598 2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org>
599
600 * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
601
602 2022-11-01 Aldy Hernandez <aldyh@redhat.com>
603
604 PR tree-optimization/107490
605 * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
606 NANs.
607 (foperator_unordered_lt::op2_range): Same.
608 (foperator_unordered_le::op1_range): Same.
609 (foperator_unordered_le::op2_range): Same.
610 (foperator_unordered_gt::op1_range): Same.
611 (foperator_unordered_gt::op2_range): Same.
612 (foperator_unordered_ge::op1_range): Same.
613 (foperator_unordered_ge::op2_range): Same.
614
615 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
616
617 PR tree-optimization/107497
618 * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
619 Check that ssa-name still exists before accessing it.
620
621 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
622
623 * params.opt (param_vrp1_mode): Make ranger default.
624
625 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
626
627 * tree-vrp.cc (class remove_unreachable): New.
628 (remove_unreachable::maybe_register_block): New.
629 (remove_unreachable::remove_and_update_globals): New.
630 (rvrp_folder::rvrp_folder): Initialize m_unreachable.
631 (rvrp_folder::post_fold_bb): Maybe register unreachable block.
632 (rvrp_folder::m_unreachable): New member.
633 (execute_ranger_vrp): Add final_pass flag, remove unreachables.
634
635 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
636
637 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
638 exit block to be specified.
639 (ranger_cache::range_from_dom): If exit block is specified, use
640 the immediate predecessor instead of the dominator to start.
641 * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
642 for exit block.
643
644 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
645
646 * value-range.cc (irange::intersect_nonzero_bits): If new
647 non-zero mask is the same as original, flag no change.
648
649 2022-11-01 Alexander Monakov <amonakov@ispras.ru>
650
651 PR target/87832
652 * config/i386/znver.md (znver1_idiv): New automaton.
653 (znver1-idiv): New unit.
654 (znver1_idiv_DI): Correct unit and cycles in the reservation.
655 (znver1_idiv_SI): Ditto.
656 (znver1_idiv_HI): Ditto.
657 (znver1_idiv_QI): Ditto.
658 (znver1_idiv_mem_DI): Ditto.
659 (znver1_idiv_mem_SI): Ditto.
660 (znver1_idiv_mem_HI): Ditto.
661 (znver1_idiv_mem_QI): Ditto.
662 (znver3_idiv_DI): Ditto.
663 (znver3_idiv_SI): Ditto.
664 (znver3_idiv_HI): Ditto.
665 (znver3_idiv_QI): Ditto.
666 (znver3_idiv_mem_DI): Ditto.
667 (znver3_idiv_mem_SI): Ditto.
668 (znver3_idiv_mem_HI): Ditto.
669 (znver3_idiv_mem_QI): Ditto.
670
671 2022-11-01 liuhongt <hongtao.liu@intel.com>
672
673 PR target/107057
674 * config/i386/sse.md (*vec_interleave_highv2df): Remove
675 constraint 1.
676 (*vec_interleave_lowv2df): Ditto.
677 (vec_concatv2df): Ditto.
678 (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
679 (avx512f_unpcklpd512<mask_name>): .. this.
680 (avx512f_movddup512<mask_name>): Change to define_insn.
681 (avx_movddup256<mask_name>): Ditto.
682 (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
683 to ..
684 (avx_unpcklpd256<mask_name>): .. this.
685 * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
686 Disallow MEM_P (op1) && MEM_P (op2).
687
688 2022-11-01 liuhongt <hongtao.liu@intel.com>
689
690 PR target/55583
691 * config/i386/i386.md (*x86_64_shld_1): Rename to ..
692 (x86_64_shld_1): .. this.
693 (*x86_shld_1): Rename to ..
694 (x86_shld_1): .. this.
695 (*x86_64_shrd_1): Rename to ..
696 (x86_64_shrd_1): .. this.
697 (*x86_shrd_1): Rename to ..
698 (x86_shrd_1): .. this.
699 (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
700 (*x86_shld_shrd_1_nozext): Ditto.
701 (*x86_64_shrd_shld_1_nozext): Ditto.
702 (*x86_shrd_shld_1_nozext): Ditto.
703
704 2022-11-01 Cui,Lili <lili.cui@intel.com>
705
706 * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
707 judgement for INLINE_HINT_known_hot hint.
708
709 2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
710
711 * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
712 enumerator type btf_enum{,64}.
713 (btf_asm_type): Update btf_kflag according to enumeration type sign
714 using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}.
715 (btf_asm_enum_const): New argument to represent the size of
716 the BTF enum type, writing the enumerator constant value for
717 32 bits, if it's 64 bits then explicitly writes lower 32-bits
718 value and higher 32-bits value.
719 (output_asm_btf_enum_list): Add enumeration size argument.
720 * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
721 basic information.
722 (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
723 dtd structure containing enumeration information.
724 (ctf_add_enumerator): Update comment mention support for BTF
725 enumeration in 64-bits.
726 * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
727 for enumeration type and use it in ctf_add_enum.
728 * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
729 use 32/64 bits enumerators.
730 information.
731 (ctf_dtdef): New field to describe enum signedness.
732
733 2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
734
735 * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
736 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
737 * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
738 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
739
740 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
741
742 * config/gcn/gcn-valu.md (fminmaxop): New iterator.
743 (<fexpander><mode>3): New define_expand.
744 (<fexpander><mode>3<exec>): Likewise.
745 (reduc_<fexpander>_scal_<mode>): Likewise.
746 * config/gcn/gcn.md (fexpander): New attribute.
747
748 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
749
750 * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
751 (V64_DI): Likewise.
752 (V64_1REG): Likewise.
753 (V64_INT_1REG): Likewise.
754 (V64_2REG): Likewise.
755 (V64_ALL): Likewise.
756 (V64_FP): Likewise.
757 (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
758 (fold_left_plus_<mode>): Use V_FP.
759 (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
760 (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
761 (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
762 (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
763 (*plus_carry_dpp_shr_<mode>): Use V_DI.
764 (mov_from_lane63_<mode>): Delete.
765 (mov_from_lane63_<mode>): Delete.
766 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
767 * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
768
769 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
770
771 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
772 Set base_type as ARG_UNUSED.
773
774 2022-10-31 Jakub Jelinek <jakub@redhat.com>
775
776 * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
777 BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
778 BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
779 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
780 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
781 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
782 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
783 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
784 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
785 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
786 BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
787 BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
788 BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
789 BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
790 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
791 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
792 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
793 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
794 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
795 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
796 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
797 * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
798 CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
799 (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
800 BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
801 BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
802 BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
803 BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
804 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
805 * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
806 fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
807 CASE_CFN_* is present.
808 * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
809 Likewise.
810 * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
811 * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
812 tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
813 tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
814 Likewise.
815
816 2022-10-31 Jakub Jelinek <jakub@redhat.com>
817
818 * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
819 * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
820 * fold-const-call.cc (fold_const_call_sss): Handle
821 CFN_BUILT_IN_NEXTAFTERF16B.
822
823 2022-10-31 Jakub Jelinek <jakub@redhat.com>
824
825 * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
826 BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
827 New DEF_PRIMITIVE_TYPE.
828 (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
829 BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
830 BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
831 BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
832 BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
833 BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
834 BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
835 BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
836 DEF_FUNCTION_TYPE_1.
837 (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
838 BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
839 BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
840 BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
841 BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
842 BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
843 BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
844 BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
845 BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
846 BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
847 BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
848 BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
849 BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
850 BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
851 BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
852 DEF_FUNCTION_TYPE_2.
853 (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
854 BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
855 BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
856 BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
857 BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
858 BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
859 BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
860 * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
861 FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
862 LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
863 NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
864 Define and undefine later.
865 (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
866 (INF_TYPE): Define at a later line.
867 (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
868 BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
869 BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
870 BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
871 BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
872 BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
873 BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
874 BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
875 BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
876 BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
877 BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
878 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
879 (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
880 DEF_GCC_FLOATN_NX_BUILTINS.
881 * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
882 cases when CASE_CFN_* is present.
883 (fold_const_call_sss): Likewise.
884 * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
885 CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
886 (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
887 builtins next to CASE_FLT_FN.
888 * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
889 next to CASE_CFN_*: for various builtins.
890 * tree-call-cdce.cc (can_test_argument_range): Add
891 CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
892 (edom_only_function): Likewise.
893
894 2022-10-31 konglin1 <lingling.kong@intel.com>
895
896 * common/config/i386/i386-common.cc
897 (OPTION_MASK_ISA2_AVXNECONVERT_SET,
898 OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
899 (ix86_handle_option): Handle -mavxneconvert, unset
900 avxneconvert when avx2 is disabled.
901 * common/config/i386/i386-cpuinfo.h (processor_types): Add
902 FEATURE_AVXNECONVERT.
903 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
904 avxneconvert.
905 * common/config/i386/cpuinfo.h (get_available_features):
906 Detect avxneconvert.
907 * config.gcc: Add avxneconvertintrin.h
908 * config/i386/avxneconvertintrin.h: New.
909 * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
910 Unified builtin with avxneconvert.
911 (_mm_cvtneps_pbh): Ditto.
912 * config/i386/cpuid.h (bit_AVXNECONVERT): New.
913 * config/i386/i386-builtin-types.def: Add
914 DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
915 DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
916 DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
917 DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
918 DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
919 DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
920 DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
921 DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
922 DEF_FUNCTION_TYPE (V4SF, PCV8BF),
923 DEF_FUNCTION_TYPE (V4SF, PCV8HF),
924 DEF_FUNCTION_TYPE (V8SF, PCV16HF),
925 DEF_FUNCTION_TYPE (V8SF, PCV16BF),
926 * config/i386/i386-builtin.def: Add new builtins.
927 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
928 __AVXNECONVERT__.
929 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
930 Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
931 V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
932 V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
933 * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
934 * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
935 (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
936 * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
937 * config/i386/i386.opt: Add option -mavxneconvert.
938 * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
939 * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
940 (vbcstnesh2ps_<mode>): Ditto.
941 (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
942 (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
943 (vcvtneps2bf16_v4sf): Ditto.
944 (*vcvtneps2bf16_v4sf): Ditto.
945 (vcvtneps2bf16_v8sf): Ditto.
946 * doc/invoke.texi: Document -mavxneconvert.
947 * doc/extend.texi: Document avxneconvert.
948 * doc/sourcebuild.texi: Document target avxneconvert.
949
950 2022-10-31 konglin1 <lingling.kong@intel.com>
951
952 * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
953 (_mm_cvtsbh_ss): Ditto.
954 (_mm512_cvtne2ps_pbh): Ditto.
955 (_mm512_mask_cvtne2ps_pbh): Ditto.
956 (_mm512_maskz_cvtne2ps_pbh): Ditto.
957 * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
958 (_mm256_cvtne2ps_pbh): Ditto.
959 (_mm256_mask_cvtne2ps_pbh): Ditto.
960 (_mm256_maskz_cvtne2ps_pbh): Ditto.
961 (_mm_cvtne2ps_pbh): Ditto.
962 (_mm_mask_cvtne2ps_pbh): Ditto.
963 (_mm_maskz_cvtne2ps_pbh): Ditto.
964 (_mm_cvtness_sbh): Ditto.
965 * config/i386/i386-builtin-types.def (V8BF): Add new
966 DEF_VECTOR_TYPE for BFmode.
967 (V16BF): Ditto.
968 (V32BF): Ditto.
969 * config/i386/i386-builtin.def (BDESC): Fixed builtins.
970 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
971 avx512bf16 ix86_builtin_func_type included HI to BF.
972 * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
973 * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
974 vector.
975 (avx512f_cvtneps2bf16_v4sf): New define_expand.
976 (*avx512f_cvtneps2bf16_v4sf): New define_insn.
977 (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
978 (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
979 (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
980
981 2022-10-31 liuhongt <hongtao.liu@intel.com>
982
983 PR target/107261
984 * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
985 * config/i386/i386.cc (classify_argument): Handle V4BFmode and
986 V2BFmode.
987 (ix86_convert_const_vector_to_integer): Ditto.
988 * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
989 V2BFmode.
990 (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
991 (VALID_MMX_REG_MODE): Add V4BFmode.
992 * config/i386/i386.md (mode): Add V4BF and V2BF.
993 (MODE_SIZE): Ditto.
994 * config/i386/mmx.md (MMXMODE) Add V4BF.
995 (V_32): Add V2BF.
996 (V_16_32_64): Add V4BF and V2BF.
997 (mmxinsnmode): Add V4BF and V2BF.
998 (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
999
1000 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
1001
1002 * configure.ac (sjlj-exceptions): Restore dropped line.
1003 * configure: Regenerate.
1004
1005 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
1006
1007 * alias.cc (init_alias_analysis): Do not record sets to the hard
1008 frame pointer if the frame pointer has not been eliminated.
1009
1010 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
1011
1012 * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
1013 (TARGET_D_MINFO_SECTION_START): ...this.
1014 (TARGET_D_MINFO_END_NAME): Rename to ...
1015 (TARGET_D_MINFO_SECTION_END): ... this.
1016 * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
1017 (TARGET_D_MINFO_START_NAME): Remove.
1018 (TARGET_D_MINFO_END_NAME): Remove.
1019 * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
1020 (TARGET_D_MINFO_START_NAME): Remove.
1021 (TARGET_D_MINFO_END_NAME): Remove.
1022 * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
1023 (TARGET_D_MINFO_START_NAME): Remove.
1024 (TARGET_D_MINFO_END_NAME): Remove.
1025 * doc/tm.texi: Regenerate.
1026 * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
1027 (TARGET_D_MINFO_SECTION_START): ...this.
1028 (TARGET_D_MINFO_END_NAME): Rename to ...
1029 (TARGET_D_MINFO_SECTION_END): ...this.
1030
1031 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
1032
1033 * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
1034 kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o.
1035 * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
1036 * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
1037 * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
1038 * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
1039 * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
1040 * config/i386/t-cygming: Add cygwin-d.o.
1041 * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
1042 MinGW-specific version condition.
1043 * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
1044 * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
1045 * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
1046 * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
1047 * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
1048 * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
1049 kopensolaris-d.o.
1050 * config/t-linux: Add linux-d.o.
1051 * config/glibc-d.cc: Remove file.
1052 * config/gnu-d.cc: New file.
1053 * config/i386/cygwin-d.cc: New file.
1054 * config/kfreebsd-d.cc: New file.
1055 * config/kopensolaris-d.cc: New file.
1056 * config/linux-d.cc: New file.
1057
1058 2022-10-29 Jeff Law <jeffreyalaw@gmail.com>
1059
1060 * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
1061 an unsigned int
1062 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
1063
1064 2022-10-28 Joseph Myers <joseph@codesourcery.com>
1065
1066 * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
1067 Check TYPE_NO_NAMED_ARGS_STDARG_P.
1068 * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
1069 * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
1070 * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
1071 * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
1072 * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
1073 Likewise.
1074 * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
1075 * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
1076 * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
1077 * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
1078 * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
1079 * config/loongarch/loongarch.cc
1080 (loongarch_setup_incoming_varargs): Likewise.
1081 * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
1082 * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
1083 * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
1084 * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
1085 * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
1086 * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
1087 * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
1088 * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
1089 * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
1090 * config/visium/visium.cc (visium_setup_incoming_varargs):
1091 Likewise.
1092 * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
1093 flag_allow_parameterless_variadic_functions.
1094 * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
1095 not document option.
1096 * function.cc (assign_parms): Call assign_parms_setup_varargs for
1097 TYPE_NO_NAMED_ARGS_STDARG_P case.
1098 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
1099 variadic macro. Pass second argument of 0 to __builtin_va_start.
1100 * target.def (setup_incoming_varargs): Update documentation.
1101 * doc/tm.texi: Regenerate.
1102 * tree-core.h (struct tree_type_common): Add
1103 no_named_args_stdarg_p.
1104 * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
1105 TYPE_NO_NAMED_ARGS_STDARG_P.
1106 * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
1107 TYPE_NO_NAMED_ARGS_STDARG_P.
1108 * tree.cc (type_cache_hasher::equal): Compare
1109 TYPE_NO_NAMED_ARGS_STDARG_P.
1110 (build_function_type): Add argument no_named_args_stdarg_p.
1111 (build_function_type_list_1, build_function_type_array_1)
1112 (reconstruct_complex_type): Update calls to build_function_type.
1113 (stdarg_p, prototype_p): Return true for (...) functions.
1114 (gimple_canonical_types_compatible_p): Compare
1115 TYPE_NO_NAMED_ARGS_STDARG_P.
1116 * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
1117 (build_function_type): Update prototype.
1118
1119 2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
1120
1121 PR tree-optimization/107346
1122 * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
1123 that aren't multiples of BITS_PER_UNIT.
1124
1125 2022-10-28 Richard Biener <rguenther@suse.de>
1126
1127 PR tree-optimization/107407
1128 * tree-ssa-dse.cc (dse_classify_store): Perform backedge
1129 varying index check when collecting PHI uses rather than
1130 after optimizing processing of the candidate defs.
1131
1132 2022-10-28 Richard Biener <rguenther@suse.de>
1133
1134 PR tree-optimization/107447
1135 * tree-ssa-loop-im.cc (determine_max_movement): Do not
1136 hoist returns-twice calls.
1137
1138 2022-10-28 Richard Biener <rguenther@suse.de>
1139
1140 PR tree-optimization/107435
1141 * tree-vect-loop.cc (vectorizable_recurr): Convert initial
1142 value to vector component type.
1143
1144 2022-10-28 Julian Brown <julian@codesourcery.com>
1145 Thomas Schwinge <thomas@codesourcery.com>
1146
1147 PR middle-end/90115
1148 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
1149 privatization candidates.
1150
1151 2022-10-28 Martin Liska <mliska@suse.cz>
1152
1153 PR sanitizer/107298
1154 * doc/invoke.texi: Document sanitizers can trigger warnings.
1155
1156 2022-10-28 Thomas Schwinge <thomas@codesourcery.com>
1157
1158 * doc/makefile.texi (Makefile Targets): Document
1159 'distclean-stage[N]'.
1160
1161 2022-10-28 Aldy Hernandez <aldyh@redhat.com>
1162
1163 * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
1164
1165 2022-10-27 Eric Botcazou <ebotcazou@adacore.com>
1166
1167 * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
1168
1169 2022-10-27 H.J. Lu <hjl.tools@gmail.com>
1170
1171 PR target/107172
1172 * config/i386/i386.md (UNSPEC_CC_NE): New.
1173 Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
1174
1175 2022-10-27 Andrew Pinski <apinski@marvell.com>
1176
1177 * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
1178 (replace_phi_edge_with_variable):
1179 New argument, dce_ssa_names. Call simple_dce_from_worklist.
1180 (match_simplify_replacement): If we inserted a sequence,
1181 mark the lhs of the new sequence to be possible dce.
1182 Always move the statement and mark the lhs (if it is a name)
1183 as possible to remove.
1184
1185 2022-10-27 Richard Sandiford <richard.sandiford@arm.com>
1186
1187 * config/aarch64/aarch64-protos.h: Replace constexpr with
1188 CONSTEXPR.
1189 * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
1190 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
1191 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
1192 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
1193 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
1194 * config/aarch64/aarch64.cc: Likewise.
1195 * config/aarch64/driver-aarch64.cc: Likewise
1196
1197 2022-10-27 Aldy Hernandez <aldyh@redhat.com>
1198
1199 PR tree-optimization/107394
1200 * value-range-storage.cc (frange_storage_slot::get_frange): Use
1201 frange constructor.
1202
1203 2022-10-27 Thomas Schwinge <thomas@codesourcery.com>
1204
1205 * optc-save-gen.awk: Clarify 'Init' option property usage for
1206 streaming optimization.
1207
1208 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
1209 Yvan ROUX <yvan.roux@foss.st.com>
1210
1211 * ira.cc: Resize array after reg number increased.
1212
1213 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
1214 Sinan Lin <sinan@isrc.iscas.ac.cn>
1215
1216 * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
1217 use while Zfinx is enable.
1218 * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
1219 registers use when Zdinx enable in RV32 cases.
1220 (riscv_option_override): New target enable MASK_FDIV.
1221 (riscv_libgcc_floating_mode_supported_p): New error info when
1222 use incompatible arch&abi.
1223 (riscv_excess_precision): New target enable FLOAT16.
1224
1225 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
1226
1227 * config/riscv/iterators.md (TARGET_ZFINX):New target.
1228 (TARGET_ZDINX): Ditto.
1229 (TARGET_ZHINX): Ditto.
1230 * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
1231 (riscv_atomic_assign_expand_fenv): Ditto.
1232 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
1233 * config/riscv/riscv.md: Ditto.
1234
1235 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
1236 Sinan Lin <sinan@isrc.iscas.ac.cn>
1237
1238 * common/config/riscv/riscv-common.cc: New extensions.
1239 * config/riscv/arch-canonicalize: New imply relations.
1240 * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
1241 (MASK_ZDINX): Ditto.
1242 (MASK_ZHINX): Ditto.
1243 (MASK_ZHINXMIN): Ditto.
1244 (TARGET_ZFINX): New target.
1245 (TARGET_ZDINX): Ditto.
1246 (TARGET_ZHINX): Ditto.
1247 (TARGET_ZHINXMIN): Ditto.
1248 * config/riscv/riscv.opt: New target variable.
1249
1250 2022-10-26 David Faust <david.faust@oracle.com>
1251
1252 * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
1253 (enum bpf_builtins): Add new builtin.
1254 (bpf_init_builtins): Likewise.
1255 (bpf_core_field_info): New function.
1256 (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
1257 relocation to...
1258 (maybe_make_core_relo): ... here. New function.
1259 (bpf_resolve_overloaded_builtin): Accomodate new builtin.
1260 (bpf_core_newdecl): Likewise.
1261 (bpf_core_walk): Likewise.
1262 (bpf_core_is_maybe_aggregate_access): Improve logic.
1263 (struct core_walk_data): New.
1264 * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
1265 relocation kinds.
1266 * config/bpf/coreout.h: Analogous change.
1267 * doc/extend.texi: Document BPF __builtin_preserve_field_info.
1268
1269 2022-10-26 Marek Polacek <polacek@redhat.com>
1270
1271 PR c++/106393
1272 * doc/invoke.texi: Document -Wdangling-reference.
1273
1274 2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1275
1276 * config/xtensa/xtensa.md (movdi):
1277 Copy operands[0...1] to ops[0...3] and then use the latter before
1278 calling xtensa_split_DI_reg_imm() and emitting insns.
1279
1280 2022-10-26 Alexander Monakov <amonakov@ispras.ru>
1281
1282 PR other/107353
1283 * ipa-visibility.cc (function_and_variable_visibility):
1284 Conditionally upgrade TLS model instead of asserting.
1285
1286 2022-10-26 Andrew MacLeod <amacleod@redhat.com>
1287
1288 * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
1289 stmt is non-negative and adjust the range.
1290
1291 2022-10-26 Martin Liska <mliska@suse.cz>
1292
1293 * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
1294 (reset_cpu_feature): New.
1295 (get_zhaoxin_cpu): Use reset_cpu_feature.
1296
1297 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1298
1299 * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
1300
1301 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1302
1303 PR target/107357
1304 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
1305 (ADJUST_NUNITS): Adjust according to -march.
1306 (ADJUST_BYTESIZE): Ditto.
1307 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
1308 Remove.
1309 (riscv_v_ext_vector_mode_p): Change function implementation.
1310 * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
1311 Change to riscv_v_ext_vector_mode_p.
1312 (register_builtin_type): Ditto.
1313 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
1314 modes.
1315 (ENTRY): Ditto.
1316 (riscv_v_ext_enabled_vector_mode_p): Remove.
1317 (riscv_v_adjust_nunits): New function.
1318 (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
1319 * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
1320
1321 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1322
1323 * config.gcc (riscv*): Add riscv-v.o to extra_objs.
1324 * config/riscv/constraints.md (vu): New constraint.
1325 (vi): Ditto.
1326 (Wc0): Ditto.
1327 (Wc1): Ditto.
1328 * config/riscv/predicates.md (vector_length_operand): New.
1329 (reg_or_mem_operand): Ditto.
1330 (vector_move_operand): Ditto.
1331 (vector_mask_operand): Ditto.
1332 (vector_merge_operand): Ditto.
1333 * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
1334 (riscv_vector::const_vec_all_same_in_range_p): Ditto.
1335 (riscv_vector::legitimize_move): Ditto.
1336 (tail_policy): Ditto.
1337 (mask_policy): Ditto.
1338 * config/riscv/riscv-v.cc: New.
1339 * config/riscv/riscv-vector-builtins-bases.cc
1340 (vsetvl::expand): Refactor how LMUL encoding.
1341 * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
1342 print and mask operand print.
1343 (riscv_regmode_natural_size): New.
1344 * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
1345 * config/riscv/riscv.md (mode): Add vector modes.
1346 * config/riscv/t-riscv (riscv-v.o) New.
1347 * config/riscv/vector-iterators.md: New.
1348 * config/riscv/vector.md (vundefined<mode>): New.
1349 (mov<mode>): New.
1350 (*mov<mode>): New.
1351 (@vsetvl<mode>_no_side_effects): New.
1352 (@pred_mov<mode>): New.
1353
1354 2022-10-26 Monk Chiang <monk.chiang@sifive.com>
1355
1356 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
1357 Add svinval and svnapot extension.
1358 (riscv_ext_flag_table): Ditto.
1359 * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
1360 (MASK_SVNAPOT): Ditto.
1361 (TARGET_SVINVAL): Ditto.
1362 (TARGET_SVNAPOT): Ditto.
1363 * config/riscv/riscv.opt (riscv_sv_subext): New.
1364
1365 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1366
1367 * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
1368
1369 2022-10-26 Martin Liska <mliska@suse.cz>
1370
1371 * configure: Regenerate.
1372
1373 2022-10-26 Aldy Hernandez <aldyh@redhat.com>
1374
1375 * value-range.cc (frange::set): Use HONOR_*.
1376 (frange::verify_range): Same.
1377 * value-range.h (frange_val_min): Same.
1378 (frange_val_max): Same.
1379
1380 2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com>
1381
1382 PR target/106460
1383 * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
1384 for HIGH code rtx.
1385
1386 2022-10-26 Kito Cheng <kito.cheng@sifive.com>
1387
1388 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
1389 Add `h`.
1390 (riscv_supported_std_ext): Ditto.
1391 (multi_letter_subset_rank): Remove `h`.
1392 (riscv_subset_list::parse_std_ext): Handle `h` as single letter
1393 extension.
1394 (riscv_subset_list::parse): Ditto.
1395
1396 2022-10-25 Eugene Rozenfeld <erozen@microsoft.com>
1397
1398 * auto-profile.cc (get_combined_location): Include discriminator in the
1399 returned combined location.
1400 (read_function_instance): Read discriminators from profiles.
1401
1402 2022-10-25 H.J. Lu <hjl.tools@gmail.com>
1403
1404 PR target/107304
1405 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
1406 field with vector raw mode.
1407
1408 2022-10-25 Segher Boessenkool <segher@kernel.crashing.org>
1409
1410 * config/rs6000/rs6000.md (CCEITHER): Delete.
1411 (CCANY): New.
1412 (un): Delete.
1413 (isel_<un>signed_<GPR:mode>): Rename to...
1414 (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
1415 (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
1416 (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
1417 (setbc_<un>signed_<GPR:mode>): Rename to...
1418 (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust."
1419 (*setbcr_<un>signed_<GPR:mode>): Rename to ...
1420 (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
1421 (*setnbc_<un>signed_<GPR:mode>): Rename to ...
1422 (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
1423 (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
1424 (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
1425 (eq<mode>3 for GPR): Adjust.
1426 (ne<mode>3 for GPR): Adjust.
1427 * config/rs6000/rs6000-string.cc (do_isel): Adjust.
1428 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
1429
1430 2022-10-25 Richard Biener <rguenther@suse.de>
1431
1432 PR tree-optimization/107176
1433 PR tree-optimization/66375
1434 PR tree-optimization/42512
1435 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
1436 the PR66375 fix, do not not associate PLUS_EXPR to be able
1437 to use tail-recursion.
1438 (follow_ssa_edge_binary): Likewise.
1439 (interpret_loop_phi): Revert PR42512 fix, do not throw
1440 away analyze_evolution_in_loop result after the fact.
1441 (follow_ssa_edge_expr): When reaching halting_phi initalize
1442 the evolution to the symbolic value of the PHI result.
1443 (add_to_evolution_1): When adding the first evolution verify
1444 we can handle the expression wrapping the symbolic evolution
1445 and replace that in full using the initial condition.
1446 (class scev_dfs): New, contains ...
1447 (follow_ssa_edge_expr, follow_ssa_edge_binary,
1448 follow_ssa_edge_in_condition_phi_branch,
1449 follow_ssa_edge_in_condition_phi,
1450 follow_ssa_edge_inner_loop_phi,
1451 add_to_evolution, add_to_evolution_1): ... these with
1452 loop and halting_phi arguments in class data.
1453 (scev_dfs::get_ev): New toplevel DFS entry, start with
1454 a chrec_dont_know evolution.
1455 (analyze_evolution_in_loop): Use scev_dfs.
1456
1457 2022-10-25 Eric Botcazou <ebotcazou@adacore.com>
1458
1459 * profile.cc (branch_prob): Be prepared for ignored functions with
1460 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
1461
1462 2022-10-25 Richard Biener <rguenther@suse.de>
1463
1464 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
1465 STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
1466
1467 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com>
1468
1469 * common/config/i386/i386-common.cc (processor_alias_table): Use
1470 CPU_ZNVER3 for znver4.
1471 * config/i386/znver.md: Remove znver4 reservations.
1472
1473 2022-10-25 Jakub Jelinek <jakub@redhat.com>
1474
1475 * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
1476 and There -> These.
1477
1478 2022-10-25 Jakub Jelinek <jakub@redhat.com>
1479
1480 PR tree-optimization/107368
1481 * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
1482 conditions call gimple_boolify on the condition.
1483
1484 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
1485
1486 * config.gcc: add -with-compact-branches=policy build option.
1487 * doc/install.texi: Likewise.
1488 * config/mips/mips.h: Likewise.
1489
1490 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
1491
1492 * config/mips/mips.cc (mips_option_override): not trigger error
1493 for compact-branches=always for pre-R6.
1494 * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
1495 compact-branches=always for pre-R6.
1496 (TARGET_CB_NEVER): Likewise.
1497 (TARGET_CB_ALWAYS): Likewise.
1498 (struct mips_cpu_info): define macros for compact branch policy.
1499 * doc/invoke.texi: Document "always" with pre-R6.
1500
1501 2022-10-25 Jakub Jelinek <jakub@redhat.com>
1502
1503 PR tree-optimization/107369
1504 * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
1505 IFN_ASSUME the same as for -O0.
1506
1507 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
1508
1509 * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
1510 * configure: Regenerated.
1511 * config.in: Regenerated.
1512 * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
1513 if ENABLE_MULTIARCH is defined.
1514 * config/mips/t-linux64: define correct multiarch path when
1515 multiarch is enabled.
1516
1517 2022-10-25 Richard Biener <rguenther@suse.de>
1518
1519 PR tree-optimization/100756
1520 * tree-ssa-loop-niter.cc (expand_simple_operations): Also
1521 expand multiplications by invariants.
1522
1523 2022-10-25 Kewen Lin <linkw@linux.ibm.com>
1524
1525 PR tree-optimization/107338
1526 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
1527 shfit_n calculation before the adjustments for widening loads.
1528
1529 2022-10-25 Martin Liska <mliska@suse.cz>
1530
1531 * common/config/riscv/riscv-common.cc
1532 (riscv_get_valid_option_values): Get out of ifdef.
1533
1534 2022-10-25 Martin Liska <mliska@suse.cz>
1535
1536 PR target/107364
1537 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
1538 Fix pedantic warning.
1539
1540 2022-10-24 Martin Liska <mliska@suse.cz>
1541
1542 PR analyzer/107366
1543 * diagnostic-format-sarif.cc
1544 (sarif_builder::maybe_make_physical_location_object): Gracefully
1545 reject locations with NULL filename.
1546
1547 2022-10-24 David Malcolm <dmalcolm@redhat.com>
1548
1549 PR analyzer/106300
1550 * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
1551 "pipe2" to the list of functions the analyzer has hardcoded
1552 knowledge of.
1553
1554 2022-10-24 Jason Merrill <jason@redhat.com>
1555
1556 * tree.h (build_string_literal): New one-argument overloads that
1557 take tree (identifier) and const char *.
1558 * builtins.cc (fold_builtin_FILE)
1559 (fold_builtin_FUNCTION)
1560 * gimplify.cc (gimple_add_init_for_auto_var)
1561 * vtable-verify.cc (verify_bb_vtables): Simplify calls.
1562
1563 2022-10-24 Martin Liska <mliska@suse.cz>
1564
1565 PR target/107364
1566 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
1567 Reorder enum values as BUILTIN_VENDOR_MAX should not point
1568 in the middle of the valid enum values.
1569
1570 2022-10-24 Marek Polacek <polacek@redhat.com>
1571
1572 PR c++/107276
1573 * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
1574 when the type is erroneous.
1575
1576 2022-10-24 Wilco Dijkstra <wdijkstr@arm.com>
1577
1578 PR target/106583
1579 * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
1580 Add support for a bitmask immediate with 2 MOVKs.
1581 (aarch64_check_bitmask): New function after refactorization.
1582 (aarch64_bitmask_imm): Simplify replication of small modes.
1583 Split function into 64-bit only version for efficiency.
1584 (aarch64_move_imm): Move near other immediate functions.
1585 (aarch64_uimm12_shift): Likewise.
1586 (aarch64_clamp_to_uimm12_shift): Likewise.
1587 (aarch64_movk_shift): Likewise.
1588 (aarch64_replicate_bitmask_imm): Likewise.
1589 (aarch64_and_split_imm1): Likewise.
1590 (aarch64_and_split_imm2): Likewise.
1591 (aarch64_and_bitmask_imm): Likewise.
1592 (aarch64_movw_imm): Likewise.
1593
1594 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
1595
1596 PR tree-optimization/107355
1597 * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
1598
1599 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
1600
1601 PR middle-end/107236
1602 * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
1603 in DECL_CONTEXT and not to cfun->decl.
1604 * cgraphclones.cc (cgraph_node::create_clone): Copy also the
1605 node's calls_declare_variant_alt value.
1606
1607 2022-10-24 Kito Cheng <kito.cheng@sifive.com>
1608
1609 * common/config/riscv/riscv-common.cc (riscv_tunes): New.
1610 (riscv_get_valid_option_values): New.
1611 (TARGET_GET_VALID_OPTION_VALUES): New.
1612 * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
1613 for tune here.
1614 (RISCV_CORE): Fix comment.
1615 * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
1616 riscv-cores.def.
1617
1618 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
1619
1620 PR tree-optimization/107365
1621 * value-range.cc (frange::verify_range): Predicate NAN check in
1622 VARYING range on HONOR_NANS instead of flag_finite_math_only.
1623 (range_tests_floats): Same.
1624 (range_tests_floats_various): New.
1625 (range_tests): Call range_tests_floats_various.
1626
1627 2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
1628 Yvan ROUX <yvan.roux@foss.st.com>
1629
1630 * lto-wrapper.cc: Quote paths in makefile.
1631
1632 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1633
1634 * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
1635
1636 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1637
1638 * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
1639 with constexpr throughout.
1640 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
1641 * config/riscv/riscv-vector-builtins.cc
1642 (struct registered_function_hasher): Likewise.
1643 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
1644 Likewise.
1645
1646 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1647
1648 * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
1649
1650 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1651
1652 * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
1653
1654 2022-10-22 Michael Eager <eager@eagercon.com>
1655
1656 * config/microblaze/microblaze.cc
1657 (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
1658 (microblaze_address_insns): Replace abort() with gcc_unreachable().
1659 (print_operand_address): Same.
1660 (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
1661 (get_branch_target): Replace abort() with gcc_unreachable().
1662
1663 2022-10-22 Aldy Hernandez <aldyh@redhat.com>
1664
1665 * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
1666 with !flag_finite_math_only.
1667
1668 2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
1669
1670 * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
1671 Remove register A0 from FIXED_REGS if the CALL0 ABI.
1672 (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
1673 unconditionally after restoring callee-saved registers for
1674 sibling-call functions, in order to prevent misleading that
1675 register A0 is free to use.
1676
1677 2022-10-21 Jakub Jelinek <jakub@redhat.com>
1678
1679 PR target/107322
1680 * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
1681 BFmode comparisons promote arguments to SFmode and recurse.
1682 (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
1683 if comparison operands are BFmode and operands[1] is not
1684 ix86_fp_comparison_operator.
1685
1686 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com>
1687
1688 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
1689 * common/config/i386/i386-common.cc (processor_names): Add znver4.
1690 (processor_alias_table): Add znver4 and modularize old znvers.
1691 * common/config/i386/i386-cpuinfo.h (processor_subtypes):
1692 AMDFAM19H_ZNVER4.
1693 * config.gcc (x86_64-*-* |...): Likewise.
1694 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
1695 -march=native recognize znver4 cpus.
1696 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
1697 * config/i386/i386-options.cc (m_ZNVER4): New definition.
1698 (m_ZNVER): Include m_ZNVER4.
1699 (processor_cost_table): Add znver4.
1700 * config/i386/i386.cc (ix86_reassociation_width): Likewise.
1701 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
1702 (PTA_ZNVER1): New definition.
1703 (PTA_ZNVER2): Likewise.
1704 (PTA_ZNVER3): Likewise.
1705 (PTA_ZNVER4): Likewise.
1706 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
1707 md file.
1708 * config/i386/x86-tune-costs.h (znver4_cost): New definition.
1709 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
1710 (ix86_adjust_cost): Likewise.
1711 * config/i386/znver1.md: Rename to znver.md.
1712 * config/i386/znver.md: Add new reservations for znver4.
1713 * doc/extend.texi: Add details about znver4.
1714 * doc/invoke.texi: Likewise.
1715
1716 2022-10-21 Richard Biener <rguenther@suse.de>
1717
1718 PR tree-optimization/107323
1719 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
1720 New function.
1721 (loop_distribution::break_alias_scc_partitions): Revert
1722 postorder save/restore from the PR94125 fix. Instead
1723 make sure to not ignore edges from SCCs we are going to
1724 merge.
1725
1726 2022-10-21 Monk Chiang <monk.chiang@sifive.com>
1727
1728 * config/riscv/riscv.md: Add atomic type attribute.
1729 * config/riscv/sync.md: Add atomic type for atomic instructions.
1730
1731 2022-10-21 Jakub Jelinek <jakub@redhat.com>
1732
1733 PR tree-optimization/54346
1734 * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
1735 Optimize nested VEC_PERM_EXPRs even if target can't handle the
1736 new one provided we don't increase number of VEC_PERM_EXPRs the
1737 target can't handle.
1738
1739 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1740
1741 * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
1742 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
1743 (DEF_RVV_FUNCTION): Ditto.
1744 (handle_pragma_vector): Add intrinsic framework.
1745 * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
1746 * config/riscv/riscv.md: include vector.md.
1747 * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
1748 * config/riscv/riscv-vector-builtins-bases.cc: New file.
1749 * config/riscv/riscv-vector-builtins-bases.h: New file.
1750 * config/riscv/riscv-vector-builtins-functions.def: New file.
1751 * config/riscv/riscv-vector-builtins-shapes.cc: New file.
1752 * config/riscv/riscv-vector-builtins-shapes.h: New file.
1753 * config/riscv/riscv-vector-builtins-types.def: New file.
1754 * config/riscv/vector.md: New file.
1755
1756 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
1757
1758 * config.gcc: Add gt files since function_instance is GTY ((user)).
1759 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
1760 (riscv_builtin_decl): Ditto.
1761 (riscv_expand_builtin): Ditto.
1762 * config/riscv/riscv-protos.h (builtin_decl): New function.
1763 (expand_builtin): Ditto.
1764 (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
1765 * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
1766 (struct registered_function_hasher): New struct.
1767 (DEF_RVV_OP_TYPE): New macro.
1768 (DEF_RVV_TYPE): Ditto.
1769 (DEF_RVV_PRED_TYPE): Ditto.
1770 (GTY): New declaration.
1771 (add_attribute): New function.
1772 (check_required_extensions): Ditto.
1773 (rvv_arg_type_info::get_tree_type): Ditto.
1774 (function_instance::function_instance): Ditto.
1775 (function_instance::operator==): Ditto.
1776 (function_instance::any_type_float_p): Ditto.
1777 (function_instance::get_return_type): Ditto.
1778 (function_instance::get_arg_type): Ditto.
1779 (function_instance::hash): Ditto.
1780 (function_instance::call_properties): Ditto.
1781 (function_instance::reads_global_state_p): Ditto.
1782 (function_instance::modifies_global_state_p): Ditto.
1783 (function_instance::could_trap_p): Ditto.
1784 (function_builder::function_builder): Ditto.
1785 (function_builder::~function_builder): Ditto.
1786 (function_builder::allocate_argument_types): Ditto.
1787 (function_builder::register_function_group): Ditto.
1788 (function_builder::append_name): Ditto.
1789 (function_builder::finish_name): Ditto.
1790 (function_builder::get_attributes): Ditto.
1791 (function_builder::add_function): Ditto.
1792 (function_builder::add_unique_function): Ditto.
1793 (function_call_info::function_call_info): Ditto.
1794 (function_expander::function_expander): Ditto.
1795 (function_expander::add_input_operand): Ditto.
1796 (function_expander::generate_insn): Ditto.
1797 (registered_function_hasher::hash): Ditto.
1798 (registered_function_hasher::equal): Ditto.
1799 (builtin_decl): Ditto.
1800 (expand_builtin): Ditto.
1801 (gt_ggc_mx): Define for using GCC garbage collect.
1802 (gt_pch_nx): Define for using GCC garbage collect.
1803 * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
1804 (DEF_RVV_PRED_TYPE): Ditto.
1805 (vbool64_t): Add suffix.
1806 (vbool32_t): Ditto.
1807 (vbool16_t): Ditto.
1808 (vbool8_t): Ditto.
1809 (vbool4_t): Ditto.
1810 (vbool2_t): Ditto.
1811 (vbool1_t): Ditto.
1812 (vint8mf8_t): Ditto.
1813 (vuint8mf8_t): Ditto.
1814 (vint8mf4_t): Ditto.
1815 (vuint8mf4_t): Ditto.
1816 (vint8mf2_t): Ditto.
1817 (vuint8mf2_t): Ditto.
1818 (vint8m1_t): Ditto.
1819 (vuint8m1_t): Ditto.
1820 (vint8m2_t): Ditto.
1821 (vuint8m2_t): Ditto.
1822 (vint8m4_t): Ditto.
1823 (vuint8m4_t): Ditto.
1824 (vint8m8_t): Ditto.
1825 (vuint8m8_t): Ditto.
1826 (vint16mf4_t): Ditto.
1827 (vuint16mf4_t): Ditto.
1828 (vint16mf2_t): Ditto.
1829 (vuint16mf2_t): Ditto.
1830 (vint16m1_t): Ditto.
1831 (vuint16m1_t): Ditto.
1832 (vint16m2_t): Ditto.
1833 (vuint16m2_t): Ditto.
1834 (vint16m4_t): Ditto.
1835 (vuint16m4_t): Ditto.
1836 (vint16m8_t): Ditto.
1837 (vuint16m8_t): Ditto.
1838 (vint32mf2_t): Ditto.
1839 (vuint32mf2_t): Ditto.
1840 (vint32m1_t): Ditto.
1841 (vuint32m1_t): Ditto.
1842 (vint32m2_t): Ditto.
1843 (vuint32m2_t): Ditto.
1844 (vint32m4_t): Ditto.
1845 (vuint32m4_t): Ditto.
1846 (vint32m8_t): Ditto.
1847 (vuint32m8_t): Ditto.
1848 (vint64m1_t): Ditto.
1849 (vuint64m1_t): Ditto.
1850 (vint64m2_t): Ditto.
1851 (vuint64m2_t): Ditto.
1852 (vint64m4_t): Ditto.
1853 (vuint64m4_t): Ditto.
1854 (vint64m8_t): Ditto.
1855 (vuint64m8_t): Ditto.
1856 (vfloat32mf2_t): Ditto.
1857 (vfloat32m1_t): Ditto.
1858 (vfloat32m2_t): Ditto.
1859 (vfloat32m4_t): Ditto.
1860 (vfloat32m8_t): Ditto.
1861 (vfloat64m1_t): Ditto.
1862 (vfloat64m2_t): Ditto.
1863 (vfloat64m4_t): Ditto.
1864 (vfloat64m8_t): Ditto.
1865 (vv): Ditto.
1866 (vx): Ditto.
1867 (v): Ditto.
1868 (wv): Ditto.
1869 (wx): Ditto.
1870 (x_x_v): Ditto.
1871 (vf2): Ditto.
1872 (vf4): Ditto.
1873 (vf8): Ditto.
1874 (vvm): Ditto.
1875 (vxm): Ditto.
1876 (x_x_w): Ditto.
1877 (v_v): Ditto.
1878 (v_x): Ditto.
1879 (vs): Ditto.
1880 (mm): Ditto.
1881 (m): Ditto.
1882 (vf): Ditto.
1883 (vm): Ditto.
1884 (wf): Ditto.
1885 (vfm): Ditto.
1886 (v_f): Ditto.
1887 (ta): Ditto.
1888 (tu): Ditto.
1889 (ma): Ditto.
1890 (mu): Ditto.
1891 (tama): Ditto.
1892 (tamu): Ditto.
1893 (tuma): Ditto.
1894 (tumu): Ditto.
1895 (tam): Ditto.
1896 (tum): Ditto.
1897 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
1898 (RVV_REQUIRE_RV64BIT): Ditto.
1899 (RVV_REQUIRE_ZVE64): Ditto.
1900 (RVV_REQUIRE_ELEN_FP_32): Ditto.
1901 (RVV_REQUIRE_ELEN_FP_64): Ditto.
1902 (enum operand_type_index): New enum.
1903 (DEF_RVV_OP_TYPE): New macro.
1904 (enum predication_type_index): New enum.
1905 (DEF_RVV_PRED_TYPE): New macro.
1906 (enum rvv_base_type): New enum.
1907 (struct rvv_builtin_suffixes): New struct.
1908 (struct rvv_arg_type_info): Ditto.
1909 (struct rvv_type_info): Ditto.
1910 (struct rvv_op_info): Ditto.
1911 (class registered_function): New class.
1912 (class function_base): Ditto.
1913 (class function_shape): Ditto.
1914 (struct function_group_info): New struct.
1915 (class GTY): New class.
1916 (class function_builder): Ditto.
1917 (class function_call_info): Ditto.
1918 (function_call_info::function_returns_void_p): New function.
1919 (class function_expander): New class.
1920 (function_instance::operator!=): New function.
1921 (function_expander::expand): Ditto.
1922 (function_expander::add_input_operand): Ditto.
1923 (function_base::call_properties): Ditto.
1924
1925 2022-10-21 Haochen Jiang <haochen.jiang@intel.com>
1926
1927 * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
1928 (ssedvecmodelower): Rename from vi1si.
1929 (sdot_prod<mode>): New define_expand.
1930 (udot_prod<mode>): Ditto.
1931
1932 2022-10-21 Kong Lingling <lingling.kong@intel.com>
1933 Hongyu Wang <hongyu.wang@intel.com>
1934 Haochen Jiang <haochen.jiang@intel.com>
1935
1936 * common/config/i386/cpuinfo.h (get_available_features): Detect
1937 avxvnniint8.
1938 * common/config/i386/i386-common.cc
1939 (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
1940 (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
1941 (ix86_handle_option): Handle -mavxvnniint8.
1942 * common/config/i386/i386-cpuinfo.h (enum processor_features):
1943 Add FEATURE_AVXVNNIINT8.
1944 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
1945 avxvnniint8.
1946 * config.gcc: Add avxvnniint8intrin.h.
1947 * config/i386/avxvnniint8intrin.h: New file.
1948 * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
1949 * config/i386/i386-builtin.def: Add new builtins.
1950 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
1951 __AVXVNNIINT8__.
1952 * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
1953 (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
1954 * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
1955 * config/i386/i386.opt: Add option -mavxvnniint8.
1956 * config/i386/immintrin.h: Include avxvnniint8intrin.h.
1957 * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
1958 UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
1959 UNSPEC_VPMADDWDACCSSD): Rename according to new style.
1960 (vpdp<vpdotprodtype>_<mode>): New define_insn.
1961 * doc/extend.texi: Document avxvnniint8.
1962 * doc/invoke.texi: Document -mavxvnniint8.
1963 * doc/sourcebuild.texi: Document target avxvnniint8.
1964
1965 2022-10-21 Hongyu Wang <hongyu.wang@intel.com>
1966
1967 * common/config/i386/i386-common.cc
1968 (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
1969 OPTION_MASK_ISA2_AVX2_UNSET): New macro.
1970 (ix86_handle_option): Handle -mavxifma.
1971 * common/config/i386/i386-cpuinfo.h (processor_types): Add
1972 FEATURE_AVXIFMA.
1973 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
1974 avxifma.
1975 * common/config/i386/cpuinfo.h (get_available_features):
1976 Detect avxifma.
1977 * config.gcc: Add avxifmaintrin.h
1978 * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
1979 to macro.
1980 (_mm_madd52hi_epu64): Likewise.
1981 (_mm256_madd52lo_epu64): Likewise.
1982 (_mm256_madd52hi_epu64): Likewise.
1983 * config/i386/avxifmaintrin.h: New header.
1984 * config/i386/cpuid.h (bit_AVXIFMA): New.
1985 * config/i386/i386-builtin.def: Add new builtins, and correct
1986 pattern names for AVX512IFMA.
1987 * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
1988 builtins like AVX-VNNI.
1989 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
1990 __AVXIFMA__.
1991 * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
1992 Relax ISA masks for AVXIFMA.
1993 * config/i386/i386-isa.def: Add AVXIFMA.
1994 * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
1995 (ix86_valid_target_attribute_inner_p): Handle avxifma.
1996 * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
1997 * config/i386/i386.opt: Add option -mavxifma.
1998 * config/i386/immintrin.h: Inculde avxifmaintrin.h.
1999 * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
2000 Remove.
2001 (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
2002 (vpamdd52huq<mode>_maskz): Rename to ...
2003 (vpmadd52huq<mode>_maskz): ... this.
2004 (vpamdd52luq<mode>_maskz): Rename to ...
2005 (vpmadd52luq<mode>_maskz): ... this.
2006 (vpmadd52<vpmadd52type><mode>): New define_insn.
2007 (vpmadd52<vpmadd52type>v8di): Likewise.
2008 (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
2009 (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
2010 (vpmadd52<vpmadd52type><mode>_mask): ... this.
2011 * doc/invoke.texi: Document -mavxifma.
2012 * doc/extend.texi: Document avxifma.
2013 * doc/sourcebuild.texi: Document target avxifma.
2014
2015 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
2016
2017 PR c++/106654
2018 * value-query.cc (get_range_global): Handle non integer ranges for
2019 default def SSA names.
2020
2021 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
2022
2023 * range-op-float.cc (foperator_unordered_lt::op1_range): New.
2024 (foperator_unordered_lt::op2_range): New.
2025
2026 2022-10-20 Artem Klimov <jakmobius@gmail.com>
2027 Alexander Monakov <amonakov@gcc.gnu.org>
2028
2029 PR middle-end/99619
2030 * ipa-visibility.cc (function_and_variable_visibility): Promote
2031 TLS access model afer visibility optimizations.
2032 * varasm.cc (have_optimized_refs): New helper.
2033 (optimize_dyn_tls_for_decl_p): New helper. Use it ...
2034 (decl_default_tls_model): ... here in place of 'optimize' check.
2035
2036 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
2037
2038 * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
2039 false side with a NAN operand.
2040 (foperator_unordered_le::op2_range): Same.
2041 (foperator_unordered_gt::op1_range): Same.
2042 (foperator_unordered_gt::op2_range): Same.
2043 (foperator_unordered_ge::op1_range): Same.
2044 (foperator_unordered_ge::op2_range): Same.
2045 (foperator_unordered_equal::op1_range): Same.
2046
2047 2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
2048
2049 PR tree-optimization/107326
2050 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
2051 vectype when widening container.
2052
2053 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
2054
2055 * value-range.h (frange::set_varying): Do not set NAN flags for
2056 !HONOR_NANS.
2057 * value-range.cc (frange::normalize_kind): Adjust for no NAN when
2058 !HONOR_NANS.
2059 (frange::verify_range): Same.
2060 * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
2061
2062 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
2063
2064 * range-op-float.cc (finite_operand_p): Remove.
2065 (finite_operands_p): Rename to...
2066 (maybe_isnan): ...this.
2067 (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
2068 (foperator_equal::fold_range): Same.
2069 (foperator_equal::op1_range): Same.
2070 (foperator_not_equal::fold_range): Same.
2071 (foperator_lt::fold_range): Same.
2072 (foperator_le::fold_range): Same.
2073 (foperator_gt::fold_range): Same.
2074 (foperator_ge::fold_range): Same.
2075
2076 2022-10-20 Jakub Jelinek <jakub@redhat.com>
2077
2078 * passes.cc (pass_manager::register_pass): Fix a comment
2079 typo - copmilation -> compilation.
2080
2081 2022-10-20 Richard Biener <rguenther@suse.de>
2082
2083 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
2084 Disallow latch PHI defs.
2085 (vectorizable_recurr): Revert previous change.
2086
2087 2022-10-20 Julian Brown <julian@codesourcery.com>
2088
2089 PR target/105421
2090 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
2091 argument forces FLAT addressing mode, not just
2092 pointer-to-non-aggregate.
2093
2094 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2095
2096 * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
2097 * configure: Regenerate.
2098
2099 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2100
2101 * config/aarch64/aarch64-sve-builtins.h
2102 (gimple_folder::fold_to_cstu): New member function.
2103 * config/aarch64/aarch64-sve-builtins.cc
2104 (gimple_folder::fold_to_cstu): Define.
2105 * config/aarch64/aarch64-sve-builtins-base.cc
2106 (svcnt_bhwd_impl::fold): Use it.
2107
2108 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2109
2110 * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
2111 (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
2112 (unspec_based_function_rotated, unspec_based_function_exact_insn)
2113 (unspec_based_fused_function, unspec_based_fused_lane_function):
2114 Replace constructors with using directives.
2115 * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
2116 (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
2117 (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
2118 (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
2119 (svst234_impl, svundef_impl): Likewise.
2120 * config/aarch64/aarch64-sve-builtins-sve2.cc
2121 (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
2122 (svstnt1_scatter_truncate_impl): Likewise.
2123
2124 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2125
2126 * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
2127 with constexpr throughout.
2128 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
2129 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
2130 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
2131 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
2132
2133 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2134
2135 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
2136 merging alternative.
2137 (*aarch64_brk<brk_op>_ptest): Likewise.
2138
2139 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
2140
2141 * config/aarch64/iterators.md (SVE_BRKP): New iterator.
2142 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
2143 (*aarch64_brkn_ptest): Likewise.
2144 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
2145 (*aarch64_brk<brk_op>_ptest): Likewise.
2146
2147 2022-10-20 Richard Biener <rguenther@suse.de>
2148
2149 PR c/107305
2150 PR c/107306
2151 * tree-cfg.h (verify_gimple_in_seq): Add parameter to
2152 indicate whether to emit an ICE. Add return value.
2153 (verify_gimple_in_cfg): Likewise.
2154 * tree-cfg.cc (verify_gimple_in_seq): Likewise.
2155 (verify_gimple_in_cfg): Likewise.
2156
2157 2022-10-20 Richard Biener <rguenther@suse.de>
2158
2159 PR tree-optimization/107240
2160 * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
2161 simplify shifted value first.
2162
2163 2022-10-20 Andrew MacLeod <amacleod@redhat.com>
2164
2165 * gimple-range-gori.h (compute_operand_range): Make public.
2166 * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
2167 (gimple_infer_range::gimple_infer_range): Check for assume calls.
2168 * gimple-range-infer.h (check_assume_func): Add prototype.
2169 * gimple-range.cc (assume_query::assume_range_p): New.
2170 (assume_query::range_of_expr): New.
2171 (assume_query::assume_query): New.
2172 (assume_query::calculate_op): New.
2173 (assume_query::calculate_phi): New.
2174 (assume_query::check_taken_edge): New.
2175 (assume_query::calculate_stmt): New.
2176 (assume_query::dump): New.
2177 * gimple-range.h (class assume_query): New.
2178 * tree-vrp.cc (pass_assumptions::execute): Add processing.
2179
2180 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
2181
2182 * range-op-float.cc (build_le): Document result.
2183 (build_lt): Same.
2184 (build_ge): Same.
2185 (foperator_ge::op2_range): Check result of build_*.
2186 (foperator_unordered_le::op1_range): Same.
2187 (foperator_unordered_le::op2_range): Same.
2188 (foperator_unordered_gt::op1_range): Same.
2189 (foperator_unordered_gt::op2_range): Same.
2190 (foperator_unordered_ge::op1_range): Same.
2191 (foperator_unordered_ge::op2_range): Same.
2192
2193 2022-10-19 Marek Polacek <polacek@redhat.com>
2194
2195 PR c++/85043
2196 * doc/invoke.texi: Update documentation of -Wuseless-cast.
2197
2198 2022-10-19 Andrew MacLeod <amacleod@redhat.com>
2199
2200 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
2201 Value_Range not int_range_max.
2202
2203 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
2204
2205 PR tree-optimization/107312
2206 * range.h (range_true_and_false): Special case 1-bit signed types.
2207 * value-range.cc (range_tests_misc): New test.
2208
2209 2022-10-19 LIU Hao <lh_mouse@126.com>
2210
2211 * config/i386/mingw-mcfgthread.h: New file
2212 * config/i386/mingw32.h: Add builtin macro and default libraries
2213 for mcfgthread when thread model is `mcf`
2214 * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
2215 is `mcf`
2216 * configure.ac: Recognize `mcf` as a valid thread model
2217 * config.in: Regenerate
2218 * configure: Regenerate
2219
2220 2022-10-19 Lewis Hyatt <lhyatt@gmail.com>
2221
2222 * gengtype.cc (output_escaped_param): Add missing const.
2223 (get_string_option): Add missing check for option type.
2224 (walk_type): Support new "string_length" GTY option.
2225 (write_types_process_field): Likewise.
2226 * ggc-common.cc (gt_pch_note_object): Add optional length argument.
2227 * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
2228 (gt_pch_n_S2): Declare...
2229 * stringpool.cc (gt_pch_n_S2): ...new function.
2230 * doc/gty.texi: Document new GTY((string_length)) option.
2231
2232 2022-10-19 Martin Liska <mliska@suse.cz>
2233
2234 * doc/extend.texi: Remove useless @tie{} directives.
2235
2236 2022-10-19 Martin Jambor <mjambor@suse.cz>
2237
2238 PR tree-optimization/107206
2239 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
2240 (analyze_access_subtree): Do not create replacements for accesses with
2241 this flag when not toally scalarizing.
2242 (propagate_subaccesses_from_lhs): Set the new flag.
2243
2244 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2245
2246 PR target/106355
2247 * config/s390/s390.cc (s390_call_saved_register_used): For a
2248 parameter with BLKmode fix determining number of consecutive
2249 registers.
2250
2251 2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
2252
2253 * config/xtensa/xtensa-protos.h
2254 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
2255 * config/xtensa/xtensa.cc
2256 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
2257 New functions.
2258 (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
2259 (xt_true_regnum): Rework.
2260 * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
2261 Switch from CALL_USED_REGISTERS, and revise the comment.
2262 * config/xtensa/constraints.md (Y):
2263 Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
2264 * config/xtensa/predicates.md (move_operand): Ditto.
2265 * config/xtensa/xtensa.md: Add two new split patterns:
2266 - splits DImode immediate load into two SImode ones
2267 - puts out-of-constraint SImode constants into the constant pool
2268 * config/xtensa/xtensa.opt (-mlra): New target-specific option
2269 for testing purpose.
2270
2271 2022-10-19 Robin Dapp <rdapp@linux.ibm.com>
2272
2273 * config/s390/s390.md: Move reload_completed and check operands for REG_P.
2274
2275 2022-10-19 Jakub Jelinek <jakub@redhat.com>
2276
2277 PR middle-end/107262
2278 * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
2279 of constants, use simplify_unary_operation if fromi has VOIDmode
2280 instead of recursive convert_mode_scalar.
2281
2282 2022-10-19 Jakub Jelinek <jakub@redhat.com>
2283
2284 PR tree-optimization/106990
2285 * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
2286 !TYPE_OVERFLOW_SANITIZED (type).
2287
2288 2022-10-19 Jakub Jelinek <jakub@redhat.com>
2289
2290 * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
2291 (ix86_bf16_type_node): New variable.
2292 (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
2293 from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
2294 rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
2295 to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node
2296 rather than bfloat16_type_node. Don't initialize unused
2297 ix86_bf16_ptr_type_node.
2298 * config/i386/i386-builtin-types.def (BFLOAT16): Use
2299 ix86_bf16_type_node rather than bfloat16_type_node.
2300
2301 2022-10-19 Richard Biener <rguenther@suse.de>
2302
2303 PR tree-optimization/106781
2304 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
2305 LHS removal from fixup_noreturn_call.
2306
2307 2022-10-19 liuhongt <hongtao.liu@intel.com>
2308
2309 PR target/107271
2310 * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
2311 (expand_vec_perm_shufps_shufps): Call
2312 ix86_vec_perm_index_canon
2313
2314 2022-10-18 Martin Jambor <mjambor@suse.cz>
2315
2316 * ipa-prop.h (ipa_agg_value): Remove type.
2317 (ipa_agg_value_set): Likewise.
2318 (ipa_copy_agg_values): Remove function.
2319 (ipa_release_agg_values): Likewise.
2320 (ipa_auto_call_arg_values) Add a forward declaration.
2321 (ipa_call_arg_values): Likewise.
2322 (class ipa_argagg_value_list): New constructors, added member function
2323 value_for_index_p.
2324 (class ipa_auto_call_arg_values): Removed the destructor and member
2325 function safe_aggval_at. Use ipa_argagg_values for m_known_aggs.
2326 (class ipa_call_arg_values): Removed member function safe_aggval_at.
2327 Use ipa_argagg_values for m_known_aggs.
2328 (ipa_get_indirect_edge_target): Removed declaration.
2329 (ipa_find_agg_cst_for_param): Likewise.
2330 (ipa_find_agg_cst_from_init): New declaration.
2331 (ipa_agg_value_from_jfunc): Likewise.
2332 (ipa_agg_value_set_from_jfunc): Removed declaration.
2333 (ipa_push_agg_values_from_jfunc): New declaration.
2334 * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
2335 ipa_agg_value_from_jfunc, made public.
2336 (ipa_agg_value_set_from_jfunc): Removed.
2337 (ipa_push_agg_values_from_jfunc): New function.
2338 (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
2339 avs for this purpose too.
2340 (ipa_get_indirect_edge_target): Removed the overload working on
2341 ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
2342 one.
2343 (devirtualization_time_bonus): Use ipa_argagg_value_list and
2344 ipa_get_indirect_edge_target_1 instead of
2345 ipa_get_indirect_edge_target.
2346 (context_independent_aggregate_values): Removed function.
2347 (gather_context_independent_values): Work on ipa_argagg_value_list.
2348 (estimate_local_effects): Likewise, define some iterator variables
2349 only in the construct where necessary.
2350 (ipcp_discover_new_direct_edges): Adjust the call to
2351 ipa_get_indirect_edge_target_1.
2352 (push_agg_values_for_index_from_edge): Adjust the call
2353 ipa_agg_value_from_node which has been renamed to
2354 ipa_agg_value_from_jfunc.
2355 * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
2356 ipa_argagg_value_list.
2357 (evaluate_properties_for_edge): Replace manual filling in aggregate
2358 values with call to ipa_push_agg_values_from_jfunc.
2359 (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
2360 (ipa_cached_call_context::duplicate_from): Likewise.
2361 (ipa_cached_call_context::release): Likewise.
2362 (ipa_call_context::equal_to): Likewise.
2363 * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
2364 (ipa_find_agg_cst_for_param): Removed function.
2365 (ipa_find_agg_cst_from_jfunc_items): New function.
2366 (try_make_edge_direct_simple_call): Replace calls to
2367 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
2368 ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
2369 (try_make_edge_direct_virtual_call): Replace calls to
2370 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
2371 simple query of constant jump function and a call to
2372 ipa_find_agg_cst_from_jfunc_items.
2373 (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
2374
2375 2022-10-18 Martin Jambor <mjambor@suse.cz>
2376
2377 * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
2378 (ipcp_transformation): Added forward declaration.
2379 (ipa_argagg_value): New type.
2380 (ipa_argagg_value_list): New type.
2381 (ipa_agg_replacement_value): Removed type.
2382 (ipcp_transformation): Switch from using ipa_agg_replacement_value
2383 to ipa_argagg_value_list.
2384 (ipa_get_agg_replacements_for_node): Removed.
2385 (ipa_dump_agg_replacement_values): Removed declaration.
2386 * ipa-cp.cc: Define INCLUDE_ALGORITHM.
2387 (values_equal_for_ipcp_p): Moved up in the file.
2388 (ipa_argagg_value_list::dump): New function.
2389 (ipa_argagg_value_list::debug): Likewise.
2390 (ipa_argagg_value_list::get_elt): Likewise.
2391 (ipa_argagg_value_list::get_elt_for_index): Likewise.
2392 (ipa_argagg_value_list::get_value): New overloaded functions.
2393 (ipa_argagg_value_list::superset_of_p): New function.
2394 (new ipa_argagg_value_list::push_adjusted_values): Likewise.
2395 (push_agg_values_from_plats): Likewise.
2396 (intersect_argaggs_with): Likewise.
2397 (get_clone_agg_value): Removed.
2398 (ipa_agg_value_from_node): Make last parameter const, use
2399 ipa_argagg_value_list to search values coming from clones.
2400 (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
2401 values coming from clones.
2402 (ipcp_discover_new_direct_edges): Pass around a vector of
2403 ipa_argagg_values rather than a link list of replacement values.
2404 (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
2405 values coming from clones.
2406 (create_specialized_node): Work with a vector of ipa_argagg_values
2407 rather than a link list of replacement values.
2408 (self_recursive_agg_pass_through_p): Make the pointer parameters
2409 const.
2410 (copy_plats_to_inter): Removed.
2411 (intersect_with_plats): Likewise.
2412 (agg_replacements_to_vector): Likewise.
2413 (intersect_with_agg_replacements): Likewise.
2414 (intersect_aggregates_with_edge): Likewise.
2415 (push_agg_values_for_index_from_edge): Likewise.
2416 (push_agg_values_from_edge): Likewise.
2417 (find_aggregate_values_for_callers_subset): Rewrite.
2418 (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
2419 (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
2420 aggregate values.
2421 (decide_about_value): Work with a vector of ipa_argagg_values rather
2422 than a link list of replacement values.
2423 (decide_whether_version_node): Likewise.
2424 (ipa_analyze_node): Check number of parameters, assert that there
2425 are no descriptors when bailing out.
2426 * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
2427 ipa_argagg_value.
2428 (ipa_node_params_t::duplicate): Removed superfluous handling of
2429 ipa_agg_replacement_values. Name of src parameter removed because
2430 it is no longer used.
2431 (ipcp_transformation_t::duplicate): Replaced duplication of
2432 ipa_agg_replacement_values with copying vector m_agg_values.
2433 (ipa_dump_agg_replacement_values): Removed.
2434 (write_ipcp_transformation_info): Stream the new data-structure
2435 instead of the old.
2436 (read_ipcp_transformation_info): Likewise.
2437 (adjust_agg_replacement_values): Work with ipa_argagg_values instead
2438 of linked lists of ipa_agg_replacement_values, copy the items and
2439 truncate the vector as necessary to keep it sorted instead of marking
2440 items as invalid. Return one bool if CFG should be updated.
2441 (ipcp_modif_dom_walker): Store ipcp_transformation instead of
2442 linked list of ipa_agg_replacement_values.
2443 (ipcp_modif_dom_walker::before_dom_children): Use
2444 ipa_argagg_value_list instead of walking a list of
2445 ipa_agg_replacement_values.
2446 (ipcp_transform_function): Switch to the new data structure, adjust
2447 dumping.
2448
2449 2022-10-18 Richard Biener <rguenther@suse.de>
2450
2451 PR tree-optimization/107302
2452 * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
2453 placement for a PHI latch def.
2454
2455 2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
2456
2457 PR tree-optimization/107275
2458 * tree-if-conv.cc (if_convertible_loop_p_1): Move
2459 find_data_references_in_loop call from here...
2460 (if_convertible_loop_p): And move data-reference vector initialization
2461 from here...
2462 (tree_if_conversion):... to here.
2463
2464 2022-10-18 Jakub Jelinek <jakub@redhat.com>
2465
2466 PR c++/106654
2467 * gimple.def (GIMPLE_ASSUME): New statement kind.
2468 * gimple.h (struct gimple_statement_assume): New type.
2469 (is_a_helper <gimple_statement_assume *>::test,
2470 is_a_helper <const gimple_statement_assume *>::test): New.
2471 (gimple_build_assume): Declare.
2472 (gimple_has_substatements): Return true for GIMPLE_ASSUME.
2473 (gimple_assume_guard, gimple_assume_set_guard,
2474 gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
2475 New inline functions.
2476 * gsstruct.def (GSS_ASSUME): New.
2477 * gimple.cc (gimple_build_assume): New function.
2478 (gimple_copy): Handle GIMPLE_ASSUME.
2479 * gimple-pretty-print.cc (dump_gimple_assume): New function.
2480 (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
2481 * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
2482 * omp-low.cc (WALK_SUBSTMTS): Likewise.
2483 (lower_omp_1): Likewise.
2484 * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
2485 Likewise.
2486 * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
2487 * function.h (struct function): Add assume_function bitfield.
2488 * gimplify.cc (gimplify_call_expr): If the assumption isn't
2489 simple enough, expand it into GIMPLE_ASSUME wrapped block or
2490 for -O0 drop it.
2491 * gimple-low.cc: Include attribs.h.
2492 (create_assumption_fn): New function.
2493 (struct lower_assumption_data): New type.
2494 (find_assumption_locals_r, assumption_copy_decl,
2495 adjust_assumption_stmt_r, adjust_assumption_stmt_op,
2496 lower_assumption): New functions.
2497 (lower_stmt): Handle GIMPLE_ASSUME.
2498 * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
2499 IFN_ASSUME calls.
2500 * lto-streamer-out.cc (output_struct_function_base): Pack
2501 assume_function bit.
2502 * lto-streamer-in.cc (input_struct_function_base): And unpack it.
2503 * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
2504 has TREE_ASM_WRITTEN set and don't release its body.
2505 (symbol_table::compile): Allow assume functions not to have released
2506 body.
2507 * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
2508 * passes.cc (execute_one_pass): For TODO_discard_function don't
2509 release body of assume functions.
2510 * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
2511 of PROP_assumptions_done functions.
2512 * tree-pass.h (PROP_assumptions_done): Define.
2513 (TODO_discard_function): Adjust comment.
2514 (make_pass_assumptions): Declare.
2515 * passes.def (pass_assumptions): Add.
2516 * timevar.def (TV_TREE_ASSUMPTIONS): New.
2517 * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
2518 * tree-vrp.cc (pass_data_assumptions): New variable.
2519 (pass_assumptions): New class.
2520 (make_pass_assumptions): New function.
2521
2522 2022-10-18 Richard Biener <rguenther@suse.de>
2523
2524 PR tree-optimization/107301
2525 * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
2526 Check whether we can duplicate the block.
2527 (find_implicit_erroneous_behavior): Likewise.
2528
2529 2022-10-18 Andrew MacLeod <amacleod@redhat.com>
2530
2531 PR tree-optimization/107273
2532 * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
2533 instead of copying precison of each member.
2534
2535 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
2536
2537 PR target/101697
2538 * config/h8300/combiner.md: Replace '<' preincment constraint with
2539 ZA/Z1..ZH/Z7 combinations.
2540 * config/h8300/movepush.md: Similarly
2541
2542 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
2543
2544 * config/h8300/constraints.md (Za..Zh): New constraints for
2545 autoinc addresses using a specific register.
2546 * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
2547 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
2548
2549 2022-10-17 Jeff Law <jlaw@ventanamicro.com>
2550
2551 * config/i386/cet.c: Remove accidental commit.
2552 * config/i386/driver-mingw32.c: Likewise.
2553 * config/i386/i386-builtins.c: Likewise.
2554 * config/i386/i386-d.c: Likewise.
2555 * config/i386/i386-expand.c: Likewise.
2556 * config/i386/i386-features.c: Likewise.
2557 * config/i386/i386-options.c: Likewise.
2558 * config/i386/t-cet: Likewise.
2559 * config/i386/x86-tune-sched-atom.c: Likewise.
2560 * config/i386/x86-tune-sched-bd.c: Likewise.
2561 * config/i386/x86-tune-sched-core.c: Likewise.
2562 * config/i386/x86-tune-sched.c: Likewise.
2563
2564 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
2565
2566 * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
2567 Enable redundant extension elimination at -O2 and above.
2568 * config/i386/cet.c: New file.
2569 * config/i386/driver-mingw32.c: New file.
2570 * config/i386/i386-builtins.c: New file.
2571 * config/i386/i386-d.c: New file.
2572 * config/i386/i386-expand.c: New file.
2573 * config/i386/i386-features.c: New file.
2574 * config/i386/i386-options.c: New file.
2575 * config/i386/t-cet: New file.
2576 * config/i386/x86-tune-sched-atom.c: New file.
2577 * config/i386/x86-tune-sched-bd.c: New file.
2578 * config/i386/x86-tune-sched-core.c: New file.
2579 * config/i386/x86-tune-sched.c: New file.
2580
2581 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
2582
2583 * config/h8300/extensions.md (CCZN setting zero extended load): Add
2584 missing splitter.
2585
2586 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
2587
2588 PR tree-optimization/107293
2589 * tree-ssa-dom.cc
2590 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
2591 Check that condition post-dominates the definition point.
2592
2593 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
2594
2595 PR tree-optimization/107286
2596 * value-range.cc (range_tests_floats): Do not test for -Inf when
2597 flag_finite_math_only.
2598
2599 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
2600
2601 * gimple-range-fold.cc (fold_using_range::range_of_range_op):
2602 Provide relation_trio class.
2603 * gimple-range-gori.cc (gori_compute::refine_using_relation):
2604 Provide relation_trio class.
2605 (gori_compute::refine_using_relation): Ditto.
2606 (gori_compute::compute_operand1_range): Provide lhs_op2 and
2607 op1_op2 relations via relation_trio class.
2608 (gori_compute::compute_operand2_range): Ditto.
2609 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
2610 relation_trio instead of relation_kind.
2611 (gimple_range_op_handler::calc_op2): Ditto.
2612 (*::fold_range): Ditto.
2613 * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
2614 (gimple_range_op::calc_op2): Adjust prototypes.
2615 * range-op-float.cc (*::fold_range): Use relation_trio instead of
2616 relation_kind.
2617 (*::op1_range): Ditto.
2618 (*::op2_range): Ditto.
2619 * range-op.cc (*::fold_range): Use relation_trio instead of
2620 relation_kind.
2621 (*::op1_range): Ditto.
2622 (*::op2_range): Ditto.
2623 * range-op.h (class range_operator): Adjust prototypes.
2624 (class range_operator_float): Ditto.
2625 (class range_op_handler): Adjust prototypes.
2626 (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
2627 * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
2628 the enum.
2629 (relation_oracle::validate_relation): Use relation_trio in call
2630 to fold_range.
2631 * value-relation.h (enum relation_kind_t): Add VREL_LAST as
2632 final element.
2633 (class relation_trio): New.
2634 (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
2635
2636 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
2637
2638 * range-op-float.cc (foperator_not_equal::op1_range): Check for
2639 VREL_EQ after singleton.
2640 (foperator_unordered::op1_range): Set VARYING before calling
2641 clear_nan().
2642 (foperator_ordered::op1_range): Set rather than clear NAN if both
2643 operands are the same.
2644
2645 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
2646
2647 * value-relation.cc (value_relation::dump): Change message.
2648 * value-relation.h (value_relation::set_relation): If op1 is the
2649 same as op2 do not create a relation.
2650
2651 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2652
2653 * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
2654 'case QImode:', etc.
2655
2656 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2657
2658 * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
2659
2660 2022-10-17 Richard Biener <rguenther@suse.de>
2661 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
2662
2663 PR tree-optimization/99409
2664 PR tree-optimization/99394
2665 * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
2666 (stmt_vec_info_type::recurr_info_type): Likewise.
2667 (vectorizable_recurr): New function.
2668 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
2669 function.
2670 (vect_analyze_scalar_cycles_1): Look for first order
2671 recurrences.
2672 (vect_analyze_loop_operations): Handle them.
2673 (vect_transform_loop): Likewise.
2674 (vectorizable_recurr): New function.
2675 (maybe_set_vectorized_backedge_value): Handle the backedge value
2676 setting in the first order recurrence PHI and the permutes.
2677 * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
2678 recurrences.
2679 (vect_transform_stmt): Likewise.
2680 (vect_is_simple_use): Likewise.
2681 (vect_is_simple_use): Likewise.
2682 * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
2683 (vect_build_slp_tree_2): Likewise.
2684 (vect_schedule_scc): Handle the backedge value setting in the
2685 first order recurrence PHI and the permutes.
2686
2687 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
2688
2689 * config/riscv/t-riscv: Change Tab into 2 space.
2690
2691 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
2692
2693 * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
2694
2695 2022-10-17 Arsen Arsenovic <arsen@aarsen.me>
2696
2697 * config.gcc: --target=*-elf --without-{newlib,headers} should
2698 provide stdint.h.
2699
2700 2022-10-17 Hu, Lin1 <lin1.hu@intel.com>
2701
2702 * common/config/i386/cpuinfo.h:
2703 (get_intel_cpu): Handle Meteorlake.
2704 * common/config/i386/i386-common.cc:
2705 (processor_alias_table): Add Meteorlake.
2706
2707 2022-10-17 Haochen Jiang <haochen.jiang@intel.com>
2708
2709 * common/config/i386/cpuinfo.h:
2710 (get_intel_cpu): Handle Raptorlake.
2711 * common/config/i386/i386-common.cc:
2712 (processor_alias_table): Add Raptorlake.
2713
2714 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
2715
2716 * config/h8300/constraints.md (Z0..Z7): New register
2717 constraints.
2718 * config/h8300/h8300.h (reg_class): Add new classes.
2719 (REG_CLASS_NAMES): Similarly.
2720 (REG_CLASS_CONTENTS): Similarly.
2721
2722 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
2723
2724 * config/h8300/constraints.md (Zz constraint): Renamed
2725 from "z".
2726 * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
2727 constraint to use Zz instead of Z.
2728
2729 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
2730
2731 * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
2732
2733 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
2734
2735 * value-range.cc (frange::set): Implement distinction between
2736 HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
2737
2738 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
2739
2740 * gimple-range-op.cc (class cfn_copysign): New.
2741 (gimple_range_op_handler::maybe_builtin_call): Add
2742 CFN_BUILT_IN_COPYSIGN*.
2743
2744 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
2745
2746 * real.h (real_isdenormal): Check rvc_normal.
2747 * value-range.cc (range_tests_floats): New test.
2748
2749 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
2750
2751 * gimple-range-op.cc
2752 (gimple_range_op_handler::maybe_builtin_call): Replace
2753 CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
2754
2755 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
2756
2757 * value-range.cc (frange::set): Normalize ranges for both bounds.
2758
2759 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
2760
2761 * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
2762
2763 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
2764
2765 * gimple-range-op.cc
2766 (gimple_range_op_handler::maybe_builtin_call): Add
2767 CFN_BUILT_IN_SIGNBIT[FL]* entries.
2768
2769 2022-10-14 Richard Biener <rguenther@suse.de>
2770
2771 PR tree-optimization/107254
2772 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
2773 For permutes also analyze live lanes.
2774 (vect_schedule_slp_node): For permutes also code generate
2775 live lane extracts.
2776
2777 2022-10-14 Eric Botcazou <ebotcazou@adacore.com>
2778
2779 PR target/107248
2780 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
2781 blockage for leaf functions.
2782 (sparc_flat_expand_prologue): Emit frame instead of full blockage.
2783 (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
2784 (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
2785
2786 2022-10-14 Jakub Jelinek <jakub@redhat.com>
2787
2788 * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
2789 * tree.h (bfloat16_type_node): Define.
2790 * tree.cc (excess_precision_type): Promote bfloat16_type_mode
2791 like float16_type_mode.
2792 (build_common_tree_nodes): Initialize bfloat16_type_node if
2793 BFmode is supported.
2794 * expmed.h (maybe_expand_shift): Declare.
2795 * expmed.cc (maybe_expand_shift): No longer static.
2796 * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
2797 conversions. If there is no optab, handle BF -> {DF,XF,TF,HF}
2798 conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
2799 -ffast-math generic implementation for BF -> SF and SF -> BF
2800 conversions.
2801 * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
2802 * builtins.def (BUILT_IN_NANSF16B): New builtin.
2803 * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
2804 * config/i386/i386.cc (classify_argument): Handle E_BCmode.
2805 (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
2806 for -msse2.
2807 (ix86_mangle_type): Mangle BFmode as DF16b.
2808 (ix86_invalid_conversion, ix86_invalid_unary_op,
2809 ix86_invalid_binary_op): Remove.
2810 (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
2811 TARGET_INVALID_BINARY_OP): Don't redefine.
2812 * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
2813 (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
2814 ix86_bf16_type_node, only create it if still NULL.
2815 * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
2816 * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
2817
2818 2022-10-14 Jakub Jelinek <jakub@redhat.com>
2819
2820 PR middle-end/323
2821 PR c++/107097
2822 * doc/invoke.texi (-fexcess-precision=standard): Mention that the
2823 option now also works in C++.
2824
2825 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
2826
2827 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
2828 early for calls made from thunks.
2829
2830 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
2831
2832 * expr.cc (emit_group_stote): Fix handling of modes of different
2833 sizes for big-endian targets in latest change and add commentary.
2834
2835 2022-10-13 Martin Liska <mliska@suse.cz>
2836
2837 * output.h (assemble_vtv_preinit_initializer): Remove.
2838 * varasm.cc (assemble_vtv_preinit_initializer): Remove.
2839
2840 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
2841
2842 PR tree-optimization/102540
2843 PR tree-optimization/102872
2844 * gimple-range-cache.cc (ranger_cache::fill_block_cache):
2845 Handle partial equivs.
2846 (ranger_cache::range_from_dom): Cleanup dump output.
2847
2848 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
2849
2850 * range-op.cc (operator_cast::lhs_op1_relation): New.
2851 (operator_bitwise_and::lhs_op1_relation): New.
2852
2853 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
2854
2855 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
2856 iterator.
2857 * value-relation.cc
2858 (equiv_relation_iterator::equiv_relation_iterator): New.
2859 (equiv_relation_iterator::next): New.
2860 (equiv_relation_iterator::get_name): New.
2861 * value-relation.h (class relation_oracle): Privatize some methods.
2862 (class equiv_relation_iterator): New.
2863 (FOR_EACH_EQUIVALENCE): New.
2864 (FOR_EACH_PARTIAL_EQUIV): New.
2865 (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
2866
2867 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
2868
2869 * value-relation.cc (equiv_chain::dump): Don't print empty
2870 equivalences.
2871 (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
2872 (equiv_oracle::~equiv_oracle): Release the partial equiv table.
2873 (equiv_oracle::add_partial_equiv): New.
2874 (equiv_oracle::partial_equiv_set): New.
2875 (equiv_oracle::partial_equiv): New.
2876 (equiv_oracle::query_relation): Check for partial equivs too.
2877 (equiv_oracle::dump): Also dump partial equivs.
2878 (dom_oracle::register_relation): Handle partial equivs.
2879 (dom_oracle::query_relation): Check for partial equivs.
2880 * value-relation.h (enum relation_kind_t): Add partial equivs.
2881 (relation_partial_equiv_p): New.
2882 (relation_equiv_p): New.
2883 (class pe_slice): New.
2884 (class equiv_oracle): Add prototypes.
2885 (pe_to_bits): New.
2886 (bits_to_pe): New.
2887 (pe_min): New.
2888
2889 2022-10-13 Richard Biener <rguenther@suse.de>
2890
2891 PR tree-optimization/107247
2892 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
2893 Reduce multi vector SLP reduction accumulators. Check
2894 the adjusted number of accumulator vectors against
2895 one for the re-use in the epilogue.
2896
2897 2022-10-13 Jakub Jelinek <jakub@redhat.com>
2898
2899 * genmodes.cc (emit_mode_wider): Emit previous content of
2900 mode_wider array into mode_next array and for mode_wider
2901 emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
2902 otherwise skip through modes with the same precision.
2903 * machmode.h (mode_next): Declare.
2904 (GET_MODE_NEXT_MODE): New inline function.
2905 (mode_iterator::get_next, mode_iterator::get_known_next): New
2906 function templates.
2907 (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
2908 (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
2909 (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
2910 (FOR_EACH_WIDER_MODE_FROM): Define.
2911 (FOR_EACH_NEXT_MODE): Define.
2912 * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
2913 instead of FOR_EACH_MODE_FROM.
2914 * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant
2915 !CLASS_HAS_WIDER_MODES_P check.
2916 (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
2917 FOR_EACH_MODE_FROM.
2918 * config/i386/i386-expand.cc (get_mode_wider_vector): Use
2919 GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
2920
2921 2022-10-13 Wilco Dijkstra <wdijkstr@arm.com>
2922
2923 PR target/105773
2924 * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
2925 GT/LE for merging compare with zero into AND.
2926 (aarch64_get_condition_code_1): Add CC_NZVmode support.
2927 * config/aarch64/aarch64-modes.def: Add CC_NZV.
2928 * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
2929
2930 2022-10-13 Richard Biener <rguenther@suse.de>
2931
2932 PR tree-optimization/107160
2933 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
2934 Do not register accumulator if we failed to reduce it
2935 to a single vector.
2936
2937 2022-10-13 Aldy Hernandez <aldyh@redhat.com>
2938
2939 * range-op-float.cc (range_operator_float::op1_op2_relation): New.
2940 (class foperator_equal): Add using.
2941 (class foperator_not_equal): Same.
2942 (class foperator_lt): Same.
2943 (class foperator_le): Same.
2944 (class foperator_gt): Same.
2945 (class foperator_ge): Same.
2946 * range-op.cc (range_op_handler::op1_op2_relation): New.
2947 * range-op.h (range_operator_float::op1_op2_relation): New.
2948
2949 2022-10-13 Richard Biener <rguenther@suse.de>
2950
2951 * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
2952 * match.pd: Replace 'return' statements in with expressions
2953 with appropriate variants.
2954
2955 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
2956
2957 PR tree-optimization/107229
2958 * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
2959
2960 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
2961
2962 PR tree-optimization/107226
2963 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
2964 BITFIELD_REF's with non integral typed first operands.
2965
2966 2022-10-13 Joseph Myers <joseph@codesourcery.com>
2967
2968 * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
2969 (LDBL_IS_IEC_60559): Update comment.
2970
2971 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
2972
2973 * range-op-float.cc (class foperator_negate): New.
2974 (floating_op_table::floating_op_table): Add NEGATE_EXPR
2975 (range_op_float_tests): Add negate tests.
2976
2977 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
2978
2979 * config/riscv/riscv-vector-builtins.h: Remove unused macro.
2980
2981 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
2982
2983 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
2984 clang-format.
2985 (add_vector_type_attribute): Ditto.
2986 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
2987 clang-format.
2988 * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
2989 clang-format.
2990
2991 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
2992
2993 * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
2994 vector types.
2995 (build_const_pointer): New function.
2996 (register_builtin_type): Ditto.
2997 (DEF_RVV_TYPE): Simplify macro.
2998 (register_vector_type): Refine implementation.
2999 * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
3000
3001 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3002
3003 * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
3004 this to ....
3005 * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
3006 here.
3007
3008 2022-10-12 Cui,Lili <lili.cui@intel.com>
3009
3010 * config/i386/driver-i386.cc (host_detect_local_cpu):
3011 Move sapphirerapids out of AVX512_VP2INTERSECT.
3012 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
3013 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
3014
3015 2022-10-12 Martin Liska <mliska@suse.cz>
3016
3017 * gcov-io.cc (gcov_write_summary): Rename to ...
3018 (gcov_write_object_summary): ... this.
3019 * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
3020 (GCOV_TAG_SUMMARY_LENGTH): ... this.
3021
3022 2022-10-12 Martin Liska <mliska@suse.cz>
3023
3024 * configure: Regenerate.
3025
3026 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
3027
3028 * range-op-float.cc (frange_float): New.
3029 (range_op_float_tests): New.
3030 * range-op.cc (range_op_tests): Call range_op_float_tests.
3031
3032 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
3033
3034 * value-range.h (frange::nan_signbit_p): New.
3035
3036 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
3037
3038 * value-range.cc (frange::set_nonnegative): Pass bool to
3039 update_nan.
3040 * value-range.h: Disallow conversion to bool in update_nan().
3041
3042 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
3043
3044 * value-range.h (frange::frange): Add constructor taking type.
3045
3046 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
3047
3048 * range-op-float.cc: Add relation_kind = VREL_VARYING to all
3049 methods.
3050
3051 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
3052
3053 * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
3054 calling tracer.trailer().
3055
3056 2022-10-11 Jakub Jelinek <jakub@redhat.com>
3057
3058 PR target/107185
3059 * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
3060 MASK_REGNO_P (REGNO (x)).
3061
3062 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
3063
3064 * range-op-float.cc (class foperator_abs): New.
3065 (floating_op_table::floating_op_table): Add ABS_EXPR entry.
3066
3067 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
3068
3069 * range-op-float.cc (foperator_unordered_le::op1_range): New.
3070 (foperator_unordered_le::op2_range): New.
3071 (foperator_unordered_gt::op1_range): New.
3072 (foperator_unordered_gt::op2_range): New.
3073 (foperator_unordered_ge::op1_range): New.
3074 (foperator_unordered_ge::op2_range): New.
3075 (foperator_unordered_equal::op1_range): New.
3076
3077 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
3078
3079 * range-op-float.cc (class foperator_unordered_lt): New.
3080 (class foperator_relop_unknown): Remove
3081 (class foperator_unordered_le): New.
3082 (class foperator_unordered_gt): New.
3083 (class foperator_unordered_ge): New.
3084 (class foperator_unordered_equal): New.
3085 (floating_op_table::floating_op_table): Replace all UN_EXPR
3086 entries with their appropriate fop_unordered_* counterpart.
3087
3088 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
3089
3090 * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
3091 (operator_lt::op2_range): Same.
3092 (operator_le::op2_range): Same.
3093 (operator_gt::op2_range): Same.
3094 (operator_ge::op2_range): Same.
3095
3096 2022-10-11 Richard Biener <rguenther@suse.de>
3097
3098 PR tree-optimization/107212
3099 * tree-vect-loop.cc (vectorizable_reduction): Make sure to
3100 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
3101 reduction.
3102 (vectorizable_live_operation): Do not pun to the SLP
3103 node representative for reduction epilogue generation.
3104
3105 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
3106
3107 * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
3108
3109 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
3110
3111 * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
3112 * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
3113 (GEN_VNM): Add gathervNm_expr.
3114 (GEN_VN_NOEXEC): Add vec_seriesvNsi.
3115 (gcn_expand_vector_init): Add initialization of vectors from smaller
3116 vectors.
3117
3118 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
3119
3120 * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
3121 * config/gcn/gcn-valu.md
3122 (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
3123 * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
3124 new overload variant.
3125
3126 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
3127
3128 * config/gcn/gcn-valu.md
3129 (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
3130 (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
3131 * config/gcn/gcn.h (MODE_VF): New macro.
3132
3133 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
3134
3135 * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
3136 V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
3137 V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
3138 V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
3139 V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
3140 V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
3141 (ADJUST_ALIGNMENT): Likewise.
3142 * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
3143 (gcn_full_exec_reg): Delete.
3144 (gcn_scalar_exec): Delete.
3145 (gcn_scalar_exec_reg): Delete.
3146 (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
3147 (vgpr_2reg_mode_p): Likewise.
3148 (vgpr_vector_mode_p): Use VECTOR_MODE_P.
3149 * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
3150 V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
3151 V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
3152 Add additional vector modes.
3153 (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
3154 (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
3155 Add additional vector mode mappings.
3156 (mov<mode>): Implement vector length conversions.
3157 (ldexp<mode>3<exec>): Use VnSI.
3158 (frexp<mode>_exp2<exec>): Likewise.
3159 (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
3160 (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
3161 (fold_left_plus_<mode>): Use V64_FP.
3162 (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
3163 (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
3164 (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
3165 (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
3166 (*plus_carry_dpp_shr_<mode>): Use V64_DI.
3167 (mov_from_lane63_<mode>): Use V64_2REG.
3168 * config/gcn/gcn.cc (VnMODE): New function.
3169 (gcn_can_change_mode_class): Support multiple vector sizes.
3170 (gcn_modes_tieable_p): Likewise.
3171 (gcn_operand_part): Likewise.
3172 (gcn_scalar_exec): Delete function.
3173 (gcn_scalar_exec_reg): Delete function.
3174 (gcn_full_exec): Delete function.
3175 (gcn_full_exec_reg): Delete function.
3176 (gcn_inline_fp_constant_p): Support multiple vector sizes.
3177 (gcn_fp_constant_p): Likewise.
3178 (A): New macro.
3179 (GEN_VN_NOEXEC): New macro.
3180 (GEN_VNM_NOEXEC): New macro.
3181 (GEN_VN): New macro.
3182 (GEN_VNM): New macro.
3183 (GET_VN_FN): New macro.
3184 (CODE_FOR): New macro.
3185 (CODE_FOR_OP): New macro.
3186 (gen_mov_with_exec): Delete function.
3187 (gen_duplicate_load): Delete function.
3188 (gcn_expand_vector_init): Support multiple vector sizes.
3189 (strided_constant): Likewise.
3190 (gcn_addr_space_legitimize_address): Likewise.
3191 (gcn_expand_scalar_to_vector_address): Likewise.
3192 (gcn_expand_scaled_offsets): Likewise.
3193 (gcn_secondary_reload): Likewise.
3194 (gcn_valid_cvt_p): Likewise.
3195 (gcn_expand_builtin_1): Likewise.
3196 (gcn_make_vec_perm_address): Likewise.
3197 (gcn_vectorize_vec_perm_const): Likewise.
3198 (gcn_vector_mode_supported_p): Likewise.
3199 (gcn_autovectorize_vector_modes): New hook.
3200 (gcn_related_vector_mode): Support multiple vector sizes.
3201 (gcn_expand_dpp_shr_insn): Add FIXME comment.
3202 (gcn_md_reorg): Support multiple vector sizes.
3203 (print_reg): Likewise.
3204 (print_operand): Likewise.
3205 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
3206
3207 2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
3208
3209 * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
3210 here...
3211 (tree_if_conversion): ... to here. Also call bitfield lowering when
3212 appropriate.
3213 (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
3214 need to lower bitfields.
3215 (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
3216 checked earlier.
3217 (get_bitfield_rep): New function.
3218 (lower_bitfield): Likewise.
3219 (bitfields_to_lower_p): Likewise.
3220 (need_to_lower_bitfields): New global boolean.
3221 (need_to_ifcvt): Likewise.
3222 * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
3223 message.
3224 * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
3225 parameter.
3226 (vect_recog_bitfield_ref_pattern): New.
3227 (vect_recog_bit_insert_pattern): New.
3228
3229 2022-10-11 liuhongt <hongtao.liu@intel.com>
3230
3231 PR target/107093
3232 * config/i386/i386.md (*notxor<mode>_1): New post_reload
3233 define_insn_and_split.
3234 (*notxorqi_1): Ditto.
3235
3236 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
3237
3238 PR tree-optimization/107195
3239 * value-range.cc (irange::set_range_from_nonzero_bits): Set range
3240 to [0,0] when nonzero mask is 0.
3241
3242 2022-10-11 Olivier Hainque <hainque@adacore.com>
3243 Olivier Hainque <hainque@adacore.com>
3244
3245 * configure: Regenerate.
3246
3247 2022-10-11 Olivier Hainque <hainque@adacore.com>
3248
3249 * config.gcc (*vxworks*): Add t-slibgcc fragment
3250 if enable_shared.
3251
3252 2022-10-11 Olivier Hainque <hainque@adacore.com>
3253
3254 * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
3255 internal macros.
3256 (VXWORKS_LIBGCC_SPEC): Use them and document.
3257
3258 2022-10-11 Martin Liska <mliska@suse.cz>
3259
3260 * gimple-range-op.cc: Add override keyword.
3261
3262 2022-10-11 Eugene Rozenfeld <erozen@microsoft.com>
3263
3264 PR debug/107193
3265 * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
3266 out of the loop.
3267
3268 2022-10-11 Liwei Xu <liwei.xu@intel.com>
3269 liuhongt <hongtao.liu@intel.com>
3270
3271 PR tree-optimization/54346
3272 * match.pd: Merge the index of VCST then generates the new vec_perm.
3273
3274 2022-10-11 Jeff Law <jeffreyalaw@gmail.com>
3275
3276 PR rtl-optimization/107182
3277 * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
3278 return, clear EDGE_CROSSING on the appropriate edge.
3279
3280 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3281
3282 * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
3283 from config/riscv/riscv-vector-builtins.h.
3284 (DEF_RVV_TYPE): Change USER_NAME to NAME.
3285 (register_vector_type): Change user_name to name.
3286 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
3287 USER_NAME to NAME.
3288 * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
3289 to riscv-vector-builtins.cc.
3290 (DEF_RVV_TYPE): Change USER_NAME to NAME.
3291
3292 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3293
3294 * config/riscv/riscv.md: Add vsetvl instruction type.
3295
3296 2022-10-10 Nathan Sidwell <nathan@acm.org>
3297
3298 * common.opt (-fabi-version=): Document 18.
3299 * doc/invoke.texi (-fabi-version): Document 18.
3300
3301 2022-10-10 Andrea Corallo <andrea.corallo@arm.com>
3302
3303 PR other/99723
3304 * toplev.cc (toplev::main): Don't run self tests in case of
3305 previous error.
3306
3307 2022-10-10 Kito Cheng <kito.cheng@sifive.com>
3308
3309 * config/riscv/riscv-c.cc: Add newline to the end of file.
3310
3311 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
3312
3313 * range-op-float.cc (class foperator_identity): Make members public.
3314 (class foperator_equal): Same.
3315 (class foperator_not_equal): Same.
3316 (class foperator_lt): Same.
3317 (class foperator_le): Same.
3318 (class foperator_gt): Same.
3319 (class foperator_ge): Same.
3320 (class foperator_unordered): Same.
3321 (class foperator_ordered): Same.
3322
3323 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
3324
3325 * value-range.h (frange::maybe_isnan): New.
3326
3327 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
3328
3329 * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
3330 TRUE side for x != x.
3331
3332 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
3333
3334 * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
3335 operands are equal and result is TRUE.
3336
3337 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
3338
3339 * range.h (range_true): Return int_range<2>.
3340 (range_false): Same.
3341 (range_true_and_false): Same.
3342
3343 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
3344
3345 * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
3346
3347 2022-10-10 liuhongt <hongtao.liu@intel.com>
3348
3349 PR target/107185
3350 * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
3351 predicate of operands[0] and operands[1].
3352
3353 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
3354
3355 * common/config/arc/arc-common.cc (arc_option_optimization_table):
3356 Remove Rcq and Rcw options.
3357 * config/arc/arc.opt (mRcq): Ignore option, preserve it for
3358 backwards compatibility.
3359 (mRcw): Likewise.
3360 * doc/invoke.texi (mRcw, mRcq): Update document.
3361
3362 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
3363
3364 * config/arc/arc.cc (arc_check_short_reg_p): New function.
3365 (arc_address_cost): Replace satisfies_constraint_Rcq with the
3366 above new function.
3367 (arc_output_addsi): Likewise.
3368 (split_addsi): Likewise.
3369 (split_subsi): Likewise.
3370 * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
3371 (movhi_insn): Likewise.
3372 (movsi_insn): Likewise.
3373 (tst_movb): Likewise.
3374 (tst): Likewise.
3375 (tst_bitfield): Likewise.
3376 (abssi2): Likewise.
3377 (addsi3_mixed): Likewise.
3378 (mulhisi3_reg): Likewise.
3379 (umulhisi3_reg): Likewise.
3380 (mulsi_600): Likewise.
3381 (mul64): Likewise.
3382 (subsi3_insn): Likewise.
3383 (bicsi3_insn): Likewise.
3384 (xorsi3): Likewise.
3385 (negsi2): Likewise.
3386 (one_cmplsi2): Likewise.
3387 (lshrsi3_insn): Likewise.
3388 (cmpsi_cc_insn_mixed): Likewise.
3389 (cmpsi_cc_zn_insn): Likewise.
3390 (btst): Likewise.
3391 (cmpsi_cc_z_insn): Likewise.
3392 (cmpsi_cc_c_insn): Likewise.
3393 (indirect_jump): Likewise.
3394 (casesi_jump): Likewise.
3395 (call_i): Likewise.
3396 (call_value_i): Likewise.
3397 (bbit): Likewise.
3398 (abssf2): Likewise.
3399 (ashlsi2_cnt1): Likewise.
3400 (lshrsi3_cnt1): Likewise.
3401 (ashrsi3_cnt1): Likewise.
3402 * config/arc/constraints.md (Rcq): Remove.
3403
3404 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
3405
3406 * config/arc/arc.md (smaxsi3): Remove Rcw.
3407 (sminsi3): Likewise.
3408 (addsi3_mixed): Likewise.
3409 (add_f_2): Likewise.
3410 (subsi3_insn): Likewise.
3411 (sub_f): Likewise.
3412 (sub_n): Likewise.
3413 (bset): Likewise.
3414 (bxor): Likewise.
3415 (bclr): Likewise.
3416 (bset_insn): Likewise.
3417 (bxor_insn): Likewise.
3418 (bclr_insn): Likewise.
3419 (bmsk_insn): Likewise.
3420 (bicsi3_insn): Likewise.
3421 (xorsi3): Likewise.
3422 (negsi2): Likewise.
3423 (lshrsi3_insn): Likewise.
3424 (abssf2): Likewise.
3425 (negsf2): Likewise.
3426 * config/arc/constraints.md(Rcw): Remove it.
3427
3428 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
3429
3430 * config/arc/arc.md(mulsi3_700): Remove Rcr.
3431 (mulsi3_highpart): Likewise.
3432 (umulsi3_highpart_i): Likewise.
3433 (umulsi3_highpart_int): Likewise.
3434 (macd): Likewise.
3435 (macdu): Likewise.
3436 * config/arc/constraints.md (Rcr): Remove it.
3437
3438 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
3439
3440 * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
3441
3442 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
3443
3444 PR target/106562
3445 * config/pru/pru-protos.h (pru_noteq_condition): New
3446 function declaration.
3447 * config/pru/pru.cc (pru_noteq_condition): New function.
3448 * config/pru/pru.md (cbranchdi4): Define new pattern.
3449
3450 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
3451
3452 * config/pru/pru.md (lshrdi3): New expand pattern.
3453 (ashldi3): Ditto.
3454
3455 2022-10-09 YunQiang Su <yunqiang.su@cipunited.com>
3456
3457 * config.gcc: set with_arch to default_mips_arch if no defined.
3458 * config/mips/driver-native.cc (host_detect_local_cpu):
3459 try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
3460 pass -mnan=2008 if __mips_nan2008__ is defined.
3461 * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
3462 * configure.ac: detect sys/auxv.h and getauxval.
3463 * configure: regenerated.
3464
3465 2022-10-07 Eugene Rozenfeld <erozen@microsoft.com>
3466
3467 * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
3468 on the same line within the same basic block.
3469
3470 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
3471
3472 PR tree-optimization/101836
3473 * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
3474 to determine a flexible array member reference.
3475
3476 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
3477
3478 * doc/extend.texi: Document strict_flex_array attribute.
3479 * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
3480 * print-tree.cc (print_node): Print new bit decl_not_flexarray.
3481 * tree-core.h (struct tree_decl_common): New bit field
3482 decl_not_flexarray.
3483 * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
3484 in new bit decl_not_flexarray.
3485 * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
3486 out new bit decl_not_flexarray.
3487 * tree.cc (array_at_struct_end_p): Update it with the new bit field
3488 decl_not_flexarray.
3489 * tree.h (DECL_NOT_FLEXARRAY): New flag.
3490
3491 2022-10-07 Olivier Hainque <hainque@adacore.com>
3492
3493 * config/vxworks/_vxworks-versions.h: Use OS specific
3494 paths in #include of version.h.
3495
3496 2022-10-07 Martin Liska <mliska@suse.cz>
3497
3498 * opts.cc (finish_options): Print sorry message only
3499 for -flive-patching=inline-only-static.
3500
3501 2022-10-07 Jason Merrill <jason@redhat.com>
3502
3503 * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
3504 x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
3505
3506 2022-10-07 Richard Biener <rguenther@suse.de>
3507
3508 PR tree-optimization/107153
3509 * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
3510 SSA form here.
3511 * tree-parloops.cc (gen_parallel_loop): Update SSA form
3512 after to-exit-first transform, no PHI insertion is necessary.
3513 (pass_parallelize_loops::execute): Force re-write of the
3514 virtual operand SSA web.
3515
3516 2022-10-07 Jonathan Wakely <jwakely@redhat.com>
3517
3518 * value-range.cc (irange::irange_contains_p): Fix comment typo.
3519
3520 2022-10-07 Eric Botcazou <ebotcazou@adacore.com>
3521
3522 * function.cc (thread_prologue_and_epilogue_insns): Update only
3523 entry and exit blocks when not optimizing. Remove dead statement.
3524
3525 2022-10-07 Aldy Hernandez <aldyh@redhat.com>
3526
3527 * value-range.cc (irange::irange_set): Convert nonzero mask to
3528 tree.
3529 (irange::irange_set_anti_range): Same.
3530 (irange::set): Same.
3531 (irange::verify_range): Same.
3532 (irange::contains_p): Same.
3533 (irange::invert): Same.
3534 (irange::set_range_from_nonzero_bits): Same.
3535 (irange::set_nonzero_bits): Same.
3536 (mask_to_wi): Same.
3537 (irange::intersect_nonzero_bits): Same.
3538 (irange::union_nonzero_bits): Same.
3539 * value-range.h (irange::varying_compatible_p): Same.
3540 (gt_ggc_mx): Same.
3541 (gt_pch_nx): Same.
3542 (irange::set_undefined): Same.
3543 (irange::set_varying): Same.
3544
3545 2022-10-07 Martin Liska <mliska@suse.cz>
3546
3547 * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
3548 size to function parameter.
3549 (ix86_unary_operator_ok): Likewise.
3550
3551 2022-10-07 Martin Liska <mliska@suse.cz>
3552
3553 * auto-profile.cc (get_inline_stack): Remove unused variable.
3554
3555 2022-10-07 Jakub Jelinek <jakub@redhat.com>
3556
3557 * ipa-prop.h (ipa_constant_data): Fix comment typo.
3558 * value-range.cc (irange::irange_contains_p): Likewise.
3559 * value-relation.cc (dom_oracle::set_one_relation): Likewise.
3560 * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
3561 * tree-inline.cc (remap_ssa_name): Likewise.
3562
3563 2022-10-07 Jakub Jelinek <jakub@redhat.com>
3564
3565 * attribs.h (is_attribute_namespace_p): New inline function.
3566 (lookup_attribute): Document meaning of ATTR_NS equal to "".
3567 * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
3568 (private_lookup_attribute): For ATTR_NS "" match either standard
3569 attribute or "gnu" namespace one.
3570
3571 2022-10-07 Olivier Hainque <hainque@adacore.com>
3572
3573 * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
3574 4 to 3 for VxWorks >= 7.
3575
3576 2022-10-07 Olivier Hainque <hainque@adacore.com>
3577
3578 * defaults.h (DWARF_DEFAULT_VERSION): Define if not
3579 defined already.
3580 * common.opt (gdwarf-): Use it.
3581 * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
3582 * doc/tm.texi: Update accordingly.
3583 * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
3584 * config/vxworks.cc: Remove code setting dwarf_version, now
3585 handled by the DWARF_DEFAULT_VERSION redefinition.
3586
3587 2022-10-07 Olivier Hainque <hainque@adacore.com>
3588
3589 * ginclude/stddef.h: #undef offsetof before #define.
3590
3591 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
3592
3593 PR tree-optimization/107170
3594 * vr-values.cc (vr_values::range_of_expr): Do not die on
3595 unsupported types.
3596
3597 2022-10-06 Joseph Myers <joseph@codesourcery.com>
3598
3599 * doc/invoke.texi (-fno-asm): Update description of effects on
3600 typeof keyword.
3601
3602 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
3603
3604 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
3605 dependency that is a write-after-write if the access function is not
3606 affine or constant.
3607
3608 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
3609
3610 * df-scan.cc (df_ref_create_structure): Minor cleanup.
3611
3612 2022-10-06 Richard Biener <rguenther@suse.de>
3613
3614 PR middle-end/107115
3615 * expr.cc (store_expr): Check mems_same_for_tbaa_p before
3616 eliding a seemingly redundant store.
3617
3618 2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3619
3620 * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
3621 New pattern.
3622
3623 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
3624
3625 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
3626 Ampere-1 core entry.
3627
3628 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
3629
3630 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
3631
3632 2022-10-06 Richard Biener <rguenther@suse.de>
3633
3634 PR tree-optimization/107107
3635 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
3636 affect value-numbering when doing the tail merging
3637 MODIFY_EXPR lookup.
3638
3639 2022-10-06 Claudiu Zissulescu <claziss@synopsys.com>
3640
3641 * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
3642 common-pave-size.
3643
3644 2022-10-06 Jakub Jelinek <jakub@redhat.com>
3645
3646 PR c++/106654
3647 * internal-fn.def (ASSUME): New internal function.
3648 * internal-fn.h (expand_ASSUME): Declare.
3649 * internal-fn.cc (expand_ASSUME): Define.
3650 * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
3651 * fold-const.h (simple_condition_p): Declare.
3652 * fold-const.cc (simple_operand_p_2): Rename to ...
3653 (simple_condition_p): ... this. Remove forward declaration.
3654 No longer static. Adjust function comment and fix a typo in it.
3655 Adjust recursive call.
3656 (simple_operand_p): Adjust function comment.
3657 (fold_truth_andor): Adjust simple_operand_p_2 callers to call
3658 simple_condition_p.
3659 * doc/extend.texi: Document assume attribute. Move fallthrough
3660 attribute example to its section.
3661
3662 2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
3663
3664 PR rtl-optimization/107088
3665 * cselib.cc (new_cselib_val): Skip BImode while keeping track of
3666 subvalue relations.
3667
3668 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
3669
3670 * value-range.cc (frange::set): Call set_nan unconditionally.
3671 (range_tests_nan): Adjust tests.
3672 (range_tests_signed_zeros): Same.
3673 (range_tests_floats): Same.
3674 * value-range.h (frange::update_nan): Guard with HONOR_NANS.
3675 (frange::set_nan): Set undefined if !HONOR_NANS.
3676
3677 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
3678
3679 * range-op-float.cc (foperator_lt::fold_range): Remove extra check
3680 to finite_operands_p.
3681 (foperator_le::fold_range): Same.
3682 (foperator_gt::fold_range): Same.
3683 (foperator_ge::fold_range): Same.
3684
3685 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
3686
3687 * value-range-pretty-print.cc (vrange_printer::print_real_value):
3688 Avoid printing INF and NAN twice.
3689
3690 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
3691
3692 * config/rs6000/constraints.md (wD): Delete.
3693 * doc/md.texi (Machine Constraints): Adjust.
3694
3695 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
3696
3697 * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
3698 define_expand. Split the contents to...
3699 (*vsx_extract_<mode>_0): ... this. Rewrite.
3700 (*vsx_extract_<mode>_1): ... and this. Rewrite.
3701
3702 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
3703
3704 * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
3705 "wD" constraint.
3706
3707 2022-10-05 David Malcolm <dmalcolm@redhat.com>
3708
3709 PR analyzer/107060
3710 * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
3711
3712 2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3713
3714 * config.gcc: Add riscv_vector.h.
3715 * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
3716 * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
3717 (riscv_register_pragmas): Ditto.
3718 * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
3719 (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
3720 (mangle_builtin_type): Ditto.
3721 (verify_type_context): Ditto.
3722 (handle_pragma_vector): New function.
3723 * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
3724 (register_vector_type): New function.
3725 (init_builtins): Add RVV builtin types support.
3726 (handle_pragma_vector): New function.
3727 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
3728 name according to file name.
3729 (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
3730 (init_builtins): Remove declaration in riscv-vector-builtins.h.
3731 (mangle_builtin_type): Ditto.
3732 (verify_type_context): Ditto.
3733 * config/riscv/riscv.cc: Adjust for RVV builtin types support.
3734 * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
3735 * config/riscv/t-riscv: Remove redundant file including.
3736 * config/riscv/riscv_vector.h: New file.
3737
3738 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
3739
3740 * range-op.cc (operator_cast::fold_range): Handle truncating casts
3741 for nonzero masks.
3742
3743 2022-10-05 Martin Liska <mliska@suse.cz>
3744
3745 PR c/107156
3746 * attribs.h (lookup_attribute_by_prefix): Support the attribute
3747 starting with underscore (_Noreturn).
3748
3749 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
3750
3751 PR tree-optimization/107052
3752 * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
3753 nonzero bit mask.
3754
3755 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
3756
3757 PR tree-optimization/107052
3758 * range-op.cc (operator_cast::fold_range): Set nonzero mask.
3759
3760 2022-10-05 Eric Botcazou <ebotcazou@adacore.com>
3761
3762 PR tree-optimization/106698
3763 * pointer-query.cc (handle_array_ref): Fix handling of low bound.
3764
3765 2022-10-05 Vineet Gupta <vineetg@rivosinc.com>
3766
3767 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
3768 Remove __riscv_cmodel_pic, that deprecated in last version.
3769
3770 2022-10-05 David Malcolm <dmalcolm@redhat.com>
3771
3772 PR analyzer/107072
3773 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
3774
3775 2022-10-04 Jakub Jelinek <jakub@redhat.com>
3776
3777 * attribs.h (remove_attribute): Declare overload with additional
3778 attr_ns argument.
3779 (private_lookup_attribute): Declare overload with additional
3780 attr_ns and attr_ns_len arguments.
3781 (lookup_attribute): New overload with additional attr_ns argument.
3782 * attribs.cc (remove_attribute): New overload with additional
3783 attr_ns argument.
3784 (private_lookup_attribute): New overload with additional
3785 attr_ns and attr_ns_len arguments.
3786
3787 2022-10-04 Jakub Jelinek <jakub@redhat.com>
3788
3789 * attribs.cc (handle_ignored_attributes_option, decl_attributes,
3790 common_function_versions): Use auto_diagnostic_group.
3791
3792 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
3793
3794 * value-range.cc (irange::set_nonzero_bits): Remove assert.
3795
3796 2022-10-04 Richard Sandiford <richard.sandiford@arm.com>
3797
3798 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
3799 * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
3800 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
3801 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
3802 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
3803 __ARM_FEATURE_RCPC when appropriate.
3804
3805 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
3806
3807 * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
3808 (-fopenmp-simd): Likewise; update permitted directives.
3809
3810 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
3811
3812 * doc/install.texi (Specific): Add missing items to bullet list.
3813 (amdgcn): Update LLVM requirements, use version not date for newlib.
3814 (nvptx): Use version not git hash for newlib.
3815
3816 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
3817
3818 * value-range-storage.cc (irange_storage_slot::set_irange): Remove
3819 special case.
3820 * value-range.cc (irange::irange_set): Adjust for nonzero mask
3821 being a wide int.
3822 (irange::irange_set_anti_range): Same.
3823 (irange::set): Same.
3824 (irange::verify_range): Same.
3825 (irange::legacy_equal_p): Same.
3826 (irange::operator==): Same.
3827 (irange::contains_p): Same.
3828 (irange::legacy_intersect): Same.
3829 (irange::legacy_union): Same.
3830 (irange::irange_single_pair_union): Call union_nonzero_bits.
3831 (irange::irange_union): Same.
3832 (irange::irange_intersect): Call intersect_nonzero_bits.
3833 (irange::intersect): Adjust for nonzero mask being a wide int.
3834 (irange::invert): Same.
3835 (irange::set_nonzero_bits): Same.
3836 (irange::get_nonzero_bits_from_range): New.
3837 (irange::set_range_from_nonzero_bits): New.
3838 (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
3839 int.
3840 (irange::intersect_nonzero_bits): Same.
3841 (irange::union_nonzero_bits): Same.
3842 (range_tests_nonzero_bits): Remove test.
3843 * value-range.h (irange::varying_compatible_p): Adjust for nonzero
3844 mask being a wide int.
3845 (gt_ggc_mx): Same.
3846 (gt_pch_nx): Same.
3847 (irange::set_undefined): Same.
3848 (irange::set_varying): Same.
3849 (irange::normalize_kind): Same.
3850
3851 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
3852
3853 PR tree-optimization/107130
3854 * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
3855 (class cfn_ffs): New.
3856 (gimple_range_op_handler::maybe_builtin_call): Separate out
3857 CASE_CFN_FFS into its own case.
3858
3859 2022-10-03 Sergei Trofimovich <siarheit@google.com>
3860
3861 * config/i386/t-i386: Add build-time dependencies against
3862 i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
3863 i386-features.o.
3864
3865 2022-10-03 Andrew Stubbs <ams@codesourcery.com>
3866
3867 * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
3868 operand 3.
3869 * doc/md.texi (while_ult): Document new operand 3 usage.
3870 * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
3871 maps to a non-vector mode.
3872
3873 2022-10-03 Andrew MacLeod <amacleod@redhat.com>
3874
3875 PR tree-optimization/107109
3876 * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
3877
3878 2022-10-03 Christophe Lyon <christophe.lyon@arm.com>
3879
3880 * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
3881 clobber.
3882 (mve_vrev64q_m_f<mode>): Likewise.
3883
3884 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
3885
3886 * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
3887 (range_tests_nonzero_bits): New test.
3888
3889 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
3890
3891 * value-range.cc (irange::operator==): Early bail on m_num_ranges
3892 equal to 0.
3893
3894 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
3895
3896 * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
3897 check when comparing VR_VARYING ranges.
3898
3899 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
3900
3901 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
3902 incompatible ranges in ipa-prop.
3903
3904 2022-10-02 Jakub Jelinek <jakub@redhat.com>
3905
3906 PR tree-optimization/107121
3907 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
3908 DEFFERED_INIT -> DEFERRED_INIT.
3909
3910 2022-10-02 Marc Poulhiès <poulhies@adacore.com>
3911
3912 * config/vxworks-driver.cc: New.
3913 * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
3914 * config/t-vxworks: Add vxworks-driver.o.
3915 * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
3916
3917 2022-10-02 Olivier Hainque <hainque@adacore.com>
3918
3919 * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
3920 HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
3921 of ENABLE_SHARED_LIBGCC.
3922
3923 2022-10-01 Stafford Horne <shorne@gmail.com>
3924
3925 * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
3926 HAVE_AS_TLS is defined.
3927
3928 2022-10-01 Julian Brown <julian@codesourcery.com>
3929
3930 * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
3931 handling.
3932
3933 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
3934
3935 * config/h8300/h8300.md (HSI2): New iterator.
3936 (eqne_invert): Similarly.
3937 * config/h8300/testcompare.md (testhi_upper_z): New pattern.
3938 (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
3939 (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
3940 define_insn_and_splits and/or define_insns.
3941 (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
3942 (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
3943
3944 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
3945
3946 * tree-ssa-dom.cc (record_edge_info): Install correct version of
3947 patch.
3948
3949 2022-10-01 Eugene Rozenfeld <erozen@microsoft.com>
3950
3951 * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
3952
3953 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
3954
3955 * tree-ssa-dom.cc (single_block_loop_p): New function.
3956 (record_edge_info): Also record equivalences for the outgoing
3957 edge of a single block loop where the condition is an invariant.
3958
3959 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
3960
3961 * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
3962 (free_all_edge_infos): Do not clear e->aux here.
3963
3964 2022-09-30 H.J. Lu <hjl.tools@gmail.com>
3965
3966 * target.def (TARGET_C_EXCESS_PRECISION): Document
3967 -fexcess-precision=16.
3968
3969 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
3970
3971 * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
3972
3973 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
3974
3975 PR target/106815
3976 * config/riscv/riscv.cc (riscv_excess_precision): Add support
3977 for EXCESS_PRECISION_TYPE_FLOAT16.
3978
3979 2022-09-30 Jakub Jelinek <jakub@redhat.com>
3980
3981 PR c++/107080
3982 * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
3983 and _Float16 as DF16_.
3984 * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
3985 (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
3986 rather than mangling __fp16 as __fp16.
3987
3988 2022-09-30 Lewis Hyatt <lhyatt@gmail.com>
3989
3990 PR preprocessor/69543
3991 * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
3992 information away from the diagnostic location.
3993 (maybe_warn_read_write_only): Likewise.
3994 (maybe_warn_operand): Likewise.
3995
3996 2022-09-30 Jakub Jelinek <jakub@redhat.com>
3997
3998 PR c++/107080
3999 * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
4000 as Dh and _Float16 as DF16_.
4001
4002 2022-09-30 Jakub Jelinek <jakub@redhat.com>
4003
4004 PR c++/107080
4005 * config/i386/i386.cc (ix86_mangle_type): Always return NULL
4006 for float128_type_node or float64x_type_node, don't check
4007 float128t_type_node later on.
4008 * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
4009 for float128_type_node or float64x_type_node.
4010 * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
4011 Don't check float128_type_node later on.
4012 * config/s390/s390.cc (s390_mangle_type): Don't use
4013 TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
4014 a few lines earlier.
4015
4016 2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
4017 Yvan ROUX <yvan.roux@foss.st.com>
4018
4019 * doc/sourcebuild.texi: Document new vma_equals_lma effective
4020 target check.
4021
4022 2022-09-30 Jiawei <jiawei@iscas.ac.cn>
4023
4024 * config/riscv/riscv.cc (riscv_file_start): New .option.
4025 * config/riscv/riscv.opt: New options.
4026 * doc/invoke.texi: New definations.
4027
4028 2022-09-30 Kewen Lin <linkw@linux.ibm.com>
4029
4030 PR target/99888
4031 PR target/105649
4032 * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
4033 documentation for PowerPC ELFv2 ABI dual entry points.
4034 * config/rs6000/rs6000-internal.h
4035 (rs6000_print_patchable_function_entry): New function declaration.
4036 * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
4037 Support patchable-function-entry by emitting nops before and after
4038 local entry for the function that needs global entry.
4039 * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
4040 the function that needs global entry till global entry has been
4041 emitted.
4042 * config/rs6000/rs6000.h (struct machine_function): New bool member
4043 global_entry_emitted.
4044
4045 2022-09-30 Richard Biener <rguenther@suse.de>
4046
4047 PR tree-optimization/107095
4048 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
4049 for .MASK_STORE size.
4050
4051 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
4052
4053 * range-op.cc (plus_minus_ranges): New.
4054 (adjust_op1_for_overflow): New.
4055 (operator_plus::op1_range): Use new adjustment.
4056 (operator_plus::op2_range): Ditto.
4057 (operator_minus::op1_range): Ditto.
4058 * value-relation.h (relation_lt_le_gt_ge_p): New.
4059
4060 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
4061
4062 * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
4063 (gori_compute::compute_operand1_range): Invoke
4064 refine_using_relation when applicable.
4065 (gori_compute::compute_operand2_range): Ditto.
4066 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
4067
4068 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
4069
4070 * gimple-range-gori.cc (ori_compute::compute_operand_range):
4071 Create a relation record and pass it along when possible.
4072 (gori_compute::compute_operand1_range): Pass relation along.
4073 (gori_compute::compute_operand2_range): Ditto.
4074 (gori_compute::compute_operand1_and_operand2_range): Ditto.
4075 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
4076 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
4077 relation to op1_range call.
4078 (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
4079 * gimple-range-op.h (class gimple_range_op_handler): Adjust
4080 prototypes.
4081
4082 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
4083
4084 * value-relation.cc (class value_relation): Move to .h file.
4085 (value_relation::set_relation): Ditto.
4086 (value_relation::value_relation): ditto.
4087 * value-relation.h (class value_relation): Move from .cc file.
4088 (value_relation::set_relation): Ditto
4089 (value_relation::value_relation): Ditto.
4090
4091 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
4092
4093 * range-op.cc (operator_minus::op2_range): Check for undefined.
4094 (operator_mult::op1_range): Ditto.
4095 (operator_exact_divide::op1_range): Ditto.
4096 (operator_lshift::op1_range): Ditto.
4097 (operator_rshift::op1_range): Ditto.
4098 (operator_cast::op1_range): Ditto.
4099 (operator_bitwise_and::op1_range): Ditto.
4100 (operator_bitwise_or::op1_range): Ditto.
4101 (operator_trunc_mod::op1_range): Ditto.
4102 (operator_trunc_mod::op2_range): Ditto.
4103 (operator_bitwise_not::op1_range): Ditto.
4104 (pointer_or_operator::op1_range): Ditto.
4105 (range_op_handler::op1_range): Ditto.
4106 (range_op_handler::op2_range): Ditto.
4107
4108 2022-09-29 Andrew Stubbs <ams@codesourcery.com>
4109
4110 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
4111 Remove unused elt_bits variable.
4112
4113 2022-09-29 Olivier Hainque <hainque@adacore.com>
4114
4115 * config/vxworks.h: Add comment on our use of
4116 HAVE_INITFINI_ARRAY_SUPPORT.
4117
4118 2022-09-29 Olivier Hainque <hainque@adacore.com>
4119
4120 * config/aarch64/t-aarch64-vxworks: Request multilib
4121 variants for mcmodel=large.
4122
4123 2022-09-29 Olivier Hainque <hainque@adacore.com>
4124
4125 * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
4126 resetting to 0.
4127
4128 2022-09-29 Olivier Hainque <hainque@adacore.com>
4129
4130 * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
4131 when ARM_UNWIND_INFO is set.
4132
4133 2022-09-29 Julian Brown <julian@codesourcery.com>
4134
4135 PR middle-end/107028
4136 * gimplify.cc (omp_check_mapping_compatibility,
4137 oacc_resolve_clause_dependencies): New functions.
4138 (omp_accumulate_sibling_list): Remove redundant duplicate clause
4139 detection for OpenACC.
4140 (build_struct_sibling_lists): Skip deleted groups. Don't build sibling
4141 list for struct variables that are fully mapped on the same directive
4142 for OpenACC.
4143 (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
4144
4145 2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com>
4146
4147 PR middle-end/25521
4148 * varasm.cc (categorize_decl_for_section): Place `const volatile'
4149 objects in read-only sections.
4150 (default_select_section): Likewise.
4151
4152 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4153
4154 * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
4155 of to_widest.
4156
4157 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4158
4159 * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
4160 (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
4161 (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test.
4162 (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
4163 (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
4164 on TARGET_SVE.
4165 (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
4166 (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
4167 (TARGET_F32MM, TARGET_F64MM): Delete.
4168 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
4169 float macros with just TARGET_FLOAT rather than TARGET_FLOAT
4170 || TARGET_SIMD.
4171 * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
4172 only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
4173 (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
4174 rather than TARGET_SIMD && TARGET_AES.
4175 (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
4176 (*aarch64_crypto_aese_fused): Likewise.
4177 (*aarch64_crypto_aesd_fused): Likewise.
4178 (aarch64_crypto_pmulldi): Likewise.
4179 (aarch64_crypto_pmullv2di): Likewise.
4180 (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
4181 (aarch64_crypto_sha1hv4si): Likewise.
4182 (aarch64_be_crypto_sha1hv4si): Likewise.
4183 (aarch64_crypto_sha1su1v4si): Likewise.
4184 (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
4185 (aarch64_crypto_sha1su0v4si): Likewise.
4186 (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
4187 (aarch64_crypto_sha256su0v4si): Likewise.
4188 (aarch64_crypto_sha256su1v4si): Likewise.
4189 (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
4190 (aarch64_crypto_sha512su0qv2di): Likewise.
4191 (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
4192 (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
4193 (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
4194 (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
4195 (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
4196 (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
4197 * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
4198 (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
4199 (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
4200
4201 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4202
4203 * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
4204 * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
4205 (aarch64_isa_flags): Redefine as read-only macros.
4206 (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
4207 !TARGET_GENERAL_REGS_ONLY.
4208 * common/config/aarch64/aarch64-common.cc
4209 (aarch64_set_asm_isa_flags): New function.
4210 (aarch64_handle_option): Call it when updating -mgeneral-regs.
4211 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
4212 m_old_isa_flags with m_old_asm_isa_flags.
4213 (aarch64_set_asm_isa_flags): Declare.
4214 * config/aarch64/aarch64-builtins.cc
4215 (aarch64_simd_switcher::aarch64_simd_switcher)
4216 (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
4217 aarch64_asm_isa_flags instead of aarch64_isa_flags.
4218 * config/aarch64/aarch64-sve-builtins.cc
4219 (check_required_extensions): Use aarch64_asm_isa_flags instead
4220 of aarch64_isa_flags.
4221 * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
4222 (aarch64_override_options, aarch64_handle_attr_arch)
4223 (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
4224 aarch64_set_asm_isa_flags to set the ISA flags.
4225 (aarch64_option_print, aarch64_declare_function_name)
4226 (aarch64_start_file): Use aarch64_asm_isa_flags instead
4227 of aarch64_isa_flags.
4228 (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
4229 aarch64_isa_flags.
4230
4231 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4232
4233 * common/config/aarch64/aarch64-common.cc (all_extensions):
4234 Include the feature flag in flags_on and flags_off.
4235 (aarch64_parse_extension): Update accordingly.
4236 (aarch64_get_extension_string_for_isa_flags): Likewise.
4237
4238 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4239
4240 * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
4241 for feature flags throughout.
4242 * config/aarch64/aarch64-protos.h: Likewise.
4243 * config/aarch64/aarch64-sve-builtins.h: Likewise.
4244 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
4245 * config/aarch64/aarch64.cc: Likewise.
4246 * config/aarch64/aarch64.opt: Likewise.
4247 * config/aarch64/driver-aarch64.cc: Likewise.
4248
4249 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4250
4251 * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
4252 (processor_name_to_arch, arch_to_arch_name): Remove const from
4253 member variables.
4254 (all_extensions, all_cores, all_architectures): Make a constexpr.
4255 * config/aarch64/aarch64.cc (processor): Remove const from
4256 member variables.
4257 (all_architectures): Make a constexpr.
4258 * config/aarch64/driver-aarch64.cc (aarch64_core_data)
4259 (aarch64_arch_driver_info): Remove const from member variables.
4260 (aarch64_cpu_data, aarch64_arches): Make a constexpr.
4261 (get_arch_from_id): Return a pointer to const.
4262 (host_detect_local_cpu): Update accordingly.
4263
4264 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4265
4266 * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
4267 (arch_to_arch_name): Use const char * instead of std::string.
4268
4269 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4270
4271 * common/config/aarch64/aarch64-common.cc
4272 (TARGET_OPTION_INIT_STRUCT): Delete.
4273 (aarch64_option_extension): Remove is_synthetic_flag.
4274 (all_extensions): Update accordingly.
4275 (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
4276 (aarch64_option_init_struct, aarch64_contains_opt): Delete.
4277 (aarch64_get_extension_string_for_isa_flags): Rewrite to use
4278 all_extensions instead of all_extensions_on.
4279
4280 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4281
4282 * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
4283 * config/aarch64/aarch64-cores.def: Use the same format to specify
4284 lists of features.
4285 * config/aarch64/aarch64-arches.def: Likewise, moving that information
4286 from aarch64.h.
4287 * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
4288 * config/aarch64/aarch64.h (aarch64_feature): New class enum.
4289 Turn AARCH64_FL_* macros into constexprs, getting the definitions
4290 from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros.
4291 * common/config/aarch64/aarch64-common.cc: Include
4292 aarch64-feature-deps.h.
4293 (all_extensions): Update for new .def format.
4294 (all_extensions_by_on, all_cores, all_architectures): Likewise.
4295 * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
4296 (aarch64_extensions): Update for new .def format.
4297 (aarch64_cpu_data, aarch64_arches): Likewise.
4298 * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
4299 (all_architectures, all_cores): Update for new .def format.
4300 * config/aarch64/aarch64-sve-builtins.cc
4301 (check_required_extensions): Likewise.
4302 * config/aarch64/aarch64-feature-deps.h: New file.
4303
4304 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4305
4306 * config/aarch64/aarch64-option-extensions.def: Move crypto
4307 after sha2.
4308
4309 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4310
4311 * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
4312 on fp as well as simd.
4313 (sha3): Likewise.
4314 (aes): Likewise. Make +noaes disable crypto.
4315 (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and
4316 sve2-sha3.
4317 (sve2-sha3): Depend on sha2 as well as sha3.
4318
4319 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4320
4321 PR target/107025
4322 * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
4323 (AARCH64_FL_FOR_V8_4A): Update accordingly.
4324 (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
4325 * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
4326 AARCH64_FL_RCPC8_4.
4327
4328 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4329
4330 * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
4331 from the flags field.
4332 * common/config/aarch64/aarch64-common.cc (all_cores): Add it
4333 here instead.
4334 * config/aarch64/aarch64.cc (all_cores): Likewise.
4335 * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
4336
4337 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4338
4339 * config.gcc: Remove dead aarch64-option-extensions.def code.
4340 * config/aarch64/aarch64-arches.def: Update comment.
4341
4342 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4343
4344 * config/aarch64/aarch64-arches.def: Add a leading "V" to the
4345 ARCH_IDENT fields.
4346 * config/aarch64/aarch64-cores.def: Update accordingly.
4347 * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
4348 * config/aarch64/aarch64.cc (all_cores): Likewise.
4349 * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
4350 leading "V".
4351
4352 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4353
4354 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
4355 (AARCH64_FL_FOR_V8A): ...this.
4356 (AARCH64_FL_FOR_ARCH8_1): Rename to...
4357 (AARCH64_FL_FOR_V8_1A): ...this.
4358 (AARCH64_FL_FOR_ARCH8_2): Rename to...
4359 (AARCH64_FL_FOR_V8_2A): ...this.
4360 (AARCH64_FL_FOR_ARCH8_3): Rename to...
4361 (AARCH64_FL_FOR_V8_3A): ...this.
4362 (AARCH64_FL_FOR_ARCH8_4): Rename to...
4363 (AARCH64_FL_FOR_V8_4A): ...this.
4364 (AARCH64_FL_FOR_ARCH8_5): Rename to...
4365 (AARCH64_FL_FOR_V8_5A): ...this.
4366 (AARCH64_FL_FOR_ARCH8_6): Rename to...
4367 (AARCH64_FL_FOR_V8_6A): ...this.
4368 (AARCH64_FL_FOR_ARCH8_7): Rename to...
4369 (AARCH64_FL_FOR_V8_7A): ...this.
4370 (AARCH64_FL_FOR_ARCH8_8): Rename to...
4371 (AARCH64_FL_FOR_V8_8A): ...this.
4372 (AARCH64_FL_FOR_ARCH8_R): Rename to...
4373 (AARCH64_FL_FOR_V8R): ...this.
4374 (AARCH64_FL_FOR_ARCH9): Rename to...
4375 (AARCH64_FL_FOR_V9A): ...this.
4376 (AARCH64_FL_FOR_ARCH9_1): Rename to...
4377 (AARCH64_FL_FOR_V9_1A): ...this.
4378 (AARCH64_FL_FOR_ARCH9_2): Rename to...
4379 (AARCH64_FL_FOR_V9_2A): ...this.
4380 (AARCH64_FL_FOR_ARCH9_3): Rename to...
4381 (AARCH64_FL_FOR_V9_3A): ...this.
4382 * common/config/aarch64/aarch64-common.cc (all_cores): Update
4383 accordingly.
4384 * config/aarch64/aarch64-arches.def: Likewise.
4385 * config/aarch64/aarch64-cores.def: Likewise.
4386 * config/aarch64/aarch64.cc (all_cores): Likewise.
4387
4388 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4389
4390 * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
4391 (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
4392 (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
4393 (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
4394 (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
4395 (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
4396 (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
4397 (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
4398 (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
4399 (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
4400 (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
4401 (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
4402 (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
4403 (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
4404 (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
4405
4406 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4407
4408 * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
4409 (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
4410 (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
4411 (AARCH64_ISA_V9_3): Add "A" to the end of the name.
4412 (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
4413 (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
4414 accordingly.
4415 * common/config/aarch64/aarch64-common.cc
4416 (aarch64_get_extension_string_for_isa_flags): Likewise.
4417 * config/aarch64/aarch64-c.cc
4418 (aarch64_define_unconditional_macros): Likewise.
4419
4420 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
4421
4422 * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
4423
4424 2022-09-29 Jakub Jelinek <jakub@redhat.com>
4425
4426 PR bootstrap/107059
4427 * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
4428 isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
4429 before FIXED_INCLUDE_DIR entry with multilib flag 0.
4430 * gcc.cc (do_spec_1): If multiarch_dir, add
4431 include-fixed/multiarch_dir paths before include-fixed paths.
4432
4433 2022-09-29 Martin Liska <mliska@suse.cz>
4434
4435 PR driver/106897
4436 * common.opt: Add -gz=zstd value.
4437 * configure.ac: Detect --compress-debug-sections=zstd
4438 for both linker and assembler.
4439 * configure: Regenerate.
4440 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
4441 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
4442
4443 2022-09-29 Richard Biener <rguenther@suse.de>
4444
4445 PR tree-optimization/105646
4446 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
4447 the set of fallthru reachable blocks from function entry
4448 and use that to determine wlims.always_executed.
4449
4450 2022-09-29 liuhongt <hongtao.liu@intel.com>
4451
4452 PR tree-optimization/107055
4453 * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
4454 nonlinear induction variables.
4455 * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
4456 functions.
4457 (vectorizable_nonlinear_induction): Put part codes into
4458 vect_can_peel_nonlinear_iv_p.
4459 * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
4460
4461 2022-09-28 Eugene Rozenfeld <erozen@microsoft.com>
4462
4463 * basic-block.h: Remove discriminator from basic blocks.
4464 * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
4465 * final.cc (final_start_function_1): Switch from per-bb to per statement
4466 discriminator.
4467 (final_scan_insn_1): Don't keep track of basic block discriminators.
4468 (compute_discriminator): Switch from basic block discriminators to
4469 instruction discriminators.
4470 (insn_discriminator): New function to return instruction discriminator.
4471 (notice_source_line): Use insn_discriminator.
4472 * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
4473 basic block discriminators.
4474 * gimple-streamer-in.cc (input_bb): Remove reading of basic block
4475 discriminators.
4476 * gimple-streamer-out.cc (output_bb): Remove writing of basic block
4477 discriminators.
4478 * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
4479 (location_with_discriminator): New function to combine locus with
4480 a discriminator.
4481 (has_discriminator): New function to check if a location has a discriminator.
4482 (get_discriminator_from_loc): New function to get the discriminator
4483 from a location.
4484 * input.h: Declarations of new functions.
4485 * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
4486 (apply_location_cache): Keep track of current discriminator.
4487 (input_location_and_block): Read discriminator from stream.
4488 * lto-streamer-out.cc (clear_line_info): Set current discriminator to
4489 UINT_MAX.
4490 (lto_output_location_1): Write discriminator to stream.
4491 * lto-streamer.h: Add discriminator to cached_location.
4492 Add current_discr to lto_location_cache.
4493 Add current_discr to output_block.
4494 * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
4495 * rtl.h: Add extern declaration of insn_discriminator.
4496 * tree-cfg.cc (assign_discriminator): New function to assign a unique
4497 discriminator value to all statements in a basic block that have the given
4498 line number.
4499 (assign_discriminators): Assign discriminators to statement locations.
4500 * tree-pretty-print.cc (dump_location): Dump discriminators.
4501 * tree.cc (set_block): Preserve discriminator when setting block.
4502 (set_source_range): Preserve discriminator when setting source range.
4503
4504 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
4505
4506 PR target/107061
4507 * config/i386/predicates.md (encodekey128_operation): Check
4508 XMM4-XMM6 as clobbered.
4509 (encodekey256_operation): Likewise.
4510 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
4511 (encodekey256u32): Likewise.
4512
4513 2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4514
4515 * config.gcc: Add riscv-vector-builtins.o.
4516 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
4517 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
4518 * config/riscv/riscv.cc (ENTRY): New macro.
4519 (riscv_v_ext_enabled_vector_mode_p): New function.
4520 (riscv_mangle_type): Add RVV mangle.
4521 (riscv_vector_mode_supported_p): Adjust RVV machine mode.
4522 (riscv_verify_type_context): Add context check for RVV.
4523 (riscv_vector_alignment): Add RVV alignment target hook support.
4524 (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
4525 (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
4526 (TARGET_VECTOR_ALIGNMENT): Ditto.
4527 * config/riscv/t-riscv: Add riscv-vector-builtins.o
4528 * config/riscv/riscv-vector-builtins.cc: New file.
4529 * config/riscv/riscv-vector-builtins.def: New file.
4530 * config/riscv/riscv-vector-builtins.h: New file.
4531 * config/riscv/riscv-vector-switch.def: New file.
4532
4533 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
4534
4535 * var-tracking.cc (vt_add_function_parameter): Add entry values
4536 up to maximal register mode.
4537
4538 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
4539
4540 * cselib.cc (new_cselib_val): Keep track of further subvalue
4541 relations.
4542
4543 2022-09-28 Andrea Corallo <andrea.corallo@arm.com>
4544
4545 * config/arm/arm-c.cc (arm_cpu_builtins): Define
4546 __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
4547
4548 2022-09-28 Xi Ruoyao <xry111@xry111.site>
4549
4550 PR tree-optimization/105414
4551 * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
4552 (UNSPEC_FMIN): Likewise.
4553 (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
4554 (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
4555
4556 2022-09-28 Lulu Cheng <chenglulu@loongson.cn>
4557
4558 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
4559 Fixed typo in "asan_mapping.h".
4560
4561 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
4562
4563 PR middle-end/58245
4564 * calls.cc: Include "tree-eh.h".
4565 (expand_call): Check stack canary before throwing exception.
4566
4567 2022-09-27 Eugene Rozenfeld <erozen@microsoft.com>
4568
4569 * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
4570
4571 2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com>
4572
4573 * doc/invoke.texi: Update ABI version info.
4574
4575 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
4576
4577 * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
4578 singleton.
4579
4580 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
4581
4582 * value-range.cc (irange::set_nonzero_bits): Set range when known.
4583
4584 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
4585
4586 * value-range.h (irange::set): New version taking wide_int_ref.
4587
4588 2022-09-27 Jakub Jelinek <jakub@redhat.com>
4589
4590 PR tree-optimization/107029
4591 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
4592 OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
4593 signed and so can trigger even the (b % 4) == 3 case.
4594
4595 2022-09-27 Jeff Law <jeffreyalaw@gmail.com>
4596
4597 * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
4598 and return are available before trying to use them.
4599
4600 2022-09-27 Jakub Jelinek <jakub@redhat.com>
4601
4602 PR c++/106652
4603 PR c++/85518
4604 * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
4605 enumerator.
4606 * tree.h (float128t_type_node): Define.
4607 * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
4608 * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
4609 _Float<N> is supported in C++ too.
4610 * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
4611 float128t_type_node.
4612 * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
4613 float128t_type_node for __float128 instead of float128_type_node
4614 and create it if NULL.
4615 * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
4616 _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
4617 0.0f.
4618 * config/ia64/ia64.cc (ia64_init_builtins): Use
4619 float128t_type_node for __float128 instead of float128_type_node
4620 and create it if NULL.
4621 * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
4622 for float128t_type_node if non-NULL.
4623 * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
4624 float128_type_node as "u9__ieee128".
4625 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
4626 float128t_type_node for __float128 instead of float128_type_node
4627 and create it if NULL.
4628
4629 2022-09-26 Martin Liska <mliska@suse.cz>
4630
4631 * doc/invoke.texi: Add missing dash for
4632 Wanalyzer-exposure-through-uninit-copy.
4633
4634 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
4635
4636 PR tree-optimization/107009
4637 * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
4638 (range_op_bitwise_and_tests): New test.
4639
4640 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
4641
4642 PR tree-optimization/107009
4643 * tree-ssa-dom.cc
4644 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
4645 Iterate over exports.
4646
4647 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
4648
4649 * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
4650 the default.
4651 * config/nvptx/gen-multilib-matches.sh: New.
4652 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
4653 (MULTILIB_EXCEPTIONS): Handle this.
4654 * doc/install.texi (Specific) <nvptx-*-none>: Document this.
4655 * doc/invoke.texi (Nvidia PTX Options): Likewise.
4656
4657 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
4658
4659 * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
4660 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
4661 (MULTILIB_EXCEPTIONS): Handle it.
4662
4663 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
4664
4665 * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
4666 * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
4667 '-misa' appeared.
4668 * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
4669 * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
4670
4671 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
4672
4673 * config/nvptx/nvptx.h (ASM_SPEC): Define.
4674
4675 2022-09-26 Jeff Law <jeffreyalaw@gmail.com>
4676
4677 * cfgcleanup.cc (bb_is_just_return): No longer static.
4678 * cfgcleanup.h (bb_is_just_return): Add prototype.
4679 * cfgrtl.cc (fixup_reorder_chain): Do not create an
4680 unconditional jump to a return block. Conditionally
4681 remove unreachable blocks.
4682
4683 2022-09-26 Tobias Burnus <tobias@codesourcery.com>
4684
4685 PR middle-end/106982
4686 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
4687
4688 2022-09-26 Martin Liska <mliska@suse.cz>
4689
4690 * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
4691 and use only dst.
4692
4693 2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4694
4695 * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
4696 (armv9.2-a): Likewise.
4697 (armv9.3-a): Likewise.
4698 * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
4699 (AARCH64_FL_V9_2): Likewise.
4700 (AARCH64_FL_V9_3): Likewise.
4701 (AARCH64_FL_FOR_ARCH9_1): Likewise.
4702 (AARCH64_FL_FOR_ARCH9_2): Likewise.
4703 (AARCH64_FL_FOR_ARCH9_3): Likewise.
4704 (AARCH64_ISA_V9_1): Likewise.
4705 (AARCH64_ISA_V9_2): Likewise.
4706 (AARCH64_ISA_V9_3): Likewise.
4707 * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
4708 armv9.3-a values to -march.
4709
4710 2022-09-26 Martin Liska <mliska@suse.cz>
4711
4712 * value-range.cc (tree_compare): Remove unused function.
4713
4714 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
4715
4716 PR target/96072
4717 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
4718 condition for adding REG_CFA_DEF_CFA reg note with
4719 frame_pointer_needed_indeed.
4720
4721 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
4722
4723 PR target/100645
4724 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
4725 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
4726
4727 2022-09-26 Hongtao Liu <hongtao.liu@intel.com>
4728 Liwei Xu <liwei.xu@intel.com>
4729
4730 PR target/53346
4731 * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
4732 New function.
4733 (ix86_expand_vec_perm_const_1): Insert
4734 expand_vec_perm_shufps_shufps at the end of 2-instruction
4735 expand sequence.
4736
4737 2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
4738
4739 * doc/sourcebuild.texi: Fix chapter level.
4740
4741 2022-09-24 Jakub Jelinek <jakub@redhat.com>
4742
4743 PR c/107001
4744 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
4745 at the end.
4746 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
4747 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't
4748 update parent.
4749 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
4750 cur_region back after new_omp_region.
4751
4752 2022-09-23 Vineet Gupta <vineetg@rivosinc.com>
4753
4754 * config/riscv/riscv.h (LOCAL_SYM_P): New.
4755 (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
4756
4757 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
4758
4759 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
4760 (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
4761 (ADJUST_ALIGNMENT): Adjust alignment.
4762 (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
4763 (RVV_MODES): New macro.
4764 (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
4765 (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
4766
4767 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
4768
4769 * common/config/riscv/riscv-common.cc: Change "static void" to "void".
4770 * config.gcc: Add riscv-selftests.o
4771 * config/riscv/predicates.md: Allow const_poly_int.
4772 * config/riscv/riscv-protos.h (riscv_reinit): New function.
4773 (riscv_parse_arch_string): change as exten function.
4774 (riscv_run_selftests): New function.
4775 * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
4776 into const pool.
4777 (riscv_report_v_required): New function.
4778 (riscv_expand_op): New function.
4779 (riscv_expand_mult_with_const_int): New function.
4780 (riscv_legitimize_poly_move): Ditto.
4781 (riscv_legitimize_move): New function.
4782 (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
4783 vector RA.
4784 (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
4785 -marh no 'v'.
4786 (riscv_reinit): New function.
4787 (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
4788 * config/riscv/t-riscv: Add riscv-selftests.o.
4789 * config/riscv/riscv-selftests.cc: New file.
4790
4791 2022-09-23 Richard Biener <rguenther@suse.de>
4792
4793 PR tree-optimization/106922
4794 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
4795 an arbitrary number of same valued skipped stores.
4796
4797 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
4798
4799 * value-range.cc (frange::set): Swap setters such that the one
4800 accepting REAL_VALUE_TYPE does all the work.
4801
4802 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4803
4804 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
4805 (demeter): Update tunings to neoversev2.
4806 * config/aarch64/aarch64-tune.md: Regenerate.
4807 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
4808 neoversev2_addrcost_table.
4809 (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
4810 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
4811 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
4812 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
4813 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
4814 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
4815 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
4816 Update references to above.
4817 (demeter_vector_cost): Rename to neoversev2_vector_cost.
4818 (demeter_tunings): Rename to neoversev2_tunings.
4819 (aarch64_vec_op_count::rename_cycles_per_iter): Use
4820 neoversev2_sve_issue_info instead of demeter_sve_issue_info.
4821 * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
4822
4823 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
4824
4825 * range-op-float.cc (build_le): Use vrp_val_*.
4826 (build_lt): Same.
4827 (build_ge): Same.
4828 (build_gt): Same.
4829 * value-range.cc (frange::set): Chop ranges outside of the
4830 representable numbers for -ffinite-math-only.
4831 (frange::normalize_kind): Use vrp_val*.
4832 (frange::verify_range): Same.
4833 (frange::set_nonnegative): Same.
4834 (range_tests_floats): Remove tests that depend on -INF and +INF.
4835 * value-range.h (real_max_representable): Add prototype.
4836 (real_min_representable): Same.
4837 (vrp_val_max): Set max representable number for
4838 -ffinite-math-only.
4839 (vrp_val_min): Same but for min.
4840 (frange::set_varying): Use vrp_val*.
4841
4842 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
4843
4844 * real.cc (debug): New.
4845
4846 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
4847
4848 * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
4849 (vrange_printer::visit): Call print_real_value.
4850 * value-range-pretty-print.h: New print_real_value.
4851
4852 2022-09-23 Martin Liska <mliska@suse.cz>
4853
4854 * common.opt: Update -flto-compression-level documentation.
4855 * opts.cc (print_filtered_help): Do not append range to an
4856 option that uses \t syntax.
4857
4858 2022-09-23 Jakub Jelinek <jakub@redhat.com>
4859
4860 * attribs.cc (decl_attributes): Improve diagnostics, instead of
4861 saying expected between 1 and 1, found 2 just say expected 1, found 2.
4862
4863 2022-09-23 Hu, Lin1 <lin1.hu@intel.com>
4864
4865 PR target/94962
4866 * config/i386/constraints.md (BH): New define_constraint.
4867 * config/i386/i386.cc (standard_sse_constant_p): Add return
4868 3/4 when operand matches new predicate.
4869 (standard_sse_constant_opcode): Add new alternative branch to
4870 return "vpcmpeqd".
4871 * config/i386/predicates.md
4872 (vector_all_ones_zero_extend_half_operand): New define_predicate.
4873 (vector_all_ones_zero_extend_quarter_operand): Ditto.
4874 * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
4875
4876 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4877
4878 * gimple-range-fold.cc (range_of_range_op): Handle no operands.
4879 (range_of_call): Do not check for builtins.
4880 (fold_using_range::range_of_builtin_call): Delete.
4881 (fold_using_range::range_of_builtin_int_call): Delete.
4882 * gimple-range-fold.h: Adjust prototypes.
4883 * gimple-range-op.cc (class cfn_parity): New.
4884 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4885
4886 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4887
4888 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
4889 for CFN_GOACC_DIM_*.
4890 * gimple-range-op.cc (class cfn_goacc_dim): New.
4891 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4892
4893 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4894
4895 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
4896 for CFN_BUILT_IN_STRLEN.
4897 * gimple-range-op.cc (class cfn_strlen): New.
4898 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4899
4900 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4901
4902 * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
4903 (range_of_builtin_int_call): Remove cases for
4904 CFN_BUILT_IN_UBSAN_CHECK.
4905 * gimple-range-op.cc (class cfn_ubsan): New.
4906 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4907
4908 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4909
4910 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
4911 for CFN_BUILT_IN_CLRSB.
4912 * gimple-range-op.cc (class cfn_clrsb): New.
4913 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4914
4915 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4916
4917 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
4918 for CFN_CTZ.
4919 * gimple-range-op.cc (class cfn_ctz): New.
4920 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4921
4922 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4923
4924 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
4925 for CFN_CLZ.
4926 * gimple-range-op.cc (class cfn_clz): New.
4927 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4928
4929 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4930
4931 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
4932 for CFN_FFS and CFN_POPCOUNT.
4933 * gimple-range-op.cc (class cfn_pocount): New.
4934 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4935
4936 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4937
4938 * gimple-range-fold.cc (get_letter_range): Move to new class.
4939 (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
4940 and CFN_BUILT_IN_TOLOWER.
4941 * gimple-range-op.cc (class cfn_toupper_tolower): New.
4942 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4943
4944 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4945
4946 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
4947 for CFN_BUILT_IN_SIGNBIT.
4948 * gimple-range-op.cc (class cfn_signbit): New.
4949 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
4950
4951 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4952
4953 * gimple-range-fold.cc
4954 (fold_using_range::range_of_builtin_int_call): Remove case for
4955 CFN_BUILT_IN_CONSTANT_P.
4956 * gimple-range-op.cc (gimple_range_op_handler::supported_p):
4957 Check if a call also creates a range-op object.
4958 (gimple_range_op_handler): Also check builtin calls.
4959 (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P.
4960 (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P.
4961 (gimple_range_op_handler::maybe_builtin_call): Set arguments and
4962 handler for supported built-in calls.
4963 * gimple-range-op.h (maybe_builtin_call): New prototype.
4964
4965 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4966
4967 * gimple-range-fold.cc (range_of_range_op): Set result to
4968 VARYING if the call to fold_range fails.
4969 * tree-data-ref.cc (compute_distributive_range): Ditto.
4970 * tree-vrp.cc (range_fold_binary_expr): Ditto.
4971 (range_fold_unary_expr): Ditto.
4972 * value-query.cc (range_query::get_tree_range): Ditto.
4973
4974 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4975
4976 * range-op-float.cc (range_operator_float::fold_range): New base
4977 method for "int = float op int".
4978 * range-op.cc (range_op_handler::fold_range): New case.
4979 * range-op.h: Update prototypes.
4980
4981 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4982
4983 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
4984 operand 1 for second range if there is no operand 2.
4985
4986 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
4987
4988 * Makefile.in (OBJS): Add gimple-range-op.o.
4989 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
4990 gimple_range_op_handler.
4991 * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
4992 to a method in gimple_range_op_handler.
4993 (gimple_range_operand1): Ditto.
4994 (gimple_range_operand2): Ditto.
4995 (fold_using_range::fold_stmt): Use gimple_range_op_handler.
4996 (fold_using_range::range_of_range_op): Ditto.
4997 (fold_using_range::relation_fold_and_or): Ditto.
4998 (fur_source::register_outgoing_edges): Ditto.
4999 (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
5000 * gimple-range-fold.h: Adjust prototypes.
5001 * gimple-range-gori.cc (gimple_range_calc_op1): Move
5002 to a method in gimple_range_op_handler.
5003 (gimple_range_calc_op2): Ditto.
5004 (gori_compute::compute_operand_range): Use
5005 gimple_range_op_handler.
5006 (gori_compute::compute_logical_operands): Ditto.
5007 (compute_operand1_range): Ditto.
5008 (gori_compute::compute_operand2_range): Ditto.
5009 (gori_compute::compute_operand1_and_operand2_range): Ditto.
5010 * gimple-range-gori.h: Adjust protoypes.
5011 * gimple-range-op.cc: New. Supply gimple_range_op_handler methods.
5012 * gimple-range-op.h: New. Supply gimple_range_op_handler class.
5013 * gimple-range.cc (gimple_ranger::prefill_name): Use
5014 gimple_range_op_handler.
5015 (gimple_ranger::prefill_stmt_dependencies): Ditto.
5016 * gimple-range.h: Include gimple-range-op.h.
5017 * range-op.cc (range_op_handler::range_op_handler): Adjust and
5018 remove gimple * parameter option.
5019 * range-op.h: Adjust prototypes.
5020
5021 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
5022
5023 * range-op.cc (range_op_handler::set_op_handler): Set new fields.
5024 (ange_op_handler::range_op_handler): Likewise.
5025 (range_op_handler::operator bool): Remove.
5026 (range_op_handler::fold_range): Use appropriate handler.
5027 (range_op_handler::op1_range): Likewise.
5028 (range_op_handler::op2_range): Likewise.
5029 (range_op_handler::lhs_op1_relation): Likewise.
5030 (range_op_handler::lhs_op2_relation): Likewise.
5031 (range_op_handler::op1_op2_relation): Likewise.
5032 * range-op.h (class range_op_handler): Store handler pointers.
5033 (range_op_handler:: operator bool): Inline.
5034
5035 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
5036
5037 * tree-ssa-threadbackward.cc
5038 (back_threader::find_paths_to_names): Replace sequence with
5039 a call to gimple_range_ssa_names.
5040
5041 2022-09-22 Martin Liska <mliska@suse.cz>
5042 Fangrui Song <i@maskray.me>
5043
5044 * configure: Regenerate.
5045 * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
5046 and gcc_cv_as_compress_debug={0,1}.
5047 * doc/invoke.texi: Document the removal.
5048 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
5049 zlib-gnu.
5050 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
5051
5052 2022-09-22 Richard Biener <rguenther@suse.de>
5053
5054 PR tree-optimization/106922
5055 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
5056 (vn_walk_cb_data::finish): Perform delayed verification of
5057 a skipped may-alias.
5058 (vn_reference_lookup_pieces): Likewise.
5059 (vn_reference_lookup): Likewise.
5060 (vn_reference_lookup_3): When skipping stores of the same
5061 value also handle constant stores that are more than a
5062 single VDEF away by delaying the verification.
5063
5064 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
5065
5066 * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
5067 definition.
5068
5069 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
5070
5071 * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
5072 (xtensa_output_mi_thunk): New functions.
5073 (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
5074 (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
5075 (xtensa_prepare_expand_call): Use fixed register a8 as temporary
5076 when called with reload_completed set to 1.
5077
5078 2022-09-22 Richard Biener <rguenther@suse.de>
5079
5080 PR tree-optimization/99407
5081 * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
5082 (dse_classify_store): Use data-ref analysis to disambiguate more uses.
5083 (pass_dse::use_dr_analysis_p): New pass parameter.
5084 (pass_dse::set_pass_param): Implement.
5085 (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
5086 * passes.def: Allow DR analysis for the DSE pass before loop.
5087
5088 2022-09-22 Richard Biener <rguenther@suse.de>
5089
5090 * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
5091 function split out from ...
5092 (vn_nary_op_insert_pieces_predicated): ... here.
5093
5094 2022-09-22 liuhongt <hongtao.liu@intel.com>
5095
5096 PR target/106994
5097 * config/i386/mmx.md (floorv2sf2): Fix typo, use
5098 register_operand instead of vector_operand for operands[1].
5099
5100 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
5101
5102 PR tree-optimization/106967
5103 * value-range.cc (frange::set): Set known NANs to undefined for
5104 flag_finite_math_only.
5105
5106 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
5107
5108 * value-range.cc (frange::combine_zeros): Call set_undefined.
5109 (frange::intersect_nans): Same.
5110 (frange::intersect): Same.
5111 (frange::verify_range): Undefined ranges do not have a type.
5112 * value-range.h (frange::set_undefined): Clear NAN flags and type.
5113
5114 2022-09-21 Richard Biener <rguenther@suse.de>
5115
5116 PR tree-optimization/106984
5117 * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
5118 a separate statement.
5119
5120 2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5121
5122 * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
5123 EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
5124 OPTION_DEFAULT_SPECS.
5125 (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
5126 local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
5127 is given.
5128 (CONFIG_TUNE_SPEC): Define.
5129 (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
5130
5131 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
5132
5133 PR tree-optimization/106967
5134 * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
5135 (foperator_equal::op1_range): Same.
5136 (foperator_not_equal::fold_range): Same.
5137 (foperator_not_equal::op1_range): Same.
5138 (foperator_lt::fold_range): Same.
5139 (foperator_lt::op1_range): Same.
5140 (foperator_lt::op2_range): Same.
5141 (foperator_le::fold_range): Same.
5142 (foperator_le::op1_range): Same.
5143 (foperator_le::op2_range): Same.
5144 (foperator_gt::fold_range): Same.
5145 (foperator_gt::op1_range): Same.
5146 (foperator_gt::op2_range): Same.
5147 (foperator_ge::fold_range): Same.
5148 (foperator_ge::op1_range): Same.
5149 (foperator_ge::op2_range): Same.
5150 (foperator_unordered::op1_range): Same.
5151 (foperator_ordered::fold_range): Same.
5152 (foperator_ordered::op1_range): Same.
5153 (build_le): Assert that we don't have a NAN.
5154 (build_lt): Same.
5155 (build_gt): Same.
5156 (build_ge): Same.
5157
5158 2022-09-21 liuhongt <hongtao.liu@intel.com>
5159
5160 PR tree-optimization/106963
5161 * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
5162 vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
5163
5164 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
5165
5166 * value-range.h (frange::maybe_isnan): Return false for
5167 undefined ranges.
5168
5169 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
5170
5171 * value-range.cc (frange::set_nonnegative): Set +NAN.
5172 (range_tests_signed_zeros): New test.
5173 * value-range.h (frange::update_nan): New overload to set NAN sign.
5174
5175 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
5176
5177 PR target/106491
5178 * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
5179 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
5180 markup to (new) extern declarations instead of to the main
5181 definition.
5182
5183 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
5184
5185 PR tree-optimization/106794
5186 PR tree-optimization/106914
5187 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
5188 Only consider loads that already have a permutation.
5189 (vect_optimize_slp_pass::start_choosing_layouts): Assert that
5190 loads with permutations are leaf nodes. Prevent any kind of grouped
5191 access from changing layout if it doesn't have a load permutation.
5192
5193 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
5194
5195 * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
5196 early-out optimisation to SSA_NAMEs.
5197
5198 2022-09-20 Martin Liska <mliska@suse.cz>
5199
5200 * ctfc.cc (ctf_add_string): Replace "the the" with "the".
5201 * doc/md.texi: Likewise.
5202 * gimple-range-infer.cc (non_null_loadstore): Likewise.
5203
5204 2022-09-20 liuhongt <hongtao.liu@intel.com>
5205
5206 PR target/106910
5207 * config/i386/mmx.md (nearbyintv2sf2): New expander.
5208 (rintv2sf2): Ditto.
5209 (ceilv2sf2): Ditto.
5210 (lceilv2sfv2si2): Ditto.
5211 (floorv2sf2): Ditto.
5212 (lfloorv2sfv2si2): Ditto.
5213 (btruncv2sf2): Ditto.
5214 (lrintv2sfv2si2): Ditto.
5215 (roundv2sf2): Ditto.
5216 (lroundv2sfv2si2): Ditto.
5217 (*mmx_roundv2sf2): New define_insn.
5218
5219 2022-09-20 konglin1 <lingling.kong@intel.com>
5220
5221 PR middle-end/105735
5222 * tree-scalar-evolution.cc
5223 (analyze_and_compute_bitop_with_inv_effect): New function.
5224 (final_value_replacement_loop): Enhanced to handle bitop
5225 with inv induction.
5226
5227 2022-09-20 Xi Ruoyao <xry111@xry111.site>
5228
5229 * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
5230 -static-pie, pass -static -pie --no-dynamic-linker -z text to
5231 the linker, and do not pass --dynamic-linker.
5232
5233 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
5234
5235 * value-range.cc (frange::flush_denormals_to_zero): New.
5236 (frange::set): Call flush_denormals_to_zero.
5237 * value-range.h (class frange): Add flush_denormals_to_zero.
5238
5239 2022-09-20 liuhongt <hongtao.liu@intel.com>
5240
5241 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
5242 latest Intel processors.
5243
5244 2022-09-20 konglin1 <lingling.kong@intel.com>
5245
5246 PR target/106887
5247 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
5248 Fixed V16BF mode case.
5249
5250 2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
5251
5252 * targhooks.cc (default_zero_call_used_regs): Improve sorry
5253 message.
5254
5255 2022-09-18 Julian Brown <julian@codesourcery.com>
5256
5257 * gimplify.cc (omp_segregate_mapping_groups): Update comment.
5258 (gimplify_adjust_omp_clauses): Move ATTACH and
5259 ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
5260 for offloaded OpenMP regions.
5261
5262 2022-09-18 Jakub Jelinek <jakub@redhat.com>
5263
5264 PR middle-end/106831
5265 * value-range.cc (frange::singleton_p): Avoid propagating long
5266 doubles that may have multiple representations.
5267
5268 2022-09-18 Aldy Hernandez <aldyh@redhat.com>
5269
5270 * range-op-float.cc (frange_add_zeros): Replace set_signbit with
5271 union of zero.
5272 * value-query.cc (range_query::get_tree_range): Remove set_signbit
5273 use.
5274 * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
5275 Remove.
5276 (vrange_printer::print_frange_nan): New.
5277 * value-range-pretty-print.h (print_frange_prop): Remove.
5278 (print_frange_nan): New.
5279 * value-range-storage.cc (frange_storage_slot::set_frange): Set
5280 kind and NAN fields.
5281 (frange_storage_slot::get_frange): Restore kind and NAN fields.
5282 * value-range-storage.h (class frange_storage_slot): Add kind and
5283 NAN fields.
5284 * value-range.cc (frange::update_nan): Remove.
5285 (frange::set_signbit): Remove.
5286 (frange::set): Adjust for NAN fields.
5287 (frange::normalize_kind): Remove m_props.
5288 (frange::combine_zeros): New.
5289 (frange::union_nans): New.
5290 (frange::union_): Handle new NAN fields.
5291 (frange::intersect_nans): New.
5292 (frange::intersect): Handle new NAN fields.
5293 (frange::operator=): Same.
5294 (frange::operator==): Same.
5295 (frange::contains_p): Same.
5296 (frange::singleton_p): Remove special case for signed zeros.
5297 (frange::verify_range): Adjust for new NAN fields.
5298 (frange::set_zero): Handle signed zeros.
5299 (frange::set_nonnegative): Same.
5300 (range_tests_nan): Adjust tests.
5301 (range_tests_signed_zeros): Same.
5302 (range_tests_signbit): Same.
5303 (range_tests_floats): Same.
5304 * value-range.h (class fp_prop): Remove.
5305 (FP_PROP_ACCESSOR): Remove.
5306 (class frange_props): Remove
5307 (frange::lower_bound): NANs don't have endpoints.
5308 (frange::upper_bound): Same.
5309 (frange_props::operator==): Remove.
5310 (frange_props::union_): Remove.
5311 (frange_props::intersect): Remove.
5312 (frange::update_nan): New.
5313 (frange::clear_nan): New.
5314 (frange::undefined_p): New.
5315 (frange::set_nan): New.
5316 (frange::known_finite): Adjust for new NAN representation.
5317 (frange::maybe_isnan): Same.
5318 (frange::known_isnan): Same.
5319 (frange::signbit_p): Same.
5320 * gimple-range-fold.cc (range_of_builtin_int_call): Rename
5321 known_signbit_p into signbit_p.
5322
5323 2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5324
5325 * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
5326 to prevent warning.
5327
5328 2022-09-17 Jakub Jelinek <jakub@redhat.com>
5329
5330 PR tree-optimization/106958
5331 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
5332 id >= l, cast op to type1, otherwise to pointer_sized_int_node.
5333 If type has pointer type, cast exp to pointer_sized_int_node
5334 even when id < l.
5335
5336 2022-09-16 liuhongt <hongtao.liu@intel.com>
5337
5338 PR target/106910
5339 * config/i386/i386-builtins.cc
5340 (ix86_builtin_vectorized_function): Modernized with
5341 corresponding expanders.
5342 * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
5343 expander.
5344 (floor<mode>2): Ditto.
5345 (lfloor<mode><sseintvecmodelower>2): Ditto.
5346 (ceil<mode>2): Ditto.
5347 (lceil<mode><sseintvecmodelower>2): Ditto.
5348 (btrunc<mode>2): Ditto.
5349 (lround<mode><sseintvecmodelower>2): Ditto.
5350 (exp2<mode>2): Ditto.
5351
5352 2022-09-15 Joseph Myers <joseph@codesourcery.com>
5353
5354 * ginclude/float.h (INFINITY): Define only if
5355 [__FLT_HAS_INFINITY__].
5356
5357 2022-09-15 Richard Biener <rguenther@suse.de>
5358
5359 PR tree-optimization/106922
5360 * tree-ssa-pre.cc (translate_vuse_through_block): Only
5361 keep the VUSE if its def dominates PHIBLOCK.
5362 (prune_clobbered_mems): Rewrite logic so we check whether
5363 a value dies in a block when the VUSE def doesn't dominate it.
5364
5365 2022-09-15 Richard Biener <rguenther@suse.de>
5366
5367 * tree.cc (build_common_tree_nodes): Initialize void_list_node
5368 here.
5369
5370 2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com>
5371
5372 PR target/106550
5373 * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
5374
5375 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
5376
5377 * range-op-float.cc (frange_add_zeros): New.
5378 (build_le): Call frange_add_zeros.
5379 (build_ge): Same.
5380 (foperator_equal::op1_range): Same.
5381 (foperator_not_equal::op1_range): Same.
5382
5383 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
5384
5385 * range-op-float.cc (build_le): Accept frange instead of number.
5386 (build_lt): Same.
5387 (build_ge): Same.
5388 (build_gt): Same.
5389 (foperator_lt::op1_range): Pass full range to build_*.
5390 (foperator_lt::op2_range): Same.
5391 (foperator_le::op1_range): Same.
5392 (foperator_le::op2_range): Same.
5393 (foperator_gt::op1_range): Same.
5394 (foperator_gt::op2_range): Same.
5395 (foperator_ge::op1_range): Same.
5396 (foperator_ge::op2_range): Same.
5397
5398 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
5399
5400 * value-range.cc (frange::set): Use set_nan.
5401 * value-range.h (frange::set_nan): Inline code originally in
5402 set().
5403
5404 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
5405
5406 * range-op-float.cc (frange_set_nan): Remove.
5407 (build_lt): Use set_nan, update_nan, clear_nan.
5408 (build_gt): Same.
5409 (foperator_equal::op1_range): Same.
5410 (foperator_not_equal::op1_range): Same.
5411 (foperator_lt::op1_range): Same.
5412 (foperator_lt::op2_range): Same.
5413 (foperator_le::op1_range): Same.
5414 (foperator_le::op2_range): Same.
5415 (foperator_gt::op1_range): Same.
5416 (foperator_gt::op2_range): Same.
5417 (foperator_ge::op1_range): Same.
5418 (foperator_ge::op2_range): Same.
5419 (foperator_unordered::op1_range): Same.
5420 (foperator_ordered::op1_range): Same.
5421 * value-query.cc (range_query::get_tree_range): Same.
5422 * value-range.cc (frange::set_nan): Same.
5423 (frange::update_nan): Same.
5424 (frange::union_): Same.
5425 (frange::intersect): Same.
5426 (range_tests_nan): Same.
5427 (range_tests_signed_zeros): Same.
5428 (range_tests_signbit): Same.
5429 (range_tests_floats): Same.
5430 * value-range.h (class frange): Add update_nan and clear_nan.
5431 (frange::set_nan): New.
5432
5433 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
5434
5435 * value-query.cc (range_query::get_tree_range): Remove check for overflow.
5436 * value-range-pretty-print.cc (vrange_printer::visit): Move read
5437 of type until after undefined_p is checked.
5438 * value-range.cc (frange::set): Remove asserts for REAL_CST.
5439 (frange::contains_p): Tidy up.
5440 (range_tests_nan): Add comment.
5441 * value-range.h (frange::type): Check for undefined_p.
5442 (frange::set_undefined): Remove set of endpoints.
5443
5444 2022-09-14 Julian Brown <julian@codesourcery.com>
5445
5446 * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
5447 GOMP_MAP_STRUCT (for reindexing).
5448 (omp_gather_mapping_groups): Reimplement using...
5449 (omp_gather_mapping_groups_1): This new function. Stop processing at
5450 GATHER_SENTINEL.
5451 (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
5452 (omp_index_mapping_groups): Reimplement using...
5453 (omp_index_mapping_groups_1): This new function. Handle
5454 REINDEX_SENTINEL.
5455 (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
5456 functions.
5457 (omp_tsort_mapping_groups_1): Adjust handling of base group being the
5458 same as current group. Use omp_mapped_by_containing_struct.
5459 (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
5460 and omp_reindex_mapping_groups. Robustify group deletion for reordered
5461 lists.
5462 (gimplify_scan_omp_clauses): Update calls to
5463 omp_build_struct_sibling_lists.
5464
5465 2022-09-14 Julian Brown <julian@codesourcery.com>
5466
5467 * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
5468 (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
5469 (insert_struct_comp_map): Refactor function into...
5470 (build_omp_struct_comp_nodes): This new function. Remove list handling
5471 and improve self-documentation.
5472 (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move
5473 code to strip outer parts of address out of function, but strip no-op
5474 conversions.
5475 (omp_mapping_group): Add DELETED field for use during reindexing.
5476 (omp_strip_components_and_deref, omp_strip_indirections): New functions.
5477 (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
5478 (omp_gather_mapping_groups): Initialise DELETED field for new groups.
5479 (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
5480 (omp_siblist_insert_node_after, omp_siblist_move_node_after,
5481 omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
5482 helper functions.
5483 (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
5484 node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
5485 (omp_build_struct_sibling_lists): New function.
5486 (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
5487 struct_seen_clause, struct_deref_set. Call
5488 omp_build_struct_sibling_lists as pre-pass instead of handling sibling
5489 lists in the function's main processing loop.
5490 (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
5491 handling, unused now.
5492 * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
5493 struct references, and references to pointers to structs also.
5494
5495 2022-09-14 Richard Biener <rguenther@suse.de>
5496
5497 PR tree-optimization/106938
5498 * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
5499 edges for all last stmts in a block. Do EH cleanup
5500 only on the last stmt in a block.
5501
5502 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
5503
5504 PR tree-optimization/106936
5505 * value-query.cc (range_query::get_value_range): Remove assert.
5506
5507 2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5508
5509 * config/mips/mips.cc (mips_option_override): Drop unused variable.
5510
5511 2022-09-14 Julian Brown <julian@codesourcery.com>
5512
5513 * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
5514 functions.
5515 (omp_tsort_mark): Add enum.
5516 (omp_mapping_group): Add struct.
5517 (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
5518 omp_group_last, omp_gather_mapping_groups, omp_group_base,
5519 omp_index_mapping_groups, omp_containing_struct,
5520 omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
5521 omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
5522 functions.
5523 (gimplify_scan_omp_clauses): Call above functions instead of
5524 omp_target_reorder_clauses, unless we've seen an error.
5525 * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
5526 sorted mapping groups.
5527
5528 2022-09-14 Jakub Jelinek <jakub@redhat.com>
5529
5530 PR tree-optimization/106878
5531 * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
5532 reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
5533 the second argument is INTEGER_CST, BIT_AND_EXPR.
5534 * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
5535 (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
5536 POINTER_TYPE_P or OFFSET_TYPE.
5537 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
5538 pointers cast them to pointer sized integers first.
5539
5540 2022-09-14 Richard Biener <rguenther@suse.de>
5541
5542 PR tree-optimization/106934
5543 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
5544 of bitfields.
5545 (maybe_rewrite_mem_ref_base): Likewise.
5546
5547 2022-09-14 liuhongt <hongtao.liu@intel.com>
5548
5549 PR tree-optimization/106905
5550 * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
5551 false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
5552 LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
5553
5554 2022-09-13 Roger Sayle <roger@nextmovesoftware.com>
5555
5556 PR target/106877
5557 * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
5558 in gcc_assert.
5559
5560 2022-09-13 Max Filippov <jcmvbkbc@gmail.com>
5561
5562 Revert:
5563 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
5564
5565 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
5566 New macro definition.
5567 (xtensa_constant_ok_for_cprop_p):
5568 Implement the hook as mentioned above.
5569
5570 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
5571
5572 PR target/104482
5573 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
5574 the equality check for argument number, and move this hunk ahead.
5575
5576 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org>
5577
5578 PR target/105485
5579 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
5580 the handling for unresolved overloaded builtin function.
5581 (rs6000_expand_builtin): Likewise.
5582
5583 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
5584
5585 * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
5586 m_nstores, m_reduc_factor, m_gather_load and member function
5587 determine_suggested_unroll_factor.
5588 (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
5589 m_reduc_factor and m_gather_load.
5590 (rs6000_cost_data::determine_suggested_unroll_factor): New function.
5591 (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
5592 * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
5593 (rs6000-vect-unroll-issue): Likewise.
5594 (rs6000-vect-unroll-reduc-threshold): Likewise.
5595 * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
5596
5597 2022-09-13 Richard Biener <rguenther@suse.de>
5598
5599 PR middle-end/106909
5600 * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
5601 flag of a unreachable call.
5602
5603 2022-09-13 Richard Biener <rguenther@suse.de>
5604
5605 PR tree-optimization/106913
5606 * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
5607 ft_reachable on EXIT_BLOCK.
5608
5609 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
5610
5611 * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
5612 TARGET_FLOAT instead of TARGET_SIMD.
5613 (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
5614 TARGET_SIMD.
5615 (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
5616 in GPRs.
5617 (aarch64_classify_address): Treat little-endian structure moves
5618 like big-endian for TARGET_FLOAT && !TARGET_SIMD.
5619 (aarch64_secondary_memory_needed): New function.
5620 (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
5621 in the same way as TF, TI and TD.
5622 (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
5623 (aarch64_rtx_costs): Likewise.
5624 (aarch64_register_move_cost): Treat a pair of 64-bit vectors
5625 separately from a single 128-bit vector. Handle the cost implied
5626 by aarch64_secondary_memory_needed.
5627 (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
5628 TARGET_SIMD.
5629 (aarch64_expand_vec_perm_const_1): Likewise.
5630 (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
5631 * config/aarch64/iterators.md (VTX): New iterator.
5632 * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
5633 (arch_enabled): Adjust accordingly.
5634 (@aarch64_reload_mov<TX:mode>): Extend to...
5635 (@aarch64_reload_mov<VTX:mode>): ...this.
5636 * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
5637 rather than TARGET_SIMD.
5638 (movmisalign<mode>): Likewise.
5639 (load_pair<DREG:mode><DREG2:mode>): Likewise.
5640 (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
5641 (load_pair<VQ:mode><VQ2:mode>): Likewise.
5642 (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
5643 (@aarch64_split_simd_mov<mode>): Likewise.
5644 (aarch64_get_low<mode>): Likewise.
5645 (aarch64_get_high<mode>): Likewise.
5646 (aarch64_get_half<mode>): Likewise. Canonicalize to a move for
5647 lowpart extracts.
5648 (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
5649 TARGET_SIMD. Use different w<-w and r<-w instructions for
5650 !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but
5651 add an alternative specifically for w<-Z.
5652 (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
5653 TARGET_SIMD. Likewise for the associated define_splits. Disable
5654 FPR moves and immediate moves for !TARGET_SIMD but add an alternative
5655 specifically for w<-Z.
5656 (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
5657 TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD
5658 but add a new r<-w one for !TARGET_SIMD.
5659 (*aarch64_get_high<mode>): New pattern.
5660 (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
5661 (store_pair_lanes<mode>): Likewise.
5662 (*aarch64_combine_internal<mode>): Likewise. Restrict existing
5663 w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
5664 alternative for !TARGET_SIMD.
5665 (*aarch64_combine_internal_be<mode>): Likewise.
5666 (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
5667 Remove bogus arch attribute.
5668 (*aarch64_combinez_be<mode>): Likewise.
5669 (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
5670 TARGET_SIMD.
5671 (aarch64_combine<mode>): Likewise.
5672 (aarch64_rev_reglist<mode>): Likewise.
5673 (mov<mode>): Likewise.
5674 (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
5675 !TARGET_SIMD, regardless of endianness. Extend associated
5676 define_splits in the same way, both for this pattern and the
5677 ones below.
5678 (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w
5679 alternative to TARGET_SIMD.
5680 (*aarch64_be_movoi): Likewise.
5681 (*aarch64_be_movci): Likewise.
5682 (*aarch64_be_movxi): Likewise.
5683 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
5684 && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative
5685 to TARGET_SIMD for tuples of 128-bit vectors.
5686 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
5687 * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
5688 from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in
5689 the VQ and VP_2E LDP and STP peepholes.
5690
5691 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
5692
5693 * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
5694 condition. Likewise for the related define_split. Tweak formatting.
5695
5696 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
5697
5698 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
5699 New macro definition.
5700 (xtensa_constant_ok_for_cprop_p):
5701 Implement the hook as mentioned above.
5702
5703 2022-09-12 Joseph Myers <joseph@codesourcery.com>
5704
5705 * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
5706 __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
5707
5708 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
5709
5710 * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
5711 a warning + not enabling offloading if -misa=sm_30 prevents
5712 reverse offload.
5713 (main): Use tool_name as progname for diagnostic.
5714 * config/gcn/mkoffload.cc (main): Likewise.
5715
5716 2022-09-12 Aldy Hernandez <aldyh@redhat.com>
5717
5718 * value-range.cc (frange::set_signbit): Avoid changing sign when
5719 already in the correct sign.
5720
5721 2022-09-12 Max Filippov <jcmvbkbc@gmail.com>
5722
5723 * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
5724 Recognize all 4 return registers.
5725 * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
5726 * config/xtensa/xtensa.md (untyped_call): New pattern.
5727
5728 2022-09-12 Jonathan Wakely <jwakely@redhat.com>
5729
5730 * doc/extend.texi (Floating Types): Fix "_float128" typo.
5731
5732 2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
5733
5734 * config/xtensa/xtensa.cc (xtensa_constantsynth):
5735 Add new pattern for the abovementioned case.
5736
5737 2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com>
5738 Segher Boessenkool <segher@kernel.crashing.org>
5739
5740 * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
5741
5742 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
5743
5744 * config/xtensa/xtensa.md: Rewrite the split pattern that performs
5745 the abovementioned process so that insns that overwrite clobbered
5746 register no longer need to be contiguous.
5747 (DSC): Remove as no longer needed.
5748
5749 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
5750
5751 * config/xtensa/xtensa.cc (machine_function): New boolean member as
5752 a flag that controls whether to emit the insns for stack pointer
5753 adjustment inside of the pro/epilogue.
5754 (xtensa_emit_adjust_stack_ptr): New function to share the common
5755 codes and to emit insns if not inhibited.
5756 (xtensa_expand_epilogue): Change to use the function mentioned
5757 above when using the CALL0 ABI.
5758 (xtensa_expand_prologue): Ditto.
5759 And also change to set the inhibit flag used by
5760 xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
5761 used for its own adjustment.
5762
5763 2022-09-09 David Malcolm <dmalcolm@redhat.com>
5764
5765 * doc/invoke.texi (Static Analyzer Options): Add
5766 -Wanalyzer-exposure-through-uninit-copy.
5767
5768 2022-09-09 David Malcolm <dmalcolm@redhat.com>
5769
5770 * Makefile.in (ANALYZER_OBJS): Add
5771 analyzer/known-function-manager.o.
5772
5773 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
5774
5775 * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
5776 (record_id): Store func name without quotes, store dim separately.
5777 (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
5778 at least sm_35, create '$offload_func_table' global array and init
5779 with reverse-offload function addresses.
5780 * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
5781 force_public attribute to force .visible.
5782 (nvptx_declare_function_name): For "omp target
5783 device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
5784
5785 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
5786
5787 * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
5788 similar to pre-existing .offload_var_table.
5789
5790 2022-09-09 Joseph Myers <joseph@codesourcery.com>
5791
5792 * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
5793 New macro.
5794
5795 2022-09-09 Kewen Lin <linkw@linux.ibm.com>
5796
5797 PR middle-end/106833
5798 * tree.cc (verify_opaque_type): New function.
5799 (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
5800
5801 2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com>
5802
5803 * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
5804 FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
5805 * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
5806 * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
5807 MATH_UNOP_TRIG): New iterators.
5808 (math_unop): New attributes.
5809 (<math_unop><mode>2, <math_unop><mode>2<exec>,
5810 <math_unop><mode>2, <math_unop><mode>2<exec>,
5811 *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
5812 ldexp<mode>3, ldexp<mode>3<exec>,
5813 frexp<mode>_exp2, frexp<mode>_mant2,
5814 frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
5815 (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
5816 * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
5817 dconst1over2pi.
5818 (gcn_dconst1over2pi): New.
5819 (gcn_builtin_type_index): Add entry for v64df type.
5820 (v64df_type_node): New.
5821 (gcn_init_builtin_types): Initialize v64df_type_node.
5822 (gcn_expand_builtin_1): Expand new builtins to instructions.
5823 (print_operand): Fix assembler output for 1/(2*PI) constant.
5824 * config/gcn/gcn.md (unspec): Add new entries.
5825
5826 2022-09-09 Richard Biener <rguenther@suse.de>
5827
5828 PR tree-optimization/106722
5829 * tree-predcom.cc (ref_at_iteration): Do not associate the
5830 constant part of the offset into the MEM_REF offset
5831 operand, across a non-zero offset.
5832
5833 2022-09-09 Kito Cheng <kito.cheng@sifive.com>
5834
5835 * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
5836 Move forward for cover all all necessary functions for suppress
5837 unused function warnings.
5838 (riscv_multi_lib_check): Move forward, and tweak message to suppress
5839 -Werror=format-diag warning.
5840
5841 2022-09-09 Richard Biener <rguenther@suse.de>
5842
5843 PR tree-optimization/106881
5844 * gimple-predicate-analysis.cc (simple_control_dep_chain):
5845 Add only non-fallthru edges and avoid the same set of edges
5846 as compute_control_dep_chain_pdom does.
5847
5848 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
5849
5850 * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
5851 of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
5852 * doc/tm.texi: Regenerate.
5853
5854 2022-09-09 Martin Liska <mliska@suse.cz>
5855
5856 * optc-save-gen.awk: Always compare array option values with memcmp.
5857
5858 2022-09-08 Jonathan Wakely <jwakely@redhat.com>
5859
5860 PR c++/106838
5861 * doc/extend.texi (Type Traits): Fix requirements. Document
5862 __is_aggregate and __is_final.
5863
5864 2022-09-08 Tim Lange <mail@tim-lange.me>
5865
5866 PR analyzer/106625
5867 * doc/invoke.texi:
5868 State that the checker also reasons about symbolic values.
5869
5870 2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
5871
5872 PR tree-optimization/106886
5873 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
5874 Fix copying of scalar stmts.
5875
5876 2022-09-08 Chung-Lin Tang <cltang@codesourcery.com>
5877
5878 * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
5879
5880 2022-09-08 Richard Biener <rguenther@suse.de>
5881
5882 PR middle-end/106870
5883 * gimple-harden-conditionals.cc (insert_check_and_trap):
5884 Set the control-altering flag on the built IFN_TRAP.
5885 * gimple.cc (gimple_build_builtin_unreachable): Likewise.
5886 * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
5887 flag on the .ABNORMAL_DISPATCHER call.
5888 * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
5889 resetting the control altering flag for ECF_NORETURN calls.
5890 (cleanup_control_flow_bb): Set the control altering flag on
5891 discovered noreturn calls.
5892 * symtab-thunks.cc (expand_thunk): Set the control altering
5893 flag for the noreturn tailcall case.
5894 * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
5895 calls.
5896
5897 2022-09-08 Jakub Jelinek <jakub@redhat.com>
5898
5899 * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
5900 Add doacross(sink:omp_cur_iteration-1) support.
5901 (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
5902 Adjust expand_omp_ordered_sink caller.
5903 (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
5904 non-NULL, set that variable to true at the start of outermost
5905 non-collapsed loop and set it to false at the end of innermost
5906 ordered loop.
5907 (expand_omp_for_generic): If fd->ordered, allocate
5908 1 + (fd->ordered - fd->collapse) further elements in counts array.
5909 Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
5910 fd->ordered - 1 loop if any.
5911
5912 2022-09-08 Richard Biener <rguenther@suse.de>
5913
5914 PR tree-optimization/106881
5915 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
5916 Add only non-fallthru edges and avoid the same set of edges
5917 as the caller does.
5918
5919 2022-09-08 Aldy Hernandez <aldyh@redhat.com>
5920
5921 * gimple-range-fold.cc
5922 (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
5923 * range-op-float.cc (finite_operand_p): Same.
5924 (finite_operands_p): Same.
5925 (foperator_lt::fold_range): Same.
5926 (foperator_le::fold_range): Same.
5927 (foperator_gt::fold_range): Same.
5928 (foperator_ge::fold_range): Same.
5929 (foperator_unordered::fold_range): Same.
5930 (foperator_unordered::op1_range): Same.
5931 (foperator_ordered::fold_range): Same.
5932 * value-range.cc (frange::set_nan): Same.
5933 (frange::set_signbit): Same.
5934 (frange::union_): Same.
5935 (frange::intersect): Same.
5936 (frange::operator==): Same.
5937 (frange::singleton_p): Same.
5938 (frange::verify_range): Same.
5939 (range_tests_nan): Same.
5940 (range_tests_floats): Same.
5941 * value-range.h(frange::known_finite): New.
5942 (frange::maybe_inf): New.
5943 (frange::known_inf): New.
5944 (frange::maybe_nan): New.
5945 (frange::known_nan): New.
5946 (frange::known_signbit): New.
5947
5948 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
5949
5950 * config/darwin-d.cc: Include tm.h.
5951 * config/dragonfly-d.cc: Likewise.
5952 * config/freebsd-d.cc: Remove memmodel.h.
5953 * config/glibc-d.cc: Likewise.
5954 * config/netbsd-d.cc: Include tm.h.
5955 * config/openbsd-d.cc: Likewise.
5956 * config/sol2-d.cc: Likewise.
5957
5958 2022-09-08 Christophe Lyon <christophe.lyon@arm.com>
5959
5960 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
5961 MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
5962 (mve_vqshluq_m_n_s<mode>): Likewise.
5963 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
5964 instead of mve_imm_8/Rb.
5965 (mve_vqrshrunbq_n_s<mode>): Likewise.
5966 (mve_vqrshrntq_n_<supf><mode>): Likewise.
5967 (mve_vqrshruntq_n_s<mode>): Likewise.
5968 (mve_vrshrnbq_n_<supf><mode>): Likewise.
5969 (mve_vrshrntq_n_<supf><mode>): Likewise.
5970 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
5971 (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
5972 (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
5973 (mve_vrshrntq_m_n_<supf><mode>): Likewise.
5974 (mve_vqrshrunbq_m_n_s<mode>): Likewise.
5975 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
5976 of mve_imm_selective_upto_8/Rg.
5977 (mve_vsriq_m_n_<supf><mode>): Likewise.
5978
5979 2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com>
5980
5981 * config/rs6000/rs6000.md (splitter for set to and_mask constants):
5982 Use int_reg_operand (instead of int_reg_operand_not_pseudo).
5983 (splitter for multi-insn constant loads): Ditto.
5984
5985 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
5986
5987 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
5988 -mvrsave is present.
5989 * config/rs6000/t-rtems: Add -mvrsave multilib variants for
5990 -mcpu=e6500.
5991
5992 2022-09-07 Martin Liska <mliska@suse.cz>
5993
5994 * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS.
5995 * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
5996 * configure: Regenerate.
5997 * config.in: Regenerate.
5998
5999 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com>
6000
6001 PR rtl-optimization/105586
6002 * sched-rgn.cc (save_state_for_fallthru_edge): New function.
6003 (schedule_region): Use it for all blocks.
6004
6005 2022-09-07 Joseph Myers <joseph@codesourcery.com>
6006
6007 * ginclude/stdalign.h [defined __STDC_VERSION__ &&
6008 __STDC_VERSION__ > 201710L]: Disable all content.
6009 * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
6010 > 201710L] (bool, true, false): Do not define.
6011
6012 2022-09-07 Martin Liska <mliska@suse.cz>
6013
6014 PR bootstrap/106855
6015 * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
6016 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
6017 Restore usage of XCOFF_DEBUGGING_INFO.
6018 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
6019 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
6020 XCOFF_DEBUGGING_INFO.
6021 (dw2_asm_output_nstring): Likewise.
6022 (USE_LINKONCE_INDIRECT): Likewise.
6023 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
6024 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
6025 (output_fde): Likewise.
6026 (output_call_frame_info): Likewise.
6027 (have_macinfo): Likewise.
6028 (add_AT_loc_list): Likewise.
6029 (add_AT_view_list): Likewise.
6030 (output_compilation_unit_header): Likewise.
6031 (output_pubnames): Likewise.
6032 (output_aranges): Likewise.
6033 (output_line_info): Likewise.
6034 (output_macinfo): Likewise.
6035 (dwarf2out_finish): Likewise.
6036 (dwarf2out_early_finish): Likewise.
6037
6038 2022-09-07 Richard Biener <rguenther@suse.de>
6039
6040 PR tree-optimization/106866
6041 * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
6042 we changed cfun->calls_setjmp make sure to purge all
6043 abnormal call edges.
6044
6045 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com>
6046
6047 * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
6048 float LE comparing with zero for fpuv3.
6049 * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
6050 features are enabled.
6051
6052 2022-09-07 Richard Biener <rguenther@suse.de>
6053
6054 PR tree-optimization/106860
6055 * tree-ssa-loop-split.cc (split_loop): Find the exit to
6056 latch edge from the loop exit edge instead of from the
6057 latch. Verify we're going to find it.
6058
6059 2022-09-07 Richard Biener <rguenther@suse.de>
6060
6061 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
6062 Adjust to take the region exit source as argument.
6063 (uninit_analysis::init_from_phi_def): Adjust.
6064 (uninit_analysis::init_use_preds): Mark the dominating region
6065 before computing control dependences.
6066
6067 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
6068
6069 * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
6070 w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
6071 in that case. Extend w<-r to w<-Z.
6072 (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
6073 (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
6074 available.
6075 (define_split): Do not apply the floating-point immediate-to-register
6076 split to zeros, even if MOVI is not available.
6077
6078 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
6079
6080 * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
6081 Disallow use of FPRs in register asms for !TARGET_FLOAT.
6082
6083 2022-09-07 Lulu Cheng <chenglulu@loongson.cn>
6084
6085 PR target/106828
6086 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
6087 (TARGET_ASAN_SHADOW_OFFSET): New.
6088
6089 2022-09-07 Jakub Jelinek <jakub@redhat.com>
6090
6091 * doc/invoke.texi (-Wno-unicode): Document.
6092
6093 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
6094
6095 * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
6096
6097 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
6098
6099 * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
6100 replacements.
6101
6102 2022-09-07 liuhongt <hongtao.liu@intel.com>
6103
6104 PR tree-optimization/103144
6105 * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
6106 (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
6107 (vect_create_nonlinear_iv_init): New function.
6108 (vect_peel_nonlinear_iv_init): Ditto.
6109 (vect_create_nonlinear_iv_step): Ditto
6110 (vect_create_nonlinear_iv_vec_step): Ditto
6111 (vect_update_nonlinear_iv): Ditto
6112 (vectorizable_nonlinear_induction): Ditto.
6113 (vectorizable_induction): Call
6114 vectorizable_nonlinear_induction when induction_type is not
6115 vect_step_op_add.
6116 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
6117 Update nonlinear iv for epilogue loop.
6118 * tree-vectorizer.h (enum vect_induction_op_type): New enum.
6119 (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
6120
6121 2022-09-06 Richard Biener <rguenther@suse.de>
6122
6123 PR tree-optimization/106754
6124 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
6125 New function, split out from compute_control_dep_chain. Handle
6126 loop-exit like conditions here by pushing to the control vector.
6127 (compute_control_dep_chain): Adjust and streamline dumping.
6128 In the wrapper perform a post-dominator walk as well.
6129 (uninit_analysis::init_use_preds): Remove premature early exit.
6130
6131 2022-09-06 Max Filippov <jcmvbkbc@gmail.com>
6132
6133 * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
6134
6135 2022-09-06 Aldy Hernandez <aldyh@redhat.com>
6136
6137 * range-op-float.cc (build_le): Handle NANs and going past infinity.
6138 (build_lt): Same.
6139 (build_ge): Same.
6140 (build_gt): Same.
6141 (foperator_lt::op1_range): Avoid adjustments to range if build_*
6142 returned false.
6143 (foperator_lt::op2_range): Same.
6144 (foperator_le::op1_range): Same.
6145 (foperator_le::op2_range): Same.
6146 (foperator_gt::op1_range): Same.
6147 (foperator_gt::op2_range): Same.
6148
6149 2022-09-06 Richard Biener <rguenther@suse.de>
6150
6151 * gimple-predicate-analysis.cc (compute_control_dep_chain):
6152 Add output flag to indicate whether we possibly have dropped
6153 any chains. Return whether the info is complete from the
6154 wrapping overload.
6155 (uninit_analysis::init_use_preds): Adjust accordingly, with
6156 a workaround for PR106754.
6157 (uninit_analysis::init_from_phi_def): Properly guard the
6158 case where we complete an empty chain.
6159
6160 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6161
6162 * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
6163
6164 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
6165
6166 * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
6167 type with same element type as arg0, and length as op2.
6168
6169 2022-09-06 Richard Biener <rguenther@suse.de>
6170
6171 PR tree-optimization/106844
6172 * gimple-predicate-analysis.cc (compute_control_dep_chain):
6173 Return whether we found a chain.
6174
6175 2022-09-06 Richard Biener <rguenther@suse.de>
6176
6177 PR tree-optimization/106841
6178 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
6179 scatter/gather offset.
6180
6181 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6182
6183 * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
6184
6185 2022-09-06 Jakub Jelinek <jakub@redhat.com>
6186
6187 * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
6188 (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of
6189 GIMPLE_OMP_TEAMS as upper bound.
6190 (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
6191 inline functions.
6192 * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
6193 NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
6194 (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
6195 with NULL OMP_ORDERED_BODY.
6196 * omp-low.cc (check_omp_nesting_restrictions): Use
6197 gimple_omp_ordered_standalone_p test instead of
6198 omp_find_clause (..., OMP_CLAUSE_DOACROSS).
6199 (lower_omp_ordered): Likewise.
6200 * omp-expand.cc (expand_omp, build_omp_regions_1,
6201 omp_make_gimple_edges): Likewise.
6202
6203 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com>
6204
6205 * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
6206 (cskyv2_addcc_invert): Likewise.
6207
6208 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com>
6209
6210 * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
6211 `insn'.
6212 (bpf_expand_epilogue): Likewise.
6213
6214 2022-09-06 liuhongt <hongtao.liu@intel.com>
6215
6216 * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
6217 Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
6218 * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
6219 (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
6220 (avx512f_vcvtps2ph512_mask_sae): New expander
6221
6222 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
6223
6224 * gimple-range-fold.cc
6225 (fold_using_range::range_of_builtin_int_call): Ignore sign bit
6226 when there's the possibility of a NAN.
6227
6228 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
6229
6230 * gimple-range-fold.cc
6231 (fold_using_range::range_of_builtin_int_call): Fold a set signbit
6232 in __builtin_signbit to nonzero.
6233
6234 2022-09-05 Alexander Monakov <amonakov@ispras.ru>
6235
6236 PR target/106453
6237 * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
6238 bits of operand 0 are consumed, and the result is zero-extended
6239 to 64 bits.
6240
6241 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
6242
6243 PR middle-end/106831
6244 * value-range.h (frange::supports_p): Disable decimal floats.
6245 * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
6246 check.
6247 (frange_drop_ninf): Same.
6248
6249 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
6250
6251 PR middle-end/106824
6252 * value-range.cc (frange::set_nan): Set undefined when updating a
6253 NAN to a non-NAN.
6254
6255 2022-09-05 Kito Cheng <kito.cheng@sifive.com>
6256
6257 * config/riscv/riscv.cc (riscv_option_override): Fix wrong
6258 condition for MASK_DIV and simplify incompatible checking.
6259 * config/riscv/riscv.md (muldi3): Adding parentheses.
6260
6261 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6262
6263 * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
6264 string is a valid -mcpu string and emit hint.
6265
6266 2022-09-05 LiaoShihua <shihua@iscas.ac.cn>
6267
6268 * common/config/riscv/riscv-common.cc: Add Zmmul.
6269 * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
6270 (TARGET_ZMMUL): Ditto.
6271 * config/riscv/riscv.cc (riscv_option_override):Ditto.
6272 * config/riscv/riscv.md: Add Zmmul
6273 * config/riscv/riscv.opt: Ditto.
6274
6275 2022-09-05 Richard Biener <rguenther@suse.de>
6276
6277 * tree-cfg.h (get_cases_for_edge): Declare.
6278 * tree-cfg.cc (get_cases_for_edge): Export.
6279 * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
6280 Start and end recording case labels.
6281 * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
6282 (predicate::init_from_control_deps): Use get_cases_for_edge.
6283
6284 2022-09-05 Richard Biener <rguenther@suse.de>
6285
6286 * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
6287 (compute_control_dep_chain): Move uninit-control-dep-attempts
6288 checking where it also counts the post-dominator check
6289 invocations.
6290
6291 2022-09-05 Richard Biener <rguenther@suse.de>
6292
6293 * gimple-predicate-analysis.h (predicate::debug): New.
6294 (predicate::dump): Add FILE * argument, add base overload.
6295 * gimple-predicate-analysis.cc (debug): New.
6296 (dump_pred_info): Add FILE * argument.
6297 (dump_pred_chain): Likewise.
6298 (predicate::dump): Split out preamble into overload. Add
6299 FILE * argument.
6300 (predicate::debug): New.
6301 (predicate::simplify): Adjust.
6302 (predicate::normalize): Likewise.
6303 (predicate::init_from_control_deps): Likewise.
6304
6305 2022-09-05 Richard Sandiford <richard.sandiford@arm.com>
6306
6307 * config/aarch64/aarch64-protos.h
6308 (aarch64_init_simd_builtins): Remove prototype.
6309 * config/aarch64/aarch64-builtins.cc
6310 (aarch64_simd_builtins_initialized_p): Delete.
6311 (aarch64_init_simd_builtins): Make static. Remove protection
6312 against multiple calls.
6313 * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
6314 lazy SIMD builtin initialization.
6315 * config/aarch64/aarch64.cc
6316 (aarch64_option_valid_attribute_p): Likewise.
6317
6318 2022-09-05 Xi Ruoyao <xry111@xry111.site>
6319
6320 * config/loongarch/genopts/loongarch.opt.in: Add
6321 -mdirect-extern-access option.
6322 * config/loongarch/loongarch.opt: Regenerate.
6323 * config/loongarch/loongarch.cc
6324 (loongarch_symbol_binds_local_p): Return true if
6325 TARGET_DIRECT_EXTERN_ACCESS.
6326 (loongarch_option_override_internal): Complain if
6327 -mdirect-extern-access is used with -fPIC or -fpic.
6328 * doc/invoke.texi: Document -mdirect-extern-access for
6329 LoongArch.
6330
6331 2022-09-05 Martin Liska <mliska@suse.cz>
6332
6333 * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
6334 DEBUGGER_REGNO.
6335 * doc/tm.texi: Regenerate.
6336
6337 2022-09-05 Martin Liska <mliska@suse.cz>
6338
6339 * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
6340 Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
6341 (aarch64_debugger_regno): Likewise.
6342 * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
6343 (aarch64_debugger_regno): Likewise.
6344 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
6345 (DEBUGGER_REGNO): Likewise.
6346 (DWARF_FRAME_REGNUM): Likewise.
6347 * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
6348 * config/arc/arc.cc (arc_init_reg_tables): Likewise.
6349 * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
6350 (DEBUGGER_REGNO): Likewise.
6351 * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
6352 (arm_debugger_regno): Likewise.
6353 * config/arm/arm.cc (arm_dbx_regno): Likewise.
6354 (arm_debugger_regno): Likewise.
6355 * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
6356 (DEBUGGER_REGNO): Likewise.
6357 * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
6358 (DEBUGGER_REGNO): Likewise.
6359 * config/c6x/c6x.cc: Likewise.
6360 * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
6361 (DEBUGGER_REGNO): Likewise.
6362 * config/cris/cris.h (enum reg_class): Likewise.
6363 (DBX_REGISTER_NUMBER): Likewise.
6364 (DEBUGGER_REGNO): Likewise.
6365 * config/csky/csky.cc (enum reg_class): Likewise.
6366 * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
6367 (DBX_REGISTER_NUMBER): Likewise.
6368 (DEBUGGER_REGNO): Likewise.
6369 * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
6370 (DEBUGGER_REGNO): Likewise.
6371 * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
6372 (DEBUGGER_REGNO): Likewise.
6373 * config/gcn/gcn.cc (print_operand): Likewise.
6374 * config/i386/bsd.h (ASM_QUAD): Likewise.
6375 * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
6376 (DEBUGGER_REGNO): Likewise.
6377 (DWARF_FRAME_REGNUM): Likewise.
6378 * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
6379 (DEBUGGER_REGNO): Likewise.
6380 * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
6381 (DEBUGGER_REGNO): Likewise.
6382 * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
6383 (DEBUGGER_REGNO): Likewise.
6384 * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
6385 (DEBUGGER_REGNO): Likewise.
6386 * config/i386/gas.h: Likewise.
6387 * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
6388 (DEBUGGER_REGNO): Likewise.
6389 * config/i386/i386.cc (enum reg_class): Likewise.
6390 * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
6391 (DEBUGGER_REGNO): Likewise.
6392 * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
6393 (DEBUGGER_REGNO): Likewise.
6394 * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
6395 (DEBUGGER_REGNO): Likewise.
6396 * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
6397 (DEBUGGER_REGNO): Likewise.
6398 * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
6399 (DEBUGGER_REGNO): Likewise.
6400 * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
6401 (DEBUGGER_REGNO): Likewise.
6402 * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
6403 (DEBUGGER_REGNO): Likewise.
6404 * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
6405 (DEBUGGER_REGNO): Likewise.
6406 * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
6407 (DEBUGGER_REGNO): Likewise.
6408 * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
6409 (DEBUGGER_REGNO): Likewise.
6410 * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
6411 (ia64_debugger_regno): Likewise.
6412 * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
6413 (ia64_dbx_regno): Likewise.
6414 (ia64_debugger_regno): Likewise.
6415 (process_cfa_adjust_cfa): Likewise.
6416 (process_cfa_register): Likewise.
6417 (ia64_asm_unwind_emit): Likewise.
6418 * config/ia64/ia64.h: Likewise.
6419 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
6420 (DEBUGGER_REGNO): Likewise.
6421 * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
6422 (DEBUGGER_REGNO): Likewise.
6423 * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
6424 * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
6425 (DEBUGGER_REGNO): Likewise.
6426 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
6427 (DEBUGGER_REGNO): Likewise.
6428 * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
6429 (DEBUGGER_REGNO): Likewise.
6430 (__transfer_from_trampoline): Likewise.
6431 * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
6432 (DEBUGGER_REGNO): Likewise.
6433 * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
6434 (DBX_REGISTER_NUMBER): Likewise.
6435 (DEBUGGER_REGNO): Likewise.
6436 * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
6437 * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
6438 (DEBUGGER_REGNO): Likewise.
6439 (GP_DBX_FIRST): Likewise.
6440 (GP_DEBUGGER_FIRST): Likewise.
6441 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
6442 (DEBUGGER_REGNO): Likewise.
6443 * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
6444 (mmix_debugger_regno): Likewise.
6445 * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
6446 (mmix_debugger_regno): Likewise.
6447 * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
6448 (DEBUGGER_REGNO): Likewise.
6449 * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
6450 (nds32_debugger_regno): Likewise.
6451 * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
6452 (nds32_debugger_regno): Likewise.
6453 (nds32_use_blocks_for_constant_p): Likewise.
6454 * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
6455 (DEBUGGER_REGNO): Likewise.
6456 * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
6457 (DEBUGGER_REGNO): Likewise.
6458 * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
6459 (DEBUGGER_REGNO): Likewise.
6460 * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
6461 (DEBUGGER_REGNO): Likewise.
6462 * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
6463 (DEBUGGER_REGNO): Likewise.
6464 * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
6465 (rs6000_debugger_regno): Likewise.
6466 * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
6467 (rs6000_debugger_regno): Likewise.
6468 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
6469 (DEBUGGER_REGNO): Likewise.
6470 (DWARF2_FRAME_REG_OUT): Likewise.
6471 * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
6472 (DEBUGGER_REGNO): Likewise.
6473 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
6474 (DEBUGGER_REGNO): Likewise.
6475 * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
6476 (DEBUGGER_REGNO): Likewise.
6477 * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
6478 (DEBUGGER_REGNO): Likewise.
6479 (SH_DBX_REGISTER_NUMBER): Likewise.
6480 (SH_DEBUGGER_REGNO): Likewise.
6481 * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
6482 (DEBUGGER_REGNO): Likewise.
6483 * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
6484 (DEBUGGER_REGNO): Likewise.
6485 * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
6486 (DEBUGGER_REGNO): Likewise.
6487 * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
6488 (DEBUGGER_REGNO): Likewise.
6489 * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
6490 (xtensa_debugger_regno): Likewise.
6491 * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
6492 (xtensa_debugger_regno): Likewise.
6493 * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
6494 (DEBUGGER_REGNO): Likewise.
6495 * defaults.h (DBX_REGISTER_NUMBER): Likewise.
6496 (DEBUGGER_REGNO): Likewise.
6497 (DWARF_FRAME_REGNUM): Likewise.
6498 * doc/tm.texi: Likewise.
6499 * doc/tm.texi.in: Likewise.
6500 * dwarf2out.cc (dbx_reg_number): Likewise.
6501 (debugger_reg_number): Likewise.
6502 (reg_loc_descriptor): Likewise.
6503 (multiple_reg_loc_descriptor): Likewise.
6504 (mem_loc_descriptor): Likewise.
6505 * except.cc: Likewise.
6506
6507 2022-09-05 konglin1 <lingling.kong@intel.com>
6508
6509 PR target/106742
6510 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
6511 Handle V8BF mode.
6512 (expand_vec_perm_broadcast_1): Ditto.
6513 * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
6514 (vec_set<mode>_0): Add @ to it.
6515 (@vec_set<mode>_0): Ditto.
6516 (vec_interleave_high<mode><mask_name>): Ditto.
6517 (@vec_interleave_high<mode><mask_name>): Ditto.
6518 (vec_interleave_low<mode><mask_name>): Ditto.
6519 (@vec_interleave_low<mode><mask_name>): Ditto.
6520 * config/i386/subst.md (SUBST_V): Add BF vector mode.
6521
6522 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
6523
6524 * value-range.cc (early_nan_resolve): Remove.
6525 (frange::intersect): Handle NANs.
6526
6527 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
6528
6529 * value-range.cc (frange::union_): Do not drop properties when
6530 unioning a NAN with something else.
6531 (range_tests_signed_zeros): Add tests.
6532
6533 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
6534
6535 * real.cc (encode_ieee_single): Use real_isdenormal.
6536 (encode_ieee_double): Same.
6537 (encode_ieee_extended): Same.
6538 (encode_ieee_quad): Same.
6539 (encode_ieee_half): Same.
6540 (encode_arm_bfloat_half): Same.
6541 * real.h (real_isdenormal): New.
6542
6543 2022-09-03 Aldy Hernandez <aldyh@redhat.com>
6544
6545 * value-range.cc (frange::singleton_p): Move NAN check to the top.
6546
6547 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
6548
6549 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
6550
6551 2022-09-03 Jakub Jelinek <jakub@redhat.com>
6552
6553 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
6554 (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
6555 and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
6556 (enum omp_clause_doacross_kind): New type.
6557 (struct tree_omp_clause): Add subcode.doacross_kind member.
6558 * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
6559 (OMP_CLAUSE_DOACROSS_KIND): Define.
6560 (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
6561 (OMP_CLAUSE_DOACROSS_DEPEND): Define.
6562 (OMP_CLAUSE_ORDERED_DOACROSS): Define.
6563 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
6564 OMP_CLAUSE_DOACROSS entries.
6565 * tree-nested.cc (convert_nonlocal_omp_clauses,
6566 convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
6567 * tree-pretty-print.cc (dump_omp_clause): Don't handle
6568 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle
6569 OMP_CLAUSE_DOACROSS.
6570 * gimplify.cc (gimplify_omp_depend): Don't handle
6571 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
6572 (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS.
6573 (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
6574 (find_standalone_omp_ordered): New function.
6575 (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
6576 body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
6577 set OMP_CLAUSE_ORDERED_DOACROSS.
6578 (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
6579 OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
6580 diagnostics that presence or absence of ordered clause parameter
6581 is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use
6582 actual user name of the clause - doacross or depend - in diagnostics.
6583 * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
6584 if !OMP_CLAUSE_ORDERED_DOACROSS (t). If
6585 OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
6586 set fd->ordered to -1 and set it after the loop in that case to
6587 fd->collapse.
6588 * omp-low.cc (check_omp_nesting_restrictions): Don't handle
6589 OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
6590 OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross
6591 or depend - in diagnostics. Diagnose mixing of stand-alone and
6592 block associated ordered constructs binding to the same loop.
6593 (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
6594 instead handle OMP_CLAUSE_DOACROSS.
6595 (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
6596 OMP_CLAUSE_DEPEND.
6597 (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
6598 OMP_CLAUSE_DEPEND_SINK.
6599 * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
6600 doacross(sink:omp_cur_iteration-1).
6601 (expand_omp_ordered_source_sink): Use
6602 OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
6603 OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause
6604 - doacross or depend - in diagnostics.
6605 (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
6606 OMP_CLAUSE_DEPEND.
6607 (build_omp_regions_1): Likewise.
6608 (omp_make_gimple_edges): Likewise.
6609 * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
6610 * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
6611 * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
6612
6613 2022-09-02 David Malcolm <dmalcolm@redhat.com>
6614
6615 PR c/90885
6616 * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
6617
6618 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
6619
6620 PR d/105659
6621 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
6622 * config/aarch64/aarch64-d.cc: Include tm_d.h.
6623 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
6624 config/aarch64/aarch64-d.h.
6625 (aarch64_d_register_target_info): Likewise.
6626 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
6627 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
6628 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
6629 tm_p.h.
6630 * config/arm/arm-protos.h (arm_d_target_versions): Move to
6631 config/arm/arm-d.h.
6632 (arm_d_register_target_info): Likewise.
6633 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
6634 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
6635 * config/default-d.cc: Remove memmodel.h include.
6636 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
6637 * config/glibc-d.cc: Likewise.
6638 * config/i386/i386-d.cc: Include tm_d.h.
6639 * config/i386/i386-protos.h (ix86_d_target_versions): Move to
6640 config/i386/i386-d.h.
6641 (ix86_d_register_target_info): Likewise.
6642 (ix86_d_has_stdcall_convention): Likewise.
6643 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
6644 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
6645 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
6646 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
6647 * config/mips/mips-d.cc: Include tm_d.h.
6648 * config/mips/mips-protos.h (mips_d_target_versions): Move to
6649 config/mips/mips-d.h.
6650 (mips_d_register_target_info): Likewise.
6651 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
6652 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
6653 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
6654 * config/openbsd-d.cc: Likewise.
6655 * config/pa/pa-d.cc: Include tm_d.h.
6656 * config/pa/pa-protos.h (pa_d_target_versions): Move to
6657 config/pa/pa-d.h.
6658 (pa_d_register_target_info): Likewise.
6659 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
6660 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
6661 * config/riscv/riscv-d.cc: Include tm_d.h.
6662 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
6663 config/riscv/riscv-d.h.
6664 (riscv_d_register_target_info): Likewise.
6665 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
6666 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
6667 * config/rs6000/rs6000-d.cc: Include tm_d.h.
6668 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
6669 config/rs6000/rs6000-d.h.
6670 (rs6000_d_register_target_info): Likewise.
6671 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
6672 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
6673 * config/s390/s390-d.cc: Include tm_d.h.
6674 * config/s390/s390-protos.h (s390_d_target_versions): Move to
6675 config/s390/s390-d.h.
6676 (s390_d_register_target_info): Likewise.
6677 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
6678 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
6679 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
6680 * config/sparc/sparc-d.cc: Include tm_d.h.
6681 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
6682 config/sparc/sparc-d.h.
6683 (sparc_d_register_target_info): Likewise.
6684 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
6685 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
6686 * configure: Regenerate.
6687 * configure.ac (tm_d_file): Remove defaults.h.
6688 (tm_d_include_list): Remove options.h and insn-constants.h.
6689 * config/aarch64/aarch64-d.h: New file.
6690 * config/arm/arm-d.h: New file.
6691 * config/i386/i386-d.h: New file.
6692 * config/mips/mips-d.h: New file.
6693 * config/pa/pa-d.h: New file.
6694 * config/riscv/riscv-d.h: New file.
6695 * config/rs6000/rs6000-d.h: New file.
6696 * config/s390/s390-d.h: New file.
6697 * config/sparc/sparc-d.h: New file.
6698
6699 2022-09-02 Aldy Hernandez <aldyh@redhat.com>
6700
6701 * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
6702 (fold_builtin_fpclassify): Same.
6703 * fold-const-call.cc (fold_const_call_cc): Same.
6704 * match.pd: Same.
6705 * omp-low.cc (omp_reduction_init_op): Same.
6706 * realmpfr.cc (real_from_mpfr): Same.
6707 * tree.cc (build_complex_inf): Same.
6708
6709 2022-09-02 Peter Bergner <bergner@linux.ibm.com>
6710
6711 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
6712 NOP_EXPR for MMA pointer casting.
6713
6714 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
6715
6716 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
6717 Reduce the fallback cost to 1. Only use it if the number of
6718 input lanes is equal to the number of output lanes.
6719
6720 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
6721
6722 PR tree-optimization/106787
6723 * tree-vect-slp.cc (vect_map_to_instance): New function, split out
6724 from...
6725 (vect_bb_partition_graph_r): ...here. Replace the visited set
6726 with a map from nodes to instances. Ensure that a node only
6727 appears in one partition.
6728 (vect_bb_partition_graph): Update accordingly.
6729
6730 2022-09-02 Richard Biener <rguenther@suse.de>
6731
6732 * timevar.def (TV_TREE_RPO_VN): New.
6733 * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
6734 * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
6735 (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
6736 (pass_fre::execute): Adjust.
6737 * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
6738
6739 2022-09-02 Richard Biener <rguenther@suse.de>
6740
6741 PR tree-optimization/106809
6742 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
6743 more than one successor before doing extra work.
6744
6745 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
6746
6747 * common/config/riscv/riscv-common.cc: Include <vector>.
6748 (struct riscv_multi_lib_info_t): New.
6749 (riscv_subset_list::match_score): Ditto.
6750 (find_last_appear_switch): Ditto.
6751 (prefixed_with): Ditto.
6752 (struct multi_lib_info_t): Ditto.
6753 (riscv_current_arch_str): Ditto.
6754 (riscv_current_abi_str): Ditto.
6755 (riscv_multi_lib_info_t::parse): Ditto.
6756 (riscv_check_cond): Ditto.
6757 (riscv_check_conds): Ditto.
6758 (riscv_compute_multilib): Ditto.
6759 (TARGET_COMPUTE_MULTILIB): Defined.
6760 * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
6761 doing link.
6762 (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
6763 * config/riscv/riscv.h (riscv_multi_lib_check): New.
6764 (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
6765 * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
6766
6767 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
6768
6769 * common/common-target.def (compute_multilib): New.
6770 * common/common-targhooks.h (default_compute_multilib): New.
6771 * common/common-targhooks.cc (default_compute_multilib): New.
6772 * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
6773 * doc/tm.texi: Regen.
6774 * gcc.cc: Include common/common-target.h.
6775 (set_multilib_dir) Call targetm_common.compute_multilib.
6776 (SWITCH_LIVE): Move to opts.h.
6777 (SWITCH_FALSE): Ditto.
6778 (SWITCH_IGNORE): Ditto.
6779 (SWITCH_IGNORE_PERMANENTLY): Ditto.
6780 (SWITCH_KEEP_FOR_GCC): Ditto.
6781 (struct switchstr): Ditto.
6782 * opts.h (SWITCH_LIVE): Move from gcc.c.
6783 (SWITCH_FALSE): Ditto.
6784 (SWITCH_IGNORE): Ditto.
6785 (SWITCH_IGNORE_PERMANENTLY): Ditto.
6786 (SWITCH_KEEP_FOR_GCC): Ditto.
6787 (struct switchstr): Ditto.
6788
6789 2022-09-02 Martin Liska <mliska@suse.cz>
6790
6791 * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
6792 debugging format.
6793
6794 2022-09-02 Martin Liska <mliska@suse.cz>
6795
6796 * Makefile.in: Remove -gstabs option support, DBX-related
6797 macros and DBX debugging info support.
6798 * collect2.cc (scan_prog_file): Likewise.
6799 * common.opt: Likewise.
6800 * config.gcc: Likewise.
6801 * config.in: Likewise.
6802 * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
6803 * config/alpha/alpha.cc: Likewise.
6804 * config/alpha/elf.h (ASM_SPEC): Likewise.
6805 * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
6806 (DBX_CONTIN_LENGTH): Likewise.
6807 * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
6808 (DBX_CONTIN_LENGTH): Likewise.
6809 * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
6810 * config/darwin.h (DSYMUTIL_SPEC): Likewise.
6811 (ASM_DEBUG_SPEC): Likewise.
6812 (DBX_DEBUGGING_INFO): Likewise.
6813 (DBX_USE_BINCL): Likewise.
6814 (DBX_CONTIN_LENGTH): Likewise.
6815 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
6816 * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
6817 (DBX_CONTIN_LENGTH): Likewise.
6818 * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
6819 (DBX_CONTIN_LENGTH): Likewise.
6820 * config/i386/gas.h (DBX_NO_XREFS): Likewise.
6821 (DBX_CONTIN_LENGTH): Likewise.
6822 * config/ia64/ia64.h: Likewise.
6823 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
6824 * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
6825 * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
6826 (DBX_CONTIN_LENGTH): Likewise.
6827 (DBX_CONTIN_CHAR): Likewise.
6828 * config/mips/mips.cc (mips_output_filename): Likewise.
6829 (mips_option_override): Likewise.
6830 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
6831 (DBX_DEBUGGING_INFO): Likewise.
6832 (DBX_CONTIN_LENGTH): Likewise.
6833 (DBX_REGISTER_NUMBER): Likewise.
6834 (GP_DBX_FIRST): Likewise.
6835 (FP_DBX_FIRST): Likewise.
6836 (MD_DBX_FIRST): Likewise.
6837 * config/nvptx/nvptx.cc: Likewise.
6838 * config/openbsd.h (DBX_NO_XREFS): Likewise.
6839 * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
6840 * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
6841 (DBX_CONTIN_LENGTH): Likewise.
6842 * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
6843 (DBX_USE_BINCL): Likewise.
6844 (DBX_LINES_FUNCTION_RELATIVE): Likewise.
6845 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
6846 * config/pdp11/pdp11.cc: Likewise.
6847 * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
6848 (PREFERRED_DEBUGGING_TYPE): Likewise.
6849 (DBX_CONTIN_LENGTH): Likewise.
6850 * config/rs6000/rs6000-builtin.cc: Likewise.
6851 * config/rs6000/rs6000-call.cc: Likewise.
6852 * config/rs6000/rs6000-logue.cc (defined): Likewise.
6853 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
6854 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
6855 (rs6000_xcoff_declare_function_name): Likewise.
6856 * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
6857 (DBX_FUNCTION_FIRST): Likewise.
6858 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
6859 * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
6860 * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
6861 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
6862 * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
6863 * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
6864 * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
6865 * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
6866 * config/vax/vax.cc (vax_file_start): Likewise.
6867 * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
6868 (DBX_CONTIN_LENGTH): Likewise.
6869 (DBX_CONTIN_CHAR): Likewise.
6870 (DBX_NO_XREFS): Likewise.
6871 (DBX_STATIC_STAB_DATA_SECTION): Likewise.
6872 * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
6873 (XCOFF_DEBUGGING_INFO): Likewise.
6874 * configure: Regenerate. Likewise.
6875 * configure.ac: Likewise.
6876 * debug.h: Likewise.
6877 * doc/install.texi: Likewise.
6878 * doc/invoke.texi: Likewise.
6879 * doc/passes.texi: Likewise.
6880 * doc/tm.texi: Likewise.
6881 * doc/tm.texi.in: Likewise.
6882 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
6883 (dw2_asm_output_nstring): Likewise.
6884 (USE_LINKONCE_INDIRECT): Likewise.
6885 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
6886 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
6887 (output_fde): Likewise.
6888 (output_call_frame_info): Likewise.
6889 (have_macinfo): Likewise.
6890 (add_AT_loc_list): Likewise.
6891 (add_AT_view_list): Likewise.
6892 (output_compilation_unit_header): Likewise.
6893 (output_pubnames): Likewise.
6894 (output_aranges): Likewise.
6895 (output_line_info): Likewise.
6896 (output_macinfo): Likewise.
6897 (dwarf2out_finish): Likewise.
6898 (dwarf2out_early_finish): Likewise.
6899 * final.cc (final_scan_insn_1): Likewise.
6900 (rest_of_handle_final): Likewise.
6901 * flag-types.h (enum debug_info_type): Likewise.
6902 (DBX_DEBUG): Likewise.
6903 (XCOFF_DEBUG): Likewise.
6904 * function.cc (defined): Likewise.
6905 * gcc.cc (defined): Likewise.
6906 (ASM_DEBUG_SPEC): Likewise.
6907 (ASM_DEBUG_OPTION_SPEC): Likewise.
6908 * opts.cc (common_handle_option): Likewise.
6909 (set_debug_level): Likewise.
6910 * system.h (fancy_abort): Likewise.
6911 * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
6912 (TARGET_ASM_DESTRUCTOR): Likewise.
6913 * toplev.cc (defined): Likewise.
6914 * varasm.cc: Likewise.
6915 * config/dbxcoff.h: Removed.
6916 * config/dbxelf.h: Removed.
6917 * dbxout.cc: Removed.
6918 * dbxout.h: Removed.
6919 * gstab.h: Removed.
6920 * stab.def: Removed.
6921 * xcoffout.cc: Removed.
6922 * xcoffout.h: Removed.
6923
6924 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com>
6925
6926 PR ipa/106627
6927 * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
6928 Set TREE_NOTHROW correctly for dispatcher declaration.
6929 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
6930 Likewise.
6931
6932 2022-09-01 Tamar Christina <tamar.christina@arm.com>
6933
6934 PR other/106782
6935 * config/aarch64/aarch64.cc
6936 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
6937 HOST_WIDE_INT_PRINT_UNSIGNED.
6938
6939 2022-09-01 Richard Sandiford <richard.sandiford@arm.com>
6940
6941 * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
6942 VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
6943 to the number of vector elements, if that's a known constant.
6944 (vect_optimize_slp_pass::is_compatible_layout): Remove associated
6945 comment about zero SLP_TREE_LANES.
6946 (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
6947 all partition members when looking for potential layouts.
6948 Handle existing permutes of fixed-length vectors.
6949
6950 2022-09-01 Uroš Bizjak <ubizjak@gmail.com>
6951
6952 PR target/106707
6953 * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
6954 Do not convert a move pattern where both operands are AX_REG.
6955
6956 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
6957
6958 * range-op-float.cc (build_le): Convert to dconst*inf.
6959 (build_ge): Same.
6960 * value-range.cc (frange::set_signbit): Same.
6961 (frange::normalize_kind): Same.
6962 (range_tests_floats): Same.
6963 * value-range.h (vrp_val_max): Same.
6964 (vrp_val_min): Same.
6965 (frange::set_varying): Same.
6966
6967 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
6968
6969 * emit-rtl.cc (init_emit_once): Initialize dconstinf and
6970 dconstninf.
6971 * real.h: Add dconstinf and dconstninf.
6972
6973 2022-09-01 Richard Biener <rguenther@suse.de>
6974
6975 * gimple-predicate-analysis.cc (compute_control_dep_chain):
6976 Remove cycle detection, instead avoid walking backedges.
6977
6978 2022-09-01 Richard Biener <rguenther@suse.de>
6979
6980 * gimple-predicate-analysis.cc (compute_control_dep_chain):
6981 New wrapping overload.
6982 (uninit_analysis::init_use_preds): Simplify.
6983 (uninit_analysis::init_from_phi_def): Likewise.
6984
6985 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
6986
6987 * gimple-range-fold.cc
6988 (fold_using_range::range_of_builtin_int_call): Add case for
6989 CFN_BUILT_IN_SIGNBIT.
6990
6991 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
6992
6993 * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
6994 bit.
6995 (foperator_not_equal::op1_range): Same.
6996 * value-query.cc (range_query::get_tree_range): Set sign bit.
6997 * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
6998 * value-range.cc (frange::set_signbit): New.
6999 (frange::set): Adjust for sign bit.
7000 (frange::normalize_kind): Same.
7001 (frange::union_): Remove useless comment.
7002 (frange::intersect): Same.
7003 (frange::contains_p): Adjust for sign bit.
7004 (frange::singleton_p): Same.
7005 (frange::verify_range): Same.
7006 (range_tests_signbit): New tests.
7007 (range_tests_floats): Call range_tests_signbit.
7008 * value-range.h (class frange_props): Add signbit
7009 (class frange): Same.
7010
7011 2022-09-01 Jakub Jelinek <jakub@redhat.com>
7012
7013 PR other/106782
7014 * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
7015 instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
7016 * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
7017 derived types of gimple to gimple * to avoid -Wformat warnings.
7018 * tree-vect-loop-manip.cc (vect_set_loop_condition,
7019 vect_update_ivs_after_vectorizer): Likewise.
7020 * tree-vect-stmts.cc (vectorizable_load): Likewise.
7021 * tree-vect-patterns.cc (vect_split_statement,
7022 vect_recog_mulhs_pattern, vect_recog_average_pattern,
7023 vect_determine_precisions_from_range,
7024 vect_determine_precisions_from_users): Likewise.
7025 * gimple-loop-versioning.cc
7026 (loop_versioning::analyze_term_using_scevs): Likewise.
7027 * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
7028 (vect_build_slp_tree): Cast slp_tree to void * to avoid
7029 -Wformat warnings.
7030 (optimize_load_redistribution_1, vect_match_slp_patterns,
7031 vect_build_slp_instance, vect_optimize_slp_pass::materialize,
7032 vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
7033 vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
7034 (vect_print_slp_tree): Likewise. Also use
7035 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
7036 * tree-vect-loop.cc (vect_determine_vectorization_factor,
7037 vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
7038 vectorizable_induction, vect_transform_loop): Cast pointers to derived
7039 types of gimple to gimple * to avoid -Wformat warnings.
7040 (vect_analyze_loop_2): Cast slp_tree to void * to avoid
7041 -Wformat warnings.
7042 (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
7043 instead of %d.
7044 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
7045 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
7046 instead of SLP_TREE_DEF_TYPE (node).
7047
7048 2022-09-01 Jakub Jelinek <jakub@redhat.com>
7049
7050 PR c++/106655
7051 * doc/invoke.texi (-Winvalid-utf8): Document it.
7052
7053 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
7054
7055 PR tree-optimization/106785
7056 * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
7057 (range_tests_floats): Same.
7058
7059 2022-09-01 konglin1 <lingling.kong@intel.com>
7060
7061 * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
7062 recognition.
7063
7064 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
7065
7066 PR target/101322
7067 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
7068 Enforce the use of a valid MMA pointer type.
7069
7070 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
7071
7072 * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
7073 registers.
7074
7075 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
7076
7077 * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
7078 (riscv_output_move): Add csrr vlenb assembly.
7079 * config/riscv/riscv.md (move_type): Add csrr vlenb type.
7080 (ext): New attribute.
7081 (ext_enabled): Ditto.
7082 (enabled): Ditto.
7083
7084 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
7085
7086 * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
7087 "vr" constraint.
7088 (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
7089 (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
7090 (vp): Add poly constraint.
7091
7092 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
7093
7094 * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
7095
7096 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
7097
7098 * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
7099 configuration according to TARGET_MIN_VLEN.
7100 * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
7101
7102 2022-08-31 Martin Liska <mliska@suse.cz>
7103
7104 * config.build: Remove deprecated ports.
7105 * config.gcc: Likewise.
7106 * config.host: Likewise.
7107 * configure.ac: Likewise.
7108 * configure: Regenerate.
7109 * config/pa/pa-hpux10.h: Removed.
7110 * config/pa/pa-hpux10.opt: Removed.
7111 * config/pa/t-dce-thr: Removed.
7112
7113 2022-08-31 Martin Liska <mliska@suse.cz>
7114
7115 * Makefile.in: Always install limits.h and syslimits.h to
7116 include folder.
7117 * configure.ac: Assign STMP_FIXINC blank if
7118 --disable-fixincludes is used.
7119 * configure: Regenerate.
7120
7121 2022-08-31 Richard Biener <rguenther@suse.de>
7122
7123 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
7124 Assert the guard_bb isn't empty and has more than one successor.
7125 Drop appropriate parts of the predicate when an edge fails to
7126 register a predicate.
7127 (predicate::dump): Dump empty predicate as TRUE.
7128
7129 2022-08-31 Richard Biener <rguenther@suse.de>
7130
7131 PR tree-optimization/90994
7132 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
7133 Ignore exceptional control flow and skip the edge for the purpose of
7134 predicate generation also for non-calls.
7135
7136 2022-08-31 Aldy Hernandez <aldyh@redhat.com>
7137
7138 * value-range-storage.cc (frange_storage_slot::set_frange): Save
7139 endpoints.
7140 (frange_storage_slot::get_frange): Restore endpoints.
7141 * value-range-storage.h (class frange_storage_slot): Add endpoint
7142 fields.
7143
7144 2022-08-31 Martin Liska <mliska@suse.cz>
7145
7146 PR tree-optimization/106789
7147 * range-op-float.cc (default_frelop_fold_range): Remove the
7148 function.
7149
7150 2022-08-31 Martin Liska <mliska@suse.cz>
7151
7152 * value-range.h: Add more override keywords.
7153
7154 2022-08-31 Martin Liska <mliska@suse.cz>
7155
7156 * value-range.h: Add override.
7157
7158 2022-08-31 Richard Biener <rguenther@suse.de>
7159
7160 PR tree-optimization/65244
7161 * gimple-predicate-analysis.h (predicate::init_from_control_deps):
7162 Add argument to specify whether the predicate is for the USE.
7163 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
7164 Also include predicates effective fallthru control edges when
7165 the predicate is for the USE.
7166
7167 2022-08-31 Richard Biener <rguenther@suse.de>
7168
7169 PR tree-optimization/73550
7170 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
7171 Sanitize debug dumping. Handle case labels with a CASE_HIGH.
7172 (predicate::dump): Adjust for better readability.
7173
7174 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7175 Jakub Jelinek <jakub@redhat.com>
7176
7177 * omp-simd-clone.cc (simd_clone_adjust_return_type,
7178 simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
7179 instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
7180
7181 2022-08-31 Richard Sandiford <richard.sandiford@arm.com>
7182
7183 * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
7184 argument.
7185
7186 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai>
7187
7188 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
7189 initialize const_vf to 0.
7190
7191 2022-08-31 Martin Liska <mliska@suse.cz>
7192
7193 * config.gcc: Remove cr16.
7194
7195 2022-08-30 Martin Jambor <mjambor@suse.cz>
7196
7197 * vec.h (array_slice): Add constructors for non-const reference to
7198 heap vector and pointers to heap vectors.
7199
7200 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
7201
7202 * value-range.cc (early_nan_resolve): Change comment.
7203 (frange::union_): Handle union when one side is a NAN.
7204 (range_tests_nan): Add tests for NAN union.
7205
7206 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
7207
7208 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
7209 (gcn_simd_clone_adjust): New.
7210 (gcn_simd_clone_usable): New.
7211 (TARGET_SIMD_CLONE_ADJUST): New.
7212 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
7213 (TARGET_SIMD_CLONE_USABLE): New.
7214
7215 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
7216
7217 * doc/tm.texi: Regenerate.
7218 * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
7219 vecsize.
7220 (simd_clone_adjust_argument_types): Likewise.
7221 * target.def (compute_vecsize_and_simdlen): Document the new
7222 vecsize_int and vecsize_float semantics.
7223
7224 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
7225
7226 * expmed.cc (store_bit_field_1): Fix byte offset calculation
7227 for undefined structures.
7228
7229 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
7230
7231 * params.opt (-param=vect-max-layout-candidates=): New parameter.
7232 * doc/invoke.texi (vect-max-layout-candidates): Document it.
7233 * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
7234 (auto_load_permutation_t): Likewise.
7235 * tree-vect-slp.cc (vect_slp_node_weight): New function.
7236 (slpg_layout_cost): New class.
7237 (slpg_vertex): Replace perm_in and perm_out with partition,
7238 out_degree, weight and out_weight.
7239 (slpg_partition_info, slpg_partition_layout_costs): New classes.
7240 (vect_optimize_slp_pass): Likewise, cannibalizing some part of
7241 the previous vect_optimize_slp.
7242 (vect_optimize_slp): Use it.
7243
7244 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
7245
7246 * hash-traits.h (vec_hash_base): New class.
7247 (vec_free_hash_base): Likewise.
7248
7249 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
7250
7251 * hash-traits.h (int_hash_base): New struct, split out from...
7252 (int_hash): ...this class, which now inherits from int_hash_base.
7253 * hash-map-traits.h (unbounded_hashmap_traits): Take a template
7254 parameter for the key that provides hash and equality functions.
7255 (unbounded_int_hashmap_traits): Turn into a type alias of
7256 unbounded_hashmap_traits.
7257
7258 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
7259
7260 * graphds.cc (graphds_scc): Add a pass-back parameter for the
7261 final node order.
7262 * graphds.h (graphds_scc): Update prototype accordingly.
7263
7264 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
7265
7266 * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
7267 (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead
7268 of STMT_VINFO_VECTYPE.
7269
7270 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
7271
7272 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
7273 (vectorizable_slp_permutation): ...here.
7274
7275 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
7276
7277 * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
7278 that the requested number of units is interoperable with the requested
7279 prevailing mode.
7280
7281 2022-08-30 Martin Liska <mliska@suse.cz>
7282
7283 * config.gcc: Remove the port.
7284 * config/m32c/rtems.h: Removed.
7285
7286 2022-08-30 Richard Biener <rguenther@suse.de>
7287
7288 PR tree-optimization/73550
7289 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
7290 Do not apply MAX_NUM_CHAINS again.
7291
7292 2022-08-30 Richard Biener <rguenther@suse.de>
7293
7294 * gimple-predicate-analysis.cc (format_edge_vec): Dump
7295 both source and destination.
7296 (dump_dep_chains): Remove.
7297 (uninit_analysis::init_use_preds): Remove redundant
7298 dumping of chains.
7299
7300 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
7301
7302 * value-range-storage.cc (frange_storage_slot::get_frange): Use
7303 frange_nan.
7304 * value-range.cc (frange::set_nan): New.
7305 (frange_nan): Move to header file.
7306 (range_tests_nan): Adjust frange_nan callers to pass type.
7307 New test.
7308 * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
7309 (frange_nan): New.
7310
7311 2022-08-30 Richard Biener <rguenther@suse.de>
7312
7313 PR tree-optimization/67196
7314 * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
7315 Simplify and normalize use prediates before first use.
7316
7317 2022-08-30 Richard Biener <rguenther@suse.de>
7318
7319 * gimple-predicate-analysis.cc (dump_pred_chain): Fix
7320 parentizing and AND prepending.
7321 (predicate::dump): Do not dump the GENERIC expanded
7322 predicate, properly parentize and prepend ORs to the
7323 piecewise predicate dump.
7324 (build_pred_expr): Remove.
7325
7326 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
7327
7328 * range-op-float.cc (finite_operand_p): New.
7329 (build_le): New.
7330 (build_lt): New.
7331 (build_ge): New.
7332 (build_gt): New.
7333 (foperator_equal::fold_range): New implementation with endpoints.
7334 (foperator_equal::op1_range): Same.
7335 (foperator_not_equal::fold_range): Same.
7336 (foperator_not_equal::op1_range): Same.
7337 (foperator_lt::fold_range): Same.
7338 (foperator_lt::op1_range): Same.
7339 (foperator_lt::op2_range): Same.
7340 (foperator_le::fold_range): Same.
7341 (foperator_le::op1_range): Same.
7342 (foperator_le::op2_range): Same.
7343 (foperator_gt::fold_range): Same.
7344 (foperator_gt::op1_range): Same.
7345 (foperator_gt::op2_range): Same.
7346 (foperator_ge::fold_range): Same.
7347 (foperator_ge::op1_range): Same.
7348 (foperator_ge::op2_range): Same.
7349
7350 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
7351
7352 * range-op-float.cc (frange_set_nan): New.
7353 (frange_drop_inf): New.
7354 (frange_drop_ninf): New.
7355 (foperator_equal::op1_range): Adjust for endpoints.
7356 (foperator_lt::op1_range): Same.
7357 (foperator_lt::op2_range): Same.
7358 (foperator_gt::op1_range): Same.
7359 (foperator_gt::op2_range): Same.
7360 (foperator_unordered::op1_range): Same.
7361 * value-query.cc (range_query::get_tree_range): Same.
7362 * value-range-pretty-print.cc (vrange_printer::visit): Same.
7363 * value-range-storage.cc (frange_storage_slot::get_frange): Same.
7364 * value-range.cc (frange::set): Same.
7365 (frange::normalize_kind): Same.
7366 (frange::union_): Same.
7367 (frange::intersect): Same.
7368 (frange::operator=): Same.
7369 (early_nan_resolve): New.
7370 (frange::contains_p): New.
7371 (frange::singleton_p): New.
7372 (frange::set_nonzero): New.
7373 (frange::nonzero_p): New.
7374 (frange::set_zero): New.
7375 (frange::zero_p): New.
7376 (frange::set_nonnegative): New.
7377 (frange_float): New.
7378 (frange_nan): New.
7379 (range_tests_nan): New.
7380 (range_tests_signed_zeros): New.
7381 (range_tests_floats): New.
7382 (range_tests): New.
7383 * value-range.h (frange::lower_bound): New.
7384 (frange::upper_bound): New.
7385 (vrp_val_min): Use real_inf with a sign instead of negating inf.
7386 (frange::frange): New.
7387 (frange::set_varying): Adjust for endpoints.
7388 (real_max_representable): New.
7389 (real_min_representable): New.
7390
7391 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
7392
7393 * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
7394 for real zero.
7395
7396 2022-08-30 Martin Liska <mliska@suse.cz>
7397
7398 * config/s390/s390.cc (s390_rtx_costs): Use proper type as
7399 argument.
7400
7401 2022-08-30 Richard Biener <rguenther@suse.de>
7402
7403 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
7404 the set of fallthru reachable blocks from function entry
7405 and use that to determine wlims.always_executed.
7406
7407 2022-08-30 Richard Biener <rguenther@suse.de>
7408
7409 PR tree-optimization/56654
7410 * tree-ssa-uninit.cc (cand_cmp): New.
7411 (find_uninit_use): First process all PHIs and collect candidate
7412 stmts, then sort those after RPO.
7413 (warn_uninitialized_phi): Pass on bb_to_rpo.
7414 (execute_late_warn_uninitialized): Compute and pass on
7415 reverse lookup of RPO number from basic block index.
7416
7417 2022-08-30 Richard Biener <rguenther@suse.de>
7418
7419 * gimple-predicate-analysis.h (uninit_analysis::operator()):
7420 Remove.
7421 * gimple-predicate-analysis.cc
7422 (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
7423 simplify a bit.
7424 * tree-ssa-uninit.cc (defined_args): New global.
7425 (compute_uninit_opnds_pos): Mask with the recorded set
7426 of guarded maybe-uninitialized uses.
7427 (uninit_undef_val_t::operator()): Remove.
7428 (find_uninit_use): Process all PHI uses, recording the
7429 guarded ones and marking the PHI result as uninitialized
7430 consistently.
7431 (warn_uninitialized_phi): Adjust.
7432 (execute_late_warn_uninitialized): Get rid of the PHI worklist
7433 and instead walk the function in RPO order.
7434 * spellcheck.h (best_match::m_best_candidate_len): Initialize.
7435
7436 2022-08-30 Tamar Christina <tamar.christina@arm.com>
7437
7438 PR tree-optimization/106744
7439 * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
7440
7441 2022-08-30 Tamar Christina <tamar.christina@arm.com>
7442
7443 * expmed.cc (store_bit_field_1): Initialize regnum to 0.
7444
7445 2022-08-29 David Faust <david.faust@oracle.com>
7446
7447 PR target/106745
7448 * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
7449 computation of index for anonymous members.
7450
7451 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com>
7452
7453 * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
7454 target macro.
7455
7456 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
7457
7458 PR target/106748
7459 * config/i386/i386-expand.cc
7460 (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
7461 * config/i386/sse.md (V_256H): Add V16BF.
7462
7463 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
7464
7465 * config/s390/s390.cc (s390_address_cost): Declare.
7466 (s390_hard_regno_nregs): Declare.
7467 (s390_rtx_costs): Add handling for REG and MEM in SET.
7468
7469 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
7470
7471 * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
7472 (is_reverse_perm_mask): New function.
7473 (expand_perm_with_rot): Recognize reverse pattern.
7474 (expand_perm_with_vstbrq): New function.
7475 (expand_perm_with_vster): Use vler/vster for element reversal on z15.
7476 (vectorize_vec_perm_const_1): Use.
7477 (s390_vectorize_vec_perm_const): Add expand functions.
7478 * config/s390/vx-builtins.md: Prefer vster over vler.
7479
7480 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
7481
7482 * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
7483 * config/s390/vector.md: Rewrite patterns to use vec_select.
7484 * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
7485 Likewise.
7486
7487 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
7488
7489 PR target/100869
7490 * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
7491 (rotl<mode>3_di): New pattern.
7492 * config/s390/vx-builtins.md: Use vpdi and verll for reversing
7493 elements.
7494
7495 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
7496
7497 * config/s390/s390.cc (s390_issue_rate): Add z15.
7498
7499 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
7500
7501 * common/config/s390/s390-common.cc: Enable -funroll-loops and
7502 -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
7503 * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
7504 loops larger than 12 instructions.
7505 (s390_override_options_after_change): Set unroll options.
7506 (s390_option_override_internal): Likewise.
7507 * config/s390/s390.opt: Document munroll-only-small-loops.
7508
7509 2022-08-29 Richard Biener <rguenther@suse.de>
7510
7511 * gimple-predicate-analysis.cc (is_loop_exit,
7512 find_control_equiv_block): Inline into single caller ...
7513 (uninit_analysis::init_use_preds): ... here and refactor.
7514
7515 2022-08-29 Richard Biener <rguenther@suse.de>
7516
7517 * gimple-predicate-analysis.cc (compute_control_dep_chain):
7518 Inline is_loop_exit and refactor, add comment about
7519 loop exits.
7520
7521 2022-08-29 Kito Cheng <kito.cheng@sifive.com>
7522
7523 * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
7524 (riscv_frame_info::reset(void)): New.
7525 (riscv_compute_frame_info): Use riscv_frame_info::reset instead
7526 of memset when clean frame.
7527
7528 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
7529
7530 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
7531 (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
7532 (riscv_address_insns): Add RVV modes condition.
7533 (riscv_binary_cost): Ditto.
7534 (riscv_rtx_costs): Adjust cost for RVV.
7535 (riscv_secondary_memory_needed): Add RVV modes condition.
7536 (riscv_hard_regno_nregs): Add RVV register allocation.
7537 (riscv_hard_regno_mode_ok): Add RVV register allocation.
7538 (riscv_class_max_nregs): Add RVV register allocation.
7539 * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
7540 (UNITS_PER_V_REG): New macro.
7541 (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
7542 (V_REG_FIRST): New macro.
7543 (V_REG_LAST): Ditto.
7544 (V_REG_NUM): Ditto.
7545 (V_REG_P): Ditto.
7546 (VL_REG_P): Ditto.
7547 (VTYPE_REG_P): Ditto.
7548 (RISCV_DWARF_VL): Ditto.
7549 (RISCV_DWARF_VTYPE): Ditto.
7550 (enum reg_class): Add RVV register types.
7551 (REG_CLASS_CONTENTS): Add RVV register types.
7552 * config/riscv/riscv.md: Add VL/VTYPE register number constants.
7553
7554 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
7555
7556 * config/riscv/riscv.md: Add new type for vector instructions.
7557
7558 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
7559
7560 PR target/106017
7561 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
7562 of MMA pointer conversions.
7563
7564 2022-08-27 Xi Ruoyao <xry111@xry111.site>
7565
7566 * config/i386/gcc-auto-profile: Regenerate.
7567
7568 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
7569
7570 * real.cc (real_iszero): New.
7571 * real.h (real_iszero): New.
7572
7573 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
7574
7575 * real.cc (real_isinf): New overload.
7576 (real_inf): Add sign argument.
7577 * real.h (real_isinf): New overload.
7578 (real_inf): Add sign argument.
7579
7580 2022-08-26 Marek Polacek <polacek@redhat.com>
7581
7582 PR c++/81159
7583 * doc/invoke.texi: Document -Wself-move.
7584
7585 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
7586
7587 * value-range.cc (vrange::set): Set varying.
7588 (vrange::set_nonzero): Same.
7589 (vrange::set_zero): Same.
7590 (vrange::set_nonnegative): Same.
7591
7592 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
7593
7594 * range-op-float.cc (foperator_equal::op1_range): Do not blindly
7595 copy op2 range when honoring signed zeros.
7596
7597 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
7598
7599 * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
7600 add newline.
7601 (profitable_path_p): Same.
7602
7603 2022-08-26 Richard Biener <rguenther@suse.de>
7604
7605 * gimple-predicate-analysis.h
7606 (uninit_analysis::use_cannot_happen): Remove.
7607 * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
7608 (uninit_analysis::use_cannot_happen): Likewise.
7609 (uninit_analysis::is_use_guarded): Do not call
7610 use_cannot_happen.
7611 (dump_predicates): Remove.
7612 (simple_control_dep_chain): Remove edge overload.
7613
7614 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
7615
7616 * internal-fn.cc (expand_GOMP_TARGET_REV): New.
7617 * internal-fn.def (GOMP_TARGET_REV): New.
7618 * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
7619 'omp target device_ancestor_host' as in_other_partition and don't
7620 error if absent.
7621 * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
7622 * omp-expand.cc (expand_omp_target): For reverse offload, remove
7623 sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
7624 empty-body nohost function.
7625 * omp-offload.cc (execute_omp_device_lower): Handle
7626 IFN_GOMP_TARGET_REV.
7627 (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
7628 nullify fn argument for reverse offload
7629
7630 2022-08-26 Jakub Jelinek <jakub@redhat.com>
7631
7632 * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
7633 * builtins.cc (expand_builtin_issignaling): New function.
7634 (expand_builtin_signbit): Don't overwrite target.
7635 (expand_builtin): Handle BUILT_IN_ISSIGNALING.
7636 (fold_builtin_classify): Likewise.
7637 (fold_builtin_1): Likewise.
7638 * optabs.def (issignaling_optab): New.
7639 * fold-const-call.cc (fold_const_call_ss): Handle
7640 BUILT_IN_ISSIGNALING.
7641 * config/i386/i386.md (issignalingxf2): New expander.
7642 * doc/extend.texi (__builtin_issignaling): Document.
7643 (__builtin_isinf, __builtin_isnan): Clarify behavior with
7644 -ffinite-math-only.
7645 * doc/md.texi (issignaling<mode>2): Likewise.
7646
7647 2022-08-26 Jakub Jelinek <jakub@redhat.com>
7648
7649 PR tree-optimization/106099
7650 * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
7651 * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
7652 __builtin_trap to avoid the need of vops.
7653
7654 2022-08-26 Richard Biener <rguenther@suse.de>
7655
7656 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
7657 New helper.
7658 (compute_control_dep_chain): Adjust to honor marked region
7659 if provided.
7660 (uninit_analysis::init_from_phi_def): Pre-mark the dominating
7661 region to improve compute_control_dep_chain walking.
7662 * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
7663
7664 2022-08-26 Richard Biener <rguenther@suse.de>
7665
7666 * gimple-predicate-analysis.cc
7667 (uninit_analysis::collect_phi_def_edges): Only expand a
7668 PHI def edge when it is possibly undefined.
7669
7670 2022-08-26 Martin Liska <mliska@suse.cz>
7671
7672 * doc/extend.texi: Remove cr16 related stuff.
7673 * doc/install.texi: Likewise.
7674 * doc/invoke.texi: Likewise.
7675 * doc/md.texi: Likewise.
7676 * function-tests.cc (test_expansion_to_rtl): Likewise.
7677 * common/config/cr16/cr16-common.cc: Removed.
7678 * config/cr16/constraints.md: Removed.
7679 * config/cr16/cr16-protos.h: Removed.
7680 * config/cr16/cr16.cc: Removed.
7681 * config/cr16/cr16.h: Removed.
7682 * config/cr16/cr16.md: Removed.
7683 * config/cr16/cr16.opt: Removed.
7684 * config/cr16/predicates.md: Removed.
7685 * config/cr16/t-cr16: Removed.
7686
7687 2022-08-26 liuhongt <hongtao.liu@intel.com>
7688
7689 PR target/106704
7690 * config/i386/i386-builtin.def (BDESC): Add
7691 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
7692 corresponding builtins.
7693 * config/i386/i386.cc (ix86_gimple_fold_builtin):
7694 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
7695 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
7696
7697 2022-08-25 Marek Polacek <polacek@redhat.com>
7698
7699 * ginclude/stddef.h: Define nullptr_t.
7700
7701 2022-08-25 Joseph Myers <joseph@codesourcery.com>
7702
7703 * gimplify.cc (gimplify_modify_expr): Convert initialization from
7704 a variable-size CONSTRUCTOR to memset before call to
7705 gimplify_modify_expr_rhs.
7706
7707 2022-08-25 Jason Merrill <jason@redhat.com>
7708
7709 * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
7710
7711 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
7712
7713 PR target/106101
7714 * config/s390/predicates.md (subreg_register_operand): New
7715 predicate.
7716 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
7717 function prototype.
7718 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
7719 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
7720 gen_lowpart.
7721 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
7722 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
7723 ("movstrictqi", "movstricthi", "movstrictsi"): Use the
7724 subreg_register_operand predicate instead of register_operand.
7725
7726 2022-08-25 Xi Ruoyao <xry111@xry111.site>
7727
7728 * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
7729 Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
7730 * config/loongarch/loongarch.cc (loongarch_attribute_table):
7731 New attribute table.
7732 (TARGET_ATTRIBUTE_TABLE): Define the target hook.
7733 (loongarch_handle_model_attribute): New static function.
7734 (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
7735 model attribute of SYMBOL_REF_DECL into account returning
7736 SYMBOL_PCREL or SYMBOL_PCREL64.
7737 (loongarch_use_anchors_for_symbol_p): New static function.
7738 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
7739 (loongarch_symbol_extreme_p): New static function.
7740 (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
7741 (loongarch_symbol_insns): Likewise.
7742 (loongarch_split_symbol_type): Likewise.
7743 (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
7744 TARGET_CMODEL_EXTREME for PC-relative addressing.
7745 (loongarch_print_operand_reloc): Likewise.
7746 * doc/extend.texi (Variable Attributes): Document new
7747 LoongArch specific attribute.
7748
7749 2022-08-25 Xi Ruoyao <xry111@xry111.site>
7750
7751 * config/loongarch/loongarch.cc (loongarch_classify_symbol):
7752 Return early if the rtx is not SYMBOL_REF.
7753
7754 2022-08-25 Richard Biener <rguenther@suse.de>
7755
7756 PR tree-optimization/106737
7757 * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
7758 verify SSA form.
7759
7760 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
7761
7762 PR target/106459
7763 * config/loongarch/loongarch.cc (loongarch_build_integer):
7764 Use HOST_WIDE_INT.
7765 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
7766 (HWIT_1U): New Defined.
7767 (LU12I_OPERAND): Use HOST_WIDE_INT.
7768 (LU32I_OPERAND): Likewise.
7769 (LU52I_OPERAND): Likewise.
7770 (HWIT_UC_0xFFF): Likwise.
7771
7772 2022-08-24 Andrew Pinski <apinski@marvell.com>
7773
7774 PR target/106632
7775 PR target/106588
7776 * config/riscv/bitmanip.md (*shNadduw): Use n constraint
7777 instead of i.
7778 (*slliuw): Likewise.
7779 (*bexti): Likewise. Also add a check for operands[2] to be less
7780 than the mode bitsize.
7781
7782 2022-08-24 Andrew Pinski <apinski@marvell.com>
7783
7784 * config/riscv/constraints.md (DbS): New constraint.
7785 (DnS): New constraint.
7786 * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
7787 (*bclr<mode>): Likewise.
7788 (*binvi<mode>): Likewise.
7789
7790 2022-08-24 Andrew Pinski <apinski@marvell.com>
7791
7792 PR target/106586
7793 * config/riscv/predicates.md (single_bit_mask_operand):
7794 Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
7795 (not_single_bit_mask_operand): Likewise.
7796 * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
7797 1<<31 for 32bits as it is already handled.
7798 Call trunc_int_for_mode on the upper part after the subtraction.
7799 (riscv_move_integer): Call trunc_int_for_mode before generating
7800 the integer just make sure the constant has been sign extended
7801 corectly.
7802 (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
7803 addition for the new rhs.
7804 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
7805 then mask off the upper 32bits of the HWI as it will be sign extended.
7806
7807 2022-08-24 Andrew Pinski <apinski@marvell.com>
7808
7809 * config/riscv/constraints.md (DsS): New constraint.
7810 (DsD): New constraint.
7811 * config/riscv/iterators.md (shiftm1c): New iterator.
7812 * config/riscv/bitmanip.md (*bset<mode>_mask):
7813 Use shiftm1c.
7814 (*bset<mode>_1_mask): Likewise.
7815
7816 2022-08-24 Andrew Pinski <apinski@marvell.com>
7817
7818 * config/riscv/constraints.md (Ds3): New constraint.
7819 * config/riscv/predicates.md (imm123_operand): New predicate.
7820 * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
7821 (*shNadduw): Likewise.
7822
7823 2022-08-24 Andrew Pinski <apinski@marvell.com>
7824
7825 * config/riscv/riscv.cc (riscv_print_operand):
7826 Handle '~'.
7827 (riscv_print_operand_punct_valid_p): New function
7828 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
7829 * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
7830 Use %~ instead of conditional the pattern on TARGET_64BIT.
7831 (rotrsi3): Likewise.
7832 (rotlsi3): Likewise.
7833 * config/riscv/riscv.md: Add ~ to the list of modifiers.
7834 (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
7835 (subsi3): Likewise.
7836 (negsi2): Likewise.
7837 (mulsi3): Likewise.
7838 (optab>si3/any_div): Likewise.
7839 (*add<mode>hi3): Likewise.
7840 (<optab>si3/any_shift): Likewise.
7841
7842 2022-08-24 Andrew Pinski <apinski@marvell.com>
7843
7844 * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
7845 keep the list in riscv.md in sync with this list.
7846 * config/riscv/riscv.md: Add list of modifiers as comments.
7847
7848 2022-08-24 Andrew Pinski <apinski@marvell.com>
7849
7850 * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
7851 * config/riscv/iterators.md: Here.
7852
7853 2022-08-24 Andrew Pinski <apinski@marvell.com>
7854
7855 * config/riscv/bitmanip.md
7856 (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
7857 tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
7858 * config/riscv/iterators.md: Here.
7859
7860 2022-08-24 Andrew Pinski <apinski@marvell.com>
7861
7862 * config/riscv/riscv.md (GPR): Move to new file.
7863 (P, X, BR): Likewise.
7864 (MOVE32, MOVE64, SHORT): Likewise.
7865 (HISI, SUPERQI, SUBX): Likewise.
7866 (ANYI, ANYF, SOFTF): Likewise.
7867 (size, load, default_load): Likewise.
7868 (softload, store, softstore): Likewise.
7869 (reg, fmt, ifmt, amo): Likewise.
7870 (UNITMODE, HALFMODE): Likewise.
7871 (RINT, rint_pattern, rint_rm): Likewise.
7872 (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
7873 (any_extend, any_shiftrt, any_shift): Likewise.
7874 (any_bitwise): Likewise.
7875 (any_div, any_mod): Likewise.
7876 (any_gt, any_ge, any_lt, any_le): Likewise.
7877 (u, su): Likewise.
7878 (optab, insn): Likewise.
7879 * config/riscv/iterators.md: New file.
7880
7881 2022-08-24 Andrew Pinski <apinski@marvell.com>
7882
7883 PR target/106601
7884 * config/riscv/bitmanip.md (bswaphi2): New pattern.
7885
7886 2022-08-24 Andrew Pinski <apinski@marvell.com>
7887
7888 PR target/106600
7889 * config/riscv/bitmanip.md (bswap<mode>2): Remove
7890 condition on TARGET_64BIT as X is already conditional there.
7891
7892 2022-08-24 Joseph Myers <joseph@codesourcery.com>
7893
7894 * tree.cc (build_real): Give DFP dconst0 the minimum quantum
7895 exponent for the type.
7896
7897 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com>
7898
7899 PR target/106733
7900 * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
7901 constants as legitimate addresses for functions.
7902 (bpf_small_register_classes_for_mode_p): Define target hook.
7903
7904 2022-08-24 Richard Biener <rguenther@suse.de>
7905
7906 * gimple-predicate-analysis.cc: Move predicate normalization
7907 after the comment documenting it.
7908
7909 2022-08-24 Richard Biener <rguenther@suse.de>
7910
7911 * gimple-predicate-analysis.h (predicate): Split out
7912 non-predicate related functionality into ..
7913 (uninit_analysis): .. this new class.
7914 * gimple-predicate-analysis.cc: Refactor into two classes.
7915 * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
7916
7917 2022-08-24 Richard Biener <rguenther@suse.de>
7918
7919 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
7920 Do simple_control_dep_chain only up to cd_root, add the PHI
7921 operand edge to the chains like init_from_phi_def does.
7922 (predicate::is_use_guarded): Speedup early out, avoid half-way
7923 initializing the PHI def predicate.
7924
7925 2022-08-24 Jakub Jelinek <jakub@redhat.com>
7926
7927 PR target/106721
7928 * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
7929 Change V32HF, V16HF and V8HF entries from "f" to "i".
7930 (iptr): Add V32BF, V16BF, V8BF and BF entries.
7931 (i128vldq): Add V16HF and V16BF entries.
7932 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
7933 mask_opernad3 -> mask_operand3.
7934
7935 2022-08-24 Martin Liska <mliska@suse.cz>
7936 Jørgen Kvalsvik <j@lambda.is>
7937
7938 * gcov.cc (add_line_counts): Add group functions to coverage
7939 summary.
7940 (accumulate_line_counts): Similarly for files.
7941
7942 2022-08-24 Lulu Cheng <chenglulu@loongson.cn>
7943
7944 * config/loongarch/genopts/loongarch-strings: Support code model medium.
7945 * config/loongarch/genopts/loongarch.opt.in: Likewise.
7946 * config/loongarch/loongarch-def.c: Likewise.
7947 * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
7948 (CMODEL_EXTREME): Likewise.
7949 (N_CMODEL_TYPES): Likewise.
7950 (CMODEL_MEDIUM): Likewise.
7951 * config/loongarch/loongarch-opts.cc: Likewise.
7952 * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
7953 * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
7954 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
7955 Tls symbol Loading support medium mode.
7956 (loongarch_legitimize_call_address): When medium mode, make a symbolic
7957 jump with two instructions.
7958 (loongarch_option_override_internal): Support medium.
7959 * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
7960 (@sibcall_internal_1<mode>): New function call templates added to support
7961 medium mode.
7962 (@sibcall_value_internal_1<mode>): Likewise.
7963 (@sibcall_value_multiple_internal_1<mode>): Likewise.
7964 (@call_internal_1<mode>): Likewise.
7965 (@call_value_internal_1<mode>): Likewise.
7966 (@call_value_multiple_internal_1<mode>): Likewise.
7967 * config/loongarch/loongarch.opt: Support medium.
7968 * config/loongarch/predicates.md: Add processing about medium mode.
7969 * doc/invoke.texi: Document for '-mcmodel=medium'.
7970
7971 2022-08-24 Richard Biener <rguenther@suse.de>
7972
7973 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
7974 Start the compute_control_dep_chain walk from the immediate
7975 dominator of the PHI.
7976
7977 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
7978
7979 PR target/106714
7980 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
7981 __PTRDIFF_TYPE__.
7982 (_tile_stream_loadd_internal): Likewise.
7983 (_tile_stored_internal): Likewise.
7984
7985 2022-08-23 Richard Biener <rguenther@suse.de>
7986
7987 PR tree-optimization/106722
7988 * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
7989 MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
7990 * gimple-predicate-analysis.cc: ... here and document.
7991 (simple_control_dep_chain): New function, factored from
7992 predicate::use_cannot_happen.
7993 (predicate::use_cannot_happen): Adjust.
7994 (predicate::predicate): Use simple_control_dep_chain as fallback.
7995
7996 2022-08-23 Aldy Hernandez <aldyh@redhat.com>
7997
7998 * range-op-float.cc (foperator_equal::op1_range): Set range to
7999 range of op2.
8000
8001 2022-08-23 Richard Biener <rguenther@suse.de>
8002
8003 * gimple-predicate-analysis.cc (is_loop_exit): Split out
8004 from ...
8005 (is_non_loop_exit_postdominating): ... here. Remove after
8006 inlining ...
8007 (find_control_equiv_block): ... here.
8008 (compute_control_dep_chain): ... and here.
8009 (predicate::is_use_guarded): Do not excempt loop exits
8010 from short-cutting the case of the use post-dominating the
8011 PHI definition.
8012
8013 2022-08-23 Andrew MacLeod <amacleod@redhat.com>
8014
8015 PR tree-optimization/106687
8016 * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
8017 for the VREL_GT case as well.
8018
8019 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
8020
8021 * config/pru/pru.md (pru_<code>di3): New alternative for
8022 two operands but without earlyclobber.
8023
8024 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
8025
8026 * config/pru/pru.md (prumov<mode>, mov<mode>): Add
8027 variants for loading -1 consts.
8028
8029 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
8030
8031 PR target/106564
8032 * config/pru/constraints.md (Um): New constraint for -1.
8033 (Uf): New constraint for IOR fill-bytes constants.
8034 (Uz): New constraint for AND zero-bytes constants.
8035 * config/pru/predicates.md (const_fillbytes_operand): New
8036 predicate for IOR fill-bytes constants.
8037 (const_zerobytes_operand): New predicate for AND zero-bytes
8038 constants.
8039 * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
8040 (struct pru_byterange): New struct to describe a byte range.
8041 (pru_calc_byterange): New declaration.
8042 * config/pru/pru.cc (pru_rtx_costs): Add penalty for
8043 64-bit zero-extend.
8044 (pru_output_sign_extend): Remove.
8045 (pru_calc_byterange): New helper function to extract byte
8046 range info from a constant.
8047 (pru_print_operand): Remove 'y' and 'z' print modifiers.
8048 * config/pru/pru.md (zero_extendqidi2): New pattern.
8049 (zero_extendhidi2): New pattern.
8050 (zero_extendsidi2): New pattern.
8051 (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
8052 (@pru_ior_fillbytes<mode>): New pattern.
8053 (@pru_and_zerobytes<mode>): New pattern.
8054 (<code>di3): Rewrite as an expand and handle ZERO and FILL
8055 special cases.
8056 (pru_<code>di3): New name for <code>di3.
8057 (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
8058 handle bit-test for 64-bit registers.
8059
8060 2022-08-22 Richard Biener <rguenther@suse.de>
8061
8062 * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
8063 (predicate::def_expr): Likewise.
8064 (predicate::use_expr): Likewise.
8065 (predicate::expr): Likewise.
8066 * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
8067 (predicate::use_expr): Likewise.
8068 (predicate::expr): Likewise.
8069 (predicate::is_use_guarded): Do not build m_use_expr.
8070
8071 2022-08-22 Martin Liska <mliska@suse.cz>
8072
8073 PR lto/106700
8074 * configure.ac: Detect O_NONBLOCK flag for open.
8075 * config.in: Regenerate.
8076 * configure: Regenerate.
8077 * opts-common.cc (jobserver_info::connect): Set is_connected
8078 properly based on O_NONBLOCK.
8079 * opts-jobserver.h (struct jobserver_info): Add is_connected
8080 member variable.
8081
8082 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai>
8083
8084 * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
8085 and repeat value different.
8086
8087 2022-08-22 Tobias Burnus <tobias@codesourcery.com>
8088
8089 PR lto/106686
8090 * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
8091 (tool_cleanup): Unlink offload_names.
8092 (compile_offload_image): Take filename argument to set it early.
8093 (compile_images_for_offload_targets): Update call; set
8094 offload_names to NULL after freeing the array.
8095
8096 2022-08-22 Richard Biener <rguenther@suse.de>
8097
8098 PR tree-optimization/105937
8099 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
8100 on backedges.
8101 (execute_late_warn_uninitialized): Mark backedges.
8102
8103 2022-08-22 Richard Biener <rguenther@suse.de>
8104
8105 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
8106 If the use is guarded with multiple predicate paths compute
8107 the predicates intersection before going forward. When
8108 compute_control_dep_chain wasn't able to come up with at
8109 least one path from function entry to the PHI edge compute
8110 a conservative sparse path instead.
8111
8112 2022-08-20 Lulu Cheng <chenglulu@loongson.cn>
8113
8114 * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
8115 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
8116 Add extreme support for TLS GD and LD types.
8117 (loongarch_legitimize_tls_address): Add extreme support for TLS LE
8118 and IE.
8119 (loongarch_split_symbol): When compiling with -mcmodel=extreme,
8120 the symbol address will be obtained through five instructions.
8121 (loongarch_print_operand_reloc): Add support.
8122 (loongarch_print_operand): Add support.
8123 (loongarch_print_operand_address): Add support.
8124 (loongarch_option_override_internal): Set '-mcmodel=extreme' option
8125 incompatible with '-mno-explicit-relocs'.
8126 * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
8127 Loads bits 12-31 of data into registers.
8128 (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
8129 the source register.
8130 (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
8131 the source register.
8132 * config/loongarch/predicates.md: Symbols need to be decomposed
8133 when defining the macro TARGET_CMODEL_EXTREME
8134 * doc/invoke.texi: Modify the description information of cmodel in the document.
8135 Document -W[no-]extreme-plt.
8136
8137 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
8138
8139 * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
8140 files_to_cleanup.
8141 * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
8142 omp_requires_file to temp_files.
8143 * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
8144 (main): Remove local omp_requires_file var.
8145 (tool_cleanup): Handle omp_requires_file.
8146
8147 2022-08-19 Aldy Hernandez <aldyh@redhat.com>
8148
8149 * gimple-range-path.cc (path_range_query::path_range_query):
8150 Remove constructor that takes edge.
8151 * gimple-range-path.h (class path_range_query): Same.
8152 * tree-ssa-loop-ch.cc (edge_range_query): New.
8153 (entry_loop_condition_is_static): Call edge_range_query.
8154
8155 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8156
8157 * config/xtensa/xtensa.h
8158 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
8159 Add new register class "ISC_REGS".
8160 * config/xtensa/constraints.md (c): Add new register constraint.
8161 * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
8162 (sibcall_internal, sibcall_value_internal):
8163 Change to use the new register constraint, and remove two split
8164 patterns for fixups that are no longer needed.
8165
8166 2022-08-18 Maciej W. Rozycki <macro@embecosm.com>
8167
8168 * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
8169 pattern formatting.
8170
8171 2022-08-18 Tim Lange <mail@tim-lange.me>
8172
8173 PR analyzer/106181
8174 * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
8175
8176 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
8177
8178 * gimple-range-path.cc (path_range_query::path_range_query): Add
8179 various constructors to take a path.
8180 (path_range_query::~path_range_query): Remove m_alloced_ranger.
8181 (path_range_query::range_on_path_entry): Adjust for m_ranger being
8182 a reference.
8183 (path_range_query::set_path): Rename to...
8184 (path_range_query::reset_path): ...this and call compute_ranges.
8185 (path_range_query::ssa_range_in_phi): Adjust for m_ranger
8186 reference.
8187 (path_range_query::range_defined_in_block): Same.
8188 (path_range_query::compute_ranges_in_block): Same.
8189 (path_range_query::adjust_for_non_null_uses): Same.
8190 (path_range_query::compute_exit_dependencies): Use m_path instead
8191 of argument.
8192 (path_range_query::compute_ranges): Remove path argument.
8193 (path_range_query::range_of_stmt): Adjust for m_ranger reference.
8194 (path_range_query::compute_outgoing_relations): Same.
8195 * gimple-range-path.h (class path_range_query): Add various
8196 constructors.
8197 Make compute_ranges and compute_exit_dependencies private.
8198 Rename set_path to reset_path.
8199 Make m_ranger a reference.
8200 Remove m_alloced_ranger.
8201 * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
8202 path_range_query.
8203 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
8204 ranger and instantiate a new path_range_query every time.
8205 (ch_base::copy_headers): Pass ranger instead of path_range_query.
8206 * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
8207 (back_threader::~back_threader): Remove m_solver.
8208 (back_threader::find_taken_edge_switch): Adjust for m_ranger
8209 reference.
8210 (back_threader::find_taken_edge_cond): Same.
8211 (back_threader::dump): Remove m_solver.
8212 (back_threader::back_threader): Move verify_marked_backedges
8213 here from the path_range_query constructor.
8214 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
8215 some code from compute_ranges_from_state here.
8216 (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
8217 (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
8218 * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
8219 compute_ranges_from_state to compute_exit_dependencies.
8220 Remove m_path.
8221
8222 2022-08-18 Richard Biener <rguenther@suse.de>
8223
8224 PR middle-end/106617
8225 * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
8226 guard, disable on GENERIC to not cause quadratic behavior
8227 with the fold-const.cc implementation and the use of !
8228
8229 2022-08-18 Andrew Pinski <apinski@marvell.com>
8230
8231 PR gcov-profile/106659
8232 * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
8233 INCLUDE_VECTOR.
8234
8235 2022-08-18 konglin1 <lingling.kong@intel.com>
8236
8237 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
8238 BFmode.
8239 (ix86_expand_vector_init_duplicate): Support vector BFmode.
8240 (ix86_expand_vector_init_one_nonzero): Ditto.
8241 (ix86_expand_vector_init_one_var): Ditto.
8242 (ix86_expand_vector_init_concat): Ditto.
8243 (ix86_expand_vector_init_interleave): Ditto.
8244 (ix86_expand_vector_init_general): Ditto.
8245 (ix86_expand_vector_init): Ditto.
8246 (ix86_expand_vector_set_var): Ditto.
8247 (ix86_expand_vector_set): Ditto.
8248 (ix86_expand_vector_extract): Ditto.
8249 * config/i386/i386.cc (classify_argument): Add BF vector modes.
8250 (function_arg_64): Ditto.
8251 (ix86_gimplify_va_arg): Ditto.
8252 (ix86_get_ssemov): Ditto.
8253 * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
8254 (VALID_AVX512F_REG_MODE): Ditto.
8255 (host_detect_local_cpu): Ditto.
8256 (VALID_SSE2_REG_MODE): Ditto.
8257 * config/i386/i386.md: Add BF vector modes.
8258 (MODE_SIZE): Ditto.
8259 (ssemodesuffix): Add bf suffix for BF vector modes.
8260 (ssevecmode): Ditto.
8261 * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
8262 (VI12HFBF_AVX512VL): Ditto.
8263 (V_256_512): Ditto.
8264 (VF_AVX512HFBF16): Ditto.
8265 (VF_AVX512BWHFBF16): Ditto.
8266 (VIHFBF): Ditto.
8267 (avx512): Ditto.
8268 (VIHFBF_256): Ditto.
8269 (VIHFBF_AVX512BW): Ditto.
8270 (VI2F_256_512):Ditto.
8271 (V8_128):Ditto.
8272 (V16_256): Ditto.
8273 (V32_512): Ditto.
8274 (sseinsnmode): Ditto.
8275 (sseconstm1): Ditto.
8276 (sseintmodesuffix): New mode_attr.
8277 (avx512fmaskmode): Ditto.
8278 (avx512fmaskmodelower): Ditto.
8279 (ssedoublevecmode): Ditto.
8280 (ssehalfvecmode): Ditto.
8281 (ssehalfvecmodelower): Ditto.
8282 (ssescalarmode): Add vector BFmode mapping.
8283 (ssescalarmodelower): Ditto.
8284 (ssexmmmode): Ditto.
8285 (ternlogsuffix): Ditto.
8286 (ssescalarsize): Ditto.
8287 (sseintprefix): Ditto.
8288 (i128): Ditto.
8289 (xtg_mode): Ditto.
8290 (bcstscalarsuff): Ditto.
8291 (<avx512>_blendm<mode>): New define_insn for BFmode.
8292 (<avx512>_store<mode>_mask): Ditto.
8293 (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
8294 (vec_set<mode>_0): New define_insn for BF vector set.
8295 (V8BFH_128): New mode_iterator for BFmode.
8296 (avx512fp16_mov<mode>): Ditto.
8297 (vec_set<mode>): New define_insn for BF vector set.
8298 (@vec_extract_hi_<mode>): Ditto.
8299 (@vec_extract_lo_<mode>): Ditto.
8300 (vec_set_hi_<mode>): Ditto.
8301 (vec_set_lo_<mode>): Ditto.
8302 (*vec_extract<mode>_0): New define_insn_and_split for BF
8303 vector extract.
8304 (*vec_extract<mode>): New define_insn.
8305 (VEC_EXTRACT_MODE): Add BF vector modes.
8306 (PINSR_MODE): Add V8BF.
8307 (sse2p4_1): Ditto.
8308 (pinsr_evex_isa): Ditto.
8309 (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
8310 insert for V8BFmode.
8311 (pbroadcast_evex_isa): Add BF vector modes.
8312 (AVX2_VEC_DUP_MODE): Ditto.
8313 (VEC_INIT_MODE): Ditto.
8314 (VEC_INIT_HALF_MODE): Ditto.
8315 (avx2_pbroadcast<mode>): Adjust to support BF vector mode
8316 broadcast.
8317 (avx2_pbroadcast<mode>_1): Ditto.
8318 (<avx512>_vec_dup<mode>_1): Ditto.
8319 (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
8320 Ditto.
8321
8322 2022-08-18 Martin Liska <mliska@suse.cz>
8323
8324 * configure: Regenerate.
8325
8326 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org>
8327
8328 PR target/103109
8329 * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
8330 (<u>madddi4_highpart): New.
8331 (<u>madddi4_highpart_le): New.
8332
8333 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
8334
8335 * gimple-range-path.cc
8336 (path_range_query::compute_exit_dependencies): Use
8337 gimple_range_ssa_names.
8338
8339 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai>
8340
8341 * config/riscv/predicates.md: Adjust runtime invariant.
8342 * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
8343 (NUM_POLY_INT_COEFFS): New.
8344 * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
8345 runtime invariant.
8346 * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
8347 Adjust runtime invariant.
8348 * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
8349 invariant.
8350 (enum riscv_microarchitecture_type): Ditto.
8351 (riscv_valid_offset_p): Ditto.
8352 (riscv_valid_lo_sum_p): Ditto.
8353 (riscv_address_insns): Ditto.
8354 (riscv_load_store_insns): Ditto.
8355 (riscv_legitimize_move): Ditto.
8356 (riscv_binary_cost): Ditto.
8357 (riscv_rtx_costs): Ditto.
8358 (riscv_output_move): Ditto.
8359 (riscv_extend_comparands): Ditto.
8360 (riscv_flatten_aggregate_field): Ditto.
8361 (riscv_get_arg_info): Ditto.
8362 (riscv_pass_by_reference): Ditto.
8363 (riscv_elf_select_rtx_section): Ditto.
8364 (riscv_stack_align): Ditto.
8365 (riscv_compute_frame_info): Ditto.
8366 (riscv_initial_elimination_offset): Ditto.
8367 (riscv_set_return_address): Ditto.
8368 (riscv_for_each_saved_reg): Ditto.
8369 (riscv_first_stack_step): Ditto.
8370 (riscv_expand_prologue): Ditto.
8371 (riscv_expand_epilogue): Ditto.
8372 (riscv_can_use_return_insn): Ditto.
8373 (riscv_secondary_memory_needed): Ditto.
8374 (riscv_hard_regno_nregs): Ditto.
8375 (riscv_convert_vector_bits): New.
8376 (riscv_option_override): Adjust runtime invariant.
8377 (riscv_promote_function_mode): Ditto.
8378 * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
8379 (BITS_PER_RISCV_VECTOR): New.
8380 (BYTES_PER_RISCV_VECTOR): New.
8381 * config/riscv/riscv.md: Adjust runtime invariant.
8382
8383 2022-08-18 Lulu Cheng <chenglulu@loongson.cn>
8384
8385 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
8386 Get __tls_get_addr address through got table when disable plt.
8387
8388 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8389
8390 * config/xtensa/xtensa.cc (xtensa_expand_prologue):
8391 Use an "addmi" machine instruction for updating the stack pointer
8392 rather than addition/subtraction via hard register A9, if the amount
8393 of change satisfies the literal value conditions of that instruction
8394 when the CALL0 ABI is used.
8395 (xtensa_expand_epilogue): Ditto.
8396 And also inhibit the stack pointer addition of constant zero.
8397
8398 2022-08-17 Roger Sayle <roger@nextmovesoftware.com>
8399
8400 PR target/106640
8401 * config/i386/i386-features.cc
8402 (timde_scalar_chain::compute_convert_gain): Replace incorrect use
8403 of XINT with INTVAL (XEXP (src, 1)).
8404
8405 2022-08-17 Aldy Hernandez <aldyh@redhat.com>
8406
8407 * gimple-range-path.cc
8408 (path_range_query::compute_ranges_in_block): Remove
8409 set_root_oracle call.
8410 (path_range_query::compute_ranges): Pass ranger oracle to
8411 reset_path.
8412 * value-relation.cc (path_oracle::reset_path): Set root oracle.
8413 * value-relation.h (path_oracle::reset_path): Add root oracle
8414 argument.
8415
8416 2022-08-17 Marek Polacek <polacek@redhat.com>
8417
8418 PR c++/89780
8419 * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
8420 OPT_Wpessimizing_move and OPT_Wredundant_move.
8421 * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
8422
8423 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8424 Jakub Jelinek <jakub@redhat.com>
8425
8426 PR fortran/46539
8427 * common.opt (static-libquadmath): New option.
8428 * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
8429 * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
8430
8431 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
8432
8433 * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
8434 when filenames come out identically.
8435
8436 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
8437
8438 PR middle-end/106548
8439 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
8440 for 'simd' linear-step values that are variable.
8441
8442 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
8443 Chung-Lin Tang <cltang@codesourcery.com>
8444
8445 PR c++/104493
8446 * gimplify.cc (omp_notice_variable): Call omp_mappable_type
8447 instead of removed langhook.
8448 * omp-general.h (omp_mappable_type): New prototype.
8449 * omp-general.cc (omp_mappable_type): New; moved from ...
8450 * langhooks.cc (lhd_omp_mappable_type): ... here.
8451 * langhooks-def.h (lhd_omp_mappable_type,
8452 LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
8453 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
8454 * langhooks.h (struct lang_hooks_for_types): Remove
8455 omp_mappable_type.
8456
8457 2022-08-17 Christophe Lyon <christophe.lyon@arm.com>
8458
8459 * config.gcc (arm): Define with_float to hard if target name ends
8460 with 'hf'.
8461
8462 2022-08-17 Richard Biener <rguenther@suse.de>
8463
8464 * tree-ssa-threadbackward.cc
8465 (back_threader_profitability): Split profitable_path_p
8466 into possibly_profitable_path_p and itself, keep state
8467 as new members.
8468 (back_threader::m_profit): Remove.
8469 (back_threader::find_paths): Likewise.
8470 (back_threader::maybe_register_path): Take profitability
8471 instance as parameter.
8472 (back_threader::find_paths_to_names): Likewise. Use
8473 possibly_profitable_path_p and avoid the path range query
8474 when the path is currently too large.
8475 (back_threader::find_paths): Fold into ...
8476 (back_threader::maybe_thread_block): ... this.
8477 (get_gimple_control_stmt): Remove.
8478 (back_threader_profitability::possibly_profitable_path_p):
8479 Split out from profitable_path_p, do early profitability
8480 checks.
8481 (back_threader_profitability::profitable_path_p): Do final
8482 profitability path after the taken edge has been determined.
8483
8484 2022-08-17 Xi Ruoyao <xry111@xry111.site>
8485
8486 * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
8487 (fmin<mode>3): Likewise.
8488
8489 2022-08-17 Andrew MacLeod <amacleod@redhat.com>
8490
8491 * gimple-range-fold.cc (gimple_range_ssa_names): New.
8492 * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
8493 * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
8494 code to new routine.
8495
8496 2022-08-16 Martin Liska <mliska@suse.cz>
8497
8498 PR target/106637
8499 * doc/install.texi: Remove link to www.bullfreeware.com
8500
8501 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
8502
8503 * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
8504 zfh and zfhmin.
8505 (riscv_ext_version_table): Ditto.
8506 (riscv_ext_flag_table): Ditto.
8507 * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
8508 (MASK_ZFH): Ditto.
8509 (TARGET_ZFHMIN): Ditto.
8510 (TARGET_ZFH): Ditto.
8511 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
8512 for zfh and zfhmin.
8513 (riscv_emit_float_compare): Handle HFmode.
8514 * config/riscv/riscv.md (ANYF): Add HF.
8515 (SOFTF): Add HF.
8516 (load): Ditto.
8517 (store): Ditto.
8518 (truncsfhf2): New.
8519 (truncdfhf2): Ditto.
8520 (extendhfsf2): Ditto.
8521 (extendhfdf2): Ditto.
8522 (*movhf_hardfloat): Ditto.
8523 (*movhf_softfloat): Make sure not ZFHMIN.
8524 * config/riscv/riscv.opt (riscv_zf_subext): New.
8525
8526 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
8527
8528 * config/riscv/riscv-builtins.cc: include stringpool.h
8529 (riscv_float16_type_node): New.
8530 (riscv_init_builtin_types): Ditto.
8531 (riscv_init_builtins): Call riscv_init_builtin_types.
8532 * config/riscv/riscv-modes.def (HF): New.
8533 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
8534 (riscv_mangle_type): New.
8535 (riscv_scalar_mode_supported_p): Ditto.
8536 (riscv_libgcc_floating_mode_supported_p): Ditto.
8537 (riscv_excess_precision): Ditto.
8538 (riscv_floatn_mode): Ditto.
8539 (riscv_init_libfuncs): Ditto.
8540 (TARGET_MANGLE_TYPE): Ditto.
8541 (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
8542 (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
8543 (TARGET_INIT_LIBFUNCS): Ditto.
8544 (TARGET_C_EXCESS_PRECISION): Ditto.
8545 (TARGET_FLOATN_MODE): Ditto.
8546 * config/riscv/riscv.md (mode): Add HF.
8547 (softload): Add HF.
8548 (softstore): Ditto.
8549 (fmt): Ditto.
8550 (UNITMODE): Ditto.
8551 (movhf): New.
8552 (*movhf_softfloat): New.
8553
8554 2022-08-16 Richard Biener <rguenther@suse.de>
8555
8556 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
8557 Do not walk further if we are leaving the current loop.
8558
8559 2022-08-16 Sergei Trofimovich <siarheit@google.com>
8560
8561 PR driver/106624
8562 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
8563 argument using xstrdup().
8564
8565 2022-08-16 Aldy Hernandez <aldyh@redhat.com>
8566
8567 * gimple-range-path.cc (path_range_query::import_p): Rename to...
8568 (path_range_query::exit_dependency_p): ...this.
8569 (path_range_query::dump): Rename imports to exit dependencies.
8570 (path_range_query::compute_ranges_in_phis): Same.
8571 (path_range_query::compute_ranges_in_block): Same.
8572 (path_range_query::adjust_for_non_null_uses): Same.
8573 (path_range_query::compute_ranges): Same.
8574 (path_range_query::compute_phi_relations): Same.
8575 (path_range_query::add_to_imports): Rename to...
8576 (path_range_query::add_to_exit_dependencies): ...this.
8577 (path_range_query::compute_imports): Rename to...
8578 (path_range_query::compute_exit_dependencies): ...this.
8579 * gimple-range-path.h (class path_range_query): Rename imports to
8580 exit dependencies.
8581
8582 2022-08-16 Martin Liska <mliska@suse.cz>
8583
8584 * value-range-storage.h (class obstack_vrange_allocator): Mark
8585 the class as final.
8586 (class ggc_vrange_allocator): Likewise.
8587
8588 2022-08-16 Martin Liska <mliska@suse.cz>
8589
8590 * value-range-equiv.h (class value_range_equiv): Add virtual
8591 destructor.
8592 * value-range.h: Likewise.
8593
8594 2022-08-16 Richard Biener <rguenther@suse.de>
8595
8596 PR middle-end/106630
8597 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
8598 narrowing conversions.
8599
8600 2022-08-16 Martin Liska <mliska@suse.cz>
8601
8602 * value-range-equiv.h (class value_range_equiv):
8603
8604 2022-08-16 Martin Liska <mliska@suse.cz>
8605
8606 * config/i386/i386-features.h (class general_scalar_chain): Add
8607 final override for a method.
8608 (class timode_scalar_chain): Likewise.
8609
8610 2022-08-16 Richard Biener <rguenther@suse.de>
8611
8612 * doc/invoke.texi (max-jump-thread-paths): Adjust.
8613
8614 2022-08-16 Martin Liska <mliska@suse.cz>
8615
8616 * opts-common.cc (jobserver_info::connect): Open fifo
8617 in non-blocking mode.
8618
8619 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
8620
8621 PR target/103353
8622 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
8623 check to preparation statements and add handlings for !TARGET_MMA.
8624 (define_expand movxo): Likewise.
8625
8626 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
8627
8628 PR tree-optimization/106322
8629 * tree-vect-stmts.cc (vectorizable_call): Don't allow
8630 vect_emulated_vector_p type for both vectype_in and vectype_out.
8631
8632 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8633
8634 * common/config/xtensa/xtensa-common.cc
8635 (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
8636 for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
8637
8638 2022-08-15 Andrew MacLeod <amacleod@redhat.com>
8639
8640 PR tree-optimization/106621
8641 * value-range.cc (irange::set): Check for POLY_INT_CST early.
8642
8643 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
8644
8645 * config/i386/i386-features.cc
8646 (timode_scalar_chain::compute_convert_gain): Provide costs for
8647 shifts and rotates.
8648 (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
8649 and ROTATE just like existing ASHIFT and LSHIFTRT cases.
8650 (timode_scalar_to_vector_candidate_p): Handle all shifts and
8651 rotates by integer constants between 0 and 127.
8652
8653 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
8654
8655 * config/i386/i386-features.cc
8656 (timode_scalar_chain::compute_convert_gain): Provide gains for
8657 comparisons against 0/-1, including "*testti" patterns.
8658
8659 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
8660
8661 PR tree-optimization/64992
8662 PR tree-optimization/98956
8663 * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
8664 when X is zero_one_valued_p and the shift constant C is valid.
8665 (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
8666 when X is zero_one_valued_p and the shift constant C is valid.
8667
8668 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
8669 Richard Biener <rguenther@suse.de>
8670
8671 PR tree-optimization/71343
8672 * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
8673 expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
8674 (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
8675 to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
8676
8677 2022-08-15 Richard Biener <rguenther@suse.de>
8678
8679 * gimple-range-path.cc (range_on_path_entry): Just
8680 call range_on_entry.
8681
8682 2022-08-15 Jakub Jelinek <jakub@redhat.com>
8683
8684 PR rtl-optimization/106590
8685 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
8686 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
8687 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
8688 further conditional moves.
8689
8690 2022-08-15 konglin1 <lingling.kong@intel.com>
8691
8692 * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
8693 * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
8694 (ix86_register_bf16_builtin_type): New function.
8695 (ix86_bf16_type_node): New.
8696 (ix86_bf16_ptr_type_node): Ditto.
8697 (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
8698 * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
8699 (ADJUST_FLOAT_FORMAT): Ditto.
8700 * config/i386/i386.cc (classify_argument): Handle BFmode.
8701 (construct_container): Ditto.
8702 (function_value_32): Return __bf16 by %xmm0.
8703 (function_value_64): Return __bf16 by SSE register.
8704 (ix86_output_ssemov): Handle BFmode.
8705 (ix86_legitimate_constant_p): Disable BFmode constant double.
8706 (ix86_secondary_reload): Require gpr as intermediate register
8707 to store __bf16 from sse register when sse4 is not available.
8708 (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
8709 (ix86_mangle_type): Add manlging for __bf16 type.
8710 (ix86_invalid_conversion): New function for target hook.
8711 (ix86_invalid_unary_op): Ditto.
8712 (ix86_invalid_binary_op): Ditto.
8713 (TARGET_INVALID_CONVERSION): New define for target hook.
8714 (TARGET_INVALID_UNARY_OP): Ditto.
8715 (TARGET_INVALID_BINARY_OP): Ditto.
8716 * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
8717 * config/i386/i386.md ("mode"): Add BFmode.
8718 (MODE_SIZE): Ditto.
8719 (X87MODEFH): Ditto.
8720 (HFBF): Add new define_mode_iterator.
8721 (*pushhf_rex64): Change for BFmode.
8722 (*push<mode>_rex64): Ditto.
8723 (*pushhf): Ditto.
8724 (*push<mode>): Ditto.
8725 (MODESH): Ditto.
8726 (hfbfconstf): Add new define_mode_attr.
8727 (*mov<mode>_internal): Add BFmode.
8728
8729 2022-08-13 Roger Sayle <roger@nextmovesoftware.com>
8730 Uroš Bizjak <ubizjak@gmail.com>
8731
8732 * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
8733 New predicate for values between 0/1 and 255, not multiples of 8.
8734 * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
8735 shifts by constant bit counts.
8736 (*ashlvti3_internal): New define_insn_and_split that lowers
8737 logical left shifts by constant bit counts, that aren't multiples
8738 of 8, before reload.
8739 (lshrv1ti3): Delay lowering of logical right shifts by constant.
8740 (*lshrv1ti3_internal): New define_insn_and_split that lowers
8741 logical right shifts by constant bit counts, that aren't multiples
8742 of 8, before reload.
8743 (ashrv1ti3):: Delay lowering of arithmetic right shifts by
8744 constant bit counts.
8745 (*ashrv1ti3_internal): New define_insn_and_split that lowers
8746 arithmetic right shifts by constant bit counts before reload.
8747 (rotlv1ti3): Delay lowering of rotate left by constant.
8748 (*rotlv1ti3_internal): New define_insn_and_split that lowers
8749 rotate left by constant bits counts before reload.
8750 (rotrv1ti3): Delay lowering of rotate right by constant.
8751 (*rotrv1ti3_internal): New define_insn_and_split that lowers
8752 rotate right by constant bits counts before reload.
8753
8754 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
8755
8756 * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
8757
8758 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
8759
8760 PR middle-end/106057
8761 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
8762 function.
8763 (possible_polymorphic_call_targets): Use it.
8764
8765 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com>
8766
8767 * tree-ssa-loop.h: Improve comment
8768
8769 2022-08-12 Jakub Jelinek <jakub@redhat.com>
8770
8771 PR tree-optimization/106506
8772 * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
8773 is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
8774
8775 2022-08-12 Richard Biener <rguenther@suse.de>
8776
8777 PR tree-optimization/106593
8778 * tree-ssa-threadbackward.cc (back_threader::find_paths):
8779 If the imports from the conditional do not satisfy
8780 gimple_range_ssa_p don't try to thread anything.
8781
8782 2022-08-12 Tamar Christina <tamar.christina@arm.com>
8783
8784 PR target/106524
8785 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
8786 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
8787
8788 2022-08-12 Tim Lange <mail@tim-lange.me>
8789
8790 PR analyzer/106000
8791 * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
8792
8793 2022-08-12 Andrew Pinski <apinski@marvell.com>
8794
8795 * config/aarch64/aarch64.md: Remove comment
8796 about MD_INCLUDES as it is out of date and not needed.
8797
8798 2022-08-11 Richard Biener <rguenther@suse.de>
8799
8800 * gimple-range-path.cc (path_range_query::compute_imports):
8801 Restrict walking SSA defs to blocks inside the path. Track
8802 the same operands as range_def_chain::get_def_chain does.
8803
8804 2022-08-11 Richard Biener <rguenther@suse.de>
8805
8806 PR tree-optimization/106514
8807 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
8808 Compute and unwind both m_imports and interesting on the fly during
8809 path discovery.
8810 (back_threader::find_paths): Compute the original m_imports
8811 from just the SSA uses of the exit conditional. Drop
8812 handling single_succ_to_potentially_threadable_block.
8813 * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
8814 constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE.
8815
8816 2022-08-11 Richard Biener <rguenther@suse.de>
8817
8818 * gimple-range-path.h (path_range_query::compute_imports):
8819 Take path as argument, not the exit block.
8820 * gimple-range-path.cc (path_range_query::compute_imports):
8821 Likewise, and adjust, avoiding possibly stale m_path.
8822 (path_range_query::compute_outgoing_relations): Register
8823 relations for all conditionals.
8824 * tree-ssa-threadbackward.cc (back_threader::find_paths):
8825 Adjust.
8826
8827 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
8828
8829 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
8830 oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
8831 (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
8832
8833 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
8834
8835 * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
8836 Remove function declaration.
8837
8838 2022-08-10 Richard Biener <rguenther@suse.de>
8839
8840 PR tree-optimization/106513
8841 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
8842 for head_marker.
8843
8844 2022-08-10 Martin Liska <mliska@suse.cz>
8845
8846 PR lto/106328
8847 * opts-jobserver.h (struct jobserver_info): Add pipefd.
8848 (jobserver_info::connect): New.
8849 (jobserver_info::disconnect): Likewise.
8850 (jobserver_info::get_token): Likewise.
8851 (jobserver_info::return_token): Likewise.
8852 * opts-common.cc: Implement the new functions.
8853
8854 2022-08-10 Martin Liska <mliska@suse.cz>
8855
8856 * opts-jobserver.h: Add one member.
8857 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
8858 format of --jobserver-auth.
8859
8860 2022-08-10 Martin Liska <mliska@suse.cz>
8861
8862 * gcc.cc (driver::detect_jobserver): Remove and move to
8863 jobserver.h.
8864 * lto-wrapper.cc (jobserver_active_p): Likewise.
8865 (run_gcc): Likewise.
8866 * opts-jobserver.h: New file.
8867 * opts-common.cc (jobserver_info::jobserver_info): New function.
8868
8869 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
8870
8871 * config/i386/i386-features.cc (scalar_chain::convert_compare):
8872 Create new pseudos only when/if needed. Add support for TEST,
8873 i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
8874 When broadcasting V2DImode and V4SImode use new pseudo register.
8875 (timode_scalar_chain::convert_op): Do nothing if operand is
8876 already V1TImode. Avoid generating useless SUBREG conversions,
8877 i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT
8878 in addition to CONST_INT by using CONST_SCALAR_INT_P.
8879 (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
8880 CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword
8881 pattern as an STV candidate.
8882 (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
8883 operands in binary logic operations.
8884 * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
8885 for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
8886 as regular PTEST, i.e. cost->sse_op.
8887 * config/i386/i386.md (*testti_doubleword): New pre-reload
8888 define_insn_and_split that recognizes comparison of TI mode AND
8889 against zero.
8890 * config/i386/sse.md (*ptest<mode>_and): New pre-reload
8891 define_insn_and_split that recognizes UNSPEC_PTEST of identical
8892 AND operands.
8893
8894 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
8895 Richard Biener <rguenther@suse.de>
8896
8897 PR middle-end/21137
8898 PR tree-optimization/98954
8899 * fold-const.cc (fold_binary_loc): Remove optimizations to
8900 optimize ((X >> C1) & C2) ==/!= 0.
8901 * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
8902 check, and handle all values of INTEGER_CSTs @2 and @3.
8903 (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
8904 checks, and handle all values of INTEGER_CSTs @2 and @3.
8905
8906 2022-08-09 David Malcolm <dmalcolm@redhat.com>
8907
8908 * doc/invoke.texi (Static Analyzer Options): Add notes on which
8909 functions the analyzer has hardcoded knowledge of.
8910
8911 2022-08-09 Andrew Stubbs <ams@codesourcery.com>
8912
8913 * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
8914 (num_arg_regs): Allow vector arguments.
8915 (gcn_function_arg): Likewise.
8916 (gcn_function_arg_advance): Likewise.
8917 (gcn_arg_partial_bytes): Likewise.
8918 (gcn_return_in_memory): Likewise.
8919 (gcn_expand_epilogue): Get return value from v8.
8920 * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
8921 (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
8922 (FIRST_VPARM_REG): New.
8923 (FUNCTION_ARG_REGNO_P): Allow vector parameters.
8924 (struct gcn_args): Add vnum field.
8925 (LIBCALL_VALUE): All vector return values.
8926 * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
8927 (gcn_call_value_indirect): Likewise.
8928
8929 2022-08-09 Richard Biener <rguenther@suse.de>
8930
8931 * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
8932 directly. Avoid update_ssa when in SSA form.
8933 (expand_omp_atomic_store): Likewise.
8934 (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
8935 form.
8936 (expand_omp_atomic_pipeline): Likewise.
8937 (expand_omp_atomic_mutex): Likewise.
8938 * tree-parloops.cc (gen_parallel_loop): Use
8939 TODO_update_ssa_no_phi after loop_version.
8940
8941 2022-08-09 Richard Biener <rguenther@suse.de>
8942
8943 * doc/invoke.texi (max-fsm-thread-length): Remove.
8944 * params.opt (max-fsm-thread-length): Likewise.
8945 * tree-ssa-threadbackward.cc
8946 (back_threader_profitability::profitable_path_p): Do not
8947 check max-fsm-thread-length.
8948
8949 2022-08-09 Richard Biener <rguenther@suse.de>
8950
8951 PR tree-optimization/106514
8952 * params.opt (max-jump-thread-paths): New.
8953 * doc/invoke.texi (max-jump-thread-paths): Document.
8954 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
8955 Honor max-jump-thread-paths, take overall_path argument.
8956 (back_threader::find_paths): Pass 1 as initial overall_path.
8957
8958 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
8959
8960 PR middle-end/106492
8961 * omp-low.cc (lower_rec_input_clauses): Add missing folding
8962 to data type of linear-clause list item.
8963
8964 2022-08-08 Andrew MacLeod <amacleod@redhat.com>
8965
8966 PR tree-optimization/106556
8967 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
8968 type of the cond_expr operands being evaluted.
8969
8970 2022-08-08 Tom Honermann <tom@honermann.net>
8971
8972 * ginclude/stdatomic.h (atomic_char8_t,
8973 ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
8974
8975 2022-08-08 Andrew Pinski <apinski@marvell.com>
8976
8977 PR middle-end/103645
8978 * gimplify.cc (gimplify_init_constructor): Don't build/add
8979 gimple assignment of an empty type.
8980
8981 2022-08-08 Richard Biener <rguenther@suse.de>
8982
8983 PR lto/106540
8984 PR lto/106334
8985 * dwarf2out.cc (dwarf2out_register_external_die): Restore
8986 original assert.
8987 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
8988 to input DECL_INITIAL, avoiding to commit drefs.
8989
8990 2022-08-07 Roger Sayle <roger@nextmovesoftware.com>
8991
8992 * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
8993 for x86_64_hilo_general_operand to general operand. Call
8994 force_reg on parts that are not x86_64_immediate_operand.
8995
8996 2022-08-05 David Malcolm <dmalcolm@redhat.com>
8997
8998 PR analyzer/105947
8999 * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
9000
9001 2022-08-05 Roger Sayle <roger@nextmovesoftware.com>
9002
9003 * expmed.cc (emit_store_flag_1): Move code to expand double word
9004 equality and inequality against zero or -1, using word operations,
9005 to after trying to use the backend's cstore<mode>4 optab/expander.
9006
9007 2022-08-05 Tamar Christina <tamar.christina@arm.com>
9008
9009 PR middle-end/106534
9010 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
9011 value_replacement and store_elim from diamonds.
9012
9013 2022-08-05 Richard Biener <rguenther@suse.de>
9014
9015 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
9016 Check whether the registry register_path rejected the path.
9017 (back_threader_registry::register_path): Return whether
9018 register_jump_thread succeeded.
9019
9020 2022-08-05 Aldy Hernandez <aldyh@redhat.com>
9021
9022 PR tree-optimization/106514
9023 * value-range.cc (unsupported_range::unsupported_range): Move...
9024 * value-range.h (unsupported_range::unsupported_range): ...here.
9025 (unsupported_range::set_undefined): New.
9026
9027 2022-08-05 Richard Biener <rguenther@suse.de>
9028
9029 PR tree-optimization/106533
9030 * tree-loop-distribution.cc (loop_distribution::execute): Continue
9031 analyzing the inner loops when find_seed_stmts_for_distribution
9032 fails.
9033
9034 2022-08-05 Andrew Pinski <apinski@marvell.com>
9035
9036 * config/riscv/predicates.md (splittable_const_int_operand):
9037 Remove the check for TARGET_64BIT for single bit const values.
9038
9039 2022-08-04 Andrew MacLeod <amacleod@redhat.com>
9040
9041 PR tree-optimization/106514
9042 * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
9043 Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
9044
9045 2022-08-04 Tamar Christina <tamar.christina@arm.com>
9046
9047 * match.pd: New bit_not rule.
9048
9049 2022-08-04 Tamar Christina <tamar.christina@arm.com>
9050
9051 PR middle-end/106519
9052 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
9053 diamond shapes.
9054
9055 2022-08-04 Sam Feifer <sfeifer@redhat.com>
9056
9057 PR tree-optimization/106243
9058 * match.pd (-x & 1): New simplification.
9059
9060 2022-08-04 Richard Biener <rguenther@suse.de>
9061
9062 PR tree-optimization/106521
9063 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
9064 CFG cleanup manually before rewriting into LC SSA.
9065
9066 2022-08-04 Richard Biener <rguenther@suse.de>
9067
9068 * tree-ssa-threadbackward.cc (populate_worklist): Remove.
9069 (back_threader::resolve_phi): Likewise.
9070 (back_threader::find_paths_to_names): Rewrite greedy search.
9071
9072 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
9073
9074 * config/s390/vector.md (V_HW_FT): New iterator.
9075 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
9076 of V_HW.
9077
9078 2022-08-03 Michael Meissner <meissner@linux.ibm.com>
9079
9080 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
9081 setting -mblock-ops-vector-pair.
9082
9083 2022-08-03 Andrew MacLeod <amacleod@redhat.com>
9084
9085 PR tree-optimization/106514
9086 * value-relation.cc (path_oracle::killing_def) Do not walk the
9087 equivalence set clearing bits.
9088
9089 2022-08-03 Tamar Christina <tamar.christina@arm.com>
9090
9091 * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
9092 sequence of a three-way conditional.
9093 (replace_phi_edge_with_variable): Support diamonds.
9094 (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
9095 min/max.
9096 (strip_bit_not, invert_minmax_code): New.
9097
9098 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
9099
9100 PR rtl-optimization/106187
9101 * alias.h (mems_same_for_tbaa_p): Declare.
9102 * alias.cc (mems_same_for_tbaa_p): New function.
9103 * dse.cc (record_store): Use it instead of open-coding
9104 alias check.
9105 * cselib.h (cselib_redundant_set_p): Declare.
9106 * cselib.cc: Include alias.h
9107 (cselib_redundant_set_p): New function.
9108 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
9109 of rtx_equal_for_cselib_p.
9110 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
9111 (reload_cse_noop_set_p): Delete.
9112
9113 2022-08-03 Martin Liska <mliska@suse.cz>
9114
9115 * doc/gcov-dump.texi: Document the new option.
9116 * gcov-dump.cc (main): Parse the new option.
9117 (print_usage): Show the option.
9118 (tag_counters): Sort key:value pairs of TOP N counter.
9119
9120 2022-08-03 Martin Liska <mliska@suse.cz>
9121
9122 * profile.cc (compute_branch_probabilities): Do not collect
9123 stats unless TDF_DETAILS.
9124
9125 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
9126 Uroš Bizjak <ubizjak@gmail.com>
9127
9128 PR target/47949
9129 * config/i386/i386.md (peephole2): New peephole2 to convert
9130 SWI48 moves to/from %rax/%eax where the src is dead to xchg,
9131 when optimizing for minimal size with -Oz.
9132
9133 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
9134
9135 * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
9136 to split comparisons against -1 using AND and CMP -1 instructions.
9137
9138 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
9139
9140 * config/i386/i386-features.cc (compute_convert_gain): Add gain
9141 for converting suitable TImode shift to a V1TImode shift.
9142 (timode_scalar_chain::convert_insn): Add support for converting
9143 suitable ASHIFT and LSHIFTRT.
9144 (timode_scalar_to_vector_candidate_p): Consider logical shifts
9145 by integer constants that are multiples of 8 to be candidates.
9146
9147 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
9148 Segher Boessenkool <segher@kernel.crashing.org>
9149 Richard Sandiford <richard.sandiford@arm.com>
9150
9151 * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
9152 optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
9153 that are all positive to complement the existing FFS and
9154 idempotent ABS simplifications.
9155 <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
9156 val_signbit_known_clear_p is true of the operand.
9157 Simplify sign extensions of SUBREG truncations of operands
9158 that are already suitably (zero) extended.
9159 <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
9160 of operands that are already suitably zero extended.
9161
9162 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
9163
9164 PR tree-optimization/106510
9165 * gimple-range-fold.cc (fur_source::register_outgoing_edges):
9166 Check for unsupported statements early.
9167
9168 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
9169
9170 PR tree-optimization/106474
9171 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
9172 range of equivalences that may contribute to the range.
9173
9174 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com>
9175
9176 * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
9177 encoding bit in BTF.
9178
9179 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
9180
9181 * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
9182 irange check.
9183 (tree_lower_bound): New.
9184 (tree_upper_bound): New.
9185 (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
9186 vrange.
9187 * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
9188 argument to vrange.
9189
9190 2022-08-02 Richard Biener <rguenther@suse.de>
9191
9192 * tree-ssa-threadbackward.cc
9193 (back_threader_profitability::profitable_path_p): Apply
9194 size constraints to all paths again.
9195
9196 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
9197
9198 * range-op-float.cc (finite_operands_p): New.
9199 (frelop_early_resolve): New.
9200 (default_frelop_fold_range): New.
9201 (class foperator_equal): New.
9202 (class foperator_not_equal): New.
9203 (class foperator_lt): New.
9204 (class foperator_le): New.
9205 (class foperator_gt): New.
9206 (class foperator_ge): New.
9207 (class foperator_unordered): New.
9208 (class foperator_ordered): New.
9209 (class foperator_relop_unknown): New.
9210 (floating_op_table::floating_op_table): Add above classes to
9211 floating op table.
9212 * value-range.h (frange::supports_p): Enable.
9213
9214 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
9215
9216 * tree-core.h (struct tree_ssa_name): Add frange_info and
9217 reshuffle the rest.
9218 * value-range-storage.cc (vrange_storage::alloc_slot): Add case
9219 for frange.
9220 (vrange_storage::set_vrange): Same.
9221 (vrange_storage::get_vrange): Same.
9222 (vrange_storage::fits_p): Same.
9223 (frange_storage_slot::alloc_slot): New.
9224 (frange_storage_slot::set_frange): New.
9225 (frange_storage_slot::get_frange): New.
9226 (frange_storage_slot::fits_p): New.
9227 * value-range-storage.h (class frange_storage_slot): New.
9228
9229 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
9230
9231 * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
9232 query to integrals.
9233
9234 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
9235
9236 * value-range.cc (frange::set): Initialize m_props and cleanup.
9237
9238 2022-08-02 Richard Biener <rguenther@suse.de>
9239
9240 PR tree-optimization/106497
9241 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
9242 Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
9243
9244 2022-08-02 Martin Liska <mliska@suse.cz>
9245
9246 * profile.cc (compute_branch_probabilities): Dump details only
9247 if TDF_DETAILS.
9248 * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
9249 TDF_ADDRESS is used, it makes comparison harder.
9250
9251 2022-08-02 Richard Biener <rguenther@suse.de>
9252
9253 PR tree-optimization/106498
9254 * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
9255 SSA update here.
9256 (expand_omp_for): Or here.
9257 (execute_expand_omp): Instead schedule it here together
9258 with CFG cleanup via TODO.
9259
9260 2022-08-02 Richard Biener <rguenther@suse.de>
9261
9262 PR lto/106334
9263 * dwarf2out.cc (dwarf2out_register_external_die): Adjust
9264 assert.
9265
9266 2022-08-02 Richard Biener <rguenther@suse.de>
9267
9268 PR tree-optimization/106495
9269 * tree-ssa-threadbackward.cc
9270 (back_threader_profitability::profitable_path_p): If known_edge
9271 is probably never executed avoid threading.
9272
9273 2022-08-01 David Malcolm <dmalcolm@redhat.com>
9274
9275 * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
9276 error.
9277
9278 2022-08-01 Roger Sayle <roger@nextmovesoftware.com>
9279 Uroš Bizjak <ubizjak@gmail.com>
9280
9281 PR target/106481
9282 * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
9283 Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
9284 CONST_VECTOR.
9285
9286 2022-08-01 H.J. Lu <hjl.tools@gmail.com>
9287
9288 PR target/83782
9289 * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
9290 (TARGET_IFUNC_REF_LOCAL_OK): Use it.
9291
9292 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com>
9293
9294 PR debug/106263
9295 * ctfc.h (struct ctf_dtdef): Add field linkage.
9296 * ctfc.cc (ctf_add_function): Set ctti_linkage.
9297 * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
9298 function types and subprograms.
9299 * btfout.cc (btf_asm_func_type): Emit linkage information for the
9300 function.
9301 (btf_dtd_emit_preprocess_cb): Propagate the linkage information
9302 for functions.
9303
9304 2022-08-01 Andrew Stubbs <ams@codesourcery.com>
9305 Jakub Jelinek <jakub@redhat.com>
9306
9307 * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
9308 the mask type.
9309
9310 2022-08-01 Sam Feifer <sfeifer@redhat.com>
9311
9312 PR tree-optimization/104992
9313 * match.pd (x / y * y == x): New simplification.
9314
9315 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
9316
9317 * value-range.cc (tree_compare): New.
9318 (frange::set): Make more general.
9319 (frange::normalize_kind): Cleanup and return bool.
9320 (frange::union_): Use normalize_kind return value.
9321 (frange::intersect): Same.
9322 (frange::verify_range): Remove unnecessary else.
9323 * value-range.h (vrp_val_max): Move before frange class.
9324 (vrp_val_min): Same.
9325 (frange::frange): Remove set to m_type.
9326
9327 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
9328
9329 * value-range.cc (vrange::supports_type_p): Use const_tree.
9330 (irange::supports_type_p): Same.
9331 (frange::supports_type_p): Same.
9332 * value-range.h (Value_Range::supports_type_p): Same.
9333 (irange::supports_p): Same.
9334
9335 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
9336
9337 * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
9338 query SCEV for integers.
9339 (fold_using_range::range_of_ssa_name_with_loop_info): Remove
9340 irange check.
9341
9342 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
9343
9344 * config/i386/i386.md (define_expand <any_rotate>ti3): For
9345 rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
9346 (rot[lr]64ti2_doubleword): New post-reload splitter.
9347
9348 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
9349 H.J. Lu <hjl.tools@gmail.com>
9350
9351 PR target/106450
9352 * config/i386/i386-features.cc (timode_check_non_convertible_regs):
9353 Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
9354 (timode_remove_non_convertible_regs): Update comment.
9355 Call timode_check_non_convertible_reg on all TImode register
9356 DEFs and USEs in each instruction.
9357
9358 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
9359
9360 * config/xtensa/xtensa.md: Change hard register number used in
9361 the split patterns for indirect sibling call fixups from 10 to 11,
9362 the last free one for the CALL0 ABI.
9363
9364 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
9365
9366 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
9367 Add new case for IF_THEN_ELSE.
9368
9369 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
9370
9371 * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
9372 (<expander><mode>3<exec>): Use V_INT_noHI.
9373 (v<expander><mode>3<exec>): Likewise.
9374
9375 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
9376
9377 * config/gcn/gcn.md (one_cmpldi2): New.
9378
9379 2022-07-29 Richard Biener <rguenther@suse.de>
9380
9381 PR tree-optimization/105679
9382 * tree-ssa-threadbackward.cc
9383 (back_threader_profitability::profitable_path_p): Avoid threading
9384 when the entry edge is probably never executed.
9385
9386 2022-07-29 Richard Biener <rguenther@suse.de>
9387
9388 PR tree-optimization/106422
9389 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
9390 Check whether we can copy thread blocks and cancel the thread if not.
9391
9392 2022-07-29 Jakub Jelinek <jakub@redhat.com>
9393
9394 PR middle-end/106449
9395 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
9396 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
9397 or n2 before regimplifying it inside of a condition.
9398
9399 2022-07-29 Jakub Jelinek <jakub@redhat.com>
9400
9401 * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
9402 extract_omp_for_update_vars, expand_omp_for_ordered_loops,
9403 expand_omp_simd): Don't fold_convert second argument to
9404 fold_build_pointer_plus to sizetype.
9405
9406 2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
9407
9408 * config.in: Regenerate.
9409 * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
9410 Select the value of the macro definition according to whether
9411 HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
9412 * configure: Regenerate.
9413 * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
9414
9415 2022-07-29 Richard Biener <rguenther@suse.de>
9416
9417 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
9418 Use CONVERT_EXPR_CODE_P.
9419
9420 2022-07-29 Richard Biener <rguenther@suse.de>
9421
9422 * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
9423 get_vectype_for_scalar_type instead of
9424 vect_get_vector_types_for_stmt.
9425
9426 2022-07-28 David Malcolm <dmalcolm@redhat.com>
9427
9428 PR analyzer/105893
9429 * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
9430
9431 2022-07-28 David Malcolm <dmalcolm@redhat.com>
9432
9433 * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
9434 url.
9435 (Static Analyzer Options): Likewise. Add urefs for all of the
9436 warnings that have associated CWE identifiers.
9437
9438 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
9439
9440 * doc/implement-c.texi (Floating point implementation): Mention
9441 `-fno-trapping-math' in the context of FENV_ACCESS pragma.
9442 * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
9443 implication in the descriptions of `-fno-trapping-math' and
9444 `-frounding-math'.
9445
9446 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
9447
9448 * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
9449 (QUIET_PATTERN): New int attribute.
9450 (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
9451 RTL insns entirely within the preparation statements.
9452 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
9453 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
9454 insns.
9455 (*riscv_fsnvsnan<mode>2): New insn.
9456
9457 2022-07-28 Richard Biener <rguenther@suse.de>
9458
9459 PR middle-end/106457
9460 * tree.cc (array_at_struct_end_p): Handle array objects
9461 specially.
9462
9463 2022-07-28 Jakub Jelinek <jakub@redhat.com>
9464
9465 PR tree-optimization/106099
9466 * internal-fn.def (TRAP): New internal fn.
9467 * internal-fn.h (expand_TRAP): Declare.
9468 * internal-fn.cc (expand_TRAP): Define.
9469 * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
9470 use internal fn rather than builtin.
9471
9472 2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
9473
9474 * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
9475
9476 2022-07-27 WANG Xuerui <i@xen0n.name>
9477
9478 * doc/invoke.texi: Document -m[no-]explicit-relocs for
9479 LoongArch.
9480
9481 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
9482
9483 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
9484 duplicate backslashes.
9485
9486 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
9487
9488 * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
9489 case.
9490
9491 2022-07-27 Jakub Jelinek <jakub@redhat.com>
9492
9493 PR debug/106261
9494 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
9495 output asm thunks for -dx.
9496
9497 2022-07-27 Jakub Jelinek <jakub@redhat.com>
9498
9499 PR middle-end/106332
9500 * opts-common.cc (candidates_list_and_hint): Add gcc_assert
9501 that candidates is not an empty vector.
9502
9503 2022-07-27 Xi Ruoyao <xry111@xry111.site>
9504
9505 * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
9506 assembler supports explicit relocation for LoongArch.
9507 * configure: Regenerate.
9508 * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
9509 Define to 0 if not defined.
9510 * config/loongarch/genopts/loongarch.opt.in
9511 (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
9512 * config/loongarch/loongarch.opt: Regenerate.
9513
9514 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
9515
9516 PR c/106016
9517 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
9518
9519 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
9520
9521 * config/loongarch/loongarch-opts.cc: Modify the output message string
9522 of the warning.
9523
9524 2022-07-26 Martin Liska <mliska@suse.cz>
9525
9526 * doc/tm.texi.in: Fix placement of defmac.
9527 * doc/tm.texi: Copy.
9528
9529 2022-07-26 Martin Liska <mliska@suse.cz>
9530
9531 * doc/tm.texi.in: Fix cross @defmac and @hook.
9532 * doc/tm.texi: Copy.
9533
9534 2022-07-26 Aldy Hernandez <aldyh@redhat.com>
9535
9536 PR tree-optimization/106444
9537 * value-range-pretty-print.cc (vrange_printer::visit): Handle
9538 legacy ranges.
9539 (vrange_printer::print_irange_bound): Work on wide_int's.
9540 * value-range-pretty-print.h (print_irange_bound): Same.
9541 * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
9542
9543 2022-07-26 Richard Biener <rguenther@suse.de>
9544
9545 * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
9546 points to a constant continue checking ptr2.
9547
9548 2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
9549
9550 * config/aarch64/aarch64-builtins.cc
9551 (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
9552 (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
9553 (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
9554 (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
9555 (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
9556 (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
9557 (MODE_q_p128): Define macro to map to corresponding mode name.
9558 (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
9559 (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
9560 (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
9561 corresponding qualifier name.
9562 (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
9563 (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
9564 functions for the above mappings
9565 (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
9566 (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
9567 (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
9568 (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
9569 for all vreinterpret intrinsics
9570 (enum aarch64_builtins): Add vreinterpret function codes
9571 (aarch64_init_simd_intrinsics): New
9572 (handle_arm_neon_h): Improved comment.
9573 (aarch64_general_fold_builtin): Fold vreinterpret calls
9574 * config/aarch64/arm_neon.h
9575 (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
9576 (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
9577 (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
9578 (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
9579 (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
9580 (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
9581 (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
9582 (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
9583 (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
9584 (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
9585 (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
9586 (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
9587 (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
9588 (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
9589 (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
9590 (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
9591 (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
9592 (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
9593 (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
9594 (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
9595 (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
9596 (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
9597 (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
9598 (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
9599 (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
9600 (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
9601 (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
9602 (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
9603 (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
9604 (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
9605 (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
9606 (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
9607 (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
9608 (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
9609 (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
9610 (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
9611 (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
9612 (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
9613 (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
9614 (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
9615 (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
9616 (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
9617 (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
9618 (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
9619 (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
9620 (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
9621 (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
9622 (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
9623 (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
9624 (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
9625 (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
9626 (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
9627 (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
9628 (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
9629 (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
9630 (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
9631 (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
9632 (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
9633 (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
9634 (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
9635 (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
9636 (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
9637 (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
9638 (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
9639 (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
9640 (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
9641 (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
9642 (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
9643 (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
9644 (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
9645 (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
9646 (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
9647 (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
9648 (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
9649 (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
9650 (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
9651 (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
9652 (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
9653 (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
9654 (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
9655 (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
9656 (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
9657 (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
9658 (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
9659 (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
9660 (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
9661 (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
9662 (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
9663 (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
9664 (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
9665 (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
9666 (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
9667 (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
9668 (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
9669 (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
9670 (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
9671 (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
9672 (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
9673 (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
9674 (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
9675 (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
9676 (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
9677 (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
9678 (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
9679 (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
9680 (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
9681 (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
9682 (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
9683 (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
9684 (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
9685 (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
9686 (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
9687 (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
9688 (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
9689 (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
9690 (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
9691 (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
9692 (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
9693 (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
9694 (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
9695 (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
9696 (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
9697 (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
9698 (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
9699 (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
9700 (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
9701 (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
9702 (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
9703 (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
9704 (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
9705 (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
9706 (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
9707 (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
9708 (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
9709 (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
9710 (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
9711 (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
9712 (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
9713 (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
9714 (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
9715 (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
9716 (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
9717 (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
9718 (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
9719 (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
9720 (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
9721 (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
9722 (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
9723 (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
9724 (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
9725 (vreinterpretq_p128_bf16): Delete
9726
9727 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
9728
9729 * config/aarch64/aarch64-builtins.cc
9730 (aarch64_simd_builtin_std_type): Rename to...
9731 (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
9732 (aarch64_lookup_simd_builtin_type): Rename to...
9733 (aarch64_simd_builtin_type): ...this. Add const/pointer
9734 support, and extract table lookup to...
9735 (aarch64_lookup_simd_type_in_table): ...this function.
9736 (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
9737 (aarch64_init_fcmla_laneq_builtins): Ditto.
9738 (aarch64_init_simd_builtin_functions): Ditto.
9739
9740 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
9741
9742 * config/aarch64/aarch64-builtins.cc
9743 (aarch64_general_gimple_fold_builtin): Add combine.
9744
9745 2022-07-26 Richard Biener <rguenther@suse.de>
9746
9747 PR tree-optimization/106189
9748 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
9749 Divide using offset_ints.
9750
9751 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
9752
9753 * common/config/loongarch/loongarch-common.cc:
9754 Enable '-fsection-anchors' when O1 and more advanced optimization.
9755 * config/loongarch/genopts/loongarch.opt.in: Add new option
9756 '-mexplicit-relocs', and enable by default.
9757 * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
9758 Delete function declaration.
9759 (loongarch_split_move_insn): Delete function declaration.
9760 (loongarch_split_symbol_type): Add function declaration.
9761 * config/loongarch/loongarch.cc (enum loongarch_address_type):
9762 Add new address type 'ADDRESS_LO_SUM'.
9763 (loongarch_classify_symbolic_expression): New function definitions.
9764 Classify the base of symbolic expression X, given that X appears in
9765 context CONTEXT.
9766 (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
9767 (loongarch_split_symbol_type): New function definitions.
9768 Determines whether the symbol load should be split into two instructions.
9769 (loongarch_valid_lo_sum_p): New function definitions.
9770 Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
9771 symbol has type SYMBOL_TYPE.
9772 (loongarch_classify_address): Add handling of 'LO_SUM'.
9773 (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
9774 (loongarch_signed_immediate_p): Sort code.
9775 (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
9776 (loongarch_const_insns): Add handling of 'HIGH'.
9777 (loongarch_split_move_insn_p): Add the static attribute to the function.
9778 (loongarch_emit_set): New function definitions.
9779 (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
9780 (loongarch_legitimize_tls_address): Add symbol handling when defining the
9781 TARGET_EXPLICIT_RELOCS macro.
9782 (loongarch_split_symbol): New function definitions. Split symbol.
9783 (loongarch_legitimize_address): Add codes see if the address can split into a high part
9784 and a LO_SUM.
9785 (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
9786 high and low.
9787 (loongarch_split_move_insn): Delete function definitions.
9788 (loongarch_output_move): Add support for HIGH and LO_SUM.
9789 (loongarch_print_operand_reloc): New function definitions.
9790 Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
9791 (loongarch_memmodel_needs_release_fence): Sort code.
9792 (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
9793 and LOW output.
9794 (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
9795 (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
9796 (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
9797 * config/loongarch/loongarch.md (movti): Delete the template.
9798 (*movti): Delete the template.
9799 (movtf): Delete the template.
9800 (*movtf): Delete the template.
9801 (*low<mode>): New template of normal symbol low address.
9802 (@tls_low<mode>): New template of tls symbol low address.
9803 (@ld_from_got<mode>): New template load address from got table.
9804 (@ori_l_lo12<mode>): New template.
9805 * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
9806 * config/loongarch/predicates.md: Add support for symbol_type HIGH.
9807
9808 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
9809
9810 * config/loongarch/constraints.md (a): Delete the constraint.
9811 (b): A constant call not local address.
9812 (h): Delete the constraint.
9813 (t): Delete the constraint.
9814 * config/loongarch/loongarch-opts.cc (loongarch_config_target):
9815 Remove cModel type support other than normal.
9816 * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
9817 Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
9818 (loongarch_split_symbol): Delete useless function declarations.
9819 (loongarch_split_symbol_type): Delete useless function declarations.
9820 * config/loongarch/loongarch.cc (enum loongarch_address_type):
9821 Delete unnecessary comment information.
9822 (loongarch_symbol_binds_local_p): Modified the judgment order of label
9823 and symbol.
9824 (loongarch_classify_symbol): Return symbol type. If symbol is a label,
9825 or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
9826 return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
9827 (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
9828 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
9829 (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
9830 and 'SYMBOL_PCREL'.
9831 (loongarch_address_insns): Sort code.
9832 (loongarch_12bit_offset_address_p): Sort code.
9833 (loongarch_14bit_shifted_offset_address_p): Sort code.
9834 (loongarch_call_tls_get_addr): Sort code.
9835 (loongarch_legitimize_tls_address): Sort code.
9836 (loongarch_output_move): Remove schema support for cmodel other than normal.
9837 (loongarch_memmodel_needs_release_fence): Sort code.
9838 (loongarch_print_operand): Sort code.
9839 * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
9840 Rename to LARCH_12BIT_OFFSET_P.
9841 (LARCH_12BIT_OFFSET_P): New macro.
9842 * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
9843 support for cmodel other than normal.
9844 * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
9845 (is_const_call_plt_symbol): Delete this predicate.
9846 (is_const_call_global_noplt_symbol): Delete this predicate.
9847 (is_const_call_no_local_symbol): New predicate, determines whether it is a local
9848 symbol or label.
9849
9850 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
9851
9852 PR target/106091
9853 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
9854 REG_EH_REGION when replacing one store insn having it.
9855 (replace_swapped_aligned_load): Likewise.
9856
9857 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
9858
9859 * Makefile.in (OBJS): Add range-op-float.o.
9860 * range-op.cc (get_float_handler): New.
9861 (range_op_handler::range_op_handler): Save code and type for
9862 delayed querying.
9863 (range_op_handler::oeprator bool): Move from header file, and
9864 add support for floats.
9865 (range_op_handler::fold_range): Add support for floats.
9866 (range_op_handler::op1_range): Same.
9867 (range_op_handler::op2_range): Same.
9868 (range_op_handler::lhs_op1_relation): Same.
9869 (range_op_handler::lhs_op2_relation): Same.
9870 (range_op_handler::op1_op2_relation): Same.
9871 * range-op.h (class range_operator_float): New.
9872 (class floating_op_table): New.
9873 * value-query.cc (range_query::get_tree_range): Add case for
9874 REAL_CST.
9875 * range-op-float.cc: New file.
9876
9877 2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
9878 Uroš Bizjak <ubizjak@gmail.com>
9879
9880 PR target/91681
9881 * config/i386/i386-expand.cc (split_double_concat): A new helper
9882 function for setting a double word value from two word values.
9883 * config/i386/i386-protos.h (split_double_concat): Prototype here.
9884 * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
9885 (*add<dwi>3_doubleword_zext): New define_insn_and_split.
9886 (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
9887 (*concat<mode><dwi>3_1): New define_insn_and_split replacing
9888 previous define_split for implementing DST = (HI<<32)|LO as
9889 pair of move instructions, setting lopart and hipart.
9890 (*concat<mode><dwi>3_2): Likewise.
9891 (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
9892 (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
9893
9894 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
9895
9896 PR middle-end/106432
9897 * gimple-range.cc (gimple_ranger::range_on_edge): Return false
9898 when the result range type is unsupported.
9899
9900 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
9901
9902 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
9903
9904 2022-07-25 Richard Biener <rguenther@suse.de>
9905
9906 PR middle-end/106414
9907 * match.pd (~(x ^ y) -> x == y): Restrict to single bit
9908 precision types.
9909
9910 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
9911
9912 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
9913 (@aarch64_rbit<mode>): ... to this and change it in...
9914 (ffs<mode>2,ctz<mode>2): ... here.
9915 (@aarch64_rev16<mode>): New.
9916 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
9917 Define the following enum AARCH64_REV16, AARCH64_REV16L,
9918 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
9919 (aarch64_init_data_intrinsics): New.
9920 (aarch64_general_init_builtins): Add call to
9921 aarch64_init_data_intrinsics.
9922 (aarch64_expand_builtin_data_intrinsic): New.
9923 (aarch64_general_expand_builtin): Add call to
9924 aarch64_expand_builtin_data_intrinsic.
9925 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
9926 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
9927 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
9928
9929 2022-07-25 Martin Liska <mliska@suse.cz>
9930
9931 * doc/extend.texi: Remove trailing whitespaces.
9932 * doc/invoke.texi: Likewise.
9933
9934 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
9935
9936 * value-range-pretty-print.cc (vrange_printer::visit): New.
9937 (vrange_printer::print_frange_prop): New.
9938 * value-range-pretty-print.h (class vrange_printer): Add visit and
9939 print_frange_prop.
9940 * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
9941 (vrange_allocator::alloc_frange): New.
9942 * value-range.cc (vrange::operator=): Handle frange.
9943 (vrange::operator==): Same.
9944 (frange::accept): New.
9945 (frange::set): New.
9946 (frange::normalize_kind): New.
9947 (frange::union_): New.
9948 (frange::intersect): New.
9949 (frange::operator=): New.
9950 (frange::operator==): New.
9951 (frange::supports_type_p): New.
9952 (frange::verify_range): New.
9953 * value-range.h (enum value_range_discriminator): Handle frange.
9954 (class fp_prop): New.
9955 (FP_PROP_ACCESSOR): New.
9956 (class frange_props): New.
9957 (FRANGE_PROP_ACCESSOR): New.
9958 (class frange): New.
9959 (Value_Range::init): Handle frange.
9960 (Value_Range::operator=): Same.
9961 (Value_Range::supports_type_p): Same.
9962 (frange_props::operator==): New.
9963 (frange_props::union_): New.
9964 (frange_props::intersect): New
9965 (frange::frange): New.
9966 (frange::type): New.
9967 (frange::set_varying): New.
9968 (frange::set_undefined): New.
9969
9970 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
9971 Kewen Lin <linkw@linux.ibm.com>
9972
9973 PR testsuite/106345
9974 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
9975 to filter out all -mtune options.
9976
9977 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
9978
9979 * value-query.cc (range_query::get_value_range): Add assert.
9980 * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
9981 on unsupported types in vr_values.
9982 (simplify_using_ranges::simplify): Same.
9983
9984 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
9985
9986 * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
9987 types.
9988 * value-query.cc (get_ssa_name_range_info): Remove precision check.
9989
9990 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
9991
9992 * value-relation.cc (value_relation::set_relation): Remove assert.
9993 (path_oracle::register_relation): Exit when trying to register
9994 same SSA name relations.
9995
9996 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
9997
9998 * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
9999 (ranger_cache::range_from_dom): Same.
10000 * tree-ssa-dom.cc
10001 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
10002
10003 2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
10004 H.J. Lu <hjl.tools@gmail.com>
10005
10006 PR target/106303
10007 PR target/106347
10008 * config/i386/i386-features.cc (make_vector_copies): Move from
10009 general_scalar_chain to scalar_chain.
10010 (convert_reg): Likewise.
10011 (convert_insn_common): New scalar_chain method split out from
10012 general_scalar_chain convert_insn.
10013 (convert_registers): Move from general_scalar_chain to
10014 scalar_chain.
10015 (scalar_chain::convert): Call convert_insn_common before calling
10016 convert_insn.
10017 (timode_remove_non_convertible_regs): Iterate until there are
10018 no further changes to the candidates.
10019 * config/i386/i386-features.h (scalar_chain::hash_map): Move
10020 from general_scalar_chain.
10021 (scalar_chain::convert_reg): Likewise.
10022 (scalar_chain::convert_insn_common): New shared method.
10023 (scalar_chain::make_vector_copies): Move from general_scalar_chain.
10024 (scalar_chain::convert_registers): Likewise. No longer virtual.
10025 (general_scalar_chain::hash_map): Delete. Moved to scalar_chain.
10026 (general_scalar_chain::convert_reg): Likewise.
10027 (general_scalar_chain::make_vector_copies): Likewise.
10028 (general_scalar_chain::convert_registers): Delete virtual method.
10029 (timode_scalar_chain::convert_registers): Likewise.
10030
10031 2022-07-23 Immad Mir <mirimmad@outlook.com>
10032
10033 * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
10034 "Common Function Attributes" section.
10035 * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
10036 -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
10037 warnings may be emitted through usage of three function attributes used
10038 for static analysis of file descriptors namely fd_arg, fd_arg_read and
10039 fd_arg_write.
10040
10041 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10042
10043 * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
10044 Add a new insn_and_split pattern, and a few split patterns for
10045 spacial cases.
10046
10047 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
10048
10049 * graphds.cc (graphds_scc): Fix algorithm attribution.
10050
10051 2022-07-22 Richard Biener <rguenther@suse.de>
10052
10053 PR tree-optimization/106403
10054 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
10055 value valueization after check for IFN_MASKED_STORE or
10056 IFN_LEN_STORE.
10057
10058 2022-07-22 Richard Biener <rguenther@suse.de>
10059
10060 PR tree-optimization/106397
10061 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
10062 not update SSA form here.
10063 (mark_nontemporal_stores): Return whether we marked any
10064 non-temporal stores and inserted mfence.
10065 (loop_prefetch_arrays): Note when we need to update SSA.
10066 (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
10067 at the end of the pass.
10068
10069 2022-07-22 Richard Biener <rguenther@suse.de>
10070
10071 PR tree-optimization/106387
10072 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
10073 if ptr is not an SSA name.
10074
10075 2022-07-22 liuhongt <hongtao.liu@intel.com>
10076
10077 PR target/106038
10078 * config/i386/mmx.md (<code><mode>3): New define_expand, it's
10079 original "<code><mode>3".
10080 (*<code><mode>3): New define_insn, it's original
10081 "<code><mode>3" be extended to handle memory and immediate
10082 operand with ix86_binary_operator_ok. Also adjust define_split
10083 after it.
10084 (mmxinsnmode): New mode attribute.
10085 (*mov<mode>_imm): Refactor with mmxinsnmode.
10086 * config/i386/predicates.md
10087 (register_or_x86_64_const_vector_operand): New predicate.
10088
10089 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
10090
10091 * config/rs6000/altivec.md:
10092 (vstrir_code_<mode>): Rename to...
10093 (vstrir_direct_<mode>): ... this.
10094 (vstrir_p_code_<mode>): Rename to...
10095 (vstrir_p_direct_<mode>): ... this.
10096 (vstril_code_<mode>): Rename to...
10097 (vstril_direct_<mode>): ... this.
10098 (vstril_p_code_<mode>): Rename to...
10099 (vstril_p_direct_<mode>): ... this.
10100
10101 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
10102
10103 * config/rs6000/rs6000-c.cc: Update comments.
10104 (rs6000_target_modify_macros): Remove bu_mask references.
10105 (rs6000_define_or_undefine_macro): Replace bu_mask reference
10106 with a rs6000_cpu value check.
10107 (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
10108 parameter from call to rs6000_target_modify_macros.
10109 * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
10110 rs6000_target_modify_macros_ptr): Remove parameter from extern
10111 for the prototype.
10112 * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
10113 parameter from prototype, update calls to this function.
10114 (rs6000_print_builtin_options): Remove prototype, call and function.
10115 (rs6000_builtin_mask_calculate): Remove function.
10116 (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
10117 (rs6000_option_override_internal): Remove rs6000_builtin_mask var
10118 and builtin_mask debug output.
10119 (rs6000_builtin_mask_names): Remove.
10120 (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
10121 diff_bumask references; Update calls to rs6000_target_modify_ptr.
10122 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
10123
10124 2022-07-21 Sam Feifer <sfeifer@redhat.com>
10125
10126 PR tree-optimization/94920
10127 * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
10128 (x <= 0 ? -x : 0): New simplification.
10129
10130 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
10131
10132 Revert:
10133 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
10134
10135 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
10136 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
10137
10138 2022-07-21 Richard Biener <rguenther@suse.de>
10139
10140 PR tree-optimization/106379
10141 * match.pd (~(a ^ b) -> a == b): New pattern.
10142
10143 2022-07-21 Richard Biener <rguenther@suse.de>
10144
10145 PR tree-optimization/106378
10146 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
10147 LEN_STORE, add mode to initialize a may-def and handle
10148 MASK_STORE that way.
10149 (dse_optimize_stmt): Query may-defs. Handle internal
10150 functions LEN_STORE and MASK_STORE similar to how
10151 we handle memory builtins but without byte tracking.
10152
10153 2022-07-21 Richard Biener <rguenther@suse.de>
10154
10155 PR tree-optimization/106365
10156 * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
10157 the offset to start encoding of RHS from.
10158 (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
10159 (vn_walk_cb_data::push_partial_def): Allow the first partial
10160 definition to be fully providing the def. Offset RHS
10161 before encoding if requested.
10162 (vn_reference_lookup_3): Initialize def_rhs everywhere.
10163 Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
10164
10165 2022-07-21 Richard Biener <rguenther@suse.de>
10166
10167 * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
10168 store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
10169 and IFN_MASK_LOAD_LANES.
10170 (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
10171 IFN_LEN_STORE and IFN_MASK_STORE_LANES.
10172
10173 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
10174
10175 PR rtl-optimization/101347
10176 * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
10177 population of nonlocal_goto_handler_labels from here ...
10178 (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
10179 * rtlanal.cc (remove_node_from_insn_list): Verify that a
10180 duplicate is not present in the remainder of the list.
10181
10182 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
10183
10184 * rtl.h (remove_node_from_expr_list): Remove declaration.
10185 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
10186
10187 2022-07-20 Richard Biener <rguenther@suse.de>
10188
10189 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
10190 invariant updated address when the input was invariant.
10191
10192 2022-07-20 liuhongt <hongtao.liu@intel.com>
10193
10194 * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
10195 and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
10196 * timevar.def (TV_TREE_POWCABS): New timevar.
10197 * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
10198 * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
10199 (class pass_expand_powcabs): Ditto.
10200 (pass_expand_powcabs::execute): Ditto.
10201 (make_pass_expand_powcabs): Ditto.
10202 (pass_cse_sincos::execute): Remove pow/cabs expand part.
10203 (make_pass_cse_sincos): Ditto.
10204
10205 2022-07-20 Richard Biener <richard.guenther@gmail.com>
10206 Hongtao Liu <hongtao.liu@intel.com>
10207
10208 PR tree-optimization/106010
10209 * tree-complex.cc (init_dont_simulate_again): Lower complex
10210 type move.
10211 (expand_complex_move): Also expand COMPLEX_CST for rhs.
10212
10213 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
10214
10215 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
10216 for incoming ranges on join nodes and add to worklist.
10217
10218 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
10219
10220 * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
10221 (ranger_cache::range_from_dom): Put all nodes to be calculated
10222 in the worklist and resolve after the dom walk.
10223 * gimple-range-cache.h (resolve_dom): New prototype.
10224
10225 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
10226
10227 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
10228 returns_twice calls.
10229
10230 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
10231
10232 * cfghooks.cc (duplicate_block): Expand comment.
10233 * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
10234 calls that may return twice.
10235
10236 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
10237
10238 * tree-ssa-sink.cc (select_best_block): Punt if selected block
10239 has incoming abnormal edges.
10240
10241 2022-07-19 Martin Liska <mliska@suse.cz>
10242
10243 * doc/extend.texi: Remove trailing :.
10244
10245 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
10246
10247 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
10248 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
10249
10250 2022-07-19 Richard Biener <rguenther@suse.de>
10251
10252 PR middle-end/106331
10253 * builtins.cc (get_memory_rtx): Compute alignment from
10254 the original address and set MEM_OFFSET to unknown when
10255 we create a MEM_EXPR from the base object of the address.
10256
10257 2022-07-19 Richard Biener <rguenther@suse.de>
10258
10259 PR lto/106334
10260 * dwarf2out.cc (dwarf2out_register_external_die): Allow
10261 map entry re-use during WPA.
10262
10263 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
10264 Richard Biener <rguenther@suse.de>
10265
10266 PR c/106264
10267 * builtins.cc (fold_builtin_frexp): Call suppress_warning on
10268 COMPOUND_EXPR to silence spurious warning if result isn't used.
10269 (fold_builtin_modf): Likewise.
10270 (do_mpfr_remquo): Likewise.
10271
10272 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10273
10274 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
10275 Change the relative cost of '(set (reg) (const_int N))' where
10276 N fits into signed 12-bit from 4 to 0 if optimizing for size.
10277 And use the appropriate macro instead of the bare number 4.
10278
10279 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
10280
10281 PR tree-optimization/106280
10282 * value-relation.cc (dom_oracle::register_relation): Register
10283 transitives only when it is possible for there to be one.
10284 (dom_oracle::set_one_relation): Return NULL if this is an
10285 existing relation.
10286
10287 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
10288
10289 * doc/invoke.texi (RISC-V Options): Add index references for
10290 `mrelax' and `mriscv-attribute'.
10291
10292 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
10293
10294 * doc/invoke.texi (Option Summary): Add missing second space
10295 around `-mstack-protector-guard-reg='.
10296
10297 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
10298
10299 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
10300 (RISC-V Options): Likewise, and `-mriscv-attribute'.
10301
10302 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
10303
10304 * config/arc/arc-arch.h (arc_tune_attr): Add
10305 ARC_TUNE_ARCHS4X_REL31A variant.
10306 * config/arc/arc.cc (arc_override_options): Tune options for
10307 release 310a.
10308 (arc_sched_issue_rate): Use correct enum.
10309 (arc600_corereg_hazard): Textual change.
10310 (arc_hazard): Add release 310a tunning.
10311 * config/arc/arc.md (tune): Update and take into consideration new
10312 tune option.
10313 (tune_dspmpy): Likewise.
10314 (tune_store): New attribute.
10315 * config/arc/arc.opt (mtune): New tune option.
10316 * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
10317 (hs4x_brcc_op): New instruction rezervation.
10318 (hs4x_data_store_1_op): Likewise.
10319 * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
10320 * config/arc/arc-tables.opt: Regenerate.
10321 * config/arc/t-multilib: Likewise.
10322 * doc/invoke.texi (ARC): Update mcpu and tune sections.
10323
10324 2022-07-18 Richard Biener <rguenther@suse.de>
10325
10326 * tree-loop-distribution.cc (loop_distribution::distribute_loop):
10327 When computing cost-based merging do not disregard builtin
10328 classified partitions in some cases.
10329
10330 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
10331
10332 PR target/106253
10333 * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
10334 Delete.
10335 * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
10336 * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
10337 Delete.
10338 * config/arm/arm_neon_builtins.def (copysignf): Delete.
10339 * config/arm/iterators.md (nvrint_pattern): New attribute.
10340 * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
10341 New pattern.
10342 (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
10343 Likewise.
10344 (neon_copysignf<mode>): Rename to...
10345 (copysign<mode>3): ...this.
10346
10347 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
10348
10349 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
10350 pointer first when in interrupts.
10351
10352 2022-07-18 Richard Biener <rguenther@suse.de>
10353
10354 * tree-loop-distribution.cc (copy_loop_before): Add
10355 the ability to replace the original LC PHI defs.
10356 (generate_loops_for_partition): Pass through a flag
10357 whether to redirect original LC PHI defs.
10358 (generate_code_for_partition): Likewise.
10359 (loop_distribution::distribute_loop): Compute the partition
10360 that should provide the LC PHI defs for common reductions
10361 and pass that down.
10362
10363 2022-07-18 Richard Ball <richard.ball@arm.com>
10364
10365 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
10366 (aarch64_evpc_uzp): Likewise.
10367 (aarch64_evpc_zip): Likewise.
10368
10369 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
10370
10371 PR target/106231
10372 * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
10373 to recognize any_extend:DI of ctz:SI which is implicitly extended.
10374 (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
10375 extended ctz:SI that has preceding xor to break false dependency.
10376
10377 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
10378
10379 * config/i386/predicates.md (x86_64_const_vector_operand):
10380 Check the operand's mode matches the specified mode argument.
10381
10382 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
10383
10384 * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
10385 (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
10386 (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
10387 (vec_pack_trunc_qi): Update to specify the now required
10388 UNSPEC_MASKOP unspec.
10389 (vec_pack_trunc_<mode>): Likewise.
10390
10391 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10392
10393 * config/xtensa/xtensa.md
10394 (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
10395 *masktrue_const_shifted_mask): If the immediate for bitwise AND is
10396 represented as '-(1 << N)', decrease the lower bound of N from 12
10397 to 1. And the other immediate for conditional branch is now no
10398 longer limited to zero, but also one of some positive integers.
10399 Finally, remove the checks of some conditions, because the comparison
10400 expressions that don't satisfy such checks are determined as
10401 compile-time constants and thus will be optimized away before
10402 RTL expansion.
10403
10404 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10405
10406 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
10407 (xtensa_constantsynth_2insn): Change to try all three synthetic
10408 methods and to use the one that fits the immediate value of
10409 the seed into a Narrow Move Immediate instruction "MOVI.N"
10410 when the Code Density Option is configured.
10411
10412 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
10413
10414 PR target/85620
10415 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
10416 false if callee has indirect_return attribute and caller
10417 doesn't.
10418
10419 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
10420
10421 PR target/106273
10422 * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
10423 constraints to reflect the output is earlyclobber, unless it is
10424 the same register (pair) as one of the operands.
10425
10426 2022-07-15 David Malcolm <dmalcolm@redhat.com>
10427
10428 * doc/invoke.texi (Static Analyzer Options): Add the new fd
10429 warnings to the initial gccoptlist, and to the list of those
10430 disabled by -fanalyzer-checker=taint.
10431
10432 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
10433
10434 * config/aarch64/aarch64-builtins.cc
10435 (enum aarch64_type_qualifiers): Remove qualifier_internal.
10436 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
10437
10438 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
10439
10440 * config/aarch64/aarch64-builtins.cc
10441 (v1di_UP): Add V1DI mode to _UP macros.
10442 * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
10443 * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
10444 * config/aarch64/aarch64-simd.md
10445 (vec_extractv2dfv1df): Replace with...
10446 (vec_extract<mode><V1half>): ...this.
10447 * config/aarch64/aarch64.cc
10448 (aarch64_classify_vector_mode): Add V1DI mode.
10449 * config/aarch64/iterators.md
10450 (VQ_2E, V1HALF, V1half): New.
10451 (nunits): Add V1DI mode.
10452
10453 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
10454
10455 PR target/106278
10456 * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
10457 Fix indentation whitespace.
10458 (timode_scalar_chain::fix_debug_reg_uses): Likewise.
10459 (timode_scalar_chain::convert_insn): Delete dead code.
10460 Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
10461 Fix indentation whitespace.
10462 (convertible_comparison_p): Likewise.
10463 (timode_scalar_to_vector_candidate_p): Likewise.
10464
10465 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
10466
10467 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
10468
10469 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
10470
10471 * Makefile.in (OBJS): Add value-range-pretty-print.o.
10472 * pretty-print.h (pp_vrange): New.
10473 * value-range.cc (vrange::dump): Call pp version.
10474 (unsupported_range::dump): Move to its own file.
10475 (dump_bound_with_infinite_markers): Same.
10476 (irange::dump): Same.
10477 (irange::dump_bitmasks): Same.
10478 (vrange::debug): Remove.
10479 * value-range.h: Remove virtual designation for dump methods.
10480 Remove dump_bitmasks method.
10481 * value-range-pretty-print.cc: New file.
10482 * value-range-pretty-print.h: New file.
10483
10484 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
10485
10486 * value-range.cc (irange::accept): New.
10487 (unsupported_range::accept): New.
10488 * value-range.h (class vrange_visitor): New.
10489 (class vrange): Add accept method.
10490 (class unsupported_range): Same.
10491 (class Value_Range): Same.
10492
10493 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
10494
10495 * diagnostic-format-json.cc (json_from_location_range): Adjust
10496 to new label_text API.
10497 * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
10498 Likewise.
10499 * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
10500 (layout::print_any_labels): Likewise.
10501 * tree-diagnostic-path.cc (class path_label): Likewise.
10502 (struct event_range): Likewise.
10503 (default_tree_diagnostic_path_printer): Likewise.
10504 (default_tree_make_json_for_path): Likewise.
10505
10506 2022-07-15 konglin1 <lingling.kong@intel.com>
10507
10508 PR target/106113
10509 * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
10510 comparison due to intrinsics changed over time.
10511 * config/i386/i386-expand.cc (ix86_ssecom_setcc):
10512 Add unordered check and mode for sse comi codegen.
10513 (ix86_expand_sse_comi): Add unordered check and check a different
10514 CCmode.
10515 (ix86_expand_sse_comi_round):Extract unordered check and mode part
10516 in ix86_ssecom_setcc.
10517
10518 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
10519
10520 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
10521 op_mode instead of vmode in calls to force_reg for op0 and op1.
10522
10523 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
10524
10525 PR tree-optimization/103798
10526 * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
10527 (simplify_builtin_call): Inline memchr with constant strings of
10528 no more than the bytes of a word.
10529 * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
10530 * tree-ssa-strlen.h (use_in_zero_equality): New.
10531
10532 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
10533
10534 * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
10535 and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
10536 (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
10537 pass it in the call to lookup_tmp_var.
10538 (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
10539 (get_initialized_tmp_var): Likewise.
10540 (prepare_gimple_addressable): Call internal_get_tmp_var instead of
10541 get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
10542
10543 2022-07-14 Martin Liska <mliska@suse.cz>
10544
10545 * doc/gimple.texi: Close properly a deftypefn.
10546
10547 2022-07-14 Martin Liska <mliska@suse.cz>
10548
10549 * doc/gimple.texi: Close properly a deftypefn.
10550
10551 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10552
10553 * config/xtensa/xtensa.md:
10554 In FP constant synthesis split pattern, subcontract to
10555 avoid_constant_pool_reference() as in the case of integer,
10556 because it can handle well too. And cast to int32_t before
10557 calling xtensa_constantsynth() in order to ignore upper 32-bit.
10558
10559 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
10560
10561 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
10562
10563 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
10564
10565 * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
10566 (irange::legacy_intersect): Clear nonzero mask.
10567 (irange::legacy_union): Same.
10568 (irange::invert): Same.
10569
10570 2022-07-13 Richard Biener <rguenther@suse.de>
10571
10572 * tree-ssa-dom.h (record_temporary_equivalences): Remove.
10573 * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
10574 (dom_jt_state::get_blocks_on_stack): Likewise.
10575 (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
10576 (back_propagate_equivalences): Remove dominator bitmap
10577 compute and instead use passed in m_blocks_on_stack.
10578 (record_temporary_equivalences): Likewise.
10579 (record_equivalences_from_incoming_edge): Likewise.
10580 (dom_opt_dom_walker::before_dom_children): Maintain and
10581 pass down blocks on stack.
10582 (dom_opt_dom_walker::after_dom_children): Likewise.
10583
10584 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
10585
10586 * config/aarch64/aarch64-builtins.cc
10587 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
10588
10589 2022-07-13 Richard Biener <rguenther@suse.de>
10590
10591 PR tree-optimization/106249
10592 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
10593 Only verify LC SSA of the new_loop if we created it.
10594 Use TODO_update_ssa_nophi for the SSA update after versioning
10595 the loop.
10596
10597 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
10598
10599 * range-op.cc (unsigned_singleton_p): Remove.
10600 (operator_bitwise_and::remove_impossible_ranges): Remove.
10601 (operator_bitwise_and::fold_range): Set nonzero bits. *
10602 * value-range.cc (irange::get_nonzero_bits): Remove
10603 legacy_mode_p assert.
10604 (irange::dump_bitmasks): Remove legacy_mode_p check.
10605
10606 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
10607
10608 PR target/106253
10609 * predict.h (insn_optimization_type): Declare.
10610 * predict.cc (insn_optimization_type): New function.
10611 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
10612 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
10613 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
10614 * internal-fn.cc (unary_convert_direct): New macro.
10615 (expand_convert_optab_fn): New function.
10616 (expand_unary_convert_optab_fn): New macro.
10617 (direct_unary_convert_optab_supported_p): Likewise.
10618 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
10619 convert_optab_handler.
10620 * config/aarch64/aarch64-protos.h
10621 (aarch64_builtin_vectorized_function): Delete.
10622 * config/aarch64/aarch64-builtins.cc
10623 (aarch64_builtin_vectorized_function): Delete.
10624 * config/aarch64/aarch64.cc
10625 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
10626 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
10627 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
10628 optimize_insn_for_size_p test.
10629
10630 2022-07-12 Richard Biener <rguenther@suse.de>
10631
10632 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
10633 Remove.
10634 (vect_do_peeling): Do not call it, adjust comment.
10635
10636 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
10637
10638 * config/aarch64/aarch64-builtins.cc
10639 (aarch64_builtin_vectorized_function): Remove handling of
10640 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
10641
10642 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
10643
10644 PR tree-optimization/106234
10645 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
10646 cache value before recursively resolving it.
10647
10648 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
10649
10650 * config/i386/i386-features.h (scalar_chain): Add fields
10651 insns_conv, n_sse_to_integer and n_integer_to_sse to this
10652 parent class, moved from general_scalar_chain.
10653 (scalar_chain::convert_compare): Protected method moved
10654 from general_scalar_chain.
10655 (mark_dual_mode_def): Make protected, not private virtual.
10656 (scalar_chain:convert_op): New private virtual method.
10657 (general_scalar_chain::general_scalar_chain): Simplify constructor.
10658 (general_scalar_chain::~general_scalar_chain): Delete destructor.
10659 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
10660 n_integer_to_sse fields to parent class, scalar_chain.
10661 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
10662 (general_scalar_chain::convert_compare): Delete prototype.
10663 (timode_scalar_chain::compute_convert_gain): Remove simplistic
10664 implementation, convert to a method prototype.
10665 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
10666 (timode_scalar_chain::convert_op): Prototype new virtual method.
10667 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
10668 Allocate insns_conv and initialize n_sse_to_integer and
10669 n_integer_to_sse fields in constructor.
10670 (scalar_chain::scalar_chain): Free insns_conv in destructor.
10671 (general_scalar_chain::general_scalar_chain): Delete
10672 constructor, now defined in the class declaration.
10673 (general_scalar_chain::~general_scalar_chain): Delete destructor.
10674 (scalar_chain::mark_dual_mode_def): Renamed from
10675 general_scalar_chain::mark_dual_mode_def.
10676 (timode_scalar_chain::mark_dual_mode_def): Delete.
10677 (scalar_chain::convert_compare): Renamed from
10678 general_scalar_chain::convert_compare.
10679 (timode_scalar_chain::compute_convert_gain): New method to
10680 determine the gain from converting a TImode chain to V1TImode.
10681 (timode_scalar_chain::convert_op): New method to convert an
10682 operand from TImode to V1TImode.
10683 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
10684 on REG_EQUAL notes that were originally TImode (not CONST_INT).
10685 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
10686 (timode_mem_p): Helper predicate to check where operand is
10687 memory reference with sufficient alignment for TImode STV.
10688 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
10689 to check whether COMPARE is convertible. Handle SET_DESTs that
10690 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
10691 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
10692
10693 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
10694
10695 PR tree-optimization/106250
10696 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
10697 argument to directly_supported_p.
10698
10699 2022-07-11 Richard Biener <rguenther@suse.de>
10700
10701 * tree-into-ssa.cc (update_ssa): Do not forcefully
10702 re-compute dominance fast queries for TODO_update_ssa_no_phi.
10703
10704 2022-07-11 Richard Biener <rguenther@suse.de>
10705
10706 PR tree-optimization/106228
10707 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
10708 VUSE compute for the non-loop case.
10709
10710 2022-07-11 Richard Biener <rguenther@suse.de>
10711
10712 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
10713 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
10714 (rewrite_update_dom_walker::m_in_region_flag): New.
10715 (rewrite_update_dom_walker::before_dom_children): If the region
10716 to update is marked, STOP at exits.
10717 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
10718 to be updated.
10719 (dump_update_ssa): Use bitmap_empty_p.
10720 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
10721 TODO_update_ssa_no_phi.
10722 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
10723 pending update_ssa to the caller.
10724
10725 2022-07-11 Richard Biener <rguenthert@suse.de>
10726
10727 PR target/105459
10728 * config/i386/i386-options.cc (ix86_set_current_function):
10729 Rebuild the target optimization node whenever necessary,
10730 not only when the optimization node didn't change.
10731
10732 2022-07-11 Richard Biener <rguenther@suse.de>
10733
10734 PR tree-optimization/106228
10735 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
10736 set a VUSE operand on the emitted load.
10737
10738 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
10739
10740 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
10741 verification against legacy value_range.
10742 (gimple_ranger::register_inferred_ranges): Same.
10743 (gimple_ranger::export_global_ranges): Rename update_global_range
10744 to set_range_info.
10745 * tree-core.h (struct range_info_def): Remove.
10746 (struct irange_storage_slot): New.
10747 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
10748 (struct tree_ssa_name): Add vrange_storage support.
10749 * tree-ssanames.cc (range_info_p): New.
10750 (range_info_fits_p): New.
10751 (range_info_alloc): New.
10752 (range_info_free): New.
10753 (range_info_get_range): New.
10754 (range_info_set_range): New.
10755 (set_range_info_raw): Remove.
10756 (set_range_info): Adjust to use vrange_storage.
10757 (set_nonzero_bits): Same.
10758 (get_nonzero_bits): Same.
10759 (duplicate_ssa_name_range_info): Remove overload taking
10760 value_range_kind.
10761 Rewrite tree overload to use vrange_storage.
10762 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
10763 * tree-ssanames.h (struct range_info_def): Remove.
10764 (set_range_info): Adjust prototype to take vrange.
10765 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
10766 duplicate_ssa_name_range_info.
10767 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
10768 (SSA_NAME_RANGE_TYPE): Remove.
10769 * value-query.cc (get_ssa_name_range_info): Adjust to use
10770 vrange_storage.
10771 (update_global_range): Remove.
10772 (get_range_global): Remove as_a<irange>.
10773 * value-query.h (update_global_range): Remove.
10774 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
10775 Rename update_global_range to set_range_info.
10776 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
10777 gcc_unreachable.
10778
10779 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
10780
10781 * value-range.cc (irange::operator=): Call verify_range.
10782 (irange::irange_set): Normalize kind after everything else has
10783 been set.
10784 (irange::irange_set_anti_range): Same.
10785 (irange::set): Same.
10786 (irange::verify_range): Disallow nonzero masks for VARYING.
10787 (irange::irange_union): Call verify_range.
10788 Handle nonzero masks better.
10789 (irange::irange_intersect): Same.
10790 (irange::set_nonzero_bits): Calculate mask if either range has an
10791 explicit mask.
10792 (irange::intersect_nonzero_bits): Same.
10793 (irange::union_nonzero_bits): Same.
10794 (range_tests_nonzero_bits): New.
10795 (range_tests): Call range_tests_nonzero_bits.
10796 * value-range.h (class irange): Remove set_nonzero_bits method
10797 with trees.
10798 (irange::varying_compatible_p): Set nonzero mask.
10799
10800 2022-07-10 Xi Ruoyao <xry111@xry111.site>
10801
10802 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
10803 the sign-extend of result in the RTL template.
10804 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
10805
10806 2022-07-10 Xi Ruoyao <xry111@xry111.site>
10807
10808 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
10809 Remove static, for use in the machine description file.
10810 * config/loongarch/loongarch-protos.h:
10811 (loongarch_check_zero_div_p): Add prototype.
10812 * config/loongarch/loongarch.md (enabled): New attr.
10813 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
10814 idiv. Conditionally enable the alternatives using
10815 loongarch_check_zero_div_p.
10816 (<optab>di3_fake): Likewise.
10817
10818 2022-07-10 Xi Ruoyao <xry111@xry111.site>
10819
10820 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
10821 instead of mul.d.
10822
10823 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
10824
10825 * value-range.cc (irange::irange_single_pair_union): Set
10826 VR_VARYING when appropriate.
10827
10828 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
10829
10830 * stor-layout.cc (finalize_record_size): Extend warning message.
10831
10832 2022-07-09 Sam Feifer <sfeifer@redhat.com>
10833
10834 PR tree-optimization/98304
10835 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
10836
10837 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
10838
10839 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
10840 initializer and use clear_storage rather than copying the
10841 NULs to the destination array.
10842
10843 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
10844
10845 * config/i386/i386.md (define_peephole2): Use match_operand of
10846 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
10847 (define_peephole2): Likewise.
10848 (define_peephole2): Likewise...
10849
10850 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
10851
10852 * config/i386/i386-features.cc (convert_compare): Add support
10853 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
10854 by generating a pandn followed by ptest.
10855 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
10856 recent *testdi_not_doubleword comparison patterns.
10857
10858 2022-07-09 Tamar Christina <tamar.christina@arm.com>
10859
10860 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
10861 indicate that the value is not undefined.
10862
10863 2022-07-09 Andrew Pinski <apinski@marvell.com>
10864
10865 PR tree-optimization/106087
10866 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
10867 to make sure the statement is only defining one operand.
10868
10869 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
10870
10871 PR preprocessor/91733
10872 * input.cc (find_end_of_line): New helper function.
10873 (file_cache_slot::get_next_line): Recognize \r as a line ending.
10874 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
10875 since \r will now be interpreted as a line-ending.
10876
10877 2022-07-08 Martin Liska <mliska@suse.cz>
10878
10879 PR sanitizer/106132
10880 * opts.cc (finish_options): Use 2 calls to
10881 report_conflicting_sanitizer_options.
10882
10883 2022-07-08 Richard Biener <rguenther@suse.de>
10884
10885 PR tree-optimization/106226
10886 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
10887 no SSA update is needed. Move virtual SSA update ...
10888 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
10889 via forced virtual renaming when TODO_update_ssa_only_virtuals
10890 is queued.
10891 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
10892 when virtual SSA update is required.
10893 (try_vectorize_loop_1): Adjust.
10894 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
10895 virtual renaming if the ABI forces an aggregate return
10896 but the original call did not have a virtual definition.
10897
10898 2022-07-08 Martin Liska <mliska@suse.cz>
10899
10900 * toplev.cc (init_asm_output): Do not init asm_out_file.
10901
10902 2022-07-08 Tamar Christina <tamar.christina@arm.com>
10903
10904 PR tree-optimization/106063
10905 * match.pd: Do not apply pattern after veclower is not supported.
10906
10907 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
10908
10909 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
10910 'fn2' computation.
10911
10912 2022-07-08 Tamar Christina <tamar.christina@arm.com>
10913
10914 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
10915 still undefined and if so emit a subreg move instead.
10916 (store_integral_bit_field): Likewise.
10917 (store_bit_field): Likewise.
10918 * expr.h (write_complex_part): Likewise.
10919 * expmed.h (store_bit_field): Add new parameter.
10920 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
10921 parameter.
10922 (expand_ifn_atomic_compare_exchange): Likewise.
10923 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
10924 * emit-rtl.cc (validate_subreg): Likewise.
10925 * expr.cc (emit_group_store): Likewise.
10926 (copy_blkmode_from_reg): Likewise.
10927 (copy_blkmode_to_reg): Likewise.
10928 (clear_storage_hints): Likewise.
10929 (write_complex_part): Likewise.
10930 (emit_move_complex_parts): Likewise.
10931 (expand_assignment): Likewise.
10932 (store_expr): Likewise.
10933 (store_field): Likewise.
10934 (expand_expr_real_2): Likewise.
10935 * ifcvt.cc (noce_emit_move_insn): Likewise.
10936 * internal-fn.cc (expand_arith_set_overflow): Likewise.
10937 (expand_arith_overflow_result_store): Likewise.
10938 (expand_addsub_overflow): Likewise.
10939 (expand_neg_overflow): Likewise.
10940 (expand_mul_overflow): Likewise.
10941 (expand_arith_overflow): Likewise.
10942
10943 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
10944
10945 PR target/106180
10946 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
10947 Rename from *sse2_cvtps2pd<mask_name>_1.
10948 (vec_unpacks_lo_v4sf): Add handler for memory operand.
10949
10950 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
10951
10952 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
10953 Modify fp_sp_offset and gp_sp_offset's calculation method,
10954 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
10955 or UNITS_PER_FP_REG.
10956
10957 2022-07-07 David Malcolm <dmalcolm@redhat.com>
10958
10959 * diagnostic-format-json.cc (json_from_location_range): Update for
10960 removal of label_text::maybe_free in favor of automatic memory
10961 management.
10962 * diagnostic-format-sarif.cc
10963 (sarif_builder::make_location_object): Likewise.
10964 * diagnostic-show-locus.cc (struct pod_label_text): New.
10965 (class line_label): Convert m_text from label_text to pod_label_text.
10966 (layout::print_any_labels): Move "text" to the line_label.
10967 * tree-diagnostic-path.cc (path_label::get_text): Update for
10968 removal of label_text::maybe_free in favor of automatic memory
10969 management.
10970 (event_range::print): Likewise.
10971 (default_tree_diagnostic_path_printer): Likewise.
10972 (default_tree_make_json_for_path): Likewise.
10973
10974 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
10975
10976 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
10977
10978 2022-07-07 Richard Biener <rguenther@suse.de>
10979
10980 * tree-into-ssa.cc (iterating_old_ssa_names): New.
10981 (add_new_name_mapping): Grow {new,old}_ssa_names separately
10982 and only when actually needed. Assert we are not growing
10983 the old_ssa_names set when iterating over it.
10984 (update_ssa): Remove old_ssa_names copying and empty_p
10985 query, note we are iterating over it and expect no set changes.
10986
10987 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
10988
10989 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
10990 (prepare_target_image, main): Handle OpenMP 'requires'.
10991 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
10992 'GOMP_offload_unregister_ver'.
10993
10994 2022-07-07 Richard Biener <rguenther@suse.de>
10995
10996 PR target/106219
10997 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
10998 set DECL_PURE_P.
10999
11000 2022-07-07 Richard Biener <rguenther@suse.de>
11001
11002 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
11003 number of LC PHIs inserted.
11004 (add_exit_phis): Return whether any variable required
11005 multiple LC PHI nodes.
11006 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
11007 when possible.
11008
11009 2022-07-07 Richard Biener <rguenther@suse.de>
11010
11011 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
11012 the def loop exit block bitmap as argument instead of
11013 re-computing it here.
11014 (add_exit_phis_var): Adjust.
11015 (loop_name_cmp): New function.
11016 (add_exit_phis): Sort variables to insert LC PHI nodes
11017 after definition loop, for each definition loop compute
11018 the exit block bitmap once.
11019 (get_loops_exit): Remove.
11020 (rewrite_into_loop_closed_ssa_1): Do not pre-record
11021 all loop exit blocks into bitmaps. Record loop exits
11022 if required.
11023
11024 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
11025
11026 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
11027 to handle the N32 ABI.
11028 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
11029 the macro, as it is not needed anymore.
11030
11031 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
11032
11033 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
11034 '[...]_data'.
11035 * config/nvptx/mkoffload.cc (process): Likewise.
11036
11037 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
11038
11039 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
11040
11041 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
11042
11043 * value-relation.cc (relation_to_code): New vector.
11044 (relation_oracle::validate_relation): New.
11045 (set_relation): Allow ssa1 == ssa2 to be registered.
11046 * value-relation.h (validate_relation): New prototype.
11047 (query_relation): Make internal variant protected.
11048
11049 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
11050
11051 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
11052 for double word comparisons and tests (comparisons against zero).
11053 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
11054 and;cmp into andn;cmp $0 as a pre-reload splitter.
11055 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
11056 (*<any_or><dwi>3_doubleword): Likewise.
11057
11058 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
11059 Hongtao Liu <hongtao.liu@intel.com>
11060
11061 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
11062 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
11063 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
11064 and gen_ssse3_palignv1ti instead of TImode.
11065 * config/i386/sse.md (SSESCALARMODE): Delete.
11066 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
11067 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
11068 iterator instead of SSESCALARMODE.
11069 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
11070 using a single move instruction (if required).
11071
11072 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
11073 Uroš Bizjak <ubizjak@gmail.com>
11074
11075 PR rtl-optimization/96692
11076 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
11077 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
11078
11079 2022-07-05 Richard Biener <rguenther@suse.de>
11080
11081 PR tree-optimization/106198
11082 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
11083 full LC SSA rewrite but only if any blocks changed loop
11084 depth.
11085
11086 2022-07-05 Richard Biener <rguenther@suse.de>
11087
11088 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
11089 (find_uses_to_rename_in_loop): Likewise.
11090 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
11091 uses.
11092 (rewrite_into_loop_closed_ssa): Adjust.
11093
11094 2022-07-05 Richard Biener <rguenther@suse.de>
11095
11096 PR tree-optimization/106186
11097 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
11098 Properly handle virtual PHI nodes.
11099
11100 2022-07-05 Richard Biener <rguenther@suse.de>
11101
11102 PR tree-optimization/106196
11103 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
11104 handle aggregate returns of calls for VDEF updates.
11105
11106 2022-07-05 Richard Biener <rguenther@suse.de>
11107
11108 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
11109 Maintain LC SSA.
11110
11111 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
11112
11113 * tree-vect-patterns.cc (vect_convert_input): Expect the input
11114 type to be signed for optab_vector_mixed_sign. Update the vectype
11115 at the same time as type.
11116 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
11117 available, try sdot instead.
11118 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
11119 (vect_model_reduction_cost): Model the cost of implementing usdot
11120 using sdot.
11121 (vectorizable_reduction): Likewise. Skip target support test
11122 for lane reductions.
11123 (vect_emulate_mixed_dot_prod): New function.
11124 (vect_transform_reduction): Use it to emulate usdot via sdot.
11125
11126 2022-07-05 Richard Biener <rguenther@suse.de>
11127
11128 PR tree-optimization/106182
11129 * loop-init.cc (fix_loop_structure): Return the number
11130 of newly discovered plus the number of deleted loops.
11131 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
11132 variable name.
11133
11134 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
11135
11136 * gimple-range-fold.cc
11137 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
11138 call to SCEV for irange supported types.
11139 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
11140 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
11141 * tree-ssa-dom.cc (cprop_operand): Same.
11142
11143 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
11144
11145 PR target/104489
11146 * calls.cc (precompute_register_parameters): Allow promotion
11147 of floating point values to be passed in wider integer modes
11148 by calling new convert_float_to_wider_int.
11149 (expand_call): Allow floating point results to be returned in
11150 wider integer modes by calling new convert wider_int_to_float.
11151 * cfgexpand.cc (expand_value_return): Allow backends to promote
11152 a scalar floating point return value to a wider integer mode
11153 by calling new convert_float_to_wider_int.
11154 * expr.cc (convert_float_to_wider_int): New function.
11155 (convert_wider_int_to_float): Likewise.
11156 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
11157 scalar FP PARM_DECLs to wider integer modes, by calling new
11158 convert_wider_int_to_float.
11159 * expr.h (convert_modes): Name arguments for improved documentation.
11160 (convert_float_to_wider_int): Prototype new function here.
11161 (convert_wider_int_to_float): Likewise.
11162 * function.cc (assign_parm_setup_stack): Allow floating point
11163 values to be passed on the stack as wider integer modes by
11164 calling new convert_wider_int_to_float.
11165
11166 2022-07-04 Martin Jambor <mjambor@suse.cz>
11167
11168 PR tree-optimization/105860
11169 * tree-sra.cc (build_reconstructed_reference): Start expr
11170 traversal only just below the outermost union.
11171
11172 2022-07-04 Richard Biener <rguenther@suse.de>
11173
11174 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
11175 and update virtual SSA form again. Assert we do so for
11176 a known set of transforms only.
11177 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
11178 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
11179 using load-lanes allow virtual SSA update.
11180
11181 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
11182 Chung-Lin Tang <cltang@codesourcery.com>
11183 Thomas Schwinge <thomas@codesourcery.com>
11184
11185 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
11186 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
11187 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
11188 * config/nvptx/mkoffload.cc (process, main): Likewise.
11189 * lto-cgraph.cc (omp_requires_to_name): New.
11190 (input_offload_tables): Save omp_requires_mask.
11191 (output_offload_tables): Read it, check for consistency,
11192 save value for mkoffload.
11193 * omp-low.cc (lower_omp_target): Force output_offloadtables
11194 call for OMP_REQUIRES_TARGET_USED.
11195
11196 2022-07-04 Richard Biener <rguenther@suse.de>
11197
11198 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
11199 no SSA update is needed instead of updating virtual SSA
11200 form.
11201 * tree-vect-stmts.cc (vectorizable_load): For hoisted
11202 invariant load use the loop entry virtual use.
11203 For emulated gather loads use the virtual use of the
11204 original stmt like vect_finish_stmt_generation would do.
11205
11206 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
11207
11208 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
11209 for direct circularity.
11210
11211 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
11212
11213 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
11214 the language for vector types.
11215
11216 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
11217
11218 * value-range-storage.cc (irange_storage_slot::set_irange): Set
11219 nonzero bits in irange.
11220 (irange_storage_slot::get_irange): Get nonzero bits from irange.
11221 * value-range.cc (irange::operator=): Set nonzero bits.
11222 (irange::irange_set): Same.
11223 (irange::irange_set_anti_range): Same.
11224 (irange::set): Same.
11225 (irange::verify_range): Same.
11226 (irange::legacy_equal_p): Check nonzero bits.
11227 (irange::equal_p): Same.
11228 (irange::contains_p): Handle nonzero bits.
11229 (irange::irange_union): Same.
11230 (irange::irange_intersect): Same.
11231 (irange::dump): Same.
11232 (irange::set_nonzero_bits): New.
11233 (irange::get_nonzero_bits): New.
11234 (irange::intersect_nonzero_bits): New.
11235 (irange::union_nonzero_bits): New.
11236 (irange::dump_bitmasks): New.
11237 * value-range.h (class irange): Add m_nonzero_mask.
11238 (gt_ggc_mx): Handle nonzero bits.
11239 (gt_pch_nx): Same.
11240 (irange::set_undefined): Set nonzero bits.
11241 (irange::set_varying): Same.
11242 (irange::normalize_kind): Call set_undefined.
11243
11244 2022-07-04 Richard Biener <rguenther@suse.de>
11245
11246 * tree-ssa-loop-manip.h
11247 (rewrite_virtuals_into_loop_closed_ssa): Remove.
11248 (rewrite_into_loop_closed_ssa_1): Likewise.
11249 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
11250 Make static.
11251 (rewrite_into_loop_closed_ssa): Remove loop overload,
11252 always rewrite virtuals into LC SSA.
11253 (check_loop_closed_ssa_bb): Also check virtuals.
11254 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
11255 LC PHIs when in LC SSA.
11256 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
11257 loop-closed SSA here, but ...
11258 (tree_loop_unroll_and_jam): ... here once.
11259 * tree-if-conv.cc (version_loop_for_if_conversion): Use
11260 the cheaper TODO_update_ssa_no_phi.
11261 * tree-loop-distribution.cc (version_loop_by_alias_check):
11262 Likewise.
11263 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
11264 Likewise.
11265 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
11266 (tree_unswitch_outer_loop): Do not rewrite virtuals into
11267 LC ssa.
11268 * tree-parloops.cc (transform_to_exit_first_loop_alt):
11269 Likewise.
11270 (pass_parallelize_loops::execute): After finishing rewrite
11271 into LC SSA again because we do not maintain it properly.
11272
11273 2022-07-04 Richard Biener <rguenther@suse.de>
11274
11275 PR tree-optimization/106055
11276 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
11277 we can propagate.
11278
11279 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
11280
11281 PR target/43618
11282 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
11283 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
11284 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
11285
11286 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
11287
11288 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
11289 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
11290 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
11291 with two arguments.
11292 (find_unswitching_predicates_for_bb): Same.
11293 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
11294 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
11295 * value-range.cc (irange::equal_p): Rename to...
11296 (irange::operator==): ...this.
11297 * value-range.h (irange::set): Remove.
11298 (irange::operator==): Remove.
11299 (irange::set_zero): Use set with two arguments.
11300 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
11301 (vr_values::extract_range_from_unary_expr): Same.
11302 (check_for_binary_op_overflow): Same.
11303 (bounds_of_var_in_loop): Same.
11304
11305 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
11306
11307 PR target/106022
11308 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
11309 New.
11310 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
11311 New.
11312 * config/i386/mmx.md (V_16_32_64): New.
11313 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
11314 and 64-bit constant vector.
11315 * config/i386/predicates.md (x86_64_const_vector_operand): New.
11316
11317 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
11318
11319 * gimple-range-cache.cc: Include value-range-storage.h.
11320 * gimple-range-cache.h (class block_range_cache): Add "class" to
11321 m_range_allocator.
11322 * gimple-range-edge.cc
11323 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
11324 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
11325 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
11326 * gimple-range-edge.h: Add "class" to m_range_allocator.
11327 * gimple-range-infer.cc
11328 (infer_range_manager::infer_range_manager): Allocate allocator.
11329 (infer_range_manager::~infer_range_manager): Free allocator.
11330 (infer_range_manager::get_nonzero): Dereference allocator.
11331 (infer_range_manager::add_range): Same.
11332 * gimple-range-infer.h (class vrange_allocator): Add "class" to
11333 m_range_allocator.
11334 * value-range-storage.h (class vrange_allocator): Move from
11335 value-range.h.
11336 (class obstack_vrange_allocator): Same.
11337 (class ggc_vrange_allocator): Same.
11338 (vrange_allocator::alloc_vrange): Same.
11339 (vrange_allocator::alloc_irange): Same.
11340 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
11341 (class obstack_vrange_allocator): Same.
11342 (class ggc_vrange_allocator): Same.
11343
11344 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
11345
11346 * Makefile.in (OBJS): Add value-range-storage.o.
11347 (GTFILES): Add value-range-storage.h.
11348 * gengtype.cc (open_base_files): Add value-range-storage.h.
11349 * value-range-storage.cc: New file.
11350 * value-range-storage.h: New file.
11351
11352 2022-07-03 Xi Ruoyao <xry111@xry111.site>
11353 Lulu Cheng <chenglulu@loongson.cn>
11354
11355 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
11356 New static function.
11357 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
11358 of TARGET_CHECK_ZERO_DIV.
11359 (loongarch_output_division): Likewise.
11360 * common/config/loongarch/loongarch-common.cc
11361 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
11362 * doc/invoke.texi: Update to match the new behavior.
11363
11364 2022-07-03 Ian Lance Taylor <iant@golang.org>
11365
11366 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
11367 statement if -fdelete-dead-exceptions.
11368
11369 2022-07-02 Tim Lange <mail@tim-lange.me>
11370
11371 PR analyzer/105900
11372 * doc/invoke.texi: Added Wanalyzer-allocation-size.
11373
11374 2022-07-02 Immad Mir <mirimmad17@gmail.com>
11375
11376 PR analyzer/106003
11377 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
11378 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
11379 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
11380 -Wanalyzer-fd-use-after-close.
11381
11382 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
11383
11384 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
11385 (trailing_wide_ints::set_precision): Add num_elements argument.
11386 (trailing_wide_ints::extra_size): Same.
11387
11388 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
11389
11390 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
11391 Use "r" constraint for operand 1.
11392
11393 2022-07-01 Richard Biener <rguenther@suse.de>
11394
11395 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
11396 Do not look at interesting_blocks which is a copy of
11397 blocks_to_update.
11398 (update_ssa): Do not initialize it.
11399 (pass_build_ssa::execute): Set interesting_blocks to NULL
11400 after releasing it.
11401
11402 2022-07-01 Richard Biener <rguenther@suse.de>
11403
11404 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
11405 back to using maybe_ne (off, -1).
11406
11407 2022-07-01 Richard Biener <rguenther@suse.de>
11408
11409 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
11410 checking dominance check conditional on flag_checking.
11411
11412 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
11413
11414 * config/gcn/gcn-protos.h (print_operand_address): Remove register
11415 keyword on 'rtx addr' argument.
11416
11417 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
11418 Uroš Bizjak <ubizjak@gmail.com>
11419
11420 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
11421 to post-reload define_insn_and_split.
11422
11423 2022-07-01 Jakub Jelinek <jakub@redhat.com>
11424
11425 PR middle-end/106144
11426 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
11427 emitting element for shift or if shift is 0 first element after start.
11428 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
11429 wi::shifted_mask with 0 start.
11430
11431 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
11432
11433 PR target/106122
11434 * config/i386/i386.md (peephole2): Avoid generating pop %esp
11435 when optimizing for size.
11436
11437 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
11438 Uroš Bizjak <ubizjak@gmail.com>
11439
11440 * config/i386/i386.md (general_szext_operand): Add TImode
11441 support using x86_64_hilo_general_operand predicate.
11442 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
11443 (*add<dwi>3_doubleword): Improved optimization of zero addition.
11444 (and<mode>3): Use SDWIM mode iterator to add support for double
11445 word bit-wise AND in TImode. Use force_reg when double word
11446 immediate operand isn't x86_64_hilo_general_operand.
11447 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
11448 converted into a post-reload splitter.
11449 (*andndi3_doubleword): Previous define_insn deleted.
11450 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
11451 TARGET_BMI that splits post-reload.
11452 (*andn<mode>3_doubleword): New define_insn_and_split for
11453 !TARGET_BMI, that lowers/splits before reload.
11454 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
11455 double word bit-wise XOR and bit-wise IOR in TImode. Use
11456 force_reg when double word immediate operand isn't
11457 x86_64_hilo_general_operand.
11458 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
11459 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
11460 double word bit-wise NOT in TImode.
11461 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
11462 and converted into a post-reload splitter.
11463
11464 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
11465
11466 PR middle-end/105874
11467 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
11468 EXPAND_MEMORY for the expansion of the inner reference only
11469 in the usual cases where a memory reference is required.
11470
11471 2022-07-01 Richard Biener <rguenther@suse.de>
11472
11473 PR tree-optimization/106131
11474 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
11475 zero when offsetting the read looking through an aggregate
11476 copy.
11477
11478 2022-07-01 Martin Liska <mliska@suse.cz>
11479
11480 PR tree-optimization/106126
11481 * gimple-if-to-switch.cc (struct condition_info): Save
11482 has_side_effect.
11483 (find_conditions): Parse all BBs.
11484 (pass_if_to_switch::execute): Allow only side effects for first
11485 BB.
11486
11487 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
11488
11489 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
11490 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
11491 OPTION_MASK_ISA2_AVX512BF16_UNSET and
11492 OPTION_MASK_ISA2_AVX512FP16_UNSET.
11493
11494 2022-06-30 Joseph Myers <joseph@codesourcery.com>
11495
11496 PR lto/106129
11497 * lto-wrapper.cc (find_option): Add argument start.
11498 (merge_and_complain): Loop over existing_opt_index and
11499 existing_opt2_index for Xassembler check. Update calls to
11500 find_option.
11501 (find_and_merge_options): Add argument first to determine whether
11502 to merge options with those passed in *opts.
11503 (run_gcc): Update calls to find_and_merge_options.
11504
11505 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
11506
11507 * gimple-range-cache.cc (block_range_cache::block_range_cache):
11508 Rename vrange_allocator to obstack_vrange_allocator.
11509 (ssa_global_cache::ssa_global_cache): Same.
11510 * gimple-range-edge.h (class gimple_outgoing_range): Same.
11511 * gimple-range-infer.h (class infer_range_manager): Same.
11512 * value-range.h (class vrange_allocator): Make abstract.
11513 (class obstack_vrange_allocator): Inherit from vrange_allocator.
11514 (class ggc_vrange_allocator): New.
11515
11516 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
11517 Uroš Bizjak <ubizjak@gmail.com>
11518
11519 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
11520 provide gen_swapsi.
11521 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
11522 via new gen_<insn>32di2_doubleword below.
11523 (<anyrotate>32di2_doubleword): New define_insn_and_split
11524 that splits after reload as either a pair of move instructions
11525 or an xchgl (using gen_swapsi).
11526
11527 2022-06-30 Richard Biener <rguenther@suse.de>
11528
11529 * domwalk.h (dom_walker::dom_walker): Update comment to
11530 reflect reality and new special argument value for
11531 bb_index_to_rpo.
11532 * domwalk.cc (dom_walker::dom_walker): Recognize -1
11533 bb_index_to_rpo.
11534 * tree-into-ssa.cc
11535 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
11536 dom_walker to not use RPO.
11537
11538 2022-06-30 Martin Liska <mliska@suse.cz>
11539
11540 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
11541 it is unused.
11542
11543 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
11544
11545 PR tree-optimization/106114
11546 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
11547 statement operands instead of GORI cache.
11548
11549 2022-06-30 Antoni Boucher <bouanto@zoho.com>
11550
11551 PR target/106095
11552 * config/i386/sse.md: Fix asm generation.
11553
11554 2022-06-29 Sergei Trofimovich <siarheit@google.com>
11555
11556 PR c++/106102
11557 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
11558
11559 2022-06-29 Joseph Myers <joseph@codesourcery.com>
11560
11561 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
11562 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
11563
11564 2022-06-29 Richard Biener <rguenther@suse.de>
11565
11566 PR rtl-optimization/106082
11567 * combine.cc (distribute_notes): Preserve notes when
11568 they indicate a call doesn't perform a non-local goto.
11569
11570 2022-06-29 Richard Biener <rguenther@suse.de>
11571
11572 PR tree-optimization/106112
11573 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
11574 a constant operand according to its type.
11575
11576 2022-06-29 Martin Liska <mliska@suse.cz>
11577
11578 * doc/invoke.texi: Remove removed evrp-mode.
11579
11580 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
11581
11582 PR target/106097
11583 * config/loongarch/loongarch.cc (loongarch_build_integer):
11584 Remove undefined behavior from code.
11585
11586 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
11587
11588 * doc/sourcebuild.texi: Document new no_alignment_constraints
11589 effective target check.
11590
11591 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
11592
11593 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
11594 * flag-types.h (enum evrp_mode): Remove.
11595 * params.opt: Remove --param=evrp-mode.
11596 * tree-vrp.cc (make_pass_early_vrp): New.
11597 (pass_vrp::execute): Call early VRP instance.
11598 * gimple-ssa-evrp-analyze.cc: Removed.
11599 * gimple-ssa-evrp-analyze.h: Removed.
11600 * gimple-ssa-evrp.cc: Removed.
11601
11602 2022-06-28 Alexandre Oliva <oliva@adacore.com>
11603
11604 * Makefile.in (TFLAGS): New.
11605 (GCC_FOR_TARGET): Add TFLAGS.
11606 (FLAGS_TO_PASS): Pass TFLAGS down.
11607
11608 2022-06-28 Richard Biener <rguenther@suse.de>
11609
11610 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
11611 call update_ssa.
11612
11613 2022-06-28 Richard Biener <rguenther@suse.de>
11614
11615 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
11616 mark_block_for_update.
11617 (update_ssa): Adjust.
11618
11619 2022-06-28 Xi Ruoyao <xry111@xry111.site>
11620
11621 PR target/106096
11622 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
11623 $r13 from SIBCALL_REGS.
11624 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
11625 Change $r13 to JIRL_REGS.
11626
11627 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
11628
11629 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
11630 irange::supports_p.
11631
11632 2022-06-28 Richard Biener <rguenther@suse.de>
11633
11634 PR middle-end/106053
11635 * match.pd ((T)a == (T)b): Avoid folding away sign
11636 changes in a comparison if we'd truncate to a boolean.
11637
11638 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
11639
11640 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
11641 iterator GPR with SImode, adjust the condition and output template,
11642 rename to ...
11643 (*rotlsi3_insert_4): ... this.
11644
11645 2022-06-27 David Malcolm <dmalcolm@redhat.com>
11646
11647 * genmatch.cc: Add "final" and "override" to various vfunc
11648 implementations, removing redundant "virtual" as appropriate.
11649 * gensupport.cc: Likewise.
11650 * gimple-range-cache.h: Likewise.
11651 * ipa-icf-gimple.h: Likewise.
11652 * ipa-icf.h: Likewise.
11653 * read-md.h: Likewise.
11654 * read-rtl-function.cc: Likewise.
11655 * tree-ssa-loop-ch.cc: Likewise.
11656 * tree-ssa-sccvn.cc: Likewise.
11657
11658 2022-06-27 David Malcolm <dmalcolm@redhat.com>
11659
11660 * config/i386/i386-features.h: Add "final" and "override" to
11661 scalar_chain vfunc implementations as appropriate.
11662
11663 2022-06-27 David Malcolm <dmalcolm@redhat.com>
11664
11665 * tree-switch-conversion.h: Add "final" and "override" to cluster
11666 vfunc implementations as appropriate.
11667
11668 2022-06-27 David Malcolm <dmalcolm@redhat.com>
11669
11670 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
11671 implementations as appropriate.
11672
11673 2022-06-27 David Malcolm <dmalcolm@redhat.com>
11674
11675 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
11676 implementations, removing redundant "virtual" as appropriate.
11677 * gimple-ssa-strength-reduction.cc: Likewise.
11678 * ipa-prop.cc: Likewise.
11679 * rtl-ssa/blocks.cc: Likewise.
11680 * tree-into-ssa.cc: Likewise.
11681 * tree-ssa-dom.cc: Likewise.
11682 * tree-ssa-math-opts.cc: Likewise.
11683 * tree-ssa-phiopt.cc: Likewise.
11684 * tree-ssa-propagate.cc: Likewise.
11685 * tree-ssa-sccvn.cc: Likewise.
11686 * tree-ssa-strlen.cc: Likewise.
11687 * tree-ssa-uncprop.cc: Likewise.
11688
11689 2022-06-27 David Malcolm <dmalcolm@redhat.com>
11690
11691 * adjust-alignment.cc: Add "final" and "override" to opt_pass
11692 vfunc implementations, removing redundant "virtual" as
11693 appropriate.
11694 * asan.cc: Likewise.
11695 * auto-inc-dec.cc: Likewise.
11696 * auto-profile.cc: Likewise.
11697 * bb-reorder.cc: Likewise.
11698 * cfgcleanup.cc: Likewise.
11699 * cfgexpand.cc: Likewise.
11700 * cfgrtl.cc: Likewise.
11701 * cgraphbuild.cc: Likewise.
11702 * combine-stack-adj.cc: Likewise.
11703 * combine.cc: Likewise.
11704 * compare-elim.cc: Likewise.
11705 * config/i386/i386-features.cc: Likewise.
11706 * coroutine-passes.cc: Likewise.
11707 * cprop.cc: Likewise.
11708 * cse.cc: Likewise.
11709 * dce.cc: Likewise.
11710 * df-core.cc: Likewise.
11711 * dse.cc: Likewise.
11712 * dwarf2cfi.cc: Likewise.
11713 * early-remat.cc: Likewise.
11714 * except.cc: Likewise.
11715 * final.cc: Likewise.
11716 * function.cc: Likewise.
11717 * fwprop.cc: Likewise.
11718 * gcse.cc: Likewise.
11719 * gimple-harden-conditionals.cc: Likewise.
11720 * gimple-if-to-switch.cc: Likewise.
11721 * gimple-isel.cc: Likewise.
11722 * gimple-laddress.cc: Likewise.
11723 * gimple-loop-interchange.cc: Likewise.
11724 * gimple-loop-jam.cc: Likewise.
11725 * gimple-loop-versioning.cc: Likewise.
11726 * gimple-low.cc: Likewise.
11727 * gimple-ssa-backprop.cc: Likewise.
11728 * gimple-ssa-evrp.cc: Likewise.
11729 * gimple-ssa-isolate-paths.cc: Likewise.
11730 * gimple-ssa-nonnull-compare.cc: Likewise.
11731 * gimple-ssa-split-paths.cc: Likewise.
11732 * gimple-ssa-store-merging.cc: Likewise.
11733 * gimple-ssa-strength-reduction.cc: Likewise.
11734 * gimple-ssa-warn-access.cc: Likewise.
11735 * gimple-ssa-warn-alloca.cc: Likewise.
11736 * gimple-ssa-warn-restrict.cc: Likewise.
11737 * gimple-warn-recursion.cc: Likewise.
11738 * graphite.cc: Likewise.
11739 * ifcvt.cc: Likewise.
11740 * init-regs.cc: Likewise.
11741 * ipa-comdats.cc: Likewise.
11742 * ipa-cp.cc: Likewise.
11743 * ipa-devirt.cc: Likewise.
11744 * ipa-fnsummary.cc: Likewise.
11745 * ipa-free-lang-data.cc: Likewise.
11746 * ipa-icf.cc: Likewise.
11747 * ipa-inline.cc: Likewise.
11748 * ipa-modref.cc: Likewise.
11749 * ipa-profile.cc: Likewise.
11750 * ipa-pure-const.cc: Likewise.
11751 * ipa-reference.cc: Likewise.
11752 * ipa-split.cc: Likewise.
11753 * ipa-sra.cc: Likewise.
11754 * ipa-visibility.cc: Likewise.
11755 * ipa.cc: Likewise.
11756 * ira.cc: Likewise.
11757 * jump.cc: Likewise.
11758 * loop-init.cc: Likewise.
11759 * lower-subreg.cc: Likewise.
11760 * mode-switching.cc: Likewise.
11761 * modulo-sched.cc: Likewise.
11762 * multiple_target.cc: Likewise.
11763 * omp-expand.cc: Likewise.
11764 * omp-low.cc: Likewise.
11765 * omp-oacc-kernels-decompose.cc: Likewise.
11766 * omp-oacc-neuter-broadcast.cc: Likewise.
11767 * omp-offload.cc: Likewise.
11768 * omp-simd-clone.cc: Likewise.
11769 * passes.cc: Likewise.
11770 * postreload-gcse.cc: Likewise.
11771 * postreload.cc: Likewise.
11772 * predict.cc: Likewise.
11773 * recog.cc: Likewise.
11774 * ree.cc: Likewise.
11775 * reg-stack.cc: Likewise.
11776 * regcprop.cc: Likewise.
11777 * reginfo.cc: Likewise.
11778 * regrename.cc: Likewise.
11779 * reorg.cc: Likewise.
11780 * sancov.cc: Likewise.
11781 * sanopt.cc: Likewise.
11782 * sched-rgn.cc: Likewise.
11783 * stack-ptr-mod.cc: Likewise.
11784 * store-motion.cc: Likewise.
11785 * tracer.cc: Likewise.
11786 * trans-mem.cc: Likewise.
11787 * tree-call-cdce.cc: Likewise.
11788 * tree-cfg.cc: Likewise.
11789 * tree-cfgcleanup.cc: Likewise.
11790 * tree-complex.cc: Likewise.
11791 * tree-eh.cc: Likewise.
11792 * tree-emutls.cc: Likewise.
11793 * tree-if-conv.cc: Likewise.
11794 * tree-into-ssa.cc: Likewise.
11795 * tree-loop-distribution.cc: Likewise.
11796 * tree-nrv.cc: Likewise.
11797 * tree-object-size.cc: Likewise.
11798 * tree-parloops.cc: Likewise.
11799 * tree-predcom.cc: Likewise.
11800 * tree-profile.cc: Likewise.
11801 * tree-sra.cc: Likewise.
11802 * tree-ssa-ccp.cc: Likewise.
11803 * tree-ssa-copy.cc: Likewise.
11804 * tree-ssa-dce.cc: Likewise.
11805 * tree-ssa-dom.cc: Likewise.
11806 * tree-ssa-dse.cc: Likewise.
11807 * tree-ssa-forwprop.cc: Likewise.
11808 * tree-ssa-ifcombine.cc: Likewise.
11809 * tree-ssa-loop-ch.cc: Likewise.
11810 * tree-ssa-loop-im.cc: Likewise.
11811 * tree-ssa-loop-ivcanon.cc: Likewise.
11812 * tree-ssa-loop-prefetch.cc: Likewise.
11813 * tree-ssa-loop-split.cc: Likewise.
11814 * tree-ssa-loop-unswitch.cc: Likewise.
11815 * tree-ssa-loop.cc: Likewise.
11816 * tree-ssa-math-opts.cc: Likewise.
11817 * tree-ssa-phiopt.cc: Likewise.
11818 * tree-ssa-phiprop.cc: Likewise.
11819 * tree-ssa-pre.cc: Likewise.
11820 * tree-ssa-reassoc.cc: Likewise.
11821 * tree-ssa-sccvn.cc: Likewise.
11822 * tree-ssa-sink.cc: Likewise.
11823 * tree-ssa-strlen.cc: Likewise.
11824 * tree-ssa-structalias.cc: Likewise.
11825 * tree-ssa-uncprop.cc: Likewise.
11826 * tree-ssa-uninit.cc: Likewise.
11827 * tree-ssanames.cc: Likewise.
11828 * tree-stdarg.cc: Likewise.
11829 * tree-switch-conversion.cc: Likewise.
11830 * tree-tailcall.cc: Likewise.
11831 * tree-vect-generic.cc: Likewise.
11832 * tree-vectorizer.cc: Likewise.
11833 * tree-vrp.cc: Likewise.
11834 * tsan.cc: Likewise.
11835 * ubsan.cc: Likewise.
11836 * var-tracking.cc: Likewise.
11837 * vtable-verify.cc: Likewise.
11838 * web.cc: Likewise.
11839
11840 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
11841
11842 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
11843 (jump): Likewise.
11844 (movdi_symbol_save_scc): Likewise.
11845
11846 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
11847
11848 PR rtl-optimization/7061
11849 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
11850
11851 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
11852
11853 PR tree-optimization/94026
11854 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
11855 (((X >> C1) & C2) eq/ne C3): Likewise.
11856
11857 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
11858
11859 * statistics.cc: Include tree.h.
11860 (get_function_name): New function.
11861 (statistics_fini_pass_2): Call get_function_name instead of
11862 current_function_name.
11863 (statistics_counter_event): Call get_function_name instead of
11864 function_name.
11865 (statistics_histogram_event): Likewise.
11866
11867 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11868
11869 * config/xtensa/xtensa.md:
11870 Suppress unnecessary emitting nop insn in the split patterns for
11871 integer/FP constant synthesis, and add new peephole2 pattern that
11872 folds such synthesized additions.
11873
11874 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
11875
11876 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
11877 instead of evrp.
11878 (dom_jt_state::push): Remove m_evrp.
11879 (dom_jt_state::pop): Same.
11880 (dom_jt_state::record_ranges_from_stmt): Remove.
11881 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
11882 (class dom_jt_simplifier): Pass ranger to constructor.
11883 Inherit from hybrid_jt_simplifier.
11884 (dom_jt_simplifier::simplify): Convert to ranger.
11885 (pass_dominator::execute): Same.
11886 (all_uses_feed_or_dominated_by_stmt): New.
11887 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
11888 (dom_opt_dom_walker::before_dom_children): Call
11889 set_global_ranges_from_unreachable_edges.
11890 Do not call record_ranges_from_stmt.
11891 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
11892 (cprop_operand): Use int_range<> instead of value_range.
11893 (dom_opt_dom_walker::fold_cond): New.
11894 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
11895 cprop_into_stmt.
11896 Use fold_cond() instead of vrp_visit_cond_stmt().
11897 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
11898 pass state to simplifier.
11899 * vr-values.h (class vr_values): Make fold_cond public.
11900
11901 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
11902
11903 * common/config/tilegx/tilegx-common.cc: Removed.
11904 * common/config/tilepro/tilepro-common.cc: Removed.
11905 * config.gcc: Remove tilegx and tilepro entries.
11906 * config/tilegx/constraints.md: Removed.
11907 * config/tilegx/feedback.h: Removed.
11908 * config/tilegx/linux.h: Removed.
11909 * config/tilegx/mul-tables.cc: Removed.
11910 * config/tilegx/predicates.md: Removed.
11911 * config/tilegx/sync.md: Removed.
11912 * config/tilegx/t-tilegx: Removed.
11913 * config/tilegx/tilegx-builtins.h: Removed.
11914 * config/tilegx/tilegx-c.cc: Removed.
11915 * config/tilegx/tilegx-generic.md: Removed.
11916 * config/tilegx/tilegx-modes.def: Removed.
11917 * config/tilegx/tilegx-multiply.h: Removed.
11918 * config/tilegx/tilegx-opts.h: Removed.
11919 * config/tilegx/tilegx-protos.h: Removed.
11920 * config/tilegx/tilegx.cc: Removed.
11921 * config/tilegx/tilegx.h: Removed.
11922 * config/tilegx/tilegx.md: Removed.
11923 * config/tilegx/tilegx.opt: Removed.
11924 * config/tilepro/constraints.md: Removed.
11925 * config/tilepro/feedback.h: Removed.
11926 * config/tilepro/gen-mul-tables.cc: Removed.
11927 * config/tilepro/linux.h: Removed.
11928 * config/tilepro/mul-tables.cc: Removed.
11929 * config/tilepro/predicates.md: Removed.
11930 * config/tilepro/t-tilepro: Removed.
11931 * config/tilepro/tilepro-builtins.h: Removed.
11932 * config/tilepro/tilepro-c.cc: Removed.
11933 * config/tilepro/tilepro-generic.md: Removed.
11934 * config/tilepro/tilepro-modes.def: Removed.
11935 * config/tilepro/tilepro-multiply.h: Removed.
11936 * config/tilepro/tilepro-protos.h: Removed.
11937 * config/tilepro/tilepro.cc: Removed.
11938 * config/tilepro/tilepro.h: Removed.
11939 * config/tilepro/tilepro.md: Removed.
11940 * config/tilepro/tilepro.opt: Removed.
11941 * configure.ac: Remove tilegx and tilepro entries.
11942 * configure: Rebuilt.
11943 * doc/extend.texi: Remove tilegx and tilepro entries.
11944 * doc/install.texi: Remove tilegx and tilepro entries.
11945 * doc/invoke.texi: Remove tilegx and tilepro entries.
11946 * doc/md.texi: Remove tilegx and tilepro entries.
11947
11948 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
11949 Richard Biener <rguenther@suse.de>
11950
11951 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
11952 iteration over each basic block that was updated by the second
11953 iteration.
11954
11955 2022-06-24 Jason Merrill <jason@redhat.com>
11956
11957 PR c++/87729
11958 PR c++/20423
11959 * doc/invoke.texi: Document changes.
11960
11961 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
11962
11963 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
11964 condition to avoid overflow.
11965
11966 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
11967
11968 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
11969 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
11970 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
11971 OPTION_MASK_PPC_GFXOPT.
11972 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
11973 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
11974 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
11975 * config/rs6000/rs6000-c.cc: Update comment.
11976 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
11977 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
11978 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
11979 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
11980 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
11981 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
11982 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
11983 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
11984 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
11985
11986 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
11987
11988 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
11989 OPTION_MASK_MFCRF.
11990 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
11991 OPTION_MASK_MULTIPLE.
11992 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
11993 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
11994 OPTION_MASK_MFCRF.
11995 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
11996 OPTION_MASK_EABI.
11997 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
11998 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
11999 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
12000 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
12001 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
12002 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
12003 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
12004 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
12005 Replace with
12006 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
12007 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
12008 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
12009 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
12010 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
12011 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
12012 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
12013 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
12014 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
12015 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
12016 with OPTION_MASK_MULTIPLE.
12017 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
12018 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
12019 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
12020 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
12021 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
12022 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
12023 with OPTION_MASK_EABI.
12024
12025 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
12026
12027 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
12028 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
12029 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
12030 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
12031 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
12032 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
12033 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
12034 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
12035 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
12036 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
12037 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
12038
12039 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
12040
12041 * config/rs6000/rs6000-c.cc: Update comments.
12042 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
12043 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
12044 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
12045 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
12046 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
12047 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
12048 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
12049 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
12050 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
12051 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
12052 OPTION_MASK_MMA, OPTION_MASK_POWER10.
12053 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
12054 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
12055 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
12056 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
12057 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
12058
12059 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
12060
12061 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
12062 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
12063 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
12064
12065 2022-06-24 Richard Biener <rguenther@suse.de>
12066
12067 PR middle-end/106070
12068 * match.pd (a != b ? a : b): Fix translation of
12069 operand_equal_for_comparison_p.
12070
12071 2022-06-24 Jan Hubicka <jh@suse.cz>
12072
12073 PR ipa/106057
12074 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
12075
12076 2022-06-24 Martin Liska <mliska@suse.cz>
12077
12078 PR middle-end/106059
12079 * profile-count.h: *= and /= operators need to modify this
12080 object.
12081
12082 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
12083 Uroš Bizjak <ubizjak@gmail.com>
12084
12085 PR target/105930
12086 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
12087 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
12088 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
12089
12090 2022-06-24 Alexandre Oliva <oliva@adacore.com>
12091
12092 * common.opt (nostdlib++): New.
12093 * doc/invoke.texi (-nostdlib++): Document it.
12094
12095 2022-06-24 Alexandre Oliva <oliva@adacore.com>
12096
12097 * doc/sourcebuild.texi (Environment attributes): Document
12098 two_plus_gigs.
12099
12100 2022-06-23 David Malcolm <dmalcolm@redhat.com>
12101
12102 * common.opt (fdiagnostics-show-rules): New option.
12103 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
12104 Fix up context->show_rules.
12105 * diagnostic-format-sarif.cc
12106 (diagnostic_output_format_init_sarif): Likewise.
12107 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
12108 (diagnostic_metadata::precanned_rule): New class.
12109 (diagnostic_metadata::add_rule): New.
12110 (diagnostic_metadata::get_num_rules): New.
12111 (diagnostic_metadata::get_rule): New.
12112 (diagnostic_metadata::m_rules): New field.
12113 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
12114 (print_any_rules): New.
12115 (diagnostic_report_diagnostic): Call it.
12116 * diagnostic.h (diagnostic_context::show_rules): New field.
12117 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
12118 * opts.cc (common_handle_option): Handle
12119 OPT_fdiagnostics_show_rules.
12120 * toplev.cc (general_init): Set up global_dc->show_rules.
12121
12122 2022-06-23 Martin Liska <mliska@suse.cz>
12123
12124 PR c++/106062
12125 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
12126 in order to initialize UBSAN built-ins.
12127
12128 2022-06-23 Martin Liska <mliska@suse.cz>
12129
12130 PR ipa/105600
12131 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
12132 Skip variables with body_removed.
12133
12134 2022-06-23 liuhongt <hongtao.liu@intel.com>
12135
12136 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
12137 reg_or_subregno.
12138 (sse4_2_pcmpistr): Ditto.
12139
12140 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
12141
12142 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
12143 typo.
12144 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
12145 * tree-switch-conversion.h: Likewise.
12146
12147 2022-06-22 Jason Merrill <jason@redhat.com>
12148
12149 PR c++/104642
12150 * common.opt: Add -funreachable-traps.
12151 * doc/invoke.texi (-funreachable-traps): Document it.
12152 * opts.cc (finish_options): Enable at -O0 or -Og.
12153 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
12154 (builtin_decl_unreachable, build_builtin_unreachable): New.
12155 * tree.h: Declare them.
12156 * ubsan.cc (sanitize_unreachable_fn): Factor out.
12157 (ubsan_instrument_unreachable): Use
12158 gimple_build_builtin_unreachable.
12159 * ubsan.h (sanitize_unreachable_fn): Declare.
12160 * gimple.cc (gimple_build_builtin_unreachable): New.
12161 * gimple.h: Declare it.
12162 * builtins.cc (expand_builtin_unreachable): Add assert.
12163 (fold_builtin_0): Call build_builtin_unreachable.
12164 * sanopt.cc: Don't run for just SANITIZE_RETURN
12165 or SANITIZE_UNREACHABLE when trapping.
12166 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
12167 unreachable functions.
12168 * gimple-fold.cc (gimple_fold_call)
12169 (gimple_get_virt_method_for_vtable)
12170 * ipa-fnsummary.cc (redirect_to_unreachable)
12171 * ipa-prop.cc (ipa_make_edge_direct_to_target)
12172 (ipa_impossible_devirt_target)
12173 * ipa.cc (walk_polymorphic_call_targets)
12174 * tree-cfg.cc (pass_warn_function_return::execute)
12175 (execute_fixup_cfg)
12176 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
12177 (unloop_loops)
12178 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
12179 Likewise.
12180
12181 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
12182
12183 PR tree-optimization/106019
12184 * tree-data-ref.cc (dr_may_alias_p): Try using the
12185 innermost_loop_behavior to disambiguate non-loop queries.
12186
12187 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
12188
12189 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
12190
12191 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12192
12193 * config/xtensa/xtensa.md (bswapsi2_internal):
12194 Enlarge the buffer that is obviously smaller than the template
12195 string given to sprintf().
12196
12197 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
12198 Marek Polacek <polacek@redhat.com>
12199 Segher Boessenkool <segher@kernel.crashing.org>
12200 Kewen Lin <linkw@linux.ibm.com>
12201
12202 PR target/105991
12203 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
12204 exact_log2 doesn't return -1 (or zero).
12205 (plus_xor): New code iterator.
12206 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
12207
12208 2022-06-21 Nathan Sidwell <nathan@acm.org>
12209
12210 * doc/invoke.texi (C++ Modules): Remove language-linkage
12211 as missing feature.
12212
12213 2022-06-21 Arjun Shankar <arjun@redhat.com>
12214
12215 PR tree-optimization/94899
12216 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
12217 0x80000000): New simplification.
12218
12219 2022-06-21 Jakub Jelinek <jakub@redhat.com>
12220
12221 PR rtl-optimization/106032
12222 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
12223 t may_trap_or_fault_p, even if it is cheap.
12224
12225 2022-06-21 Jakub Jelinek <jakub@redhat.com>
12226
12227 PR middle-end/106030
12228 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
12229 temp to expand_operands if mode has been promoted.
12230
12231 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
12232
12233 PR target/105740
12234 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
12235 condition bb.
12236
12237 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
12238
12239 PR tree-optimization/105736
12240 * tree-object-size.cc (addr_object_size): Return size_unknown
12241 when object offset computation returns an error.
12242
12243 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
12244
12245 PR target/105960
12246 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
12247 false if PIC register is used when calling ifunc functions.
12248
12249 2022-06-20 Richard Biener <rguenther@suse.de>
12250
12251 PR middle-end/106027
12252 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
12253 type of the prevailing comparison for the new comparison type.
12254 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
12255 to A < X && A >= Y folding.
12256
12257 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
12258
12259 PR tree-optimization/105940
12260 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
12261 slp_done_for_suggested_uf and adjust with it accordingly.
12262 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
12263 pass it down to vect_analyze_loop_2 for the initial analysis and
12264 applying suggested unroll factor.
12265 (vect_is_simple_reduction): Add parameter slp and adjust with it.
12266 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
12267 (vect_analyze_scalar_cycles): Likewise.
12268
12269 2022-06-20 Martin Liska <mliska@suse.cz>
12270
12271 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
12272 use them.
12273 (better_edge_p): Likewise.
12274 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
12275 * cfgloopmanip.cc (scale_loop_profile): Likewise.
12276 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
12277 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
12278 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
12279 * dojump.cc (do_compare_rtx_and_jump): Likewise.
12280 * final.cc (compute_alignments): Likewise.
12281 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
12282 (decide_about_value): Likewise.
12283 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
12284 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
12285 * modulo-sched.cc (sms_schedule): Likewise.
12286 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
12287 (expand_omp_ordered_sink): Likewise.
12288 (expand_omp_for_ordered_loops): Likewise.
12289 (expand_omp_for_static_nochunk): Likewise.
12290 * predict.cc (maybe_hot_count_p): Likewise.
12291 (probably_never_executed): Likewise.
12292 (set_even_probabilities): Likewise.
12293 (handle_missing_profiles): Likewise.
12294 (expensive_function_p): Likewise.
12295 * profile-count.h: Likewise.
12296 * profile.cc (compute_branch_probabilities): Likewise.
12297 * stmt.cc (emit_case_dispatch_table): Likewise.
12298 * symtab-thunks.cc (expand_thunk): Likewise.
12299 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
12300 * tree-ssa-sink.cc (select_best_block): Likewise.
12301 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
12302 (switch_decision_tree::balance_case_nodes): Likewise.
12303 (switch_decision_tree::emit_case_nodes): Likewise.
12304 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
12305
12306 2022-06-20 yulong <shiyulong@iscas.ac.cn>
12307
12308 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
12309 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
12310 of RISCV_BUILTIN.
12311 * config/riscv/riscv-ftypes.def (0): Remove unused.
12312 (1): New.
12313
12314 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12315
12316 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
12317 Consider relaxed MOVI instructions as L32R.
12318
12319 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12320
12321 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
12322 Use can_create_pseudo_p(), instead of using individual
12323 reload_in_progress and reload_completed.
12324 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
12325 the existing predicate function.
12326 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
12327 Use the standard RTX code predicate macros such as MEM_P,
12328 SYMBOL_REF_P and/or CONST_INT_P.
12329 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
12330 if callee-saved register, at the split patterns for indirect sibcall
12331 fixups.
12332
12333 2022-06-18 Jakub Jelinek <jakub@redhat.com>
12334
12335 * common.opt (flag_sanitize_trap): New variable.
12336 (fsanitize-trap=, fsanitize-trap): New options.
12337 (fsanitize-undefined-trap-on-error): Change into deprecated alias
12338 for -fsanitize-trap=all.
12339 * opts.h (struct sanitizer_opts_s): Add can_trap member.
12340 * opts.cc (finish_options): Complain about unsupported
12341 -fsanitize-trap= options.
12342 (sanitizer_opts): Add can_trap values to all entries.
12343 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
12344 options which have can_trap false.
12345 (parse_sanitizer_options): Add support for -fsanitize-trap=.
12346 For -fsanitize-trap=all, enable
12347 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
12348 -fsanitize-trap=vptr here.
12349 (common_handle_option): Handle OPT_fsanitize_trap_ and
12350 OPT_fsanitize_trap.
12351 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
12352 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
12353 flag_sanitize_undefined_trap_on_error.
12354 * gcc.cc (sanitize_spec_function): Use
12355 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
12356 and drop use of flag_sanitize_undefined_trap_on_error in
12357 "undefined" handling.
12358 * ubsan.cc (ubsan_instrument_unreachable): Use
12359 flag_sanitize_trap & SANITIZE_??? instead of
12360 flag_sanitize_undefined_trap_on_error.
12361 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
12362 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
12363 ubsan_build_overflow_builtin, instrument_bool_enum_load,
12364 ubsan_instrument_float_cast, instrument_nonnull_arg,
12365 instrument_nonnull_return, instrument_builtin): Likewise.
12366 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
12367 (-fsanitize-undefined-trap-on-error): Document as deprecated
12368 alias of -fsanitize-trap.
12369
12370 2022-06-18 Jakub Jelinek <jakub@redhat.com>
12371
12372 PR middle-end/105998
12373 * varasm.cc (narrowing_initializer_constant_valid_p): Check
12374 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
12375 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
12376
12377 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
12378
12379 PR tree-optimization/105835
12380 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
12381 Narrow integer multiplication by a zero_one_valued_p operand.
12382 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
12383 conversions inside COND_EXPR where both data operands are
12384 integer constants.
12385
12386 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12387
12388 * config/xtensa/constraints.md (Y):
12389 Change to include integer constants until reload begins.
12390 * config/xtensa/predicates.md (move_operand): Ditto.
12391 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
12392 Change to allow storing integer constants into litpool only after
12393 reload begins.
12394
12395 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
12396
12397 PR target/105209
12398 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
12399 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
12400 (alpha_store_data_bypass_p_1): Ditto.
12401 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
12402 of generic store_data_bypass_p.
12403 (ev4_ist_c): Remove insn reservation.
12404
12405 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
12406
12407 PR target/105970
12408 * config/i386/i386.cc (ix86_function_arg): Assert that
12409 the mode of pointer argumet is equal to ptr_mode, not Pmode.
12410
12411 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
12412
12413 PR target/105993
12414 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
12415 instead of REGNO comparisons in combine splitter.
12416
12417 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
12418
12419 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
12420 types.
12421
12422 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
12423
12424 * config/riscv/bitmanip.md: Supress warning.
12425
12426 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
12427
12428 PR target/106004
12429 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
12430 Clear bits in the mask above bit 31.
12431
12432 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
12433
12434 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
12435 to avoid spilling trivial literals to the constant pool.
12436
12437 2022-06-16 David Malcolm <dmalcolm@redhat.com>
12438
12439 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
12440 auto_diagnostic_group to group any warning with its note.
12441 (maybe_warn_for_bound): Likewise.
12442 (check_access): Likewise.
12443 (warn_dealloc_offset): Likewise.
12444 (pass_waccess::maybe_warn_memmodel): Likewise.
12445 (pass_waccess::maybe_check_dealloc_call): Likewise.
12446 (pass_waccess::warn_invalid_pointer): Likewise.
12447 (pass_waccess::check_dangling_stores): Likewise.
12448
12449 2022-06-16 Jason Merrill <jason@redhat.com>
12450
12451 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
12452 opts_set->x_flag_sanitize.
12453
12454 2022-06-16 Jason Merrill <jason@redhat.com>
12455
12456 * flags.h (issue_strict_overflow_warning): Comment #endif.
12457
12458 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
12459
12460 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
12461 was invaraint before, clear the invariant bit.
12462 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
12463 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
12464
12465 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
12466
12467 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
12468
12469 2022-06-16 Jakub Jelinek <jakub@redhat.com>
12470
12471 PR tree-optimization/105983
12472 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
12473 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
12474 on non-equality comparisons.
12475
12476 2022-06-16 Jakub Jelinek <jakub@redhat.com>
12477
12478 PR tree-optimization/105984
12479 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
12480 x > stype_max / cst || x < stype_min / cst): fold_convert @1
12481 to TREE_TYPE (@0) just once and test for negative divisor
12482 also on that folded constant instead of on @1.
12483
12484 2022-06-16 Jakub Jelinek <jakub@redhat.com>
12485
12486 PR middle-end/105951
12487 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
12488 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
12489 as last argument to the internal functions.
12490 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
12491 extra call argument to ifns. If expand_atomic_fetch_op fails for the
12492 lhs == NULL_TREE case, fall through into the optab code with
12493 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
12494 fails, construct a CALL_EXPR and expand that.
12495 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
12496 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
12497 expand that.
12498
12499 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
12500
12501 PR target/103316
12502 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
12503 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
12504 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
12505 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
12506 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
12507 for new Power10 V1TI instructions.
12508 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
12509 (vec_cmpu<mode><mode>): Likewise.
12510 (vector_nlt<mode>): Set mode iterator to VEC_IC.
12511 (vector_nltv1ti): Remove.
12512 (vector_gtu<mode>): Set mode iterator to VEC_IC.
12513 (vector_gtuv1ti): Remove.
12514 (vector_nltu<mode>): Set mode iterator to VEC_IC.
12515 (vector_nltuv1ti): Remove.
12516 (vector_geu<mode>): Set mode iterator to VEC_IC.
12517 (vector_ngt<mode>): Likewise.
12518 (vector_ngtv1ti): Remove.
12519 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
12520 (vector_ngtuv1ti): Remove.
12521 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
12522 (vector_gtu_v1ti_p): Remove.
12523 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
12524 (vrotlv1ti3): Remove.
12525 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
12526 (vashrv1ti3): Remove.
12527
12528 2022-06-16 Martin Liska <mliska@suse.cz>
12529
12530 * gengtype-state.cc (read_a_state_token): Do not skip extra
12531 character after escaped sequence.
12532
12533 2022-06-16 Martin Liska <mliska@suse.cz>
12534
12535 PR driver/105564
12536 * spellcheck.cc (test_find_closest_string): Add new test.
12537 * spellcheck.h (class best_match): Prefer a difference in
12538 trailing sign symbol.
12539
12540 2022-06-16 liuhongt <hongtao.liu@intel.com>
12541
12542 PR tree-optimization/53533
12543 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
12544 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
12545 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
12546
12547 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12548
12549 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
12550
12551 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12552
12553 * config/xtensa/predicates.md (reload_operand):
12554 New predicate.
12555 * config/xtensa/xtensa.md: New peephole2 pattern.
12556
12557 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12558
12559 * config/xtensa/xtensa.md (*round_up_to_even):
12560 New insn-and-split pattern.
12561 (*signed_ge_zero): Ditto.
12562
12563 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12564
12565 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
12566 xtensa_emit_sibcall): New prototypes.
12567 (xtensa_expand_epilogue): Add new argument that specifies whether
12568 or not sibling call.
12569 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
12570 New macro definition.
12571 (xtensa_prepare_expand_call): New function in order to share
12572 the common code.
12573 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
12574 New functions.
12575 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
12576 for sibling call handling.
12577 * config/xtensa/xtensa.md (call, call_value):
12578 Use xtensa_prepare_expand_call.
12579 (call_internal, call_value_internal):
12580 Add the condition in order to be disabled if sibling call.
12581 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
12582 (sibcall_internal, sibcall_value_internal): New insn patterns,
12583 and split ones in order to take care of the indirect sibcalls.
12584
12585 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12586
12587 * doc/invoke.texi: Document -mextra-l32r-costs= option.
12588
12589 2022-06-15 David Malcolm <dmalcolm@redhat.com>
12590
12591 PR analyzer/105962
12592 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
12593 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
12594 Extend -fdiagnostics-path-format=separate-events so that with
12595 -fdiagnostics-show-path-depths it prints fndecls as well as stack
12596 depths.
12597
12598 2022-06-15 David Malcolm <dmalcolm@redhat.com>
12599
12600 * value-relation.h: Add "final" and "override" to relation_oracle
12601 vfunc implementations as appropriate.
12602
12603 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
12604
12605 PR middle-end/105975
12606 Revert everything apart from the expand_fn_using_insn and
12607 expand_direct_optab_fn changes from:
12608 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
12609 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
12610 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
12611 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
12612 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
12613 member variable.
12614 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
12615 (direct_internal_fn_p): Also return true for internal functions
12616 that map directly to instructions defined target-insns.def.
12617 (direct_internal_fn): Adjust comment accordingly.
12618 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
12619 (vectorizable_optab2): New local macros.
12620 (not_direct): Initialize directly_mapped.
12621 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
12622 (gather_load_direct, len_load_direct, mask_store_direct)
12623 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
12624 (vec_cond_direct, scatter_store_direct, len_store_direct)
12625 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
12626 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
12627 (while_direct, fold_extract_direct, fold_left_direct)
12628 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
12629 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
12630 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
12631 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
12632 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
12633 (direct_internal_fn_types): Handle functions that map to instructions
12634 defined in target-insns.def.
12635 (direct_internal_fn_types): Likewise.
12636 (direct_internal_fn_supported_p): Likewise.
12637 (internal_fn_expanders): Likewise.
12638 (expand_fn_using_insn): New function,
12639 split out and adapted from...
12640 (expand_direct_optab_fn): ...here.
12641 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
12642 (expand_GOMP_SIMT_EXIT): Likewise.
12643 (expand_GOMP_SIMT_LANE): Likewise.
12644 (expand_GOMP_SIMT_LAST_LANE): Likewise.
12645 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
12646 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
12647 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
12648 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
12649
12650 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
12651
12652 PR target/105981
12653 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
12654 to first_reg and second_reg respectively. Initialize them correctly
12655 when generating big-endian code.
12656
12657 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
12658
12659 PR target/105974
12660 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
12661
12662 2022-06-15 Richard Biener <rguenther@suse.de>
12663
12664 PR tree-optimization/105971
12665 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
12666 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
12667 to leak less surprising alias results.
12668
12669 2022-06-15 Richard Biener <rguenther@suse.de>
12670
12671 PR tree-optimization/105969
12672 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
12673 by zero in overflow check.
12674
12675 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
12676
12677 PR tree-optimization/105254
12678 PR tree-optimization/105940
12679 Revert:
12680 * config/aarch64/aarch64.cc
12681 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
12682 loop_vec_info as argument. Restrict the unroll factor to values
12683 that divide the VF.
12684 (aarch64_vector_costs::finish_cost): Update call accordingly.
12685
12686 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
12687
12688 * read-rtl.cc (find_int): Substitute symbolic constants
12689 before converting the string to an integer.
12690
12691 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
12692 Richard Biener <rguenther@suse.de>
12693
12694 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
12695 left shifts by a constant when the result is truncated, and the
12696 shift constant is well-defined.
12697 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
12698 support for rotations of signed integer types, by lowering
12699 using unsigned vector shifts.
12700
12701 2022-06-15 liuhongt <hongtao.liu@intel.com>
12702
12703 PR target/105953
12704 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
12705 operands[3].
12706
12707 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
12708
12709 PR rtl-optimization/105041
12710 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
12711
12712 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
12713
12714 * config/rs6000/vsx.md (VS_scalar): Delete.
12715 (rest of file): Adjust.
12716
12717 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
12718
12719 PR ipa/105739
12720 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
12721
12722 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
12723
12724 * config/riscv/bitmanip.md: Add split to handle opportunities
12725 for slli + sh[123]add.uw
12726
12727 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
12728
12729 * config/riscv/predicates.md (consecutive_bits_operand):
12730 Implement new predicate.
12731
12732 2022-06-14 Richard Biener <rguenther@suse.de>
12733
12734 PR tree-optimization/105946
12735 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
12736 Do not look at arguments not specified in the function call.
12737
12738 2022-06-14 Richard Biener <rguenther@suse.de>
12739
12740 PR middle-end/105965
12741 * match.pd (view_convert CONSTRUCTOR): Handle single-element
12742 CTOR case.
12743
12744 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
12745
12746 * warning-control.cc (copy_warning) [generic version]: Do not erase
12747 the warning data of the destination location when the no-warning
12748 bit is not set on the source.
12749 (copy_warning) [tree version]: Return early if TO is equal to FROM.
12750 (copy_warning) [gimple version]: Likewise.
12751
12752 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
12753
12754 PR tree-optimization/105940
12755 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
12756 applying suggested_unroll_factor after start_over.
12757
12758 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12759
12760 * config/xtensa/predicates.md (shifted_mask_operand):
12761 New predicate.
12762 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
12763 New insn-and-split pattern.
12764 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
12765 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
12766 *masktrue_const_shifted_mask): Ditto.
12767
12768 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12769
12770 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
12771
12772 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12773
12774 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
12775 Remove the first argument.
12776 (xtensa_emit_bit_branch): Remove it because now called only from the
12777 output statement of *bittrue insn pattern.
12778 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
12779 argument 'p_invert', and make so that the condition is reversed by
12780 itself as needed.
12781 (xtensa_expand_conditional_branch): Share the common path, and remove
12782 condition inversion code.
12783 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
12784 "false side" pattern.
12785 (xtensa_emit_bit_branch): Remove it because of the abovementioned
12786 reason, and move the function body to *bittrue insn pattern.
12787 * config/xtensa/xtensa.md (*bittrue): Transplant the output
12788 statement from removed xtensa_emit_bit_branch().
12789 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
12790 insn patterns.
12791
12792 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12793
12794 * config/xtensa/predicates.md (logical_shift_operator,
12795 xtensa_shift_per_byte_operator): New predicates.
12796 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
12797 New prototype.
12798 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
12799 New helper function for funnel shift patterns.
12800 * config/xtensa/xtensa.md (ior_op): New code iterator.
12801 (*ashlsi3_1): Replace with new split pattern.
12802 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
12803 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
12804 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
12805 in order to omit unnecessary bitwise AND operation.
12806 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
12807 *shlrd_per_byte_<code>_omit_AND):
12808 New insn patterns for funnel shifts.
12809
12810 2022-06-13 Jason Merrill <jason@redhat.com>
12811
12812 * tree-cfg.cc (pass_warn_function_return::execute): Also check
12813 BUILT_IN_TRAP.
12814
12815 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
12816
12817 * config/riscv/riscv.md (length): Remove the explicit setting
12818 for "fcmp".
12819
12820 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
12821
12822 * common/config/i386/cpuinfo.h (get_available_features): Require
12823 AVX for F16C and VAES.
12824
12825 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
12826
12827 PR target/105927
12828 * config/i386/predicates.md (register_no_elim_operand):
12829 Return true for subreg of a memory operand.
12830
12831 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
12832
12833 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
12834 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
12835 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
12836 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
12837 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
12838 member variable.
12839 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
12840 (direct_internal_fn_p): Also return true for internal functions
12841 that map directly to instructions defined target-insns.def.
12842 (direct_internal_fn): Adjust comment accordingly.
12843 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
12844 (vectorizable_optab2): New local macros.
12845 (not_direct): Initialize directly_mapped.
12846 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
12847 (gather_load_direct, len_load_direct, mask_store_direct)
12848 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
12849 (vec_cond_direct, scatter_store_direct, len_store_direct)
12850 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
12851 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
12852 (while_direct, fold_extract_direct, fold_left_direct)
12853 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
12854 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
12855 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
12856 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
12857 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
12858 (direct_internal_fn_types): Handle functions that map to instructions
12859 defined in target-insns.def.
12860 (direct_internal_fn_types): Likewise.
12861 (direct_internal_fn_supported_p): Likewise.
12862 (internal_fn_expanders): Likewise.
12863
12864 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
12865
12866 * internal-fn.cc (expand_fn_using_insn): New function,
12867 split out and adapted from...
12868 (expand_direct_optab_fn): ...here.
12869 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
12870 (expand_GOMP_SIMT_EXIT): Likewise.
12871 (expand_GOMP_SIMT_LANE): Likewise.
12872 (expand_GOMP_SIMT_LAST_LANE): Likewise.
12873 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
12874 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
12875 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
12876 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
12877
12878 2022-06-13 Jakub Jelinek <jakub@redhat.com>
12879
12880 * omp-expand.cc (expand_omp_target): Remap user provided
12881 device clause arguments, -1 to -2 and -2 to -3, either
12882 at compile time if constant, or at runtime.
12883
12884 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
12885
12886 * common.opt (finstrument-functions): Set explicit value.
12887 (-finstrument-functions-once): New option.
12888 * doc/invoke.texi (Program Instrumentation Options): Document it.
12889 * gimplify.cc (build_instrumentation_call): New static function.
12890 (gimplify_function_tree): Call it to emit the instrumentation calls
12891 if -finstrument-functions[-once] is specified.
12892
12893 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
12894
12895 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
12896 * gimple.h (gimple_set_location): Do not copy warning data from
12897 the previous location when it is UNKNOWN_LOCATION.
12898 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
12899
12900 2022-06-13 Jakub Jelinek <jakub@redhat.com>
12901
12902 PR target/105911
12903 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
12904 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
12905 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
12906 operands[3] unmodified.
12907
12908 2022-06-12 Simon Wright <simon@pushface.org>
12909
12910 PR target/104871
12911 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
12912 version is darwin20 (macOS 11) or greater, truncate the version to the
12913 major number.
12914
12915 2022-06-12 Mark Mentovai <mark@mentovai.com>
12916
12917 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
12918
12919 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12920
12921 PR target/96463
12922 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
12923 (svld1rq_impl::fold): Define.
12924 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
12925 op_mode and op_vec_flags.
12926 (aarch64_evpc_reencode): Initialize newd.op_mode and
12927 newd.op_vec_flags.
12928 (aarch64_evpc_sve_dup): New function.
12929 (aarch64_expand_vec_perm_const_1): Gate existing calls to
12930 aarch64_evpc_* functions under d->vmode == d->op_mode,
12931 and call aarch64_evpc_sve_dup.
12932 (aarch64_vectorize_vec_perm_const): Remove assert
12933 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
12934 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
12935 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
12936 constant.
12937
12938 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12939
12940 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
12941 New prototype.
12942 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
12943 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
12944 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
12945 New backend functions that process the abovementioned logic.
12946 (xtensa_emit_move_sequence): Revert the previous changes.
12947 * config/xtensa/xtensa.md: New split patterns for integer
12948 and floating-point, as the frontend part.
12949
12950 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12951
12952 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
12953 for ABS and NEG, add missing case for BSWAP and CLRSB, and
12954 double the costs for integer divisions using libfuncs if
12955 optimizing for speed, in order to take advantage of fast constant
12956 division by multiplication.
12957 (TARGET_INSN_COST): New macro definition.
12958 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
12959 calculating relative costs of a RTL insns, for both of speed and
12960 size.
12961 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
12962 the attribute "length" that depends on TARGET_DENSITY.
12963 (define_asm_attributes, blockage, frame_blockage): Add missing
12964 attributes.
12965 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
12966 dependent option, however, preparatory work for now.
12967
12968 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12969
12970 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
12971 Pass through the block length / loop count conditions if
12972 zero-overhead looping is configured and active,
12973
12974 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12975
12976 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
12977 Split into individual signedness, in order to use libcall
12978 "__umulsidi3" but not the other.
12979 (<u>mulhisi3): Merge into one by using code iterator.
12980 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
12981
12982 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
12983
12984 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
12985 not generate block copies with vector pair instructions if we are
12986 tuning for power10.
12987
12988 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
12989
12990 PR rtl-optimization/7061
12991 * expr.cc (emit_group_store): For groups that consist of a single
12992 scalar integer register that hold a complex mode value, use
12993 gen_lowpart to generate a SUBREG to "view_convert" to the complex
12994 mode. For modes of different sizes, first convert to an integer
12995 mode of the appropriate size.
12996
12997 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12998
12999 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
13000
13001 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13002
13003 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
13004 New insn_and_split pattern.
13005
13006 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13007
13008 * config/xtensa/xtensa.md (one_cmplsi2):
13009 Rearrange as an insn_and_split pattern.
13010
13011 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13012
13013 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
13014
13015 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
13016
13017 * config/rs6000/rs6000.md (FP_ISA3): Delete.
13018 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
13019 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
13020 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
13021 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
13022 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
13023 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
13024 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
13025 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
13026
13027 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
13028
13029 * config/riscv/riscv.md
13030 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
13031 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
13032 rather than space with FSFLAGS.
13033
13034 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
13035
13036 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
13037 omp_discover_declare_target_fn_r): Don't walk reverse-offload
13038 target regions.
13039
13040 2022-06-09 Jakub Jelinek <jakub@redhat.com>
13041
13042 * doc/invoke.texi (-Waddress): Fix a typo in small example.
13043 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
13044
13045 2022-06-09 Cui,Lili <lili.cui@intel.com>
13046
13047 PR target/105493
13048 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
13049 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
13050 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
13051 (icelake_cost): Ditto.
13052 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
13053 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
13054 {8, 8, 8, 10, 15}.
13055
13056 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
13057
13058 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
13059 and ior insns to one rotate and mask insn.
13060 (define_split for bswapdi register): Likewise.
13061
13062 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
13063
13064 PR middle-end/105874
13065 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
13066 variable tem_modifier for calculating the expand_modifier enum to
13067 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
13068
13069 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
13070
13071 PR target/105879
13072 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
13073 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
13074 'gen_highpart' bitwise semantics and fix order of highpart and
13075 lowpart depending on target endianness.
13076
13077 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
13078
13079 * config/arm/arm-cpus.in (star-mc1): New cpu.
13080 * config/arm/arm-tables.opt: Regenerate.
13081 * config/arm/arm-tune.md: Regenerate.
13082 * doc/invoke.texi: Update docs.
13083
13084 2022-06-08 liuhongt <hongtao.liu@intel.com>
13085
13086 PR target/105513
13087 PR target/105504
13088 * config/i386/i386.md (*movsi_internal): Change alternative
13089 from *v to ?v.
13090 (*movdi_internal): Ditto.
13091 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
13092 to ?r.
13093 (*vec_extractv4sf_mem): Ditto.
13094 (*vec_extracthf): Ditto.
13095
13096 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
13097
13098 PR target/105090
13099 * config/arm/arm.cc (arm_bfi_1_p): New function.
13100 (arm_bfi_p): New function.
13101 (arm_rtx_costs_internal): Add costs for BFI idioms.
13102 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
13103 * config/arm/constraints.md (Dj): New constraint.
13104 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
13105 (insv_zero): Convert to an insn with a split.
13106 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
13107
13108 2022-06-07 liuhongt <hongtao.liu@intel.com>
13109
13110 PR target/105854
13111 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
13112 from Yv to Yw.
13113
13114 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
13115
13116 PR middle-end/105853
13117 PR target/105856
13118 * calls.cc (load_register_parameters): Call store_constructor
13119 and int_expr_size directly instead of expanding via expand_expr.
13120 * expr.cc (static void store_constructor): Don't prototype here.
13121 (static HOST_WIDE_INT int_expr_size): Likewise.
13122 (store_constructor): No longer static.
13123 (int_expr_size): Likewise, no longer static.
13124 * expr.h (store_constructor): Prototype here.
13125 (int_expr_size): Prototype here.
13126
13127 2022-06-07 Jan Beulich <jbeulich@suse.com>
13128
13129 Revert:
13130 2022-06-03 Jan Beulich <jbeulich@suse.com>
13131
13132 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
13133 * configure.ac: Check for objcopy, producing
13134 ORIGINAL_OBJCOPY_FOR_TARGET.
13135 * configure: Update accordingly.
13136 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
13137 Handle objcopy.
13138
13139 2022-06-07 Jakub Jelinek <jakub@redhat.com>
13140
13141 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
13142 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
13143 Adjust clause printing style depending on
13144 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
13145
13146 2022-06-07 Jan Beulich <jbeulich@suse.com>
13147
13148 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
13149 Change type.
13150 * config/i386/i386-builtin-types.def: New function type
13151 (V4DI, V32QI, V32QI).
13152 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
13153 V4DI_FTYPE_V32QI_V32QI.
13154
13155 2022-06-07 Jan Beulich <jbeulich@suse.com>
13156
13157 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
13158 into account for reg-only insns.
13159
13160 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
13161
13162 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
13163 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
13164 TARGET_CMOVE's (scalar integer) conditional moves.
13165 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
13166 from its equivalent (canonical) pxor;pand;pxor sequence.
13167
13168 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
13169
13170 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
13171 parameter ORDER.
13172
13173 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
13174
13175 * config.in: Regenerate.
13176 * configure: Regenerate.
13177 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
13178
13179 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
13180
13181 PR middle-end/95126
13182 * calls.cc (load_register_parameters): When loading a suitable
13183 immediate_const_ctor_p VAR_DECL into a single word_mode register,
13184 construct it directly in a pseudo rather than read it (by parts)
13185 from memory.
13186 * expr.cc (int_expr_size): Make tree argument a const_tree.
13187 (immediate_const_ctor_p): Helper predicate. Return true for
13188 simple constructors that may be materialized in a register.
13189 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
13190 VAR_DECL with a suitable immediate_const_ctor_p constructor
13191 use store_constructor to materialize it directly in a pseudo.
13192 * expr.h (immediate_const_ctor_p): Prototype here.
13193 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
13194 VALUE argument from tree to const_tree.
13195 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
13196 prototype.
13197
13198 2022-06-04 Jakub Jelinek <jakub@redhat.com>
13199
13200 PR target/105825
13201 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
13202 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
13203 bits of mask aren't all set, use operands[2] mode for the AND
13204 operation instead of always SImode.
13205
13206 2022-06-03 Jakub Jelinek <jakub@redhat.com>
13207
13208 PR middle-end/30314
13209 PR middle-end/105777
13210 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
13211 x > stype_max / cst || x < stype_min / cst): New simplification.
13212
13213 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
13214
13215 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
13216 Value_Range.
13217 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
13218 * value-range.h (Value_Range::Value_Range): Implement copy
13219 constructor for Value_Range.
13220
13221 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
13222
13223 * value-range.h (struct vrange_traits): Remove.
13224 (is_a): Rewrite without vrange_traits.
13225 (as_a): Same.
13226
13227 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
13228
13229 * value-range.cc (vrange::contains_p): Implement.
13230 (vrange::type): Return void.
13231 (vrange::supports_type_p): Implement.
13232 (irange::fits_p): Same.
13233 (vrange::set_undefined): Same.
13234 (irange::set_nonnegative): Same.
13235 (vrange::set_varying): Same.
13236 (vrange::union_): Same.
13237 (unsupported_range::set): Move to vrange.
13238 (unsupported_range::type): Move to vrange.
13239 (vrange::intersect): Implement for varying and undefined.
13240 (vrange::zero_p): Implement.
13241 (unsupported_range::supports_type_p): Move to vrange.
13242 (vrange::nonzero_p): Implement.
13243 (unsupported_range::set_undefined): Move to vrange.
13244 (unsupported_range::set_varying): Same.
13245 (unsupported_range::dump): Same.
13246 (unsupported_range::union_): Same. Implement for varying and
13247 undefined.
13248 (unsupported_range::intersect): Move to vrange.
13249 (unsupported_range::zero_p): Same.
13250 (unsupported_range::nonzero_p): Same.
13251 (unsupported_range::set_nonzero): Same.
13252 (unsupported_range::set_zero): Same.
13253 (unsupported_range::set_nonnegative): Same.
13254 (unsupported_range::fits_p): Same.
13255 * value-range.h (class vrange): Remove abstract markers for most
13256 methods.
13257 (class unsupported_range): Remove most methods as they will now be
13258 inherited from vrange.
13259
13260 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
13261
13262 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
13263 an object level supports_type_p for irange and a static
13264 Value_Range::supports_type_p.
13265 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
13266 (fold_using_range::range_of_address): Same.
13267 (fold_using_range::range_of_builtin_call): Same.
13268 * gimple-range-fold.h (gimple_range_type): Same.
13269 (gimple_range_ssa_p): Same.
13270 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
13271 Same.
13272 (path_range_query::range_of_stmt): Same.
13273 (path_range_query::add_to_imports): Same.
13274 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
13275 (gimple_ranger::export_global_ranges): Same.
13276 * gimple-ssa-evrp-analyze.cc
13277 (evrp_range_analyzer::record_ranges_from_phis): Same.
13278 * range-op.cc (range_operator::wi_fold): Same.
13279 (range_operator::fold_range): Same.
13280 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
13281 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
13282 (evaluate_control_stmt_using_entry_checks): Same.
13283 * tree-ssa-threadedge.cc
13284 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
13285 * tree-vrp.cc (supported_types_p): Same.
13286 * value-query.cc (range_query::value_of_expr): Same.
13287 (range_query::value_on_edge): Same.
13288 (range_query::value_of_stmt): Same.
13289 (range_query::get_tree_range): Same.
13290 (get_range_global): Same.
13291 (global_range_query::range_of_expr): Same.
13292 * value-range-equiv.h (class value_range_equiv): Same.
13293 * value-range.cc (irange::supports_type_p): Same.
13294 (unsupported_range::supports_type_p): Same.
13295 * value-range.h (enum value_range_discriminator): Same.
13296 (Value_Range::init): Same.
13297 (Value_Range::supports_type_p): Same.
13298 (irange::supports_type_p): Same.
13299 (irange::supports_p): Same.
13300 (vrange::supports_type_p): Same.
13301 (vrange_allocator::alloc_vrange): Same.
13302
13303 2022-06-03 Jan Beulich <jbeulich@suse.com>
13304
13305 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
13306 * configure.ac: Check for objcopy, producing
13307 ORIGINAL_OBJCOPY_FOR_TARGET.
13308 * configure: Update accordingly.
13309 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
13310 Handle objcopy.
13311
13312 2022-06-03 Jan Beulich <jbeulich@suse.com>
13313
13314 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
13315 (*mmx_psadbw): New. Mark as commutative.
13316 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
13317 (*<sse2_avx2>_psadbw): New. Mark as commutative.
13318
13319 2022-06-03 Alexandre Oliva <oliva@adacore.com>
13320
13321 PR tree-optimization/105665
13322 PR tree-optimization/100810
13323 * tree-ssa-loop-ivopts.cc
13324 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
13325 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
13326 (find_ssa_undef): Check precomputed flag and intervening uses.
13327 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
13328
13329 2022-06-02 David Malcolm <dmalcolm@redhat.com>
13330
13331 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
13332 tree-logical-location.o.
13333 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
13334 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
13335 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
13336 (sarif-stderr, sarif-file): New enum values.
13337 * diagnostic-client-data-hooks.h: New file.
13338 * diagnostic-format-sarif.cc: New file.
13339 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
13340 (enum diagnostic_event::noun): New enum.
13341 (enum diagnostic_event::property): New enum.
13342 (struct diagnostic_event::meaning): New struct.
13343 (diagnostic_event::get_logical_location): New vfunc.
13344 (diagnostic_event::get_meaning): New vfunc.
13345 (simple_diagnostic_event::get_logical_location): New vfunc impl.
13346 (simple_diagnostic_event::get_meaning): New vfunc impl.
13347 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
13348 (diagnostic_initialize): Initialize m_client_data_hooks.
13349 (diagnostic_finish): Clean up m_client_data_hooks.
13350 (diagnostic_event::meaning::dump_to_pp): New.
13351 (diagnostic_event::meaning::maybe_get_verb_str): New.
13352 (diagnostic_event::meaning::maybe_get_noun_str): New.
13353 (diagnostic_event::meaning::maybe_get_property_str): New.
13354 (get_cwe_url): Make non-static.
13355 (diagnostic_output_format_init): Handle
13356 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
13357 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
13358 * diagnostic.h (enum diagnostics_output_format): Add
13359 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
13360 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
13361 (class diagnostic_client_data_hooks): New forward decl.
13362 (class logical_location): New forward decl.
13363 (diagnostic_context::m_client_data_hooks): New field.
13364 (diagnostic_output_format_init_sarif_stderr): New decl.
13365 (diagnostic_output_format_init_sarif_file): New decl.
13366 (get_cwe_url): New decl.
13367 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
13368 sarif-file.
13369 * doc/sourcebuild.texi (Scan a particular file): Add
13370 scan-sarif-file and scan-sarif-file-not.
13371 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
13372 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
13373 (LANG_HOOKS_INITIALIZER): Add
13374 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
13375 * langhooks.cc (lhd_get_sarif_source_language): New.
13376 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
13377 * logical-location.h: New file.
13378 * plugin.cc (struct for_each_plugin_closure): New.
13379 (for_each_plugin_cb): New.
13380 (for_each_plugin): New.
13381 * plugin.h (for_each_plugin): New decl.
13382 * tree-diagnostic-client-data-hooks.cc: New file.
13383 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
13384 (tree_diagnostics_defaults): Populate m_client_data_hooks.
13385 * tree-logical-location.cc: New file.
13386 * tree-logical-location.h: New file.
13387
13388 2022-06-02 David Malcolm <dmalcolm@redhat.com>
13389
13390 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
13391 to description.
13392 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
13393 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
13394 (diagnostics_output_format): Add json-stderr and json-file.
13395 * diagnostic-format-json.cc (json_flush_to_file): New.
13396 (json_final_cb): Convert to...
13397 (json_flush_to_file): ...this, ...
13398 (json_stderr_final_cb): ...this, and...
13399 (json_file_final_cb): ...this.
13400 (diagnostic_output_format_init): Move to diagnostic.cc.
13401 (json_output_base_file_name): New.
13402 (diagnostic_output_format_init_json): New.
13403 (diagnostic_output_format_init_json_stderr): New.
13404 (diagnostic_output_format_init_json_file): New.
13405 * diagnostic.cc (diagnostic_output_format_init): Move here from
13406 diagnostic-format-json.cc; update for changes to enum.
13407 * diagnostic.h (enum diagnostics_output_format): Rename
13408 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
13409 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
13410 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
13411 (diagnostic_output_format_init): Add base_file_name param.
13412 (diagnostic_output_format_init_json_stderr): New decl.
13413 (diagnostic_output_format_init_json_file): New dec.
13414 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
13415 "json-file". Rewrite so that the existing "json" is a synonym of
13416 "json-stderr".
13417 * gcc.cc (driver_handle_option): Pass dump_base_name to
13418 diagnostic_output_format_init.
13419 * opts.cc (common_handle_option): Likewise.
13420
13421 2022-06-02 David Malcolm <dmalcolm@redhat.com>
13422
13423 * json.cc (string::print): Fix escaping of '\'.
13424
13425 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
13426
13427 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
13428 (-1 << 31) for the single-bit case, when operating on (1 << 31)
13429 in SImode.
13430 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
13431 any single-bit value, moving the special case for (1 << 31) to
13432 riscv_build_integer_1 (in riscv.c).
13433
13434 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
13435
13436 PR target/105791
13437 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
13438 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
13439
13440 2022-06-02 Jakub Jelinek <jakub@redhat.com>
13441
13442 PR target/105778
13443 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
13444 from AND and its operands and just verify operands[2] has HImode,
13445 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
13446 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
13447 just throw away the masking. Use force_reg before calling
13448 gen_lowpart.
13449 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
13450 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
13451 just throw away the masking.
13452 (*ashl<mode>3_doubleword): Rename to ...
13453 (ashl<mode>3_doubleword): ... this.
13454 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
13455 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
13456 Use force_reg before calling gen_lowpart.
13457 (*<insn><mode>3_mask): Likewise.
13458 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
13459 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
13460 case just throw away the masking. Use force_reg before calling
13461 gen_lowpart.
13462 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
13463 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
13464 throw away the masking.
13465 (*<insn><mode>3_doubleword): Rename to ...
13466 (<insn><mode>3_doubleword): ... this.
13467 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
13468 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
13469 Use force_reg before calling gen_lowpart.
13470 (splitter after it): Remove :SI from AND and its operands and just
13471 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
13472 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
13473 operands and just verify operands[1] has HImode, SImode or for
13474 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
13475 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
13476 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
13477 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
13478
13479 2022-06-02 Richard Biener <rguenther@suse.de>
13480
13481 PR tree-optimization/101668
13482 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
13483 for vector types with compatible lane types.
13484 (vect_build_slp_tree_2): Deal with this.
13485 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
13486 special cases without VEC_PERM.
13487 (vectorizable_slp_permutation): Select the operand vector
13488 type and relax requirements. Handle identity permutes
13489 with mismatching operand types.
13490 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
13491 permutes for op_mode == mode.
13492
13493 2022-06-02 Richard Biener <rguenther@suse.de>
13494
13495 PR tree-optimization/105802
13496 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
13497 Make sure to also compute the range in the type of the switch index.
13498
13499 2022-06-01 David Seifert <soap@gentoo.org>
13500
13501 PR plugins/95648
13502 * configure: Regenerate.
13503
13504 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
13505
13506 PR rtl-optimization/105638
13507 * df-core.cc (df_find_single_def_src): Moved and renamed from
13508 find_single_def_src in loop-iv.cc. Change the argument to rtx
13509 and use rtx_equal_p. Return null for partial or conditional
13510 defs.
13511 * df.h (df_find_single_def_src): New prototype.
13512 * dse.cc (record_store): Use the constant source if the source
13513 register is set only once.
13514 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
13515 (replace_single_def_regs): Replace find_single_def_src with
13516 df_find_single_def_src.
13517
13518 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
13519
13520 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
13521 selected_tune.
13522 (explicit_arch): Rename to selected_arch.
13523 (x_aarch64_override_tune_string): Remove.
13524 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
13525 (aarch64_override_tune_string): Add Save so it gets saved/restored.
13526 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
13527 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
13528 (processor): Remove archtecture_version field.
13529 (selected_arch): Remove global.
13530 (selected_cpu): Remove global.
13531 (selected_tune): Remove global.
13532 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
13533 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
13534 (aarch64_override_options): Further simplify code to only set
13535 selected_arch and selected_tune globals.
13536 (aarch64_option_save): Remove now that target options are saved.
13537 (aarch64_option_restore): Remove redundant target option restores.
13538 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
13539 AARCH64_ISA_V9.
13540 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
13541 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
13542 (aarch64_ra_sign_key): Remove.
13543
13544 2022-06-01 Jakub Jelinek <jakub@redhat.com>
13545
13546 PR middle-end/30314
13547 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
13548 x > ~(utype)0 / cst): New simplification.
13549
13550 2022-06-01 Richard Biener <rguenther@suse.de>
13551
13552 PR tree-optimization/105786
13553 * tree-loop-distribution.cc
13554 (loop_distribution::transform_reduction_loop): Only do strlen
13555 replacement for integer type reductions.
13556
13557 2022-06-01 Jakub Jelinek <jakub@redhat.com>
13558
13559 PR tree-optimization/105770
13560 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
13561 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
13562
13563 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
13564
13565 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
13566 (sbr_vector::sbr_vector): Same.
13567 (sbr_vector::grow): Same.
13568 (sbr_vector::set_bb_range): Same.
13569 (sbr_vector::get_bb_range): Same.
13570 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
13571 (sbr_sparse_bitmap::set_bb_range): Same.
13572 (sbr_sparse_bitmap::get_bb_range): Same.
13573 (block_range_cache::set_bb_range): Same.
13574 (block_range_cache::get_bb_range): Same.
13575 (block_range_cache::dump): Same.
13576 (ssa_global_cache::get_global_range): Same.
13577 (ssa_global_cache::set_global_range): Same.
13578 (ssa_global_cache::clear): Same.
13579 (ssa_global_cache::dump): Same.
13580 (ranger_cache::get_global_range): Same.
13581 (ranger_cache::set_global_range): Same.
13582 (ranger_cache::range_of_def): Same.
13583 (ranger_cache::entry_range): Same.
13584 (ranger_cache::exit_range): Same.
13585 (ranger_cache::edge_range): Same.
13586 (ranger_cache::range_of_expr): Same.
13587 (ranger_cache::range_on_edge): Same.
13588 (ranger_cache::block_range): Same.
13589 (ranger_cache::propagate_cache): Same.
13590 (ranger_cache::fill_block_cache): Same.
13591 (ranger_cache::range_from_dom): Same.
13592 * gimple-range-cache.h: Same.
13593 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
13594 Same.
13595 (gimple_outgoing_range::switch_edge_range): Same.
13596 (gimple_outgoing_range::edge_range_p): Same.
13597 * gimple-range-edge.h: Same.
13598 * gimple-range-fold.cc (fur_source::get_operand): Same.
13599 (fur_source::get_phi_operand): Same.
13600 (fur_edge::get_operand): Same.
13601 (fur_edge::get_phi_operand): Same.
13602 (fur_stmt::get_operand): Same.
13603 (fur_stmt::get_phi_operand): Same.
13604 (fur_list::fur_list): Same.
13605 (fur_list::get_operand): Same.
13606 (fur_list::get_phi_operand): Same.
13607 (fold_range): Same.
13608 (adjust_imagpart_expr): Same.
13609 (adjust_realpart_expr): Same.
13610 (gimple_range_adjustment): Same.
13611 (fold_using_range::fold_stmt): Same.
13612 (fold_using_range::range_of_range_op): Same.
13613 (fold_using_range::range_of_address): Same.
13614 (fold_using_range::range_of_phi): Same.
13615 (fold_using_range::range_of_call): Same.
13616 (fold_using_range::range_of_builtin_call): Same.
13617 (fold_using_range::range_of_builtin_int_call): Same.
13618 (fold_using_range::range_of_cond_expr): Same.
13619 (fur_source::register_outgoing_edges): Same.
13620 * gimple-range-fold.h (fold_range): Same.
13621 (gimple_range_type): Same.
13622 (gimple_range_ssa_p): Same.
13623 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
13624 (gimple_range_calc_op2): Same.
13625 (gori_compute::compute_operand_range_switch): Same.
13626 (gori_compute::compute_operand_range): Same.
13627 (gori_compute::logical_combine): Same.
13628 (gori_compute::compute_logical_operands): Same.
13629 (gori_compute::compute_operand1_range): Same.
13630 (gori_compute::compute_operand2_range): Same.
13631 (gori_compute::compute_operand1_and_operand2_range): Same.
13632 (gori_compute::outgoing_edge_range_p): Same.
13633 (gori_compute::condexpr_adjust): Same.
13634 * gimple-range-gori.h (gimple_range_calc_op1): Same.
13635 (gimple_range_calc_op2): Same.
13636 * gimple-range-path.cc (path_range_query::get_cache): Same.
13637 (path_range_query::set_cache): Same.
13638 (path_range_query::range_on_path_entry): Same.
13639 (path_range_query::internal_range_of_expr): Same.
13640 (path_range_query::range_of_expr): Same.
13641 (path_range_query::ssa_range_in_phi): Same.
13642 (path_range_query::range_defined_in_block): Same.
13643 (path_range_query::compute_ranges_in_phis): Same.
13644 (path_range_query::compute_ranges_in_block): Same.
13645 (path_range_query::add_to_imports): Same.
13646 (path_range_query::range_of_stmt): Same.
13647 * gimple-range-path.h: Same.
13648 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
13649 (gimple_infer_range::~side_effect_manager): Same.
13650 (gimple_infer_range::get_nonzero): Same.
13651 (gimple_infer_range::maybe_adjust_range): Same.
13652 (gimple_infer_range::add_range): Same.
13653 * gimple-range-infer.h: Same.
13654 * gimple-range-tests.cc: Same.
13655 * gimple-range-trace.cc (range_tracer::trailer): Same.
13656 (debug_seed_ranger): Same.
13657 * gimple-range-trace.h: Same.
13658 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
13659 (gimple_ranger::range_on_entry): Same.
13660 (gimple_ranger::range_on_exit): Same.
13661 (gimple_ranger::range_on_edge): Same.
13662 (gimple_ranger::fold_range_internal): Same.
13663 (gimple_ranger::range_of_stmt): Same.
13664 (gimple_ranger::prefill_name): Same.
13665 (gimple_ranger::prefill_stmt_dependencies): Same.
13666 (gimple_ranger::export_global_ranges): Same.
13667 (gimple_ranger::dump_bb): Same.
13668 * gimple-range.h: Same.
13669 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
13670 (memmodel_to_uhwi): Same.
13671 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
13672 (determine_value_range): Same.
13673 (record_nonwrapping_iv): Same.
13674 (infer_loop_bounds_from_signedness): Same.
13675 (scev_var_range_cant_overflow): Same.
13676 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
13677 * value-query.cc (range_query::range_on_edge): Same.
13678 (range_query::range_of_stmt): Same.
13679 (range_query::value_of_expr): Same.
13680 (range_query::value_on_edge): Same.
13681 (range_query::value_of_stmt): Same.
13682 (range_query::get_tree_range): Same.
13683 (update_global_range): Same.
13684 (get_range_global): Same.
13685 (gimple_range_global): Same.
13686 (global_range_query::range_of_expr): Same.
13687 (range_query::query_relation): Same.
13688 * value-query.h (gimple_range_global): Same.
13689 (update_global_range): Same.
13690 * vr-values.cc (vr_values::range_of_expr): Same.
13691 (bounds_of_var_in_loop): Same.
13692 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
13693 * vr-values.h (class vr_values): Same.
13694 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
13695
13696 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
13697
13698 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
13699 vrange allocator.
13700 (sbr_vector::grow): Same.
13701 (sbr_vector::set_bb_range): Same.
13702 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
13703 (sbr_sparse_bitmap::set_bb_range): Same.
13704 (block_range_cache::~block_range_cache): Same.
13705 (block_range_cache::set_bb_range): Same.
13706 (ssa_global_cache::ssa_global_cache): Same.
13707 (ssa_global_cache::~ssa_global_cache): Same.
13708 (ssa_global_cache::set_global_range): Same.
13709 * gimple-range-cache.h (block_range_cache): Same.
13710 (ssa_global_cache): Same.
13711 * gimple-range-edge.cc
13712 (gimple_outgoing_range::calc_switch_ranges): Same.
13713 * gimple-range-edge.h (gimple_outgoing_range): Same.
13714 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
13715 Same.
13716 (infer_range_manager::add_range): Same.
13717 * gimple-range-infer.h (class infer_range_manager): Same.
13718 * value-range.h (class irange_allocator): Rename to...
13719 (class vrange_allocator): ...this.
13720 (irange_allocator::irange_allocator): New.
13721 (vrange_allocator::vrange_allocator): New.
13722 (irange_allocator::~irange_allocator): New.
13723 (vrange_allocator::~vrange_allocator): New.
13724 (irange_allocator::get_memory): Rename to...
13725 (vrange_allocator::alloc): ...this.
13726 (vrange_allocator::alloc_vrange): Rename from...
13727 (irange_allocator::allocate): ...this.
13728 (vrange_allocator::alloc_irange): New.
13729
13730 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
13731
13732 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
13733 vrange and convert range_op_handler function calls to use the
13734 identically named object.
13735 * gimple-range-fold.cc (gimple_range_operand1): Same.
13736 (gimple_range_operand2): Same.
13737 (fold_using_range::fold_stmt): Same.
13738 (fold_using_range::range_of_range_op): Same.
13739 (fold_using_range::range_of_builtin_ubsan_call): Same.
13740 (fold_using_range::relation_fold_and_or): Same.
13741 (fur_source::register_outgoing_edges): Same.
13742 * gimple-range-fold.h (gimple_range_handler): Remove.
13743 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
13744 (gimple_range_calc_op2): Same.
13745 (range_def_chain::get_def_chain): Same.
13746 (gori_compute::compute_operand_range): Same.
13747 (gori_compute::condexpr_adjust): Same.
13748 * gimple-range.cc (gimple_ranger::prefill_name): Same.
13749 (gimple_ranger::prefill_stmt_dependencies): Same.
13750 * range-op.cc (get_bool_state): Same.
13751 (class operator_equal): Add using clause.
13752 (class operator_not_equal): Same.
13753 (class operator_lt): Same.
13754 (class operator_le): Same.
13755 (class operator_gt): Same.
13756 (class operator_ge): Same.
13757 (class operator_plus): Same.
13758 (class operator_minus): Same.
13759 (class operator_mult): Same.
13760 (class operator_exact_divide): Same.
13761 (class operator_lshift): Same.
13762 (class operator_rshift): Same.
13763 (class operator_cast): Same.
13764 (class operator_logical_and): Same.
13765 (class operator_bitwise_and): Same.
13766 (class operator_logical_or): Same.
13767 (class operator_bitwise_or): Same.
13768 (class operator_bitwise_xor): Same.
13769 (class operator_trunc_mod): Same.
13770 (class operator_logical_not): Same.
13771 (class operator_bitwise_not): Same.
13772 (class operator_cst): Same.
13773 (class operator_identity): Same.
13774 (class operator_unknown): Same.
13775 (class operator_abs): Same.
13776 (class operator_negate): Same.
13777 (class operator_addr_expr): Same.
13778 (class pointer_or_operator): Same.
13779 (operator_plus::op1_range): Adjust for vrange.
13780 (operator_minus::op1_range): Same.
13781 (operator_mult::op1_range): Same.
13782 (operator_cast::op1_range): Same.
13783 (operator_bitwise_not::fold_range): Same.
13784 (operator_negate::fold_range): Same.
13785 (range_op_handler): Rename to...
13786 (get_handler): ...this.
13787 (range_op_handler::range_op_handler): New.
13788 (range_op_handler::fold_range): New.
13789 (range_op_handler::op1_range): New.
13790 (range_op_handler::op2_range): New.
13791 (range_op_handler::lhs_op1_relation): New.
13792 (range_op_handler::lhs_op2_relation): New.
13793 (range_op_handler::op1_op2_relation): New.
13794 (range_cast): Adjust for vrange.
13795 * range-op.h (range_op_handler): Remove function.
13796 (range_cast): Adjust for vrange.
13797 (class range_op_handler): New.
13798 (get_bool_state): Adjust for vrange.
13799 (empty_range_varying): Same.
13800 (relop_early_resolve): Same.
13801 * tree-data-ref.cc (compute_distributive_range): Same.
13802 * tree-vrp.cc (get_range_op_handler): Remove.
13803 (range_fold_binary_symbolics_p): Use range_op_handler class
13804 instead of get_range_op_handler.
13805 (range_fold_unary_symbolics_p): Same.
13806 (range_fold_binary_expr): Same.
13807 (range_fold_unary_expr): Same.
13808 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
13809
13810 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
13811
13812 * gimple-range-fold.h (gimple_range_type): Check type before
13813 calling supports_type_p.
13814 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
13815 * value-query.cc (range_query::get_tree_range): Same.
13816 * value-range.cc (Value_Range::lower_bound): New.
13817 (Value_Range::upper_bound): New.
13818 (Value_Range::dump): New.
13819 * value-range.h (class Value_Range): New.
13820 (irange::supports_type_p): Do not check if type is non-zero.
13821
13822 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
13823
13824 * value-range-equiv.cc (value_range_equiv::set): New.
13825 * value-range-equiv.h (class value_range_equiv): Make set method
13826 virtual.
13827 Remove default bitmap argument from set method.
13828 * value-range.cc (vrange::contains_p): New.
13829 (vrange::singleton_p): New.
13830 (vrange::operator=): New.
13831 (vrange::operator==): New.
13832 (irange::fits_p): Move to .cc file.
13833 (irange::set_nonnegative): New.
13834 (unsupported_range::unsupported_range): New.
13835 (unsupported_range::set): New.
13836 (unsupported_range::type): New.
13837 (unsupported_range::set_undefined): New.
13838 (unsupported_range::set_varying): New.
13839 (unsupported_range::dump): New.
13840 (unsupported_range::union_): New.
13841 (unsupported_range::intersect): New.
13842 (unsupported_range::zero_p): New.
13843 (unsupported_range::nonzero_p): New.
13844 (unsupported_range::set_nonzero): New.
13845 (unsupported_range::set_zero): New.
13846 (unsupported_range::set_nonnegative): New.
13847 (unsupported_range::fits_p): New.
13848 (irange::set): Call irange::set_undefined.
13849 (irange::verify_range): Check discriminator field.
13850 (irange::dump): Dump [irange] marker.
13851 (irange::debug): Move to...
13852 (vrange::debug): ...here.
13853 (dump_value_range): Accept vrange.
13854 (debug): Same.
13855 * value-range.h (enum value_range_discriminator): New.
13856 (class vrange): New.
13857 (class unsupported_range): New.
13858 (struct vrange_traits): New.
13859 (is_a): New.
13860 (as_a): New.
13861 (class irange): Inherit from vrange.
13862 (dump_value_range): Adjust for vrange.
13863 (irange::kind): Rename to...
13864 (vrange::kind): ...this.
13865 (irange::varying_p): Rename to...
13866 (vrange::varying_p): ...this.
13867 (irange::undefined_p): Rename to...
13868 (vrange::undefined_p): ...this.
13869 (irange::irange): Set discriminator.
13870 (irange::union_): Convert to irange before passing to irange
13871 method.
13872 (irange::intersect): Same.
13873 (vrange::supports_type_p): New.
13874 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
13875 NULL bitmap argument to value_range_equiv::set.
13876 (vr_values::extract_range_basic): Same.
13877
13878 2022-06-01 Richard Biener <rguenther@suse.de>
13879
13880 PR tree-optimization/105763
13881 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
13882 Check gimple_range_ssa_p.
13883
13884 2022-05-31 Jason Merrill <jason@redhat.com>
13885
13886 * Makefile.in (TAGS): Look at libcpp/*.cc.
13887
13888 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
13889
13890 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
13891 Prefix mode names with E_.
13892
13893 2022-05-31 Alan Modra <amodra@gmail.com>
13894
13895 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
13896 spelling of DW_AT_namelist_item.
13897
13898 2022-05-31 Jakub Jelinek <jakub@redhat.com>
13899
13900 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
13901 allow var to be private in the outer context.
13902 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
13903 to build_outer_var_ref.
13904
13905 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
13906
13907 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
13908 tieable with DImode on TARGET_64BIT, and SCmode tieable with
13909 V2SFmode, and DCmode with V2DFmode.
13910
13911 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
13912
13913 PR rtl-optimization/101617
13914 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
13915 special case (indicated by negate_cc_compare_p) to generate a
13916 -1/0 mask using neg;sbb.
13917 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
13918 to generate an *x86_neg<mode>_ccc instruction.
13919 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
13920 generate a *x86_mov<mode>cc_0_m1_neg instruction.
13921
13922 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
13923
13924 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
13925 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
13926 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
13927
13928 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
13929
13930 PR target/70321
13931 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
13932 DI mode equality/inequality using XOR here. Instead generate a
13933 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
13934 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
13935 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
13936 (general_scalar_chain::convert_compare): New function to convert
13937 scalar equality/inequality comparison into vector operations.
13938 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
13939 new convert_compare helper method.
13940 (convertible_comparion_p): Update to match doubleword COMPARE
13941 of two register, memory or integer constant operands.
13942 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
13943 Prototype/declare member function here.
13944 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
13945 only allow new doubleword modes for EQ and NE operators.
13946 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
13947 doubleword comparison into a pair of XORs followed by an IOR to
13948 set the (zero) flags register, optimizing the XORs if possible.
13949 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
13950 iterator; V_AVX is (currently) only used by ptest.
13951 (sse4_1 mode attribute): Update to support V1TI and V2TI.
13952
13953 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
13954
13955 * config/i386/i386.md: Remove constraints when used with
13956 const_int_operand, const0_operand, const_1_operand, constm1_operand,
13957 const8_operand, const128_operand, const248_operand, const123_operand,
13958 const2367_operand, const1248_operand, const359_operand,
13959 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
13960 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
13961 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
13962 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
13963 const_0_to_255_mul_8_operand, const_1_to_31_operand,
13964 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
13965 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
13966 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
13967 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
13968 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
13969 const_24_to_27_operand and const_28_to_31_operand.
13970 * config/i386/mmx.md: Ditto.
13971 * config/i386/sse.md: Ditto.
13972 * config/i386/subst.md: Ditto.
13973 * config/i386/sync.md: Ditto.
13974
13975 2022-05-30 Jan Beulich <jbeulich@suse.com>
13976
13977 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
13978 arguments.
13979
13980 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
13981
13982 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
13983
13984 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
13985
13986 PR target/105599
13987 * config/darwin.h: Move versions-specific handling of multiply_defined
13988 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
13989
13990 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
13991
13992 PR other/82383
13993 * doc/sourcebuild.texi: Add entries for the c++tools,
13994 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
13995 and libsanitizer directories. Remove entry for boehm-gc.
13996 Fix alphabetization for libquadmath.
13997
13998 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
13999
14000 * config/avr/avr-mcus.def: Add device definitions.
14001 * doc/avr-mmcu.texi: Corresponding changes.
14002 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
14003 device prefix.
14004 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
14005 from leaking into cc1.
14006
14007 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
14008
14009 PR target/103722
14010 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
14011 is special) for various scenarios.
14012
14013 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
14014
14015 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
14016 describing this macro.
14017
14018 2022-05-27 Richard Biener <rguenther@suse.de>
14019
14020 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
14021
14022 2022-05-27 Martin Jambor <mjambor@suse.cz>
14023
14024 PR ipa/105639
14025 * ipa-prop.cc (propagate_controlled_uses): Check type of the
14026 constant before adding a LOAD reference.
14027
14028 2022-05-27 Jakub Jelinek <jakub@redhat.com>
14029
14030 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
14031 to OMP_CLAUSE_ENTER.
14032 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
14033 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
14034 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
14035 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
14036 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
14037 "to" instead of "enter".
14038 * tree-nested.cc (convert_nonlocal_omp_clauses,
14039 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
14040 OMP_CLAUSE_TO_DECLARE.
14041
14042 2022-05-27 Richard Biener <rguenther@suse.de>
14043
14044 PR tree-optimization/105726
14045 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
14046 Constrain array-of-flexarray case more.
14047
14048 2022-05-27 Jakub Jelinek <jakub@redhat.com>
14049
14050 PR sanitizer/105729
14051 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
14052 to (X &) z + w if -fsanitize=null during GENERIC folding.
14053
14054 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
14055
14056 * match.pd (match_zero_one_valued_p): New predicate.
14057 (mult @0 @1): Use zero_one_valued_p for optimization to the
14058 expression "bit_and @0 @1".
14059 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
14060 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
14061 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
14062 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
14063 Remove three redundant transforms obsoleted by the three above.
14064
14065 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
14066
14067 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
14068 to split a combined "and;cmp" sequence into "not;test".
14069
14070 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14071
14072 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
14073 (bswapsi2_internal): Revise the template and condition, and add
14074 detection code for preceding the same insn in order to omit a
14075 "SSAI 8" instruction of the latter.
14076 (bswapdi2): Suppress built-in insn expansion with the corresponding
14077 library call when optimizing for size.
14078
14079 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14080
14081 * config/xtensa/xtensa-protos.h
14082 (xtensa_expand_block_set_unrolled_loop,
14083 xtensa_expand_block_set_small_loop): New prototypes.
14084 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
14085 xtensa_expand_block_set_unrolled_loop,
14086 xtensa_expand_block_set_small_loop): New functions.
14087 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
14088 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
14089
14090 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14091
14092 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
14093 Make instruction counting more accurate, and simplify emitting insns.
14094
14095 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14096
14097 * config/xtensa/constraints.md (M, O): Use the macro.
14098 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
14099 sext_fldsz_operand): Ditto.
14100 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
14101 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
14102 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
14103 xtensa_expand_prologue): Ditto.
14104 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
14105
14106 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14107
14108 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
14109 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
14110 Ditto.
14111
14112 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
14113
14114 * gimple-range-cache.cc: Adjust comments.
14115 * gimple-range-infer.cc: Adjust comments.
14116 * gimple-range-infer.h: Adjust comments.
14117 * gimple-range.cc: Adjust comments.
14118
14119 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
14120
14121 * Makefile.in (OBJS): Use gimple-range-infer.o.
14122 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
14123 (ranger_cache::range_from_dom): Rename var side_effect to infer.
14124 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
14125 * gimple-range-cache.h: Include gimple-range-infer.h.
14126 (class ranger_cache): Adjust prototypes, use infer_range_manager.
14127 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
14128 (gimple_infer_range::*): Rename from stmt_side_effects.
14129 (infer_range_manager::*): Rename from side_effect_manager.
14130 * gimple-range-side-effect.cc: Rename.
14131 * gimple-range-side-effect.h: Rename.
14132 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
14133 (class gimple_infer_range): Rename from stmt_side_effects.
14134 (class infer_range_manager): Rename from side_effect_manager.
14135 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
14136 from register_side_effects.
14137 * gimple-range.h (register_inferred_ranges): Adjust prototype.
14138 * range-op.h: Adjust comment.
14139 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
14140 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
14141
14142 2022-05-25 Simon Cook <simon.cook@embecosm.com>
14143
14144 * config/riscv/arch-canonicalize: Only add mafd extension if
14145 base was rv32/rv64g.
14146
14147 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
14148
14149 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
14150
14151 2022-05-25 Jakub Jelinek <jakub@redhat.com>
14152
14153 PR sanitizer/105714
14154 * asan.cc (has_stmt_been_instrumented_p): For assignments which
14155 are both stores and loads, return true only if both destination
14156 and source have been instrumented.
14157
14158 2022-05-25 Martin Liska <mliska@suse.cz>
14159 Richard Biener <rguenther@suse.de>
14160
14161 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
14162 * params.opt (max-unswitch-level): Remove.
14163 * doc/invoke.texi (max-unswitch-level): Likewise.
14164 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
14165 gimplified expressions.
14166 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
14167 (tree_may_unswitch_on): Rename to ...
14168 (find_unswitching_predicates_for_bb): ... this and handle
14169 switch statements.
14170 (get_predicates_for_bb): Likewise.
14171 (set_predicates_for_bb): Likewise.
14172 (init_loop_unswitch_info): Likewise.
14173 (tree_ssa_unswitch_loops): Prepare stuff before calling
14174 tree_unswitch_single_loop.
14175 (tree_unswitch_single_loop): Rework the function using
14176 pre-computed predicates and with a per original loop cost model.
14177 (merge_last): New.
14178 (add_predicate_to_path): Likewise.
14179 (find_range_for_lhs): Likewise.
14180 (simplify_using_entry_checks): Rename to ...
14181 (evaluate_control_stmt_using_entry_checks): ... this, handle
14182 switch statements and improve simplifications using ranger.
14183 (simplify_loop_version): Rework using
14184 evaluate_control_stmt_using_entry_checks.
14185 (evaluate_bbs): New.
14186 (evaluate_loop_insns_for_predicate): Likewise.
14187 (tree_unswitch_loop): Adjust to allow switch statements and
14188 pass in the edge to unswitch.
14189 (clean_up_after_unswitching): New.
14190 (pass_tree_unswitch::execute): Pass down fun.
14191
14192 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
14193
14194 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
14195 counts for the epilog loop.
14196
14197 2022-05-24 Martin Sebor <msebor@redhat.com>
14198 Richard Biener <rguenther@suse.de>
14199
14200 PR middle-end/105604
14201 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
14202 (get_origin_and_offset_r): Remove null handling. Handle variable array
14203 sizes.
14204 (get_origin_and_offset): Handle null argument here. Simplify.
14205 (alias_offset): Update comment.
14206 * pointer-query.cc (field_at_offset): Update comment. Handle members
14207 of variable-length types.
14208
14209 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
14210
14211 * target.def (vec_perm_const): Define new parameter op_mode and
14212 update doc.
14213 * doc/tm.texi: Regenerate.
14214 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
14215 vec_perm_const hook to add new parameter op_mode and return false
14216 if result and operand modes do not match.
14217 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
14218 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
14219 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
14220 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
14221 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
14222 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
14223 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
14224 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
14225 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
14226 prototype.
14227 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
14228 (ashrv2di3): Likewise.
14229 * optabs.cc (expand_vec_perm_const): Likewise.
14230 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
14231 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
14232 op_mode and pass it to vec_perm_const hook.
14233 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
14234 * match.pd (vec_perm X Y CST): Likewise.
14235 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
14236 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
14237 (vect_grouped_load_supported): Likewise.
14238 (vect_shift_permute_load_chain): Likewise.
14239 * tree-vect-generic.cc (lower_vec_perm): Likewise.
14240 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
14241 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
14242 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
14243 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
14244 (vect_transform_slp_perm_load): Likewise.
14245 (vectorizable_slp_permutation): Likewise.
14246 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
14247 (vectorizable_bswap): Likewise.
14248 (scan_store_can_perm_p): Likewise.
14249 (vect_gen_perm_mask_checked): Likewise.
14250
14251 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
14252
14253 PR target/104816
14254 * config/i386/i386.opt: Remove Undocumented.
14255 * doc/invoke.texi: Document -mcet-switch.
14256
14257 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
14258
14259 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
14260 * config/gcn/gcn-opts.h (enum gcn_isa): New.
14261 (TARGET_GCN3): Use enum gcn_isa.
14262 (TARGET_GCN3_PLUS): Likewise.
14263 (TARGET_GCN5): Likewise.
14264 (TARGET_GCN5_PLUS): Likewise.
14265 (TARGET_CDNA1): New.
14266 (TARGET_CDNA1_PLUS): New.
14267 (TARGET_CDNA2): New.
14268 (TARGET_CDNA2_PLUS): New.
14269 (TARGET_M0_LDS_LIMIT): New.
14270 (TARGET_PACKED_WORK_ITEMS): New.
14271 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
14272 (gcn_option_override): Recognise CDNA ISA variants.
14273 (gcn_omp_device_kind_arch_isa): Support gfx90a.
14274 (gcn_expand_prologue): Make m0 init optional.
14275 Add support for packed work items.
14276 (output_file_start): Support gfx90a.
14277 (gcn_hsa_declare_function_name): Support gfx90a metadata.
14278 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
14279 __CDNA2__.
14280 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
14281 (<su>mulsi3_highpart_imm): Likewise.
14282 (<su>mulsidi3): Likewise.
14283 (<su>mulsidi3_imm): Likewise.
14284 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
14285 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
14286 (main): Support gfx90a.
14287 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
14288 * config/gcn/t-omp-device: Add gfx90a isa.
14289
14290 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
14291
14292 * config.in: Regenerate.
14293 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
14294 (X_900): Delete.
14295 (X_906): Delete.
14296 (X_908): Delete.
14297 (S_FIJI): Delete.
14298 (S_900): Delete.
14299 (S_906): Delete.
14300 (S_908): Delete.
14301 (NO_XNACK): New macro.
14302 (NO_SRAM_ECC): New macro.
14303 (SRAMOPT): Keep only v4 variant.
14304 (HSACO3_SELECT_OPT): Delete.
14305 (DRIVER_SELF_SPECS): Delete.
14306 (ASM_SPEC): Remove LLVM 9 support.
14307 * config/gcn/gcn-valu.md
14308 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
14309 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
14310 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
14311 (print_operand_address): Remove assembler bug workaround.
14312 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
14313 (EF_AMDGPU_SRAM_ECC_V3): Delete.
14314 (SET_XNACK_ON): Delete v3 variants.
14315 (SET_XNACK_OFF): Delete v3 variants.
14316 (TEST_XNACK): Delete v3 variants.
14317 (SET_SRAM_ECC_ON): Delete v3 variants.
14318 (SET_SRAM_ECC_ANY): Delete v3 variants.
14319 (SET_SRAM_ECC_OFF): Delete v3 variants.
14320 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
14321 (TEST_SRAM_ECC_ANY): Delete v3 variants.
14322 (TEST_SRAM_ECC_ON): Delete v3 variants.
14323 (copy_early_debug_info): Remove v3 support.
14324 (main): Remove v3 support.
14325 * configure: Regenerate.
14326 * configure.ac: Replace all GCN feature checks with a version check.
14327
14328 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
14329
14330 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
14331 i.e. a double word negation of a zero extended operand, to
14332 neg;sbb.
14333
14334 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
14335
14336 PR tree-optimization/105668
14337 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
14338 V1TImode, just like V2DImode.
14339 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
14340 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
14341 (vcond_mask_v2div2di): Delete.
14342 (vcond_mask_v1tiv1ti): New define_expand.
14343
14344 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
14345
14346 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
14347 to strncmp for strings of length one.
14348
14349 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
14350
14351 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
14352 prefetch instructions.
14353 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
14354 Extensions.
14355 (RISCV_ATYPE_SI): New.
14356 (RISCV_ATYPE_DI): New.
14357 * config/riscv/riscv-ftypes.def (0): New.
14358 (1): New.
14359 * config/riscv/riscv.md (riscv_clean_<mode>): New.
14360 (riscv_flush_<mode>): New.
14361 (riscv_inval_<mode>): New.
14362 (riscv_zero_<mode>): New.
14363 (prefetch): New.
14364 (riscv_prefetchi_<mode>): New.
14365 * config/riscv/riscv-cmo.def: New file.
14366
14367 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
14368
14369 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
14370 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
14371 (MASK_ZICBOM): New.
14372 (MASK_ZICBOP): New.
14373 (TARGET_ZICBOZ): New.
14374 (TARGET_ZICBOM): New.
14375 (TARGET_ZICBOP): New.
14376 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
14377
14378 2022-05-24 David Malcolm <dmalcolm@redhat.com>
14379
14380 * tree-vect-slp-patterns.cc: Add "final" and "override" to
14381 vect_pattern::build impls as appropriate.
14382
14383 2022-05-24 David Malcolm <dmalcolm@redhat.com>
14384
14385 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
14386 implementations, removing redundant "virtual" as appropriate.
14387 * ipa-fnsummary.h: Likewise.
14388 * ipa-modref.cc: Likewise.
14389 * ipa-param-manipulation.cc: Likewise.
14390 * ipa-profile.cc: Likewise.
14391 * ipa-prop.h: Likewise.
14392 * ipa-pure-const.cc: Likewise.
14393 * ipa-reference.cc: Likewise.
14394 * ipa-sra.cc: Likewise.
14395 * symbol-summary.h: Likewise.
14396 * symtab-thunks.cc: Likewise.
14397
14398 2022-05-24 Martin Liska <mliska@suse.cz>
14399
14400 Revert:
14401 2022-05-24 Martin Liska <mliska@suse.cz>
14402
14403 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
14404 warning.
14405
14406 2022-05-24 Martin Liska <mliska@suse.cz>
14407
14408 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
14409 warning.
14410
14411 2022-05-24 Bruno Haible <bruno@clisp.org>
14412
14413 PR other/105527
14414 * doc/install.texi (Configuration): Add more details about --with-zstd.
14415 Document --with-zstd-include and --with-zstd-lib
14416
14417 2022-05-24 Richard Biener <rguenther@suse.de>
14418
14419 PR middle-end/105711
14420 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
14421 and use it.
14422 (extract_bit_field_1): Pass down the mode of op0 to
14423 extract_bit_field_as_subreg.
14424
14425 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
14426
14427 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
14428 fmv_cost.
14429 (rocket_tune_info): Add default fmv_cost 8.
14430 (sifive_7_tune_info): Ditto.
14431 (thead_c906_tune_info): Ditto.
14432 (optimize_size_tune_info): Ditto.
14433 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
14434
14435 2022-05-24 Jakub Jelinek <jakub@redhat.com>
14436
14437 PR c/105378
14438 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
14439 builtin.
14440 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
14441 clause but no depend clauses.
14442 * omp-expand.cc (expand_taskwait_call): Use
14443 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
14444 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
14445
14446 2022-05-24 Richard Biener <rguenther@suse.de>
14447
14448 PR tree-optimization/100221
14449 * tree-ssa-dse.cc (contains_phi_arg): New function.
14450 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
14451
14452 2022-05-24 Richard Biener <rguenther@suse.de>
14453
14454 PR tree-optimization/105629
14455 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
14456 a sign-extending conversion.
14457
14458 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
14459
14460 PR target/105627
14461 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
14462 be a debug insn.
14463 (union_uses): Skip debug use_insn.
14464
14465 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
14466
14467 * config/riscv/predicates.md (const_0_operand): Remove
14468 const_double.
14469 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
14470 CONST_DOUBLE.
14471 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
14472
14473 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
14474
14475 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
14476 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
14477 (cpu_indicator_init): Handle Zhaoxin processors.
14478 * common/config/i386/i386-common.cc: Add lujiazui.
14479 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
14480 VENDOR_ZHAOXIN.
14481 (enum processor_types): Add ZHAOXIN_FAM7H.
14482 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
14483 * config.gcc: Add lujiazui.
14484 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
14485 Signatures for zhaoxin
14486 (signature_SHANGHAI_ecx): Ditto.
14487 (signature_SHANGHAI_edx): Ditto.
14488 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
14489 -march=native recognize lujiazui processors.
14490 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
14491 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
14492 * config/i386/i386.h (enum processor_type): Ditto.
14493 * config/i386/i386.md: Add lujiazui.
14494 * config/i386/x86-tune-costs.h (struct processor_costs): Add
14495 lujiazui costs.
14496 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
14497 (ix86_adjust_cost): Ditto.
14498 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
14499 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
14500 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
14501 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
14502 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
14503 (X86_TUNE_MOVX): Ditto.
14504 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
14505 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
14506 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
14507 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
14508 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
14509 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
14510 (X86_TUNE_USE_LEAVE): Ditto.
14511 (X86_TUNE_PUSH_MEMORY): Ditto.
14512 (X86_TUNE_LCP_STALL): Ditto.
14513 (X86_TUNE_USE_INCDEC): Ditto.
14514 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
14515 (X86_TUNE_OPT_AGU): Ditto.
14516 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
14517 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
14518 (X86_TUNE_USE_SAHF): Ditto.
14519 (X86_TUNE_USE_BT): Ditto.
14520 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
14521 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
14522 (X86_TUNE_AVOID_MFENCE): Ditto.
14523 (X86_TUNE_EXPAND_ABS): Ditto.
14524 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
14525 (X86_TUNE_USE_FFREEP): Ditto.
14526 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
14527 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
14528 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
14529 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
14530 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
14531 * doc/extend.texi: Add details about lujiazui.
14532 * doc/invoke.texi: Add details about lujiazui.
14533 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
14534
14535 2022-05-23 Martin Liska <mliska@suse.cz>
14536
14537 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
14538
14539 2022-05-23 Richard Biener <rguenther@suse.de>
14540
14541 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
14542 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
14543
14544 2022-05-23 Richard Biener <rguenther@suse.de>
14545
14546 * gimple-expr.cc (is_gimple_condexpr): Remove.
14547 * gimple-expr.h (is_gimple_condexpr): Likewise.
14548 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
14549 * tree-if-conv.cc (set_bb_predicate): Likewie.
14550 (add_to_predicate_list): Likewise.
14551 (gen_phi_arg_condition): Likewise.
14552 (predicate_scalar_phi): Likewise.
14553 (predicate_statements): Likewise.
14554
14555 2022-05-23 Richard Biener <rguenther@suse.de>
14556
14557 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
14558 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
14559 as is_gimple_val.
14560 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
14561 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
14562 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
14563 Build the condition of the COND_EXPR separately.
14564 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
14565 * tree-vect-generic.cc (expand_vector_condition): Likewise.
14566 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
14567 Likewise.
14568 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
14569 * tree-vect-patterns.cc: Add comment indicating we are
14570 building invalid COND_EXPRs and why.
14571 * omp-expand.cc (expand_omp_simd): Gimplify the condition
14572 to the COND_EXPR separately.
14573 (expand_omp_atomic_cas): Note part that should be unreachable
14574 now.
14575 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
14576 condition for valid replacements.
14577 * tree-if-conv.cc (predicate_bbs): Simulate previous
14578 re-folding of the condition in folded COND_EXPRs which
14579 is necessary because of unfolded GIMPLE_CONDs in the IL
14580 as in for example gcc.dg/fold-bopcond-1.c.
14581 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
14582 Handle that the comparison is now in the def stmt of
14583 the select operand. Required by gcc.dg/pr104526.c.
14584
14585 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
14586
14587 PR fortran/104949
14588 * langhooks-def.h (lhd_omp_array_size): New.
14589 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
14590 (LANG_HOOKS_DECLS): Add it.
14591 * langhooks.cc (lhd_omp_array_size): New.
14592 * langhooks.h (struct lang_hooks_for_decls): Add hook.
14593 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
14594 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
14595
14596 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
14597
14598 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
14599 XOR/IOR case. Account for two instructions for double-word
14600 operations. In case of vector pandn, account for single
14601 instruction. Likewise for integer andn with TARGET_BMI.
14602 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
14603 <case NEG>: Double-word negation requires 3 instructions.
14604
14605 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
14606
14607 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
14608 Fix "K" extension prefix to be placed before "J".
14609 * config/riscv/arch-canonicalize: Likewise.
14610
14611 2022-05-23 liuhongt <hongtao.liu@intel.com>
14612
14613 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
14614 <-> mask cost from 5 to 6.
14615 (icelake_cost): Ditto.
14616
14617 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
14618
14619 * config/aarch64/aarch64.md
14620 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
14621 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
14622 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
14623 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
14624 (one_cmpl_<optab><mode>2): Likewise.
14625 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
14626 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
14627 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
14628 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
14629 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
14630 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
14631 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
14632 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
14633 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
14634 (rolsi3_insn_uxtw): New pattern.
14635 * config/aarch64/iterators.md (SHIFT): Add rotate left.
14636 (SHIFT_no_rotate): Add new iterator.
14637 (SHIFT:shift): Print rotate left as ror.
14638 (is_rotl): Add test for left rotate.
14639
14640 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
14641
14642 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
14643 processing. Add support for architectural extensions.
14644 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
14645 AARCH64_CPU_DEFAULT_FLAGS.
14646 (TARGET_CPU_NBITS): Remove.
14647 (TARGET_CPU_MASK): Remove.
14648 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
14649 (get_tune_cpu): Assert CPU is always valid.
14650 (get_arch): Assert architecture is always valid.
14651 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
14652 (aarch64_option_restore): Remove unnecessary checks on tune.
14653
14654 2022-05-20 David Malcolm <dmalcolm@redhat.com>
14655
14656 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
14657 "FINAL" and "OVERRIDE" with "final" and "override".
14658 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
14659 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
14660 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
14661 * diagnostic-path.h: Likewise.
14662 * digraph.cc: Likewise.
14663 * gcc-rich-location.h: Likewise.
14664 * gimple-array-bounds.cc: Likewise.
14665 * gimple-loop-versioning.cc: Likewise.
14666 * gimple-range-cache.cc: Likewise.
14667 * gimple-range-cache.h: Likewise.
14668 * gimple-range-fold.cc: Likewise.
14669 * gimple-range-fold.h: Likewise.
14670 * gimple-range-tests.cc: Likewise.
14671 * gimple-range.h: Likewise.
14672 * gimple-ssa-evrp.cc: Likewise.
14673 * input.cc: Likewise.
14674 * json.h: Likewise.
14675 * read-rtl-function.cc: Likewise.
14676 * tree-complex.cc: Likewise.
14677 * tree-diagnostic-path.cc: Likewise.
14678 * tree-ssa-ccp.cc: Likewise.
14679 * tree-ssa-copy.cc: Likewise.
14680 * tree-vrp.cc: Likewise.
14681 * value-query.h: Likewise.
14682 * vr-values.h: Likewise.
14683
14684 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
14685
14686 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
14687 target_memcpy_rect_async to omp_runtime_apis array.
14688
14689 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
14690
14691 * doc/sourcebuild.texi (Decimal floating point attributes): Document
14692 dfp_bid effective-target.
14693
14694 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
14695
14696 * config/aarch64/aarch64.cc
14697 (aarch64_split_128bit_move): Handle DFP modes.
14698 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
14699 (aarch64_classify_address): Likewise.
14700 (aarch64_legitimize_address_displacement): Likewise.
14701 (aarch64_reinterpret_float_as_int): Likewise.
14702 (aarch64_float_const_zero_rtx_p): Likewise.
14703 (aarch64_can_const_movi_rtx_p): Likewise.
14704 (aarch64_anchor_offset): Likewise.
14705 (aarch64_secondary_reload): Likewise.
14706 (aarch64_rtx_costs): Likewise.
14707 (aarch64_legitimate_constant_p): Likewise.
14708 (aarch64_gimplify_va_arg_expr): Likewise.
14709 (aapcs_vfp_sub_candidate): Likewise.
14710 (aarch64_vfp_is_call_or_return_candidate): Likewise.
14711 (aarch64_output_scalar_simd_mov_immediate): Likewise.
14712 (aarch64_gen_adjusted_ldpstp): Likewise.
14713 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
14714 * config/aarch64/aarch64.md
14715 (movsf_aarch64): Use SFD iterator and rename into
14716 mov<mode>_aarch64.
14717 (movdf_aarch64): Use DFD iterator and rename into
14718 mov<mode>_aarch64.
14719 (movtf_aarch64): Use TFD iterator and rename into
14720 mov<mode>_aarch64.
14721 (split pattern for move TF mode): Use TFD iterator.
14722 * config/aarch64/iterators.md
14723 (GPF_TF_F16_MOV): Add DFP modes.
14724 (SFD, DFD, TFD): New iterators.
14725 (GPF_TF): Add DFP modes.
14726 (TX, DX, DX2): Likewise.
14727
14728 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
14729
14730 * configure: Regenerate.
14731
14732 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
14733
14734 PR middle-end/98865
14735 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
14736 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
14737 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
14738
14739 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
14740
14741 * config/rs6000/rs6000-builtins.def: Rephrase
14742 to remove RS6000_BTC_SPECIAL from comment.
14743 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
14744 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
14745 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
14746 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
14747 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
14748 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
14749 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
14750 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
14751 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
14752 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
14753 RS6000_BTM_ALWAYS): Delete.
14754
14755 2022-05-19 Richard Biener <rguenther@suse.de>
14756
14757 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
14758 computation of the new value.
14759
14760 2022-05-19 Richard Biener <rguenther@suse.de>
14761
14762 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
14763 (add_to_value): Use get_expression_id.
14764 (bitmap_insert_into_set): Likewise.
14765 (bitmap_value_insert_into_set): Likewise.
14766
14767 2022-05-19 David Malcolm <dmalcolm@redhat.com>
14768
14769 * doc/invoke.texi (-fanalyzer-checker=): Add
14770 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
14771 the list of analyzer warnings disabled by
14772 -fanalyzer-checker=taint.
14773
14774 2022-05-19 Jakub Jelinek <jakub@redhat.com>
14775
14776 PR debug/105630
14777 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
14778 global vars without symtab node even when they have DECL_RTL
14779 set.
14780
14781 2022-05-19 Jakub Jelinek <jakub@redhat.com>
14782
14783 PR c/105635
14784 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
14785 doesn't have pointer or reference type.
14786
14787 2022-05-18 Marek Polacek <polacek@redhat.com>
14788
14789 PR c/105131
14790 * doc/invoke.texi: Document -Wenum-int-mismatch.
14791
14792 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
14793
14794 * config/i386/gnu-user-common.h (defined): Only define
14795 TARGET_CAN_SPLIT_STACK for glibc targets.
14796 * config/i386/gnu.h (defined): Ditto.
14797
14798 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
14799
14800 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
14801 is wider than word_mode, a multiplication costs three word_mode
14802 multiplications and two word_mode additions.
14803
14804 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
14805
14806 * config/i386/i386.md (define_split): Split *andsi_1
14807 and *andn_si_ccno after reload with -Oz.
14808
14809 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
14810
14811 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
14812 Output reason for failure to dump file.
14813 (scop_detection::harmful_loop_in_region): Likewise.
14814 (scop_detection::graphite_can_represent_expr): Likewise.
14815 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
14816 (scop_detection::stmt_simple_for_scop_p): Likewise.
14817 (print_sese_loop_numbers): New function.
14818 (scop_detection::add_scop): Use from here.
14819
14820 2022-05-18 liuhongt <hongtao.liu@intel.com>
14821
14822 PR middle-end/103462
14823 * match.pd (bitwise_induction_p): New match.
14824 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
14825 Declare.
14826 (analyze_and_compute_bitwise_induction_effect): New function.
14827 (enum bit_op_kind): New enum.
14828 (final_value_replacement_loop): Enhanced to handle bitwise
14829 induction.
14830
14831 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
14832
14833 PR target/95737
14834 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
14835
14836 2022-05-18 liuhongt <hongtao.liu@intel.com>
14837
14838 PR target/104375
14839 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
14840 define_insn.
14841
14842 2022-05-18 liuhongt <hongtao.liu@intel.com>
14843
14844 PR target/104610
14845 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
14846 for QImode when code is EQ or NE.
14847 * config/i386/i386.md (cbranchoi4): New expander.
14848
14849 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
14850 Segher Boessenkool <segher@kernel.crashing.org>
14851
14852 PR target/105556
14853 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
14854 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
14855 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
14856 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
14857 Update other operands accordingly.
14858
14859 2022-05-17 Marek Polacek <polacek@redhat.com>
14860
14861 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
14862
14863 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
14864
14865 PR target/99685
14866 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
14867 register count when not splitting IEEE 128-bit Complex.
14868
14869 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
14870
14871 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
14872 target inside target if inner is reverse offload.
14873
14874 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
14875
14876 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
14877 * config/nvptx/mkoffload.cc (process): Likewise.
14878
14879 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
14880
14881 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
14882 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
14883 (non_null_ref::~non_null_ref): Delete.
14884 (non_null_ref::set_nonnull): Delete.
14885 (non_null_ref::non_null_deref_p): Delete.
14886 (non_null_ref::process_name): Delete.
14887 (ranger_cache::ranger_cache): Initialize m_exit object.
14888 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
14889 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
14890 (ranger_cache::update_to_nonnull): Delete.
14891 (non_null_loadstore): Delete.
14892 (ranger_cache::block_apply_nonnull): Delete.
14893 (ranger_cache::apply_side_effects): New.
14894 * gimple-range-cache.h (class non_null_ref): Delete.
14895 (non_null_ref::adjust_range): Delete.
14896 (class ranger_cache): Adjust prototypes, add side effect manager.
14897 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
14898 side effect manager for queries.
14899 (path_range_query::adjust_for_non_null_uses): Ditto.
14900 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
14901 * gimple-range-side-effect.cc: New.
14902 * gimple-range-side-effect.h: New.
14903 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
14904 (gimple_ranger::range_of_expr): Check def block for override value.
14905 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
14906 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
14907 (gimple_ranger::register_side_effects): Call apply_side_effects.
14908 (enable_ranger): Update contructor.
14909 * gimple-range.h (class gimple_ranger): Update prototype.
14910 (enable_ranger): Update prototype.
14911 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
14912
14913 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
14914
14915 PR c++/105169
14916 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
14917 * varasm.cc (switch_to_comdat_section): New
14918 (handle_vtv_comdat_section): Call switch_to_comdat_section.
14919 * varasm.h: Declare switch_to_comdat_section.
14920
14921 2022-05-17 Richard Biener <rguenther@suse.de>
14922
14923 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
14924 not clear bb->aux of the copied blocks.
14925
14926 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
14927
14928 PR tree-optimization/105458
14929 * value-relation.cc (path_oracle::register_relation): Merge, then check
14930 for equivalence.
14931
14932 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
14933
14934 PR target/105624
14935 Revert:
14936 * config/i386/i386.md: Remove constraints when used with
14937 const_int_operand, const0_operand, const_1_operand, constm1_operand,
14938 const8_operand, const128_operand, const248_operand, const123_operand,
14939 const2367_operand, const1248_operand, const359_operand,
14940 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
14941 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
14942 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
14943 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
14944 const_0_to_255_mul_8_operand, const_1_to_31_operand,
14945 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
14946 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
14947 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
14948 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
14949 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
14950 const_24_to_27_operand and const_28_to_31_operand.
14951 * config/i386/mmx.md: Ditto.
14952 * config/i386/sse.md: Ditto.
14953 * config/i386/subst.md: Ditto.
14954 * config/i386/sync.md: Ditto.
14955
14956 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
14957
14958 * diagnostic.cc: Don't advise to call 'abort' instead of
14959 'internal_error'.
14960 * system.h: Advise to call 'internal_error' instead of 'abort' or
14961 'fancy_abort'.
14962
14963 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
14964
14965 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
14966 a reference to a variable which does not exist.
14967 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
14968 in comment.
14969
14970 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
14971
14972 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
14973 (isl_id_for_parameter): ... this new function name.
14974 (build_scop_context): Adjust function use.
14975
14976 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
14977
14978 PR target/105602
14979 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
14980 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
14981
14982 2022-05-17 Jakub Jelinek <jakub@redhat.com>
14983
14984 * tree-core.h (enum omp_clause_depend_kind): Add
14985 OMP_CLAUSE_DEPEND_INOUTSET.
14986 * tree-pretty-print.cc (dump_omp_clause): Handle
14987 OMP_CLAUSE_DEPEND_INOUTSET.
14988 * gimplify.cc (gimplify_omp_depend): Likewise.
14989 * omp-low.cc (lower_depend_clauses): Likewise.
14990
14991 2022-05-17 Jakub Jelinek <jakub@redhat.com>
14992
14993 PR target/105613
14994 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
14995 andv4si3 only for EQ, for NE use iorv4si3 instead.
14996
14997 2022-05-17 Richard Biener <rguenther@suse.de>
14998
14999 PR tree-optimization/105618
15000 * tree-ssa-sink.cc (statement_sink_location): For virtual
15001 PHI uses ignore those defining the used virtual operand.
15002
15003 2022-05-17 Jakub Jelinek <jakub@redhat.com>
15004
15005 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
15006 hanlde -> handle. Fix up comment formatting.
15007
15008 2022-05-17 liuhongt <hongtao.liu@intel.com>
15009
15010 PR target/105033
15011 * config/i386/sse.md (*vec_concatv4si): Extend to ..
15012 (*vec_concat<mode>): .. V16QI and V8HImode.
15013 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
15014 (*vec_concatv8hi_permt2): Ditto.
15015
15016 2022-05-17 liuhongt <hongtao.liu@intel.com>
15017
15018 PR tree-optimization/105591
15019 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
15020 vec_perm_expr index.
15021
15022 2022-05-16 Jason Merrill <jason@redhat.com>
15023
15024 PR c/105492
15025 * attribs.cc (decl_attributes): Fix broken typedefs here.
15026
15027 2022-05-16 David Malcolm <dmalcolm@redhat.com>
15028
15029 PR analyzer/105103
15030 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
15031 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
15032 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
15033 -Wanalyzer-va-list-use-after-va-end.
15034
15035 2022-05-16 Richard Biener <rguenther@suse.de>
15036
15037 * gimple-match.h (gimple_build): Move code_helper overloads ...
15038 * gimple-fold.h (gimple_build): ... here.
15039 (gimple_build): Transition to new worker API. Provide
15040 overloads from sequence-based API.
15041 (gimple_convert): Likewise.
15042 (gimple_convert_to_ptrofftype): Likewise.
15043 (gimple_build_vector_from_val): Likewise.
15044 (gimple_build_vector): Likewise.
15045 (gimple_build_round_up): Likewise.
15046 * gimple-fold.cc (gimple_build_insert_seq): New helper.
15047 (gimple_build): Use it. Transition combined_fn and code_helper
15048 API parts.
15049 (gimple_convert): Transition to new worker API.
15050 (gimple_convert_to_ptrofftype): Likewise.
15051 (gimple_build_vector_from_val): Likewise.
15052 (gimple_build_vector): Likewise.
15053 (gimple_build_round_up): Likewise.
15054
15055 2022-05-16 Richard Biener <rguenther@suse.de>
15056
15057 * gimple-match.h (code_helper): Move class ...
15058 * tree.h (code_helper): ... here.
15059
15060 2022-05-16 Martin Liska <mliska@suse.cz>
15061
15062 * opts-global.cc (write_langs): Add comment.
15063
15064 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
15065
15066 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
15067 instead of a bitwise negation.
15068 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
15069
15070 2022-05-16 Martin Liska <mliska@suse.cz>
15071
15072 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
15073 (decls_mismatched_attributes): Likewise.
15074 * builtins.cc (c_strlen): Likewise.
15075 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
15076 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
15077 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
15078 (aarch64_init_simd_builtin_types): Likewise.
15079 (aarch64_init_builtin_rsqrt): Likewise.
15080 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
15081 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
15082 (arm_init_simd_builtin_types): Likewise.
15083 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
15084 (c_prefix): Likewise.
15085 (main): Likewise.
15086 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
15087 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
15088 * config/gcn/mkoffload.cc (process_obj): Likewise.
15089 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
15090 (fold_builtin_cpu): Likewise.
15091 * config/m32c/m32c.cc (PUSHM_N): Likewise.
15092 * config/nvptx/mkoffload.cc (process): Likewise.
15093 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
15094 * config/s390/s390.cc (NR_C_MODES): Likewise.
15095 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
15096 (create_insn_code_compression_table): Likewise.
15097 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
15098 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
15099 * dwarf2out.cc (ARRAY_SIZE): Likewise.
15100 * genhooks.cc (emit_documentation): Likewise.
15101 (emit_init_macros): Likewise.
15102 * gimple-ssa-sprintf.cc (format_floating): Likewise.
15103 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
15104 * godump.cc (keyword_hash_init): Likewise.
15105 * hash-table.cc (hash_table_higher_prime_index): Likewise.
15106 * input.cc (for_each_line_table_case): Likewise.
15107 * ipa-free-lang-data.cc (free_lang_data): Likewise.
15108 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
15109 * optc-save-gen.awk: Likewise.
15110 * spellcheck.cc (test_metric_conditions): Likewise.
15111 * tree-vect-slp-patterns.cc (sizeof): Likewise.
15112 (ARRAY_SIZE): Likewise.
15113 * tree.cc (build_common_tree_nodes): Likewise.
15114
15115 2022-05-16 Martin Liska <mliska@suse.cz>
15116
15117 * opts-global.cc (write_langs): Allocate at least one byte.
15118
15119 2022-05-16 Richard Biener <rguenther@suse.de>
15120
15121 * match.pd (A cmp B ? A : B -> min/max): New patterns
15122 carried over from fold_cond_expr_with_comparison.
15123
15124 2022-05-16 liuhongt <hongtao.liu@intel.com>
15125
15126 PR target/105587
15127 * config/i386/i386-expand.cc
15128 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
15129 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
15130
15131 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
15132
15133 * config/i386/i386.md: Remove constraints when used with
15134 const_int_operand, const0_operand, const_1_operand, constm1_operand,
15135 const8_operand, const128_operand, const248_operand, const123_operand,
15136 const2367_operand, const1248_operand, const359_operand,
15137 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
15138 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
15139 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
15140 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
15141 const_0_to_255_mul_8_operand, const_1_to_31_operand,
15142 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
15143 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
15144 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
15145 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
15146 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
15147 const_24_to_27_operand and const_28_to_31_operand.
15148 * config/i386/mmx.md: Ditto.
15149 * config/i386/sse.md: Ditto.
15150 * config/i386/subst.md: Ditto.
15151 * config/i386/sync.md: Ditto.
15152
15153 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
15154 Uroš Bizjak <ubizjak@gmail.com>
15155
15156 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
15157 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
15158 by a pshufd and pand.
15159 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
15160 vector equality as a V2DImode vector comparison (see above),
15161 followed by a pshufd and pand.
15162
15163 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
15164
15165 PR tree-optimization/83907
15166 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
15167 for memset with an constant char value.
15168 (handle_store): Improved handling of stores with a first byte
15169 of zero, but not storing_all_zeros_p.
15170
15171 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
15172 Manolis Tsamis <manolis.tsamis@vrull.eu>
15173
15174 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
15175 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
15176 * doc/sourcebuild.texi: add documentation for RISC-V specific
15177 test target keywords
15178
15179 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15180
15181 PR tree-optimization/105597
15182 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
15183 of the lhs and make sure it is not undefined.
15184
15185 2022-05-13 Sebastian Pop <spop@amazon.com>
15186
15187 PR target/105162
15188 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
15189 of str array.
15190 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
15191 memmodel_from_int and handle MEMMODEL_SYNC_*.
15192 (DEF0): Add __aarch64_*_sync functions.
15193
15194 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15195
15196 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
15197 enumerated values.
15198 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
15199 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
15200 new VREL enumerated values.
15201 (*::lhs_op2_relation): Ditto.
15202 (*::op1_op2_relation): Ditto.
15203 (*::fold_range): Use new VREL enumerated values.
15204 (minus_op1_op2_relation_effect): Ditto.
15205 (range_relational_tests): Ditto.
15206 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
15207 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
15208 relation_kind.
15209 (*_op1_op2_relation): Return relation_kind.
15210 (relop_early_resolve): Use VREL_UNDEFINED.
15211 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
15212 * value-relation.cc (VREL_LAST): Change enumerated value.
15213 (vrel_range_assert): Delete.
15214 (print_relation): Remove range assert.
15215 (rr_negate_table): Adjust table to use new enumerated values..
15216 (relation_negate): Remove range assert.
15217 (rr_swap_table): Adjust.
15218 (relation_swap): Remove range assert.
15219 (rr_intersect_table): Adjust.
15220 (relation_intersect): Remove range assert.
15221 (rr_union_table): Adjust.
15222 (relation_union): Remove range assert.
15223 (rr_transitive_table): Adjust.
15224 (relation_transitive): Remove range assert.
15225 (equiv_oracle::query_relation): Use new VREL enumerated values.
15226 (equiv_oracle::register_relation): Ditto.
15227 (relation_oracle::register_stmt): Ditto.
15228 (dom_oracle::set_one_relation): Ditto.
15229 (dom_oracle::register_transitives): Ditto.
15230 (dom_oracle::query_relation): Ditto.
15231 (path_oracle::register_relation): Ditto.
15232 (path_oracle::query_relation): Ditto.
15233 * value-relation.h (enum relation_kind_t): New relation_kind.
15234 (*_op1_op2_relation): Adjust prototypes.
15235
15236 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15237
15238 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
15239 * value-range.cc (irange::legacy_verbose_union_): Add return value.
15240 (irange::irange_single_pair_union): New.
15241 (irange::irange_union): Add return value.
15242 * value-range.h (class irange): Adjust prototypes.
15243
15244 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15245
15246 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
15247 (irange::irange_contains_p): New.
15248 (irange::irange_intersect): Add return value.
15249 * value-range.h (class irange): Adjust prototypes.
15250
15251 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15252
15253 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
15254 had_global value instead.
15255
15256 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15257
15258 PR tree-optimization/104547
15259 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
15260 the op1/op2 relation to the relation call.
15261 * range-op.cc (*::lhs_op1_relation): Add param.
15262 (*::lhs_op2_relation): Ditto.
15263 (operator_minus::lhs_op1_relation): New.
15264 (range_relational_tests): Add relation param.
15265 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
15266
15267 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15268
15269 * gimple-range.cc (gimple_ranger::register_side_effects): First check
15270 if the DEF should be exported as a global.
15271 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
15272 which will export globals.
15273 (execute_ranger_vrp): Remove call to export_global_ranges.
15274
15275 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15276
15277 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
15278
15279 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
15280
15281 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
15282 worlist truncated.
15283 (ranger_cache::entry_range): Add rfd_mode parameter.
15284 (ranger_cache::exit_range): Ditto.
15285 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
15286 (ranger_cache::range_of_expr): Adjust call to entry_range.
15287 (ranger_cache::range_on_edge): Split to edge_range and call.
15288 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
15289 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
15290 mutiple predecessors.
15291 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
15292 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
15293 prototypes.
15294
15295 2022-05-13 Alexandre Oliva <oliva@adacore.com>
15296
15297 * gimple-harden-conditionals.cc: Include sbitmap.h.
15298 (pass_harden_conditional_branches::execute): Skip new blocks.
15299 (pass_harden_compares::execute): Likewise.
15300
15301 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
15302
15303 PR target/105463
15304 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
15305 mve_memory_operand.
15306 (*movmisalign<mode>_mve_load): Likewise.
15307 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
15308 form...
15309 (@movmisalign<mode>): ... thus. Use generic predicates and then
15310 rework operands if they are not valid. For MVE rework to a
15311 narrower element size if the alignment is not high enough.
15312
15313 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
15314
15315 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
15316 when there is no write-back. Fix use when strict is true.
15317
15318 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15319
15320 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
15321 definition.
15322
15323 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15324
15325 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
15326 extzvsi_internal): Rename from extv, extv_internal, extzv and
15327 extzv_internal, respectively.
15328
15329 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
15330
15331 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
15332 is the same on the LHS and RHS before rewriting one with the model
15333 of the other.
15334
15335 2022-05-13 Richard Biener <rguenther@suse.de>
15336
15337 * gimple-fold.cc (gimple_build): Adjust for new
15338 main API.
15339 * gimple-fold.h (gimple_build): New main APIs with
15340 iterator, insert direction and iterator update.
15341 (gimple_build): New forwarder template.
15342 (clear_padding_type_may_have_padding_p): Remove.
15343 (clear_type_padding_in_mask): Likewise.
15344 (arith_overflowed_p): Likewise.
15345 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
15346 (clear_type_padding_in_mask): Likewise.
15347 (arith_overflowed_p): Likewise.
15348 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
15349 (gimplify_build2): Likewise.
15350 (gimplify_build1): Likewise.
15351 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
15352 compare stmt.
15353 * gengtype.cc (open_base_files): Re-order includes.
15354 * builtins.cc: Re-order gimple-fold.h include.
15355 * calls.cc: Likewise.
15356 * cgraphbuild.cc: Likewise.
15357 * cgraphunit.cc: Likewise.
15358 * config/rs6000/rs6000-builtin.cc: Likewise.
15359 * config/rs6000/rs6000-call.cc: Likewise.
15360 * config/rs6000/rs6000.cc: Likewise.
15361 * config/s390/s390.cc: Likewise.
15362 * expr.cc: Likewise.
15363 * fold-const.cc: Likewise.
15364 * function-tests.cc: Likewise.
15365 * gimple-match-head.cc: Likewise.
15366 * gimple-range-fold.cc: Likewise.
15367 * gimple-ssa-evrp-analyze.cc: Likewise.
15368 * gimple-ssa-evrp.cc: Likewise.
15369 * gimple-ssa-sprintf.cc: Likewise.
15370 * gimple-ssa-warn-access.cc: Likewise.
15371 * gimplify.cc: Likewise.
15372 * graphite-isl-ast-to-gimple.cc: Likewise.
15373 * ipa-cp.cc: Likewise.
15374 * ipa-devirt.cc: Likewise.
15375 * ipa-prop.cc: Likewise.
15376 * omp-low.cc: Likewise.
15377 * pointer-query.cc: Likewise.
15378 * range-op.cc: Likewise.
15379 * tree-cfg.cc: Likewise.
15380 * tree-if-conv.cc: Likewise.
15381 * tree-inline.cc: Likewise.
15382 * tree-object-size.cc: Likewise.
15383 * tree-ssa-ccp.cc: Likewise.
15384 * tree-ssa-dom.cc: Likewise.
15385 * tree-ssa-forwprop.cc: Likewise.
15386 * tree-ssa-ifcombine.cc: Likewise.
15387 * tree-ssa-loop-ivcanon.cc: Likewise.
15388 * tree-ssa-math-opts.cc: Likewise.
15389 * tree-ssa-pre.cc: Likewise.
15390 * tree-ssa-propagate.cc: Likewise.
15391 * tree-ssa-reassoc.cc: Likewise.
15392 * tree-ssa-sccvn.cc: Likewise.
15393 * tree-ssa-strlen.cc: Likewise.
15394 * tree-ssa.cc: Likewise.
15395 * value-pointer-equiv.cc: Likewise.
15396 * vr-values.cc: Likewise.
15397
15398 2022-05-13 Alexandre Oliva <oliva@adacore.com>
15399
15400 PR rtl-optimization/105455
15401 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
15402 probabilities for newly-conditional edges.
15403
15404 2022-05-13 liuhongt <hongtao.liu@intel.com>
15405
15406 PR tree-optimization/102583
15407 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
15408 contiguous stride in the VEC_PERM_EXPR.
15409
15410 2022-05-12 Richard Biener <rguenther@suse.de>
15411
15412 PR rtl-optimization/105577
15413 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
15414 edges before running fast DCE via df_analyze.
15415
15416 2022-05-12 Richard Biener <rguenther@suse.de>
15417
15418 PR tree-optimization/105562
15419 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
15420 against all CLOBBER defs if there's not an obvious must-alias
15421 and we are not doing redundant store elimination.
15422 (vn_walk_cb_data::redundant_store_removal_p): New field.
15423 (vn_reference_lookup_pieces): Initialize it.
15424 (vn_reference_lookup): Add argument to specify if we are
15425 doing redundant store removal.
15426 (eliminate_dom_walker::eliminate_stmt): Specify we do.
15427 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
15428
15429 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
15430
15431 PR target/104371
15432 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
15433 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
15434 New define_split pattern.
15435
15436 2022-05-12 Jakub Jelinek <jakub@redhat.com>
15437
15438 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
15439 if null_pointer_node.
15440 (gimplify_scan_omp_clauses): Likewise.
15441 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
15442 as omp_all_memory.
15443
15444 2022-05-11 Patrick Palka <ppalka@redhat.com>
15445
15446 * tree.h (TREE_VEC_BEGIN): Define.
15447 (TREE_VEC_END): Correct 'length' member access.
15448 (class tree_vec_range): Define.
15449
15450 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
15451
15452 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
15453
15454 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
15455
15456 * config/rs6000/rs6000.md: Use d instead of <Ff>.
15457
15458 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
15459
15460 * config/rs6000/constraints.md (register_constraint "f"): Use
15461 RS6000_CONSTRAINT_d.
15462 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
15463 RS6000_CONSTRAINT_f.
15464 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
15465 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
15466 RS6000_CONSTRAINT_d.
15467
15468 2022-05-11 Richard Biener <rguenther@suse.de>
15469
15470 * gimple-fold.h (gimple_build): Use variadic template
15471 functions for the gimple_build API forwarders without
15472 location_t argument.
15473
15474 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
15475
15476 PR middle-end/70090
15477 * asan.cc (initialize_sanitizer_builtins): Register
15478 __builtin_dynamic_object_size if necessary.
15479
15480 2022-05-11 Richard Biener <rguenther@suse.de>
15481
15482 PR rtl-optimization/105559
15483 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
15484 for non-debug insns.
15485
15486 2022-05-11 Richard Biener <rguenther@suse.de>
15487
15488 * generic-match-head.cc: Include tree-eh.h.
15489 * match.pd ((cond ...) cmp X): New simplification inspired
15490 by fold_binary_op_with_conditional_arg.
15491 (eq/ne (cmp ...) true/false): Likewise.
15492
15493 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
15494
15495 * doc/install.texi: Don't document '--with-hsa-runtime',
15496 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
15497
15498 2022-05-11 Martin Liska <mliska@suse.cz>
15499
15500 PR other/105527
15501 * doc/install.texi: Document the configure option --with-zstd.
15502
15503 2022-05-11 Martin Liska <mliska@suse.cz>
15504
15505 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
15506 compute index in cpu_features2.
15507 (set_cpu_feature): Likewise.
15508 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
15509 loop for cpu_features2 and use NOP_EXPRs.
15510
15511 2022-05-11 Richard Biener <rguenther@suse.de>
15512
15513 PR bootstrap/105551
15514 * opts.cc (finish_options): Also disable var-tracking if
15515 !DWARF2_DEBUGGING_INFO.
15516
15517 2022-05-11 liuhongt <hongtao.liu@intel.com>
15518
15519 PR target/104915
15520 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
15521 pre_reload define_insn_and_split.
15522 (*vec_setv2di_0_zero_extendhi_1): Ditto.
15523 (*vec_set<mode>_0_zero_extendsi): Ditto.
15524 (*vec_setv2di_0_zero_extendsi_1): Ditto.
15525 (ssewvecmode): New mode attr.
15526 (ssewvecmodelower): Ditto.
15527 (ssepackmodelower): Ditto.
15528
15529 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
15530
15531 * config/rs6000/constraints.md (register constraint v): Use
15532 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
15533
15534 2022-05-11 Martin Liska <mliska@suse.cz>
15535
15536 PR target/105355
15537 * config/riscv/riscv.opt: Remove Separate from
15538 -msmall-data-limit=.
15539 * optc-gen.awk: Report error for the described situation.
15540 * gcc.cc: Use Separate syntax.
15541 * opts.cc (gen_command_line_string): Change option name.
15542
15543 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
15544
15545 PR target/105414
15546 * match.pd (minmax): Skip constant folding for fmin/fmax when both
15547 arguments are sNaN or one is sNaN and another is NaN.
15548
15549 2022-05-10 Jakub Jelinek <jakub@redhat.com>
15550
15551 PR tree-optimization/105528
15552 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
15553 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
15554
15555 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
15556
15557 * doc/md.texi (Defining Mode Iterators): Correct example replacement
15558 text.
15559
15560 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
15561
15562 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
15563 constants.
15564 (fmin<mode>3, fmax<mode>3): New insns.
15565
15566 2022-05-10 Richard Biener <rguenther@suse.de>
15567
15568 * tree-if-conv.cc (fold_build_cond_expr): Use
15569 match-and-simplify to simplify the condition.
15570 (ifcvt_follow_ssa_use_edges): Remove.
15571 (predicate_scalar_phi): Use follow_all_ssa_edges.
15572
15573 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
15574
15575 PR middle-end/100400
15576 * omp-oacc-kernels-decompose.cc
15577 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
15578 call 'internal_error'.
15579
15580 2022-05-10 Richard Biener <rguenther@suse.de>
15581
15582 PR middle-end/105537
15583 * toplev.cc (process_options): Move flag_var_tracking
15584 handling ...
15585 * opts.cc (finish_options): ... here.
15586
15587 2022-05-10 Martin Liska <mliska@suse.cz>
15588
15589 * basic-block.h (struct basic_block_d): Use void *
15590 instead PTR.
15591 * cfgloop.h: Likewise.
15592 * cgraph.h: Likewise.
15593 * gengtype-state.cc (state_ident_by_name): Likewise.
15594 (record_type): Likewise.
15595 (read_state_already_seen_type): Likewise.
15596 * gengtype.cc (dump_type): Likewise.
15597 (input_file_by_name): Likewise.
15598 (main): Likewise.
15599 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
15600 * ipa-utils.h (struct ipa_dfs_info): Likewise.
15601 * plugin.cc (htab_hash_plugin): Likewise.
15602
15603 2022-05-10 Richard Biener <rguenther@suse.de>
15604
15605 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
15606 API with !GENERATOR_FILE.
15607 * opts.cc (global_options): Poison.
15608 (global_options_set): Likewise.
15609 (finish_options): Refer to options via opts.
15610
15611 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
15612 Roger Sayle <roger@nextmovesoftware.com>
15613
15614 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
15615 alternative when optimizing for size and the immediate operand is
15616 const_0_to_127_operand.
15617 (*andqi_2_maybe_si): Likewise.
15618 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
15619
15620 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
15621
15622 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
15623 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
15624 can't be negative.
15625
15626 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
15627
15628 PR target/105292
15629 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
15630 true only for 8-byte vector modes.
15631
15632 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
15633
15634 PR middle-end/70090
15635 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
15636 (instrument_object_size): Get dynamic object size expression.
15637
15638 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
15639
15640 PR preprocessor/101168
15641 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
15642 Avoid empty identifier.
15643
15644 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
15645
15646 PR target/101891
15647 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
15648 as a generic MMX mode instead of V4HImode.
15649 (zero_all_mm_registers): Use SET to zero instead of MOV for
15650 zeroing scratch registers.
15651 (ix86_zero_call_used_regs): Likewise.
15652
15653 2022-05-09 liuhongt <hongtao.liu@intel.com>
15654
15655 PR target/105354
15656 * config/i386/i386-expand.cc
15657 (expand_vec_perm_pslldq_psrldq_por): New function.
15658 (ix86_expand_vec_perm_const_1): Try
15659 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
15660 4/5-instruction sequence.
15661
15662 2022-05-09 Martin Liška <mliska@suse.cz>
15663
15664 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
15665 * system.h (STATIC_ASSERT): Define as static_assert for C++
15666 and fallback to array index in C.
15667
15668 2022-05-09 Richard Biener <rguenther@suse.de>
15669
15670 PR tree-optimization/105517
15671 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
15672 offset can be represented in the POINTER_PLUS_EXPR IL.
15673 (vn_reference_insert): Likewise.
15674 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
15675
15676 2022-05-09 Richard Biener <rguenther@suse.de>
15677
15678 * match.pd: Remove #if GIMPLE guards around ! using patterns.
15679
15680 2022-05-09 liuhongt <hongtao.liu@intel.com>
15681
15682 PR target/105072
15683 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
15684 New define_insn.
15685 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
15686 define_insn_and_split.
15687
15688 2022-05-09 Alex Coplan <alex.coplan@arm.com>
15689
15690 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
15691 symtab state is PARSING.
15692
15693 2022-05-09 Martin Liska <mliska@suse.cz>
15694
15695 * system.h (LIKELY): Define.
15696 (UNLIKELY): Likewise.
15697 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
15698 macros.
15699 * dse.cc (set_position_unneeded): Likewise.
15700 (set_all_positions_unneeded): Likewise.
15701 (any_positions_needed_p): Likewise.
15702 (all_positions_needed_p): Likewise.
15703 * expmed.cc (flip_storage_order): Likewise.
15704 * genmatch.cc (dt_simplify::gen_1): Likewise.
15705 * ggc-common.cc (gt_pch_save): Likewise.
15706 * print-rtl.cc: Likewise.
15707 * rtl-iter.h (T>::array_type::~array_type): Likewise.
15708 (T>::next): Likewise.
15709 * rtl-ssa/internals.inl: Likewise.
15710 * rtl-ssa/member-fns.inl: Likewise.
15711 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
15712 (rtx_properties::try_to_add_dest): Likewise.
15713 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
15714 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
15715 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
15716 * sort.cc (likely): Likewise.
15717 (mergesort): Likewise.
15718 * wide-int.h (wi::eq_p): Likewise.
15719 (wi::ltu_p): Likewise.
15720 (wi::cmpu): Likewise.
15721 (wi::bit_and): Likewise.
15722 (wi::bit_and_not): Likewise.
15723 (wi::bit_or): Likewise.
15724 (wi::bit_or_not): Likewise.
15725 (wi::bit_xor): Likewise.
15726 (wi::add): Likewise.
15727 (wi::sub): Likewise.
15728
15729 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
15730
15731 * config/riscv/arch-canonicalize: Handle g correctly.
15732
15733 2022-05-07 Marek Polacek <polacek@redhat.com>
15734
15735 PR c++/101833
15736 PR c++/47634
15737 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
15738
15739 2022-05-06 Jason Merrill <jason@redhat.com>
15740
15741 * diagnostic-color.cc: Add fnname and targs color entries.
15742 * doc/invoke.texi: Document them.
15743
15744 2022-05-06 Jason Merrill <jason@redhat.com>
15745
15746 * vec.h (vec::iterate): Fix comment.
15747
15748 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
15749
15750 PR target/102059
15751 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
15752 and -mpower10-fusion options for inlining purposes.
15753
15754 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
15755
15756 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
15757
15758 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
15759
15760 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
15761 omp_runtime_apis array.
15762
15763 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
15764
15765 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
15766 (scan_sharing_clauses): Check a restriction on allocate clause.
15767
15768 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
15769
15770 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
15771 and ORDERED clause conflict errors. Add check for GRAINSIZE and
15772 NUM_TASKS on TASKLOOP.
15773
15774 2022-05-05 Martin Liska <mliska@suse.cz>
15775
15776 * genautomata.cc (create_composed_state): Remove dead code.
15777 * graphite-poly.cc (print_pdrs): Likewise.
15778 * lto-wrapper.cc (run_gcc): Likewise.
15779 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
15780 Likewise.
15781
15782 2022-05-05 Martin Liska <mliska@suse.cz>
15783
15784 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
15785 PROF_*.
15786 (gimple_gen_time_profiler): Likewise.
15787
15788 2022-05-05 Martin Liska <mliska@suse.cz>
15789
15790 * value-prof.cc (stream_out_histogram_value): Remove sanity
15791 checking.
15792
15793 2022-05-05 Richard Biener <rguenther@suse.de>
15794
15795 PR tree-optimization/104162
15796 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
15797 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
15798 becomes invariant.
15799 (vn_reference_insert): Likewise.
15800
15801 2022-05-05 Richard Biener <rguenther@suse.de>
15802
15803 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
15804 to real_value field.
15805 (tree_real_cst::value): Add real_value field.
15806 * tree.h (TREE_REAL_CST_PTR): Adjust.
15807 * tree.cc (build_real): Remove separate allocation.
15808 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
15809 Likewise.
15810
15811 2022-05-05 Richard Biener <rguenther@suse.de>
15812
15813 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
15814 divisions with undefined overflow unconditionally.
15815 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
15816 overflow to defined.
15817
15818 2022-05-05 Richard Biener <rguenther@suse.de>
15819
15820 PR tree-optimization/105484
15821 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
15822 whether the CFG changed.
15823 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
15824
15825 2022-05-05 Richard Biener <rguenther@suse.de>
15826
15827 PR tree-optimization/104595
15828 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
15829 COND_EXPR do not fail if check_bool_pattern returns false.
15830
15831 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
15832
15833 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
15834 item that is in an outer data-sharing clause.
15835
15836 2022-05-04 Richard Biener <rguenther@suse.de>
15837
15838 PR tree-optimization/104658
15839 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
15840 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
15841 type on nodes we promote.
15842 (vectorizable_bb_reduc_epilogue): Deal with externalized
15843 root.
15844 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
15845 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
15846
15847 2022-05-04 Richard Biener <rguenther@suse.de>
15848
15849 PR tree-optimization/103116
15850 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
15851 case we need peeling for gaps even though GROUP_GAP is zero.
15852
15853 2022-05-04 Martin Liska <mliska@suse.cz>
15854
15855 * gengtype-state.cc (read_a_state_token): Remove dead code.
15856 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
15857
15858 2022-05-04 Richard Biener <rguenther@suse.de>
15859
15860 * gimplify.cc (gimplify_init_constructor): First gimplify,
15861 then simplify the result to a VECTOR_CST.
15862
15863 2022-05-04 Jakub Jelinek <jakub@redhat.com>
15864
15865 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
15866 element at the end of insn_conditions.
15867 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
15868 ARRAY_SIZE (insn_conditions).
15869
15870 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
15871
15872 PR target/104662
15873 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
15874 vector of booleans and MVE is not enabled.
15875
15876 2022-05-04 Richard Biener <rguenther@suse.de>
15877
15878 PR debug/105158
15879 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
15880 Move debug stmts to the predecessor if moving to the
15881 destination is not possible.
15882 (remove_forwarder_block): Adjust.
15883 (remove_forwarder_block_with_phi): Likewise.
15884
15885 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
15886
15887 PR tree-optimization/102950
15888 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
15889 determine bounds of bitwise operations on signed types.
15890 (operator_bitwise_and::wi_fold): Call the above function.
15891 (operator_bitwise_or::wi_fold): Likewise.
15892 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
15893 result can't be zero if the operands can't be equal.
15894
15895 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
15896
15897 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
15898 protocol class methods linker-visible.
15899
15900 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
15901
15902 PR target/105079
15903 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
15904 define_insn_and_split pattern.
15905
15906 2022-05-03 Richard Biener <rguenther@suse.de>
15907
15908 PR middle-end/105083
15909 * tree-scalar-evolution.cc (scev_initialize): Verify we
15910 have appropriate loop state.
15911 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
15912 loop init and finalization.
15913
15914 2022-05-03 Richard Biener <rguenther@suse.de>
15915
15916 PR middle-end/105461
15917 * opts.cc (finish_options): Match the condition to
15918 disable flag_var_tracking to that of process_options.
15919
15920 2022-05-03 Richard Biener <rguenther@suse.de>
15921
15922 * opts.cc: #undef OPTIONS_SET_P.
15923 (finish_options): Use opts_set instead of OPTIONS_SET_P.
15924
15925 2022-05-03 Richard Biener <rguenther@suse.de>
15926
15927 PR tree-optimization/105394
15928 * tree-vect-generic.cc (expand_vector_condition): Adjust
15929 comp_width for non-integer mode masks as well.
15930
15931 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
15932
15933 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
15934 omp_runtime_apis array.
15935
15936 2022-05-02 Richard Biener <rguenther@suse.de>
15937
15938 * tree-scalar-evolution.cc (expression_expensive_p):
15939 Never consider mismatched calls as cheap.
15940
15941 2022-05-02 Richard Biener <rguenther@suse.de>
15942
15943 PR tree-optimization/104240
15944 * tree-vect-slp.cc (op1_op0_map): New.
15945 (vect_get_operand_map): Handle compares.
15946 (vect_build_slp_tree_1): Support swapped operands for
15947 tcc_comparison.
15948
15949 2022-05-02 Jakub Jelinek <jakub@redhat.com>
15950
15951 PR debug/105415
15952 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
15953 if there is no symtab node for the VAR_DECL.
15954
15955 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
15956
15957 * gcov-io.cc (gcov_rewrite): Clear the file error status.
15958
15959 2022-05-02 Richard Biener <rguenther@suse.de>
15960
15961 PR tree-optimization/105437
15962 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
15963 case where last_stmt alters control flow.
15964
15965 2022-05-02 Richard Biener <rguenther@suse.de>
15966
15967 * dojump.cc (do_jump): Use CASE_CONVERT.
15968 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
15969
15970 2022-05-02 Jakub Jelinek <jakub@redhat.com>
15971
15972 * system.h: Include initializer_list.
15973
15974 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
15975
15976 * config/rs6000/constraints.md (Y constraint): Fix comment.
15977
15978 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
15979
15980 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
15981 VR_RANGE before passing a piecewise range to set_range_info_raw.
15982
15983 2022-04-30 Patrick Palka <ppalka@redhat.com>
15984
15985 * gengtype.cc (adjust_field_tree_exp): Remove.
15986 (adjust_field_type): Don't handle the "tree_exp" special attribute.
15987 * tree-core.h (struct tree_exp): Remove "special" and "desc"
15988 attributes. Add "length" attribute.
15989
15990 2022-04-29 Martin Jambor <mjambor@suse.cz>
15991
15992 PR ipa/100413
15993 * cgraph.cc (cgraph_node::remove): Release body of the node this
15994 is clone_of if appropriate.
15995
15996 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
15997
15998 PR target/51954
15999 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
16000
16001 2022-04-29 Richard Biener <rguenther@suse.de>
16002
16003 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
16004 (canonicalize_cond_expr_cond): Move here from gimple.cc,
16005 allow both COND_EXPR and GIMPLE_COND forms.
16006 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
16007 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
16008 * gimple.h (canonicalize_cond_expr_cond): Likewise.
16009 * gimple-loop-versioning.cc (loop_versioning::version_loop):
16010 Use is_gimple_condexpr_for_cond.
16011 * tree-parloops.cc (gen_parallel_loop): Likewise.
16012 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
16013 a proper cond expr after canonicalize_cond_expr_cond.
16014 Use is_gimple_condexpr_for_cond where appropriate.
16015 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
16016 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
16017
16018 2022-04-29 Richard Biener <rguenther@suse.de>
16019
16020 * gimple-iterator.h (gsi_after_labels): Add overload for
16021 gimple_seq.
16022 (gsi_start_1): Rename to gsi_start and take a reference.
16023 (gsi_last_1): Likewise.
16024 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
16025 * omp-low.cc (lower_rec_input_clauses): Likewise.
16026 (lower_omp_scan): Likewise.
16027
16028 2022-04-29 Richard Biener <rguenther@suse.de>
16029
16030 PR tree-optimization/105431
16031 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
16032 (powi_as_mults): Use absu_hwi.
16033 (gimple_expand_builtin_powi): Remove now pointless n != -n
16034 check.
16035
16036 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
16037
16038 * range-op.cc (empty_range_varying): Move to range-op.h.
16039 (range_true): Move to range.h.
16040 (range_false): Same.
16041 (range_true_and_false): Same.
16042 (enum bool_range_state): Move to range-op.h.
16043 (relop_early_resolve): Same.
16044 (operator_equal::op1_op2_relation): Abstract code to...
16045 (equal_op1_op2_relation): ...here.
16046 (operator_not_equal::op1_op2_relation): Abstract code to...
16047 (not_equal_op1_op2_relation): ...here.
16048 (operator_lt::op1_op2_relation): Abstract code to...
16049 (lt_op1_op2_relation): ...here.
16050 (operator_le::op1_op2_relation): Abstract code to...
16051 (le_op1_op2_relation): ...here.
16052 (operator_gt::op1_op2_relation): Abstract code to...
16053 (gt_op1_op2_relation): ...here.
16054 (operator_ge::op1_op2_relation): Abstract code to...
16055 (ge_op1_op2_relation): ...here.
16056 (class range_op_table): Move to range-op.h.
16057 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
16058 (not_equal_op1_op2_relation): Same.
16059 (lt_op1_op2_relation): Same.
16060 (le_op1_op2_relation): Same.
16061 (gt_op1_op2_relation): Same.
16062 (ge_op1_op2_relation): Same.
16063 (enum bool_range_state): Same.
16064 (get_bool_state): Same.
16065 (empty_range_varying): Same.
16066 (relop_early_resolve): Same.
16067 (class range_op_table): Same.
16068 * range.h (range_true): Same.
16069 (range_false): Same.
16070 (range_true_and_false): Same.
16071
16072 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
16073
16074 * gimple-fold.cc (size_must_be_zero_p): Use reference
16075 instead of pointer
16076 * gimple-ssa-evrp-analyze.cc
16077 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
16078 intersect to legacy_verbose_intersect.
16079 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
16080 of pointer.
16081 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
16082 instead of value_range_equiv.
16083 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
16084 instead of pointer.
16085 (find_case_label_range): Same.
16086 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
16087 (value_range_equiv::legacy_verbose_intersect): ...this.
16088 (value_range_equiv::union_): Rename to...
16089 (value_range_equiv::legacy_verbose_union_): ...this.
16090 * value-range-equiv.h (class value_range_equiv): Rename union and
16091 intersect to legacy_verbose_{intersect,union}.
16092 * value-range.cc (irange::union_): Rename to...
16093 (irange::legacy_verbose_union_): ...this.
16094 (irange::intersect): Rename to...
16095 (irange::legacy_verbose_intersect): ...this.
16096 * value-range.h (irange::union_): Rename union_ to
16097 legacy_verbose_union.
16098 (irange::intersect): Rename intersect to legacy_verbose_intersect.
16099 * vr-values.cc (vr_values::update_value_range): Same.
16100 (vr_values::extract_range_for_var_from_comparison_expr): Same.
16101 (vr_values::extract_range_from_cond_expr): Rename union_ to
16102 legacy_verbose_union.
16103 (vr_values::extract_range_from_phi_node): Same.
16104
16105 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
16106
16107 * gimple-ssa-evrp-analyze.cc
16108 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
16109 that take a range.
16110 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
16111 * ipa-prop.cc (ipcp_update_vr): Same.
16112 * tree-inline.cc (remap_ssa_name): Same.
16113 * tree-ssa-copy.cc (fini_copy_prop): Same.
16114 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
16115 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
16116 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
16117 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
16118 * tree-ssa-strlen.cc (set_strlen_range): Same.
16119 (strlen_pass::handle_builtin_string_cmp): Same.
16120 * tree-ssanames.cc (set_range_info): Make static.
16121 (duplicate_ssa_name_range_info): Make static and add a new variant
16122 calling the static.
16123 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
16124 (duplicate_ssa_name_range_info): Remove version taking a
16125 range_info_def and replace with a version taking SSA names.
16126 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
16127 that take a range.
16128 (vect_do_peeling): Same.
16129 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
16130 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
16131
16132 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
16133
16134 * value-range.h (irange::irange): Use set_undefined.
16135
16136 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
16137
16138 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
16139 irange::intersect (wide_int, wide_int).
16140 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
16141 (adjust_imagpart_expr): Same.
16142 * value-range.h (irange::intersect (wide_int, wide_int)): Make
16143 private.
16144
16145 2022-04-29 Richard Biener <rguenther@suse.de>
16146
16147 PR tree-optimization/104322
16148 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
16149
16150 2022-04-29 Richard Biener <rguenther@suse.de>
16151
16152 PR middle-end/105376
16153 * tree.cc (build_real): Special case dconst* arguments
16154 for decimal floating point types.
16155
16156 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16157
16158 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
16159 Environments): New section.
16160
16161 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16162
16163 * doc/gcov-tool.texi: Document merge-stream subcommand.
16164 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
16165 subcommand of gcov-tool.
16166 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
16167 (print_merge_stream_usage_message): New.
16168 (merge_stream_usage): Likewise.
16169 (do_merge_stream): Likewise.
16170 (print_usage): Call print_merge_stream_usage_message().
16171 (main): Call do_merge_stream() to execute merge-stream subcommand.
16172
16173 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16174
16175 * gcov-io.cc (gcov_file_error): New enum.
16176 (gcov_var): Use gcov_file_error enum for the error member.
16177 (gcov_open): Use GCOV_FILE_NO_ERROR.
16178 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
16179 (gcov_write): Likewise.
16180 (gcov_write_unsigned): Likewise.
16181 (gcov_write_string): Likewise.
16182 (gcov_read_bytes): Set error code if EOF is reached.
16183 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
16184
16185 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16186
16187 * gcov-io.cc (GCOV_MODE_STDIN): Define.
16188 (gcov_position): For gcov-tool, return calculated position if file is
16189 stdin.
16190 (gcov_open): For gcov-tool, use stdin if filename is NULL.
16191 (gcov_close): For gcov-tool, do not close stdin.
16192 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
16193 (gcov_sync): For gcov-tool, discard input if file is stdin.
16194
16195 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16196
16197 * doc/invoke.texi (fprofile-info-section): Mention
16198 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
16199 standard language. Fix minor example code issues.
16200 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
16201
16202 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16203
16204 * gcov-io.cc (gcov_seek): Make it static.
16205 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
16206
16207 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16208
16209 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
16210 (gcov_output_files): Open files for reading and writing.
16211
16212 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16213
16214 * gcov-io.cc (gcov_open): Always use the mode parameter.
16215 * gcov-io.h (gcov_open): Declare it unconditionally.
16216
16217 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
16218
16219 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
16220 (profile_merge): Allow merging of directories which contain no profile
16221 files.
16222
16223 2022-04-28 David Malcolm <dmalcolm@redhat.com>
16224
16225 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
16226 fpath.txt output.
16227
16228 2022-04-28 Jakub Jelinek <jakub@redhat.com>
16229
16230 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
16231 temporary only if out overlaps compare_op, not when it overlaps
16232 op0 or op1.
16233
16234 2022-04-28 Jakub Jelinek <jakub@redhat.com>
16235
16236 PR lto/105399
16237 * cgraph.cc (cgraph_node::verify_node): Don't verify
16238 semantic_interposition flag against
16239 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
16240
16241 2022-04-28 Jakub Jelinek <jakub@redhat.com>
16242
16243 PR target/105331
16244 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
16245 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
16246 of it.
16247
16248 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
16249
16250 * doc/install.texi (Configuration): Remove misleading text
16251 around LE PowerPC Linux multilibs.
16252
16253 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16254
16255 PR d/103528
16256 * doc/install.texi (Tools/packages necessary for building GCC)
16257 (GDC): Document libphobos requirement.
16258 (Host/target specific installation notes for GCC, *-*-solaris2*):
16259 Document libphobos and GDC specifics.
16260
16261 2022-04-28 Richard Biener <rguenther@suse.de>
16262
16263 PR tree-optimization/105219
16264 * tree-vect-loop.cc (vect_transform_loop): Disable
16265 special code narrowing the vectorized epilogue max
16266 iterations when peeling for alignment or gaps was in effect.
16267
16268 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
16269
16270 * config/loongarch/loongarch.cc
16271 (loongarch_flatten_aggregate_field): Ignore empty fields for
16272 RECORD_TYPE.
16273
16274 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
16275
16276 * config/loongarch/loongarch.md: Add fdiv define_expand template,
16277 then generate floating-point division and floating-point reciprocal
16278 instructions.
16279
16280 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
16281
16282 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
16283 to PLV instruction templates.
16284
16285 2022-04-27 Richard Biener <rguenther@suse.de>
16286
16287 PR middle-end/104492
16288 * gimple-ssa-warn-access.cc
16289 (pass_waccess::warn_invalid_pointer): Exclude equality compare
16290 diagnostics for all kind of invalidations.
16291 (pass_waccess::check_dangling_uses): Fix post-dominator query.
16292 (pass_waccess::check_pointer_uses): Likewise.
16293
16294 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
16295
16296 PR target/102024
16297 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
16298 prototype.
16299 * config/s390/s390.cc (s390_single_field_struct_p): New function.
16300 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
16301 (s390_function_arg_float): Likewise.
16302
16303 2022-04-27 Jakub Jelinek <jakub@redhat.com>
16304
16305 PR sanitizer/105396
16306 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
16307 where offset is bigger than off but smaller than m_prev_offset + 32
16308 bits by pushing one or more 0 bytes. Sink the
16309 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
16310 all cases to the end of the function.
16311
16312 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
16313
16314 PR target/105271
16315 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
16316 stanza.
16317
16318 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
16319
16320 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
16321 data-share memory exhausted" error more verbose.
16322
16323 2022-04-26 Martin Liska <mliska@suse.cz>
16324
16325 PR lto/105364
16326 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
16327 (run_gcc): Parse OPT_fdiagnostics_urls_.
16328 (main): Initialize global_dc.
16329
16330 2022-04-26 Jakub Jelinek <jakub@redhat.com>
16331
16332 PR rtl-optimization/105314
16333 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
16334 operand is equal to if_info->x, instead use the non-zero operand
16335 as one of the operands of AND with if_info->x as target.
16336
16337 2022-04-26 Jakub Jelinek <jakub@redhat.com>
16338
16339 PR tree-optimization/105374
16340 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
16341 !fold_convertible_p rather than assuming fold_convert must succeed.
16342
16343 2022-04-26 Jakub Jelinek <jakub@redhat.com>
16344
16345 PR target/105367
16346 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
16347 el_mode == DFmode ? double_type_node : float_type_node instead of
16348 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
16349
16350 2022-04-25 David Malcolm <dmalcolm@redhat.com>
16351
16352 PR analyzer/104308
16353 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
16354 the location of new_stmt in all places that don't already set it,
16355 whether explicitly, or via a call to gsi_replace.
16356
16357 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
16358
16359 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
16360
16361 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
16362
16363 PR tree-optimization/105276
16364 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
16365 existing global range with calculated value.
16366
16367 2022-04-25 Richard Biener <rguenther@suse.de>
16368
16369 PR tree-optimization/105368
16370 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
16371
16372 2022-04-25 Richard Biener <rguenther@suse.de>
16373
16374 PR tree-optimization/100810
16375 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
16376 (find_ssa_undef): New function.
16377 (add_candidate_1): Avoid adding derived candidates with
16378 undefined SSA names and mark the original ones.
16379 (determine_group_iv_cost_generic): Reject rewriting
16380 uses with a different IV when that involves undefined SSA names.
16381
16382 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
16383
16384 PR target/89125
16385 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
16386 bsd_libc_has_function.
16387 * targhooks.cc (bsd_libc_has_function): New function.
16388 Expand the supported math functions to inclue C99 libm.
16389 * targhooks.h (bsd_libc_has_function): New Prototype.
16390
16391 2022-04-25 Richard Biener <rguenther@suse.de>
16392
16393 PR rtl-optimization/105231
16394 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
16395 with landing pad > 0 is from i3. Put any REG_EH_REGION note
16396 on i3 or drop it if the insn can not trap.
16397 (try_combine): Ensure that we can merge REG_EH_REGION notes
16398 with non-call exceptions. Ensure we are not splitting a
16399 trapping part of an insn with non-call exceptions when there
16400 is any REG_EH_REGION note to preserve.
16401
16402 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
16403
16404 PR target/105339
16405 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
16406 Add parentheses for parameters and djust format.
16407 (_mm512_mask_scalef_round_pd): Ditto.
16408 (_mm512_maskz_scalef_round_pd): Ditto.
16409 (_mm512_scalef_round_ps): Ditto.
16410 (_mm512_mask_scalef_round_ps): Ditto.
16411 (_mm512_maskz_scalef_round_ps): Ditto.
16412 (_mm_scalef_round_sd): Use _mm_undefined_pd.
16413 (_mm_scalef_round_ss): Use _mm_undefined_ps.
16414 (_mm_mask_scalef_round_sd): New macro.
16415 (_mm_mask_scalef_round_ss): Ditto.
16416 (_mm_maskz_scalef_round_sd): Ditto.
16417 (_mm_maskz_scalef_round_ss): Ditto.
16418
16419 2022-04-23 Jakub Jelinek <jakub@redhat.com>
16420
16421 PR target/105338
16422 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
16423 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
16424 cases.
16425
16426 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
16427
16428 PR target/105334
16429 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
16430 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
16431 (pack<mode>_hard for FMOVE128): ... this...
16432 (pack<mode>_soft for FMOVE128): ... and this.
16433
16434 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
16435
16436 * doc/extend.texi: Correct "This" to "These".
16437
16438 2022-04-22 Jakub Jelinek <jakub@redhat.com>
16439
16440 PR rtl-optimization/105333
16441 * rtlanal.cc (replace_rtx): Use simplify_subreg or
16442 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
16443 CONST_INT_P.
16444
16445 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
16446
16447 PR target/103197
16448 PR target/102146
16449 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
16450 the "Z" alternatives in {l,st}{f,xs}iwzx.
16451 (zero_extendhi<mode>2 for EXTHI): Ditto.
16452 (zero_extendsi<mode>2 for EXTSI): Ditto.
16453 (*movsi_internal1): Ditto.
16454 (*mov<mode>_internal1 for QHI): Ditto.
16455 (movsd_hardfloat): Ditto.
16456
16457 2022-04-21 Martin Liska <mliska@suse.cz>
16458
16459 * configure.ac: Enable compressed debug sections for mold
16460 linker.
16461 * configure: Regenerate.
16462
16463 2022-04-21 Jakub Jelinek <jakub@redhat.com>
16464
16465 PR debug/105203
16466 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
16467 on DEBUG_INSNs.
16468
16469 2022-04-20 Richard Biener <rguenther@suse.de>
16470
16471 PR tree-optimization/104912
16472 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
16473 the cost model check to a separate BB to make sure it is
16474 checked first and not combined with other version checks.
16475
16476 2022-04-20 Richard Biener <rguenther@suse.de>
16477
16478 PR tree-optimization/105312
16479 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
16480 VCOND and VCONDU for EQ and NE.
16481
16482 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
16483
16484 PR ipa/103818
16485 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
16486 poly_offset_int to avoid overflow.
16487 (modref_access_node::update2): likewise.
16488
16489 2022-04-20 Jakub Jelinek <jakub@redhat.com>
16490
16491 PR ipa/105306
16492 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
16493 to opt_for_fn (decl, flag_semantic_interposition).
16494 * cgraphclones.cc (cgraph_node::create_clone): Copy over
16495 semantic_interposition flag.
16496
16497 2022-04-19 Sergei Trofimovich <siarheit@google.com>
16498
16499 PR gcov-profile/105282
16500 * value-prof.cc (stream_out_histogram_value): Allow negative counts
16501 on HIST_TYPE_INDIR_CALL.
16502
16503 2022-04-19 Jakub Jelinek <jakub@redhat.com>
16504
16505 PR target/105257
16506 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
16507 use gen_raw_REG instead of gen_rtx_REG and copy over also
16508 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
16509
16510 2022-04-19 Richard Biener <rguenther@suse.de>
16511
16512 PR tree-optimization/104010
16513 PR tree-optimization/103941
16514 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
16515 we run into stmts in patterns continue walking those
16516 for uses outside of the vectorized region instead of
16517 marking the lane live.
16518
16519 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
16520
16521 * doc/install.texi <CRIS>: Remove references to removed websites and
16522 adjust for cris-*-elf being the only remaining toolchain.
16523
16524 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
16525
16526 * doc/invoke.texi <CRIS>: Remove references to options for removed
16527 subtarget cris-axis-linux-gnu and tweak wording accordingly.
16528
16529 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
16530
16531 * doc/install.texi (Specific): Adjust mingw-w64 download link.
16532
16533 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
16534
16535 * config/i386/smmintrin.h: Correct target pragma from sse4.1
16536 and sse4.2 to crc32 for crc32 intrinsics.
16537
16538 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
16539
16540 PR debug/105089
16541 * ctfc.cc (ctf_dvd_ignore_insert): New function.
16542 (ctf_dvd_ignore_lookup): Likewise.
16543 (ctf_add_variable): Keep track of non-defining decl DIEs.
16544 (new_ctf_container): Initialize the new hash-table.
16545 (ctfc_delete_container): Empty hash-table.
16546 * ctfc.h (struct ctf_container): Add new hash-table.
16547 (ctf_dvd_ignore_lookup): New declaration.
16548 (ctf_add_variable): Add additional argument.
16549 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
16550 record for non-defining decl for which a defining decl exists
16551 in the same TU.
16552 (ctf_preprocess): Defer updating the number of global objts
16553 until here.
16554 (output_ctf_header): Use ctfc_vars_list_count as some CTF
16555 variables may not make it to the final output.
16556 (output_ctf_vars): Likewise.
16557 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
16558 if this is known to be a non-defining decl DIE.
16559
16560 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
16561
16562 * ctfc.h (struct ctf_container): Introduce a new member.
16563 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
16564 variable.
16565
16566 2022-04-14 Jakub Jelinek <jakub@redhat.com>
16567
16568 PR target/105247
16569 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
16570 or rotates by VOIDmode constant integer shift count use word_mode
16571 for the operand if int_mode is narrower than word.
16572
16573 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
16574
16575 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
16576 (s390_get_unit_mask): Likewise.
16577 (s390_is_fpd): Likewise.
16578 (s390_is_fxd): Likewise.
16579 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
16580 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
16581 Add z16.
16582 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
16583 Likewise.
16584 * config/s390/3931.md: New file.
16585
16586 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
16587
16588 PR tree-optimization/105254
16589 * config/aarch64/aarch64.cc
16590 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
16591 loop_vec_info as argument. Restrict the unroll factor to values
16592 that divide the VF.
16593 (aarch64_vector_costs::finish_cost): Update call accordingly.
16594
16595 2022-04-13 Richard Biener <rguenther@suse.de>
16596
16597 PR tree-optimization/105263
16598 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
16599 negates in multiplication chains with DFP.
16600
16601 2022-04-13 Jakub Jelinek <jakub@redhat.com>
16602
16603 PR middle-end/105253
16604 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
16605 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
16606 comparisons or tree_nop_conversion_p checks.
16607
16608 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
16609
16610 PR target/103069
16611 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
16612 Add missing set to target_val at pause label.
16613
16614 2022-04-13 Jakub Jelinek <jakub@redhat.com>
16615
16616 PR target/105234
16617 * attribs.cc (decl_attributes): Don't set
16618 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
16619 NULL.
16620
16621 2022-04-13 Richard Biener <rguenther@suse.de>
16622
16623 PR tree-optimization/105250
16624 * fold-const.cc (fold_convertible_p): Revert
16625 r12-7979-geaaf77dd85c333, instead check for size equality
16626 of the vector types involved.
16627
16628 2022-04-13 Richard Biener <rguenther@suse.de>
16629
16630 Revert:
16631 2022-04-13 Richard Biener <rguenther@suse.de>
16632
16633 PR tree-optimization/104912
16634 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
16635 the cost model check to a separate BB to make sure it is
16636 checked first and not combined with other version checks.
16637
16638 2022-04-13 Richard Biener <rguenther@suse.de>
16639
16640 PR tree-optimization/104912
16641 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
16642 the cost model check to a separate BB to make sure it is
16643 checked first and not combined with other version checks.
16644
16645 2022-04-13 Jakub Jelinek <jakub@redhat.com>
16646
16647 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
16648
16649 2022-04-12 Antoni Boucher <bouanto@zoho.com>
16650
16651 PR jit/104072
16652 * reginfo.cc: New functions (clear_global_regs_cache,
16653 reginfo_cc_finalize) to avoid an issue where compiling the same
16654 code multiple times gives an error about assigning the same
16655 register to 2 global variables.
16656 * rtl.h: New function (reginfo_cc_finalize).
16657 * toplev.cc: Call it.
16658
16659 2022-04-12 Antoni Boucher <bouanto@zoho.com>
16660
16661 PR jit/104071
16662 * toplev.cc: Call the new function tree_cc_finalize in
16663 toplev::finalize.
16664 * tree.cc: New functions (clear_nonstandard_integer_type_cache
16665 and tree_cc_finalize) to clear the cache of non-standard integer
16666 types to avoid having issues with some optimizations of
16667 bitcast where the SSA_NAME will have a size of a cached
16668 integer type that should have been invalidated, causing a
16669 comparison of integer constant to fail.
16670 * tree.h: New function (tree_cc_finalize).
16671
16672 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
16673
16674 PR target/97348
16675 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
16676 * config/nvptx/nvptx.opt (misa): Adjust comment.
16677
16678 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
16679
16680 Revert:
16681 2022-03-03 Tom de Vries <tdevries@suse.de>
16682
16683 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
16684
16685 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
16686
16687 Revert:
16688 2022-03-31 Tom de Vries <tdevries@suse.de>
16689
16690 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
16691
16692 2022-04-12 Richard Biener <rguenther@suse.de>
16693
16694 PR ipa/104303
16695 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
16696 include local escaped memory as obviously necessary stores.
16697
16698 2022-04-12 Richard Biener <rguenther@suse.de>
16699
16700 PR tree-optimization/105235
16701 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
16702 return whether the CFG changed.
16703 (execute_cse_sincos_1): Adjust.
16704
16705 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
16706
16707 PR target/104144
16708 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
16709 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
16710 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
16711 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
16712 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
16713 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
16714 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
16715
16716 2022-04-12 Richard Biener <rguenther@suse.de>
16717
16718 PR tree-optimization/105232
16719 * tree.cc (component_ref_size): Bail out for too large
16720 or non-constant sizes.
16721
16722 2022-04-12 Richard Biener <rguenther@suse.de>
16723
16724 PR tree-optimization/105226
16725 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
16726 we can split the exit of an outer loop we choose to version.
16727
16728 2022-04-12 Jakub Jelinek <jakub@redhat.com>
16729
16730 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
16731 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
16732 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
16733 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
16734 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
16735 Formatting fix.
16736 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
16737
16738 2022-04-12 Jakub Jelinek <jakub@redhat.com>
16739
16740 PR target/105214
16741 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
16742 do_pending_stack_adjust.
16743
16744 2022-04-12 Jakub Jelinek <jakub@redhat.com>
16745
16746 PR rtl-optimization/105211
16747 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
16748 fails for TREE_TYPE (arg), retry it with
16749 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
16750 fails, emit call normally.
16751
16752 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
16753
16754 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
16755 * config.gcc: Add z16 as march/mtune switch.
16756 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
16757 Recognize z16 with -march=native.
16758 * config/s390/s390-opts.h (enum processor_type): Rename
16759 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
16760 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
16761 (PROCESSOR_3931_Z16): ... throughout the file.
16762 (s390_processor processor_table): Add z16 as cpu string.
16763 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
16764 PF_Z16.
16765 (TARGET_CPU_ARCH14): Rename to ...
16766 (TARGET_CPU_Z16): ... this.
16767 (TARGET_CPU_ARCH14_P): Rename to ...
16768 (TARGET_CPU_Z16_P): ... this.
16769 (TARGET_ARCH14): Rename to ...
16770 (TARGET_Z16): ... this.
16771 (TARGET_ARCH14_P): Rename to ...
16772 (TARGET_Z16_P): ... this.
16773 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
16774 check TARGET_Z16 instead of TARGET_ARCH14.
16775 * config/s390/s390.opt: Add z16 to processor_type.
16776 * doc/invoke.texi: Document z16 and arch14.
16777
16778 2022-04-12 chenglulu <chenglulu@loongson.cn>
16779
16780 * config/loongarch/loongarch.cc: Fix bug for
16781 tmpdir-g++.dg-struct-layout-1/t033.
16782
16783 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
16784
16785 PR target/104894
16786 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
16787 to longcall functions.
16788
16789 2022-04-11 Jason Merrill <jason@redhat.com>
16790
16791 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
16792
16793 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
16794
16795 PR target/105213
16796 PR target/103623
16797 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
16798
16799 2022-04-11 Jakub Jelinek <jakub@redhat.com>
16800
16801 PR tree-optimization/105218
16802 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
16803 more than one predecessor or phi's bb more than 2 predecessors,
16804 reset phi result uses instead of adding a debug temp.
16805
16806 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
16807
16808 PR target/104853
16809 * config.gcc: Pass -misa-spec to arch-canonicalize and
16810 multilib-generator.
16811 * config/riscv/arch-canonicalize: Adding -misa-spec option.
16812 (SUPPORTED_ISA_SPEC): New.
16813 (arch_canonicalize): New argument `isa_spec`.
16814 Handle multiple ISA spec versions.
16815 * config/riscv/multilib-generator: Adding -misa-spec option.
16816
16817 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
16818
16819 * config/riscv/arch-canonicalize: Add TODO item.
16820 (IMPLIED_EXT): Sync.
16821 (arch_canonicalize): Checking until no change.
16822
16823 2022-04-11 Tamar Christina <tamar.christina@arm.com>
16824
16825 PR target/105197
16826 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
16827 not masked.
16828
16829 2022-04-11 Jason Merrill <jason@redhat.com>
16830
16831 PR c++/100370
16832 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
16833 deref == -1.
16834
16835 2022-04-11 Jakub Jelinek <jakub@redhat.com>
16836
16837 PR tree-optimization/104639
16838 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
16839 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
16840 into x != cst3.
16841
16842 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
16843
16844 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
16845 sign bit of the source ends up in CC.
16846
16847 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
16848
16849 PR ipa/103376
16850 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
16851 flag.
16852
16853 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
16854
16855 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
16856 nondeterministic and side_effects flags.
16857
16858 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
16859
16860 PR target/105157
16861 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
16862 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
16863 (TARGET_CPU_MASK): Likewise.
16864 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
16865 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
16866 (aarch64_get_arch): Likewise.
16867 (aarch64_override_options): Use TARGET_CPU_NBITS.
16868
16869 2022-04-08 Richard Biener <rguenther@suse.de>
16870
16871 PR tree-optimization/105198
16872 * tree-predcom.cc (find_looparound_phi): Check whether
16873 the found memory location of the entry value is clobbered
16874 inbetween the value we want to use and loop entry.
16875
16876 2022-04-08 Jakub Jelinek <jakub@redhat.com>
16877
16878 PR tree-optimization/105189
16879 * fold-const.cc (make_range_step): Fix up handling of
16880 (unsigned) x +[low, -] ranges for signed x if low fits into
16881 typeof (x).
16882
16883 2022-04-08 Richard Biener <rguenther@suse.de>
16884
16885 PR tree-optimization/105175
16886 * tree-vect-stmts.cc (vectorizable_operation): Suppress
16887 -Wvector-operation-performance if using emulated vectors.
16888 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
16889 -Wvector-operation-performance when suppressed.
16890 (expand_vector_parallel): Likewise.
16891 (expand_vector_comparison): Likewise.
16892 (expand_vector_condition): Likewise.
16893 (lower_vec_perm): Likewise.
16894 (expand_vector_conversion): Likewise.
16895
16896 2022-04-07 Tamar Christina <tamar.christina@arm.com>
16897
16898 PR target/104409
16899 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
16900 (aarch64_general_init_builtins): Move LS64 code.
16901 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
16902 arm_acle.h
16903 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
16904 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
16905
16906 2022-04-07 Richard Biener <rguenther@suse.de>
16907 Jan Hubicka <hubicka@ucw.cz>
16908
16909 PR ipa/104303
16910 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
16911 ref_may_alias_global_p, ref_may_alias_global_p,
16912 stmt_may_clobber_global_p, pt_solution_includes_global): Add
16913 bool parameters indicating whether escaped locals should be
16914 considered global.
16915 * tree-ssa-structalias.cc (pt_solution_includes_global):
16916 When the new escaped_nonlocal_p flag is true also consider
16917 pt->vars_contains_escaped.
16918 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
16919 Pass down new escaped_nonlocal_p flag.
16920 (ref_may_alias_global_p): Likewise.
16921 (stmt_may_clobber_global_p): Likewise.
16922 (ref_may_alias_global_p_1): Likewise. For decls also
16923 query the escaped solution if true.
16924 (ref_may_access_global_memory_p): Remove.
16925 (modref_may_conflict): Use ref_may_alias_global_p with
16926 escaped locals considered global.
16927 (ref_maybe_used_by_stmt_p): Adjust.
16928 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
16929 Likewise.
16930 * tree-ssa-dse.cc (dse_classify_store): Likewise.
16931 * trans-mem.cc (thread_private_new_memory): Likewise, but
16932 consider escaped locals global.
16933 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
16934
16935 2022-04-07 Richard Biener <rguenther@suse.de>
16936
16937 PR tree-optimization/105185
16938 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
16939 modref query again.
16940
16941 2022-04-07 Tamar Christina <tamar.christina@arm.com>
16942
16943 PR target/104049
16944 * config/aarch64/aarch64-simd.md
16945 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
16946 (reduc_plus_scal_<mode>): ... This.
16947 (reduc_plus_scal_v4sf): Moved.
16948 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
16949 (reduc_plus_scal_v2si): ... This.
16950
16951 2022-04-07 Jakub Jelinek <jakub@redhat.com>
16952
16953 PR tree-optimization/102586
16954 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
16955 langhook.
16956 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
16957 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
16958 * gimple-fold.cc (clear_padding_type): Use ftype instead of
16959 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
16960 name try the lang_hooks.types.classtype_as_base langhook and
16961 if it returns non-NULL, use that instead of ftype for recursive call.
16962
16963 2022-04-07 Jakub Jelinek <jakub@redhat.com>
16964
16965 PR tree-optimization/105150
16966 * tree.cc (tree_builtin_call_types_compatible_p): New function.
16967 (get_call_combined_fn): Use it.
16968
16969 2022-04-07 Richard Biener <rguenther@suse.de>
16970
16971 PR middle-end/105165
16972 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
16973 _Complex outputs.
16974
16975 2022-04-07 liuhongt <hongtao.liu@intel.com>
16976
16977 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
16978 Removed.
16979 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
16980 for mask_applied.
16981 (<code><mode>3<mask_name>): Ditto.
16982 (*<code><mode>3<mask_name>): Ditto.
16983 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
16984 real instruction.
16985 (VFB_512): Ditto.
16986 (VFB): Ditto.
16987
16988 2022-04-06 Jakub Jelinek <jakub@redhat.com>
16989
16990 PR rtl-optimization/104985
16991 * combine.cc (struct undo): Add where.regno member.
16992 (do_SUBST_MODE): Rename to ...
16993 (subst_mode): ... this. Change first argument from rtx * into int,
16994 operate on regno_reg_rtx[regno] and save regno into where.regno.
16995 (SUBST_MODE): Remove.
16996 (try_combine): Use subst_mode instead of SUBST_MODE, change first
16997 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
16998 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
16999 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
17000 instead of *undo->where.r.
17001 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
17002 argument from regno_reg_rtx[whatever] to whatever.
17003
17004 2022-04-06 Jakub Jelinek <jakub@redhat.com>
17005
17006 PR target/105069
17007 * config/sh/sh.opt (mdiv=): Add Save.
17008
17009 2022-04-06 Martin Liska <mliska@suse.cz>
17010
17011 PR driver/105096
17012 * common.opt: Document properly based on what it does.
17013 * gcc.cc (display_help): Unify with what we have in common.opt.
17014 * opts.cc (common_handle_option): Do not print undocumented
17015 options.
17016
17017 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
17018
17019 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
17020 cxx17_empty_base_field_p fields and set an indicator.
17021 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
17022 (mips_function_value_1): Inform psABI change about C++17 empty
17023 bases.
17024
17025 2022-04-06 Jakub Jelinek <jakub@redhat.com>
17026
17027 PR tree-optimization/105150
17028 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
17029 builtin_decl_explicit here...
17030 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
17031 here.
17032
17033 2022-04-06 Richard Biener <rguenther@suse.de>
17034
17035 PR tree-optimization/105173
17036 * tree-ssa-reassoc.cc (find_insert_point): Get extra
17037 insert_before output argument and compute it.
17038 (insert_stmt_before_use): Adjust.
17039 (rewrite_expr_tree): Likewise.
17040
17041 2022-04-06 Richard Biener <rguenther@suse.de>
17042
17043 PR ipa/105166
17044 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
17045 out for non-pointer arguments.
17046
17047 2022-04-06 Richard Biener <rguenther@suse.de>
17048
17049 PR tree-optimization/105163
17050 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
17051 negated abnormals.
17052
17053 2022-04-06 Jakub Jelinek <jakub@redhat.com>
17054
17055 PR tree-optimization/105150
17056 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
17057 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
17058 preferrably on builtin_decl_explicit decl rather than fndecl.
17059 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
17060 gimple_builtin_call_types_compatible_p here.
17061
17062 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
17063
17064 PR tree-optimization/103761
17065 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
17066 the ncopies parameter with an slp_node parameter. Calculate the
17067 number of vectors based on it and vectype. Rename lambda to
17068 group_memory_nvectors.
17069 (vectorizable_store, vectorizable_load): Update calls accordingly.
17070
17071 2022-04-06 Martin Liska <mliska@suse.cz>
17072
17073 * doc/invoke.texi: Document it.
17074
17075 2022-04-06 Richard Biener <rguenther@suse.de>
17076
17077 PR tree-optimization/105148
17078 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
17079 2 and 3 of ARRAY_REFs.
17080
17081 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
17082
17083 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
17084 (*andnottf3): Replace with...
17085 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
17086
17087 2022-04-06 Richard Biener <rguenther@suse.de>
17088
17089 PR tree-optimization/105142
17090 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
17091 basic-block parameter.
17092 (maybe_fold_or_comparisons): Likewise.
17093 * gimple-fold.cc (follow_outer_ssa_edges): New.
17094 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
17095 when an outer condition basic-block is specified.
17096 (and_comparisons_1, and_var_with_comparison,
17097 and_var_with_comparison_1, or_comparisons_1,
17098 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
17099 down the outer condition basic-block.
17100 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
17101 basic-block of the outer condition.
17102
17103 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
17104
17105 PR target/105002
17106 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
17107 comparison codes UNLT/UNLE/UNGT/UNGE.
17108
17109 2022-04-05 David Malcolm <dmalcolm@redhat.com>
17110
17111 * doc/extend.texi (Common Function Attributes): Document that
17112 'access' does not imply 'nonnull'.
17113
17114 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
17115
17116 PR target/105139
17117 * config/i386/mmx.md (*movv2qi_internal):
17118 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
17119
17120 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
17121
17122 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
17123 define_expand and turn operands 0 and 1 from REGs to MEMs.
17124 (*aarch64_cpymemdi): New pattern.
17125 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
17126 from a REG to a MEM.
17127 (*aarch64_setmemdi): New pattern.
17128 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
17129 copy_to_mode_reg on all three registers. Replace the original
17130 MEM addresses rather than creating wild reads and writes.
17131 (aarch64_expand_setmem_mops): Likewise for the size and for the
17132 destination memory and address.
17133
17134 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
17135
17136 PR target/103147
17137 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
17138 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
17139 from aarch64_simd_switcher.
17140 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
17141 New variable.
17142 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
17143 (register_tuple_type): Add more asserts. Expect the alignment
17144 of the structure to be subject to flag_pack_struct and
17145 maximum_field_alignment. Set aarch64_simd_tuple_modes.
17146 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
17147 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
17148 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
17149 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
17150 while calling aarch64_init_simd_builtins.
17151 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
17152 (sve_switcher::~sve_switcher): Remove code now performed by
17153 aarch64_simd_switcher.
17154
17155 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
17156
17157 PR target/104897
17158 * config/aarch64/aarch64-sve-builtins.cc
17159 (function_resolver::infer_vector_or_tuple_type): Use error_n
17160 for "%d vectors" messages.
17161
17162 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
17163
17164 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
17165 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
17166 current clause.
17167
17168 2022-04-05 Richard Biener <rguenther@suse.de>
17169
17170 PR c/105151
17171 * passes.def (pass_walloca): Move early instance into
17172 pass_build_ssa_passes to make SSA form available.
17173
17174 2022-04-05 liuhongt <hongtao.liu@intel.com>
17175
17176 PR target/101908
17177 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
17178 function
17179 (ix86_reorg): Call ix86_split_stlf_stall_load.
17180 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
17181 param.
17182
17183 2022-04-05 Alexandre Oliva <oliva@adacore.com>
17184
17185 * targhooks.cc (default_zero_call_used_regs): Attempt to group
17186 regs that the target refuses to use in their natural modes.
17187 (zcur_select_mode_rtx): New.
17188 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
17189 (hard_regno_max_nregs): Define.
17190 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
17191
17192 2022-04-04 Alex Coplan <alex.coplan@arm.com>
17193
17194 * doc/match-and-simplify.texi: Fix typos.
17195
17196 2022-04-04 Jakub Jelinek <jakub@redhat.com>
17197
17198 PR target/105144
17199 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
17200 only if configured with --enable-maintainer-mode, otherwise compare
17201 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
17202 if they differ, emit a message and fail.
17203
17204 2022-04-04 Jakub Jelinek <jakub@redhat.com>
17205
17206 PR target/105144
17207 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
17208 * config/aarch64/aarch64-tune.md: Regenerated.
17209
17210 2022-04-04 Richard Biener <rguenther@suse.de>
17211
17212 PR tree-optimization/105132
17213 * tree-vect-stmts.cc (vectorizable_operation): Check that
17214 the input vectors have the same number of elements.
17215
17216 2022-04-04 Richard Biener <rguenther@suse.de>
17217
17218 PR middle-end/105140
17219 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
17220
17221 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
17222
17223 PR target/104987
17224 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
17225 (delay slot descripts): Use different delay slot description when
17226 the insn as the "bbi" attribute.
17227 (bbi, bbin patterns): Set the bbi attribute to yes.
17228
17229 2022-04-03 Jakub Jelinek <jakub@redhat.com>
17230
17231 PR target/105123
17232 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
17233 using word as target for expand_simple_binop when doing ASHIFT and
17234 IOR.
17235
17236 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
17237
17238 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
17239 NULL before dereferencing it.
17240
17241 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
17242
17243 * config/i386/i386.cc (zero_all_st_registers): Return the value of
17244 num_of_st.
17245 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
17246 the return value of zero_all_st_registers.
17247 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
17248 * function.cc (gen_call_used_regs_seq): Add an assertion.
17249 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
17250
17251 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
17252
17253 PR target/102024
17254 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
17255 fields, and inform if it causes a psABI change.
17256
17257 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
17258
17259 PR target/102024
17260 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
17261 zero-width bit-fields and set up an indicator.
17262 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
17263 (mips_function_value_1): Diagnose when the presense of a C++
17264 zero-width bit-field changes function returning in GCC 12.
17265
17266 2022-04-01 Jakub Jelinek <jakub@redhat.com>
17267
17268 PR tree-optimization/104645
17269 * tree-ssa-phiopt.cc (value_replacement): If assign has
17270 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
17271 statement with constant evaluation.
17272
17273 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
17274
17275 * config/mips/mips.cc (mips_expand_prologue):
17276 IPL is 8bit for MCU ASE.
17277
17278 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
17279
17280 PR target/104004
17281 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
17282 (MTFSB0): Likewise.
17283 (MTFSB1): Likewise.
17284 (SET_FPSCR_RN): Likewise.
17285 (SET_FPSCR_DRN): Mark nosoft and no32bit.
17286
17287 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
17288
17289 * doc/options.texi (Option file format): Clarifications around
17290 option definition records' help texts.
17291
17292 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
17293
17294 * optc-gen.awk <END>: Fix "Multiple different help strings" error
17295 diagnostic.
17296
17297 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
17298
17299 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
17300 determine_suggested_unroll_factor and m_has_avg.
17301 (determine_suggested_unroll_factor): New function.
17302 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
17303 to set m_nosve_pattern.
17304 (aarch64_vector_costs::finish_costs): Use
17305 determine_suggested_unroll_factor.
17306 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
17307 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
17308
17309 2022-03-31 Martin Jambor <mjambor@suse.cz>
17310
17311 PR ipa/103083
17312 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
17313 (ipa_get_jf_ancestor_keep_null): New function.
17314 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
17315 ancestor function.
17316 (compute_complex_assign_jump_func): Pass false to keep_null
17317 parameter of ipa_set_ancestor_jf.
17318 (compute_complex_ancestor_jump_func): Pass true to keep_null
17319 parameter of ipa_set_ancestor_jf.
17320 (update_jump_functions_after_inlining): Carry over keep_null from the
17321 original ancestor jump-function or merge them.
17322 (ipa_write_jump_function): Stream keep_null flag.
17323 (ipa_read_jump_function): Likewise.
17324 (ipa_print_node_jump_functions_for_edge): Print the new flag.
17325 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
17326 member function known_nonzero_p.
17327 (ipcp_bits_lattice::known_nonzero_p): New.
17328 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
17329 observe it.
17330 (ipcp_bits_lattice::meet_with): Likewise.
17331 (propagate_bits_across_jump_function): Simplify. Pass true in
17332 drop_all_ones when it is necessary.
17333 (propagate_aggs_across_jump_function): Take care of keep_null
17334 flag.
17335 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
17336 jump functions.
17337
17338 2022-03-31 Martin Jambor <mjambor@suse.cz>
17339
17340 PR ipa/102513
17341 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
17342 which do not fit the known value_range.
17343
17344 2022-03-31 Martin Jambor <mjambor@suse.cz>
17345
17346 PR ipa/103171
17347 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
17348 always when an ADDR_EXPR constant is known to reach a load because
17349 of inlining, not just when removing an ADDR reference.
17350
17351 2022-03-31 Richard Biener <rguenther@suse.de>
17352
17353 PR tree-optimization/105109
17354 * tree-ssa.cc (execute_update_addresses_taken): Suppress
17355 diagnostics on the load of the other complex component.
17356
17357 2022-03-31 Tom de Vries <tdevries@suse.de>
17358
17359 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
17360
17361 2022-03-31 Richard Biener <rguenther@suse.de>
17362
17363 PR rtl-optimization/105091
17364 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
17365 bases.
17366
17367 2022-03-31 Richard Biener <rguenther@suse.de>
17368
17369 Revert:
17370 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
17371
17372 PR target/102125
17373 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
17374 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
17375
17376 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
17377
17378 * gcov-io.cc (gcov_read_string): Reword documentation comment.
17379
17380 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
17381
17382 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
17383 stanza.
17384 (NEG_V4SF): Likewise.
17385 (NEG_V4SI): Likewise.
17386 (NEG_V8HI): Likewise.
17387 (NEG_V2DF): Move to [vsx] stanza.
17388 (NEG_V2DI): Likewise.
17389
17390 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
17391
17392 PR middle-end/105032
17393 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
17394
17395 2022-03-30 Tom de Vries <tdevries@suse.de>
17396 Tobias Burnus <tobias@codesourcery.com>
17397
17398 * doc/invoke.texi (march): Document __PTX_SM__.
17399 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
17400 __PTX_ISA_VERSION_MINOR__.
17401
17402 2022-03-30 Jakub Jelinek <jakub@redhat.com>
17403
17404 PR sanitizer/105093
17405 * ubsan.cc (instrument_object_size): If t is equal to inner and
17406 is a decl other than global var, punt. When emitting call to
17407 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
17408
17409 2022-03-30 Jakub Jelinek <jakub@redhat.com>
17410
17411 PR tree-optimization/105094
17412 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
17413 bitsize <= 0 rather than just == 0.
17414
17415 2022-03-30 Tom de Vries <tdevries@suse.de>
17416
17417 * doc/invoke.texi (misa, mptx): Update.
17418 (march, march-map): Add.
17419
17420 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
17421
17422 * opt-functions.awk (n_args): New function.
17423 (lang_enabled_by): Merge function into...
17424 * optc-gen.awk <END>: ... sole user here.
17425 Improve diagnostics.
17426
17427 2022-03-29 Marek Polacek <polacek@redhat.com>
17428 Jakub Jelinek <jakub@redhat.com>
17429
17430 PR middle-end/103597
17431 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
17432 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
17433 (gimplify_cond_expr): Set UNUSED_LABEL_P.
17434 * tree.h (UNUSED_LABEL_P): New.
17435
17436 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
17437
17438 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
17439 be any VSX register.
17440
17441 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
17442
17443 PR target/102024
17444 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
17445 zero-sized bit-fields. Detect cases where a warning may be needed.
17446 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
17447 zero-sized bit-field has caused parameter passing to change.
17448
17449 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
17450
17451 PR target/102024
17452 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
17453 bit-fields. Detect cases where a warning may be needed.
17454 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
17455 a zero-sized bit-field has caused parameter passing to change.
17456
17457 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
17458
17459 PR target/96882
17460 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
17461 ARM_PCS_AAPCS_LOCAL.
17462
17463 2022-03-29 Tom de Vries <tdevries@suse.de>
17464
17465 PR target/104857
17466 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
17467 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
17468 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
17469 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
17470
17471 2022-03-29 Tom de Vries <tdevries@suse.de>
17472
17473 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
17474 is ignored.
17475
17476 2022-03-29 Tom de Vries <tdevries@suse.de>
17477
17478 PR target/104714
17479 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
17480
17481 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
17482
17483 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
17484 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
17485 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
17486 (TARGET_USE_GATHER_4PARTS): New macro.
17487 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
17488 (X86_TUNE_USE_GATHER_4PARTS): New tune
17489
17490 2022-03-29 Tom de Vries <tdevries@suse.de>
17491
17492 * config/nvptx/nvptx.opt (march): Add alias of misa.
17493
17494 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
17495 Lulu Cheng <chenglulu@loongson.cn>
17496
17497 * doc/install.texi: Add LoongArch options section.
17498 * doc/invoke.texi: Add LoongArch options section.
17499 * doc/md.texi: Add LoongArch options section.
17500
17501 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
17502 Lulu Cheng <chenglulu@loongson.cn>
17503
17504 * config/loongarch/loongarch-c.cc
17505
17506 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
17507 Lulu Cheng <chenglulu@loongson.cn>
17508
17509 * config/loongarch/larchintrin.h: New file.
17510 * config/loongarch/loongarch-builtins.cc: New file.
17511
17512 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
17513 Lulu Cheng <chenglulu@loongson.cn>
17514
17515 * config/host-linux.cc: Add LoongArch support.
17516 * config/loongarch/loongarch-protos.h: New file.
17517 * config/loongarch/loongarch-tune.h: Likewise.
17518 * config/loongarch/loongarch.cc: Likewise.
17519 * config/loongarch/loongarch.h: Likewise.
17520
17521 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
17522 Lulu Cheng <chenglulu@loongson.cn>
17523
17524 * config/loongarch/constraints.md: New file.
17525 * config/loongarch/generic.md: New file.
17526 * config/loongarch/la464.md: New file.
17527 * config/loongarch/loongarch-ftypes.def: New file.
17528 * config/loongarch/loongarch-modes.def: New file.
17529 * config/loongarch/loongarch.md: New file.
17530 * config/loongarch/predicates.md: New file.
17531 * config/loongarch/sync.md: New file.
17532
17533 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
17534 Lulu Cheng <chenglulu@loongson.cn>
17535
17536 * configure: Regenerate file.
17537
17538 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
17539 Lulu Cheng <chenglulu@loongson.cn>
17540
17541 * common/config/loongarch/loongarch-common.cc: New file.
17542 * config/loongarch/genopts/genstr.sh: New file.
17543 * config/loongarch/genopts/loongarch-strings: New file.
17544 * config/loongarch/genopts/loongarch.opt.in: New file.
17545 * config/loongarch/loongarch-str.h: New file.
17546 * config/loongarch/gnu-user.h: New file.
17547 * config/loongarch/linux.h: New file.
17548 * config/loongarch/loongarch-cpu.cc: New file.
17549 * config/loongarch/loongarch-cpu.h: New file.
17550 * config/loongarch/loongarch-def.c: New file.
17551 * config/loongarch/loongarch-def.h: New file.
17552 * config/loongarch/loongarch-driver.cc: New file.
17553 * config/loongarch/loongarch-driver.h: New file.
17554 * config/loongarch/loongarch-opts.cc: New file.
17555 * config/loongarch/loongarch-opts.h: New file.
17556 * config/loongarch/loongarch.opt: New file.
17557 * config/loongarch/t-linux: New file.
17558 * config/loongarch/t-loongarch: New file.
17559 * config.gcc: Add LoongArch support.
17560 * configure.ac: Add LoongArch support.
17561
17562 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
17563
17564 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
17565 typo.
17566
17567 2022-03-29 Richard Biener <rguenther@suse.de>
17568
17569 PR tree-optimization/105080
17570 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
17571 loops and SCEV.
17572
17573 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
17574
17575 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
17576 (output_ctf_vars): Likewise.
17577
17578 2022-03-28 Jason Merrill <jason@redhat.com>
17579
17580 PR c++/59426
17581 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
17582
17583 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
17584
17585 PR target/105068
17586 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
17587 "Yw" in clobber.
17588
17589 2022-03-28 Tom de Vries <tdevries@suse.de>
17590
17591 PR target/104818
17592 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
17593 * config/nvptx/nvptx-gen.opt: Regenerate.
17594 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
17595 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
17596 gen-opt.sh.
17597
17598 2022-03-28 David Malcolm <dmalcolm@redhat.com>
17599
17600 PR analyzer/104308
17601 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
17602 to loads then stores, set the location of the new load stmt.
17603
17604 2022-03-28 Richard Biener <rguenther@suse.de>
17605
17606 PR tree-optimization/105070
17607 * tree-switch-conversion.h
17608 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
17609 argument.
17610 * tree-switch-conversion.cc
17611 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
17612 cond with location.
17613 (bit_test_cluster::emit): Annotate all generated expressions
17614 with location.
17615
17616 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
17617
17618 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
17619
17620 2022-03-28 liuhongt <hongtao.liu@intel.com>
17621
17622 PR target/105066
17623 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
17624 alternative 4 from sse4_noavx to noavx.
17625
17626 2022-03-28 Jakub Jelinek <jakub@redhat.com>
17627
17628 PR tree-optimization/105056
17629 * tree-predcom.cc (component::component): Initialize also comp_step.
17630
17631 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
17632
17633 PR target/105068
17634 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
17635 "Yw".
17636
17637 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
17638
17639 PR middle-end/104885
17640 * calls.cc (mark_stack_region_used): Check that the region
17641 is within the allocated size of stack_usage_map.
17642
17643 2022-03-26 Jakub Jelinek <jakub@redhat.com>
17644
17645 PR rtl-optimization/103775
17646 * recog.cc (check_invalid_inc_dec): New function.
17647 (insn_invalid_p): Return 1 if REG_INC operand overlaps
17648 any stored REGs.
17649
17650 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
17651
17652 PR target/105058
17653 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
17654 (aes<aesklvariant>u8): Likewise.
17655
17656 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
17657
17658 PR target/105052
17659 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
17660 Replace "Yv" with "x".
17661 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
17662 (ssse3_psign<mode>3): Likewise.
17663
17664 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
17665
17666 * reload.cc (find_reloads): Align comment with code where
17667 considering the intersection of register classes then tweaking the
17668 regclass for the current alternative or rejecting it.
17669
17670 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
17671
17672 PR target/104882
17673 Revert
17674 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
17675
17676 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
17677 (mve_vec_unpack<US>_hi_<mode>): Delete.
17678 (@mve_vec_pack_trunc_lo_<mode>): Delete.
17679 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
17680 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
17681 from vec-common.md.
17682 (vec_unpack<US>_lo_<mode>): Likewise.
17683 (vec_pack_trunc_<mode>): Rename from
17684 neon_quad_vec_pack_trunc_<mode>.
17685 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
17686 (vec_unpack<US>_lo_<mode>): Delete.
17687 (vec_pack_trunc_<mode>): Delete.
17688
17689 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
17690
17691 PR middle-end/104971
17692 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
17693 regs to clear remove_p flag.
17694
17695 2022-03-25 Richard Biener <rguenther@suse.de>
17696
17697 PR tree-optimization/105053
17698 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
17699 the correct live-out stmt for a reduction chain.
17700
17701 2022-03-25 Richard Biener <rguenther@suse.de>
17702
17703 PR middle-end/105049
17704 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
17705 CONSTRUCTOR first elements.
17706
17707 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
17708
17709 PR analyzer/103533
17710 * doc/invoke.texi (Static Analyzer Options): Move
17711 @ignore block after @gccoptlist's '}' for 'make pdf'.
17712
17713 2022-03-25 David Malcolm <dmalcolm@redhat.com>
17714
17715 PR analyzer/104954
17716 * doc/invoke.texi (Static Analyzer Options): Add
17717 -fdump-analyzer-untracked.
17718
17719 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
17720
17721 PR analyzer/103533
17722 * doc/invoke.texi: Document that enabling taint analyzer
17723 checker disables some warnings from `-fanalyzer`.
17724
17725 2022-03-24 Alexandre Oliva <oliva@adacore.com>
17726
17727 PR debug/104564
17728 * gimple-harden-conditionals.cc (detach_value): Keep temps
17729 anonymous.
17730
17731 2022-03-24 Alexandre Oliva <oliva@adacore.com>
17732
17733 PR middle-end/104975
17734 * gimple-harden-conditionals.cc
17735 (pass_harden_compares::execute): Force split in case of
17736 multiple edges.
17737
17738 2022-03-24 Jakub Jelinek <jakub@redhat.com>
17739
17740 PR c++/105035
17741 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
17742 field0 or field1 is not a FIELD_DECL, return false.
17743
17744 2022-03-24 Richard Biener <rguenther@suse.de>
17745
17746 * tree-predcom.cc (chain::chain): Add CTOR.
17747 (component::component): Likewise.
17748 (pcom_worker::release_chain): Use delete.
17749 (release_components): Likewise.
17750 (pcom_worker::filter_suitable_components): Likewise.
17751 (pcom_worker::split_data_refs_to_components): Use new.
17752 (make_invariant_chain): Likewise.
17753 (make_rooted_chain): Likewise.
17754 (pcom_worker::combine_chains): Likewise.
17755 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
17756 Make sure to release previously constructed scalar_results.
17757 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
17758 for vec_offsets.
17759 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
17760 Release m_flag_set_edges.
17761
17762 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
17763
17764 PR tree-optimization/104970
17765 * tree-object-size.cc (parm_object_size): Restrict size
17766 computation scenarios to explicit access attributes.
17767
17768 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
17769
17770 PR target/104967
17771 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
17772 function types.
17773
17774 2022-03-23 Richard Biener <rguenther@suse.de>
17775
17776 PR target/102125
17777 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
17778 use of movmisalign when either the source or destination
17779 decl is properly aligned.
17780
17781 2022-03-23 Richard Biener <rguenther@suse.de>
17782
17783 PR rtl-optimization/105028
17784 * ira-color.cc (form_threads_from_copies): Remove unnecessary
17785 copying of the sorted_copies tail.
17786
17787 2022-03-23 Martin Liska <mliska@suse.cz>
17788
17789 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
17790 Use %qs in format.
17791 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
17792 Reword the error message.
17793
17794 2022-03-23 liuhongt <hongtao.liu@intel.com>
17795
17796 PR target/104976
17797 * config/i386/sse.md (ssePSmodelower): New.
17798 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
17799 lowpart_subreg to avoid NULL_RTX.
17800 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
17801 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
17802 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
17803 <avx512>_<complexopname>_<mode>_mask<round_name>,
17804 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
17805 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
17806 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
17807 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
17808 float<floatunssuffix><mode>v4hf2,
17809 float<floatunssuffix>v2div2hf2,
17810 fix<fixunssuffix>_truncv4hf<mode>2,
17811 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
17812 extendv2hfv2df2,
17813 trunc<mode>v4hf2,truncv2dfv2hf2,
17814 *avx512bw_permvar_truncv16siv16hi_1,
17815 *avx512bw_permvar_truncv16siv16hi_1_hf,
17816 *avx512f_permvar_truncv8siv8hi_1,
17817 *avx512f_permvar_truncv8siv8hi_1_hf,
17818 *avx512f_vpermvar_truncv8div8si_1,
17819 *avx512f_permvar_truncv32hiv32qi_1,
17820 *avx512f_permvar_truncv16hiv16qi_1,
17821 *avx512f_permvar_truncv4div4si_1,
17822 *avx512f_pshufb_truncv8hiv8qi_1,
17823 *avx512f_pshufb_truncv4siv4hi_1,
17824 *avx512f_pshufd_truncv2div2si_1,
17825 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
17826 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
17827
17828 2022-03-22 Tom de Vries <tdevries@suse.de>
17829
17830 PR target/104925
17831 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
17832 Use % as register prefix.
17833
17834 2022-03-22 Tom de Vries <tdevries@suse.de>
17835
17836 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
17837 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
17838 mexperimental.
17839
17840 2022-03-22 Tom de Vries <tdevries@suse.de>
17841
17842 * config/nvptx/nvptx.opt (mexperimental): New option.
17843
17844 2022-03-22 Tom de Vries <tdevries@suse.de>
17845
17846 PR target/104957
17847 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
17848 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
17849 for alias.
17850 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
17851 (nvptx_asm_output_def_from_decls): New function.
17852 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
17853 gcc_unreachable ().
17854 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
17855 nvptx_asm_output_def_from_decls.
17856 * config/nvptx/nvptx.opt (malias): New opt.
17857
17858 2022-03-22 Tom de Vries <tdevries@suse.de>
17859
17860 PR target/104916
17861 PR target/104783
17862 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
17863 sync (or uniform warp check for mptx < 6.0).
17864
17865 2022-03-22 Richard Biener <rguenther@suse.de>
17866
17867 PR tree-optimization/105012
17868 * tree-if-conv.cc (ifcvt_local_dce): Only call
17869 dse_classify_store when we have a VDEF.
17870
17871 2022-03-22 Martin Liska <mliska@suse.cz>
17872
17873 PR target/104902
17874 * config/nvptx/nvptx.cc (handle_ptx_version_option):
17875 Fix option wrapping in an error message.
17876
17877 2022-03-22 Martin Liska <mliska@suse.cz>
17878
17879 PR target/104903
17880 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
17881 Wrap const keyword.
17882
17883 2022-03-22 Martin Liska <mliska@suse.cz>
17884
17885 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
17886 name.
17887
17888 2022-03-22 Martin Liska <mliska@suse.cz>
17889
17890 PR target/104898
17891 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
17892 Use %qs instead of (%qs).
17893
17894 2022-03-22 Martin Liska <mliska@suse.cz>
17895
17896 PR target/104898
17897 * config/i386/i386-options.cc (ix86_option_override_internal):
17898 Use '%qs' instead of '(%qs)'.
17899
17900 2022-03-22 Martin Liska <mliska@suse.cz>
17901
17902 PR target/104898
17903 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
17904 Use 'qs' and remove usage '(%qs)'.
17905 (aarch64_handle_attr_cpu): Likewise.
17906 (aarch64_handle_attr_tune): Likewise.
17907 (aarch64_handle_attr_isa_flags): Likewise.
17908
17909 2022-03-22 Tamar Christina <tamar.christina@arm.com>
17910 Andre Vieira <andre.simoesdiasvieira@arm.com>
17911
17912 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
17913 struct.
17914 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
17915 cost.
17916 (neoverse512tvb_tunings): Likewise.
17917
17918 2022-03-22 Tamar Christina <tamar.christina@arm.com>
17919 Andre Vieira <andre.simoesdiasvieira@arm.com>
17920
17921 * config/aarch64/aarch64.cc (demeter_addrcost_table,
17922 demeter_regmove_cost, demeter_advsimd_vector_cost,
17923 demeter_sve_vector_cost, demeter_scalar_issue_info,
17924 demeter_advsimd_issue_info, demeter_sve_issue_info,
17925 demeter_vec_issue_info, demeter_vector_cost,
17926 demeter_tunings): New tuning structs.
17927 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
17928 tuning.
17929 * config/aarch64/aarch64-cores.def: Add entry for demeter.
17930 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
17931
17932 2022-03-22 Tamar Christina <tamar.christina@arm.com>
17933 Andre Vieira <andre.simoesdiasvieira@arm.com>
17934
17935 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
17936 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
17937 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
17938 tunings to use cpu_memmov_cost struct.
17939
17940 2022-03-22 Tamar Christina <tamar.christina@arm.com>
17941 Andre Vieira <andre.simoesdiasvieira@arm.com>
17942
17943 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
17944 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
17945 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
17946 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
17947 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
17948 (neoversen2_tunings): Use new structs and update tuning flags.
17949 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
17950 tuning.
17951
17952 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
17953
17954 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
17955 bit.
17956
17957 2022-03-22 liuhongt <hongtao.liu@intel.com>
17958
17959 PR target/104982
17960 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
17961 following splitter to reversed condition.
17962
17963 2022-03-22 Jakub Jelinek <jakub@redhat.com>
17964
17965 PR rtl-optimization/104989
17966 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
17967 sorry for passing too large argument, instead set sibcall_failure
17968 for pass == 0, or a new normal_failure flag otherwise. If
17969 normal_failure is set, don't assert all stack has been deallocated
17970 at the end and throw away the whole insn sequence.
17971
17972 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
17973
17974 * print-tree.cc: Change array length
17975
17976 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
17977
17978 PR target/104978
17979 * config/i386/sse.md
17980 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
17981 Use avx512f_movsf_mask instead of vmovaps or vblend, and
17982 force_reg before lowpart_subreg.
17983 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
17984
17985 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
17986
17987 PR target/105000
17988 * common/config/i386/i386-common.cc
17989 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
17990 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
17991
17992 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
17993
17994 PR target/104998
17995 * common/config/i386/cpuinfo.h (get_available_features): Pass
17996 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
17997 bit_AESKLE is set.
17998
17999 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
18000
18001 PR middle-end/104869
18002 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
18003 (clobber_group::next_clobber): Likewise.
18004 (def_lookup::prev_def): Rename to...
18005 (def_lookup::last_def_of_prev_group): ...this.
18006 (def_lookup::next_def): Rename to...
18007 (def_lookup::first_def_of_next_group): ...this.
18008 (def_lookup::matching_or_prev_def): Rename to...
18009 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
18010 (def_lookup::matching_or_next_def): Rename to...
18011 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
18012 (def_lookup::prev_def): New function, taking the lookup insn as
18013 argument.
18014 (def_lookup::next_def): Likewise.
18015 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
18016 (def_lookup::last_def_of_prev_group): ...this.
18017 (def_lookup::next_def): Rename to...
18018 (def_lookup::first_def_of_next_group): ...this.
18019 (def_lookup::matching_or_prev_def): Rename to...
18020 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
18021 (def_lookup::matching_or_next_def): Rename to...
18022 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
18023 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
18024 above renaming.
18025 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
18026 (clobber_group::next_clobber): Likewise.
18027 (def_lookup::prev_def): Likewise.
18028 (def_lookup::next_def): Likewise.
18029 (function_info::make_use_available): Pass the lookup insn to
18030 def_lookup::prev_def and def_lookup::next_def.
18031
18032 2022-03-21 Martin Liska <mliska@suse.cz>
18033
18034 * doc/invoke.texi: Document min-pagesize parameter.
18035
18036 2022-03-21 Richard Biener <rguenther@suse.de>
18037
18038 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
18039 we are estimating niter of loop.
18040
18041 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
18042
18043 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
18044 Update flag name and mask name.
18045 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
18046 misc macro for vector extensions.
18047 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
18048 (MASK_VECTOR_ELEN_32): ... this.
18049 (MASK_VECTOR_EEW_64): Rename to ...
18050 (MASK_VECTOR_ELEN_64): ... this.
18051 (MASK_VECTOR_EEW_FP_32): Rename to ...
18052 (MASK_VECTOR_ELEN_FP_32): ... this.
18053 (MASK_VECTOR_EEW_FP_64): Rename to ...
18054 (MASK_VECTOR_ELEN_FP_64): ... this.
18055 (TARGET_VECTOR_ELEN_32): New.
18056 (TARGET_VECTOR_ELEN_64): Ditto.
18057 (TARGET_VECTOR_ELEN_FP_32): Ditto.
18058 (TARGET_VECTOR_ELEN_FP_64): Ditto.
18059 (TARGET_MIN_VLEN): Ditto.
18060 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
18061 (riscv_vector_elen_flags): ... this.
18062
18063 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
18064
18065 PR target/104977
18066 * config/i386/sse.md
18067 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
18068 Correct round operand for intel dialect.
18069
18070 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
18071
18072 * diagnostic.cc (diagnostic_cc_tests): Rename to...
18073 (c_diagnostic_cc_tests): ...this.
18074 * opt-problem.cc (opt_problem_cc_tests): Rename to...
18075 (c_opt_problem_cc_tests): ...this.
18076 * selftest-run-tests.cc (selftest::run_tests): No longer run
18077 opt_problem_cc_tests or diagnostic_cc_tests.
18078 * selftest.h (diagnostic_cc_tests): Remove declaration.
18079 (opt_problem_cc_tests): Likewise.
18080
18081 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
18082
18083 PR jit/63854
18084 * hash-traits.h (struct typed_const_free_remove): New.
18085 (struct free_string_hash): New.
18086 * pass_manager.h: Use free_string_hash.
18087 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
18088 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
18089
18090 2022-03-19 Jakub Jelinek <jakub@redhat.com>
18091
18092 PR middle-end/104971
18093 * config/i386/i386-expand.cc
18094 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
18095 don't push/pop anything and just return const0_rtx.
18096
18097 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
18098
18099 PR rtl-optimization/104961
18100 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
18101
18102 2022-03-18 Jason Merrill <jason@redhat.com>
18103
18104 * tree.h (IDENTIFIER_LENGTH): Add comment.
18105
18106 2022-03-18 Jakub Jelinek <jakub@redhat.com>
18107
18108 PR middle-end/99578
18109 PR middle-end/100680
18110 PR tree-optimization/100834
18111 * params.opt (--param=min-pagesize=): New parameter.
18112 * pointer-query.cc
18113 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
18114 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
18115 of zero for pointer constants equal or larger than min-pagesize.
18116
18117 2022-03-18 Tom de Vries <tdevries@suse.de>
18118
18119 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
18120 Set gfor location only when dealing with a OMP_TASKLOOP.
18121
18122 2022-03-18 Tom de Vries <tdevries@suse.de>
18123
18124 * gimplify.cc (gimplify_omp_for): Set taskloop location.
18125
18126 2022-03-18 Tom de Vries <tdevries@suse.de>
18127
18128 PR target/104952
18129 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
18130 is executed unconditionally.
18131
18132 2022-03-18 liuhongt <hongtao.liu@intel.com>
18133
18134 PR target/104974
18135 * config/i386/i386.md (*movhi_internal): Set attr type from HI
18136 to HF for alternative 12 under TARGET_AVX512FP16.
18137
18138 2022-03-18 Cui,Lili <lili.cui@intel.com>
18139
18140 PR target/104963
18141 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
18142 * doc/invoke.texi: Update documents for Intel sapphirerapids.
18143
18144 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
18145
18146 PR target/86722
18147 PR tree-optimization/90356
18148 * config/i386/i386.md (*movtf_internal): Don't guard
18149 standard_sse_constant_p clause by optimize_function_for_size_p.
18150 (*movdf_internal): Likewise.
18151 (*movsf_internal): Likewise.
18152
18153 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
18154
18155 PR tree-optimization/102943
18156 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
18157 dominators and apply intermediary outgoing edge ranges.
18158
18159 2022-03-17 Richard Biener <rguenther@suse.de>
18160
18161 PR tree-optimization/104960
18162 * passes.def: Add pass parameter to pass_sink_code, mark
18163 last one to unsplit edges.
18164 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
18165 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
18166 when we need to unsplit edges.
18167
18168 2022-03-17 Jakub Jelinek <jakub@redhat.com>
18169
18170 PR middle-end/103984
18171 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
18172 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
18173 and asan unpoisioning, then append the temporary sequence and
18174 finally the TARGET_EXPR_CLEANUP clobbers.
18175
18176 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
18177
18178 * config/i386/sse.md: Delete corrupt character/typo.
18179
18180 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
18181
18182 PR target/94680
18183 * config/i386/sse.md (sse2_movq128): New define_expand to
18184 preserve previous named instruction.
18185 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
18186 generalized to VI8F_128 (both V2DI and V2DF).
18187
18188 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
18189
18190 PR tree-optimization/104941
18191 * tree-object-size.cc (size_for_offset): Make useless conversion
18192 check lighter and assign result of fold_convert to OFFSET.
18193
18194 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
18195
18196 PR target/104890
18197 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
18198 pushing target("general-regs-only").
18199
18200 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
18201
18202 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
18203 Add version info for zk, zks and zkn.
18204
18205 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
18206
18207 * common/config/riscv/riscv-common.cc
18208 (riscv_combine_info): New.
18209 (riscv_subset_list::handle_combine_ext): Combine back into zk to
18210 maintain the canonical order in isa strings.
18211 (riscv_subset_list::parse): Ditto.
18212 * config/riscv/riscv-subset.h (handle_combine_ext): New.
18213
18214 2022-03-16 Richard Biener <rguenther@suse.de>
18215
18216 PR tree-optimization/102008
18217 * passes.def: Move the added code sinking pass before the
18218 preceeding phiopt pass.
18219
18220 2022-03-16 Patrick Palka <ppalka@redhat.com>
18221
18222 PR c++/96780
18223 * doc/invoke.texi (C++ Dialect Options): Document
18224 -ffold-simple-inlines.
18225
18226 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
18227
18228 PR tree-optimization/104942
18229 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
18230
18231 2022-03-16 Jakub Jelinek <jakub@redhat.com>
18232
18233 PR target/104910
18234 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
18235 imm rtx.
18236
18237 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
18238 Richard Biener <rguenther@suse.de>
18239
18240 * gimple-match-head.cc (single_use): Implement inline using a
18241 single loop.
18242
18243 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
18244
18245 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
18246 instead of HONOR_NANS.
18247 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
18248 this can't trap/signal.
18249
18250 2022-03-16 liuhongt <hongtao.liu@intel.com>
18251
18252 PR target/104946
18253 * config/i386/i386-builtin.def (BDESC): Add
18254 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
18255 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
18256 __builtin_ia32_blendvpd w/o sse4.2
18257
18258 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
18259
18260 PR target/104923
18261 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
18262 acceptable MEM addresses.
18263
18264 2022-03-15 Jakub Jelinek <jakub@redhat.com>
18265
18266 PR target/91229
18267 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
18268 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
18269 to warning calls.
18270
18271 2022-03-15 Jakub Jelinek <jakub@redhat.com>
18272
18273 PR target/104890
18274 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
18275 instead of general-regs-only.
18276
18277 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
18278 Marc Glisse <marc.glisse@inria.fr>
18279 Richard Biener <rguenther@suse.de>
18280
18281 PR tree-optimization/101895
18282 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
18283 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
18284
18285 2022-03-15 Jakub Jelinek <jakub@redhat.com>
18286
18287 PR rtl-optimization/104814
18288 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
18289 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
18290
18291 2022-03-15 Martin Sebor <msebor@redhat.com>
18292
18293 PR middle-end/104436
18294 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
18295 Check for warning suppression. Avoid by-value arguments transformed
18296 into by-transparent-reference.
18297
18298 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
18299 Uroš Bizjak <ubizjak@gmail.com>
18300
18301 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
18302 transformation when *zero_extend<mode>si2 is not available.
18303
18304 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
18305
18306 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
18307 * config/mips/mips.cc (mips_option_override): Make
18308 -fsanitize=address imply -fasynchronous-unwind-tables. This is
18309 needed by libasan for stack backtrace on MIPS.
18310 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
18311
18312 2022-03-14 Jakub Jelinek <jakub@redhat.com>
18313
18314 PR debug/104778
18315 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
18316 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
18317 call simplified the first operand into VOIDmode constant.
18318
18319 2022-03-14 Jakub Jelinek <jakub@redhat.com>
18320
18321 PR tree-optimization/102586
18322 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
18323 argument type should be pointer to trivially-copyable type unless it
18324 is address of a variable or parameter.
18325
18326 2022-03-14 Jakub Jelinek <jakub@redhat.com>
18327
18328 PR target/99754
18329 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
18330 first rather than last element of the vector, use __m32_u to do
18331 a really unaligned load, use just 0 instead of (int)0.
18332 (_mm_loadu_si16): Put loaded value into first rather than last
18333 element of the vector, use __m16_u to do a really unaligned load,
18334 use just 0 instead of (short)0.
18335
18336 2022-03-14 Jakub Jelinek <jakub@redhat.com>
18337
18338 PR other/104899
18339 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
18340 in diagnostic message - cannott -> cannot. Use %< and %> around
18341 names of attribute. Avoid too long line.
18342 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
18343 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
18344
18345 2022-03-14 liuhongt <hongtao.liu@intel.com>
18346
18347 PR target/104666
18348 * config/i386/i386-expand.cc
18349 (ix86_check_builtin_isa_match): New func.
18350 (ix86_expand_builtin): Move code to
18351 ix86_check_builtin_isa_match and call it.
18352 * config/i386/i386-protos.h
18353 (ix86_check_builtin_isa_match): Declare.
18354 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
18355 builtin into gimple when isa mismatches.
18356
18357 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
18358
18359 * doc/invoke.texi: Fix typos.
18360 * doc/tm.texi.in: Remove duplicated word.
18361 * doc/tm.texi: Regenerate.
18362
18363 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
18364
18365 PR target/104829
18366 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
18367 "ppc" and "ppc64" based on rs6000_cpu.
18368
18369 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
18370
18371 PR middle-end/100280
18372 PR middle-end/104892
18373 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
18374 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
18375
18376 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
18377
18378 PR middle-end/100280
18379 PR middle-end/104086
18380 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
18381 Mark variables used in 'present' clauses as addressable.
18382 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
18383 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
18384
18385 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
18386
18387 PR other/65095
18388 * tree-core.h (user_omp_claus_code_name): Declare function.
18389 * tree.cc (user_omp_clause_code_name): New function.
18390
18391 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
18392
18393 PR middle-end/98420
18394 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
18395 (the defaut) or -fno-signed-zeros.
18396
18397 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
18398
18399 PR target/104868
18400 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
18401 moving from a GPR register to an Altivec register.
18402
18403 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
18404
18405 PR tree-optimization/98335
18406 * config/i386/i386.md (peephole2): Eliminate redundant insv.
18407 Combine movl followed by movb. Transform xorl followed by
18408 a suitable movb or movw into the equivalent movz[bw]l.
18409
18410 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
18411 Richard Biener <rguenther@suse.de>
18412
18413 PR tree-optimization/98335
18414 * builtins.cc (get_object_alignment_2): Export.
18415 * builtins.h (get_object_alignment_2): Likewise.
18416 * tree-ssa-alias.cc (ao_ref_alignment): New.
18417 * tree-ssa-alias.h (ao_ref_alignment): Declare.
18418 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
18419 to align head/tail, writing more bytes but using fewer store insns.
18420
18421 2022-03-11 Richard Biener <rguenther@suse.de>
18422
18423 PR tree-optimization/104880
18424 * tree-ssa.cc (execute_update_address_taken): Remember if we
18425 optimistically made something not addressable and
18426 prepare to undo it.
18427
18428 2022-03-11 Richard Biener <rguenther@suse.de>
18429
18430 PR target/104762
18431 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
18432 cost the first lane of SSE pieces as inserts for vec_construct.
18433
18434 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
18435
18436 PR c++/84964
18437 * calls.cc (expand_call): Ignore stack adjustments after sorry.
18438
18439 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
18440
18441 PR target/103074
18442 * lra-constraints.cc (split_reg): Set up
18443 check_and_force_assignment_correctness_p when splitting hard
18444 register live range.
18445
18446 2022-03-10 Martin Jambor <mjambor@suse.cz>
18447
18448 PR ipa/104813
18449 * ipa-cp.cc (create_specialized_node): Move removal of
18450 self-recursive calls from callers vector before refrence
18451 adjustments.
18452
18453 2022-03-10 Richard Biener <rguenther@suse.de>
18454
18455 PR tree-optimization/102943
18456 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
18457 Make a bitmap_head.
18458 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
18459 to tree view.
18460 (sbr_sparse_bitmap::set_bb_range): Adjust.
18461 (sbr_sparse_bitmap::get_bb_range): Likewise.
18462
18463 2022-03-10 Richard Biener <rguenther@suse.de>
18464
18465 PR tree-optimization/102943
18466 * tree-ssa-dom.cc (back_propagate_equivalences): Only
18467 populate the dominance bitmap if fast queries are not
18468 available. Use a tree view bitmap.
18469 (record_temporary_equivalences): Cache the dominance bitmap
18470 across all equivalences on the edge.
18471
18472 2022-03-10 Tom de Vries <tdevries@suse.de>
18473
18474 PR target/104840
18475 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
18476 of false,true.
18477
18478 2022-03-10 Tom de Vries <tdevries@suse.de>
18479
18480 PR target/104783
18481 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
18482 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
18483 (nvptx_get_unisimt_outside_simt_predicate): New function.
18484 (predicate_insn): New function, factored out of ...
18485 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
18486 * config/nvptx/nvptx.h (struct machine_function): Add
18487 unisimt_outside_simt_predicate field.
18488 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
18489 (define_insn "nvptx_uniform_warp_check"): Make predicable.
18490
18491 2022-03-10 Tom de Vries <tdevries@suse.de>
18492
18493 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
18494 result.
18495
18496 2022-03-10 Tom de Vries <tdevries@suse.de>
18497
18498 PR target/104815
18499 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
18500 modifier.
18501 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
18502
18503 2022-03-10 Tom de Vries <tdevries@suse.de>
18504
18505 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
18506 Emit atom.and.b64 instead of atom.b64.and.
18507
18508 2022-03-10 Tom de Vries <tdevries@suse.de>
18509
18510 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
18511 (MULTILIB_OPTIONS): ... here.
18512
18513 2022-03-10 Tom de Vries <tdevries@suse.de>
18514
18515 PR target/104758
18516 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
18517 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
18518
18519 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
18520
18521 PR middle-end/90115
18522 PR middle-end/102330
18523 PR middle-end/104774
18524 * omp-low.cc (oacc_privatization_candidate_p)
18525 (oacc_privatization_scan_clause_chain)
18526 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
18527 Analyze 'lookup_decl'-translated DECL.
18528
18529 2022-03-10 Jakub Jelinek <jakub@redhat.com>
18530
18531 PR target/99708
18532 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
18533 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
18534 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
18535 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
18536 "**NULL**" if type_node is NULL first. Handle
18537 ieee128_float_type_node.
18538 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
18539 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
18540 ieee128_float_type_node to NULL rather than long_double_type_node if
18541 they aren't supported. Do support __ibm128 even if
18542 !TARGET_FLOAT128_TYPE when long double is double double.
18543 (rs6000_expand_builtin): Error if bif_is_ibm128 and
18544 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
18545 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
18546 for it.
18547 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
18548 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
18549 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
18550 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
18551 Formatting fix.
18552 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
18553 (struct attrinfo): Add isibm128 member.
18554 (TYPE_MAP_SIZE): Remove.
18555 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
18556 ibm128_float_type_node only if it is non-NULL, otherwise fall back
18557 to long_double_type_node. Remove "pif" entry.
18558 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
18559 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
18560 (write_type_node): Use sizeof type_map / sizeof type_map[0]
18561 instead of TYPE_MAP_SIZE.
18562 (write_bif_static_init): Handle isibm128.
18563 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
18564 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
18565 attribute.
18566
18567 2022-03-09 Richard Biener <rguenther@suse.de>
18568
18569 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
18570 with non-decl operand, avoiding a copy.
18571
18572 2022-03-09 Jakub Jelinek <jakub@redhat.com>
18573
18574 PR target/104781
18575 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
18576
18577 2022-03-09 Richard Biener <rguenther@suse.de>
18578
18579 PR middle-end/104786
18580 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
18581 for VLAs without an upper size bound.
18582
18583 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
18584
18585 PR tree-optimization/104851
18586 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
18587 error.
18588
18589 2022-03-09 Jakub Jelinek <jakub@redhat.com>
18590
18591 PR c/104711
18592 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
18593 is enabled by it only for C++11 to C++17 rather than for C++03 or
18594 later.
18595 (-Wshift-negative-value): Similarly (except here we stated
18596 that it is enabled for C++11 or later).
18597
18598 2022-03-09 Jakub Jelinek <jakub@redhat.com>
18599
18600 PR rtl-optimization/104839
18601 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
18602 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
18603 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
18604 instead of incorrect 0 in SUBREG_PROMOTED_SET.
18605
18606 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
18607
18608 PR target/104842
18609 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
18610 value before adding an offset.
18611
18612 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
18613
18614 * config/arm/arm-builtins.cc
18615 (arm_binop_none_none_unone_qualifiers): Delete.
18616 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
18617
18618 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
18619
18620 PR translation/104552
18621 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
18622 the PCH out of memory error message punctuation and wording.
18623
18624 2022-03-08 Marek Polacek <polacek@redhat.com>
18625
18626 PR rtl-optimization/104777
18627 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
18628 ASM_OPERANDS_LABEL_VEC has at least one element.
18629
18630 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
18631
18632 PR target/104781
18633 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
18634 stack realignment or regparm nested function with EH return.
18635
18636 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
18637
18638 PR target/104790
18639 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
18640 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
18641 register for non widening loads or narrowing stores.
18642
18643 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
18644
18645 PR translation/104552
18646 * params.opt: Fix typo.
18647
18648 2022-03-08 Richard Biener <rguenther@suse.de>
18649
18650 PR tree-optimization/84201
18651 * params.opt (-param=vect-induction-float): Add.
18652 * doc/invoke.texi (vect-induction-float): Document.
18653 * tree-vect-loop.cc (vectorizable_induction): Honor
18654 param_vect_induction_float.
18655
18656 2022-03-08 Martin Jambor <mjambor@suse.cz>
18657
18658 PR translation/104552
18659 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
18660 "that" in the description.
18661
18662 2022-03-08 Richard Biener <rguenther@suse.de>
18663
18664 PR tree-optimization/104825
18665 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
18666 guard modref get_ao_ref on a pointer typed argument.
18667
18668 2022-03-08 liuhongt <hongtao.liu@intel.com>
18669
18670 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
18671 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
18672
18673 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
18674
18675 * doc/invoke.texi (C++ Modules): Remove anachronism.
18676
18677 2022-03-07 Martin Liska <mliska@suse.cz>
18678
18679 PR middle-end/104381
18680 * opts.cc (finish_options): If debug info is disabled
18681 (debug_info_level) and -fvar-tracking is unset, disable it.
18682
18683 2022-03-07 Jakub Jelinek <jakub@redhat.com>
18684
18685 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
18686 * config/riscv/riscv.cc: Likewise.
18687 * config/darwin.h: Likewise.
18688 * config/i386/i386.cc: Likewise.
18689 * config/aarch64/thunderx3t110.md: Likewise.
18690 * config/aarch64/fractional-cost.h: Likewise.
18691 * config/vax/vax.cc: Likewise.
18692 * config/rs6000/pcrel-opt.md: Likewise.
18693 * config/rs6000/predicates.md: Likewise.
18694 * ctfc.h: Likewise.
18695 * tree-ssa-uninit.cc: Likewise.
18696 * value-relation.h: Likewise.
18697 * gimple-range-gori.cc: Likewise.
18698 * ipa-polymorphic-call.cc: Likewise.
18699 * pointer-query.cc: Likewise.
18700 * ipa-sra.cc: Likewise.
18701 * internal-fn.cc: Likewise.
18702 * varasm.cc: Likewise.
18703 * gimple-ssa-warn-access.cc: Likewise.
18704
18705 2022-03-07 Martin Liska <mliska@suse.cz>
18706
18707 PR target/104794
18708 * config/arm/arm.cc (arm_option_override_internal): Add missing
18709 space.
18710
18711 2022-03-07 Richard Biener <rguenther@suse.de>
18712
18713 PR tree-optimization/104782
18714 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
18715 Re-instantiate r10-5979 fix, add comment.
18716
18717 2022-03-07 Martin Liska <mliska@suse.cz>
18718
18719 PR target/104797
18720 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
18721 parenthesis from built-in name.
18722
18723 2022-03-07 Martin Liska <mliska@suse.cz>
18724
18725 PR target/104794
18726 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
18727 of options in error messages.
18728 (arm_option_reconfigure_globals): Likewise.
18729
18730 2022-03-07 Martin Liska <mliska@suse.cz>
18731
18732 PR target/104794
18733 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
18734 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
18735 have only range [0,32].
18736
18737 2022-03-07 Jakub Jelinek <jakub@redhat.com>
18738
18739 PR target/104775
18740 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
18741 S constraint instead of T in the last alternative.
18742
18743 2022-03-07 Martin Liska <mliska@suse.cz>
18744
18745 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
18746 message.
18747
18748 2022-03-07 Martin Liska <mliska@suse.cz>
18749
18750 PR translation/90148
18751 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
18752 quote to a proper place.
18753 * plugin.cc (default_plugin_dir_name): Likewise.
18754
18755 2022-03-07 Martin Liska <mliska@suse.cz>
18756
18757 PR target/99297
18758 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
18759 string.
18760
18761 2022-03-07 Jakub Jelinek <jakub@redhat.com>
18762
18763 PR target/104779
18764 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
18765 define_expand pattern. Rename define_insn to ...
18766 (*avx512dq_mul<mode>3<mask_name>): ... this.
18767 (<code><mode>3_mask): New any_logic define_expand pattern.
18768 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
18769 (*<code><mode>3<mask_name>): ... this.
18770
18771 2022-03-05 Jakub Jelinek <jakub@redhat.com>
18772
18773 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
18774 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
18775
18776 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
18777 Uroš Bizjak <ubizjak@gmail.com>
18778
18779 PR testsuite/104732
18780 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
18781 Include DI mode unconditionally.
18782 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
18783 i.e. always split on !TARGET_64BIT.
18784 (*<any_or>di3_doubleword): Likewise.
18785 (*one_cmpldi2_doubleword): Likewise.
18786 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
18787 (<any_or><mode>3 expander): Likewise.
18788 (one_cmpl<mode>2 expander): Likewise.
18789
18790 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
18791
18792 PR target/104698
18793 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
18794 (mtvsrdd_diti_w1): Delete.
18795 (extendditi2): Convert from define_expand to
18796 define_insn_and_split. Replace with code to deal with both GPR
18797 registers and with altivec registers.
18798
18799 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
18800
18801 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
18802 bit. Handle most older CPUs.
18803
18804 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
18805
18806 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
18807 avoid a mismatch with DECL_MD_FUNCTION_CODE().
18808
18809 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
18810
18811 PR target/104117
18812 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
18813 (@machopic_low_<mode>): New.
18814 * config/rs6000/predicates.md (macho_pic_address): New.
18815 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
18816 apply the TLS processing to Darwin.
18817 * lra-constraints.cc (process_address_1): Revert the changes
18818 in r12-7209.
18819
18820 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
18821
18822 PR target/87496
18823 PR target/104208
18824 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
18825 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
18826 -mlong-double-128.
18827 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
18828 from here...
18829 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
18830 ... to here.
18831
18832 2022-03-04 Jakub Jelinek <jakub@redhat.com>
18833
18834 PR middle-end/104529
18835 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
18836 on automatic objects which will be runtime initialized.
18837
18838 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
18839
18840 PR middle-end/100280
18841 PR middle-end/104132
18842 PR middle-end/104133
18843 * omp-low.cc (task_shared_vars): Rename to
18844 'make_addressable_vars'. Adjust all users.
18845 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
18846 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
18847
18848 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
18849
18850 PR middle-end/100280
18851 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
18852 * tree-core.h: Document it.
18853 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
18854 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
18855 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
18856 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
18857 'TREE_ADDRESSABLE'.
18858
18859 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
18860
18861 PR middle-end/100280
18862 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
18863 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
18864 '[...]' declared in block made addressable".
18865
18866 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
18867
18868 PR middle-end/100400
18869 PR middle-end/103836
18870 PR middle-end/104061
18871 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
18872 Catch 'GIMPLE_DEBUG'.
18873
18874 2022-03-04 Jakub Jelinek <jakub@redhat.com>
18875
18876 PR c/104627
18877 * tree.cc (warn_deprecated_use): For types prefer to use node
18878 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
18879 NULL.
18880
18881 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
18882
18883 PR target/104704
18884 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
18885 a pseudo register.
18886
18887 2022-03-03 Martin Sebor <msebor@redhat.com>
18888
18889 PR middle-end/104761
18890 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
18891 mark_dfs_back_edges.
18892
18893 2022-03-03 Martin Liska <mliska@suse.cz>
18894
18895 * configure.ac: Use linker plug-in by default.
18896 * configure: Regenerate.
18897
18898 2022-03-03 Martin Liska <mliska@suse.cz>
18899
18900 * configure.ac: Now ld.mold support LTO plugin API, use it.
18901 * configure: Regenerate.
18902
18903 2022-03-03 Tom de Vries <tdevries@suse.de>
18904
18905 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
18906
18907 2022-03-03 Tom de Vries <tdevries@suse.de>
18908
18909 PR target/104758
18910 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
18911
18912 2022-03-03 Tom de Vries <tdevries@suse.de>
18913
18914 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
18915
18916 2022-03-03 Jakub Jelinek <jakub@redhat.com>
18917
18918 PR middle-end/104757
18919 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
18920 gimplify_omp_for.
18921 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
18922 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
18923
18924 2022-03-03 Jakub Jelinek <jakub@redhat.com>
18925
18926 PR middle-end/104558
18927 * calls.cc (store_one_arg): When not calling emit_push_insn
18928 because size_rtx is const0_rtx, call at least anti_adjust_stack
18929 on arg->locate.alignment_pad if !argblock and the alignment might
18930 be non-zero.
18931
18932 2022-03-02 Alexandre Oliva <oliva@adacore.com>
18933
18934 * lra-constraints.cc (undo_optional_reloads): Recognize and
18935 drop insns of multi-word move sequences, tolerate removal
18936 iteration on an already-removed clobber, and refuse to
18937 substitute original pseudos into clobbers.
18938
18939 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
18940
18941 PR middle-end/102276
18942 * common.opt (-Wtrivial-auto-var-init): New option.
18943 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
18944 (-ftrivial-auto-var-init): Update option;
18945 * gimplify.cc (emit_warn_switch_unreachable): New function.
18946 (warn_switch_unreachable_r): Rename to ...
18947 (warn_switch_unreachable_and_auto_init_r): This.
18948 (maybe_warn_switch_unreachable): Rename to ...
18949 (maybe_warn_switch_unreachable_and_auto_init): This.
18950 (gimplify_switch_expr): Update calls to renamed function.
18951
18952 2022-03-02 Richard Biener <rguenther@suse.de>
18953
18954 PR rtl-optimization/104686
18955 * ira-color.cc (object_conflicts_with_allocno_p): New function
18956 using a bitvector test instead of iterating when possible.
18957 (allocnos_conflict_p): Choose the best allocno to iterate over
18958 object conflicts.
18959 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
18960 last.
18961
18962 2022-03-02 Jakub Jelinek <jakub@redhat.com>
18963
18964 * cfg.cc (dump_edge_info): Dump goto_locus if present.
18965
18966 2022-03-02 Jakub Jelinek <jakub@redhat.com>
18967
18968 PR rtl-optimization/104589
18969 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
18970 INSN_LOCATION comparison with goto_locus.
18971
18972 2022-03-02 Jakub Jelinek <jakub@redhat.com>
18973
18974 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
18975 strlen_pass::before_dom_children): Comment spelling fixes.
18976
18977 2022-03-02 Jakub Jelinek <jakub@redhat.com>
18978
18979 * ipa-modref-tree.cc (modref_access_node::contains,
18980 modref_access_node::closer_pair_p, modref_access_node::insert,
18981 modref_access_node::insert_kill): Comment spelling fixes.
18982 * ipa-modref.cc: Likewise.
18983 (modref_summary::finalize, ignore_nondeterminism_p,
18984 class modref_access_analysis,
18985 modref_access_analysis::set_side_effects,
18986 modref_access_analysis::set_nondeterministic,
18987 modref_access_analysis::record_global_memory_load,
18988 modref_access_analysis::propagate, modref_access_analysis::analyze,
18989 struct escape_point, class modref_lattice, modref_lattice::merge,
18990 modref_lattice::merge_deref, class modref_eaf_analysis,
18991 modref_eaf_analysis::merge_call_lhs_flags,
18992 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
18993 modref_eaf_analysis::record_escape_points, remap_kills,
18994 update_escape_summary, remove_useless_summaries,
18995 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
18996 Likewise.
18997 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
18998 Likewise.
18999 * ipa-modref-tree.h (enum modref_special_parms,
19000 struct modref_access_node): Likewise.
19001
19002 2022-03-01 Jakub Jelinek <jakub@redhat.com>
19003
19004 PR tree-optimization/104715
19005 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
19006 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
19007 of a call if gimple_call_return_arg is equal to ptr, not just when it
19008 is non-NULL.
19009
19010 2022-03-01 Jakub Jelinek <jakub@redhat.com>
19011
19012 * gimple-ssa-warn-access.cc (warn_string_no_nul,
19013 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
19014 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
19015 pass_waccess::check_alloca, pass_waccess::check_strcat,
19016 memmodel_to_uhwi, fntype_argno_type,
19017 pass_waccess::maybe_check_access_sizes,
19018 pass_waccess::check_call_access,
19019 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
19020 Comment spelling fixes.
19021
19022 2022-03-01 Richard Biener <rguenther@suse.de>
19023
19024 PR tree-optimization/104716
19025 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
19026 Check if we can copy the loop.
19027
19028 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
19029
19030 PR middle-end/104721
19031 * cfgexpand.cc (expand_gimple_basic_block): Clear
19032 currently_expanding_gimple_stmt when returning inside the loop.
19033
19034 2022-03-01 Martin Liska <mliska@suse.cz>
19035
19036 PR ipa/104533
19037 * multiple_target.cc (get_attr_len): Move to tree.c.
19038 (expand_target_clones): Remove single value checking.
19039 * tree.cc (get_target_clone_attr_len): New fn.
19040 * tree.h (get_target_clone_attr_len): Likewise.
19041
19042 2022-03-01 Martin Liska <mliska@suse.cz>
19043
19044 PR gcov-profile/104677
19045 * doc/invoke.texi: Document more .gcda file name generation.
19046
19047 2022-03-01 Tom de Vries <tdevries@suse.de>
19048
19049 PR target/102429
19050 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
19051 * config/nvptx/nvptx.md
19052 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
19053 New predicate.
19054 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
19055 Use nvptx_register_or_complex_di_df_register_operand.
19056
19057 2022-03-01 Tom de Vries <tdevries@suse.de>
19058
19059 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
19060 * config/nvptx/gen-copyright.sh: New file.
19061 * config/nvptx/gen-h.sh: New file.
19062 * config/nvptx/gen-opt.sh: New file.
19063 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
19064 (TARGET_SM75, TARGET_SM80): Move ...
19065 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
19066 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
19067 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
19068 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
19069 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
19070
19071 2022-03-01 Tom de Vries <tdevries@suse.de>
19072
19073 * config/nvptx/gen-omp-device-properties.sh: New file.
19074 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
19075
19076 2022-03-01 Tom de Vries <tdevries@suse.de>
19077
19078 * config/nvptx/nvptx-sm.def: New file.
19079 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
19080 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
19081 * config/nvptx/nvptx.cc (sm_version_to_string)
19082 (nvptx_omp_device_kind_arch_isa): Same.
19083
19084 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
19085
19086 PR rtl-optimization/104154
19087 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
19088 comparison ifcvt passed us.
19089
19090 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
19091
19092 PR target/104664
19093 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
19094 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
19095
19096 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
19097
19098 PR tree-optimization/91384
19099 * config/i386/i386.md (peephole2): Eliminate final testl insn
19100 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
19101 transforming using *negsi_2 for the negation.
19102
19103 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
19104 Eric Botcazou <ebotcazou@adacore.com>
19105
19106 PR middle-end/80270
19107 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
19108 register, copy it to a pseudo before calling simplify_gen_subreg.
19109
19110 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
19111
19112 PR rtl-optimization/104637
19113 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
19114 as possible on one subpass.
19115
19116 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
19117
19118 PR middle-end/104550
19119 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
19120 created uses.
19121
19122 2022-02-28 Martin Liska <mliska@suse.cz>
19123
19124 PR ipa/104648
19125 * main.cc (main): Use flag_checking instead of CHECKING_P
19126 and run toplev::finalize only if there is not error seen.
19127
19128 2022-02-28 Richard Biener <rguenther@suse.de>
19129
19130 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
19131
19132 2022-02-28 Richard Biener <rguenther@suse.de>
19133
19134 PR tree-optimization/104700
19135 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
19136 into ...
19137 (find_or_generate_expression): ... here, simplifying code.
19138
19139 2022-02-28 Tom de Vries <tdevries@suse.de>
19140
19141 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
19142 PTX_VERSION_default.
19143 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
19144 PTX_VERSION_default.
19145 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
19146
19147 2022-02-28 Richard Biener <rguenther@suse.de>
19148
19149 PR rtl-optimization/104686
19150 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
19151 skipping bits that are zero.
19152 (ira_object_conflict_iter_cond): Likewise.
19153
19154 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
19155
19156 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
19157 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
19158 char to avoid error when using ~enum as parameter.
19159 (_mm512_mask_ternarylogic_epi64): Likewise.
19160 (_mm512_maskz_ternarylogic_epi64): Likewise.
19161 (_mm512_ternarylogic_epi32): Likewise.
19162 (_mm512_mask_ternarylogic_epi32): Likewise.
19163 (_mm512_maskz_ternarylogic_epi32): Likewise.
19164 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
19165 Adjust imm param type to unsigned char.
19166 (_mm256_mask_ternarylogic_epi64): Likewise.
19167 (_mm256_maskz_ternarylogic_epi64): Likewise.
19168 (_mm256_ternarylogic_epi32): Likewise.
19169 (_mm256_mask_ternarylogic_epi32): Likewise.
19170 (_mm256_maskz_ternarylogic_epi32): Likewise.
19171 (_mm_ternarylogic_epi64): Likewise.
19172 (_mm_mask_ternarylogic_epi64): Likewise.
19173 (_mm_maskz_ternarylogic_epi64): Likewise.
19174 (_mm_ternarylogic_epi32): Likewise.
19175 (_mm_mask_ternarylogic_epi32): Likewise.
19176 (_mm_maskz_ternarylogic_epi32): Likewise.
19177
19178 2022-02-25 Jakub Jelinek <jakub@redhat.com>
19179 Marc Glisse <marc.glisse@inria.fr>
19180
19181 PR tree-optimization/104675
19182 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
19183 Restrict simplifications to INTEGRAL_TYPE_P.
19184
19185 2022-02-25 Jakub Jelinek <jakub@redhat.com>
19186
19187 PR target/104681
19188 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
19189
19190 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
19191
19192 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
19193 comparison is not valid.
19194 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
19195 (movdicc): Likewise.
19196 (movsfcc): Likewise.
19197 (movdfcc): Likewise.
19198
19199 2022-02-25 Richard Biener <rguenther@suse.de>
19200
19201 PR tree-optimization/103037
19202 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
19203 (vn_nary_length_from_stmt): Likewise.
19204 (init_vn_nary_op_from_stmt): Likewise.
19205 (vn_nary_op_compute_hash): Likewise.
19206 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
19207 (vn_nary_length_from_stmt): Likewise.
19208 (init_vn_nary_op_from_stmt): Likewise.
19209 (vn_nary_op_compute_hash): Likewise.
19210 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
19211 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
19212 (re-)compute the hash value and if the expression is not
19213 found allocate it from pre_expr_obstack.
19214 (phi_translate_1): Do not insert the NARY found in the
19215 VN tables but build a PRE expression from the valueized
19216 NARY with the value-id we eventually found.
19217 (find_or_generate_expression): Assert we have an entry
19218 for constant values.
19219 (compute_avail): Insert not valueized expressions into
19220 EXP_GEN using the value-id from the VN tables.
19221 (init_pre): Allocate pre_expr_obstack.
19222 (fini_pre): Free pre_expr_obstack.
19223
19224 2022-02-25 Jakub Jelinek <jakub@redhat.com>
19225
19226 PR target/104674
19227 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
19228 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
19229 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
19230
19231 2022-02-25 Jakub Jelinek <jakub@redhat.com>
19232
19233 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
19234
19235 2022-02-25 Jakub Jelinek <jakub@redhat.com>
19236
19237 PR middle-end/104679
19238 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
19239
19240 2022-02-25 Jakub Jelinek <jakub@redhat.com>
19241
19242 PR tree-optimization/104675
19243 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
19244 COMPLEX_TYPE.
19245
19246 2022-02-25 Alexandre Oliva <oliva@adacore.com>
19247
19248 PR target/104121
19249 PR target/103302
19250 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
19251
19252 2022-02-25 Alexandre Oliva <oliva@adacore.com>
19253
19254 PR middle-end/104540
19255 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
19256 dw_cfi_cfa_loc.
19257
19258 2022-02-25 Alexandre Oliva <oliva@adacore.com>
19259
19260 PR tree-optimization/103856
19261 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
19262 eh edge to be requested through an extra parameter.
19263 (pass_harden_compares::execute): Copy PHI args in the EH dest
19264 block for the new EH edge added for the inverted compare.
19265
19266 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
19267
19268 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
19269 of position independence that -mcmodel=medany affords.
19270
19271 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
19272
19273 PR target/104656
19274 * configure.ac: --disable-gcov if targetting bpf-*.
19275 * configure: Regenerate.
19276
19277 2022-02-24 Richard Biener <rguenther@suse.de>
19278
19279 PR tree-optimization/104676
19280 * tree-loop-distribution.cc (loop_distribution::execute):
19281 Do a full scev_reset.
19282
19283 2022-02-24 Jakub Jelinek <jakub@redhat.com>
19284
19285 PR tree-optimization/104601
19286 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
19287 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
19288 vuse value number.
19289
19290 2022-02-24 Tom de Vries <tdevries@suse.de>
19291 Tobias Burnus <tobias@codesourcery.com>
19292
19293 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
19294 sm_70, sm_75 and sm_80.
19295 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
19296
19297 2022-02-24 Tom de Vries <tdevries@suse.de>
19298
19299 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
19300 "rotrsi3"): New define_insn.
19301
19302 2022-02-24 Tom de Vries <tdevries@suse.de>
19303
19304 * config/nvptx/nvptx.cc (gen_comment): Use
19305 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
19306
19307 2022-02-24 liuhongt <hongtao.liu@intel.com>
19308
19309 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
19310 isa attr of alternative 2 from avx to avx512vl.
19311
19312 2022-02-23 Richard Biener <rguenther@suse.de>
19313 Jakub Jelinek <jakub@redhat.com>
19314
19315 PR tree-optimization/104644
19316 * doc/match-and-simplify.texi: Amend ! documentation.
19317 * genmatch.cc (expr::gen_transform): Code-generate ! support
19318 for GENERIC.
19319 (parser::parse_expr): Allow ! for GENERIC.
19320 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
19321 bswap.
19322
19323 2022-02-23 Richard Biener <rguenther@suse.de>
19324
19325 PR tree-optimization/101636
19326 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
19327 vector type of the node.
19328 (vect_slp_analyze_operations): Make sure the CTOR
19329 is vectorized with an expected type.
19330 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
19331
19332 2022-02-23 Jakub Jelinek <jakub@redhat.com>
19333
19334 PR c/104633
19335 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
19336 Don't warn about calls to corresponding builtin from extern inline
19337 gnu_inline wrappers.
19338
19339 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
19340
19341 PR target/104489
19342 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
19343
19344 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
19345
19346 PR target/100757
19347 PR target/101325
19348 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
19349 typo.
19350
19351 2022-02-23 Cui,Lili <lili.cui@intel.com>
19352
19353 * doc/invoke.texi: Update documents for Intel architectures.
19354
19355 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
19356
19357 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
19358 bootstrap.
19359
19360 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
19361
19362 * omp-low.cc (omp_build_component_ref): Move function...
19363 * omp-general.cc (omp_build_component_ref): ... here. Remove
19364 'static'.
19365 * omp-general.h (omp_build_component_ref): Declare function.
19366 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
19367 function.
19368 (build_receiver_ref, build_sender_ref): Call
19369 'omp_build_component_ref' instead.
19370
19371 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
19372
19373 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
19374 simplify. Adjust all users.
19375
19376 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
19377
19378 PR target/88134
19379 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
19380 atomic_update_decl): Add GTY markup.
19381
19382 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19383
19384 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
19385
19386 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19387
19388 PR target/100757
19389 PR target/101325
19390 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
19391 predicate.
19392 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
19393 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
19394 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
19395 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
19396 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
19397 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
19398 * config/arm/mve.md: Use VxBI instead of HI.
19399
19400 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19401
19402 PR target/100757
19403 PR target/101325
19404 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
19405 qualifier.
19406 (STRSBU_P_QUALIFIERS): Likewise.
19407 (LDRGBS_Z_QUALIFIERS): Likewise.
19408 (LDRGBU_Z_QUALIFIERS): Likewise.
19409 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
19410 (LDRGBWBS_Z_QUALIFIERS): Likewise.
19411 (LDRGBWBU_Z_QUALIFIERS): Likewise.
19412 (STRSBWBS_P_QUALIFIERS): Likewise.
19413 (STRSBWBU_P_QUALIFIERS): Likewise.
19414 * config/arm/mve.md: Use VxBI instead of HI.
19415
19416 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19417
19418 PR target/100757
19419 PR target/101325
19420 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
19421 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
19422 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
19423 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
19424 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
19425 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
19426 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
19427 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
19428 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
19429 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
19430 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
19431 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
19432 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
19433 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
19434 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
19435 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
19436 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
19437 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
19438 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
19439 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
19440 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
19441 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
19442 (STRS_P_QUALIFIERS): Use predicate qualifier.
19443 (STRU_P_QUALIFIERS): Likewise.
19444 (STRSU_P_QUALIFIERS): Likewise.
19445 (STRSS_P_QUALIFIERS): Likewise.
19446 (LDRGS_Z_QUALIFIERS): Likewise.
19447 (LDRGU_Z_QUALIFIERS): Likewise.
19448 (LDRS_Z_QUALIFIERS): Likewise.
19449 (LDRU_Z_QUALIFIERS): Likewise.
19450 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
19451 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
19452 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
19453 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
19454 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
19455 * config/arm/mve.md: Use MVE_VPRED instead of HI.
19456
19457 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19458
19459 PR target/100757
19460 PR target/101325
19461 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
19462 Delete.
19463 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
19464 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
19465 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
19466 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
19467 predicated qualifiers.
19468 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
19469 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
19470
19471 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19472
19473 PR target/100757
19474 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
19475 (arm_expand_vector_compare): Update prototype.
19476 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
19477 (arm_vector_mode_supported_p): Add support for VxBI modes.
19478 (arm_expand_vector_compare): Remove useless generation of vpsel.
19479 (arm_expand_vcond): Fix select operands.
19480 (arm_get_mask_mode): New.
19481 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
19482 (vec_cmpu<mode><MVE_vpred>): New.
19483 (vcond_mask_<mode><MVE_vpred>): New.
19484 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
19485 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
19486 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
19487 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
19488 and disable for MVE.
19489 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
19490
19491 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19492
19493 PR target/100757
19494 PR target/101325
19495 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
19496 (BINOP_PRED_NONE_NONE_QUALIFIERS)
19497 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
19498 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
19499 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
19500 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
19501 modes.
19502 (arm_mode_to_pred_mode): New.
19503 (arm_expand_vector_compare): Use the right VxBI mode instead of
19504 HI.
19505 (arm_expand_vcond): Likewise.
19506 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
19507 (mve_bool_vec_to_const): New.
19508 (neon_make_constant): Call mve_bool_vec_to_const when needed.
19509 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
19510 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
19511 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
19512 (vpselq_s, vpselq_f): Use new predicated qualifiers.
19513 * config/arm/constraints.md (DB): New.
19514 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
19515 (MVE_VPRED, MVE_vpred): New attribute iterators.
19516 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
19517 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
19518 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
19519 (@mve_vpselq_<supf>v2di): Define separately.
19520 (mov<mode>): New expander for VxBI modes.
19521 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
19522 MVE_7_HI iterator and add support for DB constraint.
19523
19524 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19525 Richard Sandiford <richard.sandiford@arm.com>
19526
19527 PR target/100757
19528 PR target/101325
19529 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
19530 VNx2BI): Update definition.
19531 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
19532 simd types.
19533 (arm_init_builtin): Map predicate vectors arguments to HImode.
19534 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
19535 rtx. Move return value to HImode rtx.
19536 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
19537 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
19538 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
19539 Pred2x8_t,Pred4x4_t): New.
19540 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
19541 * genmodes.cc (mode_data): Add boolean field.
19542 (blank_mode): Initialize it.
19543 (make_complex_modes): Fix handling of boolean modes.
19544 (make_vector_modes): Likewise.
19545 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
19546 (make_vector_bool_mode): Likewise.
19547 (BOOL_MODE): New.
19548 (make_bool_mode): New.
19549 (emit_insn_modes_h): Fix generation of boolean modes.
19550 (emit_class_narrowest_mode): Likewise.
19551 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
19552 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
19553 define BImode.
19554 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
19555 Fix handling of constm1_rtx for VECTOR_BOOL.
19556 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
19557 (native_decode_vector_rtx): Likewise.
19558 (test_vector_ops_duplicate): Skip vec_merge test
19559 with vectors of booleans.
19560 * varasm.cc (output_constant_pool_2): Likewise.
19561
19562 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19563
19564 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
19565 for operand 1.
19566
19567 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19568
19569 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
19570
19571 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
19572
19573 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
19574 (REG_CLASS_NAMES): Likewise.
19575 (REG_CLASS_CONTENTS): Likewise.
19576 (CLASS_MAX_NREGS): Handle VPR.
19577 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
19578
19579 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
19580 Tom de Vries <tdevries@suse.de>
19581
19582 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
19583 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
19584 Likewise.
19585 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
19586
19587 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
19588 Tom de Vries <tdevries@suse.de>
19589
19590 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
19591 * doc/invoke.texi (-mptx): Update for new values and defaults.
19592
19593 2022-02-22 Tom de Vries <tdevries@suse.de>
19594
19595 * config/nvptx/nvptx.cc (gen_comment): New function.
19596 (workaround_uninit_method_1, workaround_uninit_method_2)
19597 (workaround_uninit_method_3): : Use gen_comment.
19598 * config/nvptx/nvptx.opt (mptx-comment): New option.
19599
19600 2022-02-22 Richard Biener <rguenther@suse.de>
19601
19602 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
19603 for a splat.
19604
19605 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
19606 Richard Biener <rguenther@suse.de>
19607
19608 * fold-const.cc (ctor_single_nonzero_element): New function to
19609 return the single non-zero element of a (vector) constructor.
19610 * fold-const.h (ctor_single_nonzero_element): Prototype here.
19611 * match.pd (reduc (constructor@0)): Simplify reductions of a
19612 constructor containing a single non-zero element.
19613 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
19614 reductions of vector operations of the same operator with
19615 constant vector operands.
19616
19617 2022-02-22 Jakub Jelinek <jakub@redhat.com>
19618
19619 PR tree-optimization/104604
19620 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
19621 Only check if gimple_assign_rhs1 is COMPLEX_CST if
19622 gimple_assign_rhs_code is COMPLEX_CST.
19623
19624 2022-02-22 Jakub Jelinek <jakub@redhat.com>
19625
19626 PR target/104612
19627 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
19628 on input operands before calling lowpart_subreg on it. For output
19629 operand, use a vmode pseudo as destination and then move its lowpart
19630 subreg into operands[0] if lowpart_subreg fails on dest.
19631 (ix86_expand_xorsign): Likewise.
19632
19633 2022-02-22 Richard Biener <rguenther@suse.de>
19634
19635 PR tree-optimization/104582
19636 PR target/99881
19637 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
19638 Cost GPR to vector register moves for integer vector construction.
19639
19640 2022-02-22 Richard Biener <rguenther@suse.de>
19641
19642 PR tree-optimization/104582
19643 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
19644 (vector_costs::add_stmt_cost): Add SLP node parameter.
19645 (dump_stmt_cost): Likewise.
19646 (add_stmt_cost): Likewise, new overload and adjust.
19647 (add_stmt_costs): Adjust.
19648 (record_stmt_cost): New overload.
19649 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
19650 (vector_costs::add_stmt_cost): Adjust.
19651 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
19652 Adjust.
19653 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
19654 the SLP node for costing.
19655 (vectorizable_slp_permutation): Likewise.
19656 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
19657 new overloads.
19658 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
19659 Adjust.
19660 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
19661 Adjust.
19662 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
19663 Adjust.
19664 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
19665
19666 2022-02-22 Richard Biener <rguenther@suse.de>
19667
19668 PR tree-optimization/104582
19669 * tree-vectorizer.h (add_stmt_cost): New overload.
19670 (record_stmt_cost): Likewise.
19671 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
19672 Use add_stmt_costs.
19673 (vect_get_known_peeling_cost): Use new overloads.
19674 (vect_estimate_min_profitable_iters): Likewise. Consistently
19675 use scalar_stmt for costing versioning checks.
19676 * tree-vect-stmts.cc (record_stmt_cost): New overload.
19677
19678 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
19679
19680 PR target/103069
19681 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
19682 Split atomic fetch and loop part.
19683 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
19684 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
19685 prototype.
19686 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
19687 expander under TARGET_RELAX_CMPXCHG_LOOP.
19688 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
19689
19690 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
19691
19692 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
19693 Change wb_candidate[12] to wb_push_candidate[12].
19694 (aarch64_layout_frame): Likewise, and
19695 change callee_adjust when scs is enabled.
19696 (aarch64_save_callee_saves):
19697 Change wb_candidate[12] to wb_push_candidate[12].
19698 (aarch64_restore_callee_saves):
19699 Change wb_candidate[12] to wb_pop_candidate[12].
19700 (aarch64_get_separate_components):
19701 Change wb_candidate[12] to wb_push_candidate[12].
19702 (aarch64_expand_prologue): Push x30 onto SCS before it's
19703 pushed onto stack.
19704 (aarch64_expand_epilogue): Pop x30 frome SCS, while
19705 preventing it from being popped from the regular stack again.
19706 (aarch64_override_options_internal): Add SCS compile option check.
19707 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
19708 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
19709 wb_pop_candidate[12], and rename wb_candidate[12] to
19710 wb_push_candidate[12].
19711 * config/aarch64/aarch64.md (scs_push): New template.
19712 (scs_pop): Likewise.
19713 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
19714 * doc/tm.texi: Regenerate.
19715 * doc/tm.texi.in: Add hook have_shadow_call_stack.
19716 * flag-types.h (enum sanitize_code):
19717 Add SANITIZE_SHADOW_CALL_STACK.
19718 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
19719 and exclude SANITIZE_SHADOW_CALL_STACK.
19720 * target.def: New hook.
19721 * toplev.cc (process_options): Add SCS compile option check.
19722 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
19723
19724 2022-02-21 Tom de Vries <tdevries@suse.de>
19725
19726 PR target/104440
19727 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
19728 (workaround_uninit_method_2, workaround_uninit_method_3)
19729 (workaround_uninit): New function.
19730 (nvptx_reorg): Use workaround_uninit.
19731 * config/nvptx/nvptx.opt (minit-regs): New option.
19732
19733 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
19734
19735 PR rtl-optimization/104498
19736 * alias.cc (compare_base_symbol_refs): Correct distance computation
19737 when swapping x and y.
19738
19739 2022-02-21 Andrew Pinski <apinski@marvell.com>
19740
19741 PR c/104506
19742 * tree-ssa.cc (tree_ssa_useless_type_conversion):
19743 Check the inner type before calling useless_type_conversion_p.
19744
19745 2022-02-19 Tom de Vries <tdevries@suse.de>
19746
19747 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
19748 * config/nvptx/nvptx.md
19749 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
19750 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
19751 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
19752 (define_expand "atomic_store<mode>"): Handle rename. Use
19753 nvptx_atomic_store instead of atomic_exchange.
19754
19755 2022-02-19 Tom de Vries <tdevries@suse.de>
19756
19757 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
19758 insns with atomic attribute. Assert that all handled insns are
19759 PARALLELs.
19760 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
19761 Set atomic attribute to false.
19762
19763 2022-02-19 Tom de Vries <tdevries@suse.de>
19764
19765 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
19766 type to bool.
19767 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
19768 nvptx_warpsync, if necessary.
19769
19770 2022-02-19 Jakub Jelinek <jakub@redhat.com>
19771
19772 PR sanitizer/102656
19773 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
19774 known to be within bounds, treat it like automatic variables.
19775 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
19776 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
19777 it addressable.
19778
19779 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
19780
19781 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
19782 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
19783 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
19784 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
19785 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
19786 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
19787 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
19788 power10_sched_reorder): Likewise.
19789 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
19790 gen_addadd): Likewise
19791 * config/rs6000/fusion.md: Regenerate.
19792
19793 2022-02-18 Jakub Jelinek <jakub@redhat.com>
19794
19795 PR target/104257
19796 PR target/104598
19797 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
19798 rather than __posix_memalign.
19799
19800 2022-02-18 Richard Biener <rguenther@suse.de>
19801
19802 PR target/104581
19803 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
19804 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
19805 of calling ix86_avx_u128_mode_source which would eventually
19806 have returned AVX_U128_ANY in some very special case.
19807
19808 2022-02-18 Richard Biener <rguenther@suse.de>
19809
19810 PR tree-optimization/96881
19811 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
19812 CLOBBER handling.
19813 (control_parents_preserved_p): New function.
19814 (eliminate_unnecessary_stmts): Check that we preserved control
19815 parents before retaining a CLOBBER.
19816 (perform_tree_ssa_dce): Pass down aggressive flag
19817 to eliminate_unnecessary_stmts.
19818
19819 2022-02-17 Jason Merrill <jason@redhat.com>
19820
19821 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
19822 on TYPE_MAIN_VARIANT.
19823
19824 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
19825
19826 PR target/104257
19827 * config/rs6000/bmi2intrin.h: Uglify local variables.
19828 * config/rs6000/emmintrin.h: Likewise.
19829 * config/rs6000/mm_malloc.h: Likewise.
19830 * config/rs6000/mmintrin.h: Likewise.
19831 * config/rs6000/pmmintrin.h: Likewise.
19832 * config/rs6000/smmintrin.h: Likewise.
19833 * config/rs6000/tmmintrin.h: Likewise.
19834 * config/rs6000/xmmintrin.h: Likewise.
19835
19836 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
19837
19838 PR target/104335
19839 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
19840 if the expected comparison's first operand is of mode MODE_CC.
19841
19842 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
19843
19844 PR rtl-optimization/104447
19845 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
19846 hard reg set by lra_no_alloc_regs.
19847
19848 2022-02-17 liuhongt <hongtao.liu@intel.com>
19849
19850 PR tree-optimization/104551
19851 PR tree-optimization/103771
19852 * match.pd (cond_expr_convert_p): Add types_match check when
19853 convert is extension.
19854 * tree-vect-patterns.cc
19855 (gimple_cond_expr_convert_p): Adjust comments.
19856 (vect_recog_cond_expr_convert_pattern): Ditto.
19857
19858 2022-02-17 Jakub Jelinek <jakub@redhat.com>
19859
19860 PR debug/104557
19861 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
19862 if expr has VOIDmode.
19863
19864 2022-02-17 liuhongt <hongtao.liu@intel.com>
19865
19866 * config/i386/cpuid.h (bit_MPX): Removed.
19867 (bit_BNDREGS): Ditto.
19868 (bit_BNDCSR): Ditto.
19869
19870 2022-02-17 Michael Meissner <meissner@the-meissners.org>
19871
19872 PR target/99708
19873 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
19874 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
19875 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
19876 is created.
19877
19878 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
19879
19880 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
19881 range_compatible_p instead of direct type comparison.
19882
19883 2022-02-16 Jakub Jelinek <jakub@redhat.com>
19884
19885 PR rtl-optimization/104544
19886 * combine.cc (try_combine): When looking for insn whose links
19887 should be updated from i3 to i2, don't stop on debug insns, instead
19888 skip over them.
19889
19890 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
19891
19892 PR target/100056
19893 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
19894 * config/aarch64/aarch64.md: Extend the PR100056 patterns
19895 to handle plus in the same way as ior, if the operands have
19896 no set bits in common.
19897
19898 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
19899
19900 PR tree-optimization/104526
19901 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
19902 new routine.
19903 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
19904 of dependency chain if there isn't one.
19905 (gori_compute::condexpr_adjust): New.
19906 * gimple-range-gori.h (class gori_compute): New prototype.
19907
19908 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
19909
19910 PR target/100874
19911 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
19912 Declare.
19913 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
19914 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
19915
19916 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
19917
19918 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
19919 (vect_scalar_ops_slice_hash): Likewise.
19920 (vect_scalar_ops_slice::op): New function.
19921 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
19922 (vect_scalar_ops_slice_hash::hash): Likewise.
19923 (vect_scalar_ops_slice_hash::equal): Likewise.
19924 (vect_prologue_cost_for_slp): Check for duplicate vectors.
19925 * config/aarch64/aarch64.cc
19926 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
19927 (aarch64_aligned_constant_offset_p): New function.
19928 (aarch64_stp_sequence_cost): Likewise.
19929 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
19930 (aarch64_vector_costs::finish_cost): Likewise.
19931
19932 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
19933
19934 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
19935 use after free.
19936
19937 2022-02-15 Richard Biener <rguenther@suse.de>
19938
19939 PR tree-optimization/104543
19940 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
19941 come after the inner loop.
19942
19943 2022-02-15 Jakub Jelinek <jakub@redhat.com>
19944
19945 PR target/104536
19946 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
19947 cannot instead of can%'t in diagnostics. Formatting fixes.
19948
19949 2022-02-15 Jakub Jelinek <jakub@redhat.com>
19950
19951 PR middle-end/104522
19952 * fold-const.h (native_interpret_real): Declare.
19953 * fold-const.cc (native_interpret_real): No longer static. Don't
19954 perform MODE_COMPOSITE_P verification here.
19955 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
19956 for all modes.
19957 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
19958 instead of native_interpret_expr.
19959 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
19960 and comparison verification for all FLOAT_MODE_P modes, not just
19961 MODE_COMPOSITE_P.
19962
19963 2022-02-15 Richard Biener <rguenther@suse.de>
19964
19965 PR tree-optimization/104519
19966 * fold-const.cc (multiple_of_p): Remove never true condition.
19967 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
19968 the appropriate types for determining whether the difference
19969 of final and base is a multiple of the step.
19970
19971 2022-02-15 Jakub Jelinek <jakub@redhat.com>
19972
19973 PR debug/104517
19974 * omp-low.cc (task_cpyfns): New variable.
19975 (delete_omp_context): Don't call finalize_task_copyfn from here.
19976 (create_task_copyfn): Push task_stmt into task_cpyfns.
19977 (execute_lower_omp): Call finalize_task_copyfn here on entries from
19978 task_cpyfns vector and release the vector.
19979
19980 2022-02-14 Martin Sebor <msebor@redhat.com>
19981
19982 PR middle-end/104355
19983 * doc/invoke.texi (-Warray-bounds): Update documentation.
19984
19985 2022-02-14 Michael Meissner <meissner@the-meissners.org>
19986
19987 PR target/104253
19988 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
19989 conversion functions used to convert IFmode types.
19990
19991 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
19992
19993 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
19994
19995 2022-02-14 Richard Biener <rguenther@suse.de>
19996
19997 PR tree-optimization/104528
19998 * tree-ssa.h (find_released_ssa_name): Declare.
19999 * tree-ssa.cc (find_released_ssa_name): Export.
20000 * cfgloop.cc (verify_loop_structure): Look for released
20001 SSA names in loops nb_iterations.
20002 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
20003 estimates.
20004
20005 2022-02-14 Richard Biener <rguenther@suse.de>
20006
20007 PR tree-optimization/104511
20008 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
20009 touching DFP <-> FP conversions.
20010
20011 2022-02-14 Richard Biener <rguenther@suse.de>
20012
20013 PR middle-end/104497
20014 * gimplify.cc (gimplify_compound_lval): Make sure the
20015 base is a non-register if needed and possible.
20016
20017 2022-02-13 liuhongt <hongtao.liu@intel.com>
20018
20019 PR target/103771
20020 * match.pd (cond_expr_convert_p): New match.
20021 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
20022 (vect_recog_cond_expr_convert_pattern): New.
20023
20024 2022-02-12 Jakub Jelinek <jakub@redhat.com>
20025
20026 PR sanitizer/104449
20027 * asan.cc: Include tree-eh.h.
20028 (handle_builtin_alloca): Handle the case when __builtin_alloca or
20029 __builtin_alloca_with_align can throw.
20030
20031 2022-02-12 Jakub Jelinek <jakub@redhat.com>
20032
20033 PR target/104502
20034 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
20035 and AVX512VL isn't available, move operands[1] to operands[0] first.
20036
20037 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
20038
20039 PR target/79754
20040 * config/i386/i386.cc (type_natural_mode):
20041 Skip decimal float vector modes.
20042
20043 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
20044 Vladimir Makarov <vmakarov@redhat.com>
20045
20046 PR target/104117
20047 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
20048 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
20049 emitting PIC code.
20050 (legitimate_lo_sum_address_p): Likewise.
20051 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
20052 load from an invalid lo_sum address.
20053
20054 2022-02-11 Jakub Jelinek <jakub@redhat.com>
20055
20056 PR tree-optimization/104499
20057 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
20058 of convert.
20059
20060 2022-02-11 Jakub Jelinek <jakub@redhat.com>
20061
20062 * tree.cc (build_common_builtin_nodes): Fix up formatting in
20063 __builtin_clear_padding decl creation.
20064 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
20065 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
20066 argument rather than in 3rd argument.
20067 (gimplify_call_expr): Likewise. Fix up comment formatting.
20068 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
20069 2 arguments instead of 3, take for_auto_init from the value
20070 of 2nd argument.
20071
20072 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
20073
20074 PR rtl-optimization/104400
20075 * lra-constraints.cc (process_alt_operands): Don't make union of
20076 this_alternative_exclude_start_hard_regs when reg class in insn
20077 alternative covers other reg classes in the same alternative.
20078
20079 2022-02-11 Jakub Jelinek <jakub@redhat.com>
20080
20081 PR middle-end/104446
20082 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
20083 operands.
20084
20085 2022-02-11 Richard Biener <rguenther@suse.de>
20086
20087 PR middle-end/104496
20088 * internal-fn.cc (vectorized_internal_fn_supported_p):
20089 Bail out for integer mode vector types.
20090
20091 2022-02-11 Jakub Jelinek <jakub@redhat.com>
20092
20093 PR rtl-optimization/104459
20094 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
20095 moving DEBUG_INSNs between bbs.
20096
20097 2022-02-11 liuhongt <hongtao.liu@intel.com>
20098
20099 PR tree-optimization/104479
20100 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
20101 for the dest of uncond_op.
20102
20103 2022-02-11 Tom de Vries <tdevries@suse.de>
20104
20105 PR target/104456
20106 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
20107 insn.
20108
20109 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
20110
20111 PR middle-end/100775
20112 * function.cc (gen_call_used_regs_seq): Call
20113 df_update_exit_block_uses when updating df.
20114
20115 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
20116
20117 PR target/104469
20118 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
20119 Change operand 1 constraint to register_operand.
20120
20121 2022-02-10 Richard Biener <rguenther@suse.de>
20122
20123 PR tree-optimization/104373
20124 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
20125 walk kind.
20126 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
20127 walk kind as argument.
20128 (run_rpo_vn): Adjust.
20129 (pass_fre::execute): Likewise.
20130 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
20131 blocks not reachable.
20132 (execute_late_warn_uninitialized): Mark all edges as
20133 executable.
20134 (execute_early_warn_uninitialized): Use VN to compute
20135 executable edges.
20136 (pass_data_early_warn_uninitialized): Enable a dump file,
20137 change dump name to warn_uninit.
20138
20139 2022-02-10 Richard Biener <rguenther@suse.de>
20140
20141 PR middle-end/104467
20142 * match.pd (vector extract simplification): Multiply the
20143 number of CTOR elements with the number of element elements.
20144
20145 2022-02-10 Richard Biener <rguenther@suse.de>
20146
20147 PR tree-optimization/104466
20148 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
20149 for the MR_DEPENDENCE checks as intended.
20150
20151 2022-02-10 Tom de Vries <tdevries@suse.de>
20152
20153 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
20154 define_insn.
20155 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
20156 TARGET_SM70.
20157 (define_c_enum "unspecv"): Add UNSPECV_ST.
20158
20159 2022-02-10 Tom de Vries <tdevries@suse.de>
20160
20161 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
20162 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
20163 (nvptx_mem_maybe_shared_p): New function.
20164 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
20165 define_expand.
20166
20167 2022-02-10 Tom de Vries <tdevries@suse.de>
20168
20169 PR target/97005
20170 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
20171 driver JIT bug by using sub.s16 instead of sub.u16.
20172
20173 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
20174
20175 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
20176 floating point constants as operands 1 and/or 2.
20177
20178 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
20179
20180 PR target/104345
20181 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
20182 (sel_false<mode>): Likewise.
20183 (define_code_iterator eqne): New code iterator for EQ and NE.
20184 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
20185 the negation of a selp instruction.
20186 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
20187 the bitwise not of a selp instruction.
20188 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
20189
20190 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
20191
20192 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
20193 in machine description.
20194 (logic): Move code attribute earlier in machine description.
20195 (ilogic): New code attribute, like logic but "ior" for IOR.
20196 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
20197 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
20198 (<ilogic>bi3): New define_insn for BI mode logic operations.
20199 (define_split): Lower logic operations from integer modes to
20200 BI mode predicate operations.
20201
20202 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
20203
20204 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
20205 (one_cmplbi2): New define_insn for not.pred.
20206 (mulditi3): New define_expand for signed widening multiply.
20207 (umulditi3): New define_expand for unsigned widening multiply.
20208 (smul<mode>3_highpart): New define_insn for signed highpart mult.
20209 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
20210 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
20211 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
20212 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
20213 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
20214 (*setcc<mode>_from_not_bi): New define_insn.
20215 (*setcc_isinf<mode>): New define_insn for testp.infinite.
20216 (isinf<mode>2): New define_expand.
20217
20218 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
20219
20220 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
20221 (setcc<mode>_from_bi): Additionally support QImode.
20222 (extendbi<mode>2): Additionally support QImode.
20223 (zero_extendbi<mode>2): Additionally support QImode.
20224 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
20225 iterators for signed and unsigned, binary and unary operations.
20226 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
20227 expanders to perform QImode operations using SImode instructions.
20228 (cstoreqi4): New define_expand.
20229 (*ext_truncsi2_qi): New define_insn.
20230 (*zext_truncsi2_qi): New define_insn.
20231
20232 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
20233
20234 * config/nvptx/nvptx.md (*cmpf): New define_insn.
20235 (cstorehf4): New define_expand.
20236 (fmahf4): New define_insn.
20237 (neghf2): New define_insn.
20238 (abshf2): New define_insn.
20239
20240 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
20241
20242 * doc/install.texi (Specific): Change the www.bitwizard.nl
20243 reference to use https.
20244
20245 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
20246
20247 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
20248 OMP_CLAUSE_HAS_DEVICE_ADDR
20249 and handle array sections.
20250 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
20251 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
20252 (lower_omp_target): Same.
20253 * tree-core.h (enum omp_clause_code): Same.
20254 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
20255 (convert_local_omp_clauses): Same.
20256 * tree-pretty-print.cc (dump_omp_clause): Same.
20257 * tree.cc: Same.
20258
20259 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
20260
20261 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
20262 that will result in direct recursive calls.
20263
20264 2022-02-10 Andrew Pinski <apinski@marvell.com>
20265
20266 PR target/104474
20267 * config/aarch64/aarch64.cc
20268 (aarch64_sve_expand_vector_init_handle_trailing_constants):
20269 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
20270
20271 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
20272
20273 PR target/104462
20274 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
20275 Also include OPTION_MASK_ISA2_AVX2_UNSET.
20276
20277 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
20278
20279 PR target/104458
20280 * config/i386/i386-expand.cc (ix86_split_idivmod):
20281 Force operands[2] and operands[3] into a register..
20282
20283 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
20284
20285 PR target/97040
20286 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
20287 (*v850_fnmssf4): Renamed from fnmssf4
20288
20289 2022-02-09 Ian Lance Taylor <iant@golang.org>
20290
20291 * godump.cc (go_force_record_alignment): Really name the alignment
20292 field "_" (complete 2021-12-29 change).
20293
20294 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
20295
20296 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
20297 function prototype.
20298 (VREPLACE_UN_UV4SI): Likewise.
20299 (VREPLACE_UN_V2DF): Likewise.
20300 (VREPLACE_UN_V2DI): Likewise.
20301 (VREPLACE_UN_V4SF): Likewise.
20302 (VREPLACE_UN_V4SI): Likewise.
20303 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
20304 function prototypes.
20305 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
20306 (vreplace_un_<mode>): New define_insn.
20307
20308 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
20309
20310 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
20311 (VDBL): Handle SF.
20312 (single_wx, single_type, single_dtype, dblq): New mode attributes.
20313 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
20314 from VDC to VDCSIF.
20315 (store_pair_lanes<mode>): Likewise.
20316 (*aarch64_combine_internal<mode>): Likewise.
20317 (*aarch64_combine_internal_be<mode>): Likewise.
20318 (*aarch64_combinez<mode>): Likewise.
20319 (*aarch64_combinez_be<mode>): Likewise.
20320 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
20321 8-byte modes for ADDR_QUERY_LDP_STP_N.
20322 (aarch64_print_operand): Likewise for %y.
20323
20324 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
20325
20326 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
20327 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
20328 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
20329 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
20330 (vec_pack_trunc_<mode>): Take general_operand elements and use
20331 aarch64_combine rather than move_lo/hi_quad to combine them.
20332 (vec_pack_trunc_df): Likewise.
20333
20334 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
20335
20336 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
20337 Delete.
20338 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
20339 to...
20340 (*aarch64_combinez<mode>): ...this.
20341 (@aarch64_combinez_be<mode>): Rename to...
20342 (*aarch64_combinez_be<mode>): ...this.
20343 (@aarch64_vec_concat<mode>): New expander.
20344 (aarch64_combine<mode>): Use it.
20345 (@aarch64_simd_combine<mode>): Delete.
20346 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
20347 (aarch64_expand_vector_init): Use aarch64_vec_concat.
20348
20349 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
20350
20351 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
20352 New predicate.
20353 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
20354 (*aarch64_combine_internal_be<mode>): New patterns.
20355
20356 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
20357
20358 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
20359 (move_lo_quad_internal_be_<mode>): Delete.
20360 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
20361
20362 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
20363
20364 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
20365 Declare.
20366 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
20367 aarch64_mergeable_load_pair_p instead of inline check.
20368 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
20369 (aarch64_check_consecutive_mems): Allow the reversed parameter
20370 to be null.
20371 (aarch64_mergeable_load_pair_p): New function.
20372
20373 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
20374
20375 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
20376 element to be an aarch64_simd_nonimmediate_operand.
20377
20378 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
20379
20380 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
20381 aarch64_simd_nonimmediate_operand instead of
20382 aarch64_simd_general_operand.
20383 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
20384 general_operand.
20385 (@aarch64_combinez_be<mode>): Likewise.
20386
20387 2022-02-09 Richard Biener <rguenther@suse.de>
20388
20389 PR middle-end/104464
20390 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
20391 throwing check to after unproblematic replacement.
20392
20393 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
20394
20395 PR tree-optimization/104420
20396 * match.pd (mult @0 real_zerop): Tweak conditions for constant
20397 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
20398
20399 2022-02-09 Jakub Jelinek <jakub@redhat.com>
20400
20401 PR debug/104407
20402 * dwarf2out.cc (mangle_referenced_decls): New function.
20403 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
20404 early_dwarf. Instead walk the initializer and try to mangle vars or
20405 functions referenced from it.
20406
20407 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
20408
20409 PR tree-optimization/104288
20410 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
20411 (non_null_ref::adjust_range): Move to header.
20412 (ranger_cache::range_of_def): Don't check non-null.
20413 (ranger_cache::entry_range): Don't check non-null.
20414 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
20415 (ranger_cache::update_to_nonnull): New.
20416 (non_null_loadstore): New.
20417 (ranger_cache::block_apply_nonnull): New.
20418 * gimple-range-cache.h (class non_null_ref): Update prototypes.
20419 (non_null_ref::adjust_range): Move to here and inline.
20420 (class ranger_cache): Update prototypes.
20421 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
20422 not search dominators.
20423 (path_range_query::adjust_for_non_null_uses): Ditto.
20424 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
20425 def overrides. Do not check nonnull.
20426 (gimple_ranger::range_on_entry): Check dominators for nonnull.
20427 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
20428 (gimple_ranger::register_side_effects): New.
20429 * gimple-range.h (gimple_ranger::register_side_effects): New.
20430 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
20431
20432 2022-02-09 Richard Biener <rguenther@suse.de>
20433
20434 PR tree-optimization/104445
20435 PR tree-optimization/102832
20436 * optabs-query.h (can_vec_extract): New.
20437 * optabs-query.cc (can_vec_extract): Likewise.
20438 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
20439 we can extract a hi/lo part from the larger vector, rework
20440 check iteration from larger to smaller sizes.
20441
20442 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
20443
20444 PR target/35513
20445 PR target/100593
20446 * config/i386/gnu-property.cc: Include "i386-protos.h".
20447 (file_end_indicate_exec_stack_and_gnu_property): Generate
20448 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
20449 nodirect_extern_access attribute.
20450 * config/i386/i386-options.cc
20451 (handle_nodirect_extern_access_attribute): New function.
20452 (ix86_attribute_table): Add nodirect_extern_access attribute.
20453 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
20454 bool argument.
20455 (ix86_has_no_direct_extern_access): New.
20456 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
20457 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
20458 call operand. Force non-call load from GOT for
20459 -mno-direct-extern-access or nodirect_extern_access attribute.
20460 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
20461 for -mno-direct-extern-access or nodirect_extern_access attribute.
20462 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
20463 for call operand.
20464 (asm_preferred_eh_data_format): Use PC-relative format for
20465 -mno-direct-extern-access to avoid copy relocation. Check
20466 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
20467 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
20468 true for -mno-direct-extern-access or nodirect_extern_access
20469 attribute. Don't treat protected data as extern and avoid copy
20470 relocation on common symbol with -mno-direct-extern-access or
20471 nodirect_extern_access attribute.
20472 (ix86_reloc_rw_mask): New to avoid copy relocation for
20473 -mno-direct-extern-access.
20474 (TARGET_ASM_RELOC_RW_MASK): New.
20475 * config/i386/i386.opt: Add -mdirect-extern-access.
20476 * doc/extend.texi: Document nodirect_extern_access attribute.
20477 * doc/invoke.texi: Document -m[no-]direct-extern-access.
20478
20479 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
20480
20481 PR target/104441
20482 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
20483 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
20484 Call ix86_avx_u128_mode_source to check mode for each component
20485 of source operand.
20486
20487 2022-02-09 liuhongt <hongtao.liu@intel.com>
20488
20489 PR target/104451
20490 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
20491 operands[2] from SImode to QImode.
20492
20493 2022-02-09 Richard Biener <rguenther@suse.de>
20494
20495 PR middle-end/104450
20496 * gimple-isel.cc: Pass cfun around.
20497 (+gimple_expand_vec_cond_expr): Do not combine a throwing
20498 comparison with the select.
20499
20500 2022-02-09 Richard Biener <rguenther@suse.de>
20501
20502 PR target/104453
20503 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
20504 folding for NULL LHS.
20505
20506 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
20507
20508 PR rtl-optimization/104198
20509 PR rtl-optimization/104153
20510 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
20511 using it directly. Rework comparison handling and always
20512 perform a second pass.
20513
20514 2022-02-08 Jakub Jelinek <jakub@redhat.com>
20515
20516 PR target/102140
20517 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
20518 split1 pass has finished already.
20519
20520 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
20521
20522 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
20523 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
20524 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
20525 (vmsumcud): New define_insn.
20526
20527 2022-02-08 Tom de Vries <tdevries@suse.de>
20528
20529 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
20530 * config/nvptx/nvptx.h (TARGET_SM70): Define.
20531
20532 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
20533
20534 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
20535 on condition.
20536 * config/s390/s390.md: Use paradoxical subreg.
20537
20538 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
20539
20540 * combine.cc (reg_subword_p): Check for paradoxical subreg.
20541
20542 2022-02-08 Tom de Vries <tdevries@suse.de>
20543
20544 PR target/104283
20545 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
20546 and PTX_VERSION_4_2.
20547 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
20548 (default_ptx_version_option, ptx_version_to_string)
20549 (sm_version_to_string, handle_ptx_version_option): New function.
20550 (nvptx_option_override): Call handle_ptx_version_option.
20551 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
20552 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
20553 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
20554 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
20555
20556 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
20557
20558 * doc/install.texi (Configuration): Document `--with-isa-spec='
20559 RISC-V option.
20560 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
20561 option.
20562 (RISC-V Options): Document it.
20563
20564 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
20565
20566 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
20567
20568 2022-02-08 Tom de Vries <tdevries@suse.de>
20569
20570 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
20571
20572 2022-02-08 Tom de Vries <tdevries@suse.de>
20573
20574 PR target/104364
20575 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
20576 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
20577 change is validated.
20578 (nvptx_mem_local_p): New function.
20579 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
20580 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
20581 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
20582 non-atomic, non-predicable define_insn, factored out of ...
20583 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
20584 Make predicable again.
20585 (define_expand "atomic_compare_and_swap<mode>"): Use
20586 atomic_compare_and_swap<mode>_1_local.
20587
20588 2022-02-08 liuhongt <hongtao.liu@intel.com>
20589
20590 PR rtl-optimization/104059
20591 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
20592 for a more expensive reg-reg move.
20593
20594 2022-02-07 Tamar Christina <tamar.christina@arm.com>
20595
20596 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
20597 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
20598 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
20599 (usdot_laneq, sudot_laneq): New.
20600 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
20601 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
20602
20603 2022-02-07 Tamar Christina <tamar.christina@arm.com>
20604
20605 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
20606 vdot_laneq_s32, vdotq_laneq_s32): New.
20607 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
20608 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
20609 (<sup>dot_prod<vsi2qi>): Re-order rtl.
20610 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
20611 (neon_<sup>dot_laneq<vsi2qi>): New.
20612
20613 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
20614
20615 PR target/104327
20616 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
20617 if always_inline is set. Don't inline when tune differs without
20618 always_inline.
20619
20620 2022-02-07 Richard Biener <rguenther@suse.de>
20621
20622 PR middle-end/104402
20623 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
20624 compares are not valid.
20625 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
20626 check is_gimple_condexpr.
20627
20628 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
20629
20630 PR target/103627
20631 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
20632 hunk affecting VSX and ALTIVEC to appropriate place.
20633
20634 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
20635
20636 PR target/103627
20637 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
20638 MMA if !TARGET_VSX.
20639
20640 2022-02-06 Jakub Jelinek <jakub@redhat.com>
20641
20642 PR c++/89074
20643 PR c++/104033
20644 * fold-const.h (folding_initializer): Adjust comment.
20645 (folding_cxx_constexpr): Declare.
20646 * fold-const.cc (folding_initializer): Adjust comment.
20647 (folding_cxx_constexpr): New variable.
20648 (address_compare): Restrict the decl vs. STRING_CST
20649 or vice versa or STRING_CST vs. STRING_CST or
20650 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
20651 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
20652 assume non-aliased functions have non-zero size and have different
20653 addresses. For folding_cxx_constexpr, punt on comparisons of start
20654 of some object and end of another one, regardless whether it is a decl
20655 or string literal. Also punt for folding_cxx_constexpr on
20656 STRING_CST vs. STRING_CST comparisons if the two literals could be
20657 overlapping.
20658
20659 2022-02-05 Jakub Jelinek <jakub@redhat.com>
20660
20661 PR tree-optimization/104389
20662 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
20663 honored.
20664
20665 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
20666
20667 * configure.ac: Fix detection for zifencei support.
20668 * configure: Regenerate.
20669
20670 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
20671
20672 PR target/104219
20673 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
20674 (all_defaults): Add isa_spec.
20675 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
20676
20677 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
20678
20679 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
20680 parameters instead of arglist and nargs. Simplify accordingly. Remove
20681 unnecessary test for argument count mismatch.
20682 (resolve_vec_cmpne): Likewise.
20683 (resolve_vec_adde_sube): Likewise.
20684 (resolve_vec_addec_subec): Likewise.
20685 (altivec_resolve_overloaded_builtin): Move overload special handling
20686 after the gathering of arguments into args[] and types[] and the test
20687 for correct number of arguments. Don't perform the test for correct
20688 number of arguments for certain special cases. Call the other special
20689 cases with args and types instead of arglist and nargs.
20690
20691 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
20692
20693 PR target/100808
20694 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
20695 3.1): Provide consistent type names. Remove unnecessary semicolons.
20696 Fix bad line breaks.
20697
20698 2022-02-04 Jakub Jelinek <jakub@redhat.com>
20699
20700 PR target/104380
20701 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
20702 adjust mangling of __builtin*printf_chk.
20703
20704 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
20705
20706 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
20707
20708 2022-02-04 Richard Biener <rguenther@suse.de>
20709 Bin Cheng <bin.cheng@linux.alibaba.com>
20710
20711 PR tree-optimization/100499
20712 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
20713 to true.
20714 * fold-const.cc (multiple_of_p): Likewise. Honor it for
20715 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
20716 switching to false for conversions.
20717 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
20718 claim the outermost expression does not wrap when calling
20719 multiple_of_p. Refactor the check done to check the
20720 original IV, avoiding a bias that might wrap.
20721
20722 2022-02-04 Richard Biener <rguenther@suse.de>
20723
20724 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
20725 handling.
20726
20727 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
20728
20729 PR debug/104366
20730 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
20731 (dwarf2out_early_finish): Likewise.
20732
20733 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
20734
20735 PR tree-optimization/104356
20736 * match.pd (X / bool_range_Y is X): Add guard.
20737 (X / X is one): Likewise.
20738 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
20739 (X / -X is -1): Likewise.
20740 (1 / X -> X == 1): Likewise.
20741
20742 2022-02-04 Richard Biener <rguenther@suse.de>
20743
20744 PR tree-optimization/103641
20745 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
20746 Pass the vector mode to choose_mult_variant.
20747
20748 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
20749
20750 PR rtl-optimization/101885
20751 * combine.cc (try_combine): When splitting a parallel into two
20752 sequential sets, check not only that the first doesn't clobber
20753 the second but also that the second doesn't clobber the first.
20754
20755 2022-02-04 Richard Biener <rguenther@suse.de>
20756
20757 PR middle-end/90348
20758 PR middle-end/104092
20759 * tree-core.h (clobber_kind): New enum.
20760 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
20761 * tree.h (CLOBBER_KIND): Add.
20762 (build_clobber): Add clobber kind argument, defaulted to
20763 CLOBBER_UNDEF.
20764 * tree.cc (build_clobber): Likewise.
20765 * gimple.h (gimple_clobber_p): New overload with specified kind.
20766 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
20767 CLOBBER_KIND.
20768 * tree-streamer-out.cc (streamer_write_tree_bitfields):
20769 Likewise.
20770 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
20771 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
20772 with CLOBBER_EOL.
20773 (gimplify_target_expr): Likewise.
20774 * tree-inline.cc (expand_call_inline): Likewise.
20775 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
20776 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
20777 CLOBBER_EOL clobbers as ending lifetime of storage.
20778
20779 2022-02-04 Martin Sebor <msebor@redhat.com>
20780
20781 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
20782 cleanup.
20783
20784 2022-02-03 Martin Sebor <msebor@redhat.com>
20785
20786 PR middle-end/104260
20787 * passes.def (pass_warn_access): Adjust pass placement.
20788
20789 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
20790
20791 PR target/104362
20792 * config/i386/i386.cc (find_drap_reg): For 32bit targets
20793 return DI_REG if function uses __builtin_eh_return.
20794
20795 2022-02-03 Martin Sebor <msebor@redhat.com>
20796
20797 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
20798 (pass_wrestrict::m_ptr_qry): New member.
20799 (wrestrict_walk): Rename...
20800 (pass_wrestrict::check_block): ...to this.
20801 (pass_wrestrict::execute): Set up and tear down pointer_query and
20802 ranger.
20803 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
20804 (builtin_access::builtin_access): Same.
20805 (builtin_access::m_ptr_qry): New member.
20806 (check_call): Rename...
20807 (pass_wrestrict::check_call): ...to this.
20808 (check_bounds_or_overlap): Change argument.
20809 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
20810
20811 2022-02-03 Martin Sebor <msebor@redhat.com>
20812
20813 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
20814 Define ctor.
20815 (array_bounds_checker::get_value_range): Use new member.
20816 (array_bounds_checker::check_mem_ref): Same.
20817 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
20818 Outline ctor.
20819 (array_bounds_checker::m_ptr_query): New member.
20820
20821 2022-02-03 Martin Sebor <msebor@redhat.com>
20822
20823 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
20824 pointer_query cache.
20825 * pointer-query.cc (pointer_query::pointer_query): Remove cache
20826 argument. Zero-initialize new cache member.
20827 (pointer_query::get_ref): Replace cache pointer with direct access.
20828 (pointer_query::put_ref): Same.
20829 (pointer_query::flush_cache): Same.
20830 (pointer_query::dump): Same.
20831 * pointer-query.h (class pointer_query): Remove cache argument from
20832 ctor. Change cache pointer to cache subobject member.
20833 * tree-ssa-strlen.cc: Remove pointer_query cache.
20834
20835 2022-02-03 Martin Sebor <msebor@redhat.com>
20836
20837 PR tree-optimization/104119
20838 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
20839 (format_none): Same.
20840 (format_percent): Same.
20841 (format_integer): Same.
20842 (format_floating): Same.
20843 (get_string_length): Same.
20844 (format_character): Same.
20845 (format_string): Same.
20846 (format_plain): Same.
20847 (format_directive): Same.
20848 (compute_format_length): Same.
20849 (handle_printf_call): Same.
20850 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
20851 get_maxbound.
20852 (get_range_strlen_phi): Same.
20853 (get_maxbound): New function.
20854 (strlen_pass::get_len_or_size): Adjust to parameter change.
20855 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
20856
20857 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
20858
20859 PR target/103686
20860 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
20861 test for !rs6000_fold_gimple.
20862 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
20863 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
20864
20865 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
20866
20867 PR target/95082
20868 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
20869 endianness for vclzlsbb and vctzlsbb.
20870 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
20871 default pattern and indicate a different pattern will be used for
20872 big endian.
20873 (VCLZLSBB_V4SI): Likewise.
20874 (VCLZLSBB_V8HI): Likewise.
20875 (VCTZLSBB_V16QI): Likewise.
20876 (VCTZLSBB_V4SI): Likewise.
20877 (VCTZLSBB_V8HI): Likewise.
20878
20879 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
20880
20881 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
20882 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
20883 from other files.
20884 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
20885 rs6000-builtin.cc.
20886 (cpu_supports_info): Likewise.
20887 (rs6000_type_string): Likewise.
20888 (altivec_expand_predicate_builtin): Likewise.
20889 (rs6000_htm_spr_icode): Likewise.
20890 (altivec_expand_vec_init_builtin): Likewise.
20891 (get_element_number): Likewise.
20892 (altivec_expand_vec_set_builtin): Likewise.
20893 (altivec_expand_vec_ext_builtin): Likewise.
20894 (rs6000_invalid_builtin): Likewise.
20895 (rs6000_fold_builtin): Likewise.
20896 (fold_build_vec_cmp): Likewise.
20897 (fold_compare_helper): Likewise.
20898 (map_to_integral_tree_type): Likewise.
20899 (fold_mergehl_helper): Likewise.
20900 (fold_mergeeo_helper): Likewise.
20901 (rs6000_builtin_valid_without_lhs): Likewise.
20902 (rs6000_builtin_is_supported): Likewise.
20903 (rs6000_gimple_fold_mma_builtin): Likewise.
20904 (rs6000_gimple_fold_builtin): Likewise.
20905 (rs6000_expand_ldst_mask): Likewise.
20906 (cpu_expand_builtin): Likewise.
20907 (elemrev_icode): Likewise.
20908 (ldv_expand_builtin): Likewise.
20909 (lxvrse_expand_builtin): Likewise.
20910 (lxvrze_expand_builtin): Likewise.
20911 (stv_expand_builtin): Likewise.
20912 (mma_expand_builtin): Likewise.
20913 (htm_spr_num): Likewise.
20914 (htm_expand_builtin): Likewise.
20915 (rs6000_expand_builtin): Likewise.
20916 (rs6000_vector_type): Likewise.
20917 (rs6000_init_builtins): Likewise. Remove initialization of
20918 builtin_mode_to_type entries.
20919 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
20920 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
20921 external declaration.
20922 (rs6000_builtin_md_vectorized_function): Likewise.
20923 (rs6000_builtin_reciprocal): Likewise.
20924 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
20925 (rs6000_builtin_types): Likewise.
20926 (builtin_mode_to_type): Remove.
20927 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
20928 static qualifier.
20929 (rs6000_builtin_md_vectorized_function): Likewise.
20930 (rs6000_builtin_reciprocal): Likewise.
20931 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
20932 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
20933
20934 2022-02-03 Richard Biener <rguenther@suse.de>
20935
20936 PR debug/104337
20937 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
20938 together via DECL_ABSTRACT_ORIGIN.
20939
20940 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
20941
20942 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
20943 message for RES_BITS case.
20944
20945 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
20946
20947 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
20948
20949 2022-02-03 Jakub Jelinek <jakub@redhat.com>
20950
20951 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
20952 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
20953
20954 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
20955
20956 * cfganal.cc (verify_marked_backedges): New.
20957 * cfganal.h (verify_marked_backedges): New.
20958 * gimple-range-path.cc (path_range_query::path_range_query):
20959 Verify freshness of back edges.
20960 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
20961 mark_dfs_back_edges.
20962 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
20963 path_range_query construction after backedges have been
20964 updated.
20965
20966 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
20967
20968 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
20969 VALL to VALL_F16.
20970
20971 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
20972
20973 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
20974 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
20975 of VALL_F16MOV.
20976
20977 2022-02-03 Martin Liska <mliska@suse.cz>
20978
20979 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
20980 Change subject and object in the error message.
20981 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
20982 Likewise.
20983
20984 2022-02-03 Martin Liska <mliska@suse.cz>
20985
20986 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
20987 Use the error message for i386 target.
20988
20989 2022-02-03 Jakub Jelinek <jakub@redhat.com>
20990
20991 PR tree-optimization/104334
20992 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
20993 and rh_range type to widest_int and subtract in widest_int. Remove
20994 ov_rh, ov_lh and sign vars, always perform comparisons as signed
20995 and use >, < and == operators for it.
20996
20997 2022-02-03 Martin Sebor <msebor@redhat.com>
20998
20999 * common.opt (-Wuse-after-free): Correct typos.
21000
21001 2022-02-02 David Malcolm <dmalcolm@redhat.com>
21002
21003 PR analyzer/104270
21004 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
21005 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
21006 -ftrivial-auto-var-init= doesn't suppress warnings.
21007
21008 2022-02-02 Martin Liska <mliska@suse.cz>
21009
21010 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
21011
21012 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
21013
21014 PR target/94372
21015 * config/or1k/linux.h (CPP_SPEC): Define.
21016
21017 2022-02-02 Tamar Christina <tamar.christina@arm.com>
21018
21019 PR tree-optimization/102819
21020 PR tree-optimization/103169
21021 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
21022 canonical order.
21023
21024 2022-02-02 Tamar Christina <tamar.christina@arm.com>
21025
21026 PR tree-optimization/102819
21027 PR tree-optimization/103169
21028 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
21029 canonical order.
21030 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
21031
21032 2022-02-02 Tamar Christina <tamar.christina@arm.com>
21033
21034 PR tree-optimization/102819
21035 PR tree-optimization/103169
21036 * doc/md.texi: Update docs for cfms, cfma.
21037 * tree-data-ref.h (same_data_refs): Accept optional offset.
21038 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
21039 patterns.
21040 (vect_normalize_conj_loc): Remove.
21041 (is_eq_or_top): Change to take two nodes.
21042 (enum _conj_status, compatible_complex_nodes_p,
21043 vect_validate_multiplication): New.
21044 (class complex_add_pattern, complex_add_pattern::matches,
21045 complex_add_pattern::recognize, class complex_mul_pattern,
21046 complex_mul_pattern::recognize, class complex_fms_pattern,
21047 complex_fms_pattern::recognize, class complex_operations_pattern,
21048 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
21049 new cache.
21050 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
21051 cache and use new validation code.
21052 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
21053 vect_analyze_slp): Pass along cache.
21054 (compatible_calls_p): Expose.
21055 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
21056 slp_compat_nodes_map_t): New.
21057 (class vect_pattern): Update signatures include new cache.
21058
21059 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
21060
21061 * config/cris/cris.cc (cris_preferred_reload_class): Reject
21062 "eliminated" registers and small-enough constants unless
21063 reloaded into a class that is a subset of GENERAL_REGS.
21064 * config/cris/cris.md (attribute "cpu_variant"): New.
21065 (attribute "enabled"): Conditionalize on a matching attribute
21066 cpu_variant, if specified.
21067 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
21068 memory, add cpu-variant-enabled variants for "r" alternatives on
21069 the far side of the "x" alternatives, preferring the "x" ones
21070 only for variants where MOF is present (in addition to SRP).
21071
21072 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
21073
21074 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
21075 extra cost for ALL_REGS.
21076
21077 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
21078
21079 * config/cris/constraints.md (define_register_constraint "b"): Now
21080 GENERAL_REGS.
21081 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
21082 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
21083 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
21084 and SPEC_GENNONACR_REGS.
21085 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
21086 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
21087
21088 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
21089
21090 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
21091 Conditionalize on (sub-)register operands or operand 1 being 0.
21092
21093 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
21094
21095 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
21096 (MUL_BUG_ASM_DEFAULT): New macro.
21097 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
21098 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
21099 accordingly.
21100
21101 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
21102
21103 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
21104 to 10 for AutoFDO.
21105
21106 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
21107
21108 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
21109
21110 2022-02-01 Andrew Pinski <apinski@marvell.com>
21111
21112 * doc/install.texi:
21113
21114 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
21115
21116 * config/s390/s390.cc (s390_code_end): Do not switch back to
21117 code section.
21118
21119 2022-02-01 Jakub Jelinek <jakub@redhat.com>
21120
21121 PR target/104323
21122 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
21123 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
21124 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
21125 GTY((user)) for struct bifdata and struct ovlddata. Instead add
21126 GTY((skip(""))) to members with pointer and enum types that don't need
21127 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
21128 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
21129 (write_extern_fntype, write_fntype): Remove.
21130 (write_fntype_init): Emit the fntype vars as automatic vars instead
21131 of file scope ones.
21132 (write_header_file): Don't iterate with write_extern_fntype.
21133 (write_init_file): Don't iterate with write_fntype. Don't emit
21134 gt_ggc_mx and gt_pch_nx definitions.
21135
21136 2022-02-01 Jason Merrill <jason@redhat.com>
21137
21138 * tree.h (struct tree_vec_map_cache_hasher): Move from...
21139 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
21140
21141 2022-02-01 Tom de Vries <tdevries@suse.de>
21142
21143 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
21144 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
21145 UNSPECV_UNIFORM_WARP_CHECK.
21146 (define_insn "nvptx_uniform_warp_check"): New define_insn.
21147
21148 2022-02-01 Tom de Vries <tdevries@suse.de>
21149
21150 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
21151 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
21152 UNSPECV_WARPSYNC.
21153 (define_insn "nvptx_warpsync"): New define_insn.
21154
21155 2022-02-01 Tom de Vries <tdevries@suse.de>
21156
21157 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
21158
21159 2022-02-01 Tom de Vries <tdevries@suse.de>
21160
21161 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
21162 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
21163 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
21164 insn for TARGET_PTX_6_0.
21165
21166 2022-02-01 Tom de Vries <tdevries@suse.de>
21167
21168 PR target/100428
21169 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
21170 insn.
21171
21172 2022-02-01 Tom de Vries <tdevries@suse.de>
21173
21174 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
21175 (define_insn "atomic_exchange<mode>")
21176 (define_insn "atomic_fetch_add<mode>")
21177 (define_insn "atomic_fetch_addsf")
21178 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
21179 if memory operands is frame-relative.
21180
21181 2022-02-01 Tom de Vries <tdevries@suse.de>
21182
21183 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
21184 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
21185 (VOID): New macro.
21186 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
21187 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
21188 NVPTX_BUILTIN_MEMBAR_CTA.
21189 (nvptx_lockfull_update): Add level parameter. Emit barriers.
21190 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
21191 nvptx_lockfull_update.
21192 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
21193 UNSPECV_MEMBAR_GL.
21194 (define_expand "nvptx_membar_gl"): New expand.
21195 (define_insn "*nvptx_membar_gl"): New insn.
21196
21197 2022-02-01 Martin Liska <mliska@suse.cz>
21198
21199 * doc/install.texi: Remove option for GCC < 4.8.
21200
21201 2022-02-01 Jakub Jelinek <jakub@redhat.com>
21202
21203 PR middle-end/104307
21204 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
21205 stmts to uses vector, just set vec_cond_expr_only to false for
21206 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
21207 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
21208 like non-VEC_COND_EXPRs.
21209
21210 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
21211
21212 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
21213 (VEC_BLENDV): Likewise.
21214 (VEC_BPERM): Likewise.
21215 (VEC_CFUGE): Likewise.
21216 (VEC_CIPHER_BE): Likewise.
21217 (VEC_CIPHERLAST_BE): Likewise.
21218 (VEC_CLRL): Likewise.
21219 (VEC_CLRR): Likewise.
21220 (VEC_CMPNEZ): Likewise.
21221 (VEC_CNTLZ): Likewise.
21222 (VEC_CNTLZM): Likewise.
21223 (VEC_CNTTZM): Likewise.
21224 (VEC_CNTLZ_LSBB): Likewise.
21225 (VEC_CNTM): Likewise.
21226 (VEC_CNTTZ): Likewise.
21227 (VEC_CNTTZ_LSBB): Likewise.
21228 (VEC_CONVERT_4F32_8F16): Likewise.
21229 (VEC_DIV): Likewise.
21230 (VEC_DIVE): Likewise.
21231 (VEC_EQV): Likewise.
21232 (VEC_EXPANDM): Likewise.
21233 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
21234 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
21235 (VEC_EXTRACTH): Likewise.
21236 (VEC_EXTRACTL): Likewise.
21237 (VEC_EXTRACTM): Likewise.
21238 (VEC_EXTRACT4B): Likewise.
21239 (VEC_EXTULX): Likewise.
21240 (VEC_EXTURX): Likewise.
21241 (VEC_FIRSTMATCHINDEX): Likewise.
21242 (VEC_FIRSTMACHOREOSINDEX): Likewise.
21243 (VEC_FIRSTMISMATCHINDEX): Likewise.
21244 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
21245 (VEC_GB): Likewise.
21246 (VEC_GENBM): Likewise.
21247 (VEC_GENHM): Likewise.
21248 (VEC_GENWM): Likewise.
21249 (VEC_GENDM): Likewise.
21250 (VEC_GENQM): Likewise.
21251 (VEC_GENPCVM): Likewise.
21252 (VEC_GNB): Likewise.
21253 (VEC_INSERTH): Likewise.
21254 (VEC_INSERTL): Likewise.
21255 (VEC_INSERT4B): Likewise.
21256 (VEC_LXVL): Likewise.
21257 (VEC_MERGEE): Likewise.
21258 (VEC_MERGEO): Likewise.
21259 (VEC_MOD): Likewise.
21260 (VEC_MSUB): Likewise.
21261 (VEC_MULH): Likewise.
21262 (VEC_NAND): Likewise.
21263 (VEC_NCIPHER_BE): Likewise.
21264 (VEC_NCIPHERLAST_BE): Likewise.
21265 (VEC_NEARBYINT): Likewise.
21266 (VEC_NMADD): Likewise.
21267 (VEC_ORC): Likewise.
21268 (VEC_PDEP): Likewise.
21269 (VEC_PERMX): Likewise.
21270 (VEC_PEXT): Likewise.
21271 (VEC_POPCNT): Likewise.
21272 (VEC_PARITY_LSBB): Likewise.
21273 (VEC_REPLACE_ELT): Likewise.
21274 (VEC_REPLACE_UN): Likewise.
21275 (VEC_REVB): Likewise.
21276 (VEC_RINT): Likewise.
21277 (VEC_RLMI): Likewise.
21278 (VEC_RLNM): Likewise.
21279 (VEC_SBOX_BE): Likewise.
21280 (VEC_SIGNEXTI): Likewise.
21281 (VEC_SIGNEXTLL): Likewise.
21282 (VEC_SIGNEXTQ): Likewise.
21283 (VEC_SLDB): Likewise.
21284 (VEC_SLV): Likewise.
21285 (VEC_SPLATI): Likewise.
21286 (VEC_SPLATID): Likewise.
21287 (VEC_SPLATI_INS): Likewise.
21288 (VEC_SQRT): Likewise.
21289 (VEC_SRDB): Likewise.
21290 (VEC_SRV): Likewise.
21291 (VEC_STRIL): Likewise.
21292 (VEC_STRIL_P): Likewise.
21293 (VEC_STRIR): Likewise.
21294 (VEC_STRIR_P): Likewise.
21295 (VEC_STXVL): Likewise.
21296 (VEC_TERNARYLOGIC): Likewise.
21297 (VEC_TEST_LSBB_ALL_ONES): Likewise.
21298 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
21299 (VEC_VEE): Likewise.
21300 (VEC_VES): Likewise.
21301 (VEC_VIE): Likewise.
21302 (VEC_VPRTYB): Likewise.
21303 (VEC_VSCEEQ): Likewise.
21304 (VEC_VSCEGT): Likewise.
21305 (VEC_VSCELT): Likewise.
21306 (VEC_VSCEUO): Likewise.
21307 (VEC_VSEE): Likewise.
21308 (VEC_VSES): Likewise.
21309 (VEC_VSIE): Likewise.
21310 (VEC_VSTDC): Likewise.
21311 (VEC_VSTDCN): Likewise.
21312 (VEC_VTDC): Likewise.
21313 (VEC_XL): Likewise.
21314 (VEC_XL_BE): Likewise.
21315 (VEC_XL_LEN_R): Likewise.
21316 (VEC_XL_SEXT): Likewise.
21317 (VEC_XL_ZEXT): Likewise.
21318 (VEC_XST): Likewise.
21319 (VEC_XST_BE): Likewise.
21320 (VEC_XST_LEN_R): Likewise.
21321 (VEC_XST_TRUNC): Likewise.
21322 (VEC_XXPERMDI): Likewise.
21323 (VEC_XXSLDWI): Likewise.
21324 (VEC_TSTSFI_EQ_DD): Likewise.
21325 (VEC_TSTSFI_EQ_TD): Likewise.
21326 (VEC_TSTSFI_GT_DD): Likewise.
21327 (VEC_TSTSFI_GT_TD): Likewise.
21328 (VEC_TSTSFI_LT_DD): Likewise.
21329 (VEC_TSTSFI_LT_TD): Likewise.
21330 (VEC_TSTSFI_OV_DD): Likewise.
21331 (VEC_TSTSFI_OV_TD): Likewise.
21332 (VEC_VADDCUQ): Likewise.
21333 (VEC_VADDECUQ): Likewise.
21334 (VEC_VADDEUQM): Likewise.
21335 (VEC_VADDUDM): Likewise.
21336 (VEC_VADDUQM): Likewise.
21337 (VEC_VBPERMQ): Likewise.
21338 (VEC_VCLZB): Likewise.
21339 (VEC_VCLZD): Likewise.
21340 (VEC_VCLZH): Likewise.
21341 (VEC_VCLZW): Likewise.
21342 (VEC_VCTZB): Likewise.
21343 (VEC_VCTZD): Likewise.
21344 (VEC_VCTZH): Likewise.
21345 (VEC_VCTZW): Likewise.
21346 (VEC_VEEDP): Likewise.
21347 (VEC_VEESP): Likewise.
21348 (VEC_VESDP): Likewise.
21349 (VEC_VESSP): Likewise.
21350 (VEC_VIEDP): Likewise.
21351 (VEC_VIESP): Likewise.
21352 (VEC_VPKSDSS): Likewise.
21353 (VEC_VPKSDUS): Likewise.
21354 (VEC_VPKUDUM): Likewise.
21355 (VEC_VPKUDUS): Likewise.
21356 (VEC_VPOPCNT): Likewise.
21357 (VEC_VPOPCNTB): Likewise.
21358 (VEC_VPOPCNTD): Likewise.
21359 (VEC_VPOPCNTH): Likewise.
21360 (VEC_VPOPCNTW): Likewise.
21361 (VEC_VPRTYBD): Likewise.
21362 (VEC_VPRTYBQ): Likewise.
21363 (VEC_VPRTYBW): Likewise.
21364 (VEC_VRLD): Likewise.
21365 (VEC_VSLD): Likewise.
21366 (VEC_VSRAD): Likewise.
21367 (VEC_VSRD): Likewise.
21368 (VEC_VSTDCDP): Likewise.
21369 (VEC_VSTDCNDP): Likewise.
21370 (VEC_VSTDCNQP): Likewise.
21371 (VEC_VSTDCNSP): Likewise.
21372 (VEC_VSTDCQP): Likewise.
21373 (VEC_VSTDCSP): Likewise.
21374 (VEC_VSUBECUQ): Likewise.
21375 (VEC_VSUBEUQM): Likewise.
21376 (VEC_VSUBUDM): Likewise.
21377 (VEC_VSUBUQM): Likewise.
21378 (VEC_VTDCDP): Likewise.
21379 (VEC_VTDCSP): Likewise.
21380 (VEC_VUPKHSW): Likewise.
21381 (VEC_VUPKLSW): Likewise.
21382
21383 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
21384
21385 PR rtl-optimization/101260
21386 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
21387 copy_regno.
21388
21389 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
21390
21391 PR middle-end/95115
21392 * fold-const.cc (const_binop): Do not fold NaN result from
21393 non-NaN operands.
21394
21395 2022-02-01 Tom de Vries <tdevries@suse.de>
21396
21397 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
21398 -ftree-loop-distribute-patterns.
21399 (loop_distribution::execute): Don't call transform_reduction_loop for
21400 -fno-tree-loop-distribute-patterns.
21401
21402 2022-01-31 Andrew Pinski <apinski@marvell.com>
21403
21404 * fold-const.h (operand_compare::operand_equal_p):
21405 Fix comment about OEP_* flags.
21406
21407 2022-01-31 Jakub Jelinek <jakub@redhat.com>
21408
21409 PR target/104298
21410 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
21411 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
21412 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
21413 if not already defined.
21414
21415 2022-01-31 Martin Sebor <msebor@redhat.com>
21416
21417 PR middle-end/104232
21418 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
21419 Handle PHIs. Add a synonymous overload.
21420 (pass_waccess::check_pointer_uses): Call pointers_related_p.
21421
21422 2022-01-31 Richard Biener <rguenther@suse.de>
21423
21424 PR tree-optimization/100499
21425 * fold-const.cc (multiple_of_p): Pass the correct type of
21426 the expression to the recursive invocation of multiple_of_p
21427 for conversions and use CASE_CONVERT.
21428
21429 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
21430
21431 PR target/104189
21432 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
21433
21434 2022-01-31 Richard Biener <rguenther@suse.de>
21435
21436 PR tree-optimization/100499
21437 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
21438 on poly-ints instead of multiple_of_p.
21439 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
21440 (non_rewritable_mem_ref_base): Likewise.
21441 (non_rewritable_lvalue_p): Likewise.
21442 (execute_update_addresses_taken): Likewise.
21443
21444 2022-01-29 Jakub Jelinek <jakub@redhat.com>
21445 Andrew Pinski <apinski@marvell.com>
21446
21447 PR tree-optimization/104279
21448 PR tree-optimization/104280
21449 PR tree-optimization/104281
21450 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
21451 boolean_type_node and convert to type. Formatting fixes.
21452
21453 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
21454
21455 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
21456
21457 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
21458
21459 PR tree-optimization/103514
21460 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
21461 (a & b) == (a ^ b) -> !(a | b): New optimization.
21462
21463 2022-01-28 Marek Polacek <polacek@redhat.com>
21464
21465 * doc/invoke.texi: Update -Wbidi-chars documentation.
21466
21467 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
21468
21469 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
21470
21471 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
21472
21473 PR tree-optimization/95424
21474 * match.pd: Simplify 1 / X where X is an integer.
21475
21476 2022-01-28 Jakub Jelinek <jakub@redhat.com>
21477
21478 PR tree-optimization/104263
21479 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
21480 cfun->can_throw_non_call_exceptions && cfun->eh test whether
21481 last non-debug stmt in the bb is store_valid_for_store_merging_p
21482 rather than last stmt.
21483
21484 2022-01-28 Martin Liska <mliska@suse.cz>
21485
21486 * diagnostic.cc (diagnostic_action_after_output): Remove extra
21487 newline.
21488
21489 2022-01-28 Martin Liska <mliska@suse.cz>
21490
21491 * config/rs6000/host-darwin.cc (segv_crash_handler):
21492 Do not use leading capital letter.
21493 (segv_handler): Likewise.
21494 * ipa-sra.cc (verify_splitting_accesses): Likewise.
21495 * varasm.cc (get_section): Likewise.
21496
21497 2022-01-28 Richard Biener <rguenther@suse.de>
21498
21499 PR tree-optimization/104267
21500 * tree-vect-stmts.cc (vectorizable_call): Properly use the
21501 per-argument determined vector type for externals and
21502 invariants.
21503
21504 2022-01-28 Richard Biener <rguenther@suse.de>
21505
21506 PR tree-optimization/104263
21507 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
21508 Purge edges also when !cfun->has_nonlocal_label
21509 and !cfun->calls_setjmp.
21510
21511 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
21512
21513 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
21514 attributes.
21515
21516 2022-01-28 Jakub Jelinek <jakub@redhat.com>
21517
21518 PR lto/104237
21519 * cfgrtl.cc (loc_equal): New function.
21520 (unique_locus_on_edge_between_p): Use it.
21521
21522 2022-01-28 Richard Biener <rguenther@suse.de>
21523
21524 * cfganal.h (mark_dfs_back_edges): Provide API with struct
21525 function argument.
21526 * cfganal.cc (mark_dfs_back_edges): Take a struct function
21527 to work on, add a wrapper passing cfun.
21528 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
21529 uses with fun which is already passed.
21530 (draw_cfg_edges): Likewise.
21531 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
21532 for fun != cfun.
21533
21534 2022-01-27 Patrick Palka <ppalka@redhat.com>
21535
21536 PR c++/99895
21537 * tree.cc (build_call_vec): Add const to second parameter.
21538 * tree.h (build_call_vec): Likewise.
21539
21540 2022-01-27 Martin Liska <mliska@suse.cz>
21541
21542 PR web/104254
21543 * diagnostic.cc (diagnostic_initialize):
21544 Initialize report_bug flag.
21545 (diagnostic_action_after_output):
21546 Explain that -freport-bug option can be used for pre-processed
21547 file creation. Make the message shorter.
21548 (error_recursion): Rename Internal to internal.
21549 * diagnostic.h (struct diagnostic_context): New field.
21550 * opts.cc (common_handle_option): Init the field here.
21551
21552 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
21553
21554 PR target/103702
21555 * config/rs6000/rs6000.cc
21556 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
21557 assertion with early return.
21558
21559 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
21560
21561 PR middle-end/103642
21562 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
21563 for non-pointer or non-reference-to-pointer cases.
21564
21565 2022-01-27 Jakub Jelinek <jakub@redhat.com>
21566
21567 PR tree-optimization/104196
21568 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
21569 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
21570 return NULL and emit needed stmts before and after stmt.
21571 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
21572 pick as operand_entry that will hold the merged test the one feeding
21573 earliest condition, ensure that by swapping range->idx with some
21574 other range's idx if needed. If seq is non-NULL, don't actually swap
21575 it but instead rewrite stmts with undefined overflow in between
21576 the two locations.
21577 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
21578 corresponding condition even if they have non-NULL ops[]->op.
21579 Formatting fix.
21580
21581 2022-01-26 Jakub Jelinek <jakub@redhat.com>
21582
21583 PR target/104239
21584 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
21585 asm.
21586 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
21587 before for loop instead of for init clause.
21588 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
21589
21590 2022-01-26 Jakub Jelinek <jakub@redhat.com>
21591
21592 PR target/104239
21593 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
21594 _X86INTRIN_H_INCLUDED and adjust #error wording.
21595 * config/rs6000/bmi2intrin.h: Likewise.
21596
21597 2022-01-26 Jakub Jelinek <jakub@redhat.com>
21598
21599 PR debug/104194
21600 * dwarf2out.cc (long_double_as_float128): New function.
21601 (modified_type_die): For powerpc64le IEEE 754 quad long double
21602 and complex long double emit those as DW_TAG_typedef to
21603 _Float128 or complex _Float128 base type.
21604
21605 2022-01-26 Marek Polacek <polacek@redhat.com>
21606
21607 PR target/104213
21608 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
21609 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
21610
21611 2022-01-26 Martin Liska <mliska@suse.cz>
21612
21613 * ipa-modref-tree.cc (modref_access_node::update):
21614 Remove "--param param=foo" with "--param foo".
21615 (modref_access_node::insert): Likewise.
21616 (modref_access_node::insert_kill): Likewise.
21617 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
21618 (struct modref_base_node): Likewise.
21619 (struct modref_tree): Likewise.
21620
21621 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
21622
21623 PR target/94193
21624 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
21625 predicate check.
21626
21627 2022-01-25 Martin Sebor <msebor@redhat.com>
21628
21629 PR tree-optimization/104203
21630 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
21631 TV_WARN_ACCESS.
21632 * pointer-query.cc (access_ref::merge_ref): Change return type.
21633 Convert failure to a conservative success.
21634 (access_ref::get_ref): Adjust to the change above. Short-circuit
21635 PHI evaluation after first failure turned into conservative success.
21636 * pointer-query.h (access_ref::merge_ref): Change return type.
21637 * timevar.def (TV_WARN_ACCESS): New timer variable.
21638
21639 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
21640
21641 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
21642
21643 2022-01-25 Richard Biener <rguenther@suse.de>
21644
21645 PR tree-optimization/104214
21646 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
21647 stronger guarantees for relational pointer compares when
21648 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
21649 BASE0 + STEP0 - STEP1 cmp BASE1.
21650
21651 2022-01-25 Jakub Jelinek <jakub@redhat.com>
21652
21653 PR target/104172
21654 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
21655 declare.
21656 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
21657 ieee128_mangling_gcc_8_1): Remove.
21658 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
21659 (rs6000_mangle_type): Return "u9__ieee128" instead of
21660 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
21661 (rs6000_globalize_decl_name): Remove.
21662 * config/rs6000/rs6000-call.cc (init_cumulative_args,
21663 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
21664
21665 2022-01-24 Martin Sebor <msebor@redhat.com>
21666
21667 * pointer-query.cc (pointer_query::dump): Remove duplicate
21668 block.
21669
21670 2022-01-24 Marek Polacek <polacek@redhat.com>
21671
21672 PR preprocessor/104030
21673 * doc/invoke.texi: Update documentation for -Wbidi-chars.
21674
21675 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
21676
21677 PR target/94193
21678 * builtins.cc (expand_builtin_fegetround): New function.
21679 (expand_builtin_feclear_feraise_except): New function.
21680 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
21681 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
21682 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
21683 (feclearexceptsi): New Pattern.
21684 (feraiseexceptsi): New Pattern.
21685 * doc/extend.texi: Add a new introductory paragraph about the
21686 new builtins.
21687 * doc/md.texi: (fegetround@var{m}): Document new optab.
21688 (feclearexcept@var{m}): Document new optab.
21689 (feraiseexcept@var{m}): Document new optab.
21690 * optabs.def (fegetround_optab): New optab.
21691 (feclearexcept_optab): New optab.
21692 (feraiseexcept_optab): New optab.
21693
21694 2022-01-24 Richard Biener <rguenther@suse.de>
21695 Jiufu Guo <guojiufu@linux.ibm.com>
21696
21697 PR tree-optimization/100740
21698 PR tree-optimization/101508
21699 PR tree-optimization/101972
21700 PR tree-optimization/102131
21701 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
21702 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
21703 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
21704
21705 2022-01-24 Jakub Jelinek <jakub@redhat.com>
21706
21707 PR sanitizer/104158
21708 * opt-functions.awk (var_set): Handle EnumBitSet property.
21709 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
21710 specified.
21711 * opts.h (enum cl_enum_var_value): New type.
21712 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
21713 Handle CLEV_BITSET.
21714 (cmdline_handle_error): Handle CLEV_BITSET.
21715 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
21716 * doc/options.texi (EnumBitSet): Document.
21717 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
21718 EnumSet.
21719 (trace-pc, trace-cmp): Drop Set properties.
21720
21721 2022-01-24 Jakub Jelinek <jakub@redhat.com>
21722
21723 PR sanitizer/104158
21724 * common.opt (flag_sanitize_coverage): Remove Variable entry.
21725 (fsanitize-coverage=): Remove RejectNegative property, add
21726 Var(flag_sanitize_coverage) and EnumSet properties.
21727 (trace-pc): Add Set(1) property.
21728 (trace-cmp): Add Set(2) property.
21729 * opts.cc (common_handle_option): Don't handle
21730 OPT_fsanitize_coverage_.
21731
21732 2022-01-24 Jakub Jelinek <jakub@redhat.com>
21733
21734 PR sanitizer/104158
21735 * opt-functions.awk (var_set): Handle EnumSet property.
21736 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
21737 specified.
21738 * opt-read.awk: Handle Set property.
21739 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
21740 (struct cl_decoded_option): Mention enum in value description.
21741 Add mask member.
21742 (set_option): Add mask argument defaulted to 0.
21743 * opts.cc (test_enum_sets): New function.
21744 (opts_cc_tests): Call it.
21745 * opts-common.cc (enum_arg_to_value): Change return argument
21746 from bool to int, on success return index into the cl_enum_arg
21747 array, on failure -1. Add len argument, if non-0, use strncmp
21748 instead of strcmp.
21749 (opt_enum_arg_to_value): Adjust caller.
21750 (decode_cmdline_option): Handle EnumSet represented as
21751 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
21752 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
21753 (handle_option): Pass decoded->mask to set_options last argument.
21754 (generate_option): Clear decoded->mask.
21755 (generate_option_input_file): Likewise.
21756 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
21757 (set_option): Add mask argument, use it for CLVC_ENUM.
21758 (control_warning_option): Adjust enum_arg_to_value caller.
21759 * doc/options.texi: Document Set and EnumSet properties.
21760
21761 2022-01-24 Jakub Jelinek <jakub@redhat.com>
21762
21763 PR bootstrap/104170
21764 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
21765 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
21766 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
21767 using OPTION_*_P macros.
21768 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
21769 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
21770 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
21771 using OPTION_*_P macros.
21772 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
21773 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
21774 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
21775 using OPTION_*_P macros.
21776 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
21777 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
21778 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
21779 using OPTION_*_P macros.
21780 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
21781 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
21782 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
21783 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
21784 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
21785 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
21786 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
21787 otherwise assume if (true).
21788
21789 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
21790
21791 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
21792 Skip zicsr and zifencei if I-ext is 2.0.
21793
21794 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
21795
21796 * config.gcc: Modify default isa_spec version.
21797
21798 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
21799
21800 PR tree-optimization/102087
21801 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
21802 Correct PLUS result type.
21803
21804 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
21805
21806 PR target/104188
21807 * config/i386/predicates.md (bcst_mem_operand): Also check mode
21808 of memory broadcast.
21809
21810 2022-01-23 Andrew Pinski <apinski@marvell.com>
21811
21812 PR target/64821
21813 * config/aarch64/aarch64-builtins.cc
21814 (aarch64_general_gimple_fold_builtin): Handle
21815 __builtin_aarch64_sqrt* and simplify into SQRT internal
21816 function.
21817
21818 2022-01-22 Jakub Jelinek <jakub@redhat.com>
21819
21820 PR other/104176
21821 * opts-global.cc (handle_common_deferred_options): Quote
21822 --enable-plugin in diagnostics to avoid -Werror=format-diag.
21823
21824 2022-01-21 Michael Meissner <meissner@the-meissners.org>
21825
21826 PR target/104136
21827 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
21828 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
21829 * config/rs6000/rs6000.md (prefixed attribute): Delete section
21830 that sets the prefixed attribute for xxspltiw, xxspltidp, and
21831 xxsplti32dx instructions.
21832 (movsf_hardfloat): Explicitly set the prefixed attribute
21833 when xxspltiw and xxspltidp instructions are generated.
21834 (mov<mode>_hardfloat32): Likewise.
21835 (mov<mode>_hardfloat64): Likewise.
21836 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
21837 prefixed attribute for xxspltiw and xxspltidp instructions.
21838 (vsx_mov<mode>_32bit): Likewise.
21839
21840 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
21841
21842 PR bootstrap/104170
21843 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
21844 Return true only on glibc.
21845 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
21846 Revert commit c163647ffbc.
21847 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
21848
21849 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
21850
21851 * common/config/s390/s390-common.cc (s390_supports_split_stack):
21852 Only support split-stack on glibc targets.
21853 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
21854 * config/i386/gnu.h (defined): Ditto.
21855
21856 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
21857
21858 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
21859 vector float and vector double.
21860
21861 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
21862
21863 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
21864 Fix mention of ifunc in string.
21865
21866 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
21867
21868 PR middle-end/104140
21869 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
21870 operands of the widening multiplication are either both signed or
21871 both unsigned, and abort the conversion if mismatched.
21872 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
21873 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
21874 signedness.
21875 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
21876 integer types with the same precision and signedness.
21877 (WIDEN_MULT_EXPR): Document that operands must have integer types
21878 with the same precision, but possibly differing signedness.
21879 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
21880 riscv_current_subset_list returning a NULL pointer (empty list).
21881
21882 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
21883
21884 PR target/103676
21885 * ira.h (struct target_ira): Add member
21886 x_ira_exclude_class_mode_regs.
21887 (ira_exclude_class_mode_regs): New macro.
21888 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
21889 move from here ...
21890 * lra-int.h: ... to here.
21891 (lra_create_new_reg_with_unique_value): Add arg
21892 exclude_start_hard_regs.
21893 (class lra_reg): Add member exclude_start_hard_regs.
21894 * lra-assigns.cc (find_hard_regno_for_1): Setup
21895 impossible_start_hard_regs from exclude_start_hard_regs.
21896 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
21897 it lra_create_new_reg[_with_unique_value].
21898 (match_reload): Ditto.
21899 (check_and_process_move): Pass NULL
21900 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
21901 (goal_alt_exclude_start_hard_regs): New static variable.
21902 (process_addr_reg, simplify_operand_subreg): Pass NULL
21903 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
21904 and get_reload_reg.
21905 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
21906 Use this_alternative_exclude_start_hard_regs additionally to find
21907 winning operand alternative.
21908 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
21909 exclude_start_hard_regs to lra_create_new_reg.
21910 (process_address_1, emit_inc): Ditto.
21911 (curr_insn_transform): Pass exclude_start_hard_regs value to
21912 lra_create_new_reg, get_reload_reg, match_reload.
21913 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
21914 to lra_create_new_reg.
21915 (process_invariant_for_inheritance): Ditto.
21916 * lra-remat.cc (update_scratch_ops): Ditto.
21917 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
21918 exclude_start_hard_regs. Setup the corresponding member of
21919 lra reg info.
21920 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
21921 to lra_create_new_reg_with_unique_value.
21922 (initialize_lra_reg_info_element): Initialize member
21923 exclude_start_hard_regs.
21924 (get_scratch_reg): Pass NULL to lra_create_new_reg.
21925 * ira.cc (setup_prohibited_class_mode_regs): Rename to
21926 setup_prohibited_and_exclude_class_mode_regs and calculate
21927 ira_exclude_class_mode_regs.
21928
21929 2022-01-21 Martin Liska <mliska@suse.cz>
21930
21931 * configure.ac: Detect ld_is_mold and use it for
21932 comdat_group=yes and gcc_cv_ld_hidden=yes.
21933 * configure: Regenerate.
21934
21935 2022-01-21 Richard Biener <rguenther@suse.de>
21936
21937 PR tree-optimization/100089
21938 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
21939 of if-converted loops with unvectorized COND_EXPRs for
21940 all but the unlimited cost models.
21941
21942 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
21943
21944 * config/arm/arm-opts.h (enum stack_protector_guard): New.
21945 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
21946 New.
21947 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
21948 (arm_option_override_internal): Handle and put in error checks.
21949 for stack protector guard options.
21950 (arm_option_reconfigure_globals): Likewise.
21951 (arm_stack_protect_tls_canary_mem): New.
21952 (arm_stack_protect_guard): New.
21953 * config/arm/arm.md (stack_protect_set): New.
21954 (stack_protect_set_tls): Likewise.
21955 (stack_protect_test): Likewise.
21956 (stack_protect_test_tls): Likewise.
21957 (reload_tp_hard): Likewise.
21958 * config/arm/arm.opt (-mstack-protector-guard): New
21959 (-mstack-protector-guard-offset): New.
21960 * doc/invoke.texi: Document new options.
21961
21962 2022-01-21 Richard Biener <rguenther@suse.de>
21963
21964 PR tree-optimization/104156
21965 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
21966 Collect and reset debug stmts with out-of-loop uses when
21967 hoisting guards.
21968 (find_loop_guard): Adjust.
21969 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
21970 (used_outside_loop_p): Push debug uses to a vector of
21971 debug stmts to reset.
21972 (hoist_guard): Adjust -fopt-info category.
21973
21974 2022-01-21 Richard Biener <rguenther@suse.de>
21975
21976 PR tree-optimization/104152
21977 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
21978 can_duplicate_and_interleave_p check.
21979
21980 2022-01-21 Jakub Jelinek <jakub@redhat.com>
21981
21982 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
21983 Avoid passing var to warning_at when the format string doesn't
21984 refer to it.
21985
21986 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
21987
21988 PR tree-optimization/103721
21989 * gimple-range-path.cc
21990 (path_range_query::relations_may_be_invalidated): New.
21991 (path_range_query::compute_ranges_in_block): Reset relations if
21992 they may be invalidated.
21993 (path_range_query::maybe_register_phi_relation): Exit if relations
21994 may be invalidated on incoming edge.
21995 (path_range_query::compute_phi_relations): Pass incoming PHI edge
21996 to maybe_register_phi_relation.
21997 * gimple-range-path.h (relations_may_be_invalidated): New.
21998 (maybe_register_phi_relation): Pass edge instead of tree.
21999 * tree-ssa-threadbackward.cc (back_threader::back_threader):
22000 Mark DFS edges.
22001 * value-relation.cc (path_oracle::path_oracle): Call
22002 mark_dfs_back_edges.
22003 (path_oracle::register_relation): Add SSA names to m_registered
22004 bitmap.
22005 (path_oracle::reset_path): Clear m_registered bitmap.
22006 * value-relation.h (path_oracle::set_root_oracle): New.
22007
22008 2022-01-21 Jakub Jelinek <jakub@redhat.com>
22009
22010 PR rtl-optimization/102478
22011 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
22012 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
22013 would be needed.
22014
22015 2022-01-20 Richard Biener <rguenther@suse.de>
22016
22017 PR middle-end/100786
22018 * gimple-fold.cc (get_symbol_constant_value): Only return
22019 values of compatible type to the symbol.
22020
22021 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
22022
22023 * value-relation.cc (relation_oracle::valid_equivs): Query and add
22024 if valid members of a set.
22025 (equiv_oracle::register_equiv): Call valid_equivs rather than
22026 bitmap direct operations.
22027 (path_oracle::register_equiv): Ditto.
22028 * value-relation.h (relation_oracle::valid_equivs): New prototype.
22029
22030 2022-01-20 Richard Biener <rguenther@suse.de>
22031
22032 PR target/100784
22033 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
22034 LHS before folding __builtin_ia32_shufpd and friends.
22035
22036 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
22037
22038 * config/arm/crypto.md (aes_op_protect): Allow moves from core
22039 registers and from memory.
22040 (aes_op_protect_misalign_load): New pattern.
22041 (aes_op_protect_neon_vld1v16qi): New pattern.
22042
22043 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
22044
22045 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
22046 New pattern.
22047 (aarch32_crypto_aese_fused_protected): Likewise.
22048 (aarch32_crypto_aesd_fused_protected): Likewise.
22049
22050 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
22051
22052 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
22053 to define_expand. Add mitigation for the Cortex-A AES erratum
22054 when enabled.
22055 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
22056 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
22057 (aes_op_protect): New pattern.
22058 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
22059
22060 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
22061
22062 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
22063 (ALL_QUIRKS): Add it.
22064 (cortex-a57, cortex-a72): Enable it.
22065 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
22066 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
22067 option.
22068 (mfix-cortex-a72-aes-1655431): New option alias.
22069 * config/arm/arm.cc (arm_option_override): Handle default settings
22070 for AES erratum switch.
22071 * doc/invoke.texi (Arm Options): Document new options.
22072
22073 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
22074
22075 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
22076 <crypto_mode> rather than hard-coding the mode.
22077 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
22078 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
22079 (*aarch32_crypto_aese_fused): Likewise.
22080 (*aarch32_crypto_aesd_fused): Likewise.
22081 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
22082 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
22083 (crypto_sha1h_lb): Likewise.
22084 (crypto_vmullp64): Likewise.
22085 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
22086 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
22087
22088 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
22089
22090 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
22091 iterator to pattern name to disambiguate.
22092 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
22093 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
22094 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
22095 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
22096 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
22097
22098 2022-01-20 Martin Liska <mliska@suse.cz>
22099
22100 PR bootstrap/104135
22101 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
22102 * rtl.cc: Partially disable -Wformat-diag for RTL checking
22103 error messages.
22104
22105 2022-01-20 Jakub Jelinek <jakub@redhat.com>
22106
22107 PR debug/103874
22108 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
22109 block_num > 0, index entry even if !have_multiple_function_sections.
22110
22111 2022-01-20 liuhongt <hongtao.liu@intel.com>
22112
22113 PR target/103771
22114 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
22115 integral mode mask pack by multi steps which takes
22116 vec_pack_sbool_trunc_optab as start when elements number is
22117 less than BITS_PER_UNITS.
22118
22119 2022-01-20 Richard Biener <rguenther@suse.de>
22120
22121 PR tree-optimization/104114
22122 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
22123 single element vector decomposition.
22124
22125 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
22126
22127 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
22128 (noce_convert_multiple_sets): Call function a second time if we can
22129 improve the first try.
22130
22131 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
22132
22133 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
22134 reversed comparison.
22135 (try_emit_cmove_seq): New function to facilitate creating a cmov
22136 sequence.
22137 (noce_convert_multiple_sets): Create two sequences and use the less
22138 expensive one.
22139
22140 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
22141
22142 * rtl.h (struct rtx_comparison): New struct that holds an rtx
22143 comparison.
22144 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
22145 single parameters.
22146 (rs6000_emit_swsqrt): Likewise.
22147 * expmed.cc (expand_sdiv_pow2): Likewise.
22148 (emit_store_flag): Likewise.
22149 * expr.cc (expand_cond_expr_using_cmove): Likewise.
22150 (expand_expr_real_2): Likewise.
22151 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
22152 parameters.
22153 * optabs.cc (emit_conditional_move_1): New function.
22154 (expand_doubleword_shift_condmove): Use struct.
22155 (emit_conditional_move): Use struct and allow to call directly
22156 without going through preparation steps.
22157 * optabs.h (emit_conditional_move): Use struct.
22158
22159 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
22160
22161 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
22162 (noce_process_if_block): Use potential costs.
22163
22164 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
22165
22166 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
22167 (bb_ok_for_noce_convert_multiple_sets): Likewise.
22168
22169 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
22170
22171 * ifcvt.cc (need_cmov_or_rewire): New function.
22172 (noce_convert_multiple_sets): Call it.
22173
22174 2022-01-19 David Malcolm <dmalcolm@redhat.com>
22175
22176 * attribs.cc (attribute_c_tests): Rename to...
22177 (attribs_cc_tests): ...this.
22178 * bitmap.cc (bitmap_c_tests): Rename to...
22179 (bitmap_cc_tests): ...this.
22180 * cgraph.cc (cgraph_c_finalize): Rename to...
22181 (cgraph_cc_finalize): ...this.
22182 (cgraph_c_tests): Rename to...
22183 (cgraph_cc_tests): ...this.
22184 * cgraph.h (cgraph_c_finalize): Rename to...
22185 (cgraph_cc_finalize): ...this.
22186 (cgraphunit_c_finalize): Rename to...
22187 (cgraphunit_cc_finalize): ...this.
22188 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
22189 (cgraphunit_cc_finalize): ...this.
22190 * convert.cc (convert_c_tests): Rename to...
22191 (convert_cc_tests): ...this.
22192 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
22193 (dbgcnt_cc_tests): ...this.
22194 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
22195 (diagnostic_show_locus_cc_tests): ...this.
22196 * diagnostic.cc (diagnostic_c_tests): Rename to...
22197 (diagnostic_cc_tests): ...this.
22198 * dumpfile.cc (dumpfile_c_tests): Rename to...
22199 (dumpfile_cc_tests): ...this.
22200 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
22201 (dwarf2out_cc_finalize): ...this.
22202 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
22203 (dwarf2out_cc_finalize): ...this.
22204 * edit-context.cc (edit_context_c_tests): Rename to...
22205 (edit_context_cc_tests): ...this.
22206 * et-forest.cc (et_forest_c_tests): Rename to...
22207 (et_forest_cc_tests): ...this.
22208 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
22209 (fibonacci_heap_cc_tests): ...this.
22210 * fold-const.cc (fold_const_c_tests): Rename to...
22211 (fold_const_cc_tests): ...this.
22212 * function-tests.cc (function_tests_c_tests): Rename to...
22213 (function_tests_cc_tests): ...this.
22214 * gcse.cc (gcse_c_finalize): Rename to...
22215 (gcse_cc_finalize): ...this.
22216 * gcse.h (gcse_c_finalize): Rename to...
22217 (gcse_cc_finalize): ...this.
22218 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
22219 (ggc_tests_cc_tests): ...this.
22220 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
22221 (store_merging_cc_tests): ...this.
22222 * gimple.cc (gimple_c_tests): Rename to...
22223 (gimple_cc_tests): ...this.
22224 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
22225 (hash_map_tests_cc_tests): ...this.
22226 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
22227 (hash_set_tests_cc_tests): ...this.
22228 * input.cc (input_c_tests): Rename to...
22229 (input_cc_tests): ...this.
22230 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
22231 (ipa_cp_cc_finalize): ...this.
22232 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
22233 (ipa_fnsummary_cc_finalize): ...this.
22234 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
22235 (ipa_fnsummary_cc_finalize): ...this.
22236 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
22237 (ipa_modref_tree_cc_tests): ...this.
22238 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
22239 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
22240 (ipa_modref_cc_finalize): ...this.
22241 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
22242 (ipa_modref_cc_finalize): ...this.
22243 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
22244 (ipa_cp_cc_finalize): ...this.
22245 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
22246 (ipa_reference_cc_finalize): ...this.
22247 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
22248 (ipa_reference_cc_finalize): ...this.
22249 * ira-costs.cc (ira_costs_c_finalize): Rename to...
22250 (ira_costs_cc_finalize): ...this.
22251 * ira.h (ira_costs_c_finalize): Rename to...
22252 (ira_costs_cc_finalize): ...this.
22253 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
22254 (opt_suggestions_cc_tests): ...this.
22255 * opts.cc (opts_c_tests): Rename to...
22256 (opts_cc_tests): ...this.
22257 * predict.cc (predict_c_tests): Rename to...
22258 (predict_cc_tests): ...this.
22259 * pretty-print.cc (pretty_print_c_tests): Rename to...
22260 (pretty_print_cc_tests): ...this.
22261 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
22262 (read_rtl_function_cc_tests): ...this.
22263 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
22264 (rtl_tests_cc_tests): ...this.
22265 * sbitmap.cc (sbitmap_c_tests): Rename to...
22266 (sbitmap_cc_tests): ...this.
22267 * selftest-run-tests.cc (selftest::run_tests): Update calls for
22268 _c_ to _cc_ function renamings; fix names of attribs and
22269 opt-suggestions tests.
22270 * selftest.cc (selftest_c_tests): Rename to...
22271 (selftest_cc_tests): ...this.
22272 * selftest.h (attribute_c_tests): Rename to...
22273 (attribs_cc_tests): ...this.
22274 (bitmap_c_tests): Rename to...
22275 (bitmap_cc_tests): ...this.
22276 (cgraph_c_tests): Rename to...
22277 (cgraph_cc_tests): ...this.
22278 (convert_c_tests): Rename to...
22279 (convert_cc_tests): ...this.
22280 (diagnostic_c_tests): Rename to...
22281 (diagnostic_cc_tests): ...this.
22282 (diagnostic_show_locus_c_tests): Rename to...
22283 (diagnostic_show_locus_cc_tests): ...this.
22284 (dumpfile_c_tests): Rename to...
22285 (dumpfile_cc_tests): ...this.
22286 (edit_context_c_tests): Rename to...
22287 (edit_context_cc_tests): ...this.
22288 (et_forest_c_tests): Rename to...
22289 (et_forest_cc_tests): ...this.
22290 (fibonacci_heap_c_tests): Rename to...
22291 (fibonacci_heap_cc_tests): ...this.
22292 (fold_const_c_tests): Rename to...
22293 (fold_const_cc_tests): ...this.
22294 (function_tests_c_tests): Rename to...
22295 (function_tests_cc_tests): ...this.
22296 (ggc_tests_c_tests): Rename to...
22297 (ggc_tests_cc_tests): ...this.
22298 (gimple_c_tests): Rename to...
22299 (gimple_cc_tests): ...this.
22300 (hash_map_tests_c_tests): Rename to...
22301 (hash_map_tests_cc_tests): ...this.
22302 (hash_set_tests_c_tests): Rename to...
22303 (hash_set_tests_cc_tests): ...this.
22304 (input_c_tests): Rename to...
22305 (input_cc_tests): ...this.
22306 (opts_c_tests): Rename to...
22307 (opts_cc_tests): ...this.
22308 (predict_c_tests): Rename to...
22309 (predict_cc_tests): ...this.
22310 (pretty_print_c_tests): Rename to...
22311 (pretty_print_cc_tests): ...this.
22312 (read_rtl_function_c_tests): Rename to...
22313 (read_rtl_function_cc_tests): ...this.
22314 (rtl_tests_c_tests): Rename to...
22315 (rtl_tests_cc_tests): ...this.
22316 (sbitmap_c_tests): Rename to...
22317 (sbitmap_cc_tests): ...this.
22318 (selftest_c_tests): Rename to...
22319 (selftest_cc_tests): ...this.
22320 (simplify_rtx_c_tests): Rename to...
22321 (simplify_rtx_cc_tests): ...this.
22322 (spellcheck_c_tests): Rename to...
22323 (spellcheck_cc_tests): ...this.
22324 (spellcheck_tree_c_tests): Rename to...
22325 (spellcheck_tree_cc_tests): ...this.
22326 (sreal_c_tests): Rename to...
22327 (sreal_cc_tests): ...this.
22328 (store_merging_c_tests): Rename to...
22329 (store_merging_cc_tests): ...this.
22330 (tree_c_tests): Rename to...
22331 (tree_cc_tests): ...this.
22332 (tree_cfg_c_tests): Rename to...
22333 (tree_cfg_cc_tests): ...this.
22334 (typed_splay_tree_c_tests): Rename to...
22335 (typed_splay_tree_cc_tests): ...this.
22336 (vec_c_tests): Rename to...
22337 (vec_cc_tests): ...this.
22338 (vec_perm_indices_c_tests): Rename to...
22339 (vec_perm_indices_cc_tests): ..this.
22340 (opt_proposer_c_tests): Rename to...
22341 (opt_suggestions_cc_tests): ...this.
22342 (dbgcnt_c_tests): Rename to...
22343 (dbgcnt_cc_tests): ...this.
22344 (ipa_modref_tree_c_tests): Rename to...
22345 (ipa_modref_tree_cc_tests): ...this.
22346 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
22347 (simplify_rtx_cc_tests): ...this.
22348 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
22349 (spellcheck_tree_cc_tests): ...this.
22350 * spellcheck.cc (spellcheck_c_tests): Rename to...
22351 (spellcheck_cc_tests): ...this.
22352 * sreal.cc (sreal_c_tests): Rename to...
22353 (sreal_cc_tests): ...this.
22354 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
22355 function renamings.
22356 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
22357 (tree_cfg_cc_tests): ...this.
22358 * tree.cc (tree_c_tests): Rename to...
22359 (tree_cc_tests): ...this.
22360 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
22361 (typed_splay_tree_cc_tests): ...this.
22362 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
22363 (vec_perm_indices_cc_tests): ...this.
22364 * vec.cc (vec_c_tests): Rename to...
22365 (vec_cc_tests): ...this.
22366
22367 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
22368
22369 PR tree-optimization/103997
22370 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
22371 vectorization.
22372
22373 2022-01-19 Jakub Jelinek <jakub@redhat.com>
22374
22375 PR middle-end/102860
22376 * match.pd (x %[fl] y -> x % y): New simplification for
22377 unsigned integral types.
22378 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
22379 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
22380
22381 2022-01-19 Richard Biener <rguenther@suse.de>
22382
22383 PR tree-optimization/104112
22384 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
22385 for required intermediate vector types.
22386
22387 2022-01-19 Jakub Jelinek <jakub@redhat.com>
22388
22389 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
22390
22391 2022-01-19 Martin Liska <mliska@suse.cz>
22392
22393 * configure.ac: Remove -Wno-error=format-diag.
22394 * configure: Regenerate.
22395
22396 2022-01-19 Martin Liska <mliska@suse.cz>
22397
22398 * config/riscv/riscv.cc (riscv_handle_type_attribute):
22399 Update one -Wformat-diag string in warning message.
22400
22401 2022-01-19 Jakub Jelinek <jakub@redhat.com>
22402
22403 PR middle-end/104103
22404 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
22405 .ASAN_MARK calls.
22406
22407 2022-01-19 Jakub Jelinek <jakub@redhat.com>
22408
22409 PR c++/89074
22410 * fold-const.cc (address_compare): Consider different STRING_CSTs
22411 with the same lengths that memcmp the same as equal, not different.
22412
22413 2022-01-19 Jakub Jelinek <jakub@redhat.com>
22414
22415 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
22416 {%0}.
22417
22418 2022-01-19 Martin Liska <mliska@suse.cz>
22419 Thomas Schwinge <thomas@codesourcery.com>
22420
22421 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
22422 warning messages.
22423
22424 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
22425
22426 PR target/104090
22427 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
22428 rs6000_cpu.
22429
22430 2022-01-19 Jakub Jelinek <jakub@redhat.com>
22431
22432 PR target/104104
22433 * config/i386/sse.md
22434 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
22435 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
22436 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
22437 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
22438 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
22439 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
22440 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
22441 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
22442 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
22443
22444 2022-01-19 Martin Sebor <msebor@redhat.com>
22445
22446 PR middle-end/104069
22447 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
22448 an unknown result as documented.
22449
22450 2022-01-18 Andrew Pinski <apinski@marvell.com>
22451
22452 * ipa-split.cc (visit_bb): Fix comment before the
22453 warning/error attribute checking code.
22454
22455 2022-01-18 David Faust <david.faust@oracle.com>
22456
22457 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
22458 for base strtab offset yet as it may change.
22459 (output_asm_btfext_core_reloc): Do so here instead.
22460 (output_btfext_core_sections): Likewise.
22461
22462 2022-01-18 David Faust <david.faust@oracle.com>
22463
22464 * config/bpf/coreout.cc (output_btfext_header): Account for
22465 4-byte record size in core_relo_len.
22466 (output_btfext_core_sections): Only write record size once.
22467 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
22468 member.
22469
22470 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
22471
22472 * common/config/riscv/riscv-common.cc
22473 (riscv_subset_list::parse_multiletter_ext): Move pointer
22474 arithmetic ahead of `free'.
22475
22476 2022-01-18 Jason Merrill <jason@redhat.com>
22477
22478 PR c++/104007
22479 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
22480 context.
22481
22482 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
22483
22484 PR middle-end/103163
22485 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
22486 (init_emit_once): ...not here.
22487
22488 2022-01-18 Martin Liska <mliska@suse.cz>
22489
22490 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
22491 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
22492 * config/arc/arc.md: Likewise.
22493 * config/avr/avr.cc (avr_section_type_flags): Likewise.
22494 * config/bfin/bfin.cc (bfin_option_override): Likewise.
22495 (bfin_handle_longcall_attribute): Likewise.
22496 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
22497 * config/frv/frv.cc (frv_expand_builtin): Likewise.
22498 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
22499 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
22500 (iq2000_print_operand_address): Likewise.
22501 (iq2000_print_operand): Likewise.
22502 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
22503 (m32c_pragma_address): Likewise.
22504 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
22505 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
22506 (mips_set_compression_mode): Likewise.
22507 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
22508 (mmix_print_operand): Likewise.
22509 (mmix_output_shiftvalue_op_from_str): Likewise.
22510 (mmix_output_shifted_value): Likewise.
22511 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
22512 * config/msp430/msp430.cc (msp430_option_override): Likewise.
22513 (msp430_attr): Likewise.
22514 (msp430_expand_delay_cycles): Likewise.
22515 (msp430_expand_builtin): Likewise.
22516 * config/rs6000/aix73.h: Likewise.
22517 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
22518 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
22519 (valid_psw_flag): Likewise.
22520 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
22521 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
22522 (xstormy16_expand_builtin_va_start): Likewise.
22523 (xstormy16_handle_below100_attribute): Likewise.
22524
22525 2022-01-18 Martin Liska <mliska@suse.cz>
22526
22527 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
22528 warning.
22529 (vms_pragma_standard): Likewise.
22530 (vms_pragma_extern_prefix): Likewise.
22531
22532 2022-01-18 Martin Liska <mliska@suse.cz>
22533
22534 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
22535 (print_operand_address): Likewise.
22536 (xtensa_multibss_section_type_flags): Likewise.
22537
22538 2022-01-18 Martin Liska <mliska@suse.cz>
22539
22540 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
22541 wording of an error message.
22542
22543 2022-01-18 Martin Liska <mliska@suse.cz>
22544
22545 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
22546 warning.
22547 (ghs_pragma_section): Likewise.
22548 (ghs_pragma_interrupt): Likewise.
22549 (ghs_pragma_starttda): Likewise.
22550 (ghs_pragma_startsda): Likewise.
22551 (ghs_pragma_startzda): Likewise.
22552 (ghs_pragma_endtda): Likewise.
22553 (ghs_pragma_endsda): Likewise.
22554 (ghs_pragma_endzda): Likewise.
22555
22556 2022-01-18 Martin Liska <mliska@suse.cz>
22557
22558 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
22559 Fix warnings.
22560 * config/nds32/nds32-intrinsic.md: Likewise.
22561 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
22562 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
22563 (nds32_insert_attributes): Likewise.
22564
22565 2022-01-18 Martin Liska <mliska@suse.cz>
22566
22567 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
22568 keyword.
22569 * config/nvptx/nvptx.md: Remove trailing dot.
22570
22571 2022-01-18 Martin Liska <mliska@suse.cz>
22572
22573 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
22574 Wrap keywords with quotes and remove trailing dots.
22575 (riscv_subset_list::parsing_subset_version): Likewise.
22576 (riscv_subset_list::parse_std_ext): Likewise.
22577 (riscv_subset_list::parse_multiletter_ext): Likewise.
22578 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
22579
22580 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
22581
22582 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
22583 argument suggested_unroll_factor.
22584 (vect_analyze_loop_costing): Likewise.
22585 (_loop_vec_info::_loop_vec_info): Initialize new member
22586 suggested_unroll_factor.
22587 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
22588 main loop use partial vectors.
22589 (vect_analyze_loop_2): Pass and use new argument
22590 suggested_unroll_factor.
22591 (vect_analyze_loop_1): Change to intialize local
22592 suggested_unroll_factor and use it.
22593 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
22594 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
22595 suggested_unroll_factor.
22596 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
22597 (vector_costs::suggested_unroll_factor): New getter function.
22598 (finish_cost): Set return argument suggested_unroll_factor.
22599
22600 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
22601
22602 PR tree-optimization/104038
22603 * doc/invoke.texi (relation-block-limit): New.
22604 * params.opt (relation-block-limit): New.
22605 * value-relation.cc (dom_oracle::register_relation): Check for NULL
22606 record before invoking transitive registery.
22607 (dom_oracle::set_one_relation): Check limit before creating record.
22608 (dom_oracle::register_transitives): Stop when no record created.
22609 * value-relation.h (relation_chain_head::m_num_relations): New.
22610
22611 2022-01-18 Richard Biener <rguenther@suse.de>
22612
22613 PR ipa/103989
22614 * ipa-inline.cc (inline_small_functions): Do not enqueue call
22615 edges originating in functions compiled with -Og.
22616
22617 2022-01-18 Richard Biener <rguenther@suse.de>
22618
22619 PR ipa/103989
22620 * passes.def (pass_all_optimizations_g): Remove pass_modref
22621 and pass_local_pure_const.
22622
22623 2022-01-18 Martin Liska <mliska@suse.cz>
22624
22625 * config/s390/s390.cc: Fix -Wformat-diag warnings.
22626
22627 2022-01-18 Martin Liska <mliska@suse.cz>
22628
22629 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
22630 keyword in quotes.
22631 (s390_resolve_overloaded_builtin): Remove trailing dot.
22632 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
22633 (s390_expand_builtin): Remove trailing dot.
22634 (s390_emit_prologue): Likewise, use semicolon.
22635 (s390_option_override_internal): Update keyword.
22636 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
22637
22638 2022-01-18 Martin Liska <mliska@suse.cz>
22639
22640 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
22641 keywords and use %qs instead of %<%s%>.
22642
22643 2022-01-18 Richard Biener <rguenther@suse.de>
22644
22645 PR tree-optimization/103987
22646 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
22647 query with a pointer check.
22648
22649 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
22650
22651 PR target/104005
22652 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
22653 When using MEM_EXPR, require the base to be a decl.
22654
22655 2022-01-18 Richard Biener <rguenther@suse.de>
22656
22657 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
22658 avoid padding.
22659 * function.h (struct function): Likewise.
22660
22661 2022-01-18 Arnaud Charlet <charlet@adacore.com>
22662
22663 * doc/install.texi: Update prerequisites for GNAT
22664
22665 2022-01-18 Andrew Pinski <apinski@marvell.com>
22666
22667 PR tree-optimization/101941
22668 * ipa-split.cc (visit_bb): Disallow function calls where
22669 the function has either error or warning attribute.
22670
22671 2022-01-18 Richard Biener <rguenther@suse.de>
22672
22673 PR tree-optimization/104064
22674 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
22675 DR_INIT fits in a signed HWI, represent the difference from the
22676 first DR in unsigned.
22677
22678 2022-01-17 Martin Liska <mliska@suse.cz>
22679
22680 * Makefile.in: Rename .c names to .cc.
22681 * config.gcc: Likewise.
22682 * configure: Regenerate. Likewise.
22683 * configure.ac: Likewise.
22684 * gengtype.cc (set_gc_used): Likewise.
22685 (source_dot_c_frul): Likewise.
22686 (source_dot_cc_frul): Likewise.
22687 (struct file_rule_st): Likewise.
22688 (close_output_files): Likewise.
22689 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
22690
22691 2022-01-17 Martin Liska <mliska@suse.cz>
22692
22693 * Makefile.in: Rename .c names to .cc.
22694 * alias.h: Likewise.
22695 * asan.cc: Likewise.
22696 * auto-profile.h: Likewise.
22697 * basic-block.h (struct basic_block_d): Likewise.
22698 * btfout.cc: Likewise.
22699 * builtins.cc (expand_builtin_longjmp): Likewise.
22700 (validate_arg): Likewise.
22701 (access_ref::offset_bounded): Likewise.
22702 * caller-save.cc (reg_restore_code): Likewise.
22703 (setup_save_areas): Likewise.
22704 * calls.cc (initialize_argument_information): Likewise.
22705 (expand_call): Likewise.
22706 (emit_library_call_value_1): Likewise.
22707 * cfg-flags.def (RTL): Likewise.
22708 (SIBCALL): Likewise.
22709 (CAN_FALLTHRU): Likewise.
22710 * cfganal.cc (post_order_compute): Likewise.
22711 * cfgcleanup.cc (try_simplify_condjump): Likewise.
22712 (merge_blocks_move_predecessor_nojumps): Likewise.
22713 (merge_blocks_move_successor_nojumps): Likewise.
22714 (merge_blocks_move): Likewise.
22715 (old_insns_match_p): Likewise.
22716 (try_crossjump_bb): Likewise.
22717 * cfgexpand.cc (expand_gimple_stmt): Likewise.
22718 * cfghooks.cc (split_block_before_cond_jump): Likewise.
22719 (profile_record_check_consistency): Likewise.
22720 * cfghooks.h: Likewise.
22721 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
22722 (rtl_can_merge_blocks): Likewise.
22723 (try_redirect_by_replacing_jump): Likewise.
22724 (make_pass_outof_cfg_layout_mode): Likewise.
22725 (cfg_layout_can_merge_blocks_p): Likewise.
22726 * cgraph.cc (release_function_body): Likewise.
22727 (cgraph_node::get_fun): Likewise.
22728 * cgraph.h (struct cgraph_node): Likewise.
22729 (asmname_hasher::equal): Likewise.
22730 (cgraph_inline_failed_type): Likewise.
22731 (thunk_adjust): Likewise.
22732 (dump_callgraph_transformation): Likewise.
22733 (record_references_in_initializer): Likewise.
22734 (ipa_discover_variable_flags): Likewise.
22735 * cgraphclones.cc (GTY): Likewise.
22736 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
22737 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
22738 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
22739 * collect2.cc (maybe_run_lto_and_relink): Likewise.
22740 * combine-stack-adj.cc: Likewise.
22741 * combine.cc (setup_incoming_promotions): Likewise.
22742 (combine_simplify_rtx): Likewise.
22743 (count_rtxs): Likewise.
22744 * common.opt: Likewise.
22745 * common/config/aarch64/aarch64-common.cc: Likewise.
22746 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
22747 * common/config/avr/avr-common.cc: Likewise.
22748 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
22749 * conditions.h: Likewise.
22750 * config.gcc: Likewise.
22751 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
22752 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
22753 (aarch64_get_extension_string_for_isa_flags): Likewise.
22754 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
22755 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
22756 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
22757 (aarch64_option_valid_attribute_p): Likewise.
22758 (aarch64_short_vector_p): Likewise.
22759 (aarch64_float_const_representable_p): Likewise.
22760 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
22761 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
22762 (GTY): Likewise.
22763 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
22764 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
22765 * config/aarch64/t-aarch64: Likewise.
22766 * config/aarch64/x-aarch64: Likewise.
22767 * config/aarch64/x-darwin: Likewise.
22768 * config/alpha/alpha-protos.h: Likewise.
22769 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
22770 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
22771 (enum reg_class): Likewise.
22772 * config/alpha/alpha.md: Likewise.
22773 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
22774 * config/alpha/x-alpha: Likewise.
22775 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
22776 * config/arc/arc.cc (ARC_OPT): Likewise.
22777 (arc_ccfsm_advance): Likewise.
22778 (arc_arg_partial_bytes): Likewise.
22779 (conditionalize_nonjump): Likewise.
22780 * config/arc/arc.md: Likewise.
22781 * config/arc/builtins.def: Likewise.
22782 * config/arc/t-arc: Likewise.
22783 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
22784 (arm_pragma_target_parse): Likewise.
22785 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
22786 (arm_cpu_cpp_builtins): Likewise.
22787 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
22788 (shift_op): Likewise.
22789 (thumb2_final_prescan_insn): Likewise.
22790 (arm_final_prescan_insn): Likewise.
22791 (arm_asm_output_labelref): Likewise.
22792 (arm_small_register_classes_for_mode_p): Likewise.
22793 * config/arm/arm.h: Likewise.
22794 * config/arm/arm.md: Likewise.
22795 * config/arm/driver-arm.cc: Likewise.
22796 * config/arm/symbian.h: Likewise.
22797 * config/arm/t-arm: Likewise.
22798 * config/arm/thumb1.md: Likewise.
22799 * config/arm/x-arm: Likewise.
22800 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
22801 * config/avr/avr-fixed.md: Likewise.
22802 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
22803 * config/avr/avr-mcus.def: Likewise.
22804 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
22805 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
22806 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
22807 * config/avr/avr.cc (avr_option_override): Likewise.
22808 (avr_build_builtin_va_list): Likewise.
22809 (avr_mode_dependent_address_p): Likewise.
22810 (avr_function_arg_advance): Likewise.
22811 (avr_asm_output_aligned_decl_common): Likewise.
22812 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
22813 (SUPPORTS_INIT_PRIORITY): Likewise.
22814 * config/avr/avr.md: Likewise.
22815 * config/avr/builtins.def: Likewise.
22816 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
22817 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
22818 (main): Likewise.
22819 * config/avr/t-avr: Likewise.
22820 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
22821 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
22822 * config/bpf/bpf.h (enum reg_class): Likewise.
22823 * config/bpf/t-bpf: Likewise.
22824 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
22825 * config/cr16/cr16-protos.h: Likewise.
22826 * config/cris/cris.cc (cris_address_cost): Likewise.
22827 (cris_side_effect_mode_ok): Likewise.
22828 (cris_init_machine_status): Likewise.
22829 (cris_emit_movem_store): Likewise.
22830 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
22831 (enum reg_class): Likewise.
22832 (struct cum_args): Likewise.
22833 * config/cris/cris.opt: Likewise.
22834 * config/cris/sync.md: Likewise.
22835 * config/csky/csky.cc (csky_expand_prologue): Likewise.
22836 * config/darwin-c.cc: Likewise.
22837 * config/darwin-f.cc: Likewise.
22838 * config/darwin-sections.def (zobj_const_section): Likewise.
22839 * config/darwin.cc (output_objc_section_asm_op): Likewise.
22840 (fprintf): Likewise.
22841 * config/darwin.h (GTY): Likewise.
22842 * config/elfos.h: Likewise.
22843 * config/epiphany/epiphany-sched.md: Likewise.
22844 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
22845 * config/epiphany/epiphany.h (GTY): Likewise.
22846 (NO_FUNCTION_CSE): Likewise.
22847 * config/epiphany/mode-switch-use.cc: Likewise.
22848 * config/epiphany/predicates.md: Likewise.
22849 * config/epiphany/t-epiphany: Likewise.
22850 * config/fr30/fr30-protos.h: Likewise.
22851 * config/frv/frv-protos.h: Likewise.
22852 * config/frv/frv.cc (TLS_BIAS): Likewise.
22853 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
22854 * config/ft32/ft32-protos.h: Likewise.
22855 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
22856 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
22857 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
22858 * config/gcn/t-gcn-hsa: Likewise.
22859 * config/gcn/t-omp-device: Likewise.
22860 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
22861 (same_cmp_following_p): Likewise.
22862 * config/h8300/h8300.cc (F): Likewise.
22863 * config/h8300/h8300.h (struct cum_arg): Likewise.
22864 (BRANCH_COST): Likewise.
22865 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
22866 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
22867 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
22868 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
22869 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
22870 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
22871 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
22872 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
22873 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
22874 (ix86_register_pragmas): Likewise.
22875 (ix86_d_has_stdcall_convention): Likewise.
22876 (i386_pe_seh_init_sections): Likewise.
22877 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
22878 (ix86_function_value_regno_p): Likewise.
22879 (ix86_compute_frame_layout): Likewise.
22880 (legitimize_pe_coff_symbol): Likewise.
22881 (output_pic_addr_const): Likewise.
22882 * config/i386/i386.h (defined): Likewise.
22883 (host_detect_local_cpu): Likewise.
22884 (CONSTANT_ADDRESS_P): Likewise.
22885 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
22886 (struct machine_frame_state): Likewise.
22887 * config/i386/i386.md: Likewise.
22888 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
22889 * config/i386/mmx.md: Likewise.
22890 * config/i386/sse.md: Likewise.
22891 * config/i386/t-cygming: Likewise.
22892 * config/i386/t-djgpp: Likewise.
22893 * config/i386/t-gnu-property: Likewise.
22894 * config/i386/t-i386: Likewise.
22895 * config/i386/t-intelmic: Likewise.
22896 * config/i386/t-omp-device: Likewise.
22897 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
22898 (i386_pe_adjust_class_at_definition): Likewise.
22899 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
22900 (i386_pe_mangle_decl_assembler_name): Likewise.
22901 (i386_pe_encode_section_info): Likewise.
22902 * config/i386/x-cygwin: Likewise.
22903 * config/i386/x-darwin: Likewise.
22904 * config/i386/x-i386: Likewise.
22905 * config/i386/x-mingw32: Likewise.
22906 * config/i386/x86-tune-sched-core.cc: Likewise.
22907 * config/i386/x86-tune.def: Likewise.
22908 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
22909 * config/ia64/freebsd.h: Likewise.
22910 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
22911 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
22912 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
22913 (ia64_secondary_reload_class): Likewise.
22914 (bundling): Likewise.
22915 * config/ia64/ia64.h: Likewise.
22916 * config/ia64/ia64.md: Likewise.
22917 * config/ia64/predicates.md: Likewise.
22918 * config/ia64/sysv4.h: Likewise.
22919 * config/ia64/t-ia64: Likewise.
22920 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
22921 * config/iq2000/iq2000.md: Likewise.
22922 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
22923 (if): Likewise.
22924 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
22925 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
22926 * config/m32c/t-m32c: Likewise.
22927 * config/m32r/m32r-protos.h: Likewise.
22928 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
22929 * config/m32r/m32r.h: Likewise.
22930 * config/m32r/m32r.md: Likewise.
22931 * config/m68k/m68k-isas.def: Likewise.
22932 * config/m68k/m68k-microarchs.def: Likewise.
22933 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
22934 (m68k_epilogue_uses): Likewise.
22935 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
22936 (m68k_sched_adjust_cost): Likewise.
22937 (m68k_sched_md_init): Likewise.
22938 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
22939 (enum m68k_function_kind): Likewise.
22940 * config/m68k/m68k.md: Likewise.
22941 * config/m68k/m68kemb.h: Likewise.
22942 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
22943 * config/mcore/mcore-protos.h: Likewise.
22944 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
22945 (mcore_expand_prolog): Likewise.
22946 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
22947 * config/mcore/mcore.md: Likewise.
22948 * config/microblaze/microblaze-protos.h: Likewise.
22949 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
22950 (microblaze_function_prologue): Likewise.
22951 (microblaze_function_epilogue): Likewise.
22952 (microblaze_select_section): Likewise.
22953 (microblaze_asm_output_mi_thunk): Likewise.
22954 (microblaze_eh_return): Likewise.
22955 * config/microblaze/microblaze.h: Likewise.
22956 * config/microblaze/microblaze.md: Likewise.
22957 * config/microblaze/t-microblaze: Likewise.
22958 * config/mips/driver-native.cc: Likewise.
22959 * config/mips/loongson2ef.md: Likewise.
22960 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
22961 * config/mips/mips.cc (mips_rtx_costs): Likewise.
22962 (mips_output_filename): Likewise.
22963 (mips_output_function_prologue): Likewise.
22964 (mips_output_function_epilogue): Likewise.
22965 (mips_output_mi_thunk): Likewise.
22966 * config/mips/mips.h: Likewise.
22967 * config/mips/mips.md: Likewise.
22968 * config/mips/t-mips: Likewise.
22969 * config/mips/x-native: Likewise.
22970 * config/mmix/mmix-protos.h: Likewise.
22971 * config/mmix/mmix.cc (mmix_option_override): Likewise.
22972 (mmix_dbx_register_number): Likewise.
22973 (mmix_expand_prologue): Likewise.
22974 * config/mmix/mmix.h: Likewise.
22975 * config/mmix/mmix.md: Likewise.
22976 * config/mmix/predicates.md: Likewise.
22977 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
22978 (mn10300_legitimate_pic_operand_p): Likewise.
22979 * config/mn10300/mn10300.h (enum reg_class): Likewise.
22980 (NO_FUNCTION_CSE): Likewise.
22981 * config/moxie/moxie-protos.h: Likewise.
22982 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
22983 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
22984 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
22985 (msp430_incoming_return_addr_rtx): Likewise.
22986 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
22987 * config/msp430/t-msp430: Likewise.
22988 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
22989 (nds32_rtx_costs_size_prefer): Likewise.
22990 (nds32_init_rtx_costs): Likewise.
22991 * config/nds32/nds32-doubleword.md: Likewise.
22992 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
22993 (nds32_builtin_decl): Likewise.
22994 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
22995 (enum nds32_isr_nested_type): Likewise.
22996 (enum reg_class): Likewise.
22997 * config/nds32/predicates.md: Likewise.
22998 * config/nds32/t-nds32: Likewise.
22999 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
23000 * config/nvptx/nvptx-protos.h: Likewise.
23001 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
23002 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
23003 * config/nvptx/t-nvptx: Likewise.
23004 * config/nvptx/t-omp-device: Likewise.
23005 * config/pa/elf.h: Likewise.
23006 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
23007 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
23008 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
23009 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
23010 (pa_legitimize_reload_address): Likewise.
23011 (pa_can_use_return_insn): Likewise.
23012 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
23013 (som_output_text_section_asm_op): Likewise.
23014 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
23015 * config/pa/pa.md: Likewise.
23016 * config/pa/som.h: Likewise.
23017 * config/pa/t-pa: Likewise.
23018 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
23019 * config/pdp11/pdp11.h: Likewise.
23020 * config/pdp11/pdp11.md: Likewise.
23021 * config/pdp11/t-pdp11: Likewise.
23022 * config/pru/pru.md: Likewise.
23023 * config/pru/t-pru: Likewise.
23024 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
23025 (riscv_gpr_save_operation_p): Likewise.
23026 (riscv_d_register_target_info): Likewise.
23027 (riscv_init_builtins): Likewise.
23028 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
23029 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
23030 * config/riscv/t-riscv: Likewise.
23031 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
23032 * config/rl78/t-rl78: Likewise.
23033 * config/rs6000/aix.h: Likewise.
23034 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
23035 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
23036 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
23037 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
23038 * config/rs6000/driver-rs6000.cc: Likewise.
23039 * config/rs6000/freebsd.h: Likewise.
23040 * config/rs6000/freebsd64.h: Likewise.
23041 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
23042 * config/rs6000/rbtree.cc: Likewise.
23043 * config/rs6000/rbtree.h: Likewise.
23044 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
23045 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
23046 (rs6000_expand_builtin): Likewise.
23047 (rs6000_init_builtins): Likewise.
23048 * config/rs6000/rs6000-cpus.def: Likewise.
23049 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
23050 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
23051 (quad_address_offset_p): Likewise.
23052 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
23053 (rs6000_emit_epilogue): Likewise.
23054 * config/rs6000/rs6000-overload.def: Likewise.
23055 * config/rs6000/rs6000-p8swap.cc: Likewise.
23056 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
23057 (rs6000_const_f32_to_i32): Likewise.
23058 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
23059 (rs6000_debug_legitimize_address): Likewise.
23060 (rs6000_mode_dependent_address): Likewise.
23061 (rs6000_adjust_priority): Likewise.
23062 (rs6000_c_mode_for_suffix): Likewise.
23063 * config/rs6000/rs6000.h (defined): Likewise.
23064 (LONG_DOUBLE_TYPE_SIZE): Likewise.
23065 * config/rs6000/rs6000.md: Likewise.
23066 * config/rs6000/sysv4.h: Likewise.
23067 * config/rs6000/t-linux: Likewise.
23068 * config/rs6000/t-linux64: Likewise.
23069 * config/rs6000/t-rs6000: Likewise.
23070 * config/rs6000/x-darwin: Likewise.
23071 * config/rs6000/x-darwin64: Likewise.
23072 * config/rs6000/x-rs6000: Likewise.
23073 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
23074 * config/rx/rx.cc (rx_expand_builtin): Likewise.
23075 * config/s390/constraints.md: Likewise.
23076 * config/s390/driver-native.cc: Likewise.
23077 * config/s390/htmxlintrin.h: Likewise.
23078 * config/s390/s390-builtins.def (B_DEF): Likewise.
23079 (OB_DEF_VAR): Likewise.
23080 * config/s390/s390-builtins.h: Likewise.
23081 * config/s390/s390-c.cc: Likewise.
23082 * config/s390/s390-opts.h: Likewise.
23083 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
23084 (s390_register_target_pragmas): Likewise.
23085 * config/s390/s390.cc (s390_init_builtins): Likewise.
23086 (s390_expand_plus_operand): Likewise.
23087 (s390_expand_atomic): Likewise.
23088 (s390_valid_target_attribute_inner_p): Likewise.
23089 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
23090 * config/s390/s390.md: Likewise.
23091 * config/s390/t-s390: Likewise.
23092 * config/s390/vx-builtins.md: Likewise.
23093 * config/s390/x-native: Likewise.
23094 * config/sh/divtab-sh4-300.cc (main): Likewise.
23095 * config/sh/divtab-sh4.cc (main): Likewise.
23096 * config/sh/divtab.cc (main): Likewise.
23097 * config/sh/elf.h: Likewise.
23098 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
23099 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
23100 (sh_struct_value_rtx): Likewise.
23101 (sh_remove_reg_dead_or_unused_notes): Likewise.
23102 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
23103 * config/sh/t-sh: Likewise.
23104 * config/sol2-protos.h (solaris_override_options): Likewise.
23105 * config/sol2.h: Likewise.
23106 * config/sparc/driver-sparc.cc: Likewise.
23107 * config/sparc/freebsd.h: Likewise.
23108 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
23109 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
23110 (sparc_asan_shadow_offset): Likewise.
23111 * config/sparc/sparc.h: Likewise.
23112 * config/sparc/sparc.md: Likewise.
23113 * config/sparc/t-sparc: Likewise.
23114 * config/sparc/x-sparc: Likewise.
23115 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
23116 * config/t-darwin: Likewise.
23117 * config/t-dragonfly: Likewise.
23118 * config/t-freebsd: Likewise.
23119 * config/t-glibc: Likewise.
23120 * config/t-linux: Likewise.
23121 * config/t-netbsd: Likewise.
23122 * config/t-openbsd: Likewise.
23123 * config/t-pnt16-warn: Likewise.
23124 * config/t-sol2: Likewise.
23125 * config/t-vxworks: Likewise.
23126 * config/t-winnt: Likewise.
23127 * config/tilegx/t-tilegx: Likewise.
23128 * config/tilegx/tilegx-c.cc: Likewise.
23129 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
23130 * config/tilegx/tilegx.md: Likewise.
23131 * config/tilepro/t-tilepro: Likewise.
23132 * config/tilepro/tilepro-c.cc: Likewise.
23133 * config/v850/t-v850: Likewise.
23134 * config/v850/v850-protos.h: Likewise.
23135 * config/v850/v850.cc (F): Likewise.
23136 * config/v850/v850.h (enum reg_class): Likewise.
23137 (SLOW_BYTE_ACCESS): Likewise.
23138 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
23139 * config/vax/vax.h (enum reg_class): Likewise.
23140 * config/vax/vax.md: Likewise.
23141 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
23142 * config/visium/visium.h: Likewise.
23143 * config/vms/t-vms: Likewise.
23144 * config/vms/vms-crtlmap.map: Likewise.
23145 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
23146 * config/vx-common.h: Likewise.
23147 * config/x-darwin: Likewise.
23148 * config/x-hpux: Likewise.
23149 * config/x-linux: Likewise.
23150 * config/x-netbsd: Likewise.
23151 * config/x-openbsd: Likewise.
23152 * config/x-solaris: Likewise.
23153 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
23154 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
23155 * config/xtensa/xtensa.h: Likewise.
23156 * configure.ac: Likewise.
23157 * context.cc: Likewise.
23158 * convert.h: Likewise.
23159 * coretypes.h: Likewise.
23160 * coverage.cc: Likewise.
23161 * coverage.h: Likewise.
23162 * cppdefault.h (struct default_include): Likewise.
23163 * cprop.cc (local_cprop_pass): Likewise.
23164 (one_cprop_pass): Likewise.
23165 * cse.cc (hash_rtx_cb): Likewise.
23166 (fold_rtx): Likewise.
23167 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
23168 * data-streamer.h (bp_unpack_var_len_int): Likewise.
23169 (streamer_write_widest_int): Likewise.
23170 * dbgcnt.def: Likewise.
23171 * dbxout.cc (dbxout_early_global_decl): Likewise.
23172 (dbxout_common_check): Likewise.
23173 * dbxout.h: Likewise.
23174 * debug.h (struct gcc_debug_hooks): Likewise.
23175 (dump_go_spec_init): Likewise.
23176 * df-core.cc: Likewise.
23177 * df-scan.cc (df_insn_info_delete): Likewise.
23178 (df_insn_delete): Likewise.
23179 * df.h (debug_df_chain): Likewise.
23180 (can_move_insns_across): Likewise.
23181 * dfp.cc (decimal_from_binary): Likewise.
23182 * diagnostic-color.cc: Likewise.
23183 * diagnostic-event-id.h: Likewise.
23184 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
23185 * diagnostic.cc (bt_callback): Likewise.
23186 (num_digits): Likewise.
23187 * doc/avr-mmcu.texi: Likewise.
23188 * doc/cfg.texi: Likewise.
23189 * doc/contrib.texi: Likewise.
23190 * doc/cppinternals.texi: Likewise.
23191 * doc/extend.texi: Likewise.
23192 * doc/generic.texi: Likewise.
23193 * doc/gimple.texi: Likewise.
23194 * doc/gty.texi: Likewise.
23195 * doc/invoke.texi: Likewise.
23196 * doc/loop.texi: Likewise.
23197 * doc/lto.texi: Likewise.
23198 * doc/match-and-simplify.texi: Likewise.
23199 * doc/md.texi: Likewise.
23200 * doc/optinfo.texi: Likewise.
23201 * doc/options.texi: Likewise.
23202 * doc/passes.texi: Likewise.
23203 * doc/plugins.texi: Likewise.
23204 * doc/rtl.texi: Likewise.
23205 * doc/sourcebuild.texi: Likewise.
23206 * doc/tm.texi: Likewise.
23207 * doc/tm.texi.in: Likewise.
23208 * doc/tree-ssa.texi: Likewise.
23209 * dojump.cc (do_jump): Likewise.
23210 * dojump.h: Likewise.
23211 * dumpfile.cc (test_impl_location): Likewise.
23212 (test_capture_of_dump_calls): Likewise.
23213 * dumpfile.h (enum dump_kind): Likewise.
23214 (class dump_location_t): Likewise.
23215 (dump_enabled_p): Likewise.
23216 (enable_rtl_dump_file): Likewise.
23217 (dump_combine_total_stats): Likewise.
23218 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
23219 * dwarf2ctf.h (ctf_debug_finish): Likewise.
23220 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
23221 (struct loc_descr_context): Likewise.
23222 (rtl_for_decl_location): Likewise.
23223 (gen_subprogram_die): Likewise.
23224 (gen_label_die): Likewise.
23225 (is_trivial_indirect_ref): Likewise.
23226 (dwarf2out_late_global_decl): Likewise.
23227 (dwarf_file_hasher::hash): Likewise.
23228 (dwarf2out_end_source_file): Likewise.
23229 (dwarf2out_define): Likewise.
23230 (dwarf2out_early_finish): Likewise.
23231 * dwarf2out.h (struct dw_fde_node): Likewise.
23232 (struct dw_discr_list_node): Likewise.
23233 (output_loc_sequence_raw): Likewise.
23234 * emit-rtl.cc (gen_raw_REG): Likewise.
23235 (maybe_set_max_label_num): Likewise.
23236 * emit-rtl.h (struct rtl_data): Likewise.
23237 * errors.cc (internal_error): Likewise.
23238 (trim_filename): Likewise.
23239 * et-forest.cc: Likewise.
23240 * except.cc (init_eh_for_function): Likewise.
23241 * explow.cc (promote_ssa_mode): Likewise.
23242 (get_dynamic_stack_size): Likewise.
23243 * explow.h: Likewise.
23244 * expmed.h: Likewise.
23245 * expr.cc (safe_from_p): Likewise.
23246 (expand_expr_real_2): Likewise.
23247 (expand_expr_real_1): Likewise.
23248 * file-prefix-map.cc (remap_filename): Likewise.
23249 * final.cc (app_enable): Likewise.
23250 (make_pass_compute_alignments): Likewise.
23251 (final_scan_insn_1): Likewise.
23252 (final_scan_insn): Likewise.
23253 * fixed-value.h (fixed_from_string): Likewise.
23254 * flag-types.h (NO_DEBUG): Likewise.
23255 (DWARF2_DEBUG): Likewise.
23256 (VMS_DEBUG): Likewise.
23257 (BTF_DEBUG): Likewise.
23258 (enum ctf_debug_info_levels): Likewise.
23259 * fold-const.cc (const_binop): Likewise.
23260 (fold_binary_loc): Likewise.
23261 (fold_checksum_tree): Likewise.
23262 * fp-test.cc: Likewise.
23263 * function.cc (expand_function_end): Likewise.
23264 * function.h (struct function): Likewise.
23265 * fwprop.cc (should_replace_address): Likewise.
23266 * gcc-main.cc: Likewise.
23267 * gcc-rich-location.h (class gcc_rich_location): Likewise.
23268 * gcc-symtab.h: Likewise.
23269 * gcc.cc (MIN_FATAL_STATUS): Likewise.
23270 (driver_handle_option): Likewise.
23271 (quote_spec_arg): Likewise.
23272 (driver::finalize): Likewise.
23273 * gcc.h (set_input): Likewise.
23274 * gcov-dump.cc: Likewise.
23275 * gcov.cc (solve_flow_graph): Likewise.
23276 * gcse-common.cc: Likewise.
23277 * gcse.cc (make_pass_rtl_hoist): Likewise.
23278 * genattr-common.cc: Likewise.
23279 * genattrtab.cc (min_fn): Likewise.
23280 (write_const_num_delay_slots): Likewise.
23281 * genautomata.cc: Likewise.
23282 * genconditions.cc (write_one_condition): Likewise.
23283 * genconstants.cc: Likewise.
23284 * genemit.cc (gen_exp): Likewise.
23285 * generic-match-head.cc: Likewise.
23286 * genextract.cc: Likewise.
23287 * gengenrtl.cc (always_void_p): Likewise.
23288 * gengtype-parse.cc (gtymarker_opt): Likewise.
23289 * gengtype-state.cc (state_writer::state_writer): Likewise.
23290 (write_state_trailer): Likewise.
23291 (equals_type_number): Likewise.
23292 (read_state): Likewise.
23293 * gengtype.cc (open_base_files): Likewise.
23294 (struct file_rule_st): Likewise.
23295 (header_dot_h_frul): Likewise.
23296 * gengtype.h: Likewise.
23297 * genmatch.cc (main): Likewise.
23298 * genmddeps.cc: Likewise.
23299 * genmodes.cc (emit_mode_inner): Likewise.
23300 (emit_mode_unit_size): Likewise.
23301 * genpeep.cc (gen_peephole): Likewise.
23302 * genpreds.cc (write_tm_preds_h): Likewise.
23303 * genrecog.cc (validate_pattern): Likewise.
23304 (write_header): Likewise.
23305 (main): Likewise.
23306 * gensupport.cc (change_subst_attribute): Likewise.
23307 (traverse_c_tests): Likewise.
23308 (add_predicate): Likewise.
23309 (init_predicate_table): Likewise.
23310 * gensupport.h (struct optab_pattern): Likewise.
23311 (get_num_insn_codes): Likewise.
23312 (maybe_eval_c_test): Likewise.
23313 (struct pred_data): Likewise.
23314 * ggc-internal.h: Likewise.
23315 * gimple-fold.cc (maybe_fold_reference): Likewise.
23316 (get_range_strlen_tree): Likewise.
23317 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
23318 * gimple-low.cc: Likewise.
23319 * gimple-match-head.cc (directly_supported_p): Likewise.
23320 * gimple-pretty-print.h: Likewise.
23321 * gimple-ssa-sprintf.cc (format_percent): Likewise.
23322 (adjust_range_for_overflow): Likewise.
23323 * gimple-streamer.h: Likewise.
23324 * gimple.h (struct GTY): Likewise.
23325 (is_gimple_resx): Likewise.
23326 * gimplify.cc (gimplify_expr): Likewise.
23327 (gimplify_init_constructor): Likewise.
23328 (omp_construct_selector_matches): Likewise.
23329 (gimplify_omp_target_update): Likewise.
23330 (gimplify_omp_ordered): Likewise.
23331 (gimplify_va_arg_expr): Likewise.
23332 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
23333 * haifa-sched.cc (increase_insn_priority): Likewise.
23334 (try_ready): Likewise.
23335 (sched_create_recovery_edges): Likewise.
23336 * ifcvt.cc (find_if_case_1): Likewise.
23337 (find_if_case_2): Likewise.
23338 * inchash.h: Likewise.
23339 * incpath.cc (add_env_var_paths): Likewise.
23340 * input.cc (dump_location_info): Likewise.
23341 (assert_loceq): Likewise.
23342 (test_lexer_string_locations_concatenation_1): Likewise.
23343 (test_lexer_string_locations_concatenation_2): Likewise.
23344 (test_lexer_string_locations_concatenation_3): Likewise.
23345 * input.h (BUILTINS_LOCATION): Likewise.
23346 (class string_concat_db): Likewise.
23347 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
23348 (expand_LOOP_VECTORIZED): Likewise.
23349 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
23350 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
23351 (ipa_fn_summary_t::duplicate): Likewise.
23352 (make_pass_ipa_fn_summary): Likewise.
23353 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
23354 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
23355 (free_lang_data_in_decl): Likewise.
23356 * ipa-inline.cc (compute_inlined_call_time): Likewise.
23357 (inline_always_inline_functions): Likewise.
23358 * ipa-inline.h (free_growth_caches): Likewise.
23359 (inline_account_function_p): Likewise.
23360 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
23361 (modref_eaf_analysis::analyze_ssa_name): Likewise.
23362 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
23363 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
23364 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
23365 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
23366 (unadjusted_ptr_and_unit_offset): Likewise.
23367 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
23368 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
23369 * ipa-split.cc (consider_split): Likewise.
23370 * ipa-sra.cc (isra_read_node_info): Likewise.
23371 * ipa-utils.h (struct ipa_dfs_info): Likewise.
23372 (recursive_call_p): Likewise.
23373 (ipa_make_function_pure): Likewise.
23374 * ira-build.cc (ira_create_allocno): Likewise.
23375 (ira_flattening): Likewise.
23376 * ira-color.cc (do_coloring): Likewise.
23377 (update_curr_costs): Likewise.
23378 * ira-conflicts.cc (process_regs_for_copy): Likewise.
23379 * ira-int.h (struct ira_emit_data): Likewise.
23380 (ira_prohibited_mode_move_regs): Likewise.
23381 (ira_get_dup_out_num): Likewise.
23382 (ira_destroy): Likewise.
23383 (ira_tune_allocno_costs): Likewise.
23384 (ira_implicitly_set_insn_hard_regs): Likewise.
23385 (ira_build_conflicts): Likewise.
23386 (ira_color): Likewise.
23387 * ira-lives.cc (process_bb_node_lives): Likewise.
23388 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
23389 (setup_uniform_class_p): Likewise.
23390 (def_dominates_uses): Likewise.
23391 * ira.h (ira_nullify_asm_goto): Likewise.
23392 * langhooks.cc (lhd_post_options): Likewise.
23393 * langhooks.h (class substring_loc): Likewise.
23394 (struct lang_hooks_for_tree_inlining): Likewise.
23395 (struct lang_hooks_for_types): Likewise.
23396 (struct lang_hooks): Likewise.
23397 * libfuncs.h (synchronize_libfunc): Likewise.
23398 * loop-doloop.cc (doloop_condition_get): Likewise.
23399 * loop-init.cc (fix_loop_structure): Likewise.
23400 * loop-invariant.cc: Likewise.
23401 * lower-subreg.h: Likewise.
23402 * lra-constraints.cc (curr_insn_transform): Likewise.
23403 * lra-int.h (struct lra_insn_reg): Likewise.
23404 (lra_undo_inheritance): Likewise.
23405 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
23406 (lra_split_hard_reg_for): Likewise.
23407 (lra_coalesce): Likewise.
23408 (lra_final_code_change): Likewise.
23409 * lra-spills.cc (lra_final_code_change): Likewise.
23410 * lra.cc (lra_process_new_insns): Likewise.
23411 * lto-compress.h (struct lto_compression_stream): Likewise.
23412 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
23413 (write_symbol): Likewise.
23414 * lto-streamer.h (enum LTO_tags): Likewise.
23415 (lto_value_range_error): Likewise.
23416 (lto_append_block): Likewise.
23417 (lto_streamer_hooks_init): Likewise.
23418 (stream_read_tree_ref): Likewise.
23419 (lto_prepare_function_for_streaming): Likewise.
23420 (select_what_to_stream): Likewise.
23421 (omp_lto_input_declare_variant_alt): Likewise.
23422 (cl_optimization_stream_in): Likewise.
23423 * lto-wrapper.cc (append_compiler_options): Likewise.
23424 * machmode.def: Likewise.
23425 * machmode.h (struct int_n_data_t): Likewise.
23426 * main.cc (main): Likewise.
23427 * match.pd: Likewise.
23428 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
23429 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
23430 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
23431 (make_pass_expand_omp_ssa): Likewise.
23432 * omp-low.cc (struct omp_context): Likewise.
23433 (struct omp_taskcopy_context): Likewise.
23434 (lower_omp): Likewise.
23435 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
23436 (mask_name): Likewise.
23437 (omp_sese_dump_pars): Likewise.
23438 (worker_single_simple): Likewise.
23439 * omp-offload.cc (omp_finish_file): Likewise.
23440 (execute_oacc_loop_designation): Likewise.
23441 * optabs-query.cc (lshift_cheap_p): Likewise.
23442 * optc-gen.awk: Likewise.
23443 * optc-save-gen.awk: Likewise.
23444 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
23445 * opts-common.cc: Likewise.
23446 * output.h (app_enable): Likewise.
23447 (output_operand_lossage): Likewise.
23448 (insn_current_reference_address): Likewise.
23449 (get_insn_template): Likewise.
23450 (output_quoted_string): Likewise.
23451 * pass_manager.h (struct register_pass_info): Likewise.
23452 * plugin.cc: Likewise.
23453 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
23454 * plugin.h (invoke_plugin_callbacks): Likewise.
23455 * pointer-query.cc (handle_mem_ref): Likewise.
23456 * postreload-gcse.cc (alloc_mem): Likewise.
23457 * predict.h (enum prediction): Likewise.
23458 (add_reg_br_prob_note): Likewise.
23459 * prefix.h: Likewise.
23460 * profile.h (get_working_sets): Likewise.
23461 * read-md.cc: Likewise.
23462 * read-md.h (struct mapping): Likewise.
23463 (class md_reader): Likewise.
23464 (class noop_reader): Likewise.
23465 * read-rtl-function.cc (function_reader::create_function): Likewise.
23466 (function_reader::extra_parsing_for_operand_code_0): Likewise.
23467 * read-rtl.cc (initialize_iterators): Likewise.
23468 * real.cc: Likewise.
23469 * real.h (struct real_value): Likewise.
23470 (format_helper::format_helper): Likewise.
23471 (real_hash): Likewise.
23472 (real_can_shorten_arithmetic): Likewise.
23473 * recog.cc (struct target_recog): Likewise.
23474 (offsettable_nonstrict_memref_p): Likewise.
23475 (constrain_operands): Likewise.
23476 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
23477 (which_op_alt): Likewise.
23478 (struct insn_gen_fn): Likewise.
23479 * reg-notes.def (REG_NOTE): Likewise.
23480 * reg-stack.cc: Likewise.
23481 * regs.h (reg_is_parm_p): Likewise.
23482 * regset.h: Likewise.
23483 * reload.cc (push_reload): Likewise.
23484 (find_reloads): Likewise.
23485 (find_reloads_address_1): Likewise.
23486 (find_replacement): Likewise.
23487 (refers_to_regno_for_reload_p): Likewise.
23488 (refers_to_mem_for_reload_p): Likewise.
23489 * reload.h (push_reload): Likewise.
23490 (deallocate_reload_reg): Likewise.
23491 * reload1.cc (emit_input_reload_insns): Likewise.
23492 * reorg.cc (relax_delay_slots): Likewise.
23493 * rtl.def (UNKNOWN): Likewise.
23494 (SEQUENCE): Likewise.
23495 (BARRIER): Likewise.
23496 (ASM_OPERANDS): Likewise.
23497 (EQ_ATTR_ALT): Likewise.
23498 * rtl.h (struct GTY): Likewise.
23499 (LABEL_NAME): Likewise.
23500 (LABEL_ALT_ENTRY_P): Likewise.
23501 (SUBREG_BYTE): Likewise.
23502 (get_stack_check_protect): Likewise.
23503 (dump_rtx_statistics): Likewise.
23504 (unwrap_const_vec_duplicate): Likewise.
23505 (subreg_promoted_mode): Likewise.
23506 (gen_lowpart_common): Likewise.
23507 (operand_subword): Likewise.
23508 (immed_wide_int_const): Likewise.
23509 (decide_function_section): Likewise.
23510 (active_insn_p): Likewise.
23511 (delete_related_insns): Likewise.
23512 (try_split): Likewise.
23513 (val_signbit_known_clear_p): Likewise.
23514 (simplifiable_subregs): Likewise.
23515 (set_insn_deleted): Likewise.
23516 (subreg_get_info): Likewise.
23517 (remove_free_EXPR_LIST_node): Likewise.
23518 (finish_subregs_of_mode): Likewise.
23519 (get_mem_attrs): Likewise.
23520 (lookup_constant_def): Likewise.
23521 (rtx_to_tree_code): Likewise.
23522 (hash_rtx): Likewise.
23523 (condjump_in_parallel_p): Likewise.
23524 (validate_subreg): Likewise.
23525 (make_compound_operation): Likewise.
23526 (schedule_ebbs): Likewise.
23527 (print_inline_rtx): Likewise.
23528 (fixup_args_size_notes): Likewise.
23529 (expand_dec): Likewise.
23530 (prepare_copy_insn): Likewise.
23531 (mark_elimination): Likewise.
23532 (valid_mode_changes_for_regno): Likewise.
23533 (make_debug_expr_from_rtl): Likewise.
23534 (delete_vta_debug_insns): Likewise.
23535 (simplify_using_condition): Likewise.
23536 (set_insn_locations): Likewise.
23537 (fatal_insn_not_found): Likewise.
23538 (word_register_operation_p): Likewise.
23539 * rtlanal.cc (get_call_fndecl): Likewise.
23540 (side_effects_p): Likewise.
23541 (subreg_nregs): Likewise.
23542 (rtx_cost): Likewise.
23543 (canonicalize_condition): Likewise.
23544 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
23545 * run-rtl-passes.cc (run_rtl_passes): Likewise.
23546 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
23547 * sched-deps.cc (add_dependence_1): Likewise.
23548 * sched-ebb.cc (begin_move_insn): Likewise.
23549 (add_deps_for_risky_insns): Likewise.
23550 (advance_target_bb): Likewise.
23551 * sched-int.h (reemit_notes): Likewise.
23552 (struct _haifa_insn_data): Likewise.
23553 (HID): Likewise.
23554 (DEP_CANCELLED): Likewise.
23555 (debug_ds): Likewise.
23556 (number_in_ready): Likewise.
23557 (schedule_ebbs_finish): Likewise.
23558 (find_modifiable_mems): Likewise.
23559 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
23560 * sel-sched-dump.cc (dump_lv_set): Likewise.
23561 * sel-sched-dump.h: Likewise.
23562 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
23563 (setup_id_reg_sets): Likewise.
23564 (has_dependence_p): Likewise.
23565 (sel_num_cfg_preds_gt_1): Likewise.
23566 (bb_ends_ebb_p): Likewise.
23567 * sel-sched-ir.h (struct _list_node): Likewise.
23568 (struct idata_def): Likewise.
23569 (bb_next_bb): Likewise.
23570 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
23571 (choose_best_pseudo_reg): Likewise.
23572 (verify_target_availability): Likewise.
23573 (can_speculate_dep_p): Likewise.
23574 (sel_rank_for_schedule): Likewise.
23575 * selftest-run-tests.cc (selftest::run_tests): Likewise.
23576 * selftest.h (class auto_fix_quotes): Likewise.
23577 * shrink-wrap.cc (handle_simple_exit): Likewise.
23578 * shrink-wrap.h: Likewise.
23579 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
23580 (simplify_context::simplify_gen_vec_select): Likewise.
23581 * spellcheck-tree.h: Likewise.
23582 * spellcheck.h: Likewise.
23583 * statistics.h (struct function): Likewise.
23584 * stmt.cc (conditional_probability): Likewise.
23585 * stmt.h: Likewise.
23586 * stor-layout.h: Likewise.
23587 * streamer-hooks.h: Likewise.
23588 * stringpool.h: Likewise.
23589 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
23590 * target.def (HOOK_VECTOR_END): Likewise.
23591 (type.): Likewise.
23592 * target.h (union cumulative_args_t): Likewise.
23593 (by_pieces_ninsns): Likewise.
23594 (class predefined_function_abi): Likewise.
23595 * targhooks.cc (default_translate_mode_attribute): Likewise.
23596 * timevar.def: Likewise.
23597 * timevar.h (class timer): Likewise.
23598 * toplev.h (enable_rtl_dump_file): Likewise.
23599 * trans-mem.cc (collect_bb2reg): Likewise.
23600 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
23601 * tree-cfg.cc (remove_bb): Likewise.
23602 (verify_gimple_debug): Likewise.
23603 (remove_edge_and_dominated_blocks): Likewise.
23604 (push_fndecl): Likewise.
23605 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
23606 * tree-complex.cc (expand_complex_multiplication): Likewise.
23607 (expand_complex_div_straight): Likewise.
23608 * tree-core.h (enum tree_index): Likewise.
23609 (enum operand_equal_flag): Likewise.
23610 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
23611 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
23612 * tree-inline.cc (initialize_inlined_parameters): Likewise.
23613 * tree-inline.h (force_value_to_type): Likewise.
23614 * tree-nested.cc (get_chain_decl): Likewise.
23615 (walk_all_functions): Likewise.
23616 * tree-object-size.h: Likewise.
23617 * tree-outof-ssa.cc: Likewise.
23618 * tree-parloops.cc (create_parallel_loop): Likewise.
23619 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
23620 (dump_generic_node): Likewise.
23621 * tree-profile.cc (tree_profiling): Likewise.
23622 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
23623 * tree-ssa-address.cc: Likewise.
23624 * tree-ssa-alias.cc: Likewise.
23625 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
23626 (dump_alias_stats): Likewise.
23627 * tree-ssa-ccp.cc: Likewise.
23628 * tree-ssa-coalesce.h: Likewise.
23629 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
23630 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
23631 * tree-ssa-loop-unswitch.cc: Likewise.
23632 * tree-ssa-math-opts.cc: Likewise.
23633 * tree-ssa-operands.cc (class operands_scanner): Likewise.
23634 * tree-ssa-pre.cc: Likewise.
23635 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
23636 (debug_range_entry): Likewise.
23637 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
23638 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
23639 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
23640 (equal_mem_array_ref_p): Likewise.
23641 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
23642 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
23643 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
23644 * tree-ssa-ter.h: Likewise.
23645 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
23646 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
23647 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
23648 (write_ts_block_tree_pointers): Likewise.
23649 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
23650 (streamer_read_tree_bitfields): Likewise.
23651 (streamer_write_integer_cst): Likewise.
23652 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
23653 (vect_synth_mult_by_constant): Likewise.
23654 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
23655 * tree-vectorizer.cc: Likewise.
23656 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
23657 (vect_update_inits_of_drs): Likewise.
23658 (vect_get_mask_type_for_stmt): Likewise.
23659 (vect_rgroup_iv_might_wrap_p): Likewise.
23660 (cse_and_gimplify_to_preheader): Likewise.
23661 (vect_free_slp_tree): Likewise.
23662 (vect_pattern_recog): Likewise.
23663 (vect_stmt_dominates_stmt_p): Likewise.
23664 * tree.cc (initialize_tree_contains_struct): Likewise.
23665 (need_assembler_name_p): Likewise.
23666 (type_with_interoperable_signedness): Likewise.
23667 * tree.def (SWITCH_EXPR): Likewise.
23668 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
23669 (poly_int_tree_p): Likewise.
23670 (inlined_function_outer_scope_p): Likewise.
23671 (tree_code_for_canonical_type_merging): Likewise.
23672 * value-prof.cc: Likewise.
23673 * value-prof.h (get_nth_most_common_value): Likewise.
23674 (find_func_by_profile_id): Likewise.
23675 * value-range.cc (vrp_operand_equal_p): Likewise.
23676 * value-range.h: Likewise.
23677 * var-tracking.cc: Likewise.
23678 * varasm.cc (default_function_section): Likewise.
23679 (function_section_1): Likewise.
23680 (assemble_variable): Likewise.
23681 (handle_vtv_comdat_section): Likewise.
23682 * vec.h (struct vec_prefix): Likewise.
23683 * vmsdbgout.cc (full_name): Likewise.
23684 * vtable-verify.cc: Likewise.
23685 * vtable-verify.h (struct vtv_graph_node): Likewise.
23686 * xcoffout.cc: Likewise.
23687 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
23688
23689 2022-01-17 Martin Liska <mliska@suse.cz>
23690
23691 * adjust-alignment.c: Moved to...
23692 * adjust-alignment.cc: ...here.
23693 * alias.c: Moved to...
23694 * alias.cc: ...here.
23695 * alloc-pool.c: Moved to...
23696 * alloc-pool.cc: ...here.
23697 * asan.c: Moved to...
23698 * asan.cc: ...here.
23699 * attribs.c: Moved to...
23700 * attribs.cc: ...here.
23701 * auto-inc-dec.c: Moved to...
23702 * auto-inc-dec.cc: ...here.
23703 * auto-profile.c: Moved to...
23704 * auto-profile.cc: ...here.
23705 * bb-reorder.c: Moved to...
23706 * bb-reorder.cc: ...here.
23707 * bitmap.c: Moved to...
23708 * bitmap.cc: ...here.
23709 * btfout.c: Moved to...
23710 * btfout.cc: ...here.
23711 * builtins.c: Moved to...
23712 * builtins.cc: ...here.
23713 * caller-save.c: Moved to...
23714 * caller-save.cc: ...here.
23715 * calls.c: Moved to...
23716 * calls.cc: ...here.
23717 * ccmp.c: Moved to...
23718 * ccmp.cc: ...here.
23719 * cfg.c: Moved to...
23720 * cfg.cc: ...here.
23721 * cfganal.c: Moved to...
23722 * cfganal.cc: ...here.
23723 * cfgbuild.c: Moved to...
23724 * cfgbuild.cc: ...here.
23725 * cfgcleanup.c: Moved to...
23726 * cfgcleanup.cc: ...here.
23727 * cfgexpand.c: Moved to...
23728 * cfgexpand.cc: ...here.
23729 * cfghooks.c: Moved to...
23730 * cfghooks.cc: ...here.
23731 * cfgloop.c: Moved to...
23732 * cfgloop.cc: ...here.
23733 * cfgloopanal.c: Moved to...
23734 * cfgloopanal.cc: ...here.
23735 * cfgloopmanip.c: Moved to...
23736 * cfgloopmanip.cc: ...here.
23737 * cfgrtl.c: Moved to...
23738 * cfgrtl.cc: ...here.
23739 * cgraph.c: Moved to...
23740 * cgraph.cc: ...here.
23741 * cgraphbuild.c: Moved to...
23742 * cgraphbuild.cc: ...here.
23743 * cgraphclones.c: Moved to...
23744 * cgraphclones.cc: ...here.
23745 * cgraphunit.c: Moved to...
23746 * cgraphunit.cc: ...here.
23747 * collect-utils.c: Moved to...
23748 * collect-utils.cc: ...here.
23749 * collect2-aix.c: Moved to...
23750 * collect2-aix.cc: ...here.
23751 * collect2.c: Moved to...
23752 * collect2.cc: ...here.
23753 * combine-stack-adj.c: Moved to...
23754 * combine-stack-adj.cc: ...here.
23755 * combine.c: Moved to...
23756 * combine.cc: ...here.
23757 * common/common-targhooks.c: Moved to...
23758 * common/common-targhooks.cc: ...here.
23759 * common/config/aarch64/aarch64-common.c: Moved to...
23760 * common/config/aarch64/aarch64-common.cc: ...here.
23761 * common/config/alpha/alpha-common.c: Moved to...
23762 * common/config/alpha/alpha-common.cc: ...here.
23763 * common/config/arc/arc-common.c: Moved to...
23764 * common/config/arc/arc-common.cc: ...here.
23765 * common/config/arm/arm-common.c: Moved to...
23766 * common/config/arm/arm-common.cc: ...here.
23767 * common/config/avr/avr-common.c: Moved to...
23768 * common/config/avr/avr-common.cc: ...here.
23769 * common/config/bfin/bfin-common.c: Moved to...
23770 * common/config/bfin/bfin-common.cc: ...here.
23771 * common/config/bpf/bpf-common.c: Moved to...
23772 * common/config/bpf/bpf-common.cc: ...here.
23773 * common/config/c6x/c6x-common.c: Moved to...
23774 * common/config/c6x/c6x-common.cc: ...here.
23775 * common/config/cr16/cr16-common.c: Moved to...
23776 * common/config/cr16/cr16-common.cc: ...here.
23777 * common/config/cris/cris-common.c: Moved to...
23778 * common/config/cris/cris-common.cc: ...here.
23779 * common/config/csky/csky-common.c: Moved to...
23780 * common/config/csky/csky-common.cc: ...here.
23781 * common/config/default-common.c: Moved to...
23782 * common/config/default-common.cc: ...here.
23783 * common/config/epiphany/epiphany-common.c: Moved to...
23784 * common/config/epiphany/epiphany-common.cc: ...here.
23785 * common/config/fr30/fr30-common.c: Moved to...
23786 * common/config/fr30/fr30-common.cc: ...here.
23787 * common/config/frv/frv-common.c: Moved to...
23788 * common/config/frv/frv-common.cc: ...here.
23789 * common/config/gcn/gcn-common.c: Moved to...
23790 * common/config/gcn/gcn-common.cc: ...here.
23791 * common/config/h8300/h8300-common.c: Moved to...
23792 * common/config/h8300/h8300-common.cc: ...here.
23793 * common/config/i386/i386-common.c: Moved to...
23794 * common/config/i386/i386-common.cc: ...here.
23795 * common/config/ia64/ia64-common.c: Moved to...
23796 * common/config/ia64/ia64-common.cc: ...here.
23797 * common/config/iq2000/iq2000-common.c: Moved to...
23798 * common/config/iq2000/iq2000-common.cc: ...here.
23799 * common/config/lm32/lm32-common.c: Moved to...
23800 * common/config/lm32/lm32-common.cc: ...here.
23801 * common/config/m32r/m32r-common.c: Moved to...
23802 * common/config/m32r/m32r-common.cc: ...here.
23803 * common/config/m68k/m68k-common.c: Moved to...
23804 * common/config/m68k/m68k-common.cc: ...here.
23805 * common/config/mcore/mcore-common.c: Moved to...
23806 * common/config/mcore/mcore-common.cc: ...here.
23807 * common/config/microblaze/microblaze-common.c: Moved to...
23808 * common/config/microblaze/microblaze-common.cc: ...here.
23809 * common/config/mips/mips-common.c: Moved to...
23810 * common/config/mips/mips-common.cc: ...here.
23811 * common/config/mmix/mmix-common.c: Moved to...
23812 * common/config/mmix/mmix-common.cc: ...here.
23813 * common/config/mn10300/mn10300-common.c: Moved to...
23814 * common/config/mn10300/mn10300-common.cc: ...here.
23815 * common/config/msp430/msp430-common.c: Moved to...
23816 * common/config/msp430/msp430-common.cc: ...here.
23817 * common/config/nds32/nds32-common.c: Moved to...
23818 * common/config/nds32/nds32-common.cc: ...here.
23819 * common/config/nios2/nios2-common.c: Moved to...
23820 * common/config/nios2/nios2-common.cc: ...here.
23821 * common/config/nvptx/nvptx-common.c: Moved to...
23822 * common/config/nvptx/nvptx-common.cc: ...here.
23823 * common/config/or1k/or1k-common.c: Moved to...
23824 * common/config/or1k/or1k-common.cc: ...here.
23825 * common/config/pa/pa-common.c: Moved to...
23826 * common/config/pa/pa-common.cc: ...here.
23827 * common/config/pdp11/pdp11-common.c: Moved to...
23828 * common/config/pdp11/pdp11-common.cc: ...here.
23829 * common/config/pru/pru-common.c: Moved to...
23830 * common/config/pru/pru-common.cc: ...here.
23831 * common/config/riscv/riscv-common.c: Moved to...
23832 * common/config/riscv/riscv-common.cc: ...here.
23833 * common/config/rs6000/rs6000-common.c: Moved to...
23834 * common/config/rs6000/rs6000-common.cc: ...here.
23835 * common/config/rx/rx-common.c: Moved to...
23836 * common/config/rx/rx-common.cc: ...here.
23837 * common/config/s390/s390-common.c: Moved to...
23838 * common/config/s390/s390-common.cc: ...here.
23839 * common/config/sh/sh-common.c: Moved to...
23840 * common/config/sh/sh-common.cc: ...here.
23841 * common/config/sparc/sparc-common.c: Moved to...
23842 * common/config/sparc/sparc-common.cc: ...here.
23843 * common/config/tilegx/tilegx-common.c: Moved to...
23844 * common/config/tilegx/tilegx-common.cc: ...here.
23845 * common/config/tilepro/tilepro-common.c: Moved to...
23846 * common/config/tilepro/tilepro-common.cc: ...here.
23847 * common/config/v850/v850-common.c: Moved to...
23848 * common/config/v850/v850-common.cc: ...here.
23849 * common/config/vax/vax-common.c: Moved to...
23850 * common/config/vax/vax-common.cc: ...here.
23851 * common/config/visium/visium-common.c: Moved to...
23852 * common/config/visium/visium-common.cc: ...here.
23853 * common/config/xstormy16/xstormy16-common.c: Moved to...
23854 * common/config/xstormy16/xstormy16-common.cc: ...here.
23855 * common/config/xtensa/xtensa-common.c: Moved to...
23856 * common/config/xtensa/xtensa-common.cc: ...here.
23857 * compare-elim.c: Moved to...
23858 * compare-elim.cc: ...here.
23859 * config/aarch64/aarch64-bti-insert.c: Moved to...
23860 * config/aarch64/aarch64-bti-insert.cc: ...here.
23861 * config/aarch64/aarch64-builtins.c: Moved to...
23862 * config/aarch64/aarch64-builtins.cc: ...here.
23863 * config/aarch64/aarch64-c.c: Moved to...
23864 * config/aarch64/aarch64-c.cc: ...here.
23865 * config/aarch64/aarch64-d.c: Moved to...
23866 * config/aarch64/aarch64-d.cc: ...here.
23867 * config/aarch64/aarch64.c: Moved to...
23868 * config/aarch64/aarch64.cc: ...here.
23869 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
23870 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
23871 * config/aarch64/driver-aarch64.c: Moved to...
23872 * config/aarch64/driver-aarch64.cc: ...here.
23873 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
23874 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
23875 * config/aarch64/host-aarch64-darwin.c: Moved to...
23876 * config/aarch64/host-aarch64-darwin.cc: ...here.
23877 * config/alpha/alpha.c: Moved to...
23878 * config/alpha/alpha.cc: ...here.
23879 * config/alpha/driver-alpha.c: Moved to...
23880 * config/alpha/driver-alpha.cc: ...here.
23881 * config/arc/arc-c.c: Moved to...
23882 * config/arc/arc-c.cc: ...here.
23883 * config/arc/arc.c: Moved to...
23884 * config/arc/arc.cc: ...here.
23885 * config/arc/driver-arc.c: Moved to...
23886 * config/arc/driver-arc.cc: ...here.
23887 * config/arm/aarch-common.c: Moved to...
23888 * config/arm/aarch-common.cc: ...here.
23889 * config/arm/arm-builtins.c: Moved to...
23890 * config/arm/arm-builtins.cc: ...here.
23891 * config/arm/arm-c.c: Moved to...
23892 * config/arm/arm-c.cc: ...here.
23893 * config/arm/arm-d.c: Moved to...
23894 * config/arm/arm-d.cc: ...here.
23895 * config/arm/arm.c: Moved to...
23896 * config/arm/arm.cc: ...here.
23897 * config/arm/driver-arm.c: Moved to...
23898 * config/arm/driver-arm.cc: ...here.
23899 * config/avr/avr-c.c: Moved to...
23900 * config/avr/avr-c.cc: ...here.
23901 * config/avr/avr-devices.c: Moved to...
23902 * config/avr/avr-devices.cc: ...here.
23903 * config/avr/avr-log.c: Moved to...
23904 * config/avr/avr-log.cc: ...here.
23905 * config/avr/avr.c: Moved to...
23906 * config/avr/avr.cc: ...here.
23907 * config/avr/driver-avr.c: Moved to...
23908 * config/avr/driver-avr.cc: ...here.
23909 * config/avr/gen-avr-mmcu-specs.c: Moved to...
23910 * config/avr/gen-avr-mmcu-specs.cc: ...here.
23911 * config/avr/gen-avr-mmcu-texi.c: Moved to...
23912 * config/avr/gen-avr-mmcu-texi.cc: ...here.
23913 * config/bfin/bfin.c: Moved to...
23914 * config/bfin/bfin.cc: ...here.
23915 * config/bpf/bpf.c: Moved to...
23916 * config/bpf/bpf.cc: ...here.
23917 * config/bpf/coreout.c: Moved to...
23918 * config/bpf/coreout.cc: ...here.
23919 * config/c6x/c6x.c: Moved to...
23920 * config/c6x/c6x.cc: ...here.
23921 * config/cr16/cr16.c: Moved to...
23922 * config/cr16/cr16.cc: ...here.
23923 * config/cris/cris.c: Moved to...
23924 * config/cris/cris.cc: ...here.
23925 * config/csky/csky.c: Moved to...
23926 * config/csky/csky.cc: ...here.
23927 * config/darwin-c.c: Moved to...
23928 * config/darwin-c.cc: ...here.
23929 * config/darwin-d.c: Moved to...
23930 * config/darwin-d.cc: ...here.
23931 * config/darwin-driver.c: Moved to...
23932 * config/darwin-driver.cc: ...here.
23933 * config/darwin-f.c: Moved to...
23934 * config/darwin-f.cc: ...here.
23935 * config/darwin.c: Moved to...
23936 * config/darwin.cc: ...here.
23937 * config/default-c.c: Moved to...
23938 * config/default-c.cc: ...here.
23939 * config/default-d.c: Moved to...
23940 * config/default-d.cc: ...here.
23941 * config/dragonfly-d.c: Moved to...
23942 * config/dragonfly-d.cc: ...here.
23943 * config/epiphany/epiphany.c: Moved to...
23944 * config/epiphany/epiphany.cc: ...here.
23945 * config/epiphany/mode-switch-use.c: Moved to...
23946 * config/epiphany/mode-switch-use.cc: ...here.
23947 * config/epiphany/resolve-sw-modes.c: Moved to...
23948 * config/epiphany/resolve-sw-modes.cc: ...here.
23949 * config/fr30/fr30.c: Moved to...
23950 * config/fr30/fr30.cc: ...here.
23951 * config/freebsd-d.c: Moved to...
23952 * config/freebsd-d.cc: ...here.
23953 * config/frv/frv.c: Moved to...
23954 * config/frv/frv.cc: ...here.
23955 * config/ft32/ft32.c: Moved to...
23956 * config/ft32/ft32.cc: ...here.
23957 * config/gcn/driver-gcn.c: Moved to...
23958 * config/gcn/driver-gcn.cc: ...here.
23959 * config/gcn/gcn-run.c: Moved to...
23960 * config/gcn/gcn-run.cc: ...here.
23961 * config/gcn/gcn-tree.c: Moved to...
23962 * config/gcn/gcn-tree.cc: ...here.
23963 * config/gcn/gcn.c: Moved to...
23964 * config/gcn/gcn.cc: ...here.
23965 * config/gcn/mkoffload.c: Moved to...
23966 * config/gcn/mkoffload.cc: ...here.
23967 * config/glibc-c.c: Moved to...
23968 * config/glibc-c.cc: ...here.
23969 * config/glibc-d.c: Moved to...
23970 * config/glibc-d.cc: ...here.
23971 * config/h8300/h8300.c: Moved to...
23972 * config/h8300/h8300.cc: ...here.
23973 * config/host-darwin.c: Moved to...
23974 * config/host-darwin.cc: ...here.
23975 * config/host-hpux.c: Moved to...
23976 * config/host-hpux.cc: ...here.
23977 * config/host-linux.c: Moved to...
23978 * config/host-linux.cc: ...here.
23979 * config/host-netbsd.c: Moved to...
23980 * config/host-netbsd.cc: ...here.
23981 * config/host-openbsd.c: Moved to...
23982 * config/host-openbsd.cc: ...here.
23983 * config/host-solaris.c: Moved to...
23984 * config/host-solaris.cc: ...here.
23985 * config/i386/djgpp.c: Moved to...
23986 * config/i386/djgpp.cc: ...here.
23987 * config/i386/driver-i386.c: Moved to...
23988 * config/i386/driver-i386.cc: ...here.
23989 * config/i386/driver-mingw32.c: Moved to...
23990 * config/i386/driver-mingw32.cc: ...here.
23991 * config/i386/gnu-property.c: Moved to...
23992 * config/i386/gnu-property.cc: ...here.
23993 * config/i386/host-cygwin.c: Moved to...
23994 * config/i386/host-cygwin.cc: ...here.
23995 * config/i386/host-i386-darwin.c: Moved to...
23996 * config/i386/host-i386-darwin.cc: ...here.
23997 * config/i386/host-mingw32.c: Moved to...
23998 * config/i386/host-mingw32.cc: ...here.
23999 * config/i386/i386-builtins.c: Moved to...
24000 * config/i386/i386-builtins.cc: ...here.
24001 * config/i386/i386-c.c: Moved to...
24002 * config/i386/i386-c.cc: ...here.
24003 * config/i386/i386-d.c: Moved to...
24004 * config/i386/i386-d.cc: ...here.
24005 * config/i386/i386-expand.c: Moved to...
24006 * config/i386/i386-expand.cc: ...here.
24007 * config/i386/i386-features.c: Moved to...
24008 * config/i386/i386-features.cc: ...here.
24009 * config/i386/i386-options.c: Moved to...
24010 * config/i386/i386-options.cc: ...here.
24011 * config/i386/i386.c: Moved to...
24012 * config/i386/i386.cc: ...here.
24013 * config/i386/intelmic-mkoffload.c: Moved to...
24014 * config/i386/intelmic-mkoffload.cc: ...here.
24015 * config/i386/msformat-c.c: Moved to...
24016 * config/i386/msformat-c.cc: ...here.
24017 * config/i386/winnt-cxx.c: Moved to...
24018 * config/i386/winnt-cxx.cc: ...here.
24019 * config/i386/winnt-d.c: Moved to...
24020 * config/i386/winnt-d.cc: ...here.
24021 * config/i386/winnt-stubs.c: Moved to...
24022 * config/i386/winnt-stubs.cc: ...here.
24023 * config/i386/winnt.c: Moved to...
24024 * config/i386/winnt.cc: ...here.
24025 * config/i386/x86-tune-sched-atom.c: Moved to...
24026 * config/i386/x86-tune-sched-atom.cc: ...here.
24027 * config/i386/x86-tune-sched-bd.c: Moved to...
24028 * config/i386/x86-tune-sched-bd.cc: ...here.
24029 * config/i386/x86-tune-sched-core.c: Moved to...
24030 * config/i386/x86-tune-sched-core.cc: ...here.
24031 * config/i386/x86-tune-sched.c: Moved to...
24032 * config/i386/x86-tune-sched.cc: ...here.
24033 * config/ia64/ia64-c.c: Moved to...
24034 * config/ia64/ia64-c.cc: ...here.
24035 * config/ia64/ia64.c: Moved to...
24036 * config/ia64/ia64.cc: ...here.
24037 * config/iq2000/iq2000.c: Moved to...
24038 * config/iq2000/iq2000.cc: ...here.
24039 * config/linux.c: Moved to...
24040 * config/linux.cc: ...here.
24041 * config/lm32/lm32.c: Moved to...
24042 * config/lm32/lm32.cc: ...here.
24043 * config/m32c/m32c-pragma.c: Moved to...
24044 * config/m32c/m32c-pragma.cc: ...here.
24045 * config/m32c/m32c.c: Moved to...
24046 * config/m32c/m32c.cc: ...here.
24047 * config/m32r/m32r.c: Moved to...
24048 * config/m32r/m32r.cc: ...here.
24049 * config/m68k/m68k.c: Moved to...
24050 * config/m68k/m68k.cc: ...here.
24051 * config/mcore/mcore.c: Moved to...
24052 * config/mcore/mcore.cc: ...here.
24053 * config/microblaze/microblaze-c.c: Moved to...
24054 * config/microblaze/microblaze-c.cc: ...here.
24055 * config/microblaze/microblaze.c: Moved to...
24056 * config/microblaze/microblaze.cc: ...here.
24057 * config/mips/driver-native.c: Moved to...
24058 * config/mips/driver-native.cc: ...here.
24059 * config/mips/frame-header-opt.c: Moved to...
24060 * config/mips/frame-header-opt.cc: ...here.
24061 * config/mips/mips-d.c: Moved to...
24062 * config/mips/mips-d.cc: ...here.
24063 * config/mips/mips.c: Moved to...
24064 * config/mips/mips.cc: ...here.
24065 * config/mmix/mmix.c: Moved to...
24066 * config/mmix/mmix.cc: ...here.
24067 * config/mn10300/mn10300.c: Moved to...
24068 * config/mn10300/mn10300.cc: ...here.
24069 * config/moxie/moxie.c: Moved to...
24070 * config/moxie/moxie.cc: ...here.
24071 * config/msp430/driver-msp430.c: Moved to...
24072 * config/msp430/driver-msp430.cc: ...here.
24073 * config/msp430/msp430-c.c: Moved to...
24074 * config/msp430/msp430-c.cc: ...here.
24075 * config/msp430/msp430-devices.c: Moved to...
24076 * config/msp430/msp430-devices.cc: ...here.
24077 * config/msp430/msp430.c: Moved to...
24078 * config/msp430/msp430.cc: ...here.
24079 * config/nds32/nds32-cost.c: Moved to...
24080 * config/nds32/nds32-cost.cc: ...here.
24081 * config/nds32/nds32-fp-as-gp.c: Moved to...
24082 * config/nds32/nds32-fp-as-gp.cc: ...here.
24083 * config/nds32/nds32-intrinsic.c: Moved to...
24084 * config/nds32/nds32-intrinsic.cc: ...here.
24085 * config/nds32/nds32-isr.c: Moved to...
24086 * config/nds32/nds32-isr.cc: ...here.
24087 * config/nds32/nds32-md-auxiliary.c: Moved to...
24088 * config/nds32/nds32-md-auxiliary.cc: ...here.
24089 * config/nds32/nds32-memory-manipulation.c: Moved to...
24090 * config/nds32/nds32-memory-manipulation.cc: ...here.
24091 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
24092 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
24093 * config/nds32/nds32-predicates.c: Moved to...
24094 * config/nds32/nds32-predicates.cc: ...here.
24095 * config/nds32/nds32-relax-opt.c: Moved to...
24096 * config/nds32/nds32-relax-opt.cc: ...here.
24097 * config/nds32/nds32-utils.c: Moved to...
24098 * config/nds32/nds32-utils.cc: ...here.
24099 * config/nds32/nds32.c: Moved to...
24100 * config/nds32/nds32.cc: ...here.
24101 * config/netbsd-d.c: Moved to...
24102 * config/netbsd-d.cc: ...here.
24103 * config/netbsd.c: Moved to...
24104 * config/netbsd.cc: ...here.
24105 * config/nios2/nios2.c: Moved to...
24106 * config/nios2/nios2.cc: ...here.
24107 * config/nvptx/mkoffload.c: Moved to...
24108 * config/nvptx/mkoffload.cc: ...here.
24109 * config/nvptx/nvptx-c.c: Moved to...
24110 * config/nvptx/nvptx-c.cc: ...here.
24111 * config/nvptx/nvptx.c: Moved to...
24112 * config/nvptx/nvptx.cc: ...here.
24113 * config/openbsd-d.c: Moved to...
24114 * config/openbsd-d.cc: ...here.
24115 * config/or1k/or1k.c: Moved to...
24116 * config/or1k/or1k.cc: ...here.
24117 * config/pa/pa-d.c: Moved to...
24118 * config/pa/pa-d.cc: ...here.
24119 * config/pa/pa.c: Moved to...
24120 * config/pa/pa.cc: ...here.
24121 * config/pdp11/pdp11.c: Moved to...
24122 * config/pdp11/pdp11.cc: ...here.
24123 * config/pru/pru-passes.c: Moved to...
24124 * config/pru/pru-passes.cc: ...here.
24125 * config/pru/pru-pragma.c: Moved to...
24126 * config/pru/pru-pragma.cc: ...here.
24127 * config/pru/pru.c: Moved to...
24128 * config/pru/pru.cc: ...here.
24129 * config/riscv/riscv-builtins.c: Moved to...
24130 * config/riscv/riscv-builtins.cc: ...here.
24131 * config/riscv/riscv-c.c: Moved to...
24132 * config/riscv/riscv-c.cc: ...here.
24133 * config/riscv/riscv-d.c: Moved to...
24134 * config/riscv/riscv-d.cc: ...here.
24135 * config/riscv/riscv-shorten-memrefs.c: Moved to...
24136 * config/riscv/riscv-shorten-memrefs.cc: ...here.
24137 * config/riscv/riscv-sr.c: Moved to...
24138 * config/riscv/riscv-sr.cc: ...here.
24139 * config/riscv/riscv.c: Moved to...
24140 * config/riscv/riscv.cc: ...here.
24141 * config/rl78/rl78-c.c: Moved to...
24142 * config/rl78/rl78-c.cc: ...here.
24143 * config/rl78/rl78.c: Moved to...
24144 * config/rl78/rl78.cc: ...here.
24145 * config/rs6000/driver-rs6000.c: Moved to...
24146 * config/rs6000/driver-rs6000.cc: ...here.
24147 * config/rs6000/host-darwin.c: Moved to...
24148 * config/rs6000/host-darwin.cc: ...here.
24149 * config/rs6000/host-ppc64-darwin.c: Moved to...
24150 * config/rs6000/host-ppc64-darwin.cc: ...here.
24151 * config/rs6000/rbtree.c: Moved to...
24152 * config/rs6000/rbtree.cc: ...here.
24153 * config/rs6000/rs6000-c.c: Moved to...
24154 * config/rs6000/rs6000-c.cc: ...here.
24155 * config/rs6000/rs6000-call.c: Moved to...
24156 * config/rs6000/rs6000-call.cc: ...here.
24157 * config/rs6000/rs6000-d.c: Moved to...
24158 * config/rs6000/rs6000-d.cc: ...here.
24159 * config/rs6000/rs6000-gen-builtins.c: Moved to...
24160 * config/rs6000/rs6000-gen-builtins.cc: ...here.
24161 * config/rs6000/rs6000-linux.c: Moved to...
24162 * config/rs6000/rs6000-linux.cc: ...here.
24163 * config/rs6000/rs6000-logue.c: Moved to...
24164 * config/rs6000/rs6000-logue.cc: ...here.
24165 * config/rs6000/rs6000-p8swap.c: Moved to...
24166 * config/rs6000/rs6000-p8swap.cc: ...here.
24167 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
24168 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
24169 * config/rs6000/rs6000-string.c: Moved to...
24170 * config/rs6000/rs6000-string.cc: ...here.
24171 * config/rs6000/rs6000.c: Moved to...
24172 * config/rs6000/rs6000.cc: ...here.
24173 * config/rx/rx.c: Moved to...
24174 * config/rx/rx.cc: ...here.
24175 * config/s390/driver-native.c: Moved to...
24176 * config/s390/driver-native.cc: ...here.
24177 * config/s390/s390-c.c: Moved to...
24178 * config/s390/s390-c.cc: ...here.
24179 * config/s390/s390-d.c: Moved to...
24180 * config/s390/s390-d.cc: ...here.
24181 * config/s390/s390.c: Moved to...
24182 * config/s390/s390.cc: ...here.
24183 * config/sh/divtab-sh4-300.c: Moved to...
24184 * config/sh/divtab-sh4-300.cc: ...here.
24185 * config/sh/divtab-sh4.c: Moved to...
24186 * config/sh/divtab-sh4.cc: ...here.
24187 * config/sh/divtab.c: Moved to...
24188 * config/sh/divtab.cc: ...here.
24189 * config/sh/sh-c.c: Moved to...
24190 * config/sh/sh-c.cc: ...here.
24191 * config/sh/sh.c: Moved to...
24192 * config/sh/sh.cc: ...here.
24193 * config/sol2-c.c: Moved to...
24194 * config/sol2-c.cc: ...here.
24195 * config/sol2-cxx.c: Moved to...
24196 * config/sol2-cxx.cc: ...here.
24197 * config/sol2-d.c: Moved to...
24198 * config/sol2-d.cc: ...here.
24199 * config/sol2-stubs.c: Moved to...
24200 * config/sol2-stubs.cc: ...here.
24201 * config/sol2.c: Moved to...
24202 * config/sol2.cc: ...here.
24203 * config/sparc/driver-sparc.c: Moved to...
24204 * config/sparc/driver-sparc.cc: ...here.
24205 * config/sparc/sparc-c.c: Moved to...
24206 * config/sparc/sparc-c.cc: ...here.
24207 * config/sparc/sparc-d.c: Moved to...
24208 * config/sparc/sparc-d.cc: ...here.
24209 * config/sparc/sparc.c: Moved to...
24210 * config/sparc/sparc.cc: ...here.
24211 * config/stormy16/stormy16.c: Moved to...
24212 * config/stormy16/stormy16.cc: ...here.
24213 * config/tilegx/mul-tables.c: Moved to...
24214 * config/tilegx/mul-tables.cc: ...here.
24215 * config/tilegx/tilegx-c.c: Moved to...
24216 * config/tilegx/tilegx-c.cc: ...here.
24217 * config/tilegx/tilegx.c: Moved to...
24218 * config/tilegx/tilegx.cc: ...here.
24219 * config/tilepro/mul-tables.c: Moved to...
24220 * config/tilepro/mul-tables.cc: ...here.
24221 * config/tilepro/tilepro-c.c: Moved to...
24222 * config/tilepro/tilepro-c.cc: ...here.
24223 * config/tilepro/tilepro.c: Moved to...
24224 * config/tilepro/tilepro.cc: ...here.
24225 * config/v850/v850-c.c: Moved to...
24226 * config/v850/v850-c.cc: ...here.
24227 * config/v850/v850.c: Moved to...
24228 * config/v850/v850.cc: ...here.
24229 * config/vax/vax.c: Moved to...
24230 * config/vax/vax.cc: ...here.
24231 * config/visium/visium.c: Moved to...
24232 * config/visium/visium.cc: ...here.
24233 * config/vms/vms-c.c: Moved to...
24234 * config/vms/vms-c.cc: ...here.
24235 * config/vms/vms-f.c: Moved to...
24236 * config/vms/vms-f.cc: ...here.
24237 * config/vms/vms.c: Moved to...
24238 * config/vms/vms.cc: ...here.
24239 * config/vxworks-c.c: Moved to...
24240 * config/vxworks-c.cc: ...here.
24241 * config/vxworks.c: Moved to...
24242 * config/vxworks.cc: ...here.
24243 * config/winnt-c.c: Moved to...
24244 * config/winnt-c.cc: ...here.
24245 * config/xtensa/xtensa.c: Moved to...
24246 * config/xtensa/xtensa.cc: ...here.
24247 * context.c: Moved to...
24248 * context.cc: ...here.
24249 * convert.c: Moved to...
24250 * convert.cc: ...here.
24251 * coverage.c: Moved to...
24252 * coverage.cc: ...here.
24253 * cppbuiltin.c: Moved to...
24254 * cppbuiltin.cc: ...here.
24255 * cppdefault.c: Moved to...
24256 * cppdefault.cc: ...here.
24257 * cprop.c: Moved to...
24258 * cprop.cc: ...here.
24259 * cse.c: Moved to...
24260 * cse.cc: ...here.
24261 * cselib.c: Moved to...
24262 * cselib.cc: ...here.
24263 * ctfc.c: Moved to...
24264 * ctfc.cc: ...here.
24265 * ctfout.c: Moved to...
24266 * ctfout.cc: ...here.
24267 * data-streamer-in.c: Moved to...
24268 * data-streamer-in.cc: ...here.
24269 * data-streamer-out.c: Moved to...
24270 * data-streamer-out.cc: ...here.
24271 * data-streamer.c: Moved to...
24272 * data-streamer.cc: ...here.
24273 * dbgcnt.c: Moved to...
24274 * dbgcnt.cc: ...here.
24275 * dbxout.c: Moved to...
24276 * dbxout.cc: ...here.
24277 * dce.c: Moved to...
24278 * dce.cc: ...here.
24279 * ddg.c: Moved to...
24280 * ddg.cc: ...here.
24281 * debug.c: Moved to...
24282 * debug.cc: ...here.
24283 * df-core.c: Moved to...
24284 * df-core.cc: ...here.
24285 * df-problems.c: Moved to...
24286 * df-problems.cc: ...here.
24287 * df-scan.c: Moved to...
24288 * df-scan.cc: ...here.
24289 * dfp.c: Moved to...
24290 * dfp.cc: ...here.
24291 * diagnostic-color.c: Moved to...
24292 * diagnostic-color.cc: ...here.
24293 * diagnostic-show-locus.c: Moved to...
24294 * diagnostic-show-locus.cc: ...here.
24295 * diagnostic-spec.c: Moved to...
24296 * diagnostic-spec.cc: ...here.
24297 * diagnostic.c: Moved to...
24298 * diagnostic.cc: ...here.
24299 * dojump.c: Moved to...
24300 * dojump.cc: ...here.
24301 * dominance.c: Moved to...
24302 * dominance.cc: ...here.
24303 * domwalk.c: Moved to...
24304 * domwalk.cc: ...here.
24305 * double-int.c: Moved to...
24306 * double-int.cc: ...here.
24307 * dse.c: Moved to...
24308 * dse.cc: ...here.
24309 * dumpfile.c: Moved to...
24310 * dumpfile.cc: ...here.
24311 * dwarf2asm.c: Moved to...
24312 * dwarf2asm.cc: ...here.
24313 * dwarf2cfi.c: Moved to...
24314 * dwarf2cfi.cc: ...here.
24315 * dwarf2ctf.c: Moved to...
24316 * dwarf2ctf.cc: ...here.
24317 * dwarf2out.c: Moved to...
24318 * dwarf2out.cc: ...here.
24319 * early-remat.c: Moved to...
24320 * early-remat.cc: ...here.
24321 * edit-context.c: Moved to...
24322 * edit-context.cc: ...here.
24323 * emit-rtl.c: Moved to...
24324 * emit-rtl.cc: ...here.
24325 * errors.c: Moved to...
24326 * errors.cc: ...here.
24327 * et-forest.c: Moved to...
24328 * et-forest.cc: ...here.
24329 * except.c: Moved to...
24330 * except.cc: ...here.
24331 * explow.c: Moved to...
24332 * explow.cc: ...here.
24333 * expmed.c: Moved to...
24334 * expmed.cc: ...here.
24335 * expr.c: Moved to...
24336 * expr.cc: ...here.
24337 * fibonacci_heap.c: Moved to...
24338 * fibonacci_heap.cc: ...here.
24339 * file-find.c: Moved to...
24340 * file-find.cc: ...here.
24341 * file-prefix-map.c: Moved to...
24342 * file-prefix-map.cc: ...here.
24343 * final.c: Moved to...
24344 * final.cc: ...here.
24345 * fixed-value.c: Moved to...
24346 * fixed-value.cc: ...here.
24347 * fold-const-call.c: Moved to...
24348 * fold-const-call.cc: ...here.
24349 * fold-const.c: Moved to...
24350 * fold-const.cc: ...here.
24351 * fp-test.c: Moved to...
24352 * fp-test.cc: ...here.
24353 * function-tests.c: Moved to...
24354 * function-tests.cc: ...here.
24355 * function.c: Moved to...
24356 * function.cc: ...here.
24357 * fwprop.c: Moved to...
24358 * fwprop.cc: ...here.
24359 * gcc-ar.c: Moved to...
24360 * gcc-ar.cc: ...here.
24361 * gcc-main.c: Moved to...
24362 * gcc-main.cc: ...here.
24363 * gcc-rich-location.c: Moved to...
24364 * gcc-rich-location.cc: ...here.
24365 * gcc.c: Moved to...
24366 * gcc.cc: ...here.
24367 * gcov-dump.c: Moved to...
24368 * gcov-dump.cc: ...here.
24369 * gcov-io.c: Moved to...
24370 * gcov-io.cc: ...here.
24371 * gcov-tool.c: Moved to...
24372 * gcov-tool.cc: ...here.
24373 * gcov.c: Moved to...
24374 * gcov.cc: ...here.
24375 * gcse-common.c: Moved to...
24376 * gcse-common.cc: ...here.
24377 * gcse.c: Moved to...
24378 * gcse.cc: ...here.
24379 * genattr-common.c: Moved to...
24380 * genattr-common.cc: ...here.
24381 * genattr.c: Moved to...
24382 * genattr.cc: ...here.
24383 * genattrtab.c: Moved to...
24384 * genattrtab.cc: ...here.
24385 * genautomata.c: Moved to...
24386 * genautomata.cc: ...here.
24387 * gencfn-macros.c: Moved to...
24388 * gencfn-macros.cc: ...here.
24389 * gencheck.c: Moved to...
24390 * gencheck.cc: ...here.
24391 * genchecksum.c: Moved to...
24392 * genchecksum.cc: ...here.
24393 * gencodes.c: Moved to...
24394 * gencodes.cc: ...here.
24395 * genconditions.c: Moved to...
24396 * genconditions.cc: ...here.
24397 * genconfig.c: Moved to...
24398 * genconfig.cc: ...here.
24399 * genconstants.c: Moved to...
24400 * genconstants.cc: ...here.
24401 * genemit.c: Moved to...
24402 * genemit.cc: ...here.
24403 * genenums.c: Moved to...
24404 * genenums.cc: ...here.
24405 * generic-match-head.c: Moved to...
24406 * generic-match-head.cc: ...here.
24407 * genextract.c: Moved to...
24408 * genextract.cc: ...here.
24409 * genflags.c: Moved to...
24410 * genflags.cc: ...here.
24411 * gengenrtl.c: Moved to...
24412 * gengenrtl.cc: ...here.
24413 * gengtype-parse.c: Moved to...
24414 * gengtype-parse.cc: ...here.
24415 * gengtype-state.c: Moved to...
24416 * gengtype-state.cc: ...here.
24417 * gengtype.c: Moved to...
24418 * gengtype.cc: ...here.
24419 * genhooks.c: Moved to...
24420 * genhooks.cc: ...here.
24421 * genmatch.c: Moved to...
24422 * genmatch.cc: ...here.
24423 * genmddeps.c: Moved to...
24424 * genmddeps.cc: ...here.
24425 * genmddump.c: Moved to...
24426 * genmddump.cc: ...here.
24427 * genmodes.c: Moved to...
24428 * genmodes.cc: ...here.
24429 * genopinit.c: Moved to...
24430 * genopinit.cc: ...here.
24431 * genoutput.c: Moved to...
24432 * genoutput.cc: ...here.
24433 * genpeep.c: Moved to...
24434 * genpeep.cc: ...here.
24435 * genpreds.c: Moved to...
24436 * genpreds.cc: ...here.
24437 * genrecog.c: Moved to...
24438 * genrecog.cc: ...here.
24439 * gensupport.c: Moved to...
24440 * gensupport.cc: ...here.
24441 * gentarget-def.c: Moved to...
24442 * gentarget-def.cc: ...here.
24443 * genversion.c: Moved to...
24444 * genversion.cc: ...here.
24445 * ggc-common.c: Moved to...
24446 * ggc-common.cc: ...here.
24447 * ggc-none.c: Moved to...
24448 * ggc-none.cc: ...here.
24449 * ggc-page.c: Moved to...
24450 * ggc-page.cc: ...here.
24451 * ggc-tests.c: Moved to...
24452 * ggc-tests.cc: ...here.
24453 * gimple-builder.c: Moved to...
24454 * gimple-builder.cc: ...here.
24455 * gimple-expr.c: Moved to...
24456 * gimple-expr.cc: ...here.
24457 * gimple-fold.c: Moved to...
24458 * gimple-fold.cc: ...here.
24459 * gimple-iterator.c: Moved to...
24460 * gimple-iterator.cc: ...here.
24461 * gimple-laddress.c: Moved to...
24462 * gimple-laddress.cc: ...here.
24463 * gimple-loop-jam.c: Moved to...
24464 * gimple-loop-jam.cc: ...here.
24465 * gimple-low.c: Moved to...
24466 * gimple-low.cc: ...here.
24467 * gimple-match-head.c: Moved to...
24468 * gimple-match-head.cc: ...here.
24469 * gimple-pretty-print.c: Moved to...
24470 * gimple-pretty-print.cc: ...here.
24471 * gimple-ssa-backprop.c: Moved to...
24472 * gimple-ssa-backprop.cc: ...here.
24473 * gimple-ssa-evrp-analyze.c: Moved to...
24474 * gimple-ssa-evrp-analyze.cc: ...here.
24475 * gimple-ssa-evrp.c: Moved to...
24476 * gimple-ssa-evrp.cc: ...here.
24477 * gimple-ssa-isolate-paths.c: Moved to...
24478 * gimple-ssa-isolate-paths.cc: ...here.
24479 * gimple-ssa-nonnull-compare.c: Moved to...
24480 * gimple-ssa-nonnull-compare.cc: ...here.
24481 * gimple-ssa-split-paths.c: Moved to...
24482 * gimple-ssa-split-paths.cc: ...here.
24483 * gimple-ssa-sprintf.c: Moved to...
24484 * gimple-ssa-sprintf.cc: ...here.
24485 * gimple-ssa-store-merging.c: Moved to...
24486 * gimple-ssa-store-merging.cc: ...here.
24487 * gimple-ssa-strength-reduction.c: Moved to...
24488 * gimple-ssa-strength-reduction.cc: ...here.
24489 * gimple-ssa-warn-alloca.c: Moved to...
24490 * gimple-ssa-warn-alloca.cc: ...here.
24491 * gimple-ssa-warn-restrict.c: Moved to...
24492 * gimple-ssa-warn-restrict.cc: ...here.
24493 * gimple-streamer-in.c: Moved to...
24494 * gimple-streamer-in.cc: ...here.
24495 * gimple-streamer-out.c: Moved to...
24496 * gimple-streamer-out.cc: ...here.
24497 * gimple-walk.c: Moved to...
24498 * gimple-walk.cc: ...here.
24499 * gimple-warn-recursion.c: Moved to...
24500 * gimple-warn-recursion.cc: ...here.
24501 * gimple.c: Moved to...
24502 * gimple.cc: ...here.
24503 * gimplify-me.c: Moved to...
24504 * gimplify-me.cc: ...here.
24505 * gimplify.c: Moved to...
24506 * gimplify.cc: ...here.
24507 * godump.c: Moved to...
24508 * godump.cc: ...here.
24509 * graph.c: Moved to...
24510 * graph.cc: ...here.
24511 * graphds.c: Moved to...
24512 * graphds.cc: ...here.
24513 * graphite-dependences.c: Moved to...
24514 * graphite-dependences.cc: ...here.
24515 * graphite-isl-ast-to-gimple.c: Moved to...
24516 * graphite-isl-ast-to-gimple.cc: ...here.
24517 * graphite-optimize-isl.c: Moved to...
24518 * graphite-optimize-isl.cc: ...here.
24519 * graphite-poly.c: Moved to...
24520 * graphite-poly.cc: ...here.
24521 * graphite-scop-detection.c: Moved to...
24522 * graphite-scop-detection.cc: ...here.
24523 * graphite-sese-to-poly.c: Moved to...
24524 * graphite-sese-to-poly.cc: ...here.
24525 * graphite.c: Moved to...
24526 * graphite.cc: ...here.
24527 * haifa-sched.c: Moved to...
24528 * haifa-sched.cc: ...here.
24529 * hash-map-tests.c: Moved to...
24530 * hash-map-tests.cc: ...here.
24531 * hash-set-tests.c: Moved to...
24532 * hash-set-tests.cc: ...here.
24533 * hash-table.c: Moved to...
24534 * hash-table.cc: ...here.
24535 * hooks.c: Moved to...
24536 * hooks.cc: ...here.
24537 * host-default.c: Moved to...
24538 * host-default.cc: ...here.
24539 * hw-doloop.c: Moved to...
24540 * hw-doloop.cc: ...here.
24541 * hwint.c: Moved to...
24542 * hwint.cc: ...here.
24543 * ifcvt.c: Moved to...
24544 * ifcvt.cc: ...here.
24545 * inchash.c: Moved to...
24546 * inchash.cc: ...here.
24547 * incpath.c: Moved to...
24548 * incpath.cc: ...here.
24549 * init-regs.c: Moved to...
24550 * init-regs.cc: ...here.
24551 * input.c: Moved to...
24552 * input.cc: ...here.
24553 * internal-fn.c: Moved to...
24554 * internal-fn.cc: ...here.
24555 * intl.c: Moved to...
24556 * intl.cc: ...here.
24557 * ipa-comdats.c: Moved to...
24558 * ipa-comdats.cc: ...here.
24559 * ipa-cp.c: Moved to...
24560 * ipa-cp.cc: ...here.
24561 * ipa-devirt.c: Moved to...
24562 * ipa-devirt.cc: ...here.
24563 * ipa-fnsummary.c: Moved to...
24564 * ipa-fnsummary.cc: ...here.
24565 * ipa-icf-gimple.c: Moved to...
24566 * ipa-icf-gimple.cc: ...here.
24567 * ipa-icf.c: Moved to...
24568 * ipa-icf.cc: ...here.
24569 * ipa-inline-analysis.c: Moved to...
24570 * ipa-inline-analysis.cc: ...here.
24571 * ipa-inline-transform.c: Moved to...
24572 * ipa-inline-transform.cc: ...here.
24573 * ipa-inline.c: Moved to...
24574 * ipa-inline.cc: ...here.
24575 * ipa-modref-tree.c: Moved to...
24576 * ipa-modref-tree.cc: ...here.
24577 * ipa-modref.c: Moved to...
24578 * ipa-modref.cc: ...here.
24579 * ipa-param-manipulation.c: Moved to...
24580 * ipa-param-manipulation.cc: ...here.
24581 * ipa-polymorphic-call.c: Moved to...
24582 * ipa-polymorphic-call.cc: ...here.
24583 * ipa-predicate.c: Moved to...
24584 * ipa-predicate.cc: ...here.
24585 * ipa-profile.c: Moved to...
24586 * ipa-profile.cc: ...here.
24587 * ipa-prop.c: Moved to...
24588 * ipa-prop.cc: ...here.
24589 * ipa-pure-const.c: Moved to...
24590 * ipa-pure-const.cc: ...here.
24591 * ipa-ref.c: Moved to...
24592 * ipa-ref.cc: ...here.
24593 * ipa-reference.c: Moved to...
24594 * ipa-reference.cc: ...here.
24595 * ipa-split.c: Moved to...
24596 * ipa-split.cc: ...here.
24597 * ipa-sra.c: Moved to...
24598 * ipa-sra.cc: ...here.
24599 * ipa-utils.c: Moved to...
24600 * ipa-utils.cc: ...here.
24601 * ipa-visibility.c: Moved to...
24602 * ipa-visibility.cc: ...here.
24603 * ipa.c: Moved to...
24604 * ipa.cc: ...here.
24605 * ira-build.c: Moved to...
24606 * ira-build.cc: ...here.
24607 * ira-color.c: Moved to...
24608 * ira-color.cc: ...here.
24609 * ira-conflicts.c: Moved to...
24610 * ira-conflicts.cc: ...here.
24611 * ira-costs.c: Moved to...
24612 * ira-costs.cc: ...here.
24613 * ira-emit.c: Moved to...
24614 * ira-emit.cc: ...here.
24615 * ira-lives.c: Moved to...
24616 * ira-lives.cc: ...here.
24617 * ira.c: Moved to...
24618 * ira.cc: ...here.
24619 * jump.c: Moved to...
24620 * jump.cc: ...here.
24621 * langhooks.c: Moved to...
24622 * langhooks.cc: ...here.
24623 * lcm.c: Moved to...
24624 * lcm.cc: ...here.
24625 * lists.c: Moved to...
24626 * lists.cc: ...here.
24627 * loop-doloop.c: Moved to...
24628 * loop-doloop.cc: ...here.
24629 * loop-init.c: Moved to...
24630 * loop-init.cc: ...here.
24631 * loop-invariant.c: Moved to...
24632 * loop-invariant.cc: ...here.
24633 * loop-iv.c: Moved to...
24634 * loop-iv.cc: ...here.
24635 * loop-unroll.c: Moved to...
24636 * loop-unroll.cc: ...here.
24637 * lower-subreg.c: Moved to...
24638 * lower-subreg.cc: ...here.
24639 * lra-assigns.c: Moved to...
24640 * lra-assigns.cc: ...here.
24641 * lra-coalesce.c: Moved to...
24642 * lra-coalesce.cc: ...here.
24643 * lra-constraints.c: Moved to...
24644 * lra-constraints.cc: ...here.
24645 * lra-eliminations.c: Moved to...
24646 * lra-eliminations.cc: ...here.
24647 * lra-lives.c: Moved to...
24648 * lra-lives.cc: ...here.
24649 * lra-remat.c: Moved to...
24650 * lra-remat.cc: ...here.
24651 * lra-spills.c: Moved to...
24652 * lra-spills.cc: ...here.
24653 * lra.c: Moved to...
24654 * lra.cc: ...here.
24655 * lto-cgraph.c: Moved to...
24656 * lto-cgraph.cc: ...here.
24657 * lto-compress.c: Moved to...
24658 * lto-compress.cc: ...here.
24659 * lto-opts.c: Moved to...
24660 * lto-opts.cc: ...here.
24661 * lto-section-in.c: Moved to...
24662 * lto-section-in.cc: ...here.
24663 * lto-section-out.c: Moved to...
24664 * lto-section-out.cc: ...here.
24665 * lto-streamer-in.c: Moved to...
24666 * lto-streamer-in.cc: ...here.
24667 * lto-streamer-out.c: Moved to...
24668 * lto-streamer-out.cc: ...here.
24669 * lto-streamer.c: Moved to...
24670 * lto-streamer.cc: ...here.
24671 * lto-wrapper.c: Moved to...
24672 * lto-wrapper.cc: ...here.
24673 * main.c: Moved to...
24674 * main.cc: ...here.
24675 * mcf.c: Moved to...
24676 * mcf.cc: ...here.
24677 * mode-switching.c: Moved to...
24678 * mode-switching.cc: ...here.
24679 * modulo-sched.c: Moved to...
24680 * modulo-sched.cc: ...here.
24681 * multiple_target.c: Moved to...
24682 * multiple_target.cc: ...here.
24683 * omp-expand.c: Moved to...
24684 * omp-expand.cc: ...here.
24685 * omp-general.c: Moved to...
24686 * omp-general.cc: ...here.
24687 * omp-low.c: Moved to...
24688 * omp-low.cc: ...here.
24689 * omp-offload.c: Moved to...
24690 * omp-offload.cc: ...here.
24691 * omp-simd-clone.c: Moved to...
24692 * omp-simd-clone.cc: ...here.
24693 * opt-suggestions.c: Moved to...
24694 * opt-suggestions.cc: ...here.
24695 * optabs-libfuncs.c: Moved to...
24696 * optabs-libfuncs.cc: ...here.
24697 * optabs-query.c: Moved to...
24698 * optabs-query.cc: ...here.
24699 * optabs-tree.c: Moved to...
24700 * optabs-tree.cc: ...here.
24701 * optabs.c: Moved to...
24702 * optabs.cc: ...here.
24703 * opts-common.c: Moved to...
24704 * opts-common.cc: ...here.
24705 * opts-global.c: Moved to...
24706 * opts-global.cc: ...here.
24707 * opts.c: Moved to...
24708 * opts.cc: ...here.
24709 * passes.c: Moved to...
24710 * passes.cc: ...here.
24711 * plugin.c: Moved to...
24712 * plugin.cc: ...here.
24713 * postreload-gcse.c: Moved to...
24714 * postreload-gcse.cc: ...here.
24715 * postreload.c: Moved to...
24716 * postreload.cc: ...here.
24717 * predict.c: Moved to...
24718 * predict.cc: ...here.
24719 * prefix.c: Moved to...
24720 * prefix.cc: ...here.
24721 * pretty-print.c: Moved to...
24722 * pretty-print.cc: ...here.
24723 * print-rtl-function.c: Moved to...
24724 * print-rtl-function.cc: ...here.
24725 * print-rtl.c: Moved to...
24726 * print-rtl.cc: ...here.
24727 * print-tree.c: Moved to...
24728 * print-tree.cc: ...here.
24729 * profile-count.c: Moved to...
24730 * profile-count.cc: ...here.
24731 * profile.c: Moved to...
24732 * profile.cc: ...here.
24733 * read-md.c: Moved to...
24734 * read-md.cc: ...here.
24735 * read-rtl-function.c: Moved to...
24736 * read-rtl-function.cc: ...here.
24737 * read-rtl.c: Moved to...
24738 * read-rtl.cc: ...here.
24739 * real.c: Moved to...
24740 * real.cc: ...here.
24741 * realmpfr.c: Moved to...
24742 * realmpfr.cc: ...here.
24743 * recog.c: Moved to...
24744 * recog.cc: ...here.
24745 * ree.c: Moved to...
24746 * ree.cc: ...here.
24747 * reg-stack.c: Moved to...
24748 * reg-stack.cc: ...here.
24749 * regcprop.c: Moved to...
24750 * regcprop.cc: ...here.
24751 * reginfo.c: Moved to...
24752 * reginfo.cc: ...here.
24753 * regrename.c: Moved to...
24754 * regrename.cc: ...here.
24755 * regstat.c: Moved to...
24756 * regstat.cc: ...here.
24757 * reload.c: Moved to...
24758 * reload.cc: ...here.
24759 * reload1.c: Moved to...
24760 * reload1.cc: ...here.
24761 * reorg.c: Moved to...
24762 * reorg.cc: ...here.
24763 * resource.c: Moved to...
24764 * resource.cc: ...here.
24765 * rtl-error.c: Moved to...
24766 * rtl-error.cc: ...here.
24767 * rtl-tests.c: Moved to...
24768 * rtl-tests.cc: ...here.
24769 * rtl.c: Moved to...
24770 * rtl.cc: ...here.
24771 * rtlanal.c: Moved to...
24772 * rtlanal.cc: ...here.
24773 * rtlhash.c: Moved to...
24774 * rtlhash.cc: ...here.
24775 * rtlhooks.c: Moved to...
24776 * rtlhooks.cc: ...here.
24777 * rtx-vector-builder.c: Moved to...
24778 * rtx-vector-builder.cc: ...here.
24779 * run-rtl-passes.c: Moved to...
24780 * run-rtl-passes.cc: ...here.
24781 * sancov.c: Moved to...
24782 * sancov.cc: ...here.
24783 * sanopt.c: Moved to...
24784 * sanopt.cc: ...here.
24785 * sbitmap.c: Moved to...
24786 * sbitmap.cc: ...here.
24787 * sched-deps.c: Moved to...
24788 * sched-deps.cc: ...here.
24789 * sched-ebb.c: Moved to...
24790 * sched-ebb.cc: ...here.
24791 * sched-rgn.c: Moved to...
24792 * sched-rgn.cc: ...here.
24793 * sel-sched-dump.c: Moved to...
24794 * sel-sched-dump.cc: ...here.
24795 * sel-sched-ir.c: Moved to...
24796 * sel-sched-ir.cc: ...here.
24797 * sel-sched.c: Moved to...
24798 * sel-sched.cc: ...here.
24799 * selftest-diagnostic.c: Moved to...
24800 * selftest-diagnostic.cc: ...here.
24801 * selftest-rtl.c: Moved to...
24802 * selftest-rtl.cc: ...here.
24803 * selftest-run-tests.c: Moved to...
24804 * selftest-run-tests.cc: ...here.
24805 * selftest.c: Moved to...
24806 * selftest.cc: ...here.
24807 * sese.c: Moved to...
24808 * sese.cc: ...here.
24809 * shrink-wrap.c: Moved to...
24810 * shrink-wrap.cc: ...here.
24811 * simplify-rtx.c: Moved to...
24812 * simplify-rtx.cc: ...here.
24813 * sparseset.c: Moved to...
24814 * sparseset.cc: ...here.
24815 * spellcheck-tree.c: Moved to...
24816 * spellcheck-tree.cc: ...here.
24817 * spellcheck.c: Moved to...
24818 * spellcheck.cc: ...here.
24819 * sreal.c: Moved to...
24820 * sreal.cc: ...here.
24821 * stack-ptr-mod.c: Moved to...
24822 * stack-ptr-mod.cc: ...here.
24823 * statistics.c: Moved to...
24824 * statistics.cc: ...here.
24825 * stmt.c: Moved to...
24826 * stmt.cc: ...here.
24827 * stor-layout.c: Moved to...
24828 * stor-layout.cc: ...here.
24829 * store-motion.c: Moved to...
24830 * store-motion.cc: ...here.
24831 * streamer-hooks.c: Moved to...
24832 * streamer-hooks.cc: ...here.
24833 * stringpool.c: Moved to...
24834 * stringpool.cc: ...here.
24835 * substring-locations.c: Moved to...
24836 * substring-locations.cc: ...here.
24837 * symtab.c: Moved to...
24838 * symtab.cc: ...here.
24839 * target-globals.c: Moved to...
24840 * target-globals.cc: ...here.
24841 * targhooks.c: Moved to...
24842 * targhooks.cc: ...here.
24843 * timevar.c: Moved to...
24844 * timevar.cc: ...here.
24845 * toplev.c: Moved to...
24846 * toplev.cc: ...here.
24847 * tracer.c: Moved to...
24848 * tracer.cc: ...here.
24849 * trans-mem.c: Moved to...
24850 * trans-mem.cc: ...here.
24851 * tree-affine.c: Moved to...
24852 * tree-affine.cc: ...here.
24853 * tree-call-cdce.c: Moved to...
24854 * tree-call-cdce.cc: ...here.
24855 * tree-cfg.c: Moved to...
24856 * tree-cfg.cc: ...here.
24857 * tree-cfgcleanup.c: Moved to...
24858 * tree-cfgcleanup.cc: ...here.
24859 * tree-chrec.c: Moved to...
24860 * tree-chrec.cc: ...here.
24861 * tree-complex.c: Moved to...
24862 * tree-complex.cc: ...here.
24863 * tree-data-ref.c: Moved to...
24864 * tree-data-ref.cc: ...here.
24865 * tree-dfa.c: Moved to...
24866 * tree-dfa.cc: ...here.
24867 * tree-diagnostic.c: Moved to...
24868 * tree-diagnostic.cc: ...here.
24869 * tree-dump.c: Moved to...
24870 * tree-dump.cc: ...here.
24871 * tree-eh.c: Moved to...
24872 * tree-eh.cc: ...here.
24873 * tree-emutls.c: Moved to...
24874 * tree-emutls.cc: ...here.
24875 * tree-if-conv.c: Moved to...
24876 * tree-if-conv.cc: ...here.
24877 * tree-inline.c: Moved to...
24878 * tree-inline.cc: ...here.
24879 * tree-into-ssa.c: Moved to...
24880 * tree-into-ssa.cc: ...here.
24881 * tree-iterator.c: Moved to...
24882 * tree-iterator.cc: ...here.
24883 * tree-loop-distribution.c: Moved to...
24884 * tree-loop-distribution.cc: ...here.
24885 * tree-nested.c: Moved to...
24886 * tree-nested.cc: ...here.
24887 * tree-nrv.c: Moved to...
24888 * tree-nrv.cc: ...here.
24889 * tree-object-size.c: Moved to...
24890 * tree-object-size.cc: ...here.
24891 * tree-outof-ssa.c: Moved to...
24892 * tree-outof-ssa.cc: ...here.
24893 * tree-parloops.c: Moved to...
24894 * tree-parloops.cc: ...here.
24895 * tree-phinodes.c: Moved to...
24896 * tree-phinodes.cc: ...here.
24897 * tree-predcom.c: Moved to...
24898 * tree-predcom.cc: ...here.
24899 * tree-pretty-print.c: Moved to...
24900 * tree-pretty-print.cc: ...here.
24901 * tree-profile.c: Moved to...
24902 * tree-profile.cc: ...here.
24903 * tree-scalar-evolution.c: Moved to...
24904 * tree-scalar-evolution.cc: ...here.
24905 * tree-sra.c: Moved to...
24906 * tree-sra.cc: ...here.
24907 * tree-ssa-address.c: Moved to...
24908 * tree-ssa-address.cc: ...here.
24909 * tree-ssa-alias.c: Moved to...
24910 * tree-ssa-alias.cc: ...here.
24911 * tree-ssa-ccp.c: Moved to...
24912 * tree-ssa-ccp.cc: ...here.
24913 * tree-ssa-coalesce.c: Moved to...
24914 * tree-ssa-coalesce.cc: ...here.
24915 * tree-ssa-copy.c: Moved to...
24916 * tree-ssa-copy.cc: ...here.
24917 * tree-ssa-dce.c: Moved to...
24918 * tree-ssa-dce.cc: ...here.
24919 * tree-ssa-dom.c: Moved to...
24920 * tree-ssa-dom.cc: ...here.
24921 * tree-ssa-dse.c: Moved to...
24922 * tree-ssa-dse.cc: ...here.
24923 * tree-ssa-forwprop.c: Moved to...
24924 * tree-ssa-forwprop.cc: ...here.
24925 * tree-ssa-ifcombine.c: Moved to...
24926 * tree-ssa-ifcombine.cc: ...here.
24927 * tree-ssa-live.c: Moved to...
24928 * tree-ssa-live.cc: ...here.
24929 * tree-ssa-loop-ch.c: Moved to...
24930 * tree-ssa-loop-ch.cc: ...here.
24931 * tree-ssa-loop-im.c: Moved to...
24932 * tree-ssa-loop-im.cc: ...here.
24933 * tree-ssa-loop-ivcanon.c: Moved to...
24934 * tree-ssa-loop-ivcanon.cc: ...here.
24935 * tree-ssa-loop-ivopts.c: Moved to...
24936 * tree-ssa-loop-ivopts.cc: ...here.
24937 * tree-ssa-loop-manip.c: Moved to...
24938 * tree-ssa-loop-manip.cc: ...here.
24939 * tree-ssa-loop-niter.c: Moved to...
24940 * tree-ssa-loop-niter.cc: ...here.
24941 * tree-ssa-loop-prefetch.c: Moved to...
24942 * tree-ssa-loop-prefetch.cc: ...here.
24943 * tree-ssa-loop-split.c: Moved to...
24944 * tree-ssa-loop-split.cc: ...here.
24945 * tree-ssa-loop-unswitch.c: Moved to...
24946 * tree-ssa-loop-unswitch.cc: ...here.
24947 * tree-ssa-loop.c: Moved to...
24948 * tree-ssa-loop.cc: ...here.
24949 * tree-ssa-math-opts.c: Moved to...
24950 * tree-ssa-math-opts.cc: ...here.
24951 * tree-ssa-operands.c: Moved to...
24952 * tree-ssa-operands.cc: ...here.
24953 * tree-ssa-phiopt.c: Moved to...
24954 * tree-ssa-phiopt.cc: ...here.
24955 * tree-ssa-phiprop.c: Moved to...
24956 * tree-ssa-phiprop.cc: ...here.
24957 * tree-ssa-pre.c: Moved to...
24958 * tree-ssa-pre.cc: ...here.
24959 * tree-ssa-propagate.c: Moved to...
24960 * tree-ssa-propagate.cc: ...here.
24961 * tree-ssa-reassoc.c: Moved to...
24962 * tree-ssa-reassoc.cc: ...here.
24963 * tree-ssa-sccvn.c: Moved to...
24964 * tree-ssa-sccvn.cc: ...here.
24965 * tree-ssa-scopedtables.c: Moved to...
24966 * tree-ssa-scopedtables.cc: ...here.
24967 * tree-ssa-sink.c: Moved to...
24968 * tree-ssa-sink.cc: ...here.
24969 * tree-ssa-strlen.c: Moved to...
24970 * tree-ssa-strlen.cc: ...here.
24971 * tree-ssa-structalias.c: Moved to...
24972 * tree-ssa-structalias.cc: ...here.
24973 * tree-ssa-tail-merge.c: Moved to...
24974 * tree-ssa-tail-merge.cc: ...here.
24975 * tree-ssa-ter.c: Moved to...
24976 * tree-ssa-ter.cc: ...here.
24977 * tree-ssa-threadbackward.c: Moved to...
24978 * tree-ssa-threadbackward.cc: ...here.
24979 * tree-ssa-threadedge.c: Moved to...
24980 * tree-ssa-threadedge.cc: ...here.
24981 * tree-ssa-threadupdate.c: Moved to...
24982 * tree-ssa-threadupdate.cc: ...here.
24983 * tree-ssa-uncprop.c: Moved to...
24984 * tree-ssa-uncprop.cc: ...here.
24985 * tree-ssa-uninit.c: Moved to...
24986 * tree-ssa-uninit.cc: ...here.
24987 * tree-ssa.c: Moved to...
24988 * tree-ssa.cc: ...here.
24989 * tree-ssanames.c: Moved to...
24990 * tree-ssanames.cc: ...here.
24991 * tree-stdarg.c: Moved to...
24992 * tree-stdarg.cc: ...here.
24993 * tree-streamer-in.c: Moved to...
24994 * tree-streamer-in.cc: ...here.
24995 * tree-streamer-out.c: Moved to...
24996 * tree-streamer-out.cc: ...here.
24997 * tree-streamer.c: Moved to...
24998 * tree-streamer.cc: ...here.
24999 * tree-switch-conversion.c: Moved to...
25000 * tree-switch-conversion.cc: ...here.
25001 * tree-tailcall.c: Moved to...
25002 * tree-tailcall.cc: ...here.
25003 * tree-vect-data-refs.c: Moved to...
25004 * tree-vect-data-refs.cc: ...here.
25005 * tree-vect-generic.c: Moved to...
25006 * tree-vect-generic.cc: ...here.
25007 * tree-vect-loop-manip.c: Moved to...
25008 * tree-vect-loop-manip.cc: ...here.
25009 * tree-vect-loop.c: Moved to...
25010 * tree-vect-loop.cc: ...here.
25011 * tree-vect-patterns.c: Moved to...
25012 * tree-vect-patterns.cc: ...here.
25013 * tree-vect-slp-patterns.c: Moved to...
25014 * tree-vect-slp-patterns.cc: ...here.
25015 * tree-vect-slp.c: Moved to...
25016 * tree-vect-slp.cc: ...here.
25017 * tree-vect-stmts.c: Moved to...
25018 * tree-vect-stmts.cc: ...here.
25019 * tree-vector-builder.c: Moved to...
25020 * tree-vector-builder.cc: ...here.
25021 * tree-vectorizer.c: Moved to...
25022 * tree-vectorizer.cc: ...here.
25023 * tree-vrp.c: Moved to...
25024 * tree-vrp.cc: ...here.
25025 * tree.c: Moved to...
25026 * tree.cc: ...here.
25027 * tsan.c: Moved to...
25028 * tsan.cc: ...here.
25029 * typed-splay-tree.c: Moved to...
25030 * typed-splay-tree.cc: ...here.
25031 * ubsan.c: Moved to...
25032 * ubsan.cc: ...here.
25033 * valtrack.c: Moved to...
25034 * valtrack.cc: ...here.
25035 * value-prof.c: Moved to...
25036 * value-prof.cc: ...here.
25037 * var-tracking.c: Moved to...
25038 * var-tracking.cc: ...here.
25039 * varasm.c: Moved to...
25040 * varasm.cc: ...here.
25041 * varpool.c: Moved to...
25042 * varpool.cc: ...here.
25043 * vec-perm-indices.c: Moved to...
25044 * vec-perm-indices.cc: ...here.
25045 * vec.c: Moved to...
25046 * vec.cc: ...here.
25047 * vmsdbgout.c: Moved to...
25048 * vmsdbgout.cc: ...here.
25049 * vr-values.c: Moved to...
25050 * vr-values.cc: ...here.
25051 * vtable-verify.c: Moved to...
25052 * vtable-verify.cc: ...here.
25053 * web.c: Moved to...
25054 * web.cc: ...here.
25055 * xcoffout.c: Moved to...
25056 * xcoffout.cc: ...here.
25057
25058 2022-01-17 qing zhao <qing.zhao@oracle.com>
25059
25060 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
25061 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
25062 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
25063 specially.
25064 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
25065 (warn_uninitialized_vars): Likewise.
25066 (warn_uninitialized_phi): Likewise.
25067
25068 2022-01-17 Jason Merrill <jason@redhat.com>
25069
25070 * diagnostic.h (struct diagnostic_context): Add includes_seen.
25071 * diagnostic.c (diagnostic_initialize): Initialize it.
25072 (diagnostic_finish): Clean it up.
25073 (includes_seen): New function.
25074 (diagnostic_report_current_module): Use it.
25075
25076 2022-01-17 Richard Biener <rguenther@suse.de>
25077
25078 PR middle-end/101292
25079 * diagnostic-spec.c (copy_warning): Make sure to not
25080 reference old hashtable content on possible resize.
25081 * warning-control.cc (copy_warning): Likewise.
25082
25083 2022-01-17 Jakub Jelinek <jakub@redhat.com>
25084
25085 PR target/103973
25086 * tree-cfg.h (cond_only_block_p): Declare.
25087 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
25088 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
25089 * optabs.def (spaceship_optab): New optab.
25090 * internal-fn.def (SPACESHIP): New internal function.
25091 * internal-fn.h (expand_SPACESHIP): Declare.
25092 * internal-fn.c (expand_PHI): Formatting fix.
25093 (expand_SPACESHIP): New function.
25094 * tree-ssa-math-opts.c (optimize_spaceship): New function.
25095 (math_opts_dom_walker::after_dom_children): Use it.
25096 * config/i386/i386.md (spaceship<mode>3): New define_expand.
25097 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
25098 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
25099 * doc/md.texi (spaceship@var{m}3): Document.
25100
25101 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
25102
25103 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
25104 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
25105 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
25106 known constant values to simplify code.
25107
25108 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
25109
25110 PR target/103124
25111 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
25112
25113 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
25114
25115 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
25116 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
25117 Insert zero-idiom in output template when attr enabled, set new attribute to
25118 true for non-mask/maskz insn.
25119 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
25120 Likewise.
25121 (avx512dq_mul<mode>3<mask_name>): Likewise.
25122 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
25123 (avx2_perm<mode>_1<mask_name>): Likewise.
25124 (avx512f_perm<mode>_1<mask_name>): Likewise.
25125 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
25126 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
25127 Likewise.
25128 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
25129 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
25130 Likewise.
25131 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
25132 subst_attr.
25133 (mask4_dest_false_dep_for_glc_cond): Likewise.
25134 (mask6_dest_false_dep_for_glc_cond): Likewise.
25135 (mask10_dest_false_dep_for_glc_cond): Likewise.
25136 (maskc_dest_false_dep_for_glc_cond): Likewise.
25137 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
25138 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
25139 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
25140 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
25141
25142 2022-01-15 Martin Sebor <msebor@redhat.com>
25143
25144 PR c/63272
25145 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
25146 -Wdangling-pointer.
25147 * doc/invoke.texi (-Wdangling-pointer): Document new option.
25148 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
25149 (pass_waccess::check_pointer_uses): New function.
25150 (pass_waccess::gimple_call_return_arg): New function.
25151 (pass_waccess::gimple_call_return_arg_ref): New function.
25152 (pass_waccess::check_call_dangling): New function.
25153 (pass_waccess::check_dangling_uses): New function overloads.
25154 (pass_waccess::check_dangling_stores): New function.
25155 (pass_waccess::check_dangling_stores): New function.
25156 (pass_waccess::m_clobbers): New data member.
25157 (pass_waccess::m_func): New data member.
25158 (pass_waccess::m_run_number): New data member.
25159 (pass_waccess::m_check_dangling_p): New data member.
25160 (pass_waccess::check_alloca): Check m_early_checks_p.
25161 (pass_waccess::check_alloc_size_call): Same.
25162 (pass_waccess::check_strcat): Same.
25163 (pass_waccess::check_strncat): Same.
25164 (pass_waccess::check_stxcpy): Same.
25165 (pass_waccess::check_stxncpy): Same.
25166 (pass_waccess::check_strncmp): Same.
25167 (pass_waccess::check_memop_access): Same.
25168 (pass_waccess::check_read_access): Same.
25169 (pass_waccess::check_builtin): Call check_pointer_uses.
25170 (pass_waccess::warn_invalid_pointer): Add arguments.
25171 (is_auto_decl): New function.
25172 (pass_waccess::check_stmt): New function.
25173 (pass_waccess::check_block): Call check_stmt.
25174 (pass_waccess::execute): Call check_dangling_uses,
25175 check_dangling_stores. Empty m_clobbers.
25176 * passes.def (pass_warn_access): Invoke pass two more times.
25177
25178 2022-01-15 Martin Sebor <msebor@redhat.com>
25179
25180 PR tree-optimization/80532
25181 * common.opt (-Wuse-after-free): New options.
25182 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
25183 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
25184 * diagnostic-spec.h (NW_DANGLING): New enumerator.
25185 * doc/invoke.texi (-Wuse-after-free): Document new option.
25186 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
25187 (pass_waccess::check_call_access): ...to this.
25188 (pass_waccess::check): Rename...
25189 (pass_waccess::check_block): ...to this.
25190 (pass_waccess::check_pointer_uses): New function.
25191 (pass_waccess::gimple_call_return_arg): New function.
25192 (pass_waccess::warn_invalid_pointer): New function.
25193 (pass_waccess::check_builtin): Handle free and realloc.
25194 (gimple_use_after_inval_p): New function.
25195 (get_realloc_lhs): New function.
25196 (maybe_warn_mismatched_realloc): New function.
25197 (pointers_related_p): New function.
25198 (pass_waccess::check_call): Call check_pointer_uses.
25199 (pass_waccess::execute): Compute and free dominance info.
25200
25201 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
25202
25203 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
25204 expand_simple_unop and expand_simple_binop instead of manually
25205 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
25206 consistently. Eliminate common subexpressions and simplify code.
25207 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
25208 (<any_logic:code><MODEF:mode>3): Make public.
25209
25210 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
25211
25212 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
25213 reverse flag as "reverse" for the sake of consistency.
25214 * ipa-sra.c: Fix copyright year.
25215 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
25216 (dump_isra_access): Tweak dump line.
25217 (isra_write_node_summary): Write the reverse flag.
25218 (isra_read_node_info): Read it.
25219 (pull_accesses_from_callee): Test its consistency and copy it.
25220
25221 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
25222
25223 PR middle-end/104026
25224 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
25225 partial_load_store_bias.
25226
25227 2022-01-14 Martin Sebor <msebor@redhat.com>
25228
25229 PR middle-end/101475
25230 * pointer-query.cc (handle_component_ref): Use the size of
25231 the enclosing object if it's smaller than the member.
25232
25233 2022-01-14 Martin Liska <mliska@suse.cz>
25234
25235 * configure: Regenerate.
25236
25237 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
25238
25239 * config/i386/i386.md (*add<mode>_1_slp"):
25240 Mark alternative 1 output operand earlyclobbered.
25241 (*sub<mode>_1_slp): Ditto.
25242 (*and<mode>_1_slp): Ditto.
25243 (*<code><mode>_1_slp): Ditto.
25244 (*neg<mode>_1_slp): Ditto.
25245 (*one_cmpl<mode>_1_slp): Ditto.
25246 (*ashl<mode>3_1_slp): Ditto.
25247 (*<insn><mode>3_1_slp): Ditto.
25248 (*<insn><mode>3_1_slp): Ditto.
25249
25250 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
25251
25252 PR tree-optimization/104015
25253 * tree-vect-loop.c (vect_analyze_loop): Check
25254 param_vect_partial_vector_usage for supports_partial_vectors.
25255
25256 2022-01-14 Jakub Jelinek <jakub@redhat.com>
25257
25258 PR c++/89074
25259 * fold-const.c (address_compare): Punt on comparison of address of
25260 one object with address of end of another object if
25261 folding_initializer.
25262
25263 2022-01-14 Jakub Jelinek <jakub@redhat.com>
25264
25265 PR target/98737
25266 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
25267 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
25268 and __atomic_op_fetch (p, x, y) iop x into
25269 __atomic_fetch_op (p, x, y).
25270
25271 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
25272
25273 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
25274 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
25275 (INCOMING_RETURN_ADDR_RTX): Likewise.
25276 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
25277
25278 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
25279
25280 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
25281 computin checking accumulator regs.
25282 (arc_expand_prologue): Update comments.
25283 (arc_expand_epilogue): Likewise.
25284
25285 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
25286 Uroš Bizjak <ubizjak@gmail.com>
25287
25288 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
25289 (ix86_expand_ti_to_v1ti): Use force_reg.
25290 (ix86_expand_v1ti_shift): Use force_reg.
25291 (ix86_expand_v1ti_rotate): Use force_reg.
25292 (ix86_expand_v1ti_ashiftrt): Provide new three operation
25293 implementations for shifts by 111..126 bits. Use force_reg.
25294
25295 2022-01-14 Martin Liska <mliska@suse.cz>
25296
25297 * common/config/arm/arm-common.c (arm_target_mode): Fix
25298 warning: unterminated quoting directive [-Wformat=].
25299
25300 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
25301
25302 PR tree-optimization/104009
25303 * tree-object-size.c (compute_builtin_object_size): Bail out on
25304 negative offset.
25305 (plus_stmt_object_size): Return maximum of wholesize and minimum
25306 of 0 for negative offset.
25307
25308 2022-01-14 liuhongt <hongtao.liu@intel.com>
25309
25310 PR target/104001
25311 PR target/94790
25312 PR target/104014
25313 * config/i386/i386.md (*xor2andn): Refine predicate of
25314 operands[0] from nonimmediate_operand to
25315 register_operand, remove TARGET_AVX512BW from condition.
25316
25317 2022-01-14 David Malcolm <dmalcolm@redhat.com>
25318
25319 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
25320 be used on field decls.
25321 (Common Function Attributes): Add entry on "tainted_args" attribute.
25322
25323 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
25324 Jason Merrill <jason@redhat.com>
25325
25326 PR c++/70417
25327 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
25328
25329 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
25330
25331 PR target/103861
25332 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
25333 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
25334 * config/i386/mmx.md (<any_shift:insn>v2qi):
25335 New insn_and_split pattern.
25336
25337 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
25338
25339 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
25340 (expand_partial_store_optab_fn): Likewise.
25341 (internal_len_load_store_bias): New function.
25342 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
25343 (internal_len_load_store_bias): New function.
25344 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
25345 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
25346 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
25347 (vect_estimate_min_profitable_iters): Account for bias.
25348 (vect_get_loop_len): Add bias-adjusted length.
25349 * tree-vect-stmts.c (vectorizable_store): Use.
25350 (vectorizable_load): Use.
25351 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
25352 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
25353 * config/rs6000/vsx.md: Use const0 bias predicate.
25354 * doc/md.texi: Document bias value.
25355
25356 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
25357
25358 PR tree-optimization/83072
25359 PR tree-optimization/83073
25360 PR tree-optimization/97909
25361 * fold-const.c (expr_not_equal_to): Use a multi-range class.
25362
25363 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
25364
25365 PR tree-optimization/96707
25366 * range-op.cc (operator_rshift::lhs_op1_relation): New.
25367
25368 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
25369
25370 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
25371 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
25372 (negv2qi splitters): Use lowpart_subreg instead of
25373 gen_lowpart to create subreg.
25374 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
25375 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
25376 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
25377 gen_lowpart to create subreg.
25378 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
25379
25380 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
25381
25382 PR target/104003
25383 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
25384
25385 2022-01-13 Martin Liska <mliska@suse.cz>
25386
25387 * common/config/arm/arm-common.c (arm_target_mode): Wrap
25388 keywords with %<, %> and remove trailing punctuation char.
25389 (arm_canon_arch_option_1): Likewise.
25390 (arm_asm_auto_mfpu): Likewise.
25391 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
25392 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
25393 (use_vfp_abi): Likewise.
25394 (aapcs_vfp_is_call_or_return_candidate): Likewise.
25395 (arm_handle_cmse_nonsecure_entry): Likewise.
25396 (arm_handle_cmse_nonsecure_call): Likewise.
25397 (thumb1_md_asm_adjust): Likewise.
25398
25399 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
25400
25401 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
25402 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
25403 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
25404 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
25405 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
25406 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
25407 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
25408 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
25409 macro.
25410
25411 2022-01-13 Jakub Jelinek <jakub@redhat.com>
25412
25413 PR tree-optimization/103989
25414 * tree-inline.c (setup_one_parameter): Don't copy parms with
25415 empty type.
25416
25417 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
25418
25419 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
25420 'TYPE_ADDR_SPACE' for offloading.
25421 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
25422 'TYPE_ADDR_SPACE' for offloading.
25423
25424 2022-01-13 Julian Brown <julian@codesourcery.com>
25425 Thomas Schwinge <thomas@codesourcery.com>
25426
25427 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
25428 of...
25429 (add_async_clauses_and_wait): ...here. Call new outlined function.
25430 (decompose_kernels_region_body): Add wait at the end of
25431 explicitly-asynchronous kernels regions.
25432
25433 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
25434
25435 PR middle-end/100280
25436 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
25437 Mark variables used in synthesized data clauses as addressable.
25438
25439 2022-01-13 Martin Liska <mliska@suse.cz>
25440
25441 * config/epiphany/epiphany.c (epiphany_mode_priority):
25442 Use gcc_unreachable for not handled cases.
25443
25444 2022-01-13 Martin Liska <mliska@suse.cz>
25445
25446 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
25447 Use %qs format specifier.
25448 (epiphany_override_options): Wrap keyword in %<, %>.
25449
25450 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
25451
25452 PR target/94790
25453 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
25454
25455 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
25456
25457 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
25458
25459 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
25460
25461 PR target/100637
25462 PR target/103861
25463 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
25464 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
25465 when constructing vector logic RTXes.
25466 (expand_vec_perm_pshufb2): Ditto.
25467 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
25468 (<plusminus:insn>v2qi3): Ditto.
25469 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
25470 (vcondu<mode><mode>): Ditto.
25471 (vcond_mask_<mode><mode>): Ditto.
25472 (one_cmpl<VI_32:mode>2): Remove expander.
25473 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
25474 Use VI_16_32 mode iterator.
25475 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
25476 Use lowpart_subreg instead of gen_lowpart to create subreg.
25477 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
25478 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
25479 Disparage GPR alternative a bit. Add CC clobber.
25480 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
25481 Use lowpart_subreg instead of gen_lowpart to create subreg.
25482 (*<any_logic:code><VI_16_32:mode>3): Merge from
25483 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
25484 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
25485 Add CC clobber.
25486 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
25487 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
25488
25489 2022-01-12 Clément Chigot <clement.chigot@atos.net>
25490
25491 * configure.ac: Check sizeof ino_t and dev_t.
25492 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
25493 syscall being able to handle 64bit inodes.
25494 * config.in: Regenerate.
25495 * configure: Regenerate.
25496 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
25497 (remove_duplicates): Use it.
25498
25499 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
25500
25501 PR tree-optimization/103551
25502 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
25503
25504 2022-01-12 Richard Biener <rguenther@suse.de>
25505
25506 PR tree-optimization/103990
25507 * tree-pass.h (tail_merge_optimize): Drop unused argument.
25508 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
25509 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
25510 and adjust call to tail_merge_optimize.
25511
25512 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
25513
25514 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
25515 does not add autovectorize_vector_modes.
25516
25517 2022-01-12 Martin Liska <mliska@suse.cz>
25518
25519 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
25520 %qs where possible.
25521 (aarch64_parse_sve_width_string): Likewise.
25522 (aarch64_override_options_internal): Likewise.
25523 (aarch64_print_hint_for_extensions): Likewise.
25524 (aarch64_validate_sls_mitigation): Likewise.
25525 (aarch64_handle_attr_arch): Likewise.
25526 (aarch64_handle_attr_cpu): Likewise.
25527 (aarch64_handle_attr_tune): Likewise.
25528 (aarch64_handle_attr_isa_flags): Likewise.
25529
25530 2022-01-12 Martin Liska <mliska@suse.cz>
25531
25532 * config.gcc: Include elfos.h before ${tm_file}.
25533
25534 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
25535
25536 * config/cris/cris.c: Quote identifiers in parameters to error
25537 and internal_error, and remove extraneous spaces with punctuation.
25538 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
25539 expression to internal_error, pass it as a parameter instead of
25540 appending it to the format part.
25541
25542 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
25543
25544 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
25545 parameter to as_a.
25546
25547 2022-01-11 qing zhao <qing.zhao@oracle.com>
25548
25549 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
25550 Change the 3rd argument of function .DEFERRED_INIT to the name of the
25551 decl.
25552 (gimplify_decl_expr): Delete the 3rd argument when call
25553 gimple_add_init_for_auto_var.
25554 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
25555 the 3rd argument change of function .DEFERRED_INIT.
25556 * tree-cfg.c (verify_gimple_call): Update comments and verification
25557 to reflect the 3rd argument change of function .DEFERRED_INIT.
25558 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
25559 (sra_modify_deferred_init): Change the 3rd argument of function
25560 .DEFERRED_INIT to the name of the decl.
25561
25562 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
25563
25564 * flag-types.h (enum gfc_convert): Add flags for
25565 conversion.
25566
25567 2022-01-11 Michael Meissner <meissner@the-meissners.org>
25568
25569 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
25570 checks for only C/C++ front ends before allowing the long double
25571 format to change without a warning.
25572
25573 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
25574
25575 PR rtl-optimization/103974
25576 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
25577 extra argument, default true, that says whether old-reload
25578 targets should be excluded.
25579 * ira-color.c (color_pass): Pass false.
25580
25581 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
25582
25583 PR target/103861
25584 * config/i386/mmx.md (vcond<mode><mode>):
25585 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
25586 (vcondu<mode><mode>): Ditto.
25587 (vcond_mask_<mode><mode>): Ditto.
25588 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
25589 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
25590 Use VI_16_32 mode iterator.
25591 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
25592 Update for rename. Handle V2QImode.
25593 (expand_vec_perm_blend): Update for rename.
25594
25595 2022-01-11 Jakub Jelinek <jakub@redhat.com>
25596
25597 PR c++/101597
25598 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
25599
25600 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
25601
25602 PR middle-end/70090
25603 * tree-object-size.c (size_valid_p): New function.
25604 (size_for_offset): Remove OFFSET constness assertion.
25605 (addr_object_size): Build dynamic expressions for object
25606 sizes and use size_valid_p to decide if it is valid for the
25607 given OBJECT_SIZE_TYPE.
25608 (compute_builtin_object_size): Allow dynamic offsets when
25609 computing size at O0.
25610 (call_object_size): Call size_valid_p.
25611 (plus_stmt_object_size): Allow non-constant offset and use
25612 size_valid_p to decide if it is valid for the given
25613 OBJECT_SIZE_TYPE.
25614
25615 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
25616
25617 PR middle-end/70090
25618 * tree-object-size.c (alloc_object_size): Make and return
25619 non-constant size expression.
25620 (call_object_size): Return expression or unknown based on
25621 whether dynamic object size is requested.
25622
25623 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
25624
25625 PR middle-end/70090
25626 * tree-object-size.c: Include tree-dfa.h.
25627 (parm_object_size): New function.
25628 (collect_object_sizes_for): Call it.
25629
25630 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
25631
25632 PR middle-end/70090
25633 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
25634 expressions.
25635 * tree-object-size.c: Include gimplify-me.h.
25636 (struct object_size_info): New member UNKNOWNS.
25637 (size_initval_p, size_usable_p, object_sizes_get_raw): New
25638 functions.
25639 (object_sizes_get): Return suitable gimple variable for
25640 object size.
25641 (bundle_sizes): New function.
25642 (object_sizes_set): Use it and handle dynamic object size
25643 expressions.
25644 (object_sizes_set_temp): New function.
25645 (size_for_offset): Adjust for dynamic size expressions.
25646 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
25647 New functions.
25648 (compute_builtin_object_size): Call gimplify_size_expressions
25649 for OST_DYNAMIC.
25650 (dynamic_object_size): New function.
25651 (cond_expr_object_size): Use it.
25652 (phi_dynamic_object_size): New function.
25653 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
25654 accommodate dynamic object sizes.
25655
25656 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
25657 Jakub Jelinek <jakub@redhat.com>
25658
25659 PR tree-optimization/103961
25660 * tree-object-size.c (plus_stmt_object_size): Always avoid
25661 computing offset for -1 size.
25662
25663 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
25664
25665 PR tree-optimization/103821
25666 * range-op.cc (range_operator::fold_range): Only do precise ranges
25667 when there are not too many subranges.
25668
25669 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
25670
25671 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
25672 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
25673
25674 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
25675 Richard Biener <rguenther@suse.de>
25676
25677 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
25678 highpart_mults_inserted field.
25679 (convert_mult_to_highpart): New function to convert right shift
25680 of a widening multiply into a MULT_HIGHPART_EXPR.
25681 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
25682 Call new convert_mult_to_highpart function.
25683 (pass_optimize_widening_mul::execute): Add a statistics counter
25684 for tracking "highpart multiplications inserted" events.
25685
25686 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
25687
25688 PR target/102239
25689 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
25690 declare.
25691 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
25692 function.
25693 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
25694
25695 2022-01-11 Olivier Hainque <hainque@adacore.com>
25696
25697 * gcc.c (driver_handle_option): State --sysroot as
25698 validated.
25699
25700 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
25701
25702 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
25703 useless related to option -mno-power10.
25704
25705 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
25706
25707 PR target/53652
25708 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
25709 operands[1] from register_operand to vector_operand.
25710
25711 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
25712
25713 PR target/103861
25714 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
25715 Handle V2QImode.
25716 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
25717 Use VI1_16_32 mode iterator.
25718 (*eq<mode>3): Ditto.
25719 (*gt<mode>3): Ditto.
25720 (*xop_maskcmp<mode>3): Ditto.
25721 (*xop_maskcmp_uns<mode>3): Ditto.
25722 (vec_cmp<mode><mode>): Ditto.
25723 (vec_cmpu<mode><mode>): Ditto.
25724
25725 2022-01-10 Richard Biener <rguenther@suse.de>
25726
25727 PR tree-optimization/103948
25728 * tree-vect-generic.c (expand_vector_condition): Return true if
25729 all ones vector is returned for true, all zeros vector for false
25730 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
25731
25732 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
25733
25734 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
25735 when _ARCH_PWR10. Use signed types.
25736 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
25737 (_mm_blendv_pd): Likewise.
25738
25739 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
25740
25741 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
25742 epilogue costing.
25743 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
25744 epilogues, unless we are guaranteed that we can't have partial vectors.
25745 * genopinit.c: (partial_vectors_supported): Generate new function.
25746
25747 2022-01-10 Jakub Jelinek <jakub@redhat.com>
25748
25749 PR target/102024
25750 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
25751 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
25752 always ignore them, when seeing other zero sized bitfields, either
25753 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
25754 it. Pass it to recursive calls. Add wrapper
25755 with old arguments and diagnose ABI differences for C structures
25756 with zero width bitfields. Formatting fixes.
25757
25758 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
25759
25760 PR rtl-optimization/98782
25761 * ira-int.h (ira_soft_conflict): Declare.
25762 * ira-color.c (max_soft_conflict_loop_depth): New constant.
25763 (ira_soft_conflict): New function.
25764 (spill_soft_conflicts): Likewise.
25765 (assign_hard_reg): Use them to handle the case described by
25766 the comment above ira_soft_conflict.
25767 (improve_allocation): Likewise.
25768 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
25769 to share the same register.
25770
25771 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
25772
25773 PR rtl-optimization/98782
25774 * ira-int.h (ira_caller_save_cost): New function.
25775 (ira_caller_save_loop_spill_p): Likewise.
25776 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
25777 cheaper to spill a call-clobbered register throughout a loop rather
25778 than spill it around each individual call. If so, treat all
25779 call-clobbered registers as conflicts and...
25780 (propagate_allocno_info): ...do not propagate call information
25781 from the child to the parent.
25782 * ira-color.c (move_spill_restore): Update accordingly.
25783 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
25784
25785 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
25786
25787 PR rtl-optimization/98782
25788 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
25789 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
25790 (ira_single_region_allocno_p): New function.
25791 (ira_total_conflict_hard_regs): Likewise.
25792 * ira-build.c (ira_create_allocno): Initialize
25793 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
25794 (ira_propagate_hard_reg_costs): New function.
25795 (propagate_allocno_info): Use it. Try to avoid propagating
25796 hard register conflicts to parent allocnos if we can handle
25797 the conflicts by spilling instead. Limit the propagated
25798 register costs to the cost of spilling throughout the child loop.
25799 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
25800 test whether a child and parent allocno can share the same
25801 register.
25802 (move_spill_restore): Adjust for the new behavior of
25803 propagate_allocno_info.
25804
25805 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
25806
25807 PR rtl-optimization/98782
25808 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
25809 extracted from...
25810 * ira-color.c (color_pass): ...here.
25811
25812 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
25813
25814 PR rtl-optimization/98782
25815 * ira-color.c (color_pass): Add comments to describe the spill costs.
25816 (move_spill_restore): Likewise. Fix reversed calculation.
25817
25818 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
25819
25820 PR rtl-optimization/98782
25821 * ira-int.h (ira_loop_border_costs): New class.
25822 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
25823 New constructor.
25824 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
25825 (color_pass): Likewise.
25826 (move_spill_restore): Likewise.
25827
25828 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
25829
25830 PR target/103465
25831 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
25832
25833 2022-01-10 Richard Biener <rguenther@suse.de>
25834
25835 PR tree-optimization/100359
25836 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
25837 Allow non-growing peeling with !allow_peel and UL_ALL.
25838
25839 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
25840
25841 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
25842 special case for TImode to V1TImode moves, going via V2DImode.
25843
25844 2022-01-08 Jakub Jelinek <jakub@redhat.com>
25845
25846 PR c++/89074
25847 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
25848 simplification.
25849
25850 2022-01-08 David Malcolm <dmalcolm@redhat.com>
25851
25852 * doc/analyzer.texi
25853 (Special Functions for Debugging the Analyzer): Document
25854 __analyzer_dump_escaped.
25855
25856 2022-01-08 David Malcolm <dmalcolm@redhat.com>
25857
25858 * doc/analyzer.texi (Other Debugging Techniques): Document
25859 region::is_named_decl_p.
25860
25861 2022-01-07 Andrew Pinski <apinski@marvell.com>
25862
25863 PR target/102941
25864 * config/arm/aarch-common.c (arm_md_asm_adjust):
25865 Use a temp if !REG_P.
25866
25867 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
25868
25869 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
25870 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
25871
25872 2022-01-07 liuhongt <hongtao.liu@intel.com>
25873
25874 PR rtl-optimization/103750
25875 * fwprop.c (forward_propagate_into): Allow propagations from
25876 inner loop to outer loop.
25877
25878 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
25879
25880 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
25881
25882 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
25883
25884 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
25885 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
25886 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
25887
25888 2022-01-07 liuhongt <hongtao.liu@intel.com>
25889
25890 * config/i386/sse.md
25891 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
25892 UNSPEC_PCMP_UNSIGNED.
25893
25894 2022-01-07 liuhongt <hongtao.liu@intel.com>
25895
25896 PR target/103753
25897 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
25898 gen_avx2_pblendph_1 when elt == 0.
25899 * config/i386/sse.md (avx2_pblendph): Rename to ..
25900 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
25901 (*avx2_pblendw): Rename to ..
25902 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
25903 (avx2_pblendw): Rename to ..
25904 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
25905 (blendsuf): Removed.
25906 (sse4_1_pblend<blendsuf>): Renamed to ..
25907 (sse4_1_pblend<ssemodesuffix>): .. this.
25908
25909 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
25910
25911 PR target/103925
25912 * config/i386/i386.c (ix86_output_indirect_function_return):
25913 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
25914
25915 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
25916
25917 PR target/102952
25918 * config/i386/i386-opts.h (harden_sls): Replace
25919 harden_sls_indirect_branch with harden_sls_indirect_jmp.
25920 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
25921 Likewise.
25922 (ix86_output_indirect_jmp): Likewise.
25923 (ix86_output_call_insn): Likewise.
25924 * config/i386/i386.opt: Replace indirect-branch with
25925 indirect-jmp. Replace harden_sls_indirect_branch with
25926 harden_sls_indirect_jmp.
25927 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
25928 indirect-jmp.
25929
25930 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
25931
25932 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
25933 Add %q modifier for operands in general registers.
25934 <MODE_SI>: Add %q modifier for operands in general registers.
25935 * config/i386/i386.md (*movhi_internal): Change type attribute of
25936 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
25937 to SImode for non-avx512fp16 targets.
25938 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
25939 * config/i386/mmx.md (*movv2qi_internal):
25940 Ditto for xmm-gpr interunit alternatives 8,9.
25941
25942 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
25943
25944 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
25945 vector extensions.
25946 (riscv_ext_version_table): Add version info for vector extensions.
25947 (riscv_ext_flag_table): Add option mask for vector extensions.
25948 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
25949 (MASK_VECTOR_EEW_64): New.
25950 (MASK_VECTOR_EEW_FP_32): New.
25951 (MASK_VECTOR_EEW_FP_64): New.
25952 (MASK_ZVL32B): New.
25953 (MASK_ZVL64B): New.
25954 (MASK_ZVL128B): New.
25955 (MASK_ZVL256B): New.
25956 (MASK_ZVL512B): New.
25957 (MASK_ZVL1024B): New.
25958 (MASK_ZVL2048B): New.
25959 (MASK_ZVL4096B): New.
25960 (MASK_ZVL8192B): New.
25961 (MASK_ZVL16384B): New.
25962 (MASK_ZVL32768B): New.
25963 (MASK_ZVL65536B): New.
25964 (TARGET_ZVL32B): New.
25965 (TARGET_ZVL64B): New.
25966 (TARGET_ZVL128B): New.
25967 (TARGET_ZVL256B): New.
25968 (TARGET_ZVL512B): New.
25969 (TARGET_ZVL1024B): New.
25970 (TARGET_ZVL2048B): New.
25971 (TARGET_ZVL4096B): New.
25972 (TARGET_ZVL8192B): New.
25973 (TARGET_ZVL16384B): New.
25974 (TARGET_ZVL32768B): New.
25975 (TARGET_ZVL65536B): New.
25976 * config/riscv/riscv.opt (Mask(VECTOR)): New.
25977 (riscv_vector_eew_flags): New.
25978 (riscv_zvl_flags): New.
25979
25980 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
25981
25982 * common/config/riscv/riscv-common.c
25983 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
25984 digit.
25985
25986 2022-01-06 Jakub Jelinek <jakub@redhat.com>
25987
25988 PR tree-optimization/103899
25989 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
25990 warning by moving context variable to the only spot where it is used
25991 and moving gcc_assert into if body.
25992
25993 2022-01-06 Jakub Jelinek <jakub@redhat.com>
25994
25995 PR rtl-optimization/103908
25996 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
25997 asm goto.
25998
25999 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
26000
26001 PR target/103622
26002 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
26003 Skip over instances with undefined function types.
26004
26005 2022-01-05 Andrew Pinski <apinski@marvell.com>
26006
26007 PR target/103910
26008 * config/i386/i386.h (x86_mfence): Mark with GTY.
26009
26010 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
26011
26012 PR target/103861
26013 * config/i386/mmx.md (VI_16_32): New mode iterator.
26014 (VI1_16_32): Ditto.
26015 (mmxvecsize): Handle V2QI mode.
26016 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
26017 Use VI1_16_32 mode iterator.
26018 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
26019 Use VI1_16_32 mode iterator.
26020 (abs<mode>2): Use VI_16_32 mode iterator.
26021 (uavgv2qi3_ceil): New insn pattern.
26022
26023 2022-01-05 Martin Sebor <msebor@redhat.com>
26024
26025 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
26026 %qs to avoid -Wformat-diag.
26027
26028 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
26029
26030 PR target/103915
26031 * config/i386/mmx.md (one_cmplv2qi2): Change
26032 alternatives 1,2 type from sselog to sselog1.
26033
26034 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
26035
26036 PR target/103905
26037 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
26038 narrow mode remapped elements for !one_operand_p case.
26039
26040 2022-01-05 Richard Biener <rguenther@suse.de>
26041
26042 PR tree-optimization/103816
26043 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
26044 check DR_GROUP_GAP compute for overflow and representability.
26045
26046 2022-01-05 Jakub Jelinek <jakub@redhat.com>
26047
26048 PR fortran/103691
26049 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
26050 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
26051 it can do unwanted rhs folding like &a[0] into &2.0 etc.
26052
26053 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
26054
26055 PR ipa/102059
26056 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
26057 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
26058 (rs6000_need_ipa_fn_target_info): New function.
26059 (rs6000_update_ipa_fn_target_info): Likewise.
26060 (rs6000_can_inline_p): Adjust for ipa function summary target info.
26061 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
26062 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
26063 summary target info.
26064 (analyze_function_body): Adjust for ipa function summary target info
26065 and call hook rs6000_need_ipa_fn_target_info and
26066 rs6000_update_ipa_fn_target_info.
26067 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
26068 target info.
26069 (inline_read_section): Likewise.
26070 (ipa_fn_summary_write): Likewise.
26071 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
26072 * doc/tm.texi: Regenerate.
26073 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
26074 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
26075 * target.def (update_ipa_fn_target_info): New hook.
26076 (need_ipa_fn_target_info): Likewise.
26077 * targhooks.c (default_need_ipa_fn_target_info): New function.
26078 (default_update_ipa_fn_target_info): Likewise.
26079 * targhooks.h (default_update_ipa_fn_target_info): New declare.
26080 (default_need_ipa_fn_target_info): Likewise.
26081
26082 2022-01-04 Martin Sebor <msebor@redhat.com>
26083
26084 PR middle-end/99612
26085 * builtins.c (get_memmodel): Move warning code to
26086 gimple-ssa-warn-access.cc.
26087 (expand_builtin_atomic_compare_exchange): Same.
26088 (expand_ifn_atomic_compare_exchange): Same.
26089 (expand_builtin_atomic_load): Same.
26090 (expand_builtin_atomic_store): Same.
26091 (expand_builtin_atomic_clear): Same.
26092 * doc/extend.texi (__atomic_exchange_n): Update valid memory
26093 models.
26094 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
26095 (struct memmodel_pair): New struct.
26096 (memmodel_name): New function.
26097 (pass_waccess::maybe_warn_memmodel): New function.
26098 (pass_waccess::check_atomic_memmodel): New function.
26099 (pass_waccess::check_atomic_builtin): Handle memory model.
26100 * input.c (expansion_point_location_if_in_system_header): Return
26101 original location if expansion location is in a system header.
26102
26103 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
26104
26105 PR target/103861
26106 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
26107 (one_cmplv2qi3 splitters): New post-reload splitters.
26108 (*andnotv2qi3): New insn pattern.
26109 (andnotv2qi3 splitters): New post-reload splitters.
26110 (<any_logic:code>v2qi3): New insn pattern.
26111 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
26112
26113 2022-01-04 Richard Biener <rguenther@suse.de>
26114
26115 PR tree-optimization/103800
26116 * tree-vect-loop.c (vectorizable_phi): Remove assert and
26117 expand comment.
26118
26119 2022-01-04 Richard Biener <rguenther@suse.de>
26120
26121 PR tree-optimization/103690
26122 * tree-pass.h (tail_merge_optimize): Adjust.
26123 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
26124 to re-split critical edges, move CFG cleanup ...
26125 * tree-ssa-pre.c (pass_pre::execute): ... here, before
26126 simple_dce_from_worklist and delay freeing inserted_exprs from
26127 ...
26128 (fini_pre): .. here.
26129
26130 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
26131
26132 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
26133 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
26134 (setcc_from_bi): Remove SImode specific pattern.
26135 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
26136 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
26137 for sign- and zero-extending BImode predicates to integers.
26138 (setcc_int<mode>): Remove previous (-1-based) instructions.
26139 (cstorebi4): Remove BImode to SImode specific expander.
26140 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
26141 (cstore<mode>4): For both integer and floating point modes.
26142
26143 2022-01-04 Olivier Hainque <hainque@adacore.com>
26144
26145 * gcc.c (driver_handle_option): do_save --sysroot.
26146
26147 2022-01-04 Richard Biener <rguenther@suse.de>
26148
26149 PR tree-optimization/103864
26150 PR tree-optimization/103544
26151 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
26152 reductions wrapped in conversions from SLP handling.
26153 (vect_analyze_slp): Revert PR103544 change.
26154
26155 2022-01-04 Jakub Jelinek <jakub@redhat.com>
26156
26157 PR rtl-optimization/103860
26158 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
26159 uselessly for blocks for which it has been called already.
26160
26161 2022-01-04 Cui,Lili <lili.cui@intel.com>
26162
26163 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
26164 to Alderlake and Rocketlake.
26165
26166 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
26167
26168 PR middle-end/103643
26169 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
26170 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
26171
26172 2022-01-04 liuhongt <hongtao.liu@intel.com>
26173
26174 PR target/103895
26175 * config/i386/sse.md (*bit_and_float_vector_all_ones):
26176 Force_reg operand 1 to avoid ICE.
26177
26178 2022-01-04 Jason Merrill <jason@redhat.com>
26179
26180 * tree-pretty-print.c (do_niy): Add spc parameter.
26181 (NIY): Pass it.
26182 (print_call_name): Add spc local variable.
26183
26184 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
26185
26186 PR target/103894
26187 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
26188 (mov<V_32:mode>_internal): Ditto.
26189 (*push<V_32:mode>_rex64): Ditto.
26190 (movmisalign<V_32:mode>): Ditto.
26191 (*push<V_32:mode>_rex64 splitter): Enable for
26192 TARGET_64BIT && TARGET_SSE.
26193 (*push<V_32:mode>2): Remove insn pattern.
26194
26195 2022-01-03 Andrew Pinski <apinski@marvell.com>
26196
26197 PR c/33193
26198 * doc/extend.texi: Extend the documentation about Complex
26199 types for casting and also rewrite the __real__/__imag__
26200 expression portion to use tables.
26201 Move __builtin_complex to the Complex type section.
26202
26203 2022-01-03 Jakub Jelinek <jakub@redhat.com>
26204
26205 PR target/98737
26206 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
26207 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
26208 New internal fns.
26209 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
26210 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
26211 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
26212 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
26213 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
26214 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
26215 functions.
26216 * optabs.def (atomic_add_fetch_cmp_0_optab,
26217 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
26218 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
26219 direct optabs.
26220 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
26221 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
26222 * tree-ssa-ccp.c: Include internal-fn.h.
26223 (optimize_atomic_bit_test_and): Add . before internal fn call
26224 in function comment. Change return type from void to bool and
26225 return true only if successfully replaced.
26226 (optimize_atomic_op_fetch_cmp_0): New function.
26227 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
26228 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
26229 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
26230 for *XOR* ones only if optimize_atomic_bit_test_and failed.
26231 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
26232 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
26233 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
26234 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
26235 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
26236 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
26237 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
26238 new named patterns.
26239
26240 2022-01-03 Richard Biener <rguenther@suse.de>
26241
26242 PR middle-end/103851
26243 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
26244
26245 2022-01-03 Jakub Jelinek <jakub@redhat.com>
26246
26247 PR c++/94716
26248 * symtab.c: Include fold-const.h.
26249 (symtab_node::equal_address_to): If folding_initializer is true,
26250 handle it like memory_accessed. Simplify.
26251
26252 2022-01-03 Martin Liska <mliska@suse.cz>
26253
26254 * doc/extend.texi: Use ; for function declarations.
26255
26256 2022-01-03 Jakub Jelinek <jakub@redhat.com>
26257
26258 PR c++/103600
26259 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
26260 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
26261
26262 2022-01-03 Jakub Jelinek <jakub@redhat.com>
26263
26264 * gcc.c (process_command): Update copyright notice dates.
26265 * gcov-dump.c (print_version): Ditto.
26266 * gcov.c (print_version): Ditto.
26267 * gcov-tool.c (print_version): Ditto.
26268 * gengtype.c (create_file): Ditto.
26269 * doc/cpp.texi: Bump @copying's copyright year.
26270 * doc/cppinternals.texi: Ditto.
26271 * doc/gcc.texi: Ditto.
26272 * doc/gccint.texi: Ditto.
26273 * doc/gcov.texi: Ditto.
26274 * doc/install.texi: Ditto.
26275 * doc/invoke.texi: Ditto.
26276
26277 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
26278
26279 PR target/103861
26280 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
26281 (VALID_INT_MODE_P): Ditto.
26282 * config/i386/i386.c (ix86_secondary_reload): Handle
26283 V2QImode reloads from SSE register to memory.
26284 (vector_mode_supported_p): Always return true for V2QImode.
26285 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
26286 (*negqi_ext<mode>_2): Ditto.
26287 * config/i386/mmx.md (movv2qi): New expander.
26288 (movmisalignv2qi): Ditto.
26289 (*movv2qi_internal): New insn pattern.
26290 (*pushv2qi2): Ditto.
26291 (negv2qi2 and splitters): Ditto.
26292 (<plusminus:insn>v2qi3 and splitters): Ditto.
26293
26294 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
26295
26296 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
26297 sync_lock_test_and_set libfunc. Call convert_memory_address to
26298 convert memory address to Pmode.
26299 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
26300
26301 \f
26302 Copyright (C) 2022 Free Software Foundation, Inc.
26303
26304 Copying and distribution of this file, with or without modification,
26305 are permitted in any medium without royalty provided the copyright
26306 notice and this notice are preserved.
This page took 1.111386 seconds and 5 git commands to generate.