]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2021-04-20 H.J. Lu <hjl.tools@gmail.com>
2
3 * config/i386/i386-c.c (ix86_target_macros_internal): Define
4 __CRC32__ for -mcrc32.
5 * config/i386/i386-options.c (ix86_option_override_internal):
6 Enable crc32 instruction for -msse4.2.
7 * config/i386/i386.md (sse4_2_crc32<mode>): Remove TARGET_SSE4_2
8 check.
9 (sse4_2_crc32di): Likewise.
10 * config/i386/ia32intrin.h: Use crc32 target option for CRC32
11 intrinsics.
12
13 2021-04-20 Segher Boessenkool <segher@kernel.crashing.org>
14
15 PR target/100108
16 * config/rs6000/rs6000.c (rs6000_machine_from_flags): Do not consider
17 OPTION_MASK_ISEL.
18
19 2021-04-20 Martin Liska <mliska@suse.cz>
20
21 * doc/invoke.texi: Fix typo.
22 * params.opt: Likewise.
23
24 2021-04-20 Martin Liska <mliska@suse.cz>
25
26 * doc/invoke.texi: Document new param.
27
28 2021-04-19 Andrew MacLeod <amacleod@redhat.com>
29
30 PR tree-optimization/100081
31 * gimple-range-cache.h (ranger_cache): Inherit from gori_compute
32 rather than gori_compute_cache.
33 * gimple-range-gori.cc (is_gimple_logical_p): Move to top of file.
34 (range_def_chain::m_logical_depth): New member.
35 (range_def_chain::range_def_chain): Initialize m_logical_depth.
36 (range_def_chain::get_def_chain): Don't build defchains through more
37 than LOGICAL_LIMIT logical expressions.
38 * params.opt (param_ranger_logical_depth): New.
39
40 2021-04-19 Richard Earnshaw <rearnsha@arm.com>
41
42 PR target/100067
43 * config/arm/arm.c (arm_configure_build_target): Do not strip
44 extended FPU/SIMD feature bits from the target ISA when -mfpu
45 is specified (partial revert of r11-8168).
46
47 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
48
49 * params.opt (-param=openacc-kernels=): Add.
50 * omp-oacc-kernels-decompose.cc
51 (pass_omp_oacc_kernels_decompose::gate): Use it.
52 * doc/invoke.texi (-fopenacc-kernels=@var{mode}): Move...
53 (--param): ... here, 'openacc-kernels'.
54
55 2021-04-19 Martin Liska <mliska@suse.cz>
56
57 PR c/100143
58 * gengtype.c (finish_root_table): Align function arguments
59 in between declaration and definition.
60
61 2021-04-19 Eric Botcazou <ebotcazou@adacore.com>
62
63 * config/i386/winnt.c (i386_pe_seh_cold_init): Properly deal with
64 frames larger than the SEH maximum frame size.
65
66 2021-04-18 Segher Boessenkool <segher@kernel.crashing.org>
67
68 PR rtl-optimization/99927
69 * combine.c (distribute_notes) [REG_UNUSED]: If the register already
70 is dead, just drop it.
71
72 2021-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
73
74 PR d/99914
75 * config/i386/winnt-d.c (TARGET_D_TEMPLATES_ALWAYS_COMDAT): Define.
76 * doc/tm.texi: Regenerate.
77 * doc/tm.texi.in (D language and ABI): Add @hook for
78 TARGET_D_TEMPLATES_ALWAYS_COMDAT.
79
80 2021-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
81
82 * config/darwin-d.c (darwin_d_handle_target_object_format): New
83 function.
84 (darwin_d_register_target_info): New function.
85 (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
86 * config/dragonfly-d.c (dragonfly_d_handle_target_object_format): New
87 function.
88 (dragonfly_d_register_target_info): New function.
89 (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
90 * config/freebsd-d.c (freebsd_d_handle_target_object_format): New
91 function.
92 (freebsd_d_register_target_info): New function.
93 (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
94 * config/glibc-d.c (glibc_d_handle_target_object_format): New
95 function.
96 (glibc_d_register_target_info): New function.
97 (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
98 * config/i386/i386-d.c (ix86_d_handle_target_object_format): New
99 function.
100 (ix86_d_register_target_info): Add ix86_d_handle_target_object_format
101 as handler for objectFormat key.
102 * config/i386/winnt-d.c (winnt_d_handle_target_object_format): New
103 function.
104 (winnt_d_register_target_info): New function.
105 (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
106 * config/netbsd-d.c (netbsd_d_handle_target_object_format): New
107 function.
108 (netbsd_d_register_target_info): New function.
109 (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
110 * config/openbsd-d.c (openbsd_d_handle_target_object_format): New
111 function.
112 (openbsd_d_register_target_info): New function.
113 (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
114 * config/pa/pa-d.c (pa_d_handle_target_object_format): New function.
115 (pa_d_register_target_info): Add pa_d_handle_target_object_format as
116 handler for objectFormat key.
117 * config/rs6000/rs6000-d.c (rs6000_d_handle_target_object_format): New
118 function.
119 (rs6000_d_register_target_info): Add
120 rs6000_d_handle_target_object_format as handler for objectFormat key.
121 * config/sol2-d.c (solaris_d_handle_target_object_format): New
122 function.
123 (solaris_d_register_target_info): New function.
124 (TARGET_D_REGISTER_OS_TARGET_INFO): Define.
125
126 2021-04-16 Jakub Jelinek <jakub@redhat.com>
127
128 PR target/91710
129 * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Change
130 abi_break argument from bool * to unsigned *, store there the pre-GCC 9
131 alignment.
132 (aarch64_layout_arg, aarch64_gimplify_va_arg_expr): Adjust callers.
133 (aarch64_function_arg_regno_p): Likewise. Only emit -Wpsabi note if
134 the old and new alignment after applying MIN/MAX to it is different.
135
136 2021-04-16 Tamar Christina <tamar.christina@arm.com>
137
138 PR target/100048
139 * config/aarch64/aarch64-sve.md (@aarch64_sve_trn1_conv<mode>): New.
140 * config/aarch64/aarch64.c (aarch64_expand_sve_const_pred_trn): Use new
141 TRN optab.
142 * config/aarch64/iterators.md (UNSPEC_TRN1_CONV): New.
143
144 2021-04-16 Bill Schmidt <wschmidt@linux.ibm.com>
145
146 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions): Revise
147 this section and its subsections.
148
149 2021-04-16 Jakub Jelinek <jakub@redhat.com>
150
151 PR target/100075
152 * config/aarch64/aarch64.md (*neg_asr_si2_extr, *extrsi5_insn_di): New
153 define_insn patterns.
154
155 2021-04-16 Richard Sandiford <richard.sandiford@arm.com>
156
157 PR rtl-optimization/98689
158 * reg-notes.def (UNTYPED_CALL): New note.
159 * combine.c (distribute_notes): Handle it.
160 * emit-rtl.c (try_split): Likewise.
161 * rtlanal.c (rtx_properties::try_to_add_insn): Likewise. Assume
162 that calls with the note implicitly set all return value registers.
163 * builtins.c (expand_builtin_apply): Add a REG_UNTYPED_CALL
164 to untyped_calls.
165
166 2021-04-16 Richard Sandiford <richard.sandiford@arm.com>
167
168 PR rtl-optimization/99596
169 * rtlanal.c (rtx_properties::try_to_add_insn): Don't add global
170 register accesses for const calls. Assume that pure functions
171 can only read from global registers. Ignore cases in which
172 the stack pointer has been marked global.
173
174 2021-04-16 Jakub Jelinek <jakub@redhat.com>
175
176 PR target/99767
177 * tree-vect-loop.c (vect_transform_loop): Don't remove just
178 dead scalar .MASK_LOAD calls, but also dead .COND_* calls - replace
179 them by their last argument.
180
181 2021-04-15 Martin Liska <mliska@suse.cz>
182
183 * doc/invoke.texi: Other params don't use it, remove it.
184
185 2021-04-15 Richard Biener <rguenther@suse.de>
186
187 * gimple-builder.h: Add deprecation note.
188
189 2021-04-15 Richard Sandiford <richard.sandiford@arm.com>
190
191 PR c++/98852
192 * attribs.h (restrict_type_identity_attributes_to): Declare.
193 * attribs.c (restrict_type_identity_attributes_to): New function.
194
195 2021-04-15 Richard Sandiford <richard.sandiford@arm.com>
196
197 PR c/98852
198 * attribs.h (affects_type_identity_attributes): Declare.
199 * attribs.c (remove_attributes_matching): New function.
200 (affects_type_identity_attributes): Likewise.
201
202 2021-04-15 Jakub Jelinek <jakub@redhat.com>
203
204 PR target/100056
205 * config/aarch64/aarch64.md (*<LOGICAL:optab>_<SHIFT:optab><mode>3):
206 Add combine splitters for *<LOGICAL:optab>_ashl<mode>3 with
207 ZERO_EXTEND, SIGN_EXTEND or AND.
208
209 2021-04-14 Richard Sandiford <richard.sandiford@arm.com>
210
211 PR rtl-optimization/99929
212 * rtl.h (same_vector_encodings_p): New function.
213 * cse.c (exp_equiv_p): Check that CONST_VECTORs have the same encoding.
214 * cselib.c (rtx_equal_for_cselib_1): Likewise.
215 * jump.c (rtx_renumbered_equal_p): Likewise.
216 * lra-constraints.c (operands_match_p): Likewise.
217 * reload.c (operands_match_p): Likewise.
218 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Likewise.
219
220 2021-04-14 Richard Sandiford <richard.sandiford@arm.com>
221
222 * print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Print
223 more information about variable-length CONST_VECTORs.
224
225 2021-04-14 Vladimir N. Makarov <vmakarov@redhat.com>
226
227 PR rtl-optimization/100066
228 * lra-constraints.c (split_reg): Check paradoxical_subreg_p for
229 ordered modes when choosing splitting mode for hard reg.
230
231 2021-04-14 Richard Sandiford <richard.sandiford@arm.com>
232
233 PR target/99246
234 * config/aarch64/aarch64.c (aarch64_expand_sve_const_vector_sel):
235 New function.
236 (aarch64_expand_sve_const_vector): Use it for nelts_per_pattern==2.
237
238 2021-04-14 Andreas Krebbel <krebbel@linux.ibm.com>
239
240 * config/s390/s390-builtins.def (O_M5, O_M12, ...): Add new macros
241 for mask operand types.
242 (s390_vec_permi_s64, s390_vec_permi_b64, s390_vec_permi_u64)
243 (s390_vec_permi_dbl, s390_vpdi): Use the M5 type for the immediate
244 operand.
245 (s390_vec_msum_u128, s390_vmslg): Use the M12 type for the
246 immediate operand.
247 * config/s390/s390.c (s390_const_operand_ok): Check the new
248 operand types and generate a list of valid values.
249
250 2021-04-14 Iain Buclaw <ibuclaw@gdcproject.org>
251
252 * doc/tm.texi: Regenerate.
253 * doc/tm.texi.in (D language and ABI): Add @hook for
254 TARGET_D_REGISTER_OS_TARGET_INFO.
255
256 2021-04-14 Iain Buclaw <ibuclaw@gdcproject.org>
257
258 * config/aarch64/aarch64-d.c (aarch64_d_handle_target_float_abi): New
259 function.
260 (aarch64_d_register_target_info): New function.
261 * config/aarch64/aarch64-protos.h (aarch64_d_register_target_info):
262 Declare.
263 * config/aarch64/aarch64.h (TARGET_D_REGISTER_CPU_TARGET_INFO):
264 Define.
265 * config/arm/arm-d.c (arm_d_handle_target_float_abi): New function.
266 (arm_d_register_target_info): New function.
267 * config/arm/arm-protos.h (arm_d_register_target_info): Declare.
268 * config/arm/arm.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
269 * config/i386/i386-d.c (ix86_d_handle_target_float_abi): New function.
270 (ix86_d_register_target_info): New function.
271 * config/i386/i386-protos.h (ix86_d_register_target_info): Declare.
272 * config/i386/i386.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
273 * config/mips/mips-d.c (mips_d_handle_target_float_abi): New function.
274 (mips_d_register_target_info): New function.
275 * config/mips/mips-protos.h (mips_d_register_target_info): Declare.
276 * config/mips/mips.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
277 * config/pa/pa-d.c (pa_d_handle_target_float_abi): New function.
278 (pa_d_register_target_info): New function.
279 * config/pa/pa-protos.h (pa_d_register_target_info): Declare.
280 * config/pa/pa.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
281 * config/riscv/riscv-d.c (riscv_d_handle_target_float_abi): New
282 function.
283 (riscv_d_register_target_info): New function.
284 * config/riscv/riscv-protos.h (riscv_d_register_target_info): Declare.
285 * config/riscv/riscv.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
286 * config/rs6000/rs6000-d.c (rs6000_d_handle_target_float_abi): New
287 function.
288 (rs6000_d_register_target_info): New function.
289 * config/rs6000/rs6000-protos.h (rs6000_d_register_target_info):
290 Declare.
291 * config/rs6000/rs6000.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
292 * config/s390/s390-d.c (s390_d_handle_target_float_abi): New function.
293 (s390_d_register_target_info): New function.
294 * config/s390/s390-protos.h (s390_d_register_target_info): Declare.
295 * config/s390/s390.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
296 * config/sparc/sparc-d.c (sparc_d_handle_target_float_abi): New
297 function.
298 (sparc_d_register_target_info): New function.
299 * config/sparc/sparc-protos.h (sparc_d_register_target_info): Declare.
300 * config/sparc/sparc.h (TARGET_D_REGISTER_CPU_TARGET_INFO): Define.
301 * doc/tm.texi: Regenerate.
302 * doc/tm.texi.in (D language and ABI): Add @hook for
303 TARGET_D_REGISTER_CPU_TARGET_INFO.
304
305 2021-04-14 Iain Buclaw <ibuclaw@gdcproject.org>
306
307 * config/i386/i386-d.c (ix86_d_has_stdcall_convention): New function.
308 * config/i386/i386-protos.h (ix86_d_has_stdcall_convention): Declare.
309 * config/i386/i386.h (TARGET_D_HAS_STDCALL_CONVENTION): Define.
310 * doc/tm.texi: Regenerate.
311 * doc/tm.texi.in (D language and ABI): Add @hook for
312 TARGET_D_HAS_STDCALL_CONVENTION.
313
314 2021-04-14 Richard Biener <rguenther@suse.de>
315
316 * tree-cfg.c (verify_gimple_assign_ternary): Verify that
317 VEC_COND_EXPRs have a gimple_val condition.
318 * tree-ssa-propagate.c (valid_gimple_rhs_p): VEC_COND_EXPR
319 can no longer have a GENERIC condition.
320
321 2021-04-14 Richard Earnshaw <rearnsha@arm.com>
322
323 PR target/100067
324 * config/arm/arm.c (arm_configure_build_target): Strip isa_all_fpbits
325 from the isa_delta when -mfpu has been used.
326 (arm_options_perform_arch_sanity_checks): It's the architecture that
327 lacks an FPU not the processor.
328
329 2021-04-13 Richard Biener <rguenther@suse.de>
330
331 PR tree-optimization/100053
332 * tree-ssa-sccvn.c (vn_nary_op_get_predicated_value): Do
333 not use optimistic dominance queries for backedges to validate
334 predicated values.
335 (dominated_by_p_w_unex): Add parameter to ignore executable
336 state on backedges.
337 (rpo_elim::eliminate_avail): Adjust.
338
339 2021-04-13 Jakub Jelinek <jakub@redhat.com>
340
341 PR target/100028
342 * config/aarch64/aarch64.md (*aarch64_bfxil<mode>_extr,
343 *aarch64_bfxilsi_extrdi): New define_insn patterns.
344
345 2021-04-13 Jakub Jelinek <jakub@redhat.com>
346
347 PR target/99648
348 * simplify-rtx.c (simplify_immed_subreg): For MODE_COMPOSITE_P
349 outermode, return NULL if the result doesn't encode back to the
350 original byte sequence.
351 (simplify_gen_subreg): Don't create SUBREGs from constants to
352 MODE_COMPOSITE_P outermode.
353
354 2021-04-12 Jakub Jelinek <jakub@redhat.com>
355
356 PR rtl-optimization/99905
357 * combine.c (expand_compound_operation): If pos + len > modewidth,
358 perform the right shift by pos in inner_mode and then convert to mode,
359 instead of trying to simplify a shift of rtx with inner_mode by pos
360 as if it was a shift in mode.
361
362 2021-04-12 Jakub Jelinek <jakub@redhat.com>
363
364 PR debug/99830
365 * combine.c (simplify_and_const_int_1): Don't optimize varop
366 away if it has side-effects.
367
368 2021-04-12 Martin Liska <mliska@suse.cz>
369
370 * doc/extend.texi: Escape @smallexample content.
371
372 2021-04-12 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
373
374 * config/s390/s390.md ("*movdi_31", "*movdi_64"): Add
375 alternative in order to load a DFP zero.
376
377 2021-04-12 Martin Liska <mliska@suse.cz>
378
379 * doc/extend.texi: Be more precise in documentation
380 of symver attribute.
381
382 2021-04-12 Martin Liska <mliska@suse.cz>
383
384 PR sanitizer/99877
385 * gimplify.c (gimplify_expr): Right now, we unpoison all
386 variables before a goto <dest>. We should not do it if we are
387 in a omp context.
388
389 2021-04-12 Cui,Lili <lili.cui@intel.com>
390
391 * common/config/i386/cpuinfo.h (get_intel_cpu): Handle
392 rocketlake.
393 * common/config/i386/i386-common.c (processor_names): Add
394 rocketlake.
395 (processor_alias_table): Add rocketlake.
396 * common/config/i386/i386-cpuinfo.h (processor_subtypes): Add
397 INTEL_COREI7_ROCKETLAKE.
398 * config.gcc: Add -march=rocketlake.
399 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
400 rocketlake.
401 * config/i386/i386-options.c (m_ROCKETLAKE) : Define.
402 (processor_cost_table): Add rocketlake cost.
403 * config/i386/i386.h (ix86_size_cost) : Define
404 TARGET_ROCKETLAKE.
405 (processor_type) : Add PROCESSOR_ROCKETLAKE.
406 (PTA_ROCKETLAKE): Ditto.
407 * doc/extend.texi: Add rocketlake.
408 * doc/invoke.texi: Add rocketlake.
409
410 2021-04-12 Cui,Lili <lili.cui@intel.com>
411
412 * config/i386/i386.h (PTA_ALDERLAKE): Change alderlake ISA list.
413 * config/i386/i386-options.c (m_CORE_AVX2): Add m_ALDERLAKE.
414 * common/config/i386/cpuinfo.h (get_intel_cpu): Add AlderLake model.
415 * doc/invoke.texi: Change alderlake ISA list.
416
417 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
418
419 PR middle-end/98088
420 * omp-expand.c (expand_oacc_collapse_init): Update condition in
421 a gcc_assert.
422
423 2021-04-10 H.J. Lu <hjl.tools@gmail.com>
424
425 PR target/99744
426 * config/i386/serializeintrin.h (_serialize): Defined as macro.
427
428 2021-04-10 Jakub Jelinek <jakub@redhat.com>
429
430 PR lto/99849
431 * expr.c (expand_expr_addr_expr_1): Test is_global_var rather than
432 just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs.
433
434 2021-04-10 Jakub Jelinek <jakub@redhat.com>
435
436 PR middle-end/99989
437 * gimple-ssa-warn-alloca.c
438 (alloca_type_and_limit::alloca_type_and_limit): Initialize limit to
439 0 with integer precision unconditionally.
440
441 2021-04-10 Jakub Jelinek <jakub@redhat.com>
442
443 PR rtl-optimization/98601
444 * rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size
445 not just for BLKmode, but also for VOIDmode. For STRICT_ALIGNMENT
446 unaligned_mems handle VOIDmode like BLKmode.
447
448 2021-04-10 Jan Hubicka <hubicka@ucw.cz>
449
450 PR lto/99857
451 * tree.c (free_lang_data_in_decl): Do not release body of
452 declare_variant_alt.
453
454 2021-04-09 Richard Sandiford <richard.sandiford@arm.com>
455
456 * config/aarch64/aarch64.c (aarch64_option_restore): If the
457 architecture was specified explicitly and the tuning wasn't,
458 tune for the architecture rather than the configured default CPU.
459
460 2021-04-09 Richard Sandiford <richard.sandiford@arm.com>
461
462 * config/aarch64/aarch64.md (tlsdesc_small_sve_<mode>): Use X30
463 as the temporary register.
464
465 2021-04-09 Martin Liska <mliska@suse.cz>
466
467 * doc/extend.texi: Move non-target attributes on the top level.
468
469 2021-04-09 Martin Liska <mliska@suse.cz>
470
471 * doc/invoke.texi: Document minimum and maximum value of the
472 argument for both supported compression algorithms.
473
474 2021-04-08 David Edelsohn <dje.gcc@gmail.com>
475
476 * config/rs6000/rs6000.c (rs6000_xcoff_select_section): Select
477 TLS BSS before TLS data.
478 * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Use .comm.
479
480 2021-04-08 Richard Sandiford <richard.sandiford@arm.com>
481
482 * doc/sourcebuild.texi (stdint_types_mbig_endian): Document.
483
484 2021-04-08 Richard Sandiford <richard.sandiford@arm.com>
485
486 * match.pd: Extend vec_cond folds to handle shifts.
487
488 2021-04-08 Maciej W. Rozycki <macro@orcam.me.uk>
489
490 * config/vax/vax.md: Fix comment for `*bit<mode>' pattern's
491 peephole.
492
493 2021-04-08 Alex Coplan <alex.coplan@arm.com>
494
495 PR target/99647
496 * config/arm/iterators.md (MVE_vecs): New.
497 (V_elem): Also handle V2DF.
498 * config/arm/mve.md (*mve_mov<mode>): Rename to ...
499 (*mve_vdup<mode>): ... this. Remove second alternative since
500 vec_duplicate of const_int is not canonical RTL, and we don't
501 want to match symbol_refs.
502 (*mve_vec_duplicate<mode>): Delete (pattern is redundant).
503
504 2021-04-08 Xionghu Luo <luoxhu@linux.ibm.com>
505
506 * fold-const.c (fold_single_bit_test): Fix typo.
507 * print-rtl.c (print_rtx_insn_vec): Call print_rtl_single
508 instead.
509
510 2021-04-07 Richard Sandiford <richard.sandiford@arm.com>
511
512 PR tree-optimization/97513
513 * tree-vect-slp.c (vect_add_slp_permutation): New function,
514 split out from...
515 (vectorizable_slp_permutation): ...here. Detect cases in which
516 all VEC_PERM_EXPRs are guaranteed to have the same stepped
517 permute vector and only generate one permute vector for that case.
518 Extend that case to handle variable-length vectors.
519
520 2021-04-07 Richard Sandiford <richard.sandiford@arm.com>
521
522 PR tree-optimization/99873
523 * tree-vect-slp.c (vect_slp_prefer_store_lanes_p): New function.
524 (vect_build_slp_instance): Don't split store groups that could
525 use IFN_STORE_LANES.
526
527 2021-04-07 Jakub Jelinek <jakub@redhat.com>
528
529 PR target/99872
530 * varasm.c (output_constant_pool_contents): Don't strip name encoding
531 from XSTR (desc->sym, 0) or from label before passing those to
532 ASM_OUTPUT_DEF.
533
534 2021-04-07 Richard Biener <rguenther@suse.de>
535
536 PR tree-optimization/99954
537 * tree-loop-distribution.c: Include tree-affine.h.
538 (generate_memcpy_builtin): Try using tree-affine to prove
539 non-overlap.
540 (loop_distribution::classify_builtin_ldst): Always classify
541 as PKIND_MEMMOVE.
542
543 2021-04-07 Richard Biener <rguenther@suse.de>
544
545 PR tree-optimization/99947
546 * tree-vect-loop.c (vectorizable_induction): Pre-allocate
547 steps vector to avoid pushing elements from the reallocated
548 vector.
549
550 2021-04-07 Richard Biener <rguenther@suse.de>
551
552 * tree-ssa-sccvn.h (print_vn_reference_ops): Declare.
553 * tree-ssa-pre.c (print_pre_expr): Factor out VN reference operand
554 printing...
555 * tree-ssa-sccvn.c (print_vn_reference_ops): ... into this new
556 function.
557 (debug_vn_reference_ops): New.
558
559 2021-04-07 Bin Cheng <bin.cheng@linux.alibaba.com>
560
561 PR tree-optimization/98736
562 * tree-loop-distribution.c
563 * (loop_distribution::bb_top_order_init):
564 Compute RPO with programing order preserved by calling function
565 rev_post_order_and_mark_dfs_back_seme.
566
567 2021-04-06 Vladimir N. Makarov <vmakarov@redhat.com>
568
569 PR target/99781
570 * lra-constraints.c (split_reg): Don't check paradoxical_subreg_p.
571 * lra-lives.c (clear_sparseset_regnos, regnos_in_sparseset_p): New
572 functions.
573 (process_bb_lives): Don't update biggest mode of hard reg for
574 implicit in multi-register group. Use the new functions for
575 updating dead_set and unused_set by register notes.
576
577 2021-04-06 Xianmiao Qu <xianmiao_qu@c-sky.com>
578
579 * config/csky/csky_pipeline_ck802.md : Use insn reservation name
580 instead of *.
581
582 2021-04-06 H.J. Lu <hjl.tools@gmail.com>
583
584 * config/i386/x86-tune-costs.h (skylake_memcpy): Updated.
585 (skylake_memset): Likewise.
586 (skylake_cost): Change CLEAR_RATIO to 17.
587 * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB):
588 Replace m_CANNONLAKE, m_ICELAKE_CLIENT, m_ICELAKE_SERVER,
589 m_TIGERLAKE and m_SAPPHIRERAPIDS with m_SKYLAKE and m_CORE_AVX512.
590
591 2021-04-06 Richard Biener <rguenther@suse.de>
592
593 PR tree-optimization/99880
594 * tree-vect-loop.c (maybe_set_vectorized_backedge_value): Only
595 set vectorized defs of relevant PHIs.
596
597 2021-04-06 Richard Biener <rguenther@suse.de>
598
599 PR tree-optimization/99924
600 * tree-vect-slp.c (vect_bb_partition_graph_r): Do not mark
601 nodes w/o scalar stmts as visited.
602
603 2021-04-06 Alex Coplan <alex.coplan@arm.com>
604
605 PR target/99748
606 * config/arm/arm.c (arm_libcall_uses_aapcs_base): Also use base
607 PCS for [su]fix_optab.
608
609 2021-04-03 Iain Sandoe <iain@sandoe.co.uk>
610
611 * config/darwin.c (machopic_legitimize_pic_address): Check
612 that the current pic register is one of the hard reg set
613 before setting liveness.
614
615 2021-04-03 Iain Sandoe <iain@sandoe.co.uk>
616
617 * config/darwin.c (machopic_legitimize_pic_address): Fix
618 whitespace, remove unused code.
619
620 2021-04-03 Jakub Jelinek <jakub@redhat.com>
621
622 PR tree-optimization/99882
623 * gimple-ssa-store-merging.c (bswap_view_convert): Handle val with
624 pointer type.
625
626 2021-04-03 Jakub Jelinek <jakub@redhat.com>
627
628 PR rtl-optimization/99863
629 * dse.c (replace_read): Drop regs_live argument. Instead of
630 regs_live, use store_insn->fixed_regs_live if non-NULL,
631 otherwise punt if insns sequence clobbers or sets any hard
632 registers.
633
634 2021-04-03 Jakub Jelinek <jakub@redhat.com>
635
636 PR testsuite/98125
637 * targhooks.h (default_print_patchable_function_entry_1): Declare.
638 * targhooks.c (default_print_patchable_function_entry_1): New function,
639 copied from default_print_patchable_function_entry with an added flags
640 argument.
641 (default_print_patchable_function_entry): Rewritten into a small
642 wrapper around default_print_patchable_function_entry_1.
643 * config/rs6000/rs6000.c (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY):
644 Redefine.
645 (rs6000_print_patchable_function_entry): New function.
646
647 2021-04-02 Eric Botcazou <ebotcazou@adacore.com>
648
649 * doc/invoke.texi (fdelete-dead-exceptions): Minor tweak.
650
651 2021-04-01 Jason Merrill <jason@redhat.com>
652
653 PR c++/98481
654 * common.opt: Document v15 and v16.
655
656 2021-04-01 Richard Biener <rguenther@suse.de>
657
658 PR tree-optimization/99863
659 * gimplify.c (gimplify_init_constructor): Recompute vector
660 constructor flags.
661
662 2021-04-01 Jakub Jelinek <jakub@redhat.com>
663
664 * doc/extend.texi (symver attribute): Fix up syntax errors
665 in the examples.
666
667 2021-04-01 Jakub Jelinek <jakub@redhat.com>
668
669 PR tree-optimization/96573
670 * gimple-ssa-store-merging.c (init_symbolic_number): Handle
671 also pointer types.
672
673 2021-04-01 Richard Biener <rguenther@suse.de>
674
675 PR tree-optimization/99856
676 * tree-vect-patterns.c (vect_recog_over_widening_pattern): Promote
677 precision to vector element precision.
678
679 2021-04-01 Martin Jambor <mjambor@suse.cz>
680
681 PR tree-optimization/97009
682 * tree-sra.c (access_or_its_child_written): New function.
683 (propagate_subaccesses_from_rhs): Use it instead of a simple grp_write
684 test.
685
686 2021-03-31 Jan Hubicka <hubicka@ucw.cz>
687
688 PR ipa/98265
689 * cif-code.def (USES_COMDAT_LOCAL): Make CIF_FINAL_NORMAL.
690
691 2021-03-31 Pat Haugen <pthaugen@linux.ibm.com>
692
693 PR target/99133
694 * config/rs6000/altivec.md (xxspltiw_v4si, xxspltiw_v4sf_inst,
695 xxspltidp_v2df_inst, xxsplti32dx_v4si_inst, xxsplti32dx_v4sf_inst,
696 xxblend_<mode>, xxpermx_inst, xxeval): Mark prefixed.
697 * config/rs6000/mma.md (mma_<vvi4i4i8>, mma_<avvi4i4i8>,
698 mma_<vvi4i4i2>, mma_<avvi4i4i2>, mma_<vvi4i4>, mma_<avvi4i4>,
699 mma_<pvi4i2>, mma_<apvi4i2>, mma_<vvi4i4i4>, mma_<avvi4i4i4>):
700 Likewise.
701 * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Adjust test.
702 * config/rs6000/rs6000.md (define_attr "maybe_prefixed"): New.
703 (define_attr "prefixed"): Update initializer.
704
705 2021-03-31 Jakub Jelinek <jakub@redhat.com>
706
707 PR debug/99490
708 * dwarf2out.c (debug_ranges_dwo_section): New variable.
709 (DW_RANGES_IDX_SKELETON): Define.
710 (struct dw_ranges): Add begin_entry and end_entry members.
711 (DEBUG_DWO_RNGLISTS_SECTION): Define.
712 (add_ranges_num): Adjust r initializer for addition of *_entry
713 members.
714 (add_ranges_by_labels): For -gsplit-dwarf and force_direct,
715 set idx to DW_RANGES_IDX_SKELETON.
716 (use_distinct_base_address_for_range): New function.
717 (index_rnglists): Don't set r->idx if it is equal to
718 DW_RANGES_IDX_SKELETON. Initialize r->begin_entry and
719 r->end_entry for -gsplit-dwarf if those will be needed by
720 output_rnglists.
721 (output_rnglists): Add DWO argument. If true, switch to
722 debug_ranges_dwo_section rather than debug_ranges_section.
723 Adjust l1/l2 label indexes. Only output the offset table when
724 dwo is true and don't include in there the skeleton range
725 entry if present. For -gsplit-dwarf, skip ranges that belong
726 to the other rnglists section. Change return type from void
727 to bool and return true if there are any range entries for
728 the other section. For dwarf_split_debug_info use
729 DW_RLE_startx_endx, DW_RLE_startx_length and DW_RLE_base_addressx
730 entries instead of DW_RLE_start_end, DW_RLE_start_length and
731 DW_RLE_base_address. Use use_distinct_base_address_for_range.
732 (init_sections_and_labels): Initialize debug_ranges_dwo_section
733 if -gsplit-dwarf and DWARF >= 5. Adjust ranges_section_label
734 and range_base_label indexes.
735 (dwarf2out_finish): Call index_rnglists earlier before finalizing
736 .debug_addr. Never emit DW_AT_rnglists_base attribute. For
737 -gsplit-dwarf and DWARF >= 5 call output_rnglists up to twice
738 with different dwo arguments.
739 (dwarf2out_c_finalize): Clear debug_ranges_dwo_section.
740
741 2021-03-31 Richard Sandiford <richard.sandiford@arm.com>
742
743 PR tree-optimization/98268
744 * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Call
745 recompute_tree_invariant_for_addr_expr after successfully
746 folding a TARGET_MEM_REF that occurs inside an ADDR_EXPR.
747
748 2021-03-31 Richard Sandiford <richard.sandiford@arm.com>
749
750 PR tree-optimization/99726
751 * tree-data-ref.c (create_intersect_range_checks_index): Bail
752 out if there is more than one access function SCEV for the loop
753 being versioned.
754
755 2021-03-31 Richard Sandiford <richard.sandiford@arm.com>
756
757 PR rtl-optimization/97141
758 PR rtl-optimization/98726
759 * emit-rtl.c (valid_for_const_vector_p): Return true for
760 CONST_POLY_INT_P.
761 * rtx-vector-builder.h (rtx_vector_builder::step): Return a
762 poly_wide_int instead of a wide_int.
763 (rtx_vector_builder::apply_set): Take a poly_wide_int instead
764 of a wide_int.
765 * rtx-vector-builder.c (rtx_vector_builder::apply_set): Likewise.
766 * config/aarch64/aarch64.c (aarch64_legitimate_constant_p): Return
767 false for CONST_VECTORs that cannot be forced to memory.
768 * config/aarch64/aarch64-simd.md (mov<mode>): If a CONST_VECTOR
769 is too complex to force to memory, build it up from individual
770 elements instead.
771
772 2021-03-31 Jan Hubicka <jh@suse.cz>
773
774 PR lto/99447
775 * cgraph.c (cgraph_node::release_body): Fix overactive check.
776
777 2021-03-31 Christophe Lyon <christophe.lyon@linaro.org>
778
779 PR target/99786
780 * config/arm/vec-common.md (mul<mode>3): Disable on iwMMXT, expect
781 for V4HI and V2SI.
782
783 2021-03-31 H.J. Lu <hjl.tools@gmail.com>
784
785 * config/i386/i386-expand.c (expand_set_or_cpymem_via_rep):
786 For TARGET_PREFER_KNOWN_REP_MOVSB_STOSB, don't convert QImode
787 to SImode.
788 (decide_alg): For TARGET_PREFER_KNOWN_REP_MOVSB_STOSB, use
789 "rep movsb/stosb" only for known sizes.
790 * config/i386/i386-options.c (processor_cost_table): Use Ice
791 Lake cost for Cannon Lake, Ice Lake, Tiger Lake, Sapphire
792 Rapids and Alder Lake.
793 * config/i386/i386.h (TARGET_PREFER_KNOWN_REP_MOVSB_STOSB): New.
794 * config/i386/x86-tune-costs.h (icelake_memcpy): New.
795 (icelake_memset): Likewise.
796 (icelake_cost): Likewise.
797 * config/i386/x86-tune.def (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB):
798 New.
799
800 2021-03-31 Richard Sandiford <richard.sandiford@arm.com>
801
802 PR target/98119
803 * config/aarch64/aarch64.c
804 (aarch64_vectorize_preferred_vector_alignment): Query the size
805 of the provided SVE vector; do not assume that all SVE vectors
806 have the same size.
807
808 2021-03-31 Jan Hubicka <jh@suse.cz>
809
810 PR lto/99447
811 * cgraph.c (cgraph_node::release_body): Remove all callers and
812 references.
813 * cgraphclones.c (cgraph_node::materialize_clone): Do not do it here.
814 * cgraphunit.c (cgraph_node::expand): And here.
815
816 2021-03-31 Martin Liska <mliska@suse.cz>
817
818 * ipa-modref.c (analyze_ssa_name_flags): Fix coding style
819 and one negated condition.
820
821 2021-03-31 Jakub Jelinek <jakub@redhat.com>
822 Richard Sandiford <richard.sandiford@arm.com>
823
824 PR target/99813
825 * config/aarch64/aarch64.md (*add<mode>3_poly_1): Swap Uai and Uav
826 constraints on operands[2] and similarly 0 and rk constraints
827 on operands[1] corresponding to that.
828
829 2021-03-31 Jakub Jelinek <jakub@redhat.com>
830
831 PR bootstrap/98860
832 * configure.ac (HAVE_LD_BROKEN_PE_DWARF5): New AC_DEFINE if PECOFF
833 linker doesn't support DWARF sections new in DWARF5.
834 * config/i386/i386-options.c (ix86_option_override_internal): Default
835 to dwarf_version 4 if HAVE_LD_BROKEN_PE_DWARF5 for TARGET_PECOFF
836 targets.
837 * config.in: Regenerated.
838 * configure: Regenerated.
839
840 2021-03-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
841
842 PR target/99820
843 * config/aarch64/aarch64.c (aarch64_analyze_loop_vinfo): Check for
844 available issue_info before using it.
845
846 2021-03-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
847
848 PR target/99822
849 * config/aarch64/aarch64.md (sub<mode>3_compare1_imm): Do not allow zero
850 in operand 1.
851
852 2021-03-30 Xionghu Luo <luoxhu@linux.ibm.com>
853
854 PR target/99718
855 * config/rs6000/altivec.md (altivec_lvsl_reg): Change to ...
856 (altivec_lvsl_reg_<mode>): ... this.
857 (altivec_lvsr_reg): Change to ...
858 (altivec_lvsr_reg_<mode>): ... this.
859 * config/rs6000/predicates.md (vec_set_index_operand): New.
860 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
861 Enable 32bit variable vec_insert for all TARGET_VSX.
862 * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9):
863 Enable 32bit variable vec_insert for p9 and above.
864 (rs6000_expand_vector_set_var_p8): Rename to ...
865 (rs6000_expand_vector_set_var_p7): ... this.
866 (rs6000_expand_vector_set): Use TARGET_VSX and adjust assert
867 position.
868 * config/rs6000/vector.md (vec_set<mode>): Use vec_set_index_operand.
869 * config/rs6000/vsx.md (xl_len_r): Use gen_altivec_lvsl_reg_di and
870 gen_altivec_lvsr_reg_di.
871
872 2021-03-30 H.J. Lu <hjl.tools@gmail.com>
873
874 PR target/99744
875 * config/i386/ia32intrin.h (__rdtsc): Defined as macro.
876 (__rdtscp): Likewise.
877
878 2021-03-30 Tamar Christina <tamar.christina@arm.com>
879
880 PR tree-optimization/99825
881 * tree-vect-slp-patterns.c (vect_check_evenodd_blend):
882 Reject non-mult 2 lanes.
883
884 2021-03-30 Richard Earnshaw <rearnsha@arm.com>
885
886 PR target/99773
887 * config/arm/arm.c (arm_file_start): Fix emission of
888 Tag_ABI_VFP_args attribute.
889
890 2021-03-30 Richard Biener <rguenther@suse.de>
891
892 PR tree-optimization/99824
893 * stor-layout.c (set_min_and_max_values_for_integral_type):
894 Assert the precision is within the bounds of
895 WIDE_INT_MAX_PRECISION.
896 * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use
897 the outermost component ref only to lower the access size
898 and initialize that from the access type.
899
900 2021-03-30 Richard Sandiford <richard.sandiford@arm.com>
901
902 PR target/98136
903 * config/aarch64/aarch64.md (mov<mode>): Pass multi-instruction
904 CONST_INTs to aarch64_expand_mov_immediate when called after RA.
905
906 2021-03-30 Mihailo Stojanovic <mihailo.stojanovic@typhoon-hil.com>
907
908 * config/aarch64/aarch64.md
909 (<optab>_trunc<fcvt_target><GPI:mode>2): Set the "arch"
910 attribute to disambiguate between SIMD and FP variants of the
911 instruction.
912
913 2021-03-29 Jan Hubicka <hubicka@ucw.cz>
914
915 * ipa-modref.c (merge_call_lhs_flags): Correct handling of deref.
916 (analyze_ssa_name_flags): Fix typo in comment.
917
918 2021-03-29 Alex Coplan <alex.coplan@arm.com>
919
920 PR target/99216
921 * config/aarch64/aarch64-sve-builtins.cc
922 (function_builder::add_function): Add placeholder_p argument, use
923 placeholder decls if this is set.
924 (function_builder::add_unique_function): Instead of conditionally adding
925 direct overloads, unconditionally add either a direct overload or a
926 placeholder.
927 (function_builder::add_overloaded_function): Set placeholder_p if we're
928 using C++ overloads. Use the obstack for string storage instead
929 of relying on the tree nodes.
930 (function_builder::add_overloaded_functions): Don't return early for
931 m_direct_overloads: we need to add placeholders.
932 * config/aarch64/aarch64-sve-builtins.h
933 (function_builder::add_function): Add placeholder_p argument.
934
935 2021-03-29 Richard Biener <rguenther@suse.de>
936
937 PR tree-optimization/99807
938 * tree-vect-slp.c (vect_slp_analyze_node_operations_1): Move
939 assert below VEC_PERM handling.
940
941 2021-03-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
942
943 PR target/99037
944 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Use
945 aarch64_simd_or_scalar_imm_zero to match zeroes. Remove pattern
946 matching const_int 0.
947 (move_lo_quad_internal_be_<mode>): Likewise.
948 (move_lo_quad_<mode>): Update for the above.
949 * config/aarch64/iterators.md (VQ_2E): Delete.
950
951 2021-03-29 Jakub Jelinek <jakub@redhat.com>
952
953 PR tree-optimization/99777
954 * fold-const.c (extract_muldiv_1): For conversions, punt on casts from
955 types other than scalar integral types.
956
957 2021-03-28 David Edelsohn <dje.gcc@gmail.com>
958
959 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Do not add
960 XCOFF TLS reloc decorations.
961
962 2021-03-28 Gerald Pfeifer <gerald@pfeifer.com>
963
964 * doc/analyzer.texi (Analyzer Internals): Update link to
965 "A Memory Model for Static Analysis of C Programs".
966
967 2021-03-26 David Edelsohn <dje.gcc@gmail.com>
968
969 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Call function.
970 * config/rs6000/rs6000-protos.h (rs6000_special_adjust_field_align):
971 Declare.
972 * config/rs6000/rs6000.c (rs6000_special_adjust_field_align): New.
973 (rs6000_special_round_type_align): Recursively check innermost first
974 field.
975
976 2021-03-26 Jakub Jelinek <jakub@redhat.com>
977
978 PR debug/99334
979 * dwarf2out.h (struct dw_fde_node): Add rule18 member.
980 * dwarf2cfi.c (dwarf2out_frame_debug_expr): When handling (set hfp sp)
981 assignment with drap_reg active, queue reg save for hfp with offset 0
982 and flush queued reg saves. When handling a push with rule18,
983 defer queueing reg save for hfp and just assert the offset is 0.
984 (scan_trace): Assert that fde->rule18 is false.
985
986 2021-03-26 Vladimir Makarov <vmakarov@redhat.com>
987
988 PR target/99766
989 * ira-costs.c (record_reg_classes): Put case with
990 CT_RELAXED_MEMORY adjacent to one with CT_MEMORY.
991 * ira.c (ira_setup_alts): Ditto.
992 * lra-constraints.c (process_alt_operands): Ditto.
993 * recog.c (asm_operand_ok): Ditto.
994 * reload.c (find_reloads): Ditto.
995
996 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
997
998 * config/aarch64/aarch64-protos.h
999 (cpu_addrcost_table::post_modify_ld3_st3): New member variable.
1000 (cpu_addrcost_table::post_modify_ld4_st4): Likewise.
1001 * config/aarch64/aarch64.c (generic_addrcost_table): Update
1002 accordingly, using the same costs as for post_modify.
1003 (exynosm1_addrcost_table, xgene1_addrcost_table): Likewise.
1004 (thunderx2t99_addrcost_table, thunderx3t110_addrcost_table):
1005 (tsv110_addrcost_table, qdf24xx_addrcost_table): Likewise.
1006 (a64fx_addrcost_table): Likewise.
1007 (neoversev1_addrcost_table): New.
1008 (neoversev1_tunings): Use neoversev1_addrcost_table.
1009 (aarch64_address_cost): Use the new post_modify costs for CImode
1010 and XImode.
1011
1012 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1013
1014 * config/aarch64/aarch64.opt
1015 (-param=aarch64-loop-vect-issue-rate-niters=): New parameter.
1016 * doc/invoke.texi: Document it.
1017 * config/aarch64/aarch64-protos.h (aarch64_base_vec_issue_info)
1018 (aarch64_scalar_vec_issue_info, aarch64_simd_vec_issue_info)
1019 (aarch64_advsimd_vec_issue_info, aarch64_sve_vec_issue_info)
1020 (aarch64_vec_issue_info): New structures.
1021 (cpu_vector_cost): Write comments above the variables rather
1022 than to the side.
1023 (cpu_vector_cost::issue_info): New member variable.
1024 * config/aarch64/aarch64.c: Include gimple-pretty-print.h
1025 and tree-ssa-loop-niter.h.
1026 (generic_vector_cost, a64fx_vector_cost, qdf24xx_vector_cost)
1027 (thunderx_vector_cost, tsv110_vector_cost, cortexa57_vector_cost)
1028 (exynosm1_vector_cost, xgene1_vector_cost, thunderx2t99_vector_cost)
1029 (thunderx3t110_vector_cost): Initialize issue_info to null.
1030 (neoversev1_scalar_issue_info, neoversev1_advsimd_issue_info)
1031 (neoversev1_sve_issue_info, neoversev1_vec_issue_info): New structures.
1032 (neoversev1_vector_cost): Use them.
1033 (aarch64_vec_op_count, aarch64_sve_op_count): New structures.
1034 (aarch64_vector_costs::saw_sve_only_op): New member variable.
1035 (aarch64_vector_costs::num_vector_iterations): Likewise.
1036 (aarch64_vector_costs::scalar_ops): Likewise.
1037 (aarch64_vector_costs::advsimd_ops): Likewise.
1038 (aarch64_vector_costs::sve_ops): Likewise.
1039 (aarch64_vector_costs::seen_loads): Likewise.
1040 (aarch64_simd_vec_costs_for_flags): New function.
1041 (aarch64_analyze_loop_vinfo): Initialize num_vector_iterations.
1042 Count the number of predicate operations required by SVE WHILE
1043 instructions.
1044 (aarch64_comparison_type, aarch64_multiply_add_p): New functions.
1045 (aarch64_sve_only_stmt_p, aarch64_in_loop_reduction_latency): Likewise.
1046 (aarch64_count_ops): Likewise.
1047 (aarch64_add_stmt_cost): Record whether see an SVE operation
1048 that cannot currently be implementing using Advanced SIMD.
1049 Record issue information about the scalar, Advanced SIMD
1050 and (where relevant) SVE versions of a loop.
1051 (aarch64_vec_op_count::dump): New function.
1052 (aarch64_sve_op_count::dump): Likewise.
1053 (aarch64_estimate_min_cycles_per_iter): Likewise.
1054 (aarch64_adjust_body_cost): If issue information is available,
1055 try to compare the issue rates of the various loop implementations
1056 and increase or decrease the vector body cost accordingly.
1057
1058 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1059
1060 * config/aarch64/aarch64.c (aarch64_detect_vector_stmt_subtype):
1061 Assume a zero cost for induction phis.
1062
1063 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1064
1065 * config/aarch64/aarch64.c (aarch64_embedded_comparison_type): New
1066 function.
1067 (aarch64_adjust_stmt_cost): Add the costs of embedded scalar and
1068 vector comparisons.
1069
1070 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1071
1072 * config/aarch64/aarch64.c (aarch64_detect_scalar_stmt_subtype):
1073 New function.
1074 (aarch64_add_stmt_cost): Call it.
1075
1076 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1077
1078 * config/aarch64/aarch64-tuning-flags.def (matched_vector_throughput):
1079 New tuning parameter.
1080 * config/aarch64/aarch64.c (neoversev1_tunings): Use it.
1081 (aarch64_estimated_sve_vq): New function.
1082 (aarch64_vector_costs::analyzed_vinfo): New member variable.
1083 (aarch64_vector_costs::is_loop): Likewise.
1084 (aarch64_vector_costs::unrolled_advsimd_niters): Likewise.
1085 (aarch64_vector_costs::unrolled_advsimd_stmts): Likewise.
1086 (aarch64_record_potential_advsimd_unrolling): New function.
1087 (aarch64_analyze_loop_vinfo, aarch64_analyze_bb_vinfo): Likewise.
1088 (aarch64_add_stmt_cost): Call aarch64_analyze_loop_vinfo or
1089 aarch64_analyze_bb_vinfo on the first use of a costs structure.
1090 Detect whether we're vectorizing a loop for SVE that might be
1091 completely unrolled if it used Advanced SIMD instead.
1092 (aarch64_adjust_body_cost_for_latency): New function.
1093 (aarch64_finish_cost): Call it.
1094
1095 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1096
1097 * config/aarch64/aarch64.c (aarch64_vector_costs): New structure.
1098 (aarch64_init_cost): New function.
1099 (aarch64_add_stmt_cost): Use aarch64_vector_costs instead of
1100 the default unsigned[3].
1101 (aarch64_finish_cost, aarch64_destroy_cost_data): New functions.
1102 (TARGET_VECTORIZE_INIT_COST): Override.
1103 (TARGET_VECTORIZE_FINISH_COST): Likewise.
1104 (TARGET_VECTORIZE_DESTROY_COST_DATA): Likewise.
1105
1106 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1107
1108 * config/aarch64/aarch64.c (neoversev1_advsimd_vector_cost)
1109 (neoversev1_sve_vector_cost): New cost structures.
1110 (neoversev1_vector_cost): Likewise.
1111 (neoversev1_tunings): Use them. Enable use_new_vector_costs.
1112
1113 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1114
1115 * config/aarch64/aarch64-protos.h
1116 (sve_vec_cost::scatter_store_elt_cost): New member variable.
1117 * config/aarch64/aarch64.c (generic_sve_vector_cost): Update
1118 accordingly, taking the cost from the cost of a scalar_store.
1119 (a64fx_sve_vector_cost): Likewise.
1120 (aarch64_detect_vector_stmt_subtype): Detect scatter stores.
1121
1122 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1123
1124 * config/aarch64/aarch64-protos.h
1125 (simd_vec_cost::store_elt_extra_cost): New member variable.
1126 * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update
1127 accordingly, using the vec_to_scalar cost for the new field.
1128 (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise.
1129 (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise.
1130 (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise.
1131 (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost)
1132 (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost)
1133 (thunderx3t110_advsimd_vector_cost): Likewise.
1134 (aarch64_detect_vector_stmt_subtype): Detect single-element stores.
1135
1136 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1137
1138 * config/aarch64/aarch64-protos.h (simd_vec_cost::ld2_st2_permute_cost)
1139 (simd_vec_cost::ld3_st3_permute_cost): New member variables.
1140 (simd_vec_cost::ld4_st4_permute_cost): Likewise.
1141 * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update
1142 accordingly, using zero for the new costs.
1143 (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise.
1144 (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise.
1145 (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise.
1146 (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost)
1147 (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost)
1148 (thunderx3t110_advsimd_vector_cost): Likewise.
1149 (aarch64_ld234_st234_vectors): New function.
1150 (aarch64_adjust_stmt_cost): Likewise.
1151 (aarch64_add_stmt_cost): Call aarch64_adjust_stmt_cost if using
1152 the new vector costs.
1153
1154 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1155
1156 * config/aarch64/aarch64-protos.h (sve_vec_cost): Turn into a
1157 derived class of simd_vec_cost. Add information about CLAST[AB]
1158 and FADDA instructions.
1159 * config/aarch64/aarch64.c (generic_sve_vector_cost): Update
1160 accordingly, using the vec_to_scalar costs for the new fields.
1161 (a64fx_sve_vector_cost): Likewise.
1162 (aarch64_reduc_type): New function.
1163 (aarch64_sve_in_loop_reduction_latency): Likewise.
1164 (aarch64_detect_vector_stmt_subtype): Take a vinfo parameter.
1165 Use aarch64_sve_in_loop_reduction_latency to handle SVE reductions
1166 that occur in the loop body.
1167 (aarch64_add_stmt_cost): Update call accordingly.
1168
1169 2021-03-26 Richard Sandiford <richard.sandiford@arm.com>
1170
1171 * config/aarch64/aarch64-tuning-flags.def (use_new_vector_costs):
1172 New tuning flag.
1173 * config/aarch64/aarch64-protos.h (simd_vec_cost): Put comments
1174 above the fields rather than to the right.
1175 (simd_vec_cost::reduc_i8_cost): New member variable.
1176 (simd_vec_cost::reduc_i16_cost): Likewise.
1177 (simd_vec_cost::reduc_i32_cost): Likewise.
1178 (simd_vec_cost::reduc_i64_cost): Likewise.
1179 (simd_vec_cost::reduc_f16_cost): Likewise.
1180 (simd_vec_cost::reduc_f32_cost): Likewise.
1181 (simd_vec_cost::reduc_f64_cost): Likewise.
1182 * config/aarch64/aarch64.c (generic_advsimd_vector_cost): Update
1183 accordingly, using the vec_to_scalar_cost for the new fields.
1184 (generic_sve_vector_cost, a64fx_advsimd_vector_cost): Likewise.
1185 (a64fx_sve_vector_cost, qdf24xx_advsimd_vector_cost): Likewise.
1186 (thunderx_advsimd_vector_cost, tsv110_advsimd_vector_cost): Likewise.
1187 (cortexa57_advsimd_vector_cost, exynosm1_advsimd_vector_cost)
1188 (xgene1_advsimd_vector_cost, thunderx2t99_advsimd_vector_cost)
1189 (thunderx3t110_advsimd_vector_cost): Likewise.
1190 (aarch64_use_new_vector_costs_p): New function.
1191 (aarch64_simd_vec_costs): New function, split out from...
1192 (aarch64_builtin_vectorization_cost): ...here.
1193 (aarch64_is_reduction): New function.
1194 (aarch64_detect_vector_stmt_subtype): Likewise.
1195 (aarch64_add_stmt_cost): Call aarch64_detect_vector_stmt_subtype if
1196 using the new vector costs.
1197
1198 2021-03-26 Iain Buclaw <ibuclaw@gdcproject.org>
1199
1200 PR ipa/99466
1201 * tree-emutls.c (get_emutls_init_templ_addr): Mark initializer of weak
1202 TLS declarations as public.
1203
1204 2021-03-26 Iain Buclaw <ibuclaw@gdcproject.org>
1205
1206 * config/aarch64/aarch64-d.c (IN_TARGET_CODE): Define.
1207 * config/arm/arm-d.c (IN_TARGET_CODE): Likewise.
1208 * config/i386/i386-d.c (IN_TARGET_CODE): Likewise.
1209 * config/mips/mips-d.c (IN_TARGET_CODE): Likewise.
1210 * config/pa/pa-d.c (IN_TARGET_CODE): Likewise.
1211 * config/riscv/riscv-d.c (IN_TARGET_CODE): Likewise.
1212 * config/rs6000/rs6000-d.c (IN_TARGET_CODE): Likewise.
1213 * config/s390/s390-d.c (IN_TARGET_CODE): Likewise.
1214 * config/sparc/sparc-d.c (IN_TARGET_CODE): Likewise.
1215
1216 2021-03-26 Iain Buclaw <ibuclaw@gdcproject.org>
1217
1218 PR d/91595
1219 * config.gcc (*-*-cygwin*): Add winnt-d.o
1220 (*-*-mingw*): Likewise.
1221 * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): New macro.
1222 * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Likewise.
1223 * config/i386/t-cygming: Add winnt-d.o.
1224 * config/i386/winnt-d.c: New file.
1225
1226 2021-03-26 Iain Buclaw <ibuclaw@gdcproject.org>
1227
1228 * config/freebsd-d.c: Include memmodel.h.
1229
1230 2021-03-26 Iain Buclaw <ibuclaw@gdcproject.org>
1231
1232 PR d/99691
1233 * config.gcc (*-*-openbsd*): Add openbsd-d.o.
1234 * config/t-openbsd: Add openbsd-d.o.
1235 * config/openbsd-d.c: New file.
1236
1237 2021-03-25 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1238
1239 PR tree-optimization/96974
1240 * tree-vect-stmts.c (vect_get_vector_types_for_stmt): Replace assert
1241 with graceful exit.
1242
1243 2021-03-25 H.J. Lu <hjl.tools@gmail.com>
1244
1245 Revert:
1246 2021-03-25 H.J. Lu <hjl.tools@gmail.com>
1247
1248 PR target/98209
1249 PR target/99744
1250 * config/i386/i386.c (ix86_can_inline_p): Don't check ISA for
1251 always_inline in system headers.
1252
1253 2021-03-25 Kewen Lin <linkw@linux.ibm.com>
1254
1255 * tree-vect-loop.c (vect_model_reduction_cost): Init inside_cost.
1256
1257 2021-03-25 Jakub Jelinek <jakub@redhat.com>
1258
1259 PR c++/99565
1260 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF_SAME_FIELD.
1261 * fold-const.c (operand_compare::operand_equal_p): Don't compare
1262 field offsets if OEP_ADDRESS_OF_SAME_FIELD.
1263
1264 2021-03-25 H.J. Lu <hjl.tools@gmail.com>
1265
1266 PR target/98209
1267 PR target/99744
1268 * config/i386/i386.c (ix86_can_inline_p): Don't check ISA for
1269 always_inline in system headers.
1270
1271 2021-03-25 Richard Biener <rguenther@suse.de>
1272
1273 PR tree-optimization/99746
1274 * tree-vect-slp-patterns.c (complex_pattern::build): Do not mark
1275 the scalar stmt as patterned. Instead set up required things
1276 manually.
1277
1278 2021-03-25 Xionghu Luo <luoxhu@linux.ibm.com>
1279
1280 * config/rs6000/rs6000.c (power8_costs): Change l2 cache
1281 from 256 to 512.
1282
1283 2021-03-24 Martin Liska <mliska@suse.cz>
1284
1285 PR target/99753
1286 * common/config/i386/i386-common.c (ARRAY_SIZE): Fix off-by-one
1287 error.
1288 * config/i386/i386-options.c (ix86_option_override_internal):
1289 Add run-time assert.
1290
1291 2021-03-24 Martin Jambor <mjambor@suse.cz>
1292
1293 PR ipa/99122
1294 * ipa-cp.c (initialize_node_lattices): Mark as bottom all
1295 parameters with unknown type.
1296 (ipacp_value_safe_for_type): New function.
1297 (propagate_vals_across_arith_jfunc): Verify that the constant type
1298 can be used for a type of the formal parameter.
1299 (propagate_vals_across_ancestor): Likewise.
1300 (propagate_scalar_across_jump_function): Likewise. Pass the type
1301 also to propagate_vals_across_ancestor.
1302
1303 2021-03-24 Christophe Lyon <christophe.lyon@linaro.org>
1304
1305 PR target/99727
1306 * config/arm/mve.md (movmisalign<mode>_mve_store): Use Ux
1307 constraint.
1308 (movmisalign<mode>_mve_load): Likewise.
1309
1310 2021-03-24 Jakub Jelinek <jakub@redhat.com>
1311
1312 PR target/99724
1313 * config/arm/vec-common.md (one_cmpl<mode>2, neg<mode>2,
1314 movmisalign<mode>): Disable expanders for TARGET_REALLY_IWMMXT.
1315
1316 2021-03-24 Alexandre Oliva <oliva@adacore.com>
1317
1318 * doc/sourcebuild.texi (sysconf): New effective target.
1319
1320 2021-03-24 Alexandre Oliva <oliva@adacore.com>
1321
1322 * config/i386/predicates.md (reg_or_const_vec_operand): New.
1323 * config/i386/sse.md (ssse3_pshufbv8qi3): Add an expander for
1324 the now *-prefixed insn_and_split, turn the splitter const vec
1325 into an input for the insn, making it an ignored immediate for
1326 non-split cases, and loaded into the scratch register
1327 otherwise.
1328
1329 2021-03-23 Vladimir N. Makarov <vmakarov@redhat.com>
1330
1331 PR target/99581
1332 * config/aarch64/constraints.md (Utq, UOb, UOh, UOw, UOd, UOty):
1333 Use define_relaxed_memory_constraint for them.
1334
1335 2021-03-23 Iain Sandoe <iain@sandoe.co.uk>
1336
1337 PR target/99733
1338 * config/host-darwin.c (darwin_gt_pch_use_address): Add a
1339 colon to the diagnostic message.
1340
1341 2021-03-23 Ilya Leoshkevich <iii@linux.ibm.com>
1342
1343 * fwprop.c (fwprop_propagation::fwprop_propagation): Look at
1344 set_info's uses.
1345 (try_fwprop_subst_note): Use set_info instead of insn_info.
1346 (try_fwprop_subst_pattern): Likewise.
1347 (try_fwprop_subst_notes): Likewise.
1348 (try_fwprop_subst): Likewise.
1349 (forward_propagate_subreg): Likewise.
1350 (forward_propagate_and_simplify): Likewise.
1351 (forward_propagate_into): Likewise.
1352 * rtl-ssa/accesses.h (set_info::single_nondebug_use) New
1353 method.
1354 (set_info::single_nondebug_insn_use): Likewise.
1355 (set_info::single_phi_use): Likewise.
1356 * rtl-ssa/member-fns.inl (set_info::single_nondebug_use) New
1357 method.
1358 (set_info::single_nondebug_insn_use): Likewise.
1359 (set_info::single_phi_use): Likewise.
1360
1361 2021-03-23 Christophe Lyon <christophe.lyon@linaro.org>
1362
1363 * doc/sourcebuild.texi (arm_dsp_ok, arm_dsp): Document.
1364
1365 2021-03-23 Jakub Jelinek <jakub@redhat.com>
1366
1367 PR target/99540
1368 * config/aarch64/aarch64.c (aarch64_add_offset): Tell
1369 expand_mult to perform an unsigned rather than a signed
1370 multiplication.
1371
1372 2021-03-23 H.J. Lu <hjl.tools@gmail.com>
1373
1374 PR target/99704
1375 * config/i386/cpuid.h (__cpuid): Add __volatile__.
1376 (__cpuid_count): Likewise.
1377
1378 2021-03-23 Richard Biener <rguenther@suse.de>
1379
1380 PR tree-optimization/99721
1381 * tree-vect-slp.c (vect_slp_analyze_node_operations):
1382 Make sure we can schedule the node.
1383
1384 2021-03-23 Marcus Comstedt <marcus@mc.pp.se>
1385
1386 * config/riscv/riscv.c (riscv_subword): Take endianness into
1387 account when calculating the byte offset.
1388
1389 2021-03-23 Marcus Comstedt <marcus@mc.pp.se>
1390
1391 * config/riscv/predicates.md (subreg_lowpart_operator): New predicate
1392 * config/riscv/riscv.md (*addsi3_extended2, *subsi3_extended2)
1393 (*negsi2_extended2, *mulsi3_extended2, *<optab>si3_mask)
1394 (*<optab>si3_mask_1, *<optab>di3_mask, *<optab>di3_mask_1)
1395 (*<optab>si3_extend_mask, *<optab>si3_extend_mask_1): Use
1396 new predicate "subreg_lowpart_operator"
1397
1398 2021-03-23 Marcus Comstedt <marcus@mc.pp.se>
1399
1400 * config/riscv/riscv.c (riscv_swap_instruction): New function
1401 to byteswap an SImode rtx containing an instruction.
1402 (riscv_trampoline_init): Byteswap the generated instructions
1403 when needed.
1404
1405 2021-03-23 Marcus Comstedt <marcus@mc.pp.se>
1406
1407 * common/config/riscv/riscv-common.c
1408 (TARGET_DEFAULT_TARGET_FLAGS): Set default endianness.
1409 * config.gcc (riscv32be-*, riscv64be-*): Set
1410 TARGET_BIG_ENDIAN_DEFAULT to 1.
1411 * config/riscv/elf.h (LINK_SPEC): Change -melf* value
1412 depending on default endianness.
1413 * config/riscv/freebsd.h (LINK_SPEC): Likewise.
1414 * config/riscv/linux.h (LINK_SPEC): Likewise.
1415 * config/riscv/riscv.c (TARGET_DEFAULT_TARGET_FLAGS): Set
1416 default endianness.
1417 * config/riscv/riscv.h (DEFAULT_ENDIAN_SPEC): New macro.
1418
1419 2021-03-23 Marcus Comstedt <marcus@mc.pp.se>
1420
1421 * config/riscv/elf.h (LINK_SPEC): Pass linker endianness flag.
1422 * config/riscv/freebsd.h (LINK_SPEC): Likewise.
1423 * config/riscv/linux.h (LINK_SPEC): Likewise.
1424 * config/riscv/riscv.h (ASM_SPEC): Pass -mbig-endian and
1425 -mlittle-endian.
1426 (BYTES_BIG_ENDIAN): Handle big endian.
1427 (WORDS_BIG_ENDIAN): Define to BYTES_BIG_ENDIAN.
1428 * config/riscv/riscv.opt (-mbig-endian, -mlittle-endian): New
1429 options.
1430 * doc/invoke.texi (-mbig-endian, -mlittle-endian): Document.
1431
1432 2021-03-23 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
1433
1434 * regcprop.c (find_oldest_value_reg): Ask target whether
1435 different mode is fine for replacement register.
1436
1437 2021-03-23 Aldy Hernandez <aldyh@redhat.com>
1438
1439 PR tree-optimization/99296
1440 * value-range.cc (irange::irange_set_1bit_anti_range): New.
1441 (irange::irange_set_anti_range): Call irange_set_1bit_anti_range
1442 * value-range.h (irange::irange_set_1bit_anti_range): New.
1443
1444 2021-03-22 Vladimir N. Makarov <vmakarov@redhat.com>
1445
1446 PR target/99581
1447 * config/aarch64/constraints.md (UtQ): Use
1448 define_relaxed_memory_constraint for it.
1449 * doc/md.texi (define_relaxed_memory_constraint): Describe it.
1450 * genoutput.c (main): Process DEFINE_RELAXED_MEMORY_CONSTRAINT.
1451 * genpreds.c (constraint_data): Add bitfield is_relaxed_memory.
1452 (have_relaxed_memory_constraints): New static var.
1453 (relaxed_memory_start, relaxed_memory_end): Ditto.
1454 (add_constraint): Add arg is_relaxed_memory. Check name for
1455 relaxed memory. Set up is_relaxed_memory in constraint_data and
1456 have_relaxed_memory_constraints. Adjust calls.
1457 (choose_enum_order): Process relaxed memory.
1458 (write_tm_preds_h): Ditto.
1459 (main): Process DEFINE_RELAXED_MEMORY_CONSTRAINT.
1460 * gensupport.c (process_rtx): Process DEFINE_RELAXED_MEMORY_CONSTRAINT.
1461 * ira-costs.c (record_reg_classes): Process CT_RELAXED_MEMORY.
1462 * ira-lives.c (single_reg_class): Use
1463 insn_extra_relaxed_memory_constraint.
1464 * ira.c (ira_setup_alts): CT_RELAXED_MEMORY.
1465 * lra-constraints.c (valid_address_p): Use
1466 insn_extra_relaxed_memory_constraint instead of other memory
1467 constraints.
1468 (process_alt_operands): Process CT_RELAXED_MEMORY.
1469 (curr_insn_transform): Use insn_extra_relaxed_memory_constraint.
1470 * recog.c (asm_operand_ok, preprocess_constraints): Process
1471 CT_RELAXED_MEMORY.
1472 * reload.c (find_reloads): Ditto.
1473 * rtl.def (DEFINE_RELAXED_MEMORY_CONSTRAINT): New.
1474 * stmt.c (parse_input_constraint): Use
1475 insn_extra_relaxed_memory_constraint.
1476
1477 2021-03-22 Segher Boessenkool <segher@kernel.crashing.org>
1478
1479 PR target/97926
1480 * ubsan.c (ubsan_instrument_float_cast): Don't test for unordered if
1481 there are no NaNs.
1482
1483 2021-03-22 Alex Coplan <alex.coplan@arm.com>
1484
1485 PR target/97252
1486 * config/arm/arm-protos.h (neon_make_constant): Add generate
1487 argument to guard emitting insns, default to true.
1488 * config/arm/arm.c (arm_legitimate_constant_p_1): Reject
1489 CONST_VECTORs which neon_make_constant can't handle.
1490 (neon_vdup_constant): Add generate argument, avoid emitting
1491 insns if it's not set.
1492 (neon_make_constant): Plumb new generate argument through.
1493 * config/arm/constraints.md (Ui): New. Use it...
1494 * config/arm/mve.md (*mve_mov<mode>): ... here.
1495 * config/arm/vec-common.md (movv8hf): Use neon_make_constant to
1496 synthesize constants.
1497
1498 2021-03-22 Richard Biener <rguenther@suse.de>
1499
1500 * debug.h: Add deprecation warning.
1501
1502 2021-03-22 Richard Biener <rguenther@suse.de>
1503
1504 PR tree-optimization/99694
1505 * tree-ssa-sccvn.c (visit_phi): Ignore edges with the
1506 PHI result.
1507
1508 2021-03-22 Kito Cheng <kito.cheng@sifive.com>
1509
1510 PR target/99702
1511 * config/riscv/riscv.c (riscv_expand_block_move): Get RTL value
1512 after type checking.
1513
1514 2021-03-22 Jakub Jelinek <jakub@redhat.com>
1515
1516 PR debug/99562
1517 PR debug/66728
1518 * dwarf2out.c (get_full_len): Use get_precision rather than
1519 min_precision.
1520 (add_const_value_attribute): Make sure add_AT_wide argument has
1521 precision prec rather than some very wide one.
1522
1523 2021-03-22 Kewen Lin <linkw@linux.ibm.com>
1524
1525 * config/rs6000/rs6000.md (*rotldi3_insert_sf,
1526 *mov<SFDF:mode><SFDF2:mode>cc_p9, floatsi<mode>2_lfiwax,
1527 floatsi<mode>2_lfiwax_mem, floatunssi<mode>2_lfiwzx,
1528 floatunssi<mode>2_lfiwzx_mem, *floatsidf2_internal,
1529 *floatunssidf2_internal, fix_trunc<mode>si2_stfiwx,
1530 fix_trunc<mode>si2_internal, fixuns_trunc<mode>si2_stfiwx,
1531 *round32<mode>2_fprs, *roundu32<mode>2_fprs,
1532 *fix_trunc<mode>si2_internal): Fix empty split condition.
1533 * config/rs6000/vsx.md (*vsx_le_undo_permute_<mode>,
1534 vsx_reduc_<VEC_reduc_name>_v2df, vsx_reduc_<VEC_reduc_name>_v4sf,
1535 *vsx_reduc_<VEC_reduc_name>_v2df_scalar,
1536 *vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Likewise.
1537
1538 2021-03-22 Xionghu Luo <luoxhu@linux.ibm.com>
1539
1540 PR target/98914
1541 * config/rs6000/rs6000.c (rs6000_expand_vector_set_var_p9):
1542 Convert idx to DImode.
1543 (rs6000_expand_vector_set_var_p8): Likewise.
1544
1545 2021-03-21 Jakub Jelinek <jakub@redhat.com>
1546
1547 PR debug/99388
1548 * dwarf2out.c (insert_float): Change return type from void to
1549 unsigned, handle GET_MODE_SIZE (mode) == 2 and return element size.
1550 (mem_loc_descriptor, loc_descriptor, add_const_value_attribute):
1551 Adjust callers.
1552
1553 2021-03-20 H.J. Lu <hjl.tools@gmail.com>
1554
1555 PR target/99679
1556 * config/i386/i386.c (construct_container): Check cfun != NULL
1557 before accessing silent_p.
1558
1559 2021-03-20 Ahamed Husni <ahamedhusni73@gmail.com>
1560
1561 * asan.c: Fix typos in comments.
1562
1563 2021-03-20 Vladimir N. Makarov <vmakarov@redhat.com>
1564
1565 PR rtl-optimization/99680
1566 * lra-constraints.c (skip_contraint_modifiers): Rename to skip_constraint_modifiers.
1567 (process_address_1): Check empty constraint before using
1568 CONSTRAINT_LEN.
1569
1570 2021-03-19 Pat Haugen <pthaugen@linux.ibm.com>
1571
1572 * config/rs6000/rs6000.c (power10_cost): New.
1573 (rs6000_option_override_internal): Set Power10 costs.
1574 (rs6000_issue_rate): Set Power10 issue rate.
1575 * config/rs6000/power10.md: Rewrite for Power10.
1576
1577 2021-03-19 Vladimir N. Makarov <vmakarov@redhat.com>
1578
1579 PR target/99663
1580 * lra-constraints.c (process_address_1): Don't use unknown
1581 constraint for address constraint.
1582
1583 2021-03-19 Iain Sandoe <iain@sandoe.co.uk>
1584
1585 PR target/99661
1586 * config.gcc (powerpc-*-darwin8): Delete the reference to
1587 the now removed darwin8.h.
1588
1589 2021-03-19 Olivier Hainque <hainque@adacore.com>
1590
1591 PR target/99660
1592 * config/vxworksae.h (VX_CPU_PREFIX): Define.
1593
1594 2021-03-19 John David Anglin <danglin@gcc.gnu.org>
1595
1596 * config/pa/pa.c (import_milli): Use memcpy instead of strncpy.
1597
1598 2021-03-19 Tamar Christina <tamar.christina@arm.com>
1599
1600 PR tree-optimization/99656
1601 * tree-vect-slp-patterns.c (linear_loads_p,
1602 complex_add_pattern::matches, is_eq_or_top,
1603 vect_validate_multiplication, complex_mul_pattern::matches,
1604 complex_fms_pattern::matches): Remove complex_perm_kinds_t.
1605 * tree-vectorizer.h: (complex_load_perm_t): Removed.
1606 (slp_tree_to_load_perm_map_t): Use complex_perm_kinds_t instead of
1607 complex_load_perm_t.
1608
1609 2021-03-19 H.J. Lu <hjl.tools@gmail.com>
1610
1611 PR target/99652
1612 * config/i386/i386-options.c (ix86_init_machine_status): Set
1613 silent_p to true.
1614 * config/i386/i386.c (init_cumulative_args): Set silent_p to
1615 false.
1616 (construct_container): Return early for return and argument
1617 errors if silent_p is true.
1618 * config/i386/i386.h (machine_function): Add silent_p.
1619
1620 2021-03-19 Jakub Jelinek <jakub@redhat.com>
1621
1622 PR target/99593
1623 * config/arm/constraints.md (Ds): New constraint.
1624 * config/arm/vec-common.md (mve_vshlq_<supf><mode>): Use w,Ds
1625 constraint instead of w,Dm.
1626
1627 2021-03-19 Andrew Stubbs <ams@codesourcery.com>
1628
1629 * config/gcn/gcn.c (gcn_parse_amdgpu_hsa_kernel_attribute): Fix quotes
1630 in error message.
1631
1632 2021-03-19 Eric Botcazou <ebotcazou@adacore.com>
1633
1634 PR middle-end/99641
1635 * fold-const.c (native_encode_initializer) <CONSTRUCTOR>: For an
1636 array type, do the computation of the current position in sizetype.
1637
1638 2021-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
1639
1640 PR target/99422
1641 * lra-constraints.c (process_address_1): Use lookup_constraint
1642 only for a single constraint.
1643
1644 2021-03-18 Martin Sebor <msebor@redhat.com>
1645
1646 PR middle-end/99502
1647 * gimple-array-bounds.cc (inbounds_vbase_memaccess_p): Rename...
1648 (inbounds_memaccess_p): ...to this. Check the ending offset of
1649 the accessed member.
1650
1651 2021-03-18 Andrew Stubbs <ams@codesourcery.com>
1652
1653 * config/gcn/gcn.c (gcn_parse_amdgpu_hsa_kernel_attribute): Add %< and
1654 %> quote markers to error messages.
1655 (gcn_goacc_validate_dims): Likewise.
1656 (gcn_conditional_register_usage): Remove exclaimation mark from error
1657 message.
1658 (gcn_vectorize_vec_perm_const): Ensure perm is fully uninitialized.
1659
1660 2021-03-18 Jan Hubicka <hubicka@ucw.cz>
1661
1662 * config/i386/x86-tune-costs.h (struct processor_costs): Fix costs of
1663 integer divides1.
1664
1665 2021-03-18 Sinan Lin <sinan@isrc.iscas.ac.cn>
1666 Kito Cheng <kito.cheng@sifive.com>
1667
1668 * config/riscv/riscv.c (riscv_block_move_straight): Change type
1669 to unsigned HOST_WIDE_INT for parameter and local variable with
1670 HOST_WIDE_INT type.
1671 (riscv_adjust_block_mem): Ditto.
1672 (riscv_block_move_loop): Ditto.
1673 (riscv_expand_block_move): Ditto.
1674
1675 2021-03-18 Nick Clifton <nickc@redhat.com>
1676
1677 * config/v850/v850.c (construct_restore_jr): Increase static
1678 buffer size.
1679 (construct_save_jarl): Likewise.
1680 * config/v850/v850.h (DWARF2_DEBUGGING_INFO): Define.
1681
1682 2021-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1683
1684 * config/aarch64/aarch64.c (aarch64_adjust_generic_arch_tuning): Define.
1685 (aarch64_override_options_internal): Use it.
1686 (generic_tunings): Add AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS to
1687 tune_flags.
1688
1689 2021-03-17 Sandra Loosemore <sandra@codesourcery.com>
1690
1691 * config/nios2/nios2.c (nios2_custom_check_insns): Clean up
1692 error message format issues.
1693 (nios2_option_override): Likewise.
1694 (nios2_expand_fpu_builtin): Likewise.
1695 (nios2_init_custom_builtins): Adjust to avoid bogus strncpy
1696 truncation warning.
1697 (nios2_expand_custom_builtin): More error message format fixes.
1698 (nios2_expand_rdwrctl_builtin): Likewise.
1699 (nios2_expand_rdprs_builtin): Likewise.
1700 (nios2_expand_eni_builtin): Likewise.
1701 (nios2_expand_builtin): Likewise.
1702 (nios2_register_custom_code): Likewise.
1703 (nios2_valid_target_attribute_rec): Likewise.
1704 (nios2_add_insn_asm): Fix uninitialized variable warning.
1705
1706 2021-03-17 Jan Hubicka <jh@suse.cz>
1707
1708 * config/i386/x86-tune-costs.h (struct processor_costs): Update costs
1709 of gather to match reality.
1710 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER): Enable for znver3.
1711
1712 2021-03-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1713
1714 * config/aarch64/aarch64-builtins.c (aarch64_expand_rng_builtin): Use EQ
1715 to compare against CC_REG rather than NE.
1716
1717 2021-03-17 H.J. Lu <hjl.tools@gmail.com>
1718
1719 PR target/99504
1720 * config/i386/i386.c (ix86_force_load_from_GOT_p): Support
1721 inline assembly statements.
1722 (ix86_print_operand): Update 'P' handling for -fno-plt.
1723
1724 2021-03-17 Tamar Christina <tamar.christina@arm.com>
1725
1726 PR target/99542
1727 * config/aarch64/aarch64.c
1728 (aarch64_simd_clone_compute_vecsize_and_simdlen): Remove unused var.
1729
1730 2021-03-16 Segher Boessenkool <segher@kernel.crashing.org>
1731
1732 PR target/98092
1733 * config/rs6000/predicates.md (branch_comparison_operator): Allow
1734 ordered and unordered for CCFPmode, if flag_finite_math_only.
1735
1736 2021-03-16 Jakub Jelinek <jakub@redhat.com>
1737
1738 PR target/99600
1739 * config/i386/i386-expand.c (ix86_split_lea_for_addr): Emit a MULT
1740 rather than ASHIFT.
1741 * config/i386/i386.md (mult by 1248 into ashift): New splitter.
1742
1743 2021-03-16 Martin Liska <mliska@suse.cz>
1744
1745 PR target/99592
1746 * optc-save-gen.awk: Add flag_ipa_ra to exceptions for
1747 cl_optimization_compare function.
1748
1749 2021-03-16 Ilya Leoshkevich <iii@linux.ibm.com>
1750
1751 * config/s390/s390.c (f_constraint_p): Treat "fv" constraints
1752 as "v".
1753
1754 2021-03-16 Jakub Jelinek <jakub@redhat.com>
1755
1756 PR target/99563
1757 * config/i386/i386.h (struct machine_function): Add
1758 has_explicit_vzeroupper bitfield.
1759 * config/i386/i386-expand.c (ix86_expand_builtin): Set
1760 cfun->machine->has_explicit_vzeroupper when expanding
1761 IX86_BUILTIN_VZEROUPPER.
1762 * config/i386/i386-features.c (rest_of_handle_insert_vzeroupper):
1763 Do the mode switching only when TARGET_VZEROUPPER, expensive
1764 optimizations turned on and not optimizing for size.
1765 (pass_insert_vzeroupper::gate): Enable even when
1766 cfun->machine->has_explicit_vzeroupper is set.
1767
1768 2021-03-16 Jakub Jelinek <jakub@redhat.com>
1769
1770 PR target/99542
1771 * config/aarch64/aarch64.c
1772 (aarch64_simd_clone_compute_vecsize_and_simdlen): If not a function
1773 definition, walk TYPE_ARG_TYPES list if non-NULL for argument types
1774 instead of DECL_ARGUMENTS. Ignore types for uniform arguments.
1775
1776 2021-03-15 Richard Biener <rguenther@suse.de>
1777
1778 PR tree-optimization/98834
1779 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle missing
1780 subsetting by truncating the access size.
1781
1782 2021-03-15 Jan Hubicka <hubicka@ucw.cz>
1783
1784 * config/i386/i386-options.c (processor_cost_table): Add znver3_cost.
1785 * config/i386/x86-tune-costs.h (znver3_cost): New gobal variable; copy
1786 of znver2_cost.
1787
1788 2021-03-15 Martin Liska <mliska@suse.cz>
1789
1790 * spellcheck.c: Add missing comma in initialization.
1791
1792 2021-03-14 Uroš Bizjak <ubizjak@gmail.com>
1793
1794 * config/i386/sse.md (*vec_extract<mode>): Merge alternative 0 with
1795 alternative 2 and alternative 1 with alternative 3 using
1796 YW register constraint.
1797 (*vec_extract<PEXTR_MODE12:mode>_zext): Merge alternatives
1798 using YW register constraint.
1799 (*vec_extractv16qi_zext): Ditto.
1800 (*vec_extractv4si): Merge alternatives 4 and 5
1801 using Yw register constraint.
1802 (*ssse3_palignr<mode>_perm): Use Yw instead of v for alternative 3.
1803
1804 2021-03-13 Martin Sebor <msebor@redhat.com>
1805
1806 PR tree-optimization/99489
1807 * builtins.c (gimple_call_alloc_size): Fail gracefully when argument
1808 is not a call statement.
1809
1810 2021-03-13 Jakub Jelinek <jakub@redhat.com>
1811
1812 PR tree-optimization/99544
1813 * match.pd (X + (X << C) -> X * (1 + (1 << C))): Don't simplify
1814 if for vector types multiplication can't be done in type's mode.
1815
1816 2021-03-12 Eric Botcazou <ebotcazou@adacore.com>
1817
1818 PR target/99422
1819 * config/sparc/constraints.md (w): Rename to...
1820 (W): ... this and ditch previous implementation.
1821 * config/sparc/sparc.md (*movdi_insn_sp64): Replace W with m.
1822 (*movdf_insn_sp64): Likewise.
1823 (*mov<VM64:mode>_insn_sp64): Likewise.
1824 * config/sparc/sync.md (*atomic_compare_and_swap<mode>_1): Replace
1825 w with W.
1826 (atomic_compare_and_swap_leon3_1): Likewise.
1827 (*atomic_compare_and_swapdi_v8plus): Likewise.
1828 * config/sparc/sparc.c (memory_ok_for_ldd): Remove useless test on
1829 architecture and add missing address validity check during LRA.
1830
1831 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
1832
1833 PR fortran/98858
1834 * gimplify.c (omp_add_variable): Handle NULL_TREE as size
1835 occuring for assumed-size arrays in use_device_{ptr,addr}.
1836
1837 2021-03-12 Jakub Jelinek <jakub@redhat.com>
1838
1839 PR target/99321
1840 * config/i386/constraints.md (YW): New internal constraint.
1841 * config/i386/sse.md (v_Yw): Add V4TI, V2TI, V1TI and TI cases.
1842 (*<sse2_avx2>_<insn><mode>3<mask_name>,
1843 *<sse2_avx2>_uavg<mode>3<mask_name>, *abs<mode>2,
1844 *<s>mul<mode>3_highpart<mask_name>): Use <v_Yw> instead of v in
1845 constraints.
1846 (<sse2_avx2>_psadbw): Use YW instead of v in constraints.
1847 (*avx2_pmaddwd, *sse2_pmaddwd, *<code>v8hi3, *<code>v16qi3,
1848 avx2_pmaddubsw256, ssse3_pmaddubsw128): Merge last two alternatives
1849 into one, use Yw instead of former x,v.
1850 (ashr<mode>3, <insn><mode>3): Use <v_Yw> instead of x in constraints of
1851 the last alternative.
1852 (<sse2_avx2>_packsswb<mask_name>, <sse2_avx2>_packssdw<mask_name>,
1853 <sse2_avx2>_packuswb<mask_name>, <sse4_1_avx2>_packusdw<mask_name>,
1854 *<ssse3_avx2>_pmulhrsw<mode>3<mask_name>, <ssse3_avx2>_palignr<mode>,
1855 <ssse3_avx2>_pshufb<mode>3<mask_name>): Merge last two alternatives
1856 into one, use <v_Yw> instead of former x,v.
1857 (avx2_interleave_highv32qi<mask_name>,
1858 vec_interleave_highv16qi<mask_name>): Use Yw instead of v in
1859 constraints. Add && <mask_avx512bw_condition> to condition.
1860 (avx2_interleave_lowv32qi<mask_name>,
1861 vec_interleave_lowv16qi<mask_name>,
1862 avx2_interleave_highv16hi<mask_name>,
1863 vec_interleave_highv8hi<mask_name>,
1864 avx2_interleave_lowv16hi<mask_name>, vec_interleave_lowv8hi<mask_name>,
1865 avx2_pshuflw_1<mask_name>, sse2_pshuflw_1<mask_name>,
1866 avx2_pshufhw_1<mask_name>, sse2_pshufhw_1<mask_name>,
1867 avx2_<code>v16qiv16hi2<mask_name>, sse4_1_<code>v8qiv8hi2<mask_name>,
1868 *sse4_1_<code>v8qiv8hi2<mask_name>_1, <sse2_avx2>_<insn><mode>3): Use
1869 Yw instead of v in constraints.
1870 * config/i386/mmx.md (Yv_Yw): New define_mode_attr.
1871 (*mmx_<insn><mode>3, mmx_ashr<mode>3, mmx_<insn><mode>3): Use <Yv_Yw>
1872 instead of Yv in constraints.
1873 (*mmx_<insn><mode>3, *mmx_mulv4hi3, *mmx_smulv4hi3_highpart,
1874 *mmx_umulv4hi3_highpart, *mmx_pmaddwd, *mmx_<code>v4hi3,
1875 *mmx_<code>v8qi3, mmx_pack<s_trunsuffix>swb, mmx_packssdw,
1876 mmx_punpckhbw, mmx_punpcklbw, mmx_punpckhwd, mmx_punpcklwd,
1877 *mmx_uavgv8qi3, *mmx_uavgv4hi3, mmx_psadbw): Use Yw instead of Yv in
1878 constraints.
1879 (*mmx_pinsrw, *mmx_pinsrb, *mmx_pextrw, *mmx_pextrw_zext, *mmx_pextrb,
1880 *mmx_pextrb_zext): Use YW instead of Yv in constraints.
1881 (*mmx_eq<mode>3, mmx_gt<mode>3): Use x instead of Yv in constraints.
1882 (mmx_andnot<mode>3, *mmx_<code><mode>3): Split last alternative into
1883 two, one with just x, another isa avx512vl with v.
1884
1885 2021-03-12 Martin Liska <mliska@suse.cz>
1886
1887 * doc/invoke.texi: Add missing param documentation.
1888
1889 2021-03-11 David Malcolm <dmalcolm@redhat.com>
1890
1891 PR analyzer/96374
1892 * Makefile.in (ANALYZER_OBJS): Add analyzer/feasible-graph.o and
1893 analyzer/trimmed-graph.o.
1894 * doc/analyzer.texi (Analyzer Paths): Rewrite description of
1895 feasibility checking to reflect new implementation.
1896 * doc/invoke.texi (-fdump-analyzer-feasibility): Document new
1897 option.
1898 * shortest-paths.h (shortest_paths::get_shortest_distance): New.
1899
1900 2021-03-11 David Malcolm <dmalcolm@redhat.com>
1901
1902 * digraph.cc (selftest::test_shortest_paths): Update
1903 shortest_paths init for new param. Add test of
1904 SPS_TO_GIVEN_TARGET.
1905 * shortest-paths.h (enum shortest_path_sense): New.
1906 (shortest_paths::shortest_paths): Add "sense" param.
1907 Update for renamings. Generalize to use "sense" param.
1908 (shortest_paths::get_shortest_path): Rename param.
1909 (shortest_paths::m_sense): New field.
1910 (shortest_paths::m_prev): Rename...
1911 (shortest_paths::m_best_edge): ...to this.
1912 (shortest_paths::get_shortest_path): Update for renamings.
1913 Conditionalize flipping of path on sense of traversal.
1914
1915 2021-03-11 David Malcolm <dmalcolm@redhat.com>
1916
1917 * digraph.cc (selftest::test_shortest_paths): Add test coverage
1918 for paths from B and C.
1919 * shortest-paths.h (shortest_paths::shortest_paths): Handle
1920 unreachable nodes, rather than asserting.
1921
1922 2021-03-11 David Edelsohn <dje.gcc@gmail.com>
1923
1924 PR target/99094
1925 * config/rs6000/rs6000.c (rs6000_xcoff_file_start): Don't create
1926 xcoff_tbss_section_name.
1927 * config/rs6000/xcoff.h (ASM_OUTPUT_TLS_COMMON): Use .lcomm.
1928 * xcoffout.c (xcoff_tbss_section_name): Delete.
1929 * xcoffout.h (xcoff_tbss_section_name): Delete.
1930
1931 2021-03-11 Richard Biener <rguenther@suse.de>
1932
1933 PR tree-optimization/99523
1934 * tree-cfg.c (dump_function_to_file): Dump SSA names
1935 w/o identifier to the decls section as well, not only those
1936 without a VAR_DECL.
1937
1938 2021-03-11 Jakub Jelinek <jakub@redhat.com>
1939
1940 PR ipa/99517
1941 * ipa-icf-gimple.c (func_checker::compare_gimple_call): For internal
1942 function calls with lhs fail if the lhs don't have compatible types.
1943
1944 2021-03-11 Hans-Peter Nilsson <hp@axis.com>
1945
1946 * config/cris/cris.h (HARD_FRAME_POINTER_REGNUM): Define.
1947 Change FRAME_POINTER_REGNUM to correspond to a new faked
1948 register faked_fp, part of GENNONACR_REGS like faked_ap.
1949 (CRIS_FAKED_REGS_CONTENTS): New helper macro.
1950 (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS):
1951 (REG_ALLOC_ORDER, REG_CLASS_CONTENTS, REGNO_OK_FOR_BASE_P)
1952 (ELIMINABLE_REGS, REGISTER_NAMES): Adjust accordingly.
1953 * config/cris/cris.md (CRIS_FP_REGNUM): Renumber to new faked
1954 register.
1955 (CRIS_REAL_FP_REGNUM): New constant.
1956 * config/cris/cris.c (cris_reg_saved_in_regsave_area): Check
1957 for HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM.
1958 (cris_initial_elimination_offset): Handle elimination changes
1959 to HARD_FRAME_POINTER_REGNUM instead of FRAME_POINTER_REGNUM
1960 and add one from FRAME_POINTER_REGNUM to
1961 HARD_FRAME_POINTER_REGNUM.
1962 (cris_expand_prologue, cris_expand_epilogue): Emit code for
1963 hard_frame_pointer_rtx instead of frame_pointer_rtx.
1964
1965 2021-03-10 David Edelsohn <dje.gcc@gmail.com>
1966
1967 PR target/99492
1968 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Add check for DCmode.
1969 * config/rs6000/rs6000.c (rs6000_special_round_type_align): Same.
1970
1971 2021-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
1972
1973 PR target/99422
1974 * lra-constraints.c (process_address_1): Don't check unknown
1975 constraint, use X for empty constraint.
1976
1977 2021-03-10 Alex Coplan <alex.coplan@arm.com>
1978
1979 * config/aarch64/aarch64.c (aarch64_vfp_is_call_or_return_candidate):
1980 Fix typo in comment describing "is_ha" argument.
1981
1982 2021-03-10 John David Anglin <danglin@gcc.gnu.org>
1983
1984 * doc/sourcebuild.texi: Document LRA target selector.
1985
1986 2021-03-10 David Malcolm <dmalcolm@redhat.com>
1987
1988 * doc/ux.texi: Add subsection contrasting interactive versus
1989 batch usage of GCC.
1990
1991 2021-03-10 Joel Hutton <joel.hutton@arm.com>
1992
1993 PR target/99102
1994 * tree-vect-stmts.c (vectorizable_store): Fix scatter store mask
1995 check condition.
1996 (vectorizable_load): Fix gather load mask check condition.
1997
1998 2021-03-10 Richard Biener <rguenther@suse.de>
1999
2000 PR tree-optimization/99510
2001 * tree.c (check_aligned_type): Check that the candidate
2002 has TYPE_USER_ALIGN set instead of matching with the
2003 original type.
2004
2005 2021-03-10 Eric Botcazou <ebotcazou@adacore.com>
2006
2007 * config/sparc/sparc.c (sparc_regmode_natural_size): Return 4 for
2008 float and vector integer modes only if the mode is not larger.
2009
2010 2021-03-10 Hans-Peter Nilsson <hp@axis.com>
2011
2012 * config/cris/cris.h (DWARF_FRAME_REGISTERS): Define.
2013
2014 2021-03-09 Vladimir N. Makarov <vmakarov@redhat.com>
2015
2016 * ira.c (ira_setup_alts, ira_get_dup_out_num): Process digital
2017 constraints > 9.
2018 * ira-lives.c (single_reg_class): Ditto.
2019
2020 2021-03-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
2021
2022 * config.gcc (aarch64-*-rtems*): Include general rtems.h after
2023 the architecture-specific rtems.h.
2024 (aarch64-*-rtems*): Likewise.
2025 (arm*-*-rtems*): Likewise.
2026 (epiphany-*-rtems*): Likewise.
2027 (riscv*-*-rtems*): Likewise.
2028
2029 2021-03-09 Jakub Jelinek <jakub@redhat.com>
2030
2031 PR tree-optimization/99305
2032 * tree-ssa-phiopt.c (conditional_replacement): Test integer_pow2p
2033 before integer_all_onesp instead of vice versa.
2034
2035 2021-03-09 Richard Earnshaw <rearnsha@arm.com>
2036
2037 * common/config/arm/arm-common.c (arm_config_default): Change type
2038 of 'i' to unsigned.
2039
2040 2021-03-09 Vladimir N. Makarov <vmakarov@redhat.com>
2041
2042 PR target/99454
2043 * lra-constraints.c (process_address_1): Process constraint 'g'
2044 separately and digital constraints containing more one digit.
2045
2046 2021-03-09 Nick Clifton <nickc@redhat.com>
2047
2048 * config/rx/rx.h (DBX_DEBUGGING_INFO): Define.
2049 (DWARF"_DEBUGGING_INFO): Define.
2050
2051 2021-03-09 Eric Botcazou <ebotcazou@adacore.com>
2052
2053 PR c++/90448
2054 * calls.c (initialize_argument_information): When the argument
2055 is passed by reference, do not make a copy in a thunk only if
2056 the argument is already in memory. Remove redundant test for
2057 the case of callee copy.
2058
2059 2021-03-09 Vladimir N. Makarov <vmakarov@redhat.com>
2060
2061 PR target/99454
2062 * lra-constraints.c (process_address_1): Process 0..9 constraints
2063 in process_address_1.
2064
2065 2021-03-09 Andreas Krebbel <krebbel@linux.ibm.com>
2066
2067 * config/s390/s390.c (struct s390_processor processor_table):
2068 Binutils name string must not be empty.
2069
2070 2021-03-09 Claudiu Zissulescu <claziss@synopsys.com>
2071
2072 * config/arc/arc.c (arc_attr_type): Remove function.
2073
2074 2021-03-09 Martin Liska <mliska@suse.cz>
2075
2076 PR target/99464
2077 * config/i386/i386-options.c (ix86_option_override_internal):
2078 Set isa_flags for OPTS argument and not for the global
2079 global_options.
2080
2081 2021-03-09 Aaron Sawdey <acsawdey@linux.ibm.com>
2082
2083 * config/rs6000/predicates.md (ds_form_mem_operand): Check
2084 in correct code.
2085
2086 2021-03-09 Aaron Sawdey <acsawdey@linux.ibm.com>
2087
2088 PR target/99070
2089 * config/rs6000/predicates.md (ds_form_mem_operand) New
2090 predicate.
2091 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10) Use
2092 ds_form_mem_operand in ld/lwa patterns.
2093 * config/rs6000/fusion.md: Regenerate file.
2094
2095 2021-03-08 Martin Sebor <msebor@redhat.com>
2096
2097 PR middle-end/98266
2098 * gimple-array-bounds.cc (inbounds_vbase_memaccess_p): New function.
2099 (array_bounds_checker::check_array_bounds): Call it.
2100
2101 2021-03-08 Martin Sebor <msebor@redhat.com>
2102
2103 PR middle-end/97631
2104 * tree-ssa-strlen.c (maybe_warn_overflow): Test rawmem.
2105 (handle_builtin_stxncpy_strncat): Rename locals. Determine
2106 destination size from allocation calls. Issue a more appropriate
2107 kind of warning.
2108 (handle_builtin_memcpy): Pass true as rawmem to maybe_warn_overflow.
2109 (handle_builtin_memset): Same.
2110
2111 2021-03-08 Peter Bergner <bergner@linux.ibm.com>
2112
2113 PR target/98959
2114 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_permute): Add an assert
2115 to ensure we do not have an Altivec style address.
2116 * config/rs6000/vsx.md (*vsx_le_perm_load_<mode>): Disable if passed
2117 an Altivec style address.
2118 (*vsx_le_perm_store_<mode>): Likewise.
2119 (splitters after *vsx_le_perm_store_<mode>): Likewise.
2120 (vsx_load_<mode>): Disable special expander if passed an Altivec
2121 style address.
2122 (vsx_store_<mode>): Likewise.
2123
2124 2021-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2125
2126 PR target/99437
2127 * config/aarch64/predicates.md (aarch64_simd_shift_imm_vec_qi): Define.
2128 (aarch64_simd_shift_imm_vec_hi): Likewise.
2129 (aarch64_simd_shift_imm_vec_si): Likewise.
2130 (aarch64_simd_shift_imm_vec_di): Likewise.
2131 * config/aarch64/aarch64-simd.md (aarch64_shrn<mode>_insn_le): Use
2132 predicate from above.
2133 (aarch64_shrn<mode>_insn_be): Likewise.
2134 (aarch64_rshrn<mode>_insn_le): Likewise.
2135 (aarch64_rshrn<mode>_insn_be): Likewise.
2136 (aarch64_shrn2<mode>_insn_le): Likewise.
2137 (aarch64_shrn2<mode>_insn_be): Likewise.
2138 (aarch64_rshrn2<mode>_insn_le): Likewise.
2139 (aarch64_rshrn2<mode>_insn_be): Likewise.
2140
2141 2021-03-08 Vladimir N. Makarov <vmakarov@redhat.com>
2142
2143 PR target/99422
2144 * lra-constraints.c (skip_contraint_modifiers): New function.
2145 (process_address_1): Use it before lookup_constraint call.
2146
2147 2021-03-08 Martin Liska <mliska@suse.cz>
2148
2149 PR target/99463
2150 * config/i386/i386-options.c (ix86_option_override_internal):
2151 Enable UINTR and HRESET for -march that supports it.
2152
2153 2021-03-08 Ilya Leoshkevich <iii@linux.ibm.com>
2154
2155 * config/s390/s390.c (f_constraint_p): New function.
2156 (s390_md_asm_adjust): Implement TARGET_MD_ASM_ADJUST.
2157 (TARGET_MD_ASM_ADJUST): Likewise.
2158
2159 2021-03-08 Tobias Burnus <tobias@codesourcery.com>
2160
2161 PR fortran/97927
2162 * tree-nested.c (convert_local_reference_stmt): Avoid calling
2163 lookup_field_for_decl for Fortran module (= namespace context).
2164
2165 2021-03-08 Andreas Krebbel <krebbel@linux.ibm.com>
2166
2167 * config/s390/s390.c (s390_expand_vec_compare): Implement <0
2168 comparison with arithmetic right shift.
2169 (s390_expand_vcond): No need for a force_reg anymore.
2170 s390_vec_compare will do it.
2171 * config/s390/vector.md ("vec_cmp<mode><tointvec>"): Accept also
2172 immediate operands.
2173
2174 2021-03-07 Jakub Jelinek <jakub@redhat.com>
2175
2176 PR target/99321
2177 * config/i386/constraints.md (Yw): Use SSE_REGS if TARGET_SSE
2178 but TARGET_AVX512BW or TARGET_AVX512VL is not set. Adjust description
2179 and comment.
2180 * config/i386/sse.md (v_Yw): New define_mode_attr.
2181 (*<insn><mode>3, *mul<mode>3<mask_name>, *avx2_<code><mode>3,
2182 *sse4_1_<code><mode>3<mask_name>): Use <v_Yw> instead of v
2183 in constraints.
2184 * config/i386/mmx.md (mmx_pshufw_1, *vec_dupv4hi): Use Yw instead of
2185 xYw in constraints.
2186
2187 2021-03-06 Julian Brown <julian@codesourcery.com>
2188
2189 * tree-pretty-print.c (dump_generic_node): Emit non-generic
2190 address space info for aggregates.
2191
2192 2021-03-06 Hans-Peter Nilsson <hp@axis.com>
2193
2194 * config/cris/cris.h (MAX_FIXED_MODE_SIZE): Don't define.
2195
2196 2021-03-05 Jakub Jelinek <jakub@redhat.com>
2197
2198 PR middle-end/99322
2199 * tree-cfg.c (bb_to_omp_idx): New variable.
2200 (execute_build_cfg): Release the bb_to_omp_idx vector after
2201 cleanup_tree_cfg returns.
2202 (handle_abnormal_edges): Remove bb_to_omp_idx argument, adjust
2203 for bb_to_omp_idx being a vec<int> instead of pointer to array
2204 of ints.
2205 (make_edges): Remove bb_to_omp_idx local variable, don't pass
2206 it to handle_abnormal_edges, adjust for bb_to_omp_idx being a
2207 vec<int> instead of pointer to array of ints and don't free/release
2208 it at the end.
2209 (remove_bb): When removing a bb and placing forced label somewhere
2210 else, ensure it is put into the same OpenMP region during cfg
2211 pass if possible or to entry successor as fallback. Unregister
2212 bb from bb_to_omp_idx.
2213
2214 2021-03-05 Vladimir N. Makarov <vmakarov@redhat.com>
2215
2216 PR target/99378
2217 * lra-constraints.c (process_address_1): Skip decomposing address
2218 for asm insn operand with unknown constraint.
2219
2220 2021-03-05 Martin Jambor <mjambor@suse.cz>
2221
2222 PR ipa/98078
2223 * cgraph.c (cgraph_edge::set_call_stmt): Do not update all
2224 corresponding speculative edges if we are about to resolve
2225 sepculation. Make edge direct (and so resolve speculations) before
2226 removing it from call_site_hash.
2227 (cgraph_edge::make_direct): Relax the initial assert to allow calling
2228 the function on speculative direct edges.
2229
2230 2021-03-05 Eric Botcazou <ebotcazou@adacore.com>
2231
2232 PR rtl-optimization/99376
2233 * rtlanal.c (nonzero_bits1) <arithmetic operators>: If the number
2234 of low-order zero bits is too large, set the result to 0 directly.
2235
2236 2021-03-04 Jakub Jelinek <jakub@redhat.com>
2237
2238 PR middle-end/93235
2239 * expmed.c (store_bit_field_using_insv): Return false of xop0 is a
2240 SUBREG and a SUBREG to op_mode can't be created.
2241
2242 2021-03-04 Alex Coplan <alex.coplan@arm.com>
2243
2244 PR target/99381
2245 * config/aarch64/aarch64-sve-builtins.cc
2246 (function_resolver::require_vector_type): Handle error_mark_node.
2247
2248 2021-03-04 Ilya Leoshkevich <iii@linux.ibm.com>
2249
2250 * cfgexpand.c (expand_asm_loc): Pass new parameter.
2251 (expand_asm_stmt): Likewise.
2252 * config/arm/aarch-common-protos.h (arm_md_asm_adjust): Add new
2253 parameter.
2254 * config/arm/aarch-common.c (arm_md_asm_adjust): Likewise.
2255 * config/arm/arm.c (thumb1_md_asm_adjust): Likewise.
2256 * config/cris/cris.c (cris_md_asm_adjust): Likewise.
2257 * config/i386/i386.c (ix86_md_asm_adjust): Likewise.
2258 * config/mn10300/mn10300.c (mn10300_md_asm_adjust): Likewise.
2259 * config/nds32/nds32.c (nds32_md_asm_adjust): Likewise.
2260 * config/pdp11/pdp11.c (pdp11_md_asm_adjust): Likewise.
2261 * config/rs6000/rs6000.c (rs6000_md_asm_adjust): Likewise.
2262 * config/vax/vax.c (vax_md_asm_adjust): Likewise.
2263 * config/visium/visium.c (visium_md_asm_adjust): Likewise.
2264 * doc/tm.texi (md_asm_adjust): Likewise.
2265 * target.def (md_asm_adjust): Likewise.
2266
2267 2021-03-04 Richard Biener <rguenther@suse.de>
2268
2269 PR middle-end/97855
2270 * tree-pretty-print.c: Poison pp_printf.
2271 (dump_decl_name): Avoid use of pp_printf.
2272 (dump_block_node): Likewise.
2273 (dump_generic_node): Likewise.
2274
2275 2021-03-04 Martin Sebor <msebor@redhat.com>
2276
2277 PR middle-end/96963
2278 PR middle-end/94655
2279 * builtins.c (handle_array_ref): New helper.
2280 (handle_mem_ref): New helper.
2281 (compute_objsize_r): Factor out ARRAY_REF and MEM_REF handling
2282 into new helper functions. Correct a workaround for vectorized
2283 assignments.
2284
2285 2021-03-03 Pat Haugen <pthaugen@linux.ibm.com>
2286
2287 * config/rs6000/dfp.md (extendddtd2, trunctddd2, *cmp<mode>_internal1,
2288 floatditd2, ftrunc<mode>2, fix<mode>di2, dfp_ddedpd_<mode>,
2289 dfp_denbcd_<mode>, dfp_dxex_<mode>, dfp_diex_<mode>,
2290 *dfp_sgnfcnc_<mode>, dfp_dscli_<mode>, dfp_dscri_<mode>): Update size
2291 attribute for Power10.
2292 * config/rs6000/mma.md (*movoo): Likewise.
2293 * config/rs6000/rs6000.md (define_attr "size"): Add 256.
2294 (define_mode_attr bits): Add DD/TD modes.
2295 * config/rs6000/sync.md (load_quadpti, store_quadpti, load_lockedpti,
2296 store_conditionalpti): Update size attribute for Power10.
2297
2298 2021-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2299
2300 PR bootstrap/92002
2301 * config/sparc/t-sparc (tree-ssanames.o-warn): Don't error for
2302 -Wuninitialized, -Wmaybe-uninitialized.
2303 (wide-int.o-warn): Likewise.
2304
2305 2021-03-03 Richard Earnshaw <rearnsha@arm.com>
2306
2307 * common/config/arm/arm-common.c: Include configargs.h.
2308 (arm_config_default): New function.
2309 (arm_target_mode): Renamed from arm_target_thumb_only. Handle
2310 processors that do not support Thumb. Take into account the
2311 --with-mode configuration setting for selecting the default.
2312 * config/arm/arm.h (OPTION_DEFAULT_SPECS): Remove entry for 'mode'.
2313 (TARGET_MODE_SPEC_FUNCTIONS): Update for function name change.
2314
2315 2021-03-03 Martin Liska <mliska@suse.cz>
2316
2317 PR gcov-profile/97461
2318 * gcov-io.h (GCOV_PREALLOCATED_KVP): Remove.
2319
2320 2021-03-03 Eric Botcazou <ebotcazou@adacore.com>
2321
2322 PR target/99234
2323 * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
2324 point back the hard frame pointer to its default location when the
2325 frame is larger than SEH_MAX_FRAME_SIZE.
2326
2327 2021-03-03 Jakub Jelinek <jakub@redhat.com>
2328
2329 PR target/99321
2330 * config/i386/predicates.md (logic_operator): New define_predicate.
2331 * config/i386/i386.md (mov + mem using comm arith peephole2):
2332 Punt if operands[1] is EXT_REX_SSE_REGNO_P, AVX512BW is not enabled
2333 and the inner mode is [QH]Imode.
2334
2335 2021-03-03 Jakub Jelinek <jakub@redhat.com>
2336
2337 PR debug/99090
2338 * dwarf2out.c (dw_loc_list_struct): Add end_entry member.
2339 (new_loc_list): Clear end_entry.
2340 (output_loc_list): Only use DW_LLE_startx_length for -gsplit-dwarf
2341 if HAVE_AS_LEB128, otherwise use DW_LLE_startx_endx. Fix comment
2342 typo.
2343 (index_location_lists): For dwarf_version >= 5 without HAVE_AS_LEB128,
2344 initialize also end_entry.
2345
2346 2021-03-03 Jakub Jelinek <jakub@redhat.com>
2347
2348 PR target/99085
2349 * cfgrtl.c (fixup_partitions): When changing some bbs from hot to cold
2350 partitions, if in non-layout mode after reorder_blocks also move
2351 affected blocks to ensure a single partition transition.
2352
2353 2021-03-03 Jason Merrill <jason@redhat.com>
2354
2355 PR c++/96078
2356 * cgraphunit.c (process_function_and_variable_attributes): Don't
2357 warn about flatten on an alias if the target also has it.
2358 * cgraph.h (symtab_node::get_alias_target_tree): New.
2359
2360 2021-03-02 David Edelsohn <dje.gcc@gmail.com>
2361
2362 * config/rs6000/rs6000.md (tls_get_tpointer_internal): Prepend
2363 period to symbol name.
2364 (tls_get_addr_internal<mode>): Same.
2365
2366 2021-03-02 David Malcolm <dmalcolm@redhat.com>
2367
2368 PR c/99323
2369 * diagnostic-show-locus.c
2370 (selftest::test_one_liner_many_fixits_2): Fix accidental usage of
2371 column 0.
2372
2373 2021-03-02 Martin Sebor <msebor@redhat.com>
2374
2375 PR middle-end/99276
2376 * builtins.c (warn_for_access): Remove stray warning text.
2377
2378 2021-03-02 Martin Sebor <msebor@redhat.com>
2379
2380 PR middle-end/99295
2381 * doc/extend.texi (attribute malloc): Reword and clarify nonaliasing
2382 property.
2383
2384 2021-03-02 Jakub Jelinek <jakub@redhat.com>
2385
2386 PR debug/99319
2387 * dwarf2out.c (output_macinfo_op): Use DW_MACRO_*_str* even with
2388 -gdwarf-5 -gstrict-dwarf. For -gsplit-dwarf -gdwarf-5 use
2389 DW_MACRO_*_strx instead of DW_MACRO_*_strp. Handle
2390 DW_MACRO_define_strx and DW_MACRO_undef_strx.
2391 (save_macinfo_strings): Use DW_MACRO_*_str* even with
2392 -gdwarf-5 -gstrict-dwarf. Handle DW_MACRO_define_strx and
2393 DW_MACRO_undef_strx.
2394
2395 2021-03-02 Andreas Krebbel <krebbel@linux.ibm.com>
2396
2397 * config/s390/s390-builtin-types.def (BT_FN_V4SF_V8HI_UINT): New
2398 builtin signature.
2399 (BT_FN_V8HI_V8HI_UINT): Likewise.
2400 (BT_FN_V8HI_V4SF_V4SF_UINT): Likewise.
2401 * config/s390/s390-builtins.def (B_NNPA): New macro definition.
2402 (s390_vclfnhs, s390_vclfnls, s390_vcrnfs, s390_vcfn, s390_vcnf):
2403 New builtin definitions.
2404 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Bump
2405 vector extension version.
2406 * config/s390/s390.c (s390_expand_builtin): Check if builtins are
2407 available with current -march level.
2408 * config/s390/s390.md (UNSPEC_NNPA_VCLFNHS_V8HI)
2409 (UNSPEC_NNPA_VCLFNLS_V8HI, UNSPEC_NNPA_VCRNFS_V8HI)
2410 (UNSPEC_NNPA_VCFN_V8HI, UNSPEC_NNPA_VCNF_V8HI): New constants.
2411 * config/s390/vecintrin.h (vec_extend_to_fp32_hi): New macro.
2412 (vec_extend_to_fp32_lo): Likewise.
2413 (vec_round_from_fp32): Likewise.
2414 (vec_convert_to_fp16): Likewise.
2415 (vec_convert_from_fp16): Likewise.
2416 * config/s390/vx-builtins.md (vclfnhs_v8hi): New insn pattern.
2417 (vclfnls_v8hi): Likewise.
2418 (vcrnfs_v8hi): Likewise.
2419 (vcfn_v8hi): Likewise.
2420 (vcnf_v8hi): Likewise.
2421
2422 2021-03-02 Andreas Krebbel <krebbel@linux.ibm.com>
2423
2424 * common/config/s390/s390-common.c (processor_flags_table): New entry.
2425 * config.gcc: Enable arch14 for --with-arch and --with-tune.
2426 * config/s390/driver-native.c (s390_host_detect_local_cpu): Pick
2427 arch14 for unknown CPU models.
2428 * config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH14.
2429 * config/s390/s390.c (s390_issue_rate): Add case for PROCESSOR_ARCH14.
2430 (s390_get_sched_attrmask): Likewise.
2431 (s390_get_unit_mask): Likewise.
2432 * config/s390/s390.h (enum processor_flags): Add PF_NNPA and PF_ARCH14.
2433 (TARGET_CPU_ARCH14, TARGET_CPU_ARCH14_P, TARGET_CPU_NNPA)
2434 (TARGET_CPU_NNPA_P, TARGET_ARCH14, TARGET_ARCH14_P, TARGET_NNPA)
2435 (TARGET_NNPA_P): New macro definitions.
2436 * config/s390/s390.md ("cpu_facility", "enabled"): Add arch14 and nnpa.
2437 * config/s390/s390.opt: Add PROCESSOR_ARCH14.
2438
2439 2021-03-02 Jakub Jelinek <jakub@redhat.com>
2440
2441 PR middle-end/95757
2442 * tree-vrp.c (register_edge_assert_for): Remove superfluous ()s around
2443 condition. Call register_edge_assert_for_1 for == 0, != 0, == 1 and
2444 != 1 comparisons if name is lhs of a comparison.
2445
2446 2021-03-01 Iain Sandoe <iain@sandoe.co.uk>
2447
2448 PR target/44107
2449 PR target/48097
2450 * config/darwin-protos.h (darwin_should_restore_cfa_state): New.
2451 * config/darwin.c (darwin_should_restore_cfa_state): New.
2452 * config/darwin.h (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New.
2453 * doc/tm.texi: Regenerated.
2454 * doc/tm.texi.in: Document TARGET_ASM_SHOULD_RESTORE_CFA_STATE.
2455 * dwarf2cfi.c (connect_traces): If the target requests, restore
2456 the CFA expression after a DW_CFA_restore.
2457 * target.def (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New hook.
2458
2459 2021-03-01 Martin Liska <mliska@suse.cz>
2460
2461 PR target/99313
2462 * optc-save-gen.awk: Add 4 more exceptions.
2463
2464 2021-03-01 Nathan Sidwell <nathan@acm.org>
2465
2466 PR c++/99294
2467 * tree.h (TYPE_ALIGN_RAW): New accessor.
2468 (TYPE_ALIGN): Use it.
2469
2470 2021-03-01 Jan Hubicka <jh@suse.cz>
2471
2472 PR ipa/98338
2473 * ipa-fnsummary.c (compute_fn_summary): Fix sanity check.
2474
2475 2021-03-01 Eric Botcazou <ebotcazou@adacore.com>
2476
2477 PR target/99234
2478 * config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
2479 point the hard frame pointer to the SSE register save area instead
2480 of the general register save area. Perform only minimal adjustment
2481 for small frames if it is initially not correctly aligned.
2482 (ix86_expand_prologue): Remove early saves for a SEH target.
2483 * config/i386/winnt.c (struct seh_frame_state): Document constraint.
2484
2485 2021-02-28 Jakub Jelinek <jakub@redhat.com>
2486
2487 PR c/99304
2488 * ipa.c (symbol_table::remove_unreachable_nodes): Fix a comment
2489 typo - referneced -> referenced.
2490 * tree.c (component_ref_size): Fix comment typo -
2491 refernce -> reference.
2492 * tree-ssa-alias.c (access_path_may_continue_p): Fix comment typo -
2493 traling -> trailing.
2494 (aliasing_component_refs_p): Fix comment typos -
2495 refernce -> reference and refernece -> reference and
2496 traling -> trailing.
2497 (nonoverlapping_refs_since_match_p): Fix comment typo -
2498 referneces -> references.
2499 * doc/invoke.texi (--param modref-max-bases): Fix a typo -
2500 referneces -> references.
2501
2502 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
2503
2504 * config/host-darwin.c (darwin_gt_pch_use_address): Modify
2505 diagnostic message to avoid use of a contraction and format
2506 warning.
2507
2508 2021-02-27 Jakub Jelinek <jakub@redhat.com>
2509
2510 PR other/99288
2511 * gcse.c (gcse_or_cprop_is_too_expensive): Use %wu instead of
2512 HOST_WIDE_INT_PRINT_UNSIGNED in warning format string.
2513 * ipa-devirt.c (ipa_odr_read_section): Use %wd instead of
2514 HOST_WIDE_INT_PRINT_DEC in inform format string. Fix comment
2515 typos.
2516
2517 2021-02-26 Richard Biener <rguenther@suse.de>
2518
2519 PR middle-end/99281
2520 * expr.c (store_field): For calls with return-slot optimization
2521 and addressable return type expand the store directly.
2522
2523 2021-02-26 Richard Biener <rguenther@suse.de>
2524
2525 PR c/99275
2526 * builtins.c (warn_string_no_nul): Fix diagnostic formatting.
2527
2528 2021-02-26 Peter Bergner <bergner@linux.ibm.com>
2529
2530 PR target/99279
2531 * config/rs6000/rs6000-call.c (rs6000_init_builtins): Replace assert
2532 with an "if" test.
2533
2534 2021-02-26 Aaron Sawdey <acsawdey@linux.ibm.com>
2535
2536 * config.gcc: Add rs6000-pcrel-opt.o.
2537 * config/rs6000/rs6000-pcrel-opt.c: New file.
2538 * config/rs6000/pcrel-opt.md: New file.
2539 * config/rs6000/predicates.md: Add d_form_memory predicate.
2540 * config/rs6000/rs6000-cpus.def: Add OPTION_MASK_PCREL_OPT.
2541 * config/rs6000/rs6000-passes.def: Add pass_pcrel_opt.
2542 * config/rs6000/rs6000-protos.h: Add reg_to_non_prefixed(),
2543 pcrel_opt_valid_mem_p(), output_pcrel_opt_reloc(),
2544 and make_pass_pcrel_opt().
2545 * config/rs6000/rs6000.c (reg_to_non_prefixed): Make global.
2546 (rs6000_option_override_internal): Add pcrel-opt.
2547 (rs6000_delegitimize_address): Support pcrel-opt.
2548 (rs6000_opt_masks): Add pcrel-opt.
2549 (pcrel_opt_valid_mem_p): New function.
2550 (reg_to_non_prefixed): Make global.
2551 (rs6000_asm_output_opcode): Reset prepend_p_to_next_insn.
2552 (output_pcrel_opt_reloc): New function.
2553 * config/rs6000/rs6000.md (loads_extern_addr): New attr.
2554 (pcrel_extern_addr): Set loads_extern_addr.
2555 Add include for pcrel-opt.md.
2556 * config/rs6000/rs6000.opt: Add -mpcrel-opt.
2557 * config/rs6000/t-rs6000: Add rules for pcrel-opt.c and
2558 pcrel-opt.md.
2559
2560 2021-02-26 YunQiang Su <yunqiang.su@cipunited.com>
2561
2562 PR target/98996
2563 * config/mips/mips.c (mips_expand_ext_as_unaligned_load):
2564 If TARGET_64BIT and dest is SUBREG, we check the width, if it
2565 equal to SImode, we use SImode operation, just like what we are
2566 doing for REG one.
2567
2568 2021-02-26 Marek Polacek <polacek@redhat.com>
2569
2570 * builtins.c (warn_for_access): Fix typos.
2571
2572 2021-02-25 Iain Sandoe <iain@sandoe.co.uk>
2573
2574 * config/aarch64/aarch64.md (<optab>_rol<mode>3): Add a '#'
2575 mark in front of the immediate quantity.
2576 (<optab>_rolsi3_uxtw): Likewise.
2577
2578 2021-02-25 Richard Earnshaw <rearnsha@arm.com>
2579
2580 PR target/99271
2581 * config/arm/thumb2.md (nonsecure_call_reg_thumb2_fpcxt): New pattern.
2582 (nonsecure_call_value_reg_thumb2_fpcxt): Likewise.
2583 (nonsecure_call_reg_thumb2): Restrict to using r4 for the callee
2584 address and disable when the FPCXT is not available.
2585 (nonsecure_call_value_reg_thumb2): Likewise.
2586
2587 2021-02-25 Nathan Sidwell <nathan@acm.org>
2588
2589 PR c++/99166
2590 * doc/invoke.texi (flang-info-module-cmi): Renamed option.
2591
2592 2021-02-25 Tamar Christina <tamar.christina@arm.com>
2593
2594 * tree-vect-slp.c (optimize_load_redistribution_1): Abort on NULL nodes.
2595
2596 2021-02-25 Richard Biener <rguenther@suse.de>
2597
2598 PR tree-optimization/99253
2599 * tree-vect-loop.c (check_reduction_path): First compute
2600 code, then verify out-of-loop uses.
2601
2602 2021-02-25 Jakub Jelinek <jakub@redhat.com>
2603
2604 PR target/95798
2605 * match.pd ((T)(A) + CST -> (T)(A + CST)): Add :s to convert.
2606
2607 2021-02-25 Jakub Jelinek <jakub@redhat.com>
2608
2609 PR tree-optimization/80635
2610 * tree-vrp.c (vrp_simplify_cond_using_ranges): Also handle
2611 VIEW_CONVERT_EXPR if modes are the same, innerop is integral and
2612 has mode precision.
2613
2614 2021-02-25 Richard Biener <rguenther@suse.de>
2615
2616 * tree-vect-slp.c (optimize_load_redistribution_1): Delay
2617 load_map population.
2618 (vect_match_slp_patterns_2): Revert part of last change.
2619 (vect_analyze_slp): Do not interleave optimize_load_redistribution
2620 with pattern detection but do it afterwards. Dump the
2621 whole SLP graph after pattern recognition and load
2622 redistribution optimization finished.
2623
2624 2021-02-24 Jakub Jelinek <jakub@redhat.com>
2625
2626 PR fortran/99226
2627 * omp-low.c (struct omp_context): Add teams_nested_p and
2628 nonteams_nested_p members.
2629 (scan_omp_target): Diagnose teams nested inside of target with other
2630 directives strictly nested inside of the same target.
2631 (check_omp_nesting_restrictions): Set ctx->teams_nested_p or
2632 ctx->nonteams_nested_p as needed.
2633
2634 2021-02-24 Vladimir N. Makarov <vmakarov@redhat.com>
2635
2636 PR inline-asm/99123
2637 * lra-constraints.c (uses_hard_regs_p): Don't use decompose_mem_address.
2638
2639 2021-02-24 Hans-Peter Nilsson <hp@axis.com>
2640
2641 * config/cris/cris.c (cris_expand_prologue): Set
2642 current_function_static_stack_size, if flag_stack_usage_info.
2643
2644 2021-02-24 Pat Haugen <pthaugen@linux.ibm.com>
2645
2646 * config/rs6000/rs6000.c (next_insn_prefixed_p): Rename.
2647 (rs6000_final_prescan_insn): Adjust.
2648 (rs6000_asm_output_opcode): Likewise.
2649
2650 2021-02-24 Martin Sebor <msebor@redhat.com>
2651
2652 PR middle-end/97172
2653 * attribs.c (attr_access::free_lang_data): Clear attribute arg spec
2654 from function arguments.
2655
2656 2021-02-24 Tamar Christina <tamar.christina@arm.com>
2657
2658 PR tree-optimization/99220
2659 * tree-vect-slp.c (optimize_load_redistribution_1): Remove
2660 node from cache when it's about to be deleted.
2661
2662 2021-02-24 Jakub Jelinek <jakub@redhat.com>
2663
2664 PR tree-optimization/99225
2665 * fold-const.c (fold_binary_loc) <case NE_EXPR>: In (x & (1 << y)) != 0
2666 to ((x >> y) & 1) != 0 simplifications use build_one_cst instead of
2667 build_int_cst (..., 1). Formatting fixes.
2668
2669 2021-02-24 Tamar Christina <tamar.christina@arm.com>
2670
2671 PR tree-optimization/99149
2672 * tree-vect-slp-patterns.c (vect_detect_pair_op): Don't recreate the
2673 buffer.
2674 (vect_slp_reset_pattern): Remove.
2675 (complex_fma_pattern::matches): Remove call to vect_slp_reset_pattern.
2676 (complex_mul_pattern::build, complex_fma_pattern::build,
2677 complex_fms_pattern::build): Fix ref counts.
2678 * tree-vect-slp.c (vect_free_slp_tree): Undo SLP only pattern relevancy
2679 when node is being deleted.
2680 (vect_match_slp_patterns_2): Correct result of cache hit on patterns.
2681 (vect_schedule_slp): Invalidate SLP_TREE_REPRESENTATIVE of removed
2682 stores.
2683 * tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize value.
2684
2685 2021-02-24 Matthias Klose <doko@ubuntu.com>
2686
2687 Revert:
2688 2020-12-07 Matthias Klose <doko@ubuntu.com>
2689
2690 * genextract.c (print_header): Undefine ENABLE_RTL_CHECKING
2691 and ENABLE_RTL_FLAG_CHECKING.
2692
2693 2021-02-24 Richard Biener <rguenther@suse.de>
2694
2695 PR c/99224
2696 * builtins.c (fold_builtin_next_arg): Avoid NULL arg.
2697
2698 2021-02-23 Peter Bergner <bergner@linux.ibm.com>
2699
2700 * config/rs6000/mma.md (mma_assemble_pair): Rename from this...
2701 (vsx_assemble_pair): ...to this.
2702 (*mma_assemble_pair): Rename from this...
2703 (*vsx_assemble_pair): ...to this.
2704 (mma_disassemble_pair): Rename from this...
2705 (vsx_disassemble_pair): ...to this.
2706 (*mma_disassemble_pair): Rename from this...
2707 (*vsx_disassemble_pair): ...to this.
2708 * config/rs6000/rs6000-builtin.def (BU_MMA_V2, BU_MMA_V3,
2709 BU_COMPAT): New macros.
2710 (mma_assemble_pair): Rename from this...
2711 (vsx_assemble_pair): ...to this.
2712 (mma_disassemble_pair): Rename from this...
2713 (vsx_disassemble_pair): ...to this.
2714 (mma_assemble_pair): New compatibility built-in.
2715 (mma_disassemble_pair): Likewise.
2716 * config/rs6000/rs6000-call.c (struct builtin_compatibility): New.
2717 (RS6000_BUILTIN_COMPAT): Define.
2718 (bdesc_compat): New.
2719 (mma_expand_builtin): Use VSX_BUILTIN_DISASSEMBLE_PAIR_INTERNAL.
2720 (rs6000_gimple_fold_mma_builtin): Use MMA_BUILTIN_DISASSEMBLE_PAIR
2721 and VSX_BUILTIN_ASSEMBLE_PAIR.
2722 (rs6000_init_builtins): Register compatibility built-ins.
2723 (mma_init_builtins): Use VSX_BUILTIN_ASSEMBLE_PAIR,
2724 VSX_BUILTIN_ASSEMBLE_PAIR_INTERNAL, VSX_BUILTIN_DISASSEMBLE_PAIR and
2725 VSX_BUILTIN_DISASSEMBLE_PAIR_INTERNAL.
2726 * doc/extend.texi (__builtin_mma_assemble_pair): Rename from this...
2727 (__builtin_vsx_assemble_pair): ...to this.
2728 (__builtin_mma_disassemble_pair): Rename from this...
2729 (__builtin_vsx_disassemble_pair): ...to this.
2730
2731 2021-02-23 Martin Liska <mliska@suse.cz>
2732
2733 PR sanitizer/99168
2734 * ipa-icf.c (sem_variable::merge): Do not merge 2 variables
2735 with different alignment. That leads to an invalid red zone
2736 size allocated in runtime.
2737
2738 2021-02-23 Jakub Jelinek <jakub@redhat.com>
2739
2740 PR tree-optimization/99204
2741 * fold-const.c (fold_read_from_constant_string): Check that
2742 tree_fits_uhwi_p (index) rather than just that index is INTEGER_CST.
2743
2744 2021-02-23 Segher Boessenkool <segher@kernel.crashing.org>
2745 Kewen Lin <linkw@gcc.gnu.org>
2746
2747 * config/rs6000/rs6000.md (*rotl<mode>3_insert_3): Renamed to...
2748 (rotl<mode>3_insert_3): ...this.
2749 (plus_ior_xor): New code_iterator.
2750 (define_split for GPR rl*imi): New splitter.
2751 * config/rs6000/vsx.md (vsx_init_v4si): Use gen_rotldi3_insert_3
2752 for integer merging.
2753
2754 2021-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2755
2756 * config/aarch64/aarch64-tuning-flags.def (cse_sve_vl_constants):
2757 Define.
2758 * config/aarch64/aarch64.md (add<mode>3): Force CONST_POLY_INT immediates
2759 into a register when the above is enabled.
2760 * config/aarch64/aarch64.c (neoversev1_tunings):
2761 AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS.
2762 (aarch64_rtx_costs): Use AARCH64_EXTRA_TUNE_CSE_SVE_VL_CONSTANTS.
2763
2764 2021-02-22 Hans-Peter Nilsson <hp@axis.com>
2765
2766 * config/cris/cris.c (cris_print_operand) <'T'>: Change
2767 valid operand from is now an addi mult-value to shift-value.
2768 * config/cris/cris.md (*addi): Change expression of scaled
2769 operand from mult to ashift.
2770 * config/cris/cris.md (*addi_reload): New insn_and_split.
2771
2772 2021-02-22 John David Anglin <danglin@gcc.gnu.org>
2773
2774 PR target/85074
2775 * config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as
2776 hook_bool_const_tree_hwi_hwi_const_tree_true.
2777 (pa_asm_output_mi_thunk): Add support for nonzero vcall_offset.
2778
2779 2021-02-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
2780
2781 PR rtl-optimization/98791
2782 * ira-conflicts.c (process_regs_for_copy): Don't create allocno copies
2783 for unordered modes.
2784
2785 2021-02-22 Martin Liska <mliska@suse.cz>
2786
2787 * tree-inline.c (inline_forbidden_p): Set
2788 inline_forbidden_reason.
2789
2790 2021-02-22 Richard Biener <rguenther@suse.de>
2791
2792 * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Dump
2793 costed subgraph.
2794
2795 2021-02-22 Richard Biener <rguenther@suse.de>
2796
2797 PR tree-optimization/99165
2798 * gimple-ssa-store-merging.c (pass_store_merging::process_store):
2799 Accumulate changed to ret.
2800
2801 2021-02-21 Uros Bizjak <ubizjak@gmail.com>
2802
2803 Revert:
2804 2020-12-09 Uroš Bizjak <ubizjak@gmail.com>
2805
2806 * config/i386/i386.h (REG_ALLOC_ORDER): Remove
2807
2808 2021-02-20 Ilya Leoshkevich <iii@linux.ibm.com>
2809
2810 PR target/99134
2811 * config/s390/vector.md (trunctf<DFP_ALL:mode>2_vr): New
2812 pattern.
2813 (trunctf<DFP_ALL:mode>2): Likewise.
2814 (trunctdtf2_vr): Likewise.
2815 (trunctdtf2): Likewise.
2816 (extend<DFP_ALL:mode>tf2_vr): Likewise.
2817 (extend<DFP_ALL:mode>tf2): Likewise.
2818 (extendtftd2_vr): Likewise.
2819 (extendtftd2): Likewise.
2820
2821 2021-02-20 Ilya Leoshkevich <iii@linux.ibm.com>
2822
2823 * config/s390/vector.md (*fprx2_to_tf): Rename to fprx2_to_tf,
2824 add memory alternative.
2825 (tf_to_fprx2): New pattern.
2826
2827 2021-02-19 Martin Sebor <msebor@redhat.com>
2828
2829 PR c/97172
2830 * attribs.c (init_attr_rdwr_indices): Guard vblist use.
2831 (attr_access::free_lang_data): Remove a spurious test.
2832
2833 2021-02-19 Nathan Sidwell <nathan@acm.org>
2834
2835 * doc/invoke.texi (flang-info-module-read): Document.
2836
2837 2021-02-19 Martin Liska <mliska@suse.cz>
2838
2839 PR translation/99167
2840 * params.opt: Fix typo.
2841
2842 2021-02-19 Richard Biener <rguenther@suse.de>
2843
2844 PR middle-end/99122
2845 * tree-inline.c (inline_forbidden_p): Do not inline functions
2846 with VLA arguments or return value.
2847
2848 2021-02-19 Jakub Jelinek <jakub@redhat.com>
2849
2850 PR target/98998
2851 * config/arm/arm.md (*stack_protect_combined_set_insn,
2852 *stack_protect_combined_test_insn): If force_const_mem result
2853 is not valid general operand, force its address into the destination
2854 register first.
2855
2856 2021-02-19 Jakub Jelinek <jakub@redhat.com>
2857
2858 PR ipa/99034
2859 * tree-cfg.c (gimple_merge_blocks): If bb a starts with eh landing
2860 pad or non-local label, put FORCED_LABELs from bb b after that label
2861 rather than before it.
2862
2863 2021-02-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
2864
2865 PR target/98657
2866 * config/aarch64/aarch64-sve.md (<ASHIFT:optab><mode>3): Use
2867 expand_vector_broadcast' to emit the vec_duplicate operand.
2868
2869 2021-02-18 Vladimir N. Makarov <vmakarov@redhat.com>
2870
2871 PR rtl-optimization/96264
2872 * lra-remat.c (reg_overlap_for_remat_p): Check also output insn
2873 hard regs.
2874
2875 2021-02-18 H.J. Lu <hjl.tools@gmail.com>
2876
2877 PR target/99113
2878 * varasm.c (get_section): Replace SUPPORTS_SHF_GNU_RETAIN with
2879 looking up the retain attribute.
2880 (resolve_unique_section): Likewise.
2881 (get_variable_section): Likewise.
2882 (switch_to_section): Likewise. Warn when a symbol without the
2883 retain attribute and a symbol with the retain attribute are
2884 placed in the section with the same name, instead of the used
2885 attribute.
2886 * doc/extend.texi: Document the "retain" attribute.
2887
2888 2021-02-18 Nathan Sidwell <nathan@acm.org>
2889
2890 PR c++/99023
2891 * doc/invoke.texi (flang-info-include-translate): Document header
2892 lookup behaviour.
2893
2894 2021-02-18 Richard Biener <rguenther@suse.de>
2895
2896 PR middle-end/99122
2897 * ipa-fnsummary.c (analyze_function_body): Set
2898 CIF_FUNCTION_NOT_INLINABLE for VLA parameter calls.
2899 * tree-inline.c (insert_init_debug_bind): Pass NULL for
2900 error_mark_node values.
2901 (force_value_to_type): Do not build V_C_Es for WITH_SIZE_EXPR
2902 values.
2903 (setup_one_parameter): Delay force_value_to_type until when
2904 it's needed.
2905
2906 2021-02-18 Hans-Peter Nilsson <hp@axis.com>
2907
2908 PR tree-optimization/99142
2909 * match.pd (clz cmp 0): Gate replacement on single_use of clz result.
2910
2911 2021-02-18 Jakub Jelinek <jakub@redhat.com>
2912
2913 * wide-int-bitmask.h (wide_int_bitmask::wide_int_bitmask (),
2914 wide_int_bitmask::wide_int_bitmask (uint64_t),
2915 wide_int_bitmask::wide_int_bitmask (uint64_t, uint64_t),
2916 wide_int_bitmask::operator ~ () const,
2917 wide_int_bitmask::operator | (wide_int_bitmask) const,
2918 wide_int_bitmask::operator & (wide_int_bitmask) const): Use constexpr
2919 instead of inline.
2920 * config/i386/i386.h (PTA_3DNOW, PTA_3DNOW_A, PTA_64BIT, PTA_ABM,
2921 PTA_AES, PTA_AVX, PTA_BMI, PTA_CX16, PTA_F16C, PTA_FMA, PTA_FMA4,
2922 PTA_FSGSBASE, PTA_LWP, PTA_LZCNT, PTA_MMX, PTA_MOVBE, PTA_NO_SAHF,
2923 PTA_PCLMUL, PTA_POPCNT, PTA_PREFETCH_SSE, PTA_RDRND, PTA_SSE, PTA_SSE2,
2924 PTA_SSE3, PTA_SSE4_1, PTA_SSE4_2, PTA_SSE4A, PTA_SSSE3, PTA_TBM,
2925 PTA_XOP, PTA_AVX2, PTA_BMI2, PTA_RTM, PTA_HLE, PTA_PRFCHW, PTA_RDSEED,
2926 PTA_ADX, PTA_FXSR, PTA_XSAVE, PTA_XSAVEOPT, PTA_AVX512F, PTA_AVX512ER,
2927 PTA_AVX512PF, PTA_AVX512CD, PTA_NO_TUNE, PTA_SHA, PTA_PREFETCHWT1,
2928 PTA_CLFLUSHOPT, PTA_XSAVEC, PTA_XSAVES, PTA_AVX512DQ, PTA_AVX512BW,
2929 PTA_AVX512VL, PTA_AVX512IFMA, PTA_AVX512VBMI, PTA_CLWB, PTA_MWAITX,
2930 PTA_CLZERO, PTA_NO_80387, PTA_PKU, PTA_AVX5124VNNIW, PTA_AVX5124FMAPS,
2931 PTA_AVX512VPOPCNTDQ, PTA_SGX, PTA_AVX512VNNI, PTA_GFNI, PTA_VAES,
2932 PTA_AVX512VBMI2, PTA_VPCLMULQDQ, PTA_AVX512BITALG, PTA_RDPID,
2933 PTA_PCONFIG, PTA_WBNOINVD, PTA_AVX512VP2INTERSECT, PTA_PTWRITE,
2934 PTA_AVX512BF16, PTA_WAITPKG, PTA_MOVDIRI, PTA_MOVDIR64B, PTA_ENQCMD,
2935 PTA_CLDEMOTE, PTA_SERIALIZE, PTA_TSXLDTRK, PTA_AMX_TILE, PTA_AMX_INT8,
2936 PTA_AMX_BF16, PTA_UINTR, PTA_HRESET, PTA_KL, PTA_WIDEKL, PTA_AVXVNNI,
2937 PTA_X86_64_BASELINE, PTA_X86_64_V2, PTA_X86_64_V3, PTA_X86_64_V4,
2938 PTA_CORE2, PTA_NEHALEM, PTA_WESTMERE, PTA_SANDYBRIDGE, PTA_IVYBRIDGE,
2939 PTA_HASWELL, PTA_BROADWELL, PTA_SKYLAKE, PTA_SKYLAKE_AVX512,
2940 PTA_CASCADELAKE, PTA_COOPERLAKE, PTA_CANNONLAKE, PTA_ICELAKE_CLIENT,
2941 PTA_ICELAKE_SERVER, PTA_TIGERLAKE, PTA_SAPPHIRERAPIDS, PTA_ALDERLAKE,
2942 PTA_KNL, PTA_BONNELL, PTA_SILVERMONT, PTA_GOLDMONT, PTA_GOLDMONT_PLUS,
2943 PTA_TREMONT, PTA_KNM): Use constexpr instead of const.
2944
2945 2021-02-18 Jakub Jelinek <jakub@redhat.com>
2946
2947 PR middle-end/99109
2948 * gimple-array-bounds.cc (build_zero_elt_array_type): Rename to ...
2949 (build_printable_array_type): ... this. Add nelts argument. For
2950 overaligned eltype, use TYPE_MAIN_VARIANT (eltype) instead. If
2951 nelts, call build_array_type_nelts.
2952 (array_bounds_checker::check_mem_ref): Use build_printable_array_type
2953 instead of build_zero_elt_array_type and build_array_type_nelts.
2954
2955 2021-02-18 Jakub Jelinek <jakub@redhat.com>
2956
2957 PR target/99104
2958 * config/i386/i386.c (distance_non_agu_define): Don't call
2959 extract_insn_cached here.
2960 (ix86_lea_outperforms): Save and restore recog_data around call
2961 to distance_non_agu_define and distance_agu_use.
2962 (ix86_ok_to_clobber_flags): Remove.
2963 (ix86_avoid_lea_for_add): Don't call ix86_ok_to_clobber_flags.
2964 (ix86_avoid_lea_for_addr): Likewise. Adjust function comment.
2965 * config/i386/i386.md (*lea<mode>): Change from define_insn_and_split
2966 into define_insn. Move the splitting to define_peephole2 and
2967 check there using peep2_regno_dead_p if FLAGS_REG is dead.
2968
2969 2021-02-17 Julian Brown <julian@codesourcery.com>
2970
2971 * gimplify.c (gimplify_scan_omp_clauses): Handle ATTACH_DETACH
2972 for non-decls.
2973
2974 2021-02-17 Xi Ruoyao <xry111@mengyan1223.wang>
2975
2976 PR target/98491
2977 * config/mips/mips.c (mips_symbol_insns): Do not use
2978 MSA_SUPPORTED_MODE_P if mode is MAX_MACHINE_MODE.
2979
2980 2021-02-16 Vladimir N. Makarov <vmakarov@redhat.com>
2981
2982 PR inline-asm/98096
2983 * stmt.c (resolve_operand_name_1): Take inout operands into account
2984 for access to labels by names.
2985 * doc/extend.texi: Describe counting operands for accessing labels.
2986
2987 2021-02-16 Richard Biener <rguenther@suse.de>
2988
2989 PR tree-optimization/38474
2990 * tree-ssa-structalias.c (variable_info::address_taken): New.
2991 (new_var_info): Initialize address_taken.
2992 (process_constraint): Set address_taken.
2993 (solve_constraints): Use the new address_taken flag rather
2994 than is_reg_var for sorting variables.
2995 (dump_constraint): Dump the variable number if the name
2996 is just NULL.
2997
2998 2021-02-16 Jakub Jelinek <jakub@redhat.com>
2999
3000 PR target/99100
3001 * tree-vect-stmts.c (vectorizable_simd_clone_call): For num_calls != 1
3002 multiply by 4096 and for inbranch by 8192.
3003 * config/i386/i386.c (ix86_simd_clone_usable): For TARGET_AVX512F,
3004 return 3, 2 or 1 for mangle letters 'b', 'c' or 'd'.
3005
3006 2021-02-15 Maya Rashish <coypu@sdf.org>
3007
3008 * config/aarch64/aarch64.c (aarch64_init_builtins):
3009 Call SUBTARGET_INIT_BUILTINS.
3010
3011 2021-02-15 Peter Bergner <bergner@linux.ibm.com>
3012
3013 PR rtl-optimization/98872
3014 * init-regs.c (initialize_uninitialized_regs): Skip initialization
3015 if CONST0_RTX is NULL.
3016
3017 2021-02-15 Richard Sandiford <richard.sandiford@arm.com>
3018
3019 PR rtl-optimization/98863
3020 * rtl-ssa/functions.h (function_info::bb_live_out_info): Delete.
3021 (function_info::build_info): Turn into a declaration, moving the
3022 definition to internals.h.
3023 (function_info::bb_walker): Declare.
3024 (function_info::create_reg_use): Likewise.
3025 (function_info::calculate_potential_phi_regs): Take a build_info
3026 parameter.
3027 (function_info::place_phis, function_info::create_ebbs): Declare.
3028 (function_info::calculate_ebb_live_in_for_debug): Likewise.
3029 (function_info::populate_backedge_phis): Delete.
3030 (function_info::start_block, function_info::end_block): Declare.
3031 (function_info::populate_phi_inputs): Delete.
3032 (function_info::m_potential_phi_regs): Move information to build_info.
3033 * rtl-ssa/internals.h: New file.
3034 (function_info::bb_phi_info): New class.
3035 (function_info::build_info): Moved from functions.h.
3036 Add a constructor and destructor.
3037 (function_info::build_info::ebb_use): Delete.
3038 (function_info::build_info::ebb_def): Likewise.
3039 (function_info::build_info::bb_live_out): Likewise.
3040 (function_info::build_info::tmp_ebb_live_in_for_debug): New variable.
3041 (function_info::build_info::potential_phi_regs): Likewise.
3042 (function_info::build_info::potential_phi_regs_for_debug): Likewise.
3043 (function_info::build_info::ebb_def_regs): Likewise.
3044 (function_info::build_info::bb_phis): Likewise.
3045 (function_info::build_info::bb_mem_live_out): Likewise.
3046 (function_info::build_info::bb_to_rpo): Likewise.
3047 (function_info::build_info::def_stack): Likewise.
3048 (function_info::build_info::old_def_stack_limit): Likewise.
3049 * rtl-ssa/internals.inl (function_info::build_info::record_reg_def):
3050 Remove the regno argument. Push the previous definition onto the
3051 definition stack where necessary.
3052 * rtl-ssa/accesses.cc: Include internals.h.
3053 * rtl-ssa/changes.cc: Likewise.
3054 * rtl-ssa/blocks.cc: Likewise.
3055 (function_info::build_info::build_info): Define.
3056 (function_info::build_info::~build_info): Likewise.
3057 (function_info::bb_walker): New class.
3058 (function_info::bb_walker::bb_walker): Define.
3059 (function_info::add_live_out_use): Convert a logarithmic-complexity
3060 test into a linear one. Allow the same definition to be passed
3061 multiple times.
3062 (function_info::calculate_potential_phi_regs): Moved from
3063 functions.cc. Take a build_info parameter and store the
3064 information there instead.
3065 (function_info::place_phis): New function.
3066 (function_info::add_entry_block_defs): Update call to record_reg_def.
3067 (function_info::calculate_ebb_live_in_for_debug): New function.
3068 (function_info::add_phi_nodes): Use bb_phis to decide which
3069 registers need phi nodes and initialize ebb_def_regs accordingly.
3070 Do not add degenerate phis here.
3071 (function_info::add_artificial_accesses): Use create_reg_use.
3072 Assert that all definitions are listed in the DF LR sets.
3073 Update call to record_reg_def.
3074 (function_info::record_block_live_out): Record live-out register
3075 values in the phis of successor blocks. Use the live-out set
3076 when processing the last block in an EBB, instead of always
3077 using the live-in sets of successor blocks. AND the live sets
3078 with the set of registers that have been defined in the EBB,
3079 rather than with all potential phi registers. Cope correctly
3080 with branches back to the start of the current EBB.
3081 (function_info::start_block): New function.
3082 (function_info::end_block): Likewise.
3083 (function_info::populate_phi_inputs): Likewise.
3084 (function_info::create_ebbs): Likewise.
3085 (function_info::process_all_blocks): Rewrite into a multi-phase
3086 process.
3087 * rtl-ssa/functions.cc: Include internals.h.
3088 (function_info::calculate_potential_phi_regs): Move to blocks.cc.
3089 (function_info::init_function_data): Remove caller.
3090 * rtl-ssa/insns.cc: Include internals.h
3091 (function_info::create_reg_use): New function. Lazily any
3092 degenerate phis needed by the linear RPO view.
3093 (function_info::record_use): Use create_reg_use. When processing
3094 debug uses, use potential_phi_regs and test it before checking
3095 whether the register is live on entry to the current EBB. Lazily
3096 calculate ebb_live_in_for_debug.
3097 (function_info::record_call_clobbers): Update call to record_reg_def.
3098 (function_info::record_def): Likewise.
3099
3100 2021-02-15 Martin Liska <mliska@suse.cz>
3101
3102 * toplev.c (init_asm_output): Free output of
3103 gen_command_line_string function.
3104 (process_options): Likewise.
3105
3106 2021-02-15 Martin Liska <mliska@suse.cz>
3107
3108 * params.opt: Add 2 missing Param keywords.
3109
3110 2021-02-15 Eric Botcazou <ebotcazou@adacore.com>
3111
3112 * df-core.c (df_worklist_dataflow_doublequeue): Use proper cast.
3113
3114 2021-02-15 Jakub Jelinek <jakub@redhat.com>
3115
3116 PR tree-optimization/99079
3117 * match.pd (A % (pow2pcst << N) -> A & ((pow2pcst << N) - 1)): Remove
3118 useless tree_nop_conversion_p (type, TREE_TYPE (@3)) check. Instead
3119 require both type and TREE_TYPE (@1) to be integral types and either
3120 type having smaller or equal precision, or TREE_TYPE (@1) being
3121 unsigned type, or type being signed type. If TREE_TYPE (@1)
3122 doesn't have wrapping overflow, perform the subtraction of one in
3123 unsigned type.
3124
3125 2021-02-14 Jan Hubicka <hubicka@ucw.cz>
3126 Richard Biener <rguether@suse.de>
3127
3128 PR ipa/97346
3129 * ipa-reference.c (ipa_init): Only conditinally initialize
3130 reference_vars_to_consider.
3131 (propagate): Conditionally deninitialize reference_vars_to_consider.
3132 (ipa_reference_write_optimization_summary): Sanity check that
3133 reference_vars_to_consider is not allocated.
3134
3135 2021-02-13 Levy Hsu <admin@levyhsu.com>
3136
3137 PR target/97417
3138 * config/riscv/riscv-shorten-memrefs.c (pass_shorten_memrefs): Add
3139 extend parameter to get_si_mem_base_reg declaration.
3140 (get_si_mem_base_reg): Add extend parameter. Set it.
3141 (analyze): Pass extend arg to get_si_mem_base_reg.
3142 (transform): Likewise. Use it when rewriting mems.
3143 * config/riscv/riscv.c (riscv_legitimize_move): Check for subword
3144 loads and emit sign/zero extending load followed by subreg move.
3145
3146 2021-02-13 Jim Wilson <jimw@sifive.com>
3147
3148 PR target/97417
3149 * config/riscv/riscv.c (riscv_compressed_lw_address_p): Drop early
3150 exit when !reload_completed. Only perform check for compressed reg
3151 if reload_completed.
3152 (riscv_rtx_costs): In MEM case, when optimizing for size and
3153 shorten memrefs, if not compressible, then increase cost.
3154
3155 2021-02-13 Jakub Jelinek <jakub@redhat.com>
3156
3157 PR rtl-optimization/98439
3158 * recog.c (pass_split_before_regstack::gate): Enable even when
3159 pass_split_before_sched2 is enabled if -fselective-scheduling2 is
3160 on.
3161
3162 2021-02-13 Jakub Jelinek <jakub@redhat.com>
3163
3164 PR target/96166
3165 * config/i386/mmx.md (*mmx_pshufd_1): Add a combine splitter for
3166 swap of V2SImode elements in memory into DImode memory rotate by 32.
3167
3168 2021-02-12 Martin Sebor <msebor@redhat.com>
3169
3170 * tree-pretty-print.c (print_generic_expr_to_str): Update comment.
3171
3172 2021-02-12 Richard Sandiford <richard.sandiford@arm.com>
3173
3174 * rtl-ssa/accesses.cc (function_info::make_use_available): Use
3175 m_temp_obstack rather than m_obstack to allocate the temporary use.
3176
3177 2021-02-12 Richard Sandiford <richard.sandiford@arm.com>
3178
3179 * df-problems.c (df_lr_bb_local_compute): Treat partial definitions
3180 as read-modify operations.
3181
3182 2021-02-12 Richard Biener <rguenther@suse.de>
3183
3184 PR middle-end/38474
3185 * ipa-fnsummary.c (unmodified_parm_1): Only walk when
3186 fbi->aa_walk_budget is bigger than zero. Update
3187 fbi->aa_walk_budget.
3188 (param_change_prob): Likewise.
3189 * ipa-prop.c (detect_type_change_from_memory_writes):
3190 Properly account walk_aliased_vdefs.
3191 (parm_preserved_before_stmt_p): Canonicalize updates.
3192 (parm_ref_data_preserved_p): Likewise.
3193 (parm_ref_data_pass_through_p): Likewise.
3194 (determine_known_aggregate_parts): Account own alias queries.
3195
3196 2021-02-12 Martin Liska <mliska@suse.cz>
3197
3198 * opts-common.c (decode_cmdline_option): Release werror_arg.
3199 * opts.c (gen_producer_string): Release output of
3200 gen_command_line_string.
3201
3202 2021-02-12 Richard Biener <rguenther@suse.de>
3203
3204 PR tree-optimization/38474
3205 * params.opt (-param=max-store-chains-to-track=): New param.
3206 (-param=max-stores-to-track=): Likewise.
3207 * doc/invoke.texi (max-store-chains-to-track): Document.
3208 (max-stores-to-track): Likewise.
3209 * gimple-ssa-store-merging.c (pass_store_merging::m_n_chains):
3210 New.
3211 (pass_store_merging::m_n_stores): Likewise.
3212 (pass_store_merging::terminate_and_process_chain): Update
3213 m_n_stores and m_n_chains.
3214 (pass_store_merging::process_store): Likewise. Terminate
3215 oldest chains if the number of stores or chains get too large.
3216 (imm_store_chain_info::terminate_and_process_chain): Dump
3217 chain length.
3218
3219 2021-02-11 Eric Botcazou <ebotcazou@adacore.com>
3220
3221 * config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to
3222 the cold section, emit a nop before the directive if the previous
3223 active instruction can throw.
3224
3225 2021-02-11 Peter Bergner <bergner@linux.ibm.com>
3226
3227 PR target/99041
3228 * config/rs6000/predicates.md (mma_assemble_input_operand): Restrict
3229 memory addresses that are legal for quad word accesses.
3230
3231 2021-02-11 Andrea Corallo <andrea.corallo@arm.com>
3232
3233 PR target/98931
3234 * config/arm/thumb2.md (*doloop_end_internal): Generate
3235 alternative sequence to handle long range branches.
3236
3237 2021-02-11 Joel Hutton <joel.hutton@arm.com>
3238
3239 PR tree-optimization/98772
3240 * optabs-tree.c (supportable_half_widening_operation): New function
3241 to check for supportable V8QI->V8HI widening patterns.
3242 * optabs-tree.h (supportable_half_widening_operation): New function.
3243 * tree-vect-stmts.c (vect_create_half_widening_stmts): New function
3244 to create promotion stmts for V8QI->V8HI widening patterns.
3245 (vectorizable_conversion): Add case for V8QI->V8HI.
3246
3247 2021-02-11 Richard Biener <rguenther@suse.de>
3248
3249 * sparseset.h (SPARSESET_ELT_BITS): Remove.
3250 (SPARSESET_ELT_TYPE): Use unsigned int.
3251 * fwprop.c: Do not include sparseset.h.
3252
3253 2021-02-10 Jakub Jelinek <jakub@redhat.com>
3254
3255 PR c++/99035
3256 * varasm.c (declare_weak): For -fsyntax-only, allow even
3257 TREE_ASM_WRITTEN function decls.
3258
3259 2021-02-10 Jakub Jelinek <jakub@redhat.com>
3260
3261 PR target/99025
3262 * config/i386/sse.md (fix<fixunssuffix>_truncv2sfv2di2,
3263 <insn>v8qiv8hi2, <insn>v8qiv8si2, <insn>v4qiv4si2, <insn>v4hiv4si2,
3264 <insn>v8qiv8di2, <insn>v4qiv4di2, <insn>v2qiv2di2, <insn>v4hiv4di2,
3265 <insn>v2hiv2di2, <insn>v2siv2di2): Force operands[1] into REG before
3266 calling simplify_gen_subreg on it.
3267
3268 2021-02-10 Martin Liska <mliska@suse.cz>
3269
3270 * config/nvptx/nvptx.c (nvptx_option_override): Use
3271 flag_patchable_function_entry instead of the removed
3272 function_entry_patch_area_size.
3273
3274 2021-02-10 Martin Liska <mliska@suse.cz>
3275
3276 PR tree-optimization/99002
3277 PR tree-optimization/99026
3278 * gimple-if-to-switch.cc (if_chain::is_beneficial): Fix memory
3279 leak when adjacent cases are merged.
3280 * tree-switch-conversion.c (switch_decision_tree::analyze_switch_statement): Use
3281 release_clusters.
3282 (make_pass_lower_switch): Remove trailing whitespace.
3283 * tree-switch-conversion.h (release_clusters): New.
3284
3285 2021-02-10 Richard Biener <rguenther@suse.de>
3286
3287 PR rtl-optimization/99054
3288 * cfgrtl.c (rtl-optimization/99054): Return an auto_vec.
3289 (fixup_partitions): Adjust.
3290 (rtl_verify_edges): Likewise.
3291
3292 2021-02-10 Jakub Jelinek <jakub@redhat.com>
3293
3294 PR middle-end/99007
3295 * gimplify.c (gimplify_scan_omp_clauses): For MEM_REF on reductions,
3296 temporarily disable gimplify_ctxp->into_ssa around gimplify_expr
3297 calls.
3298
3299 2021-02-10 Richard Biener <rguenther@suse.de>
3300
3301 PR ipa/99029
3302 * ipa-pure-const.c (propagate_malloc): Use an auto_vec<>
3303 for callees.
3304
3305 2021-02-10 Richard Biener <rguenther@suse.de>
3306
3307 PR tree-optimization/99024
3308 * tree-vect-loop.c (_loop_vec_info::~_loop_vec_info): Only
3309 clear loop->aux if it is associated with the destroyed loop_vinfo.
3310
3311 2021-02-10 Martin Liska <mliska@suse.cz>
3312
3313 PR tree-optimization/99002
3314 * gimple-if-to-switch.cc (find_conditions): Fix memory leak
3315 in the function.
3316
3317 2021-02-10 Martin Liska <mliska@suse.cz>
3318
3319 PR ipa/99003
3320 * ipa-icf.c (sem_item::add_reference): Fix memory leak when
3321 a reference exists.
3322
3323 2021-02-10 Jakub Jelinek <jakub@redhat.com>
3324
3325 PR debug/98755
3326 * dwarf2out.c (prune_unused_types_walk): Mark DW_TAG_variable DIEs
3327 at class scope for DWARF5+.
3328
3329 2021-02-09 Eric Botcazou <ebotcazou@adacore.com>
3330
3331 PR rtl-optimization/96015
3332 * reorg.c (skip_consecutive_labels): Minor comment tweaks.
3333 (relax_delay_slots): When deleting a jump to the next active
3334 instruction over a barrier, first delete the barrier if the
3335 jump is the only way to reach the target label.
3336
3337 2021-02-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
3338
3339 * config/aarch64/aarch64-cost-tables.h: Add entries for vect.mul.
3340 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Use vect.mul for
3341 vector multiplies and vect.alu for SSRA.
3342 * config/arm/aarch-common-protos.h (struct vector_cost_table): Define
3343 vect.mul cost field.
3344 * config/arm/aarch-cost-tables.h: Add entries for vect.mul.
3345 * config/arm/arm.c: Likewise.
3346
3347 2021-02-09 Richard Biener <rguenther@suse.de>
3348
3349 PR tree-optimization/98863
3350 * tree-ssa-sccvn.h (vn_avail::next_undo): Add.
3351 * tree-ssa-sccvn.c (last_pushed_avail): New global.
3352 (rpo_elim::eliminate_push_avail): Chain pushed avails.
3353 (unwind_state::avail_top): Add.
3354 (do_unwind): Rewrite unwinding of avail entries.
3355 (do_rpo_vn): Initialize last_pushed_avail and
3356 avail_top of the undo state.
3357
3358 2021-02-09 Jakub Jelinek <jakub@redhat.com>
3359
3360 PR middle-end/99004
3361 * calls.c (maybe_warn_rdwr_sizes): Change s0 and s1 type from
3362 const char * to char * and free those pointers after use.
3363
3364 2021-02-09 Richard Biener <rguenther@suse.de>
3365
3366 PR tree-optimization/99017
3367 * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Allow
3368 zero vector cost entries.
3369
3370 2021-02-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
3371
3372 PR middle-end/98974
3373 * tree-vect-stmts.c (vectorizable_condition): Remove shadow vec_num
3374 parameter in vectorizable_condition.
3375
3376 2021-02-08 Richard Biener <rguenther@suse.de>
3377
3378 PR lto/96591
3379 * tree.c (walk_tree_1): Walk VECTOR_CST elements.
3380
3381 2021-02-08 Martin Liska <mliska@suse.cz>
3382
3383 PR lto/98971
3384 * cfgexpand.c (pass_expand::execute): Parse per-function option
3385 flag_patchable_function_entry and use it.
3386 * common.opt: Remove function_entry_patch_area_size and
3387 function_entry_patch_area_start global variables.
3388 * opts.c (parse_and_check_patch_area): New function.
3389 (common_handle_option): Use it.
3390 * opts.h (parse_and_check_patch_area): New function.
3391 * toplev.c (process_options): Parse and use
3392 function_entry_patch_area_size.
3393
3394 2021-02-08 Martin Sebor <msebor@redhat.com>
3395
3396 * doc/extend.texi (attribute malloc): Correct typos.
3397
3398 2021-02-05 Nathan Sidwell <nathan@acm.org>
3399
3400 PR driver/98943
3401 * gcc.c (driver::maybe_run_linker): Check for input file
3402 accessibility if not linking.
3403
3404 2021-02-05 Richard Biener <rguenther@suse.de>
3405
3406 PR tree-optimization/98855
3407 * tree-vectorizer.h (add_stmt_cost): New overload.
3408 * tree-vect-slp.c (li_cost_vec_cmp): New.
3409 (vect_bb_slp_scalar_cost): Cost individual loop regions
3410 separately. Account for the scalar instance root stmt.
3411
3412 2021-02-05 Tom de Vries <tdevries@suse.de>
3413
3414 PR debug/98656
3415 * tree-switch-conversion.c (jump_table_cluster::emit): Add loc
3416 argument.
3417 (bit_test_cluster::emit): Reuse location_t for newly created
3418 gswitch statement.
3419 (switch_decision_tree::try_switch_expansion): Preserve
3420 location_t.
3421 * tree-switch-conversion.h: Change function signatures.
3422
3423 2021-02-05 Jakub Jelinek <jakub@redhat.com>
3424
3425 PR target/98957
3426 * config/i386/i386-options.c (m_NONE, m_ALL): Define.
3427 * config/i386/x86-tune.def (X86_TUNE_BRANCH_PREDICTION_HINTS,
3428 X86_TUNE_PROMOTE_QI_REGS): Use m_NONE instead of 0U.
3429 (X86_TUNE_QIMODE_MATH): Use m_ALL instead of ~0U.
3430
3431 2021-02-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3432
3433 * config/aarch64/aarch64-simd-builtins.def (get_high): Define builtin.
3434 * config/aarch64/aarch64-simd.md (aarch64_get_high<mode>): Define.
3435 * config/aarch64/arm_neon.h (__GET_HIGH): Delete.
3436 (vget_high_f16): Reimplement using new builtin.
3437 (vget_high_f32): Likewise.
3438 (vget_high_f64): Likewise.
3439 (vget_high_p8): Likewise.
3440 (vget_high_p16): Likewise.
3441 (vget_high_p64): Likewise.
3442 (vget_high_s8): Likewise.
3443 (vget_high_s16): Likewise.
3444 (vget_high_s32): Likewise.
3445 (vget_high_s64): Likewise.
3446 (vget_high_u8): Likewise.
3447 (vget_high_u16): Likewise.
3448 (vget_high_u32): Likewise.
3449 (vget_high_u64): Likewise.
3450
3451 2021-02-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3452
3453 * config/aarch64/aarch64-simd-builtins.def (get_low): Define builtin.
3454 * config/aarch64/aarch64-simd.md (aarch64_get_low<mode>): Define.
3455 * config/aarch64/arm_neon.h (__GET_LOW): Delete.
3456 (vget_low_f16): Reimplement using new builtin.
3457 (vget_low_f32): Likewise.
3458 (vget_low_f64): Likewise.
3459 (vget_low_p8): Likewise.
3460 (vget_low_p16): Likewise.
3461 (vget_low_p64): Likewise.
3462 (vget_low_s8): Likewise.
3463 (vget_low_s16): Likewise.
3464 (vget_low_s32): Likewise.
3465 (vget_low_s64): Likewise.
3466 (vget_low_u8): Likewise.
3467 (vget_low_u16): Likewise.
3468 (vget_low_u32): Likewise.
3469 (vget_low_u64): Likewise.
3470
3471 2021-02-05 Kito Cheng <kito.cheng@sifive.com>
3472
3473 * gcc.c (print_multilib_info): Check all required argument is provided
3474 by default arg.
3475
3476 2021-02-05 liuhongt <hongtao.liu@intel.com>
3477
3478 PR target/98537
3479 * config/i386/i386-expand.c (ix86_expand_sse_cmp): Don't
3480 generate integer mask comparison for 128/256-bits vector when
3481 op_true/op_false is NULL_RTX or CONSTM1_RTX/CONST0_RTX. Also
3482 delete redundant !maskcmp condition.
3483 (ix86_expand_int_vec_cmp): Ditto but no redundant deletion
3484 here.
3485 (ix86_expand_sse_movcc): Delete definition of maskcmp, add the
3486 condition directly to if (maskcmp), add extra check for
3487 cmpmode, it should be MODE_INT.
3488 (ix86_expand_fp_vec_cmp): Pass NULL to ix86_expand_sse_cmp's
3489 parameters op_true/op_false.
3490 (ix86_use_mask_cmp_p): New.
3491
3492 2021-02-05 liuhongt <hongtao.liu@intel.com>
3493
3494 PR target/98172
3495 * config/i386/x86-tune.def (X86_TUNE_AVX256_UNALIGNED_LOAD_OPTIMAL):
3496 Remove m_GENERIC from ~list.
3497 (X86_TUNE_AVX256_UNALIGNED_STORE_OPTIMAL): Ditto.
3498
3499 2021-02-04 David Malcolm <dmalcolm@redhat.com>
3500
3501 PR c/97932
3502 * diagnostic-show-locus.c (compatible_locations_p): Require
3503 locations in the same macro map to be either both from the
3504 macro definition, or both from the macro arguments.
3505
3506 2021-02-04 Jonathan Wright <jonathan.wright@arm.com>
3507
3508 * config/aarch64/aarch64-simd-builtins.def: Add
3509 [su]mull_hi_lane[q] builtin generator macros.
3510 * config/aarch64/aarch64-simd.md
3511 (aarch64_<su>mull_hi_lane<mode>_insn): Define.
3512 (aarch64_<su>mull_hi_lane<mode>): Define.
3513 (aarch64_<su>mull_hi_laneq<mode>_insn): Define.
3514 (aarch64_<su>mull_hi_laneq<mode>): Define.
3515 * config/aarch64/arm_neon.h (vmull_high_lane_s16): Use RTL
3516 builtin instead of inline asm.
3517 (vmull_high_lane_s32): Likewise.
3518 (vmull_high_lane_u16): Likewise.
3519 (vmull_high_lane_u32): Likewise.
3520 (vmull_high_laneq_s16): Likewise.
3521 (vmull_high_laneq_s32): Likewise.
3522 (vmull_high_laneq_u16): Likewise.
3523 (vmull_high_laneq_u32): Liekwise.
3524
3525 2021-02-04 Jonathan Wright <jonathan.wright@arm.com>
3526
3527 * config/aarch64/aarch64-simd-builtins.def: Add [su]mull_hi_n
3528 builtin generator macros.
3529 * config/aarch64/aarch64-simd.md
3530 (aarch64_<su>mull_hi_n<mode>_insn): Define.
3531 (aarch64_<su>mull_hi_n<mode>): Define.
3532 * config/aarch64/arm_neon.h (vmull_high_n_s16): Use RTL builtin
3533 instead of inline asm.
3534 (vmull_high_n_s32): Likewise.
3535 (vmull_high_n_u16): Likewise.
3536 (vmull_high_n_u32): Likewise.
3537
3538 2021-02-04 Richard Biener <rguenther@suse.de>
3539
3540 PR tree-optimization/98855
3541 * tree-vect-loop.c (vectorizable_phi): Do not cost
3542 single-argument PHIs.
3543 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Likewise.
3544 * tree-vect-stmts.c (vectorizable_bswap): Also perform
3545 costing for SLP operation.
3546
3547 2021-02-04 Martin Liska <mliska@suse.cz>
3548
3549 * doc/extend.texi: Mention -mprefer-vector-width in target
3550 attributes.
3551
3552 2021-02-03 Martin Sebor <msebor@redhat.com>
3553
3554 PR tree-optimization/98937
3555 * tree-ssa-strlen.c (strlen_dom_walker::~strlen_dom_walker): Define.
3556 Flush pointer_query cache.
3557
3558 2021-02-03 Aaron Sawdey <acsawdey@linux.ibm.com>
3559
3560 * config/rs6000/genfusion.pl (gen_2logical): Add missing
3561 fixes based on patch review.
3562 * config/rs6000/fusion.md: Regenerate file.
3563
3564 2021-02-03 Aaron Sawdey <acsawdey@linux.ibm.com>
3565
3566 * config/rs6000/t-rs6000: Comment out auto generation of
3567 fusion.md for now.
3568
3569 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
3570
3571 * config/gcn/gcn-opts.h (enum processor_type): Add PROCESSOR_GFX908.
3572 * config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): Add gfx908.
3573 (output_file_start): Add gfx908.
3574 * config/gcn/gcn.opt (gpu_type): Add gfx908.
3575 * config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Add march=gfx908.
3576 (MULTILIB_DIRNAMES): Add gfx908.
3577 * config/gcn/mkoffload.c (EF_AMDGPU_MACH_AMDGCN_GFX908): New define.
3578 (main): Recognize gfx908.
3579 * config/gcn/t-omp-device: Add gfx908.
3580
3581 2021-02-03 Jonathan Wright <jonathan.wright@arm.com>
3582
3583 * config/aarch64/aarch64-simd-builtins.def: Add
3584 [su]mlsl_hi_lane[q] builtin macro generators.
3585 * config/aarch64/aarch64-simd.md
3586 (aarch64_<su>mlsl_hi_lane<mode>_insn): Define.
3587 (aarch64_<su>mlsl_hi_lane<mode>): Define.
3588 (aarch64_<su>mlsl_hi_laneq<mode>_insn): Define.
3589 (aarch64_<su>mlsl_hi_laneq<mode>): Define.
3590 * config/aarch64/arm_neon.h (vmlsl_high_lane_s16): Use RTL
3591 builtin instead of inline asm.
3592 (vmlsl_high_lane_s32): Likewise.
3593 (vmlsl_high_lane_u16): Likewise.
3594 (vmlsl_high_lane_u32): Likewise.
3595 (vmlsl_high_laneq_s16): Likewise.
3596 (vmlsl_high_laneq_s32): Likewise.
3597 (vmlsl_high_laneq_u16): Likewise.
3598 (vmlsl_high_laneq_u32): Likewise.
3599 (vmlal_high_laneq_u32): Likewise.
3600
3601 2021-02-03 Jonathan Wright <jonathan.wright@arm.com>
3602
3603 * config/aarch64/aarch64-simd-builtins.def: Add
3604 [su]mlal_hi_lane[q] builtin generator macros.
3605 * config/aarch64/aarch64-simd.md
3606 (aarch64_<su>mlal_hi_lane<mode>_insn): Define.
3607 (aarch64_<su>mlal_hi_lane<mode>): Define.
3608 (aarch64_<su>mlal_hi_laneq<mode>_insn): Define.
3609 (aarch64_<su>mlal_hi_laneq<mode>): Define.
3610 * config/aarch64/arm_neon.h (vmlal_high_lane_s16): Use RTL
3611 builtin instead of inline asm.
3612 (vmlal_high_lane_s32): Likewise.
3613 (vmlal_high_lane_u16): Likewise.
3614 (vmlal_high_lane_u32): Likewise.
3615 (vmlal_high_laneq_s16): Likewise.
3616 (vmlal_high_laneq_s32): Likewise.
3617 (vmlal_high_laneq_u16): Likewise.
3618 (vmlal_high_laneq_u32): Likewise.
3619
3620 2021-02-03 Jonathan Wright <jonathan.wright@arm.com>
3621
3622 * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_hi_n
3623 builtin generator macros.
3624 * config/aarch64/aarch64-simd.md (aarch64_<su>mlsl_hi_n<mode>_insn):
3625 Define.
3626 (aarch64_<su>mlsl_hi_n<mode>): Define.
3627 * config/aarch64/arm_neon.h (vmlsl_high_n_s16): Use RTL builtin
3628 instead of inline asm.
3629 (vmlsl_high_n_s32): Likewise.
3630 (vmlsl_high_n_u16): Likewise.
3631 (vmlsl_high_n_u32): Likewise.
3632
3633 2021-02-03 Jonathan Wright <jonathan.wright@arm.com>
3634
3635 * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal_hi_n
3636 builtin generator macros.
3637 * config/aarch64/aarch64-simd.md (aarch64_<su>mlal_hi_n<mode>_insn):
3638 Define.
3639 (aarch64_<su>mlal_hi_n<mode>): Define.
3640 * config/aarch64/arm_neon.h (vmlal_high_n_s16): Use RTL builtin
3641 instead of inline asm.
3642 (vmlal_high_n_s32): Likewise.
3643 (vmlal_high_n_u16): Likewise.
3644 (vmlal_high_n_u32): Likewise.
3645
3646 2021-02-03 Jonathan Wright <jonathan.wright@arm.com>
3647
3648 * config/aarch64/aarch64-simd-builtins.def: Add RTL builtin
3649 generator macros.
3650 * config/aarch64/aarch64-simd.md (*aarch64_<su>mlal_hi<mode>):
3651 Rename to...
3652 (aarch64_<su>mlal_hi<mode>_insn): This.
3653 (aarch64_<su>mlal_hi<mode>): Define.
3654 * config/aarch64/arm_neon.h (vmlal_high_s8): Use RTL builtin
3655 instead of inline asm.
3656 (vmlal_high_s16): Likewise.
3657 (vmlal_high_s32): Likewise.
3658 (vmlal_high_u8): Likewise.
3659 (vmlal_high_u16): Likewise.
3660 (vmlal_high_u32): Likewise.
3661
3662 2021-02-03 Ilya Leoshkevich <iii@linux.ibm.com>
3663
3664 * lra-spills.c (remove_pseudos): Call lra_update_insn_recog_data()
3665 after calling alter_subreg() on a (mem).
3666
3667 2021-02-03 Martin Liska <mliska@suse.cz>
3668
3669 PR lto/98912
3670 * lto-streamer-out.c (produce_lto_section): Fill up missing
3671 padding.
3672 * lto-streamer.h (struct lto_section): Add _padding field.
3673
3674 2021-02-03 Richard Biener <rguenther@suse.de>
3675
3676 * lto-streamer.c (lto_get_section_name): Free temporary
3677 buffer.
3678 * tree-loop-distribution.c
3679 (loop_distribution::merge_dep_scc_partitions): Free edge data.
3680
3681 2021-02-03 Jakub Jelinek <jakub@redhat.com>
3682
3683 PR middle-end/97487
3684 * ifcvt.c (noce_can_force_operand): New function.
3685 (noce_emit_move_insn): Use it.
3686 (noce_try_sign_mask): Likewise. Formatting fix.
3687
3688 2021-02-03 Jakub Jelinek <jakub@redhat.com>
3689
3690 PR middle-end/97971
3691 * lra-constraints.c (process_alt_operands): For inline asm, don't call
3692 fatal_insn, but instead return false.
3693
3694 2021-02-03 Jakub Jelinek <jakub@redhat.com>
3695
3696 PR tree-optimization/98287
3697 * config/i386/mmx.md (<insn><mode>3): For shifts don't enable expander
3698 for V1DImode.
3699
3700 2021-02-03 Tamar Christina <tamar.christina@arm.com>
3701
3702 PR tree-optimization/98928
3703 * tree-vect-loop.c (vect_analyze_loop_2): Change
3704 STMT_VINFO_SLP_VECT_ONLY to STMT_VINFO_SLP_VECT_ONLY_PATTERN.
3705 * tree-vect-slp-patterns.c (complex_pattern::build): Likewise.
3706 * tree-vectorizer.h (STMT_VINFO_SLP_VECT_ONLY_PATTERN): New.
3707 (class _stmt_vec_info): Add slp_vect_pattern_only_p.
3708
3709 2021-02-02 Richard Biener <rguenther@suse.de>
3710
3711 * gimple-loop-interchange.cc (prepare_data_references):
3712 Release vectors.
3713 * gimple-loop-jam.c (tree_loop_unroll_and_jam): Likewise.
3714 * tree-ssa-loop-im.c (hoist_memory_references): Likewise.
3715 * tree-vect-stmts.c (vectorizable_condition): Do not
3716 allocate vectors.
3717 (vectorizable_comparison): Likewise.
3718
3719 2021-02-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3720
3721 * config/aarch64/aarch64-simd-builtins.def (ursqrte): Define builtin.
3722 * config/aarch64/aarch64-simd.md (aarch64_ursqrte<mode>): New pattern.
3723 * config/aarch64/arm_neon.h (vrsqrte_u32): Reimplement using builtin.
3724 (vrsqrteq_u32): Likewise.
3725
3726 2021-02-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3727
3728 * config/aarch64/aarch64-simd-builtins.def (sqxtun2): Define builtin.
3729 * config/aarch64/aarch64-simd.md (aarch64_sqxtun2<mode>_le): Define.
3730 (aarch64_sqxtun2<mode>_be): Likewise.
3731 (aarch64_sqxtun2<mode>): Likewise.
3732 * config/aarch64/arm_neon.h (vqmovun_high_s16): Reimplement using builtin.
3733 (vqmovun_high_s32): Likewise.
3734 (vqmovun_high_s64): Likewise.
3735 * config/aarch64/iterators.md (UNSPEC_SQXTUN2): Define.
3736
3737 2021-02-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3738
3739 * config/aarch64/aarch64-simd-builtins.def (bfdot_lane, bfdot_laneq): Use
3740 AUTO_FP flags.
3741 (bfmlalb_lane, bfmlalt_lane, bfmlalb_lane_q, bfmlalt_lane_q): Use FP flags.
3742
3743 2021-02-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3744
3745 * config/aarch64/aarch64-simd-builtins.def (fcmla_lane0, fcmla_lane90,
3746 fcmla_lane180, fcmla_lane270, fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180,
3747 fcmlaq_lane270, scvtf, ucvtf, fcvtzs, fcvtzu, scvtfsi, scvtfdi, ucvtfsi,
3748 ucvtfdi, fcvtzshf, fcvtzuhf, fmlal_lane_low, fmlsl_lane_low,
3749 fmlal_laneq_low, fmlsl_laneq_low, fmlalq_lane_low, fmlslq_lane_low,
3750 fmlalq_laneq_low, fmlslq_laneq_low, fmlal_lane_high, fmlsl_lane_high,
3751 fmlal_laneq_high, fmlsl_laneq_high, fmlalq_lane_high, fmlslq_lane_high,
3752 fmlalq_laneq_high, fmlslq_laneq_high): Use FP flags.
3753
3754 2021-02-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3755
3756 * config/aarch64/aarch64-builtins.c (FLAG_LOAD): Define.
3757 * config/aarch64/aarch64-simd-builtins.def (ld1x2, ld2, ld3, ld4, ld2r,
3758 ld3r, ld4r, ld1, ld1x3, ld1x4): Use LOAD flags.
3759
3760 2021-02-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3761
3762 * config/aarch64/aarch64-simd-builtins.def (combine, zip1, zip2,
3763 uzp1, uzp2, trn1, trn2, simd_bsl): Use AUTO_FP flags.
3764
3765 2021-02-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3766
3767 * config/aarch64/aarch64-simd-builtins.def (clrsb, clz, ctz, popcount,
3768 vec_smult_lane_, vec_smlal_lane_, vec_smult_laneq_, vec_smlal_laneq_,
3769 vec_umult_lane_, vec_umlal_lane_, vec_umult_laneq_, vec_umlal_laneq_,
3770 ashl, sshl, ushl, srshl, urshl, sdot_lane, udot_lane, sdot_laneq,
3771 udot_laneq, usdot_lane, usdot_laneq, sudot_lane, sudot_laneq, ashr,
3772 ashr_simd, lshr, lshr_simd, srshr_n, urshr_n, ssra_n, usra_n, srsra_n,
3773 ursra_n, sshll_n, ushll_n, sshll2_n, ushll2_n, ssri_n, usri_n, ssli_n,
3774 ssli_n, usli_n, bswap, rbit, simd_bsl, eor3q, rax1q, xarq, bcaxq): Use
3775 NONE builtin flags.
3776
3777 2021-02-02 Jakub Jelinek <jakub@redhat.com>
3778
3779 PR tree-optimization/98848
3780 * tree-vect-patterns.c (vect_recog_over_widening_pattern): Punt if
3781 STMT_VINFO_DEF_TYPE (last_stmt_info) is vect_reduction_def.
3782
3783 2021-02-02 Kito Cheng <kito.cheng@sifive.com>
3784
3785 PR target/98743
3786 * expr.c: Check mode before calling store_expr.
3787
3788 2021-02-02 Christophe Lyon <christophe.lyon@linaro.org>
3789
3790 * config/arm/iterators.md (supf): Remove VORNQ_S and VORNQ_U.
3791 (VORNQ): Remove.
3792 * config/arm/mve.md (mve_vornq_s<mode>): New entry for vorn
3793 instruction using expression ior.
3794 (mve_vornq_u<mode>): New expander.
3795 (mve_vornq_f<mode>): Use ior code instead of unspec.
3796 * config/arm/unspecs.md (VORNQ_S, VORNQ_U, VORNQ_F): Remove.
3797
3798 2021-02-02 Alexandre Oliva <oliva@adacore.com>
3799
3800 * tree-nested.c (convert_nonlocal_reference_op): Move
3801 current_function_decl restore after re-gimplification.
3802 (convert_local_reference_op): Likewise.
3803
3804 2021-02-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3805
3806 * config/aarch64/aarch64-simd-builtins.def (rshrn, rshrn2):
3807 Define builtins.
3808 * config/aarch64/aarch64-simd.md (aarch64_rshrn<mode>_insn_le):
3809 Define.
3810 (aarch64_rshrn<mode>_insn_be): Likewise.
3811 (aarch64_rshrn<mode>): Likewise.
3812 (aarch64_rshrn2<mode>_insn_le): Likewise.
3813 (aarch64_rshrn2<mode>_insn_be): Likewise.
3814 (aarch64_rshrn2<mode>): Likewise.
3815 * config/aarch64/aarch64.md (unspec): Add UNSPEC_RSHRN.
3816 * config/aarch64/arm_neon.h (vrshrn_high_n_s16): Reimplement
3817 using builtin.
3818 (vrshrn_high_n_s32): Likewise.
3819 (vrshrn_high_n_s64): Likewise.
3820 (vrshrn_high_n_u16): Likewise.
3821 (vrshrn_high_n_u32): Likewise.
3822 (vrshrn_high_n_u64): Likewise.
3823 (vrshrn_n_s16): Likewise.
3824 (vrshrn_n_s32): Likewise.
3825 (vrshrn_n_s64): Likewise.
3826 (vrshrn_n_u16): Likewise.
3827 (vrshrn_n_u32): Likewise.
3828 (vrshrn_n_u64): Likewise.
3829
3830 2021-02-01 Sergei Trofimovich <siarheit@google.com>
3831
3832 PR tree-optimization/98499
3833 * ipa-modref.c (analyze_ssa_name_flags): treat RVO
3834 conservatively and assume all possible side-effects.
3835
3836 2021-02-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3837
3838 * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi,
3839 vec_unpacku_hi_): Define builtins.
3840 * config/aarch64/arm_neon.h (vmovl_high_s8): Reimplement using
3841 builtin.
3842 (vmovl_high_s16): Likewise.
3843 (vmovl_high_s32): Likewise.
3844 (vmovl_high_u8): Likewise.
3845 (vmovl_high_u16): Likewise.
3846 (vmovl_high_u32): Likewise.
3847
3848 2021-02-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3849
3850 * config/aarch64/aarch64-simd-builtins.def (sabdl, uabdl):
3851 Define builtins.
3852 * config/aarch64/aarch64-simd.md (aarch64_<sur>abdl<mode>): New
3853 pattern.
3854 * config/aarch64/aarch64.md (unspec): Define UNSPEC_SABDL,
3855 UNSPEC_UABDL.
3856 * config/aarch64/arm_neon.h (vabdl_s8): Reimplemet using
3857 builtin.
3858 (vabdl_s16): Likewise.
3859 (vabdl_s32): Likewise.
3860 (vabdl_u8): Likewise.
3861 (vabdl_u16): Likewise.
3862 (vabdl_u32): Likewise.
3863 * config/aarch64/iterators.md (ABDL): New int iterator.
3864 (sur): Handle UNSPEC_SABDL, UNSPEC_UABDL.
3865
3866 2021-02-01 Martin Sebor <msebor@redhat.com>
3867
3868 * tree.h (BLOCK_VARS): Add comment.
3869 (BLOCK_SUBBLOCKS): Same.
3870 (BLOCK_SUPERCONTEXT): Same.
3871 (BLOCK_ABSTRACT_ORIGIN): Same.
3872 (inlined_function_outer_scope_p): Same.
3873
3874 2021-02-01 Martin Sebor <msebor@redhat.com>
3875
3876 PR middle-end/97172
3877 * attribs.c (attr_access::free_lang_data): Define new function.
3878 * attribs.h (attr_access::free_lang_data): Declare new function.
3879
3880 2021-02-01 Richard Biener <rguenther@suse.de>
3881
3882 * vec.h (auto_vec::auto_vec): Add memory stat parameters
3883 and pass them on.
3884 * bitmap.h (auto_bitmap::auto_bitmap): Likewise.
3885
3886 2021-02-01 Tamar Christina <tamar.christina@arm.com>
3887
3888 * config/aarch64/aarch64-simd.md (aarch64_<su>mlal_n<mode>,
3889 aarch64_<su>mlsl<mode>, aarch64_<su>mlsl_n<mode>): Flip mult operands.
3890
3891 2021-02-01 Richard Biener <rguenther@suse.de>
3892
3893 PR rtl-optimization/98863
3894 * config/i386/i386-features.c (convert_scalars_to_vector):
3895 Set DF_RD_PRUNE_DEAD_DEFS.
3896
3897 2021-01-31 Eric Botcazou <ebotcazou@adacore.com>
3898
3899 * system.h (SIZE_MAX): Define if not already defined.
3900
3901 2021-01-30 Aaron Sawdey <acsawdey@linux.ibm.com>
3902
3903 * config/rs6000/genfusion.pl (gen_2logical): New function to
3904 generate patterns for logical-logical fusion.
3905 * config/rs6000/fusion.md: Regenerated patterns.
3906 * config/rs6000/rs6000-cpus.def: Add
3907 OPTION_MASK_P10_FUSION_2LOGICAL.
3908 * config/rs6000/rs6000.c (rs6000_option_override_internal):
3909 Enable logical-logical fusion for p10.
3910 * config/rs6000/rs6000.opt: Add -mpower10-fusion-2logical.
3911
3912 2021-01-30 David Edelsohn <dje.gcc@gmail.com>
3913
3914 * config/rs6000/rs6000.opt: Add periods to new AIX options.
3915
3916 2021-01-30 David Edelsohn <dje.gcc@gmail.com>
3917
3918 * config/rs6000/rs6000.opt (mabi=vec-extabi): New.
3919 (mabi=vec-default): New.
3920 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
3921 __EXTABI__ for AIX Vector extended ABI.
3922 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Print AIX Vector
3923 extabi info.
3924 (conditional_register_usage): If AIX vec_extabi enabled, vs20-vs31
3925 are non-volatile.
3926 * doc/invoke.texi (PowerPC mabi): Add AIX vec-extabi and vec-default.
3927
3928 2021-01-30 Jakub Jelinek <jakub@redhat.com>
3929
3930 * config/i386/i386-features.c (remove_partial_avx_dependency): Clear
3931 DF_DEFER_INSN_RESCAN after calling df_process_deferred_rescans.
3932
3933 2021-01-29 Vladimir N. Makarov <vmakarov@redhat.com>
3934
3935 PR target/97701
3936 * lra-constraints.c (in_class_p): Don't narrow class only for REG
3937 or MEM.
3938
3939 2021-01-29 Will Schmidt <will_schmidt@vnet.ibm.com>
3940
3941 * config/rs6000/rs6000-call.c (rs6000_expand_binup_builtin): Add
3942 clauses for CODE_FOR_vsx_xvcvuxddp_scale and
3943 CODE_FOR_vsx_xvcvsxddp_scale to the parameter checking code.
3944
3945 2021-01-29 Andrew MacLeod <amacleod@redhat.com>
3946
3947 PR tree-optimization/98866
3948 * gimple-range-gori.h (gori_compute:set_range_invariant): New.
3949 * gimple-range-gori.cc (gori_map::set_range_invariant): New.
3950 (gori_map::m_maybe_invariant): Rename from all_outgoing.
3951 (gori_map::gori_map): Rename all_outgoing to m_maybe_invariant.
3952 (gori_map::is_export_p): Ditto.
3953 (gori_map::calculate_gori): Ditto.
3954 (gori_compute::set_range_invariant): New.
3955 * gimple-range.cc (gimple_ranger::range_of_stmt): Set range
3956 invariant for pointers evaluating to [1, +INF].
3957
3958 2021-01-29 Richard Biener <rguenther@suse.de>
3959
3960 PR rtl-optimization/98863
3961 * config/i386/i386-features.c (remove_partial_avx_dependency):
3962 Do not perform DF analysis.
3963 (pass_data_remove_partial_avx_dependency): Remove
3964 TODO_df_finish.
3965
3966 2021-01-29 Jonathan Wright <jonathan.wright@arm.com>
3967
3968 * config/aarch64/aarch64-simd-builtins.def: Add [su]mull_n
3969 builtin generator macros.
3970 * config/aarch64/aarch64-simd.md (aarch64_<su>mull_n<mode>):
3971 Define.
3972 * config/aarch64/arm_neon.h (vmull_n_s16): Use RTL builtin
3973 instead of inline asm.
3974 (vmull_n_s32): Likewise.
3975 (vmull_n_u16): Likewise.
3976 (vmull_n_u32): Likewise.
3977
3978 2021-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3979
3980 * config/aarch64/aarch64-simd-builtins.def (sabdl2, uabdl2):
3981 Define builtins.
3982 * config/aarch64/aarch64-simd.md (aarch64_<sur>abdl2<mode>_3):
3983 Rename to...
3984 (aarch64_<sur>abdl2<mode>): ... This.
3985 (<sur>sadv16qi): Adjust use of above.
3986 * config/aarch64/arm_neon.h (vabdl_high_s8): Reimplement using
3987 builtin.
3988 (vabdl_high_s16): Likewise.
3989 (vabdl_high_s32): Likewise.
3990 (vabdl_high_u8): Likewise.
3991 (vabdl_high_u16): Likewise.
3992 (vabdl_high_u32): Likewise.
3993
3994 2021-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3995
3996 * config/aarch64/aarch64-simd-builtins.def (sabal2): Define
3997 builtin.
3998 (uabal2): Likewise.
3999 * config/aarch64/aarch64-simd.md (aarch64_<sur>abal2<mode>): New
4000 pattern.
4001 * config/aarch64/aarch64.md (unspec): Add UNSPEC_SABAL2 and
4002 UNSPEC_UABAL2.
4003 * config/aarch64/arm_neon.h (vabal_high_s8): Reimplement using
4004 builtin.
4005 (vabal_high_s16): Likewise.
4006 (vabal_high_s32): Likewise.
4007 (vabal_high_u8): Likewise.
4008 (vabal_high_u16): Likewise.
4009 (vabal_high_u32): Likewise.
4010 * config/aarch64/iterators.md (ABAL2): New mode iterator.
4011 (sur): Handle UNSPEC_SABAL2, UNSPEC_UABAL2.
4012
4013 2021-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4014
4015 * config/aarch64/aarch64-simd-builtins.def (sabal): Define
4016 builtin.
4017 (uabal): Likewise.
4018 * config/aarch64/aarch64-simd.md (aarch64_<sur>abal<mode>_4):
4019 Rename to...
4020 (aarch64_<sur>abal<mode>): ... This
4021 (<sur>sadv16qi): Adust use of the above.
4022 * config/aarch64/arm_neon.h (vabal_s8): Reimplement using
4023 builtin.
4024 (vabal_s16): Likewise.
4025 (vabal_s32): Likewise.
4026 (vabal_u8): Likewise.
4027 (vabal_u16): Likewise.
4028 (vabal_u32): Likewise.
4029
4030 2021-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4031
4032 * config/aarch64/aarch64-simd-builtins.def (saddlv, uaddlv):
4033 Define builtins.
4034 * config/aarch64/aarch64-simd.md (aarch64_<su>addlv<mode>):
4035 Define.
4036 * config/aarch64/arm_neon.h (vaddlv_s8): Reimplement using
4037 builtin.
4038 (vaddlv_s16): Likewise.
4039 (vaddlv_u8): Likewise.
4040 (vaddlv_u16): Likewise.
4041 (vaddlvq_s8): Likewise.
4042 (vaddlvq_s16): Likewise.
4043 (vaddlvq_s32): Likewise.
4044 (vaddlvq_u8): Likewise.
4045 (vaddlvq_u16): Likewise.
4046 (vaddlvq_u32): Likewise.
4047 (vaddlv_s32): Likewise.
4048 (vaddlv_u32): Likewise.
4049 * config/aarch64/iterators.md (VDQV_L): New mode iterator.
4050 (unspec): Add UNSPEC_SADDLV, UNSPEC_UADDLV.
4051 (Vwstype): New mode attribute.
4052 (Vwsuf): Likewise.
4053 (VWIDE_S): Likewise.
4054 (USADDLV): New int iterator.
4055 (su): Handle UNSPEC_SADDLV, UNSPEC_UADDLV.
4056
4057 2021-01-29 Jonathan Wright <jonathan.wright@arm.com>
4058
4059 * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_lane[q]
4060 builtin generator macros.
4061 * config/aarch64/aarch64-simd.md (aarch64_vec_<su>mlsl_lane<Qlane>):
4062 Define.
4063 * config/aarch64/arm_neon.h (vmlsl_lane_s16): Use RTL builtin
4064 instead of inline asm.
4065 (vmlsl_lane_s32): Likewise.
4066 (vmlsl_lane_u16): Likewise.
4067 (vmlsl_lane_u32): Likewise.
4068 (vmlsl_laneq_s16): Likewise.
4069 (vmlsl_laneq_s32): Likewise.
4070 (vmlsl_laneq_u16): Likewise.
4071 (vmlsl_laneq_u32): Likewise.
4072
4073 2021-01-29 Richard Biener <rguenther@suse.de>
4074
4075 * doc/invoke.texi (--param max-gcse-memory): Document unit
4076 of size.
4077 * gcse.c (gcse_or_cprop_is_too_expensive): Adjust.
4078 * params.opt (--param max-gcse-memory): Adjust default and
4079 document unit of size.
4080
4081 2021-01-29 Richard Biener <rguenther@suse.de>
4082
4083 PR rtl-optimization/98863
4084 * gcse.c (gcse_or_cprop_is_too_expensive): Use unsigned
4085 HOST_WIDE_INT for the memory estimate.
4086
4087 2021-01-29 Bin Cheng <bin.cheng@linux.alibaba.com>
4088 Richard Biener <rguenther@suse.de>
4089
4090 PR tree-optimization/97627
4091 * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
4092 Do not analyze fake edges.
4093
4094 2021-01-29 Richard Biener <rguenther@suse.de>
4095
4096 PR rtl-optimization/98144
4097 * df.h (df_mir_bb_info): Add con_visited member.
4098 * df-problems.c (df_mir_alloc): Initialize con_visited,
4099 do not fully populate IN and OUT.
4100 (df_mir_reset): Likewise.
4101 (df_mir_confluence_0): Set con_visited.
4102 (df_mir_confluence_n): Properly handle implicitely
4103 fully populated IN and OUT as designated by con_visited
4104 and update con_visited accordingly.
4105
4106 2021-01-29 Jakub Jelinek <jakub@redhat.com>
4107
4108 PR target/98849
4109 * config/arm/vec-common.md (mve_vshlq_<supf><mode>,
4110 vashl<mode>3, vashr<mode>3, vlshr<mode>3): Add
4111 && !TARGET_REALLY_IWMMXT to conditions.
4112
4113 2021-01-29 Jakub Jelinek <jakub@redhat.com>
4114
4115 PR debug/98331
4116 * cfgbuild.c (find_bb_boundaries): Reset debug_insn when seeing
4117 a BARRIER.
4118
4119 2021-01-28 Marek Polacek <polacek@redhat.com>
4120
4121 PR c++/94775
4122 * stor-layout.c (finalize_type_size): If we reset TYPE_USER_ALIGN in
4123 the main variant, maybe reset it in its variants too.
4124 * tree.c (check_base_type): Return true only if TYPE_USER_ALIGN match.
4125 (check_aligned_type): Check if TYPE_USER_ALIGN match.
4126
4127 2021-01-28 Christophe Lyon <christophe.lyon@linaro.org>
4128
4129 PR target/98730
4130 * config/arm/arm.c (arm_rtx_costs_internal): Adjust cost of vector
4131 of constant zero for comparisons.
4132
4133 2021-01-28 Michael Meissner <meissner@linux.ibm.com>
4134
4135 * config/rs6000/rs6000.c (rs6000_mangle_decl_assembler_name): Add
4136 support for mapping built-in function names for long double
4137 built-in functions if long double is IEEE 128-bit.
4138
4139 2021-01-28 Jonathan Wright <jonathan.wright@arm.com>
4140
4141 * config/aarch64/aarch64-simd-builtins.def: Add [su]mlsl_n
4142 builtin generator macros.
4143 * config/aarch64/aarch64-simd.md (aarch64_<su>mlsl_n<mode>):
4144 Define.
4145 * config/aarch64/arm_neon.h (vmlsl_n_s16): Use RTL builtin
4146 instead of inline asm.
4147 (vmlsl_n_s32): Likewise.
4148 (vmlsl_n_u16): Likewise.
4149 (vmlsl_n_u32): Likewise.
4150
4151 2021-01-28 Jonathan Wright <jonathan.wright@arm.com>
4152
4153 * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal_n
4154 builtin generator macros.
4155 * config/aarch64/aarch64-simd.md (aarch64_<su>mlal_n<mode>):
4156 Define.
4157 * config/aarch64/arm_neon.h (vmlal_n_s16): Use RTL builtin
4158 instead of inline asm.
4159 (vmlal_n_s32): Likewise.
4160 (vmlal_n_u16): Likewise.
4161 (vmlal_n_u32): Likewise.
4162
4163 2021-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4164
4165 * config/aarch64/aarch64-simd-builtins.def (shrn2): Define
4166 builtin.
4167 * config/aarch64/aarch64-simd.md (aarch64_shrn2<mode>_insn_le):
4168 Define.
4169 (aarch64_shrn2<mode>_insn_be): Likewise.
4170 (aarch64_shrn2<mode>): Likewise.
4171 * config/aarch64/arm_neon.h (vshrn_high_n_s16): Reimlplement
4172 using builtins.
4173 (vshrn_high_n_s32): Likewise.
4174 (vshrn_high_n_s64): Likewise.
4175 (vshrn_high_n_u16): Likewise.
4176 (vshrn_high_n_u32): Likewise.
4177 (vshrn_high_n_u64): Likewise.
4178
4179 2021-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4180
4181 * config/aarch64/aarch64-simd-builtins.def (shrn): Define
4182 builtin.
4183 * config/aarch64/aarch64-simd.md (aarch64_shrn<mode>_insn_le):
4184 Define.
4185 (aarch64_shrn<mode>_insn_be): Likewise.
4186 (aarch64_shrn<mode>): Likewise.
4187 * config/aarch64/arm_neon.h (vshrn_n_s16): Reimplement using
4188 builtins.
4189 (vshrn_n_s32): Likewise.
4190 (vshrn_n_s64): Likewise.
4191 (vshrn_n_u16): Likewise.
4192 (vshrn_n_u32): Likewise.
4193 (vshrn_n_u64): Likewise.
4194 * config/aarch64/iterators.md (vn_mode): New mode attribute.
4195
4196 2021-01-28 Richard Biener <rguenther@suse.de>
4197
4198 PR rtl-optimization/80960
4199 * dse.c (check_mem_read_rtx): Call get_addr on the
4200 offsetted address.
4201
4202 2021-01-28 Xionghu Luo <luoxhu@linux.ibm.com>
4203 David Edelsohn <dje.gcc@gmail.com>
4204
4205 PR target/98799
4206 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
4207 Don't generate VIEW_CONVERT_EXPR for fcode ALTIVEC_BUILTIN_VEC_INSERT
4208 when -m32.
4209 * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set_var):
4210 Delete.
4211 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Remove the
4212 wrapper call rs6000_expand_vector_set_var for cleanup. Call
4213 rs6000_expand_vector_set_var_p9 and rs6000_expand_vector_set_var_p8
4214 directly.
4215 (rs6000_expand_vector_set_var): Delete.
4216 (rs6000_expand_vector_set_var_p9): Make static.
4217 (rs6000_expand_vector_set_var_p8): Make static.
4218
4219 2021-01-28 Xing GUO <higuoxing@gmail.com>
4220
4221 * common/config/riscv/riscv-common.c
4222 (riscv_subset_list::parsing_subset_version): Fix -march option parsing
4223 when `p` extension exists.
4224
4225 2021-01-27 Vladimir N. Makarov <vmakarov@redhat.com>
4226
4227 PR rtl-optimization/97684
4228 * ira.c (ira): Call ira_set_pseudo_classes before
4229 update_equiv_regs when it is necessary.
4230
4231 2021-01-27 Jakub Jelinek <jakub@redhat.com>
4232
4233 PR target/98853
4234 * config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Use
4235 %w0, %w1 and %2 instead of %0, %1 and %2.
4236
4237 2021-01-27 Aaron Sawdey <acsawdey@linux.ibm.com>
4238
4239 * config/rs6000/genfusion.pl: New script to generate
4240 define_insn_and_split patterns so combine can arrange fused
4241 instructions next to each other.
4242 * config/rs6000/fusion.md: New file, generated fused instruction
4243 patterns for combine.
4244 * config/rs6000/predicates.md (const_m1_to_1_operand): New predicate.
4245 (non_update_memory_operand): New predicate.
4246 * config/rs6000/rs6000-cpus.def: Add OPTION_MASK_P10_FUSION and
4247 OPTION_MASK_P10_FUSION_LD_CMPI to ISA_3_1_MASKS_SERVER and
4248 POWERPC_MASKS.
4249 * config/rs6000/rs6000-protos.h (address_is_non_pfx_d_or_x): Add
4250 prototype.
4251 * config/rs6000/rs6000.c (rs6000_option_override_internal):
4252 Automatically set OPTION_MASK_P10_FUSION and
4253 OPTION_MASK_P10_FUSION_LD_CMPI if target is power10.
4254 (rs600_opt_masks): Allow -mpower10-fusion
4255 in function attributes.
4256 (address_is_non_pfx_d_or_x): New function.
4257 * config/rs6000/rs6000.h: Add MASK_P10_FUSION.
4258 * config/rs6000/rs6000.md: Include fusion.md.
4259 * config/rs6000/rs6000.opt: Add -mpower10-fusion
4260 and -mpower10-fusion-ld-cmpi.
4261 * config/rs6000/t-rs6000: Add dependencies involving fusion.md.
4262
4263 2021-01-27 Jonathan Wright <jonathan.wright@arm.com>
4264
4265 * config/aarch64/aarch64-simd-builtins.def: Add [su]mlal
4266 builtin generator macros.
4267 * config/aarch64/aarch64-simd.md (*aarch64_<su>mlal<mode>):
4268 Rename to...
4269 (aarch64_<su>mlal<mode>): This.
4270 * config/aarch64/arm_neon.h (vmlal_s8): Use RTL builtin
4271 instead of inline asm.
4272 (vmlal_s16): Likewise.
4273 (vmlal_s32): Likewise.
4274 (vmlal_u8): Likewise.
4275 (vmlal_u16): Likewise.
4276 (vmlal_u32): Likewise.
4277
4278 2021-01-27 Richard Biener <rguenther@suse.de>
4279
4280 PR tree-optimization/98854
4281 * tree-vect-slp.c (vect_build_slp_tree_2): Also build
4282 PHIs from scalars when the number of CTORs matches the
4283 number of children.
4284
4285 2021-01-27 Jonathan Wright <jonathan.wright@arm.com>
4286
4287 * config/aarch64/aarch64-simd-builtins.def: Add mls_n builtin
4288 generator macro.
4289 * config/aarch64/aarch64-simd.md (*aarch64_mls_elt_merge<mode>):
4290 Rename to...
4291 (aarch64_mls_n<mode>): This.
4292 * config/aarch64/arm_neon.h (vmls_n_s16): Use RTL builtin
4293 instead of asm.
4294 (vmls_n_s32): Likewise.
4295 (vmls_n_u16): Likewise.
4296 (vmls_n_u32): Likewise.
4297 (vmlsq_n_s16): Likewise.
4298 (vmlsq_n_s32): Likewise.
4299 (vmlsq_n_u16): Likewise.
4300 (vmlsq_n_u32): Likewise.
4301
4302 2021-01-27 Jonathan Wright <jonathan.wright@arm.com>
4303
4304 * config/aarch64/aarch64-simd-builtins.def: Add mls builtin
4305 generator macro.
4306 * config/aarch64/arm_neon.h (vmls_s8): Use RTL builtin rather
4307 than asm.
4308 (vmls_s16): Likewise.
4309 (vmls_s32): Likewise.
4310 (vmls_u8): Likewise.
4311 (vmls_u16): Likewise.
4312 (vmls_u32): Likewise.
4313 (vmlsq_s8): Likewise.
4314 (vmlsq_s16): Likewise.
4315 (vmlsq_s32): Likewise.
4316 (vmlsq_u8): Likewise.
4317 (vmlsq_u16): Likewise.
4318 (vmlsq_u32): Likewise.
4319
4320 2021-01-27 Jonathan Wright <jonathan.wright@arm.com>
4321
4322 * config/aarch64/aarch64-simd-builtins.def: Add mla_n builtin
4323 generator macro.
4324 * config/aarch64/aarch64-simd.md (*aarch64_mla_elt_merge<mode>):
4325 Rename to...
4326 (aarch64_mla_n<mode>): This.
4327 * config/aarch64/arm_neon.h (vmla_n_s16): Use RTL builtin
4328 instead of asm.
4329 (vmla_n_s32): Likewise.
4330 (vmla_n_u16): Likewise.
4331 (vmla_n_u32): Likewise.
4332 (vmlaq_n_s16): Likewise.
4333 (vmlaq_n_s32): Likewise.
4334 (vmlaq_n_u16): Likewise.
4335 (vmlaq_n_u32): Likewise.
4336
4337 2021-01-27 liuhongt <hongtao.liu@intel.com>
4338
4339 PR target/98833
4340 * config/i386/sse.md (sse2_gt<mode>3): Drop !TARGET_XOP in condition.
4341 (*sse2_eq<mode>3): Ditto.
4342
4343 2021-01-27 Jakub Jelinek <jakub@redhat.com>
4344
4345 * tree-pass.h (PROP_trees): Rename to ...
4346 (PROP_gimple): ... this.
4347 * cfgexpand.c (pass_data_expand): Replace PROP_trees with PROP_gimple.
4348 * passes.c (execute_function_dump, execute_function_todo,
4349 execute_one_ipa_transform_pass, execute_one_pass): Likewise.
4350 * varpool.c (ctor_for_folding): Likewise.
4351
4352 2021-01-27 Jakub Jelinek <jakub@redhat.com>
4353
4354 PR tree-optimization/97260
4355 * varpool.c: Include tree-pass.h.
4356 (ctor_for_folding): In GENERIC return DECL_INITIAL for TREE_READONLY
4357 non-TREE_SIDE_EFFECTS automatic variables.
4358
4359 2021-01-26 Paul Fee <paul.f.fee@gmail.com>
4360
4361 * doc/cpp.texi (__cplusplus): Document value for -std=c++23
4362 or -std=gnu++23.
4363 * doc/invoke.texi: Document -std=c++23 and -std=gnu++23.
4364 * dwarf2out.c (highest_c_language): Recognise C++20 and C++23.
4365 (gen_compile_unit_die): Recognise C++23.
4366
4367 2021-01-26 Jakub Jelinek <jakub@redhat.com>
4368
4369 PR bootstrap/98839
4370 * dwarf2asm.c (dw2_assemble_integer): Cast DWARF2_ADDR_SIZE to int
4371 in comparison.
4372
4373 2021-01-26 Jakub Jelinek <jakub@redhat.com>
4374
4375 PR target/98681
4376 * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
4377 Use UINTVAL (shft_amnt) and UINTVAL (mask) instead of INTVAL (shft_amnt)
4378 and INTVAL (mask). Add && INTVAL (mask) > 0 condition.
4379
4380 2021-01-26 Richard Biener <rguenther@suse.de>
4381
4382 * gimple-pretty-print.c (dump_binary_rhs): Handle
4383 VEC_WIDEN_{PLUS,MINUS}_{LO,HI}_EXPR.
4384
4385 2021-01-26 Richard Biener <rguenther@suse.de>
4386
4387 PR middle-end/98726
4388 * tree.h (vector_cst_int_elt): Remove.
4389 * tree.c (vector_cst_int_elt): Use poly_wide_int for computations,
4390 make static.
4391
4392 2021-01-26 Andrew Stubbs <ams@codesourcery.com>
4393
4394 * config/gcn/gcn.c (gcn_expand_reduc_scalar): Use move instructions
4395 for V64DFmode min/max reductions.
4396
4397 2021-01-26 Jakub Jelinek <jakub@redhat.com>
4398
4399 * dwarf2asm.c (dw2_assemble_integer): Handle size twice as large
4400 as DWARF2_ADDR_SIZE if x is not a scalar int by emitting it as
4401 two halves, one with x and the other with const0_rtx, ordered
4402 depending on endianity.
4403
4404 2021-01-26 Alexandre Oliva <oliva@adacore.com>
4405
4406 * gimplify.c (gimplify_decl_expr): Skip asan marking calls for
4407 temporaries not seen in binding block, and not about to be
4408 added as gimple variables.
4409
4410 2021-01-25 Martin Sebor <msebor@redhat.com>
4411
4412 PR c++/98646
4413 * tree-ssa-ccp.c (pass_post_ipa_warn::execute): Adjust warning text.
4414
4415 2021-01-25 Martin Liska <mliska@suse.cz>
4416
4417 * value-prof.c (get_nth_most_common_value): Use %s instead
4418 of %qs string.
4419
4420 2021-01-25 Jakub Jelinek <jakub@redhat.com>
4421
4422 PR debug/98811
4423 * configure.ac (HAVE_AS_GDWARF_5_DEBUG_FLAG): Only define if
4424 readelf -wi is able to read the emitted .debug_info back.
4425 * configure: Regenerated.
4426
4427 2021-01-25 Martin Liska <mliska@suse.cz>
4428
4429 PR gcov-profile/98739
4430 * common.opt: Add missing sign symbol.
4431 * value-prof.c (get_nth_most_common_value): Restore handling
4432 of PROFILE_REPRODUCIBILITY_PARALLEL_RUNS and
4433 PROFILE_REPRODUCIBILITY_MULTITHREADED.
4434
4435 2021-01-25 Richard Biener <rguenther@suse.de>
4436
4437 PR middle-end/98807
4438 * tree.c (vector_element_bits): Always use precision of
4439 the element type for boolean vectors.
4440
4441 2021-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
4442
4443 * config/rtems.h (STARTFILE_SPEC): Remove qnolinkcmds.
4444 (ENDFILE_SPEC): Evaluate qnolinkcmds.
4445
4446 2021-01-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
4447
4448 * config/rtems.h (STARTFILE_SPEC): Remove nostdlib and
4449 nostartfiles handling since this is already done by
4450 LINK_COMMAND_SPEC. Evaluate qnolinkcmds.
4451 (ENDFILE_SPEC): Remove nostdlib and nostartfiles handling since this
4452 is already done by LINK_COMMAND_SPEC.
4453 (LIB_SPECS): Remove nostdlib and nodefaultlibs handling since
4454 this is already done by LINK_COMMAND_SPEC. Remove qnolinkcmds
4455 evaluation.
4456
4457 2021-01-25 Jakub Jelinek <jakub@redhat.com>
4458
4459 PR testsuite/98771
4460 * fold-const-call.c (host_size_t_cst_p): Renamed to ...
4461 (size_t_cst_p): ... this. Check and store unsigned HOST_WIDE_INT
4462 value rather than host size_t.
4463 (fold_const_call): Change type of s2 from size_t to
4464 unsigned HOST_WIDE_INT. Use size_t_cst_p instead of
4465 host_size_t_cst_p. For strncmp calls, pass MIN (s2, SIZE_MAX)
4466 instead of s2 as last argument.
4467
4468 2021-01-25 Tamar Christina <tamar.christina@arm.com>
4469
4470 * config/arm/iterators.md (rotsplit1, rotsplit2, conj_op, fcmac1,
4471 VCMLA_OP, VCMUL_OP): New.
4472 * config/arm/mve.md (mve_vcmlaq<mve_rot><mode>): Support vec_dup 0.
4473 * config/arm/neon.md (cmul<conj_op><mode>3): New.
4474 * config/arm/unspecs.md (UNSPEC_VCMLA_CONJ, UNSPEC_VCMLA180_CONJ,
4475 UNSPEC_VCMUL_CONJ): New.
4476 * config/arm/vec-common.md (cmul<conj_op><mode>3, arm_vcmla<rot><mode>,
4477 cml<fcmac1><conj_op><mode>4): New.
4478
4479 2021-01-23 Jakub Jelinek <jakub@redhat.com>
4480
4481 PR testsuite/97301
4482 * config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute.
4483
4484 2021-01-22 Jonathan Wright <jonathan.wright@arm.com>
4485
4486 * config/aarch64/aarch64-simd-builtins.def: Add mla builtin
4487 generator macro.
4488 * config/aarch64/arm_neon.h (vmla_s8): Use RTL builtin rather
4489 than asm.
4490 (vmla_s16): Likewise.
4491 (vmla_s32): Likewise.
4492 (vmla_u8): Likewise.
4493 (vmla_u16): Likewise.
4494 (vmla_u32): Likewise.
4495 (vmlaq_s8): Likewise.
4496 (vmlaq_s16): Likewise.
4497 (vmlaq_s32): Likewise.
4498 (vmlaq_u8): Likewise.
4499 (vmlaq_u16): Likewise.
4500 (vmlaq_u32): Likewise.
4501
4502 2021-01-22 David Malcolm <dmalcolm@redhat.com>
4503
4504 * doc/invoke.texi (GCC_EXTRA_DIAGNOSTIC_OUTPUT): Add @findex
4505 directive.
4506
4507 2021-01-22 Jakub Jelinek <jakub@redhat.com>
4508
4509 PR debug/98796
4510 * dwarf2out.c (output_file_names): For -gdwarf-5, if there are no
4511 filenames to emit, still emit the required 0 index directory and
4512 filename entries that match DW_AT_comp_dir and DW_AT_name of the
4513 compilation unit.
4514
4515 2021-01-22 Marek Polacek <polacek@redhat.com>
4516
4517 PR c++/98545
4518 * doc/invoke.texi: Update C++ ABI Version 15 description.
4519
4520 2021-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4521
4522 PR tree-optimization/98766
4523 * tree-ssa-math-opts.c (convert_mult_to_fma): Use maybe_le when
4524 comparing against type size with param_avoid_fma_max_bits.
4525
4526 2021-01-22 Richard Biener <rguenther@suse.de>
4527
4528 PR middle-end/98793
4529 * tree.c (vector_element_bits): Key single-bit bool vector on
4530 integer mode rather than not vector mode.
4531
4532 2021-01-22 Xionghu Luo <luoxhu@linux.ibm.com>
4533
4534 PR target/98093
4535 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
4536 Generate ARRAY_REF(VIEW_CONVERT_EXPR) for P8 and later
4537 platforms.
4538 * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): Update
4539 to call different path for P8 and P9.
4540 (rs6000_expand_vector_set_var_p9): New function.
4541 (rs6000_expand_vector_set_var_p8): New function.
4542
4543 2021-01-22 Xionghu Luo <luoxhu@linux.ibm.com>
4544
4545 PR target/79251
4546 PR target/98065
4547 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
4548 Ajdust variable index vec_insert from address dereference to
4549 ARRAY_REF(VIEW_CONVERT_EXPR) tree expression.
4550 * config/rs6000/rs6000-protos.h (rs6000_expand_vector_set_var):
4551 New declaration.
4552 * config/rs6000/rs6000.c (rs6000_expand_vector_set_var): New function.
4553
4554 2021-01-22 Martin Liska <mliska@suse.cz>
4555
4556 PR gcov-profile/98739
4557 * profile.c (compute_value_histograms): Drop time profile for
4558 -fprofile-reproducible=multithreaded.
4559
4560 2021-01-22 Nathan Sidwell <nathan@acm.org>
4561
4562 * gcc.c (process_command): Don't check OPT_SPECIAL_input_file
4563 existence here.
4564
4565 2021-01-22 Richard Biener <rguenther@suse.de>
4566
4567 PR middle-end/98773
4568 * tree-data-ref.c (initalize_matrix_A): Revert previous
4569 change, retaining failing on HOST_WIDE_INT_MIN CHREC_RIGHT.
4570
4571 2021-01-22 Jakub Jelinek <jakub@redhat.com>
4572
4573 PR tree-optimization/90248
4574 * match.pd (X cmp 0.0 ? 1.0 : -1.0 -> copysign(1, +-X),
4575 X cmp 0.0 ? -1.0 : +1.0 -> copysign(1, -+X)): Remove
4576 simplifications.
4577 (X * (X cmp 0.0 ? 1.0 : -1.0) -> +-abs(X),
4578 X * (X cmp 0.0 ? -1.0 : 1.0) -> +-abs(X)): New simplifications.
4579
4580 2021-01-22 Jakub Jelinek <jakub@redhat.com>
4581
4582 PR tree-optimization/98255
4583 * tree-dfa.c (get_ref_base_and_extent): For ARRAY_REFs, sign
4584 extend index - low_bound from sizetype's precision rather than index
4585 precision.
4586 (get_addr_base_and_unit_offset_1): Likewise.
4587 * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Likewise.
4588 * gimple-fold.c (fold_const_aggregate_ref_1): Likewise.
4589
4590 2021-01-22 Richard Biener <rguenther@suse.de>
4591
4592 PR tree-optimization/98786
4593 * tree-ssa-phiopt.c (factor_out_conditional_conversion): Avoid
4594 adding new uses of abnormals. Verify we deal with a conditional
4595 conversion.
4596
4597 2021-01-22 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4598
4599 PR target/98636
4600 * optc-save-gen.awk: Add arm_fp16_format to checked_options.
4601
4602 2021-01-22 liuhongt <hongtao.liu@intel.com>
4603
4604 PR target/96891
4605 PR target/98348
4606 * config/i386/sse.md (VI_128_256): New mode iterator.
4607 (*avx_cmp<mode>3_1, *avx_cmp<mode>3_2, *avx_cmp<mode>3_3,
4608 *avx_cmp<mode>3_4, *avx2_eq<mode>3, *avx2_pcmp<mode>3_1,
4609 *avx2_pcmp<mode>3_2, *avx2_gt<mode>3): New
4610 define_insn_and_split to lower avx512 vector comparison to avx
4611 version when dest is vector.
4612 (*<avx512>_cmp<mode>3,*<avx512>_cmp<mode>3,*<avx512>_ucmp<mode>3):
4613 define_insn_and_split for negating the comparison result.
4614 * config/i386/predicates.md (float_vector_all_ones_operand):
4615 New predicate.
4616 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
4617 general NOT operator without UNSPEC_MASKOP.
4618
4619 2021-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
4620
4621 PR rtl-optimization/98777
4622 * lra-int.h (lra_pmode_pseudo): New extern.
4623 * lra.c (lra_pmode_pseudo): New global.
4624 (lra): Set it up.
4625 * lra-eliminations.c (eliminate_regs_in_insn): Use it.
4626
4627 2021-01-21 Ilya Leoshkevich <iii@linux.ibm.com>
4628
4629 * fwprop.c (fwprop_propagation::classify_result): Allow
4630 (subreg (mem)) simplifications.
4631
4632 2021-01-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4633
4634 * config/aarch64/aarch64-simd.md (aarch64_sqdml<SBINQOPS:as>l<mode>):
4635 Split into...
4636 (aarch64_sqdmlal<mode>): ... This...
4637 (aarch64_sqdmlsl<mode>): ... And this.
4638 (aarch64_sqdml<SBINQOPS:as>l_lane<mode>): Split into...
4639 (aarch64_sqdmlal_lane<mode>): ... This...
4640 (aarch64_sqdmlsl_lane<mode>): ... And this.
4641 (aarch64_sqdml<SBINQOPS:as>l_laneq<mode>): Split into...
4642 (aarch64_sqdmlsl_laneq<mode>): ... This...
4643 (aarch64_sqdmlal_laneq<mode>): ... And this.
4644 (aarch64_sqdml<SBINQOPS:as>l_n<mode>): Split into...
4645 (aarch64_sqdmlsl_n<mode>): ... This...
4646 (aarch64_sqdmlal_n<mode>): ... And this.
4647 (aarch64_sqdml<SBINQOPS:as>l2<mode>_internal): Split into...
4648 (aarch64_sqdmlal2<mode>_internal): ... This...
4649 (aarch64_sqdmlsl2<mode>_internal): ... And this.
4650
4651 2021-01-21 Christophe Lyon <christophe.lyon@linaro.org>
4652
4653 * config/arm/arm_mve.h (__arm_vcmpneq_s8): Fix return type.
4654
4655 2021-01-21 Andrea Corallo <andrea.corallo@arm.com>
4656
4657 PR target/96372
4658 * doc/sourcebuild.texi (arm_thumb2_no_arm_v8_1_lob): Document.
4659
4660 2021-01-21 liuhongt <hongtao.liu@intel.com>
4661
4662 PR rtl-optimization/98694
4663 * regcprop.c (copy_value): If SRC had been assigned a mode
4664 narrower than the copy, we can't link DEST into the chain even
4665 they have same hard_regno_nregs(i.e. HImode/SImode in i386
4666 backend).
4667
4668 2021-01-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4669
4670 * config/aarch64/aarch64-simd.md (aarch64_get_lane<mode>):
4671 Convert to define_insn_and_split. Split into simple move when moving
4672 bottom element.
4673
4674 2021-01-20 Segher Boessenkool <segher@kernel.crashing.org>
4675
4676 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Change assert.
4677 Adjust comment. Simplify code.
4678
4679 2021-01-20 Jakub Jelinek <jakub@redhat.com>
4680
4681 PR debug/98765
4682 * dwarf2out.c (reset_indirect_string): Also reset indirect strings
4683 with DW_FORM_line_strp form.
4684 (prune_unused_types_update_strings): Don't add into debug_str_hash
4685 indirect strings with DW_FORM_line_strp form.
4686 (adjust_name_comp_dir): New function.
4687 (dwarf2out_finish): Call it on CU DIEs after resetting
4688 debug_line_str_hash.
4689
4690 2021-01-20 Vladimir N. Makarov <vmakarov@redhat.com>
4691
4692 PR rtl-optimization/98722
4693 * lra-eliminations.c (eliminate_regs_in_insn): Check that target
4694 has no 3-op add insn to transform insns containing two pluses.
4695
4696 2021-01-20 Richard Biener <rguenther@suse.de>
4697
4698 * hwint.h (add_hwi): New function.
4699 (mul_hwi): Likewise.
4700 * tree-data-ref.c (initialize_matrix_A): Properly translate
4701 tree constants and avoid HOST_WIDE_INT_MIN.
4702 (lambda_matrix_row_add): Avoid undefined integer overflow
4703 and return true on such overflow.
4704 (lambda_matrix_right_hermite): Handle overflow from
4705 lambda_matrix_row_add gracefully. Simplify previous fix.
4706 (analyze_subscript_affine_affine): Likewise.
4707
4708 2021-01-20 Eugene Rozenfeld <erozen@microsoft.com>
4709
4710 PR tree-optimization/96674
4711 * match.pd: New patterns: x < y || y == XXX_MIN --> x <= y - 1
4712 x >= y && y != XXX_MIN --> x > y - 1
4713
4714 2021-01-20 Richard Sandiford <richard.sandiford@arm.com>
4715
4716 PR tree-optimization/98535
4717 * tree-vect-slp.c (duplicate_and_interleave): Use quick_grow_cleared.
4718 If the high and low permutes are the same, remove the high permutes
4719 from the working set and only continue with the low ones.
4720
4721 2021-01-20 Jakub Jelinek <jakub@redhat.com>
4722
4723 PR tree-optimization/98721
4724 * builtins.c (access_ref::inform_access): Don't assume
4725 SSA_NAME_IDENTIFIER must be non-NULL. Print messages about
4726 object whenever allocfn is NULL, rather than only when DECL_P
4727 is true. Use %qE instead of %qD for that. Formatting fixes.
4728
4729 2021-01-20 Richard Biener <rguenther@suse.de>
4730
4731 PR tree-optimization/98758
4732 * tree-data-ref.c (int_divides_p): Use lambda_int arguments.
4733 (lambda_matrix_right_hermite): Avoid undefinedness with
4734 signed integer abs and multiplication.
4735 (analyze_subscript_affine_affine): Use lambda_int.
4736
4737 2021-01-20 David Malcolm <dmalcolm@redhat.com>
4738
4739 PR debug/98751
4740 * dwarf2out.c (output_line_info): Rename static variable
4741 "generation", moving it out of the function to...
4742 (output_line_info_generation): New.
4743 (init_sections_and_labels): Likewise, renaming the variable to...
4744 (init_sections_and_labels_generation): New.
4745 (dwarf2out_c_finalize): Reset the new variables.
4746
4747 2021-01-19 Martin Sebor <msebor@redhat.com>
4748
4749 PR middle-end/98664
4750 * tree-ssa-live.c (remove_unused_scope_block_p): Keep scopes for
4751 all functions, even if they're not declared artificial or inline.
4752 * tree.c (tree_inlined_location): Use macro expansion location
4753 only if scope traversal fails to expose one.
4754
4755 2021-01-19 Richard Sandiford <richard.sandiford@arm.com>
4756
4757 PR rtl-optimization/92294
4758 * alias.c (compare_base_symbol_refs): Take an extra parameter
4759 and add the distance between two symbols to it. Enshrine in
4760 comments that -1 means "either 0 or 1, but we can't tell
4761 which at compile time".
4762 (memrefs_conflict_p): Update call accordingly.
4763 (rtx_equal_for_memref_p): Likewise. Take the distance between symbols
4764 into account.
4765
4766 2021-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4767
4768 * config/aarch64/aarch64-simd-builtins.def (sqshl, uqshl,
4769 sqrshl, uqrshl, sqadd, uqadd, sqsub, uqsub, suqadd, usqadd, sqmovn,
4770 uqmovn, sqxtn2, uqxtn2, sqabs, sqneg, sqdmlal, sqdmlsl, sqdmlal_lane,
4771 sqdmlsl_lane, sqdmlal_laneq, sqdmlsl_laneq, sqdmlal_n, sqdmlsl_n,
4772 sqdmlal2, sqdmlsl2, sqdmlal2_lane, sqdmlsl2_lane, sqdmlal2_laneq,
4773 sqdmlsl2_laneq, sqdmlal2_n, sqdmlsl2_n, sqdmull, sqdmull_lane,
4774 sqdmull_laneq, sqdmull_n, sqdmull2, sqdmull2_lane, sqdmull2_laneq,
4775 sqdmull2_n, sqdmulh, sqrdmulh, sqdmulh_lane, sqdmulh_laneq,
4776 sqrdmulh_lane, sqrdmulh_laneq, sqshrun_n, sqrshrun_n, sqshrn_n,
4777 uqshrn_n, sqrshrn_n, uqrshrn_n, sqshlu_n, sqshl_n, uqshl_n, sqrdmlah,
4778 sqrdmlsh, sqrdmlah_lane, sqrdmlsh_lane, sqrdmlah_laneq, sqrdmlsh_laneq,
4779 sqmovun): Use NONE flags.
4780
4781 2021-01-19 Richard Biener <rguenther@suse.de>
4782
4783 PR ipa/98330
4784 * ipa-modref.c (analyze_stmt): Only record a summary for a
4785 direct call.
4786
4787 2021-01-19 Richard Biener <rguenther@suse.de>
4788
4789 PR middle-end/98638
4790 * tree-ssanames.c (fini_ssanames): Zero SSA_NAME_DEF_STMT.
4791
4792 2021-01-19 Daniel Hellstrom <daniel@gaisler.com>
4793
4794 * config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
4795 built-in define __FIX_LEON3FT_TN0018.
4796
4797 2021-01-19 Richard Biener <rguenther@suse.de>
4798
4799 PR ipa/97673
4800 * tree-inline.c (tree_function_versioning): Set input_location
4801 to UNKNOWN_LOCATION throughout the function.
4802
4803 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
4804
4805 PR fortran/98476
4806 * omp-low.c (lower_omp_target): Handle nonpointer is_device_ptr.
4807
4808 2021-01-19 Martin Jambor <mjambor@suse.cz>
4809
4810 PR ipa/98690
4811 * ipa-sra.c (ssa_name_only_returned_p): New parameter fun. Check
4812 whether non-call exceptions allow removal of a statement.
4813 (isra_analyze_call): Pass the appropriate function to
4814 ssa_name_only_returned_p.
4815
4816 2021-01-19 Geng Qi <gengqi@linux.alibaba.com>
4817
4818 * config/riscv/arch-canonicalize (longext_sort): New function for
4819 sorting 'multi-letter'.
4820 * config/riscv/multilib-generator: Adjusting the loop of 'alt' in
4821 'alts'. The 'arch' may not be the first of 'alts'.
4822 (_expand_combination): Add underline for the 'ext' without '*'.
4823 This is because, a single-letter extension can always be treated well
4824 with a '_' prefix, but it cannot be separated out if it is appended
4825 to a multi-letter.
4826
4827 2021-01-18 Vladimir N. Makarov <vmakarov@redhat.com>
4828
4829 PR target/97847
4830 * ira.c (ira): Skip abnormal critical edge splitting.
4831
4832 2021-01-18 Jakub Jelinek <jakub@redhat.com>
4833
4834 PR tree-optimization/98727
4835 * tree-ssa-math-opts.c (match_arith_overflow): Fix up computation of
4836 second .MUL_OVERFLOW operand for signed multiplication with overflow
4837 checking if the second operand of multiplication is not constant.
4838
4839 2021-01-18 David Edelsohn <dje.gcc@gmail.com>
4840
4841 * doc/invoke.texi (-gdwarf): TPF defaults to version 2 and AIX
4842 defaults to version 4.
4843
4844 2021-01-18 David Malcolm <dmalcolm@redhat.com>
4845
4846 * attribs.h (fndecl_dealloc_argno): New decl.
4847 * builtins.c (call_dealloc_argno): Split out second half of
4848 function into...
4849 (fndecl_dealloc_argno): New.
4850 * doc/extend.texi (Common Function Attributes): Document the
4851 interaction between the analyzer and the malloc attribute.
4852 * doc/invoke.texi (Static Analyzer Options): Likewise.
4853
4854 2021-01-17 David Edelsohn <dje.gcc@gmail.com>
4855
4856 * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
4857 dwarf_version to 4.
4858 * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
4859
4860 2021-01-17 Martin Jambor <mjambor@suse.cz>
4861
4862 PR ipa/98222
4863 * cgraph.c (clone_of_p): Check also former_clone_of as we climb
4864 the clone tree.
4865
4866 2021-01-17 Mark Wielaard <mark@klomp.org>
4867
4868 * common.opt (gdwarf-): Init(5).
4869 * doc/invoke.texi (-gdwarf): Document default to 5.
4870
4871 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4872
4873 * builtin-types.def
4874 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
4875 to...
4876 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
4877 ...this. Add extra argument.
4878 * gimplify.c (omp_default_clause): Ensure that event handle is
4879 firstprivate in a task region.
4880 (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DETACH.
4881 (gimplify_adjust_omp_clauses): Likewise.
4882 * omp-builtins.def (BUILT_IN_GOMP_TASK): Change function type to
4883 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR.
4884 * omp-expand.c (expand_task_call): Add GOMP_TASK_FLAG_DETACH to flags
4885 if detach clause specified. Add detach argument when generating
4886 call to GOMP_task.
4887 * omp-low.c (scan_sharing_clauses): Setup data environment for detach
4888 clause.
4889 (finish_taskreg_scan): Move field for variable containing the event
4890 handle to the front of the struct.
4891 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DETACH. Fix
4892 ordering.
4893 * tree-nested.c (convert_nonlocal_omp_clauses): Handle
4894 OMP_CLAUSE_DETACH clause.
4895 (convert_local_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
4896 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_DETACH.
4897 * tree.c (omp_clause_num_ops): Add entry for OMP_CLAUSE_DETACH.
4898 Fix ordering.
4899 (omp_clause_code_name): Add entry for OMP_CLAUSE_DETACH. Fix
4900 ordering.
4901 (walk_tree_1): Handle OMP_CLAUSE_DETACH.
4902
4903 2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
4904
4905 * config/nios2/t-rtems: Reset all MULTILIB_* variables. Shorten
4906 multilib directory names. Use MULTILIB_REQUIRED instead of
4907 MULTILIB_EXCEPTIONS. Add -mhw-mul -mhw-mulx -mhw-div
4908 -mcustom-fpu-cfg=fph2 multilib.
4909
4910 2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
4911
4912 * config/nios2/nios2.c (NIOS2_FPU_CONFIG_NUM): Adjust value.
4913 (nios2_init_fpu_configs): Provide register values for new
4914 -mcustom-fpu-cfg=fph2 option variant.
4915 * doc/invoke.texi (-mcustom-fpu-cfg=fph2): Document new option
4916 variant.
4917
4918 2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
4919
4920 * config/nios2/nios2.c (nios2_custom_check_insns): Remove
4921 custom instruction warnings.
4922
4923 2021-01-16 Jakub Jelinek <jakub@redhat.com>
4924
4925 PR tree-optimization/96669
4926 * match.pd ((CST << x) & 1 -> x == 0): New simplification.
4927
4928 2021-01-16 Jakub Jelinek <jakub@redhat.com>
4929
4930 PR tree-optimization/96271
4931 * passes.def: Pass false argument to first two pass_cd_dce
4932 instances and true to last instance. Add comment that
4933 last instance rewrites no longer addressed locals.
4934 * tree-ssa-dce.c (pass_cd_dce): Add update_address_taken_p member and
4935 initialize it.
4936 (pass_cd_dce::set_pass_param): New method.
4937 (pass_cd_dce::execute): Return TODO_update_address_taken from
4938 last cd_dce instance.
4939
4940 2021-01-15 Carl Love <cel@us.ibm.com>
4941
4942 * config/rs6000/altivec.h (vec_mulh, vec_div, vec_dive, vec_mod):
4943 New defines.
4944 * config/rs6000/altivec.md (VIlong): Move define to file vsx.md.
4945 * config/rs6000/rs6000-builtin.def (DIVES_V4SI, DIVES_V2DI,
4946 DIVEU_V4SI, DIVEU_V2DI, DIVS_V4SI, DIVS_V2DI, DIVU_V4SI,
4947 DIVU_V2DI, MODS_V2DI, MODS_V4SI, MODU_V2DI, MODU_V4SI,
4948 MULHS_V2DI, MULHS_V4SI, MULHU_V2DI, MULHU_V4SI, MULLD_V2DI):
4949 Add builtin define.
4950 (MULH, DIVE, MOD): Add new BU_P10_OVERLOAD_2 definitions.
4951 * config/rs6000/rs6000-call.c (VSX_BUILTIN_VEC_DIV,
4952 VSX_BUILTIN_VEC_DIVE, P10_BUILTIN_VEC_MOD, P10_BUILTIN_VEC_MULH):
4953 New overloaded definitions.
4954 (builtin_function_type) [P10V_BUILTIN_DIVEU_V4SI,
4955 P10V_BUILTIN_DIVEU_V2DI, P10V_BUILTIN_DIVU_V4SI,
4956 P10V_BUILTIN_DIVU_V2DI, P10V_BUILTIN_MODU_V2DI,
4957 P10V_BUILTIN_MODU_V4SI, P10V_BUILTIN_MULHU_V2DI,
4958 P10V_BUILTIN_MULHU_V4SI]: Add case
4959 statement for builtins.
4960 * config/rs6000/rs6000.md (bits): Add new attribute sizes V4SI, V2DI.
4961 * config/rs6000/vsx.md (VIlong): Moved from config/rs6000/altivec.md.
4962 (UNSPEC_VDIVES, UNSPEC_VDIVEU): New unspec definitions.
4963 (vsx_mul_v2di): Add if TARGET_POWER10 statement.
4964 (vsx_udiv_v2di): Add if TARGET_POWER10 statement.
4965 (dives_<mode>, diveu_<mode>, div<mode>3, uvdiv<mode>3,
4966 mods_<mode>, modu_<mode>, mulhs_<mode>, mulhu_<mode>, mulv2di3):
4967 Add define_insn, mode is VIlong.
4968 * doc/extend.texi (vec_mulh, vec_mul, vec_div, vec_dive, vec_mod):
4969 Add builtin descriptions.
4970
4971 2021-01-15 Eric Botcazou <ebotcazou@adacore.com>
4972
4973 * final.c (final_start_function_1): Reset force_source_line.
4974
4975 2021-01-15 Jakub Jelinek <jakub@redhat.com>
4976
4977 PR tree-optimization/96669
4978 * match.pd (((1 << A) & 1) != 0 -> A == 0,
4979 ((1 << A) & 1) == 0 -> A != 0): Generalize for 1s replaced by
4980 possibly different power of two constants and to right shift too.
4981
4982 2021-01-15 Jakub Jelinek <jakub@redhat.com>
4983
4984 PR tree-optimization/96681
4985 * match.pd ((x < 0) ^ (y < 0) to (x ^ y) < 0): New simplification.
4986 ((x >= 0) ^ (y >= 0) to (x ^ y) < 0): Likewise.
4987 ((x < 0) ^ (y >= 0) to (x ^ y) >= 0): Likewise.
4988 ((x >= 0) ^ (y < 0) to (x ^ y) >= 0): Likewise.
4989
4990 2021-01-15 Alexandre Oliva <oliva@adacore.com>
4991
4992 * opts.c (gen_command_line_string): Exclude -dumpbase-ext.
4993
4994 2021-01-15 Tamar Christina <tamar.christina@arm.com>
4995
4996 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4,
4997 cmul<conj_op><mode>3): New.
4998 * config/aarch64/iterators.md (UNSPEC_FCMUL,
4999 UNSPEC_FCMUL180, UNSPEC_FCMLA_CONJ, UNSPEC_FCMLA180_CONJ,
5000 UNSPEC_CMLA_CONJ, UNSPEC_CMLA180_CONJ, UNSPEC_CMUL, UNSPEC_CMUL180,
5001 FCMLA_OP, FCMUL_OP, conj_op, rotsplit1, rotsplit2, fcmac1, sve_rot1,
5002 sve_rot2, SVE2_INT_CMLA_OP, SVE2_INT_CMUL_OP, SVE2_INT_CADD_OP): New.
5003 (rot): Add UNSPEC_FCMUL, UNSPEC_FCMUL180.
5004 (rot_op): Renamed to conj_op.
5005 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4,
5006 cmul<conj_op><mode>3): New.
5007 * config/aarch64/aarch64-sve2.md (cml<fcmac1><conj_op><mode>4,
5008 cmul<conj_op><mode>3): New.
5009
5010 2021-01-15 David Malcolm <dmalcolm@redhat.com>
5011
5012 PR bootstrap/98696
5013 * diagnostic.c
5014 (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
5015 Escape the tempfile name when constructing the expected output.
5016
5017 2021-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5018
5019 * config/aarch64/aarch64-simd.md (*aarch64_<su>mlsl_hi<mode>):
5020 Rename to...
5021 (aarch64_<su>mlsl_hi<mode>): ... This.
5022 (aarch64_<su>mlsl_hi<mode>): Define.
5023 (*aarch64_<su>mlsl<mode): Rename to...
5024 (aarch64_<su>mlsl<mode): ... This.
5025 * config/aarch64/aarch64-simd-builtins.def (smlsl, umlsl,
5026 smlsl_hi, umlsl_hi): Define builtins.
5027 * config/aarch64/arm_neon.h (vmlsl_high_s8, vmlsl_high_s16,
5028 vmlsl_high_s32, vmlsl_high_u8, vmlsl_high_u16, vmlsl_high_u32,
5029 vmlsl_s8, vmlsl_s16, vmlsl_s32, vmlsl_u8,
5030 vmlsl_u16, vmlsl_u32): Reimplement with builtins.
5031
5032 2021-01-15 Uroš Bizjak <ubizjak@gmail.com>
5033
5034 * config/i386/i386-c.c (ix86_target_macros):
5035 Use cpp_define_formatted for __SIZEOF_FLOAT80__ definition.
5036
5037 2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
5038
5039 PR target/88836
5040 * config.gcc (aarch64*-*-*): Add aarch64-cc-fusion.o to extra_objs.
5041 * Makefile.in (RTL_SSA_H): New variable.
5042 * config/aarch64/t-aarch64 (aarch64-cc-fusion.o): New rule.
5043 * config/aarch64/aarch64-protos.h (make_pass_cc_fusion): Declare.
5044 * config/aarch64/aarch64-passes.def: Add pass_cc_fusion after
5045 pass_combine.
5046 * config/aarch64/aarch64-cc-fusion.cc: New file.
5047
5048 2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
5049
5050 * recog.h (insn_change_watermark::~insn_change_watermark): Avoid
5051 calling cancel_changes for changes that no longer exist.
5052
5053 2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
5054
5055 * rtl-ssa/functions.h (function_info::ref_defs): Rename to...
5056 (function_info::reg_defs): ...this.
5057 * rtl-ssa/member-fns.inl (function_info::ref_defs): Rename to...
5058 (function_info::reg_defs): ...this.
5059
5060 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
5061
5062 PR target/71233
5063 * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
5064
5065 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
5066
5067 Revert:
5068 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
5069
5070 PR target/71233
5071 * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
5072
5073 2021-01-15 Richard Biener <rguenther@suse.de>
5074
5075 PR tree-optimization/96376
5076 * tree-vect-stmts.c (get_load_store_type): Disregard alignment
5077 for VMAT_INVARIANT.
5078
5079 2021-01-15 Martin Liska <mliska@suse.cz>
5080
5081 * doc/install.texi: Document that some tests need pytest module.
5082 * doc/sourcebuild.texi: Likewise.
5083
5084 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
5085
5086 PR target/71233
5087 * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
5088
5089 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
5090
5091 * config/arm/mve.md (mve_vshrq_n_s<mode>_imm): New entry.
5092 (mve_vshrq_n_u<mode>_imm): Likewise.
5093 * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Move to ...
5094 * config/arm/vec-common.md: ... here.
5095
5096 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
5097
5098 * config/arm/mve.md (mve_vshlq_<supf><mode>): Move to
5099 vec-commond.md.
5100 * config/arm/neon.md (vashl<mode>3): Delete.
5101 * config/arm/vec-common.md (mve_vshlq_<supf><mode>): New.
5102 (vasl<mode>3): New expander.
5103
5104 2021-01-15 Richard Biener <rguenther@suse.de>
5105
5106 PR tree-optimization/98685
5107 * tree-vect-slp.c (vect_schedule_slp_node): Refactor handling
5108 of vector extern defs.
5109
5110 2021-01-14 David Malcolm <dmalcolm@redhat.com>
5111
5112 PR jit/98586
5113 * diagnostic.c (diagnostic_kind_text): Break out this array
5114 from...
5115 (diagnostic_build_prefix): ...here.
5116 (fancy_abort): Detect when diagnostic_initialize has not yet been
5117 called and fall back to a minimal implementation of printing the
5118 ICE, rather than segfaulting in internal_error.
5119
5120 2021-01-14 David Malcolm <dmalcolm@redhat.com>
5121
5122 * diagnostic.c (diagnostic_initialize): Eliminate
5123 parseable_fixits_p in favor of initializing extra_output_kind from
5124 GCC_EXTRA_DIAGNOSTIC_OUTPUT.
5125 (convert_column_unit): New function, split out from...
5126 (diagnostic_converted_column): ...this.
5127 (print_parseable_fixits): Add "column_unit" and "tabstop" params.
5128 Use them to call convert_column_unit on the column values.
5129 (diagnostic_report_diagnostic): Eliminate conditional on
5130 parseable_fixits_p in favor of a switch statement on
5131 extra_output_kind, passing the appropriate values to the new
5132 params of print_parseable_fixits.
5133 (selftest::test_print_parseable_fixits_none): Update for new
5134 params of print_parseable_fixits.
5135 (selftest::test_print_parseable_fixits_insert): Likewise.
5136 (selftest::test_print_parseable_fixits_remove): Likewise.
5137 (selftest::test_print_parseable_fixits_replace): Likewise.
5138 (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
5139 New.
5140 (selftest::diagnostic_c_tests): Call it.
5141 * diagnostic.h (enum diagnostics_extra_output_kind): New.
5142 (diagnostic_context::parseable_fixits_p): Delete field in favor
5143 of...
5144 (diagnostic_context::extra_output_kind): ...this new field.
5145 * doc/invoke.texi (Environment Variables): Add
5146 GCC_EXTRA_DIAGNOSTIC_OUTPUT.
5147 * opts.c (common_handle_option): Update handling of
5148 OPT_fdiagnostics_parseable_fixits for change to diagnostic_context
5149 fields.
5150
5151 2021-01-14 Tamar Christina <tamar.christina@arm.com>
5152
5153 * tree-vect-slp-patterns.c (class complex_operations_pattern,
5154 complex_operations_pattern::matches,
5155 complex_operations_pattern::recognize,
5156 complex_operations_pattern::build): New.
5157 (slp_patterns): Use it.
5158
5159 2021-01-14 Tamar Christina <tamar.christina@arm.com>
5160
5161 * internal-fn.def (COMPLEX_FMS, COMPLEX_FMS_CONJ): New.
5162 * optabs.def (cmls_optab, cmls_conj_optab): New.
5163 * doc/md.texi: Document them.
5164 * tree-vect-slp-patterns.c (class complex_fms_pattern,
5165 complex_fms_pattern::matches, complex_fms_pattern::recognize,
5166 complex_fms_pattern::build): New.
5167
5168 2021-01-14 Tamar Christina <tamar.christina@arm.com>
5169
5170 * internal-fn.def (COMPLEX_FMA, COMPLEX_FMA_CONJ): New.
5171 * optabs.def (cmla_optab, cmla_conj_optab): New.
5172 * doc/md.texi: Document them.
5173 * tree-vect-slp-patterns.c (vect_match_call_p,
5174 class complex_fma_pattern, vect_slp_reset_pattern,
5175 complex_fma_pattern::matches, complex_fma_pattern::recognize,
5176 complex_fma_pattern::build): New.
5177
5178 2021-01-14 Tamar Christina <tamar.christina@arm.com>
5179
5180 * internal-fn.def (COMPLEX_MUL, COMPLEX_MUL_CONJ): New.
5181 * optabs.def (cmul_optab, cmul_conj_optab): New.
5182 * doc/md.texi: Document them.
5183 * tree-vect-slp-patterns.c (vect_match_call_complex_mla,
5184 vect_normalize_conj_loc, is_eq_or_top, vect_validate_multiplication,
5185 vect_build_combine_node, class complex_mul_pattern,
5186 complex_mul_pattern::matches, complex_mul_pattern::recognize,
5187 complex_mul_pattern::build): New.
5188
5189 2021-01-14 Tamar Christina <tamar.christina@arm.com>
5190
5191 * tree-vect-slp.c (optimize_load_redistribution_1): New.
5192 (optimize_load_redistribution, vect_is_slp_load_node): New.
5193 (vect_match_slp_patterns): Use it.
5194
5195 2021-01-14 Tamar Christina <tamar.christina@arm.com>
5196
5197 * tree-vect-slp-patterns.c (complex_add_pattern::build):
5198 Elide nodes.
5199
5200 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
5201
5202 * config/gcn/mkoffload.c (main): Create an offload image only in
5203 64-bit configurations.
5204
5205 2021-01-14 H.J. Lu <hjl.tools@gmail.com>
5206
5207 PR target/98667
5208 * config/i386/i386-options.c (ix86_option_override_internal):
5209 Issue an error for -fcf-protection with CF_BRANCH when compiling
5210 for 32-bit non-TARGET_CMOV targets.
5211
5212 2021-01-14 Uroš Bizjak <ubizjak@gmail.com>
5213
5214 PR target/98671
5215 * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
5216 Remove declaration and initialization of shadow variable "ret".
5217 (ix86_option_override_internal): Remove delcaration of
5218 shadow variable "i". Redeclare shadowed variable to unsigned.
5219 * common/config/i386/i386-common.c (pta_size): Redeclare to unsigned.
5220 * config/i386/i386-builtins.c (get_builtin_code_for_version):
5221 Update for redeclaration.
5222 * config/i386/i386.h (pta_size): Ditto.
5223
5224 2021-01-14 Richard Biener <rguenther@suse.de>
5225
5226 PR tree-optimization/98674
5227 * tree-data-ref.c (base_supports_access_fn_components_p): New.
5228 (initialize_data_dependence_relation): For two bases without
5229 possible access fns resort to type size equality when determining
5230 shape compatibility.
5231
5232 2021-01-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
5233
5234 PR target/66791
5235 * config/arm/arm_neon.h: Replace calls to __builtin_vcge* by
5236 <=, >= operators in vcle and vcge intrinsics respectively.
5237 * config/arm/arm_neon_builtins.def: Remove entry for
5238 vcge and vcgeu.
5239
5240 2021-01-14 Uroš Bizjak <ubizjak@gmail.com>
5241
5242 PR target/98671
5243 * config/i386/i386-options.c (ix86_function_specific_save):
5244 Remove redundant assignment to opts->x_ix86_branch_cost.
5245 * config/i386/i386.c (ix86_prefetch_sse):
5246 Rename from x86_prefetch_sse. Update all uses.
5247 * config/i386/i386.h: Update for rename.
5248 * config/i386/i386-options.h: Ditto.
5249
5250 2021-01-14 Jakub Jelinek <jakub@redhat.com>
5251
5252 PR target/98670
5253 * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3,
5254 *sse4_1_zero_extendv4hiv4si2_3, *sse4_1_zero_extendv2siv2di2_3):
5255 Use Bm instead of m for non-avx. Add isa attribute.
5256
5257 2021-01-14 Jakub Jelinek <jakub@redhat.com>
5258
5259 PR tree-optimization/96688
5260 * match.pd (~(X >> Y) -> ~X >> Y): New simplification if
5261 ~X can be simplified.
5262
5263 2021-01-14 Richard Sandiford <richard.sandiford@arm.com>
5264
5265 * tree-vect-stmts.c (vect_model_load_cost): Account for unused
5266 IFN_LOAD_LANES results.
5267
5268 2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5269
5270 * config/aarch64/aarch64-simd.md (aarch64_<su>xtl<mode>):
5271 Define.
5272 (aarch64_xtn<mode>): Likewise.
5273 * config/aarch64/aarch64-simd-builtins.def (sxtl, uxtl, xtn):
5274 Define
5275 builtins.
5276 * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
5277 builtin.
5278 (vmovl_s16): Likewise.
5279 (vmovl_s32): Likewise.
5280 (vmovl_u8): Likewise.
5281 (vmovl_u16): Likewise.
5282 (vmovl_u32): Likewise.
5283 (vmovn_s16): Likewise.
5284 (vmovn_s32): Likewise.
5285 (vmovn_s64): Likewise.
5286 (vmovn_u16): Likewise.
5287 (vmovn_u32): Likewise.
5288 (vmovn_u64): Likewise.
5289
5290 2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5291
5292 * config/aarch64/aarch64-simd.md (aarch64_<su>qxtn2<mode>_le):
5293 Define.
5294 (aarch64_<su>qxtn2<mode>_be): Likewise.
5295 (aarch64_<su>qxtn2<mode>): Likewise.
5296 * config/aarch64/aarch64-simd-builtins.def (sqxtn2, uqxtn2):
5297 Define builtins.
5298 * config/aarch64/iterators.md (SAT_TRUNC): Define code_iterator.
5299 (su): Handle ss_truncate and us_truncate.
5300 * config/aarch64/arm_neon.h (vqmovn_high_s16): Reimplement using
5301 builtin.
5302 (vqmovn_high_s32): Likewise.
5303 (vqmovn_high_s64): Likewise.
5304 (vqmovn_high_u16): Likewise.
5305 (vqmovn_high_u32): Likewise.
5306 (vqmovn_high_u64): Likewise.
5307
5308 2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5309
5310 * config/aarch64/aarch64-simd.md (aarch64_xtn2<mode>_le):
5311 Define.
5312 (aarch64_xtn2<mode>_be): Likewise.
5313 (aarch64_xtn2<mode>): Likewise.
5314 * config/aarch64/aarch64-simd-builtins.def (xtn2): Define
5315 builtins.
5316 * config/aarch64/arm_neon.h (vmovn_high_s16): Reimplement using
5317 builtins.
5318 (vmovn_high_s32): Likewise.
5319 (vmovn_high_s64): Likewise.
5320 (vmovn_high_u16): Likewise.
5321 (vmovn_high_u32): Likewise.
5322 (vmovn_high_u64): Likewise.
5323
5324 2021-01-13 Stafford Horne <shorne@gmail.com>
5325
5326 * config/or1k/or1k.h (ASM_PREFERRED_EH_DATA_FORMAT): New macro.
5327
5328 2021-01-13 Stafford Horne <shorne@gmail.com>
5329
5330 * config/or1k/linux.h (TARGET_ASM_FILE_END): Define macro.
5331
5332 2021-01-13 Stafford Horne <shorne@gmail.com>
5333
5334 * config/or1k/or1k.h (TARGET_CPU_CPP_BUILTINS): Add builtin
5335 define for __or1k_hard_float__.
5336
5337 2021-01-13 Stafford Horne <shorne@gmail.com>
5338
5339 * config/or1k/or1k.h (NO_PROFILE_COUNTERS): Define as 1.
5340 (PROFILE_HOOK): Define to call _mcount.
5341 (FUNCTION_PROFILER): Change from abort to no-op.
5342
5343 2021-01-13 Jakub Jelinek <jakub@redhat.com>
5344
5345 PR tree-optimization/96691
5346 * match.pd ((~X | C) ^ D -> (X | C) ^ (~D ^ C),
5347 (~X & C) ^ D -> (X & C) ^ (D ^ C)): New simplifications if
5348 (~D ^ C) or (D ^ C) can be simplified.
5349
5350 2021-01-13 Richard Biener <rguenther@suse.de>
5351
5352 PR tree-optimization/92645
5353 * match.pd (BIT_FIELD_REF to conversion): Delay canonicalization
5354 until after vector lowering.
5355
5356 2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
5357
5358 * config/aarch64/aarch64-sve.md (fnma<mode>4): Extend from SVE_FULL_I
5359 to SVE_I.
5360 (@aarch64_pred_fnma<mode>, cond_fnma<mode>, *cond_fnma<mode>_2)
5361 (*cond_fnma<mode>_4, *cond_fnma<mode>_any): Likewise.
5362
5363 2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
5364
5365 * config/aarch64/aarch64-sve.md (fma<mode>4): Extend from SVE_FULL_I
5366 to SVE_I.
5367 (@aarch64_pred_fma<mode>, cond_fma<mode>, *cond_fma<mode>_2)
5368 (*cond_fma<mode>_4, *cond_fma<mode>_any): Likewise.
5369
5370 2021-01-13 Richard Biener <rguenther@suse.de>
5371
5372 PR tree-optimization/92645
5373 * tree-vect-slp.c (vect_build_slp_tree_1): Relax supported
5374 BIT_FIELD_REF argument.
5375 (vect_build_slp_tree_2): Record the desired vector type
5376 on the external vector def.
5377 (vectorizable_slp_permutation): Handle required punning
5378 of existing vector defs.
5379
5380 2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
5381
5382 * rtl-ssa/accesses.h (def_lookup): Fix order of comparison results.
5383
5384 2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
5385
5386 * config/sh/sh.md (movsf_ie): Remove operands[2] test.
5387
5388 2021-01-13 Samuel Thibault <samuel.thibault@ens-lyon.org>
5389
5390 * config.gcc [$target == *-*-gnu*]: Enable
5391 'default_gnu_indirect_function'.
5392
5393 2021-01-13 Jakub Jelinek <jakub@redhat.com>
5394
5395 PR target/95905
5396 * optabs.c (expand_vec_perm_const): Don't force v0 and v1 into
5397 registers before calling targetm.vectorize.vec_perm_const, only after
5398 that.
5399 * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): Handle
5400 two argument permutation when one operand is zero vector and only
5401 after that force operands into registers.
5402 * config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_1): New
5403 define_insn_and_split pattern.
5404 (*avx512bw_zero_extendv32qiv32hi2_1): Likewise.
5405 (*avx512f_zero_extendv16hiv16si2_1): Likewise.
5406 (*avx2_zero_extendv8hiv8si2_1): Likewise.
5407 (*avx512f_zero_extendv8siv8di2_1): Likewise.
5408 (*avx2_zero_extendv4siv4di2_1): Likewise.
5409 * config/mips/mips.c (mips_vectorize_vec_perm_const): Force operands
5410 into registers.
5411 * config/arm/arm.c (arm_vectorize_vec_perm_const): Likewise.
5412 * config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Likewise.
5413 * config/ia64/ia64.c (ia64_vectorize_vec_perm_const): Likewise.
5414 * config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const): Likewise.
5415 * config/rs6000/rs6000.c (rs6000_vectorize_vec_perm_const): Likewise.
5416 * config/gcn/gcn.c (gcn_vectorize_vec_perm_const): Likewise. Use std::swap.
5417
5418 2021-01-13 Martin Liska <mliska@suse.cz>
5419
5420 PR tree-optimization/98455
5421 * gimple-if-to-switch.cc (condition_info::record_phi_mapping):
5422 Record also virtual PHIs.
5423 (pass_if_to_switch::execute): Return TODO_cleanup_cfg only
5424 conditionally.
5425
5426 2021-01-13 Jonathan Wakely <jwakely@redhat.com>
5427
5428 * doc/invoke.texi (C++ Modules): Fix typos.
5429
5430 2021-01-13 Richard Biener <rguenther@suse.de>
5431
5432 PR tree-optimization/98640
5433 * tree-ssa-sccvn.c (visit_nary_op): Do not try to
5434 handle plus or minus from a truncated operand to be
5435 sign-extended.
5436
5437 2021-01-13 Jakub Jelinek <jakub@redhat.com>
5438
5439 PR target/96938
5440 * config/i386/i386.md (*btr<mode>_1, *btr<mode>_2): New
5441 define_insn_and_split patterns.
5442 (splitter after *btr<mode>_2): New splitter.
5443
5444 2021-01-13 Martin Liska <mliska@suse.cz>
5445
5446 PR ipa/98652
5447 * cgraphunit.c (analyze_functions): Remove dead code.
5448
5449 2021-01-13 Qian Jianhua <qianjh@cn.fujitsu.com>
5450
5451 * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New.
5452 * config/aarch64/aarch64.c (a64fx_addrcost_table): New.
5453 (a64fx_regmove_cost, a64fx_vector_cost): New.
5454 (a64fx_tunings): Use the new added cost tables.
5455
5456 2021-01-13 Jakub Jelinek <jakub@redhat.com>
5457
5458 PR target/95905
5459 * config/i386/predicates.md (pmovzx_parallel): New predicate.
5460 * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): New
5461 define_insn_and_split pattern.
5462 (*sse4_1_zero_extendv4hiv4si2_3): Likewise.
5463 (*sse4_1_zero_extendv2siv2di2_3): Likewise.
5464
5465 2021-01-13 Julian Brown <julian@codesourcery.com>
5466
5467 * config/gcn/gcn.c (gcn_conditional_register_usage): Remove dead code
5468 to fix v0 register.
5469
5470 2021-01-13 Julian Brown <julian@codesourcery.com>
5471
5472 * config/gcn/gcn.c (gcn_md_reorg): Fix case where EXEC reg is live
5473 on entry to a BB.
5474
5475 2021-01-13 Julian Brown <julian@codesourcery.com>
5476
5477 * config/gcn/gcn-valu.md (recip<mode>2<exec>, recip<mode>2): Use unspec
5478 for reciprocal-approximation instructions.
5479 (div<mode>3): Use fused multiply-accumulate operations for reciprocal
5480 refinement and division result.
5481 * config/gcn/gcn.md (UNSPEC_RCP): New unspec constant.
5482
5483 2021-01-13 Julian Brown <julian@codesourcery.com>
5484
5485 * config/gcn/gcn-valu.md (subdf): Rename to...
5486 (subdf3): This.
5487
5488 2021-01-12 Martin Liska <mliska@suse.cz>
5489
5490 * gcov.c (source_info::debug): Fix printf format for 32-bit hosts.
5491
5492 2021-01-12 Andrea Corallo <andrea.corallo@arm.com>
5493
5494 * function-abi.h: Fix typo.
5495
5496 2021-01-12 Christophe Lyon <christophe.lyon@linaro.org>
5497
5498 PR target/97875
5499 PR target/97875
5500 * config/arm/arm.h (ARM_HAVE_NEON_V8QI_LDST): New macro.
5501 (ARM_HAVE_NEON_V16QI_LDST, ARM_HAVE_NEON_V4HI_LDST): Likewise.
5502 (ARM_HAVE_NEON_V8HI_LDST, ARM_HAVE_NEON_V2SI_LDST): Likewise.
5503 (ARM_HAVE_NEON_V4SI_LDST, ARM_HAVE_NEON_V4HF_LDST): Likewise.
5504 (ARM_HAVE_NEON_V8HF_LDST, ARM_HAVE_NEON_V4BF_LDST): Likewise.
5505 (ARM_HAVE_NEON_V8BF_LDST, ARM_HAVE_NEON_V2SF_LDST): Likewise.
5506 (ARM_HAVE_NEON_V4SF_LDST, ARM_HAVE_NEON_DI_LDST): Likewise.
5507 (ARM_HAVE_NEON_V2DI_LDST): Likewise.
5508 (ARM_HAVE_V8QI_LDST, ARM_HAVE_V16QI_LDST): Likewise.
5509 (ARM_HAVE_V4HI_LDST, ARM_HAVE_V8HI_LDST): Likewise.
5510 (ARM_HAVE_V2SI_LDST, ARM_HAVE_V4SI_LDST, ARM_HAVE_V4HF_LDST): Likewise.
5511 (ARM_HAVE_V8HF_LDST, ARM_HAVE_V4BF_LDST, ARM_HAVE_V8BF_LDST): Likewise.
5512 (ARM_HAVE_V2SF_LDST, ARM_HAVE_V4SF_LDST, ARM_HAVE_DI_LDST): Likewise.
5513 (ARM_HAVE_V2DI_LDST): Likewise.
5514 * config/arm/mve.md (*movmisalign<mode>_mve_store): New pattern.
5515 (*movmisalign<mode>_mve_load): New pattern.
5516 * config/arm/neon.md (movmisalign<mode>): Move to ...
5517 * config/arm/vec-common.md: ... here.
5518
5519 2021-01-12 Vladimir N. Makarov <vmakarov@redhat.com>
5520
5521 PR target/97969
5522 * lra-eliminations.c (eliminate_regs_in_insn): Add transformation
5523 of pattern 'plus (plus (hard reg, const), pseudo)'.
5524
5525 2021-01-12 Richard Biener <rguenther@suse.de>
5526
5527 PR tree-optimization/98550
5528 * tree-vect-slp.c (vect_record_max_nunits): Check whether
5529 the group size is a multiple of the vector element count.
5530 (vect_build_slp_tree_1): When we need to fail because
5531 the vector type choosen causes unrolling do so lazily
5532 without affecting matches only at the end to guide group splitting.
5533
5534 2021-01-12 Martin Liska <mliska@suse.cz>
5535
5536 PR c++/97284
5537 * optc-save-gen.awk: Compare also n_target_save vars with
5538 strcmp.
5539
5540 2021-01-12 Martin Liska <mliska@suse.cz>
5541
5542 * gcov.c (source_info::debug): New.
5543 (print_usage): Add --debug (-D) option.
5544 (process_args): Likewise.
5545 (generate_results): Call src->debug after
5546 accumulate_line_counts.
5547 (read_graph_file): Properly assign id for EXIT_BLOCK.
5548 * profile.c (branch_prob): Dump function body before it is
5549 instrumented.
5550
5551 2021-01-12 Jakub Jelinek <jakub@redhat.com>
5552
5553 PR tree-optimization/98629
5554 * tree-ssa-math-opts.c (arith_overflow_check_p): Don't update use_stmt
5555 unless returning non-zero.
5556
5557 2021-01-12 Jakub Jelinek <jakub@redhat.com>
5558
5559 PR tree-optimization/95731
5560 * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Also optimize
5561 x < 0 && y < 0 && z < 0 into (x | y | z) < 0 for signed x, y, z.
5562 (optimize_range_tests): Call optimize_range_tests_cmp_bitwise
5563 only after optimize_range_tests_var_bound.
5564
5565 2021-01-12 Jakub Jelinek <jakub@redhat.com>
5566
5567 * configure.ac: Ensure c/Make-lang.in comes first in @all_lang_makefrags@.
5568 * configure: Regenerated.
5569
5570 2021-01-12 liuhongt <hongtao.liu@intel.com>
5571
5572 PR target/98612
5573 * config/i386/i386-builtins.h (BUILTIN_DESC_SWAP_OPERANDS):
5574 Deleted.
5575 * config/i386/i386-expand.c (ix86_expand_sse_comi): Delete
5576 dead code.
5577
5578 2021-01-12 Alexandre Oliva <oliva@adacore.com>
5579
5580 * ssa-iterators.h (end_imm_use_stmt_traverse): Forward
5581 declare.
5582 (auto_end_imm_use_stmt_traverse): New struct.
5583 (FOR_EACH_IMM_USE_STMT): Use it.
5584 (BREAK_FROM_IMM_USE_STMT, RETURN_FROM_IMM_USE_STMT): Remove,
5585 along with uses...
5586 * gimple-ssa-strength-reduction.c: ... here, ...
5587 * graphite-scop-detection.c: ... here, ...
5588 * ipa-modref.c, ipa-pure-const.c, ipa-sra.c: ... here, ...
5589 * tree-predcom.c, tree-ssa-ccp.c: ... here, ...
5590 * tree-ssa-dce.c, tree-ssa-dse.c: ... here, ...
5591 * tree-ssa-loop-ivopts.c, tree-ssa-math-opts.c: ... here, ...
5592 * tree-ssa-phiprop.c, tree-ssa.c: ... here, ...
5593 * tree-vect-slp.c: ... and here, ...
5594 * doc/tree-ssa.texi: ... and the example here.
5595
5596 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
5597
5598 * config/aarch64/aarch64-sve.md (sdiv_pow2<mode>3): Extend from
5599 SVE_FULL_I to SVE_I. Generate an UNSPEC_PRED_X.
5600 (*sdiv_pow2<mode>3): New pattern.
5601 (@cond_<sve_int_op><mode>): Extend from SVE_FULL_I to SVE_I.
5602 Wrap the ASRD in an UNSPEC_PRED_X.
5603 (*cond_<sve_int_op><mode>_2): Likewise. Replace the UNSPEC_PRED_X
5604 predicate with a constant PTRUE, if it isn't already.
5605 (*cond_<sve_int_op><mode>_z): Replace with...
5606 (*cond_<sve_int_op><mode>_any): ...this new pattern.
5607
5608 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
5609
5610 * config/aarch64/aarch64-sve.md (*cond_bic<mode>_2): Extend from
5611 SVE_FULL_I to SVE_I.
5612 (*cond_bic<mode>_any): Likewise.
5613
5614 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
5615
5616 * config/aarch64/aarch64-sve.md (<su>mul<mode>3_highpart)
5617 (@aarch64_pred_<MUL_HIGHPART:optab><mode>): Extend from SVE_FULL_I
5618 to SVE_I.
5619
5620 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
5621
5622 * config/aarch64/aarch64-sve.md (<su>abd<mode>_3): Extend from
5623 SVE_FULL_I to SVE_I.
5624 (*aarch64_cond_<su>abd<mode>_2): Likewise.
5625 (*aarch64_cond_<su>abd<mode>_any): Likewise.
5626 (@aarch64_pred_<su>abd<mode>): Likewise. Use UNSPEC_PRED_X
5627 for the max and min but not for the minus.
5628 (*aarch64_cond_<su>abd<mode>_3): New pattern.
5629
5630 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
5631
5632 * config/aarch64/iterators.md (SVE_24I): New iterator.
5633 * config/aarch64/aarch64-sve.md (*aarch64_adr<mode>_shift): Extend from
5634 SVE_FULL_SDI to SVE_24I. Use containers rather than elements.
5635
5636 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
5637
5638 * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_BINARY:optab><mode>)
5639 (*cond_<SVE_INT_BINARY:optab><mode>_2): Extend from SVE_FULL_I
5640 to SVE_I.
5641 (*cond_<SVE_INT_BINARY:optab><mode>_3): Likewise.
5642 (*cond_<SVE_INT_BINARY:optab><mode>_any): Likewise.
5643 (*cond_<SVE_INT_BINARY:optab><mode>_2_const): Likewise.
5644 (*cond_<SVE_INT_BINARY:optab><mode>_any_const): Likewise.
5645
5646 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
5647
5648 * config/aarch64/aarch64-sve.md (<SVE_INT_BINARY_IMM:optab><mode>3)
5649 (@aarch64_pred_<SVE_INT_BINARY_IMM:optab><mode>)
5650 (*post_ra_<SVE_INT_BINARY_IMM:optab><mode>3): Extend from SVE_FULL_I
5651 to SVE_I.
5652
5653 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
5654
5655 * config/aarch64/aarch64-sve.md (<ASHIFT:optab><mode>3)
5656 (v<ASHIFT:optab><mode>3, @aarch64_pred_<optab><mode>)
5657 (*post_ra_v<ASHIFT:optab><mode>3): Extend from SVE_FULL_I to SVE_I.
5658
5659 2021-01-11 Martin Liska <mliska@suse.cz>
5660
5661 PR jit/98615
5662 * symtab-clones.h (clone_info::release): Release
5663 symtab::m_clones with ggc_delete as it's a GGC memory.
5664
5665 2021-01-11 Matthias Klose <doko@ubuntu.com>
5666
5667 * Makefile.in (LINK_PROGRESS): Show the link target.
5668
5669 2021-01-11 Richard Biener <rguenther@suse.de>
5670
5671 PR tree-optimization/91403
5672 * tree-vect-data-refs.c (vect_analyze_group_access_1): Cap
5673 single-element interleaving group size at 4096 elements.
5674
5675 2021-01-11 Richard Biener <rguenther@suse.de>
5676
5677 PR tree-optimization/98526
5678 * tree-vect-loop.c (vect_model_reduction_cost): Remove costing
5679 of the actual reduction op for the regular case.
5680 (vectorizable_reduction): Cost the stmts
5681 vect_transform_reduction produces here.
5682
5683 2021-01-11 Andreas Krebbel <krebbel@linux.ibm.com>
5684
5685 * tree-ssa-forwprop.c (simplify_vector_constructor): For
5686 big-endian, use UNPACK[_FLOAT]_HI.
5687
5688 2021-01-11 Tamar Christina <tamar.christina@arm.com>
5689
5690 * tree-vect-slp-patterns.c (class complex_pattern,
5691 class complex_add_pattern): Add parameters to matches.
5692 (complex_add_pattern::build): Free memory.
5693 (complex_add_pattern::matches): Move validation end of match.
5694 (complex_add_pattern::recognize): Likewise.
5695
5696 2021-01-11 Tamar Christina <tamar.christina@arm.com>
5697
5698 * tree-vect-slp-patterns.c (linear_loads_p): Fix externals.
5699
5700 2021-01-11 Tamar Christina <tamar.christina@arm.com>
5701
5702 * tree-vect-slp-patterns.c (is_linear_load_p): Fix ambiguity.
5703
5704 2021-01-11 Jakub Jelinek <jakub@redhat.com>
5705
5706 PR tree-optimization/95867
5707 * tree-ssa-math-opts.h: New header.
5708 * tree-ssa-math-opts.c: Include tree-ssa-math-opts.h.
5709 (powi_as_mults): No longer static. Use build_one_cst instead of
5710 build_real. Formatting fix.
5711 * tree-ssa-reassoc.c: Include tree-ssa-math-opts.h.
5712 (attempt_builtin_powi): Handle multiplication reassociation without
5713 powi_fndecl using powi_as_mults.
5714 (reassociate_bb): For integral types don't require
5715 -funsafe-math-optimizations to call attempt_builtin_powi.
5716
5717 2021-01-11 Jakub Jelinek <jakub@redhat.com>
5718
5719 PR tree-optimization/95852
5720 * tree-ssa-math-opts.c (maybe_optimize_guarding_check): Change
5721 mul_stmts parameter type to vec<gimple *> &. Before cond_stmt
5722 allow in the bb any of the stmts in that vector, div_stmt and
5723 up to 3 cast stmts.
5724 (arith_cast_equal_p): New function.
5725 (arith_overflow_check_p): Add cast_stmt argument, handle signed
5726 multiply overflow checks.
5727 (match_arith_overflow): Adjust caller. Handle signed multiply
5728 overflow checks.
5729
5730 2021-01-11 Jakub Jelinek <jakub@redhat.com>
5731
5732 PR tree-optimization/95852
5733 * tree-ssa-math-opts.c (maybe_optimize_guarding_check): New function.
5734 (uaddsub_overflow_check_p): Renamed to ...
5735 (arith_overflow_check_p): ... this. Handle also multiplication
5736 with overflow check.
5737 (match_uaddsub_overflow): Renamed to ...
5738 (match_arith_overflow): ... this. Add cfg_changed argument. Handle
5739 also multiplication with overflow check. Adjust function comment.
5740 (math_opts_dom_walker::after_dom_children): Adjust callers. Call
5741 match_arith_overflow also for MULT_EXPR.
5742
5743 2021-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5744
5745 * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
5746 __builtin_convertvector.
5747 (vmovl_s16): Likewise.
5748 (vmovl_s32): Likewise.
5749 (vmovl_u8): Likewise.
5750 (vmovl_u16): Likewise.
5751 (vmovl_u32): Likewise.
5752 (vmovn_s16): Likewise.
5753 (vmovn_s32): Likewise.
5754 (vmovn_s64): Likewise.
5755 (vmovn_u16): Likewise.
5756 (vmovn_u32): Likewise.
5757 (vmovn_u64): Likewise.
5758
5759 2021-01-11 Martin Liska <mliska@suse.cz>
5760
5761 * gimple-if-to-switch.cc (struct condition_info): Use auto_var.
5762 (if_chain::is_beneficial): Delete clusters
5763 (find_conditions): Make second argument of conditions_in_bbs a
5764 pointer so that we control over it's lifetime.
5765 (pass_if_to_switch::execute): Delete them.
5766
5767 2021-01-11 Kewen Lin <linkw@linux.ibm.com>
5768
5769 * ira.c (move_unallocated_pseudos): Check other_reg and skip if
5770 it isn't set.
5771
5772 2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
5773
5774 * config/vax/vax.md (cc): Remove mode attribute.
5775 (subst_<cc>, subst_f<cc>): Rename to...
5776 (subst_<mode>, subst_f<VAXccnz:mode>): ... these respectively.
5777 (*cbranch<VAXint:mode>4_<VAXcc:mode>): Update for `cc' removal.
5778 (*cbranch<VAXfp:mode>4_<VAXccnz:mode>): Likewise.
5779 (*branch_<mode>, *branch_<mode>_reversed): Likewise.
5780
5781 2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
5782
5783 * config/vax/vax.md (subst_f<cc>): Add mode to operands and
5784 `const_double_zero'.
5785
5786 2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
5787
5788 * config/pdp11/pdp11.md (PDPfp): New mode iterator.
5789 (fcc_cc, fcc_ccnz): Use it. Add mode to `const_double_zero' and
5790 operands.
5791
5792 2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
5793
5794 * genemit.c (gen_exp) <CONST_DOUBLE>: Handle `const_double_zero'
5795 rtx.
5796 * read-rtl.c (rtx_reader::read_rtx_code): Handle machine mode
5797 with `const_double_zero'.
5798 * doc/rtl.texi (Constant Expression Types): Document it.
5799
5800 2021-01-09 Jakub Jelinek <jakub@redhat.com>
5801
5802 PR c++/98556
5803 * tree-cfg.c (verify_gimple_assign_binary): Allow lhs of
5804 POINTER_DIFF_EXPR to be any integral type.
5805
5806 2021-01-09 Jakub Jelinek <jakub@redhat.com>
5807
5808 PR rtl-optimization/98603
5809 * function.c (instantiate_virtual_regs_in_insn): For asm goto
5810 with impossible constraints, drop all SETs, CLOBBERs, drop PARALLEL
5811 if any, set ASM_OPERANDS mode to VOIDmode and change
5812 ASM_OPERANDS_OUTPUT_CONSTRAINT and ASM_OPERANDS_OUTPUT_IDX.
5813
5814 2021-01-09 Alexandre Oliva <oliva@gnu.org>
5815
5816 PR debug/97714
5817 * final.c (notice_source_line): Narrow down the condition to
5818 skip a line-0 marker.
5819
5820 2021-01-08 Sergei Trofimovich <siarheit@google.com>
5821
5822 * ipa-modref.c (merge_call_side_effects): Fix
5823 linebreak split by reordering two print calls.
5824
5825 2021-01-08 Ilya Leoshkevich <iii@linux.ibm.com>
5826
5827 * config/s390/vector.md (*tf_to_fprx2_0): Rename from
5828 "*mov_tf_to_fprx2_0" for consistency, fix constraint.
5829 (*tf_to_fprx2_1): Rename from "*mov_tf_to_fprx2_1" for
5830 consistency, fix constraint.
5831
5832 2021-01-08 Ilya Leoshkevich <iii@linux.ibm.com>
5833
5834 * config/s390/s390-c.c (s390_def_or_undef_macro): Accept
5835 callables instead of mask values.
5836 (struct target_flag_set_p): New predicate.
5837 (s390_cpu_cpp_builtins_internal): Define or undefine
5838 __LONG_DOUBLE_VX__ macro.
5839
5840 2021-01-08 H.J. Lu <hjl.tools@gmail.com>
5841
5842 PR target/98482
5843 * config/i386/i386.c (x86_function_profiler): Use R10 and R11
5844 to call mcount in large model with PIC for NO_PROFILE_COUNTERS
5845 targets.
5846
5847 2021-01-08 Richard Biener <rguenther@suse.de>
5848
5849 * tree-ssa-sccvn.c (pass_fre::execute): Reset the SCEV hash table.
5850
5851 2021-01-08 Richard Biener <rguenther@suse.de>
5852
5853 * tree-vect-slp.c (scalar_stmts_to_slp_tree_map_t): Fix.
5854 (vect_build_slp_tree): On cache hit release the matched
5855 scalar stmts vector.
5856 * tree-vect-stmts.c (vectorizable_store): Properly free
5857 vec_oprnds before possibly gathering them again.
5858
5859 2021-01-08 Richard Biener <rguenther@suse.de>
5860
5861 PR tree-optimization/98544
5862 * tree-vect-slp.c (vect_optimize_slp): Always materialize
5863 permutes at a permute node.
5864
5865 2021-01-08 H.J. Lu <hjl.tools@gmail.com>
5866
5867 PR target/98482
5868 * config/i386/i386.c (x86_function_profiler): Use R10 to call
5869 mcount in large model. Sorry for large model with PIC.
5870
5871 2021-01-08 Jakub Jelinek <jakub@redhat.com>
5872
5873 PR target/98585
5874 * config/i386/i386.opt (ix86_cmodel, ix86_incoming_stack_boundary_arg,
5875 ix86_pmode, ix86_preferred_stack_boundary_arg, ix86_regparm,
5876 ix86_veclibabi_type): Remove x_ prefix, use TargetVariable instead of
5877 TargetSave and initialize for variables with enum types.
5878 (mfentry, mstack-protector-guard-reg=, mstack-protector-guard-offset=,
5879 mstack-protector-guard-symbol=): Add Save.
5880 * config/i386/i386-options.c (ix86_function_specific_save,
5881 ix86_function_specific_restore): Don't save or restore x_ix86_cmodel,
5882 x_ix86_incoming_stack_boundary_arg, x_ix86_pmode,
5883 x_ix86_preferred_stack_boundary_arg, x_ix86_regparm,
5884 x_ix86_veclibabi_type.
5885
5886 2021-01-08 Richard Sandiford <richard.sandiford@arm.com>
5887
5888 * config/aarch64/aarch64-sve.md (*cnot<mode>): Extend from
5889 SVE_FULL_I to SVE_I.
5890 (*cond_cnot<mode>_2, *cond_cnot<mode>_any): Likewise.
5891
5892 2021-01-08 Richard Sandiford <richard.sandiford@arm.com>
5893
5894 * config/aarch64/aarch64-sve.md (*cond_uxt<mode>_2): Extend from
5895 SVE_FULL_I to SVE_I.
5896 (*cond_uxt<mode>_any): Likewise.
5897
5898 2021-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5899
5900 * config/aarch64/iterators.md (Vwhalf): New iterator.
5901 * config/aarch64/aarch64-simd.md (aarch64_<sur>adalp<mode>_3):
5902 Rename to...
5903 (aarch64_<sur>adalp<mode>): ... This. Make more
5904 builtin-friendly.
5905 (<sur>sadv16qi): Adjust callsite of the above.
5906 * config/aarch64/aarch64-simd-builtins.def (sadalp, uadalp): New
5907 builtins.
5908 * config/aarch64/arm_neon.h (vpadal_s8): Reimplement using
5909 builtins.
5910 (vpadal_s16): Likewise.
5911 (vpadal_u8): Likewise.
5912 (vpadal_u16): Likewise.
5913 (vpadalq_s8): Likewise.
5914 (vpadalq_s16): Likewise.
5915 (vpadalq_s32): Likewise.
5916 (vpadalq_u8): Likewise.
5917 (vpadalq_u16): Likewise.
5918 (vpadalq_u32): Likewise.
5919
5920 2021-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5921
5922 * config/aarch64/aarch64-simd.md (aarch64_<su>abd<mode>_3):
5923 Rename to...
5924 (aarch64_<su>abd<mode>): ... This.
5925 (<sur>sadv16qi): Adjust callsite of the above.
5926 * config/aarch64/aarch64-simd-builtins.def (sabd, uabd): Define
5927 builtins.
5928 * config/aarch64/arm_neon.h (vabd_s8): Reimplement using
5929 builtin.
5930 (vabd_s16): Likewise.
5931 (vabd_s32): Likewise.
5932 (vabd_u8): Likewise.
5933 (vabd_u16): Likewise.
5934 (vabd_u32): Likewise.
5935 (vabdq_s8): Likewise.
5936 (vabdq_s16): Likewise.
5937 (vabdq_s32): Likewise.
5938 (vabdq_u8): Likewise.
5939 (vabdq_u16): Likewise.
5940 (vabdq_u32): Likewise.
5941
5942 2021-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5943
5944 * config/aarch64/aarch64-simd-builtins.def (saba, uaba): Define
5945 builtins.
5946 * config/aarch64/arm_neon.h (vaba_s8): Implement using builtin.
5947 (vaba_s16): Likewise.
5948 (vaba_s32): Likewise.
5949 (vaba_u8): Likewise.
5950 (vaba_u16): Likewise.
5951 (vaba_u32): Likewise.
5952 (vabaq_s8): Likewise.
5953 (vabaq_s16): Likewise.
5954 (vabaq_s32): Likewise.
5955 (vabaq_u8): Likewise.
5956 (vabaq_u16): Likewise.
5957 (vabaq_u32): Likewise.
5958
5959 2021-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5960
5961 * config/aarch64/aarch64-simd.md (aba<mode>_3): Rename to...
5962 (aarch64_<su>aba<mode>): ... This. Handle uaba as well.
5963 Change RTL pattern to match.
5964
5965 2021-01-08 Kito Cheng <kito.cheng@sifive.com>
5966
5967 * common/config/riscv/riscv-common.c (riscv_current_subset_list): New.
5968 * config/riscv/riscv-c.c (riscv-subset.h): New.
5969 (INCLUDE_STRING): Define.
5970 (riscv_cpu_cpp_builtins): Add new style architecture extension
5971 test macros.
5972 * config/riscv/riscv-subset.h (riscv_subset_list::begin): New.
5973 (riscv_subset_list::end): New.
5974 (riscv_current_subset_list): New.
5975
5976 2021-01-08 Kito Cheng <kito.cheng@sifive.com>
5977
5978 * common/config/riscv/riscv-common.c (RISCV_DONT_CARE_VERSION):
5979 Move to riscv-subset.h.
5980 (struct riscv_subset_t): Ditto.
5981 (class riscv_subset_list): Ditto.
5982 * config/riscv/riscv-subset.h (RISCV_DONT_CARE_VERSION): Move
5983 from riscv-common.c.
5984 (struct riscv_subset_t): Ditto.
5985 (class riscv_subset_list): Ditto.
5986 * config/riscv/t-riscv ($(common_out_file)): Add file
5987 dependency.
5988
5989 2021-01-07 Jakub Jelinek <jakub@redhat.com>
5990
5991 PR target/98567
5992 * config/i386/i386.md (*bmi_blsi_<mode>_cmp, *bmi_blsi_<mode>_ccno):
5993 New define_insn patterns.
5994
5995 2021-01-07 Richard Sandiford <richard.sandiford@arm.com>
5996
5997 * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_UNARY:optab><mode>)
5998 (*cond_<SVE_INT_UNARY:optab><mode>_2): Extend from SVE_FULL_I to SVE_I.
5999 (*cond_<SVE_INT_UNARY:optab><mode>_any): Likewise.
6000
6001 2021-01-07 Richard Sandiford <richard.sandiford@arm.com>
6002
6003 PR tree-optimization/98560
6004 * internal-fn.def (IFN_VCONDU, IFN_VCONDEQ): Use type vec_cond.
6005 * internal-fn.c (vec_cond_mask_direct): Get the data mode from
6006 argument 1.
6007 (vec_cond_direct): Likewise argument 2.
6008 (vec_condu_direct, vec_condeq_direct): Delete.
6009 (expand_vect_cond_optab_fn): Rename to...
6010 (expand_vec_cond_optab_fn): ...this, replacing old macro.
6011 (expand_vec_condu_optab_fn, expand_vec_condeq_optab_fn): Delete.
6012 (expand_vect_cond_mask_optab_fn): Rename to...
6013 (expand_vec_cond_mask_optab_fn): ...this, replacing old macro.
6014 (direct_vec_cond_mask_optab_supported_p): Treat the optab as a
6015 convert optab.
6016 (direct_vec_cond_optab_supported_p): Likewise.
6017 (direct_vec_condu_optab_supported_p): Delete.
6018 (direct_vec_condeq_optab_supported_p): Delete.
6019 * gimple-isel.cc: Include internal-fn.h.
6020 (gimple_expand_vec_cond_expr): Check that IFN_VCONDEQ is supported
6021 before using it.
6022
6023 2021-01-07 Richard Sandiford <richard.sandiford@arm.com>
6024
6025 PR tree-optimization/98560
6026 * gimple-isel.cc (gimple_expand_vec_cond_expr): If we fail to use
6027 IFN_VCOND{,U,EQ}, fall back on IFN_VCOND_MASK.
6028
6029 2021-01-07 Uroš Bizjak <ubizjak@gmail.com>
6030
6031 * config/i386/i386.md (insn): Merge from plusminus_insn, shift_insn,
6032 rotate_insn and optab code attributes.
6033 Update all uses to merged code attribute.
6034 * config/i386/sse.md: Update all uses to merged code attribute.
6035 * config/i386/mmx.md: Update all uses to merged code attribute.
6036
6037 2021-01-07 Jakub Jelinek <jakub@redhat.com>
6038
6039 PR tree-optimization/98568
6040 * gimple-ssa-store-merging.c (bswap_view_convert): New function.
6041 (bswap_replace): Use it.
6042
6043 2021-01-06 Vladimir N. Makarov <vmakarov@redhat.com>
6044
6045 PR rtl-optimization/97978
6046 * lra-int.h (lra_hard_reg_split_p): New external.
6047 * lra.c (lra_hard_reg_split_p): New global.
6048 (lra): Set up lra_hard_reg_split_p after splitting a hard reg.
6049 * lra-assigns.c (lra_assign): Don't check allocation correctness
6050 after hard reg splitting.
6051
6052 2021-01-06 Martin Sebor <msebor@redhat.com>
6053
6054 PR c++/98305
6055 * builtins.c (new_delete_mismatch_p): New overload.
6056 (new_delete_mismatch_p (tree, tree)): Call it.
6057
6058 2021-01-06 Alexandre Oliva <oliva@adacore.com>
6059
6060 * Makefile.in (T_GLIMITS_H): New.
6061 (stmp-int-hdrs): Depend on it, use it.
6062 * config/t-vxworks (T_GLIMITS_H): Override it.
6063 (vxw-glimits.h): New.
6064
6065 2021-01-06 Richard Biener <rguenther@suse.de>
6066
6067 PR tree-optimization/98513
6068 * value-range.cc (intersect_ranges): Compare the upper bounds
6069 for the expected relation.
6070
6071 2021-01-06 Gerald Pfeifer <gerald@pfeifer.com>
6072
6073 Revert:
6074 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6075
6076 * doc/standards.texi (HSAIL): Remove section.
6077
6078 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6079
6080 * configure: Re-generate.
6081
6082 2021-01-05 Jakub Jelinek <jakub@redhat.com>
6083
6084 * doc/invoke.texi (-std=c++20): Adjust for the publication of
6085 ISO 14882:2020 standard.
6086 * doc/standards.texi: Likewise.
6087
6088 2021-01-05 Jakub Jelinek <jakub@redhat.com>
6089
6090 PR tree-optimization/94802
6091 * expr.h (maybe_optimize_sub_cmp_0): Declare.
6092 * expr.c: Include tree-pretty-print.h and flags.h.
6093 (maybe_optimize_sub_cmp_0): New function.
6094 (do_store_flag): Use it.
6095 * cfgexpand.c (expand_gimple_cond): Likewise.
6096
6097 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
6098
6099 * mux-utils.h (pointer_mux::m_ptr): Tweak description of contents.
6100 * rtlanal.c (simple_regno_set): Tweak description to clarify the
6101 RMW condition.
6102
6103 2021-01-05 Richard Biener <rguenther@suse.de>
6104
6105 PR tree-optimization/98516
6106 * tree-vect-slp.c (vect_optimize_slp): Permute the incoming
6107 lanes when materializing on a VEC_PERM node.
6108 (vectorizable_slp_permutation): Dump the permute properly.
6109
6110 2021-01-05 Richard Biener <rguenther@suse.de>
6111
6112 * tree-vect-slp.c (vect_slp_region): Move debug counter
6113 to cover individual subgraphs.
6114
6115 2021-01-05 Richard Biener <rguenther@suse.de>
6116
6117 PR tree-optimization/98428
6118 * tree-vect-slp.c (vect_build_slp_tree_1): Properly reject
6119 vector lane extracts for loop vectorization.
6120
6121 2021-01-05 Jakub Jelinek <jakub@redhat.com>
6122
6123 PR tree-optimization/98514
6124 * tree-ssa-reassoc.c (bb_rank): Change type from long * to
6125 int64_t *.
6126 (operand_rank): Change type from hash_map<tree, long> to
6127 hash_map<tree, int64_t>.
6128 (phi_rank): Change return type from long to int64_t.
6129 (loop_carried_phi): Change block_rank variable type from long to
6130 int64_t.
6131 (propagate_rank): Change return type, rank parameter type and
6132 op_rank variable type from long to int64_t.
6133 (find_operand_rank): Change return type from long to int64_t
6134 and change slot variable type from long * to int64_t *.
6135 (insert_operand_rank): Change rank parameter type from long to
6136 int64_t.
6137 (get_rank): Change return type and rank variable type from long to
6138 int64_t. Use PRId64 instead of ld to print the rank.
6139 (init_reassoc): Change rank variable type from long to int64_t
6140 and adjust correspondingly bb_rank and operand_rank initialization.
6141
6142 2021-01-05 Jakub Jelinek <jakub@redhat.com>
6143
6144 PR tree-optimization/96928
6145 * tree-ssa-phiopt.c (xor_replacement): New function.
6146 (tree_ssa_phiopt_worker): Call it.
6147
6148 2021-01-05 Jakub Jelinek <jakub@redhat.com>
6149
6150 PR tree-optimization/96930
6151 * match.pd ((A / (1 << B)) -> (A >> B)): If A is extended
6152 from narrower value which has the same type as 1 << B, perform
6153 the right shift on the narrower value followed by extension.
6154
6155 2021-01-05 Jakub Jelinek <jakub@redhat.com>
6156
6157 PR tree-optimization/96239
6158 * gimple-ssa-store-merging.c (maybe_optimize_vector_constructor): New
6159 function.
6160 (get_status_for_store_merging): Don't return BB_INVALID for blocks
6161 with potential bswap optimizable CONSTRUCTORs.
6162 (pass_store_merging::execute): Optimize vector CONSTRUCTORs with bswap
6163 if possible.
6164
6165 2021-01-05 Richard Biener <rguenther@suse.de>
6166
6167 PR tree-optimization/98381
6168 * tree.c (vector_element_bits): Properly compute bool vector
6169 element size.
6170 * tree-vect-loop.c (vectorizable_live_operation): Properly
6171 compute the last lane bit offset.
6172
6173 2021-01-05 Uroš Bizjak <ubizjak@gmail.com>
6174
6175 PR target/98522
6176 * config/i386/sse.md (sse_cvtps2pi): Redefine as define_insn_and_split.
6177 Clear the top 64 bytes of the input XMM register.
6178 (sse_cvttps2pi): Ditto.
6179
6180 2021-01-05 Uroš Bizjak <ubizjak@gmail.com>
6181
6182 PR target/98521
6183 * config/i386/xopintrin.h (_mm256_cmov_si256): New.
6184
6185 2021-01-05 H.J. Lu <hjl.tools@gmail.com>
6186
6187 PR target/98495
6188 * config/i386/xmmintrin.h (_mm_extract_pi16): Cast to unsigned
6189 short first.
6190
6191 2021-01-05 Claudiu Zissulescu <claziss@synopsys.com>
6192
6193 * config/arc/arc.md (maddsidi4_split): Use ACC_REG_FIRST.
6194 (umaddsidi4_split): Likewise.
6195
6196 2021-01-05 liuhongt <hongtao.liu@intel.com>
6197
6198 PR target/98461
6199 * config/i386/sse.md (*sse2_pmovskb_zexthisi): New
6200 define_insn_and_split for zero_extend of subreg HI of pmovskb
6201 result.
6202 (*sse2_pmovskb_zexthisi): Add new combine splitters for
6203 zero_extend of not of subreg HI of pmovskb result.
6204
6205 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
6206
6207 PR target/97269
6208 * explow.c (convert_memory_address_addr_space_1): Handle UNSPECs
6209 nested in CONSTs.
6210 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Use
6211 convert_memory_address to convert symbolic immediates to ptr_mode
6212 before forcing them to memory.
6213
6214 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
6215
6216 PR rtl-optimization/97144
6217 * recog.c (constrain_operands): Initialize matching_operand
6218 for each alternative, rather than only doing it once.
6219
6220 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
6221
6222 PR rtl-optimization/98403
6223 * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Explain
6224 why we don't remove call clobbers.
6225 (function_info::apply_changes_to_insn): Don't attempt to add
6226 call clobbers here.
6227
6228 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
6229
6230 PR tree-optimization/98371
6231 * tree-vect-loop.c (vect_reanalyze_as_main_loop): New function.
6232 (vect_analyze_loop): If an epilogue loop appears to be cheaper
6233 than the main loop, re-analyze it as a main loop before adopting
6234 it as a main loop.
6235
6236 2021-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6237
6238 PR c++/98316
6239 * configure.ac (NETLIBS): Determine using AX_LIB_SOCKET_NSL.
6240 * aclocal.m4, configure: Regenerate.
6241 * Makefile.in (NETLIBS): Define.
6242 (BACKEND): Remove $(CODYLIB).
6243
6244 2021-01-05 Jakub Jelinek <jakub@redhat.com>
6245
6246 PR rtl-optimization/98334
6247 * simplify-rtx.c (simplify_context::simplify_binary_operation_1):
6248 Optimize (X - 1) * Y + Y to X * Y or (X + 1) * Y - Y to X * Y.
6249
6250 2021-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
6251
6252 * tree-inline.c (expand_call_inline): Restore input_location.
6253 Return result from recursive call.
6254
6255 2021-01-04 Richard Sandiford <richard.sandiford@arm.com>
6256
6257 PR tree-optimization/95401
6258 * config/aarch64/aarch64-sve-builtins.cc
6259 (gimple_folder::load_store_cookie): Use bits rather than bytes
6260 for the alignment argument to IFN_MASK_LOAD and IFN_MASK_STORE.
6261 * gimple-fold.c (gimple_fold_mask_load_store_mem_ref): Likewise.
6262 * tree-vect-stmts.c (vectorizable_store): Likewise.
6263 (vectorizable_load): Likewise.
6264
6265 2021-01-04 Richard Biener <rguenther@suse.de>
6266
6267 PR tree-optimization/98308
6268 * tree-vect-stmts.c (vectorizable_load): Set invariant mask
6269 SLP vectype.
6270
6271 2021-01-04 Jakub Jelinek <jakub@redhat.com>
6272
6273 PR tree-optimization/95771
6274 * tree-ssa-loop-niter.c (number_of_iterations_popcount): Handle types
6275 with precision smaller than int's precision and types with precision
6276 twice as large as long long. Formatting fixes.
6277
6278 2021-01-04 Richard Biener <rguenther@suse.de>
6279
6280 PR tree-optimization/98464
6281 * tree-ssa-sccvn.c (vn_valueize_for_srt): Rename from ...
6282 (vn_valueize_wrapper): ... this. Temporarily adjust vn_context_bb.
6283 (process_bb): Adjust.
6284
6285 2021-01-04 Matthew Malcomson <matthew.malcomson@arm.com>
6286
6287 PR other/98437
6288 * doc/invoke.texi (-fsanitize=address): Fix wording describing
6289 clash with -fsanitize=hwaddress.
6290
6291 2021-01-04 Richard Biener <rguenther@suse.de>
6292
6293 PR tree-optimization/98282
6294 * tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on
6295 invariants as VN_NARY.
6296
6297 2021-01-04 Richard Sandiford <richard.sandiford@arm.com>
6298
6299 PR target/89057
6300 * config/aarch64/aarch64-simd.md (aarch64_combine<mode>): Accept
6301 aarch64_simd_reg_or_zero for operand 2. Use the combinez patterns
6302 to handle zero operands.
6303
6304 2021-01-04 Richard Sandiford <richard.sandiford@arm.com>
6305
6306 * config/aarch64/aarch64.c (offset_6bit_signed_scaled_p): New function.
6307 (offset_6bit_unsigned_scaled_p): Fix typo in comment.
6308 (aarch64_sve_prefetch_operand_p): Accept MUL VLs in the range
6309 [-32, 31].
6310
6311 2021-01-04 Richard Biener <rguenther@suse.de>
6312
6313 PR tree-optimization/98393
6314 * tree-vect-slp.c (vect_build_slp_tree): Properly zero matches
6315 when hitting the limit.
6316
6317 2021-01-04 Richard Biener <rguenther@suse.de>
6318
6319 PR tree-optimization/98291
6320 * tree-vect-loop.c (vectorizable_reduction): Bypass
6321 associativity check for SLP reductions with VF 1.
6322
6323 2021-01-04 Jakub Jelinek <jakub@redhat.com>
6324
6325 PR tree-optimization/96782
6326 * match.pd (x == ~x -> false, x != ~x -> true): New simplifications.
6327
6328 2021-01-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
6329
6330 * collect-utils.c (collect_execute): Check dumppfx.
6331 * collect2.c (maybe_run_lto_and_relink, do_link): Pass atsuffix
6332 to collect_execute.
6333 (do_link): Add new parameter atsuffix.
6334 (main): Handle -dumpdir option. Skip one argument for
6335 -o, -isystem and -B options.
6336 * gcc.c (make_at_file): New helper function.
6337 (close_at_file): Use it.
6338
6339 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
6340
6341 * config/darwin.h (MIN_LD64_NO_COAL_SECTS): Adjust.
6342 Amend handling for LD64_VERSION fallback defaults.
6343
6344 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
6345
6346 * config.gcc: Compute default version information
6347 from the configured target. Likewise defaults for
6348 ld64.
6349 * config/darwin10.h: Removed.
6350 * config/darwin12.h: Removed.
6351 * config/darwin9.h: Removed.
6352 * config/rs6000/darwin8.h: Removed.
6353
6354 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
6355
6356 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
6357
6358 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
6359
6360 * config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Move from here..
6361 * config/darwin.h (STACK_CHECK_STATIC_BUILTIN): .. to here.
6362
6363 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
6364
6365 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move from
6366 here...
6367 * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): ... to here.
6368
6369 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
6370
6371 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move the spec
6372 for the Darwin10 unwinder stub from here ...
6373 * config/darwin.h (LINK_COMMAND_SPEC_A): ... to here.
6374
6375 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
6376
6377 * config/darwin.h (DSYMUTIL_SPEC): Default to DWARF
6378 (ASM_DEBUG_SPEC):Only define if the assembler supports
6379 stabs.
6380 (PREFERRED_DEBUGGING_TYPE): Default to DWARF.
6381 (DARWIN_PREFER_DWARF): Define.
6382 * config/darwin9.h (PREFERRED_DEBUGGING_TYPE): Remove.
6383 (DARWIN_PREFER_DWARF): Likewise
6384 (DSYMUTIL_SPEC): Likewise.
6385 (COLLECT_RUN_DSYMUTIL): Likewise.
6386 (ASM_DEBUG_SPEC): Likewise.
6387 (ASM_DEBUG_OPTION_SPEC): Likewise.
6388
6389 2021-01-02 Jan Hubicka <jh@suse.cz>
6390
6391 * cfg.c (free_block): ggc_free bb.
6392
6393 2021-01-01 Jakub Jelinek <jakub@redhat.com>
6394
6395 * gcc.c (process_command): Update copyright notice dates.
6396 * gcov-dump.c (print_version): Ditto.
6397 * gcov.c (print_version): Ditto.
6398 * gcov-tool.c (print_version): Ditto.
6399 * gengtype.c (create_file): Ditto.
6400 * doc/cpp.texi: Bump @copying's copyright year.
6401 * doc/cppinternals.texi: Ditto.
6402 * doc/gcc.texi: Ditto.
6403 * doc/gccint.texi: Ditto.
6404 * doc/gcov.texi: Ditto.
6405 * doc/install.texi: Ditto.
6406 * doc/invoke.texi: Ditto.
6407
6408 2021-01-01 Jakub Jelinek <jakub@redhat.com>
6409
6410 * ChangeLog-2020: Rotate ChangeLog. New file.
6411
6412 \f
6413 Copyright (C) 2021 Free Software Foundation, Inc.
6414
6415 Copying and distribution of this file, with or without modification,
6416 are permitted in any medium without royalty provided the copyright
6417 notice and this notice are preserved.