Daily bump.
[gcc.git] / gcc / ChangeLog
1 2021-01-19 Martin Sebor <msebor@redhat.com>
2
3 PR middle-end/98664
4 * tree-ssa-live.c (remove_unused_scope_block_p): Keep scopes for
5 all functions, even if they're not declared artificial or inline.
6 * tree.c (tree_inlined_location): Use macro expansion location
7 only if scope traversal fails to expose one.
8
9 2021-01-19 Richard Sandiford <richard.sandiford@arm.com>
10
11 PR rtl-optimization/92294
12 * alias.c (compare_base_symbol_refs): Take an extra parameter
13 and add the distance between two symbols to it. Enshrine in
14 comments that -1 means "either 0 or 1, but we can't tell
15 which at compile time".
16 (memrefs_conflict_p): Update call accordingly.
17 (rtx_equal_for_memref_p): Likewise. Take the distance between symbols
18 into account.
19
20 2021-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21
22 * config/aarch64/aarch64-simd-builtins.def (sqshl, uqshl,
23 sqrshl, uqrshl, sqadd, uqadd, sqsub, uqsub, suqadd, usqadd, sqmovn,
24 uqmovn, sqxtn2, uqxtn2, sqabs, sqneg, sqdmlal, sqdmlsl, sqdmlal_lane,
25 sqdmlsl_lane, sqdmlal_laneq, sqdmlsl_laneq, sqdmlal_n, sqdmlsl_n,
26 sqdmlal2, sqdmlsl2, sqdmlal2_lane, sqdmlsl2_lane, sqdmlal2_laneq,
27 sqdmlsl2_laneq, sqdmlal2_n, sqdmlsl2_n, sqdmull, sqdmull_lane,
28 sqdmull_laneq, sqdmull_n, sqdmull2, sqdmull2_lane, sqdmull2_laneq,
29 sqdmull2_n, sqdmulh, sqrdmulh, sqdmulh_lane, sqdmulh_laneq,
30 sqrdmulh_lane, sqrdmulh_laneq, sqshrun_n, sqrshrun_n, sqshrn_n,
31 uqshrn_n, sqrshrn_n, uqrshrn_n, sqshlu_n, sqshl_n, uqshl_n, sqrdmlah,
32 sqrdmlsh, sqrdmlah_lane, sqrdmlsh_lane, sqrdmlah_laneq, sqrdmlsh_laneq,
33 sqmovun): Use NONE flags.
34
35 2021-01-19 Richard Biener <rguenther@suse.de>
36
37 PR ipa/98330
38 * ipa-modref.c (analyze_stmt): Only record a summary for a
39 direct call.
40
41 2021-01-19 Richard Biener <rguenther@suse.de>
42
43 PR middle-end/98638
44 * tree-ssanames.c (fini_ssanames): Zero SSA_NAME_DEF_STMT.
45
46 2021-01-19 Daniel Hellstrom <daniel@gaisler.com>
47
48 * config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
49 built-in define __FIX_LEON3FT_TN0018.
50
51 2021-01-19 Richard Biener <rguenther@suse.de>
52
53 PR ipa/97673
54 * tree-inline.c (tree_function_versioning): Set input_location
55 to UNKNOWN_LOCATION throughout the function.
56
57 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
58
59 PR fortran/98476
60 * omp-low.c (lower_omp_target): Handle nonpointer is_device_ptr.
61
62 2021-01-19 Martin Jambor <mjambor@suse.cz>
63
64 PR ipa/98690
65 * ipa-sra.c (ssa_name_only_returned_p): New parameter fun. Check
66 whether non-call exceptions allow removal of a statement.
67 (isra_analyze_call): Pass the appropriate function to
68 ssa_name_only_returned_p.
69
70 2021-01-19 Geng Qi <gengqi@linux.alibaba.com>
71
72 * config/riscv/arch-canonicalize (longext_sort): New function for
73 sorting 'multi-letter'.
74 * config/riscv/multilib-generator: Adjusting the loop of 'alt' in
75 'alts'. The 'arch' may not be the first of 'alts'.
76 (_expand_combination): Add underline for the 'ext' without '*'.
77 This is because, a single-letter extension can always be treated well
78 with a '_' prefix, but it cannot be separated out if it is appended
79 to a multi-letter.
80
81 2021-01-18 Vladimir N. Makarov <vmakarov@redhat.com>
82
83 PR target/97847
84 * ira.c (ira): Skip abnormal critical edge splitting.
85
86 2021-01-18 Jakub Jelinek <jakub@redhat.com>
87
88 PR tree-optimization/98727
89 * tree-ssa-math-opts.c (match_arith_overflow): Fix up computation of
90 second .MUL_OVERFLOW operand for signed multiplication with overflow
91 checking if the second operand of multiplication is not constant.
92
93 2021-01-18 David Edelsohn <dje.gcc@gmail.com>
94
95 * doc/invoke.texi (-gdwarf): TPF defaults to version 2 and AIX
96 defaults to version 4.
97
98 2021-01-18 David Malcolm <dmalcolm@redhat.com>
99
100 * attribs.h (fndecl_dealloc_argno): New decl.
101 * builtins.c (call_dealloc_argno): Split out second half of
102 function into...
103 (fndecl_dealloc_argno): New.
104 * doc/extend.texi (Common Function Attributes): Document the
105 interaction between the analyzer and the malloc attribute.
106 * doc/invoke.texi (Static Analyzer Options): Likewise.
107
108 2021-01-17 David Edelsohn <dje.gcc@gmail.com>
109
110 * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Override
111 dwarf_version to 4.
112 * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
113
114 2021-01-17 Martin Jambor <mjambor@suse.cz>
115
116 PR ipa/98222
117 * cgraph.c (clone_of_p): Check also former_clone_of as we climb
118 the clone tree.
119
120 2021-01-17 Mark Wielaard <mark@klomp.org>
121
122 * common.opt (gdwarf-): Init(5).
123 * doc/invoke.texi (-gdwarf): Document default to 5.
124
125 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
126
127 * builtin-types.def
128 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT): Rename
129 to...
130 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR):
131 ...this. Add extra argument.
132 * gimplify.c (omp_default_clause): Ensure that event handle is
133 firstprivate in a task region.
134 (gimplify_scan_omp_clauses): Handle OMP_CLAUSE_DETACH.
135 (gimplify_adjust_omp_clauses): Likewise.
136 * omp-builtins.def (BUILT_IN_GOMP_TASK): Change function type to
137 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT_PTR.
138 * omp-expand.c (expand_task_call): Add GOMP_TASK_FLAG_DETACH to flags
139 if detach clause specified. Add detach argument when generating
140 call to GOMP_task.
141 * omp-low.c (scan_sharing_clauses): Setup data environment for detach
142 clause.
143 (finish_taskreg_scan): Move field for variable containing the event
144 handle to the front of the struct.
145 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DETACH. Fix
146 ordering.
147 * tree-nested.c (convert_nonlocal_omp_clauses): Handle
148 OMP_CLAUSE_DETACH clause.
149 (convert_local_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
150 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_DETACH.
151 * tree.c (omp_clause_num_ops): Add entry for OMP_CLAUSE_DETACH.
152 Fix ordering.
153 (omp_clause_code_name): Add entry for OMP_CLAUSE_DETACH. Fix
154 ordering.
155 (walk_tree_1): Handle OMP_CLAUSE_DETACH.
156
157 2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
158
159 * config/nios2/t-rtems: Reset all MULTILIB_* variables. Shorten
160 multilib directory names. Use MULTILIB_REQUIRED instead of
161 MULTILIB_EXCEPTIONS. Add -mhw-mul -mhw-mulx -mhw-div
162 -mcustom-fpu-cfg=fph2 multilib.
163
164 2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
165
166 * config/nios2/nios2.c (NIOS2_FPU_CONFIG_NUM): Adjust value.
167 (nios2_init_fpu_configs): Provide register values for new
168 -mcustom-fpu-cfg=fph2 option variant.
169 * doc/invoke.texi (-mcustom-fpu-cfg=fph2): Document new option
170 variant.
171
172 2021-01-16 Sebastian Huber <sebastian.huber@embedded-brains.de>
173
174 * config/nios2/nios2.c (nios2_custom_check_insns): Remove
175 custom instruction warnings.
176
177 2021-01-16 Jakub Jelinek <jakub@redhat.com>
178
179 PR tree-optimization/96669
180 * match.pd ((CST << x) & 1 -> x == 0): New simplification.
181
182 2021-01-16 Jakub Jelinek <jakub@redhat.com>
183
184 PR tree-optimization/96271
185 * passes.def: Pass false argument to first two pass_cd_dce
186 instances and true to last instance. Add comment that
187 last instance rewrites no longer addressed locals.
188 * tree-ssa-dce.c (pass_cd_dce): Add update_address_taken_p member and
189 initialize it.
190 (pass_cd_dce::set_pass_param): New method.
191 (pass_cd_dce::execute): Return TODO_update_address_taken from
192 last cd_dce instance.
193
194 2021-01-15 Carl Love <cel@us.ibm.com>
195
196 * config/rs6000/altivec.h (vec_mulh, vec_div, vec_dive, vec_mod):
197 New defines.
198 * config/rs6000/altivec.md (VIlong): Move define to file vsx.md.
199 * config/rs6000/rs6000-builtin.def (DIVES_V4SI, DIVES_V2DI,
200 DIVEU_V4SI, DIVEU_V2DI, DIVS_V4SI, DIVS_V2DI, DIVU_V4SI,
201 DIVU_V2DI, MODS_V2DI, MODS_V4SI, MODU_V2DI, MODU_V4SI,
202 MULHS_V2DI, MULHS_V4SI, MULHU_V2DI, MULHU_V4SI, MULLD_V2DI):
203 Add builtin define.
204 (MULH, DIVE, MOD): Add new BU_P10_OVERLOAD_2 definitions.
205 * config/rs6000/rs6000-call.c (VSX_BUILTIN_VEC_DIV,
206 VSX_BUILTIN_VEC_DIVE, P10_BUILTIN_VEC_MOD, P10_BUILTIN_VEC_MULH):
207 New overloaded definitions.
208 (builtin_function_type) [P10V_BUILTIN_DIVEU_V4SI,
209 P10V_BUILTIN_DIVEU_V2DI, P10V_BUILTIN_DIVU_V4SI,
210 P10V_BUILTIN_DIVU_V2DI, P10V_BUILTIN_MODU_V2DI,
211 P10V_BUILTIN_MODU_V4SI, P10V_BUILTIN_MULHU_V2DI,
212 P10V_BUILTIN_MULHU_V4SI]: Add case
213 statement for builtins.
214 * config/rs6000/rs6000.md (bits): Add new attribute sizes V4SI, V2DI.
215 * config/rs6000/vsx.md (VIlong): Moved from config/rs6000/altivec.md.
216 (UNSPEC_VDIVES, UNSPEC_VDIVEU): New unspec definitions.
217 (vsx_mul_v2di): Add if TARGET_POWER10 statement.
218 (vsx_udiv_v2di): Add if TARGET_POWER10 statement.
219 (dives_<mode>, diveu_<mode>, div<mode>3, uvdiv<mode>3,
220 mods_<mode>, modu_<mode>, mulhs_<mode>, mulhu_<mode>, mulv2di3):
221 Add define_insn, mode is VIlong.
222 * doc/extend.texi (vec_mulh, vec_mul, vec_div, vec_dive, vec_mod):
223 Add builtin descriptions.
224
225 2021-01-15 Eric Botcazou <ebotcazou@adacore.com>
226
227 * final.c (final_start_function_1): Reset force_source_line.
228
229 2021-01-15 Jakub Jelinek <jakub@redhat.com>
230
231 PR tree-optimization/96669
232 * match.pd (((1 << A) & 1) != 0 -> A == 0,
233 ((1 << A) & 1) == 0 -> A != 0): Generalize for 1s replaced by
234 possibly different power of two constants and to right shift too.
235
236 2021-01-15 Jakub Jelinek <jakub@redhat.com>
237
238 PR tree-optimization/96681
239 * match.pd ((x < 0) ^ (y < 0) to (x ^ y) < 0): New simplification.
240 ((x >= 0) ^ (y >= 0) to (x ^ y) < 0): Likewise.
241 ((x < 0) ^ (y >= 0) to (x ^ y) >= 0): Likewise.
242 ((x >= 0) ^ (y < 0) to (x ^ y) >= 0): Likewise.
243
244 2021-01-15 Alexandre Oliva <oliva@adacore.com>
245
246 * opts.c (gen_command_line_string): Exclude -dumpbase-ext.
247
248 2021-01-15 Tamar Christina <tamar.christina@arm.com>
249
250 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4,
251 cmul<conj_op><mode>3): New.
252 * config/aarch64/iterators.md (UNSPEC_FCMUL,
253 UNSPEC_FCMUL180, UNSPEC_FCMLA_CONJ, UNSPEC_FCMLA180_CONJ,
254 UNSPEC_CMLA_CONJ, UNSPEC_CMLA180_CONJ, UNSPEC_CMUL, UNSPEC_CMUL180,
255 FCMLA_OP, FCMUL_OP, conj_op, rotsplit1, rotsplit2, fcmac1, sve_rot1,
256 sve_rot2, SVE2_INT_CMLA_OP, SVE2_INT_CMUL_OP, SVE2_INT_CADD_OP): New.
257 (rot): Add UNSPEC_FCMUL, UNSPEC_FCMUL180.
258 (rot_op): Renamed to conj_op.
259 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4,
260 cmul<conj_op><mode>3): New.
261 * config/aarch64/aarch64-sve2.md (cml<fcmac1><conj_op><mode>4,
262 cmul<conj_op><mode>3): New.
263
264 2021-01-15 David Malcolm <dmalcolm@redhat.com>
265
266 PR bootstrap/98696
267 * diagnostic.c
268 (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
269 Escape the tempfile name when constructing the expected output.
270
271 2021-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
272
273 * config/aarch64/aarch64-simd.md (*aarch64_<su>mlsl_hi<mode>):
274 Rename to...
275 (aarch64_<su>mlsl_hi<mode>): ... This.
276 (aarch64_<su>mlsl_hi<mode>): Define.
277 (*aarch64_<su>mlsl<mode): Rename to...
278 (aarch64_<su>mlsl<mode): ... This.
279 * config/aarch64/aarch64-simd-builtins.def (smlsl, umlsl,
280 smlsl_hi, umlsl_hi): Define builtins.
281 * config/aarch64/arm_neon.h (vmlsl_high_s8, vmlsl_high_s16,
282 vmlsl_high_s32, vmlsl_high_u8, vmlsl_high_u16, vmlsl_high_u32,
283 vmlsl_s8, vmlsl_s16, vmlsl_s32, vmlsl_u8,
284 vmlsl_u16, vmlsl_u32): Reimplement with builtins.
285
286 2021-01-15 Uroš Bizjak <ubizjak@gmail.com>
287
288 * config/i386/i386-c.c (ix86_target_macros):
289 Use cpp_define_formatted for __SIZEOF_FLOAT80__ definition.
290
291 2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
292
293 PR target/88836
294 * config.gcc (aarch64*-*-*): Add aarch64-cc-fusion.o to extra_objs.
295 * Makefile.in (RTL_SSA_H): New variable.
296 * config/aarch64/t-aarch64 (aarch64-cc-fusion.o): New rule.
297 * config/aarch64/aarch64-protos.h (make_pass_cc_fusion): Declare.
298 * config/aarch64/aarch64-passes.def: Add pass_cc_fusion after
299 pass_combine.
300 * config/aarch64/aarch64-cc-fusion.cc: New file.
301
302 2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
303
304 * recog.h (insn_change_watermark::~insn_change_watermark): Avoid
305 calling cancel_changes for changes that no longer exist.
306
307 2021-01-15 Richard Sandiford <richard.sandiford@arm.com>
308
309 * rtl-ssa/functions.h (function_info::ref_defs): Rename to...
310 (function_info::reg_defs): ...this.
311 * rtl-ssa/member-fns.inl (function_info::ref_defs): Rename to...
312 (function_info::reg_defs): ...this.
313
314 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
315
316 PR target/71233
317 * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
318
319 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
320
321 Revert:
322 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
323
324 PR target/71233
325 * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
326
327 2021-01-15 Richard Biener <rguenther@suse.de>
328
329 PR tree-optimization/96376
330 * tree-vect-stmts.c (get_load_store_type): Disregard alignment
331 for VMAT_INVARIANT.
332
333 2021-01-15 Martin Liska <mliska@suse.cz>
334
335 * doc/install.texi: Document that some tests need pytest module.
336 * doc/sourcebuild.texi: Likewise.
337
338 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
339
340 PR target/71233
341 * config/arm/arm_neon.h (vceqz_p64, vceqq_p64, vceqzq_p64): New.
342
343 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
344
345 * config/arm/mve.md (mve_vshrq_n_s<mode>_imm): New entry.
346 (mve_vshrq_n_u<mode>_imm): Likewise.
347 * config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Move to ...
348 * config/arm/vec-common.md: ... here.
349
350 2021-01-15 Christophe Lyon <christophe.lyon@linaro.org>
351
352 * config/arm/mve.md (mve_vshlq_<supf><mode>): Move to
353 vec-commond.md.
354 * config/arm/neon.md (vashl<mode>3): Delete.
355 * config/arm/vec-common.md (mve_vshlq_<supf><mode>): New.
356 (vasl<mode>3): New expander.
357
358 2021-01-15 Richard Biener <rguenther@suse.de>
359
360 PR tree-optimization/98685
361 * tree-vect-slp.c (vect_schedule_slp_node): Refactor handling
362 of vector extern defs.
363
364 2021-01-14 David Malcolm <dmalcolm@redhat.com>
365
366 PR jit/98586
367 * diagnostic.c (diagnostic_kind_text): Break out this array
368 from...
369 (diagnostic_build_prefix): ...here.
370 (fancy_abort): Detect when diagnostic_initialize has not yet been
371 called and fall back to a minimal implementation of printing the
372 ICE, rather than segfaulting in internal_error.
373
374 2021-01-14 David Malcolm <dmalcolm@redhat.com>
375
376 * diagnostic.c (diagnostic_initialize): Eliminate
377 parseable_fixits_p in favor of initializing extra_output_kind from
378 GCC_EXTRA_DIAGNOSTIC_OUTPUT.
379 (convert_column_unit): New function, split out from...
380 (diagnostic_converted_column): ...this.
381 (print_parseable_fixits): Add "column_unit" and "tabstop" params.
382 Use them to call convert_column_unit on the column values.
383 (diagnostic_report_diagnostic): Eliminate conditional on
384 parseable_fixits_p in favor of a switch statement on
385 extra_output_kind, passing the appropriate values to the new
386 params of print_parseable_fixits.
387 (selftest::test_print_parseable_fixits_none): Update for new
388 params of print_parseable_fixits.
389 (selftest::test_print_parseable_fixits_insert): Likewise.
390 (selftest::test_print_parseable_fixits_remove): Likewise.
391 (selftest::test_print_parseable_fixits_replace): Likewise.
392 (selftest::test_print_parseable_fixits_bytes_vs_display_columns):
393 New.
394 (selftest::diagnostic_c_tests): Call it.
395 * diagnostic.h (enum diagnostics_extra_output_kind): New.
396 (diagnostic_context::parseable_fixits_p): Delete field in favor
397 of...
398 (diagnostic_context::extra_output_kind): ...this new field.
399 * doc/invoke.texi (Environment Variables): Add
400 GCC_EXTRA_DIAGNOSTIC_OUTPUT.
401 * opts.c (common_handle_option): Update handling of
402 OPT_fdiagnostics_parseable_fixits for change to diagnostic_context
403 fields.
404
405 2021-01-14 Tamar Christina <tamar.christina@arm.com>
406
407 * tree-vect-slp-patterns.c (class complex_operations_pattern,
408 complex_operations_pattern::matches,
409 complex_operations_pattern::recognize,
410 complex_operations_pattern::build): New.
411 (slp_patterns): Use it.
412
413 2021-01-14 Tamar Christina <tamar.christina@arm.com>
414
415 * internal-fn.def (COMPLEX_FMS, COMPLEX_FMS_CONJ): New.
416 * optabs.def (cmls_optab, cmls_conj_optab): New.
417 * doc/md.texi: Document them.
418 * tree-vect-slp-patterns.c (class complex_fms_pattern,
419 complex_fms_pattern::matches, complex_fms_pattern::recognize,
420 complex_fms_pattern::build): New.
421
422 2021-01-14 Tamar Christina <tamar.christina@arm.com>
423
424 * internal-fn.def (COMPLEX_FMA, COMPLEX_FMA_CONJ): New.
425 * optabs.def (cmla_optab, cmla_conj_optab): New.
426 * doc/md.texi: Document them.
427 * tree-vect-slp-patterns.c (vect_match_call_p,
428 class complex_fma_pattern, vect_slp_reset_pattern,
429 complex_fma_pattern::matches, complex_fma_pattern::recognize,
430 complex_fma_pattern::build): New.
431
432 2021-01-14 Tamar Christina <tamar.christina@arm.com>
433
434 * internal-fn.def (COMPLEX_MUL, COMPLEX_MUL_CONJ): New.
435 * optabs.def (cmul_optab, cmul_conj_optab): New.
436 * doc/md.texi: Document them.
437 * tree-vect-slp-patterns.c (vect_match_call_complex_mla,
438 vect_normalize_conj_loc, is_eq_or_top, vect_validate_multiplication,
439 vect_build_combine_node, class complex_mul_pattern,
440 complex_mul_pattern::matches, complex_mul_pattern::recognize,
441 complex_mul_pattern::build): New.
442
443 2021-01-14 Tamar Christina <tamar.christina@arm.com>
444
445 * tree-vect-slp.c (optimize_load_redistribution_1): New.
446 (optimize_load_redistribution, vect_is_slp_load_node): New.
447 (vect_match_slp_patterns): Use it.
448
449 2021-01-14 Tamar Christina <tamar.christina@arm.com>
450
451 * tree-vect-slp-patterns.c (complex_add_pattern::build):
452 Elide nodes.
453
454 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
455
456 * config/gcn/mkoffload.c (main): Create an offload image only in
457 64-bit configurations.
458
459 2021-01-14 H.J. Lu <hjl.tools@gmail.com>
460
461 PR target/98667
462 * config/i386/i386-options.c (ix86_option_override_internal):
463 Issue an error for -fcf-protection with CF_BRANCH when compiling
464 for 32-bit non-TARGET_CMOV targets.
465
466 2021-01-14 Uroš Bizjak <ubizjak@gmail.com>
467
468 PR target/98671
469 * config/i386/i386-options.c (ix86_valid_target_attribute_inner_p):
470 Remove declaration and initialization of shadow variable "ret".
471 (ix86_option_override_internal): Remove delcaration of
472 shadow variable "i". Redeclare shadowed variable to unsigned.
473 * common/config/i386/i386-common.c (pta_size): Redeclare to unsigned.
474 * config/i386/i386-builtins.c (get_builtin_code_for_version):
475 Update for redeclaration.
476 * config/i386/i386.h (pta_size): Ditto.
477
478 2021-01-14 Richard Biener <rguenther@suse.de>
479
480 PR tree-optimization/98674
481 * tree-data-ref.c (base_supports_access_fn_components_p): New.
482 (initialize_data_dependence_relation): For two bases without
483 possible access fns resort to type size equality when determining
484 shape compatibility.
485
486 2021-01-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
487
488 PR target/66791
489 * config/arm/arm_neon.h: Replace calls to __builtin_vcge* by
490 <=, >= operators in vcle and vcge intrinsics respectively.
491 * config/arm/arm_neon_builtins.def: Remove entry for
492 vcge and vcgeu.
493
494 2021-01-14 Uroš Bizjak <ubizjak@gmail.com>
495
496 PR target/98671
497 * config/i386/i386-options.c (ix86_function_specific_save):
498 Remove redundant assignment to opts->x_ix86_branch_cost.
499 * config/i386/i386.c (ix86_prefetch_sse):
500 Rename from x86_prefetch_sse. Update all uses.
501 * config/i386/i386.h: Update for rename.
502 * config/i386/i386-options.h: Ditto.
503
504 2021-01-14 Jakub Jelinek <jakub@redhat.com>
505
506 PR target/98670
507 * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3,
508 *sse4_1_zero_extendv4hiv4si2_3, *sse4_1_zero_extendv2siv2di2_3):
509 Use Bm instead of m for non-avx. Add isa attribute.
510
511 2021-01-14 Jakub Jelinek <jakub@redhat.com>
512
513 PR tree-optimization/96688
514 * match.pd (~(X >> Y) -> ~X >> Y): New simplification if
515 ~X can be simplified.
516
517 2021-01-14 Richard Sandiford <richard.sandiford@arm.com>
518
519 * tree-vect-stmts.c (vect_model_load_cost): Account for unused
520 IFN_LOAD_LANES results.
521
522 2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
523
524 * config/aarch64/aarch64-simd.md (aarch64_<su>xtl<mode>):
525 Define.
526 (aarch64_xtn<mode>): Likewise.
527 * config/aarch64/aarch64-simd-builtins.def (sxtl, uxtl, xtn):
528 Define
529 builtins.
530 * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
531 builtin.
532 (vmovl_s16): Likewise.
533 (vmovl_s32): Likewise.
534 (vmovl_u8): Likewise.
535 (vmovl_u16): Likewise.
536 (vmovl_u32): Likewise.
537 (vmovn_s16): Likewise.
538 (vmovn_s32): Likewise.
539 (vmovn_s64): Likewise.
540 (vmovn_u16): Likewise.
541 (vmovn_u32): Likewise.
542 (vmovn_u64): Likewise.
543
544 2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
545
546 * config/aarch64/aarch64-simd.md (aarch64_<su>qxtn2<mode>_le):
547 Define.
548 (aarch64_<su>qxtn2<mode>_be): Likewise.
549 (aarch64_<su>qxtn2<mode>): Likewise.
550 * config/aarch64/aarch64-simd-builtins.def (sqxtn2, uqxtn2):
551 Define builtins.
552 * config/aarch64/iterators.md (SAT_TRUNC): Define code_iterator.
553 (su): Handle ss_truncate and us_truncate.
554 * config/aarch64/arm_neon.h (vqmovn_high_s16): Reimplement using
555 builtin.
556 (vqmovn_high_s32): Likewise.
557 (vqmovn_high_s64): Likewise.
558 (vqmovn_high_u16): Likewise.
559 (vqmovn_high_u32): Likewise.
560 (vqmovn_high_u64): Likewise.
561
562 2021-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
563
564 * config/aarch64/aarch64-simd.md (aarch64_xtn2<mode>_le):
565 Define.
566 (aarch64_xtn2<mode>_be): Likewise.
567 (aarch64_xtn2<mode>): Likewise.
568 * config/aarch64/aarch64-simd-builtins.def (xtn2): Define
569 builtins.
570 * config/aarch64/arm_neon.h (vmovn_high_s16): Reimplement using
571 builtins.
572 (vmovn_high_s32): Likewise.
573 (vmovn_high_s64): Likewise.
574 (vmovn_high_u16): Likewise.
575 (vmovn_high_u32): Likewise.
576 (vmovn_high_u64): Likewise.
577
578 2021-01-13 Stafford Horne <shorne@gmail.com>
579
580 * config/or1k/or1k.h (ASM_PREFERRED_EH_DATA_FORMAT): New macro.
581
582 2021-01-13 Stafford Horne <shorne@gmail.com>
583
584 * config/or1k/linux.h (TARGET_ASM_FILE_END): Define macro.
585
586 2021-01-13 Stafford Horne <shorne@gmail.com>
587
588 * config/or1k/or1k.h (TARGET_CPU_CPP_BUILTINS): Add builtin
589 define for __or1k_hard_float__.
590
591 2021-01-13 Stafford Horne <shorne@gmail.com>
592
593 * config/or1k/or1k.h (NO_PROFILE_COUNTERS): Define as 1.
594 (PROFILE_HOOK): Define to call _mcount.
595 (FUNCTION_PROFILER): Change from abort to no-op.
596
597 2021-01-13 Jakub Jelinek <jakub@redhat.com>
598
599 PR tree-optimization/96691
600 * match.pd ((~X | C) ^ D -> (X | C) ^ (~D ^ C),
601 (~X & C) ^ D -> (X & C) ^ (D ^ C)): New simplifications if
602 (~D ^ C) or (D ^ C) can be simplified.
603
604 2021-01-13 Richard Biener <rguenther@suse.de>
605
606 PR tree-optimization/92645
607 * match.pd (BIT_FIELD_REF to conversion): Delay canonicalization
608 until after vector lowering.
609
610 2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
611
612 * config/aarch64/aarch64-sve.md (fnma<mode>4): Extend from SVE_FULL_I
613 to SVE_I.
614 (@aarch64_pred_fnma<mode>, cond_fnma<mode>, *cond_fnma<mode>_2)
615 (*cond_fnma<mode>_4, *cond_fnma<mode>_any): Likewise.
616
617 2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
618
619 * config/aarch64/aarch64-sve.md (fma<mode>4): Extend from SVE_FULL_I
620 to SVE_I.
621 (@aarch64_pred_fma<mode>, cond_fma<mode>, *cond_fma<mode>_2)
622 (*cond_fma<mode>_4, *cond_fma<mode>_any): Likewise.
623
624 2021-01-13 Richard Biener <rguenther@suse.de>
625
626 PR tree-optimization/92645
627 * tree-vect-slp.c (vect_build_slp_tree_1): Relax supported
628 BIT_FIELD_REF argument.
629 (vect_build_slp_tree_2): Record the desired vector type
630 on the external vector def.
631 (vectorizable_slp_permutation): Handle required punning
632 of existing vector defs.
633
634 2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
635
636 * rtl-ssa/accesses.h (def_lookup): Fix order of comparison results.
637
638 2021-01-13 Richard Sandiford <richard.sandiford@arm.com>
639
640 * config/sh/sh.md (movsf_ie): Remove operands[2] test.
641
642 2021-01-13 Samuel Thibault <samuel.thibault@ens-lyon.org>
643
644 * config.gcc [$target == *-*-gnu*]: Enable
645 'default_gnu_indirect_function'.
646
647 2021-01-13 Jakub Jelinek <jakub@redhat.com>
648
649 PR target/95905
650 * optabs.c (expand_vec_perm_const): Don't force v0 and v1 into
651 registers before calling targetm.vectorize.vec_perm_const, only after
652 that.
653 * config/i386/i386-expand.c (ix86_vectorize_vec_perm_const): Handle
654 two argument permutation when one operand is zero vector and only
655 after that force operands into registers.
656 * config/i386/sse.md (*avx2_zero_extendv16qiv16hi2_1): New
657 define_insn_and_split pattern.
658 (*avx512bw_zero_extendv32qiv32hi2_1): Likewise.
659 (*avx512f_zero_extendv16hiv16si2_1): Likewise.
660 (*avx2_zero_extendv8hiv8si2_1): Likewise.
661 (*avx512f_zero_extendv8siv8di2_1): Likewise.
662 (*avx2_zero_extendv4siv4di2_1): Likewise.
663 * config/mips/mips.c (mips_vectorize_vec_perm_const): Force operands
664 into registers.
665 * config/arm/arm.c (arm_vectorize_vec_perm_const): Likewise.
666 * config/sparc/sparc.c (sparc_vectorize_vec_perm_const): Likewise.
667 * config/ia64/ia64.c (ia64_vectorize_vec_perm_const): Likewise.
668 * config/aarch64/aarch64.c (aarch64_vectorize_vec_perm_const): Likewise.
669 * config/rs6000/rs6000.c (rs6000_vectorize_vec_perm_const): Likewise.
670 * config/gcn/gcn.c (gcn_vectorize_vec_perm_const): Likewise. Use std::swap.
671
672 2021-01-13 Martin Liska <mliska@suse.cz>
673
674 PR tree-optimization/98455
675 * gimple-if-to-switch.cc (condition_info::record_phi_mapping):
676 Record also virtual PHIs.
677 (pass_if_to_switch::execute): Return TODO_cleanup_cfg only
678 conditionally.
679
680 2021-01-13 Jonathan Wakely <jwakely@redhat.com>
681
682 * doc/invoke.texi (C++ Modules): Fix typos.
683
684 2021-01-13 Richard Biener <rguenther@suse.de>
685
686 PR tree-optimization/98640
687 * tree-ssa-sccvn.c (visit_nary_op): Do not try to
688 handle plus or minus from a truncated operand to be
689 sign-extended.
690
691 2021-01-13 Jakub Jelinek <jakub@redhat.com>
692
693 PR target/96938
694 * config/i386/i386.md (*btr<mode>_1, *btr<mode>_2): New
695 define_insn_and_split patterns.
696 (splitter after *btr<mode>_2): New splitter.
697
698 2021-01-13 Martin Liska <mliska@suse.cz>
699
700 PR ipa/98652
701 * cgraphunit.c (analyze_functions): Remove dead code.
702
703 2021-01-13 Qian Jianhua <qianjh@cn.fujitsu.com>
704
705 * config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New.
706 * config/aarch64/aarch64.c (a64fx_addrcost_table): New.
707 (a64fx_regmove_cost, a64fx_vector_cost): New.
708 (a64fx_tunings): Use the new added cost tables.
709
710 2021-01-13 Jakub Jelinek <jakub@redhat.com>
711
712 PR target/95905
713 * config/i386/predicates.md (pmovzx_parallel): New predicate.
714 * config/i386/sse.md (*sse4_1_zero_extendv8qiv8hi2_3): New
715 define_insn_and_split pattern.
716 (*sse4_1_zero_extendv4hiv4si2_3): Likewise.
717 (*sse4_1_zero_extendv2siv2di2_3): Likewise.
718
719 2021-01-13 Julian Brown <julian@codesourcery.com>
720
721 * config/gcn/gcn.c (gcn_conditional_register_usage): Remove dead code
722 to fix v0 register.
723
724 2021-01-13 Julian Brown <julian@codesourcery.com>
725
726 * config/gcn/gcn.c (gcn_md_reorg): Fix case where EXEC reg is live
727 on entry to a BB.
728
729 2021-01-13 Julian Brown <julian@codesourcery.com>
730
731 * config/gcn/gcn-valu.md (recip<mode>2<exec>, recip<mode>2): Use unspec
732 for reciprocal-approximation instructions.
733 (div<mode>3): Use fused multiply-accumulate operations for reciprocal
734 refinement and division result.
735 * config/gcn/gcn.md (UNSPEC_RCP): New unspec constant.
736
737 2021-01-13 Julian Brown <julian@codesourcery.com>
738
739 * config/gcn/gcn-valu.md (subdf): Rename to...
740 (subdf3): This.
741
742 2021-01-12 Martin Liska <mliska@suse.cz>
743
744 * gcov.c (source_info::debug): Fix printf format for 32-bit hosts.
745
746 2021-01-12 Andrea Corallo <andrea.corallo@arm.com>
747
748 * function-abi.h: Fix typo.
749
750 2021-01-12 Christophe Lyon <christophe.lyon@linaro.org>
751
752 PR target/97875
753 PR target/97875
754 * config/arm/arm.h (ARM_HAVE_NEON_V8QI_LDST): New macro.
755 (ARM_HAVE_NEON_V16QI_LDST, ARM_HAVE_NEON_V4HI_LDST): Likewise.
756 (ARM_HAVE_NEON_V8HI_LDST, ARM_HAVE_NEON_V2SI_LDST): Likewise.
757 (ARM_HAVE_NEON_V4SI_LDST, ARM_HAVE_NEON_V4HF_LDST): Likewise.
758 (ARM_HAVE_NEON_V8HF_LDST, ARM_HAVE_NEON_V4BF_LDST): Likewise.
759 (ARM_HAVE_NEON_V8BF_LDST, ARM_HAVE_NEON_V2SF_LDST): Likewise.
760 (ARM_HAVE_NEON_V4SF_LDST, ARM_HAVE_NEON_DI_LDST): Likewise.
761 (ARM_HAVE_NEON_V2DI_LDST): Likewise.
762 (ARM_HAVE_V8QI_LDST, ARM_HAVE_V16QI_LDST): Likewise.
763 (ARM_HAVE_V4HI_LDST, ARM_HAVE_V8HI_LDST): Likewise.
764 (ARM_HAVE_V2SI_LDST, ARM_HAVE_V4SI_LDST, ARM_HAVE_V4HF_LDST): Likewise.
765 (ARM_HAVE_V8HF_LDST, ARM_HAVE_V4BF_LDST, ARM_HAVE_V8BF_LDST): Likewise.
766 (ARM_HAVE_V2SF_LDST, ARM_HAVE_V4SF_LDST, ARM_HAVE_DI_LDST): Likewise.
767 (ARM_HAVE_V2DI_LDST): Likewise.
768 * config/arm/mve.md (*movmisalign<mode>_mve_store): New pattern.
769 (*movmisalign<mode>_mve_load): New pattern.
770 * config/arm/neon.md (movmisalign<mode>): Move to ...
771 * config/arm/vec-common.md: ... here.
772
773 2021-01-12 Vladimir N. Makarov <vmakarov@redhat.com>
774
775 PR target/97969
776 * lra-eliminations.c (eliminate_regs_in_insn): Add transformation
777 of pattern 'plus (plus (hard reg, const), pseudo)'.
778
779 2021-01-12 Richard Biener <rguenther@suse.de>
780
781 PR tree-optimization/98550
782 * tree-vect-slp.c (vect_record_max_nunits): Check whether
783 the group size is a multiple of the vector element count.
784 (vect_build_slp_tree_1): When we need to fail because
785 the vector type choosen causes unrolling do so lazily
786 without affecting matches only at the end to guide group splitting.
787
788 2021-01-12 Martin Liska <mliska@suse.cz>
789
790 PR c++/97284
791 * optc-save-gen.awk: Compare also n_target_save vars with
792 strcmp.
793
794 2021-01-12 Martin Liska <mliska@suse.cz>
795
796 * gcov.c (source_info::debug): New.
797 (print_usage): Add --debug (-D) option.
798 (process_args): Likewise.
799 (generate_results): Call src->debug after
800 accumulate_line_counts.
801 (read_graph_file): Properly assign id for EXIT_BLOCK.
802 * profile.c (branch_prob): Dump function body before it is
803 instrumented.
804
805 2021-01-12 Jakub Jelinek <jakub@redhat.com>
806
807 PR tree-optimization/98629
808 * tree-ssa-math-opts.c (arith_overflow_check_p): Don't update use_stmt
809 unless returning non-zero.
810
811 2021-01-12 Jakub Jelinek <jakub@redhat.com>
812
813 PR tree-optimization/95731
814 * tree-ssa-reassoc.c (optimize_range_tests_cmp_bitwise): Also optimize
815 x < 0 && y < 0 && z < 0 into (x | y | z) < 0 for signed x, y, z.
816 (optimize_range_tests): Call optimize_range_tests_cmp_bitwise
817 only after optimize_range_tests_var_bound.
818
819 2021-01-12 Jakub Jelinek <jakub@redhat.com>
820
821 * configure.ac: Ensure c/Make-lang.in comes first in @all_lang_makefrags@.
822 * configure: Regenerated.
823
824 2021-01-12 liuhongt <hongtao.liu@intel.com>
825
826 PR target/98612
827 * config/i386/i386-builtins.h (BUILTIN_DESC_SWAP_OPERANDS):
828 Deleted.
829 * config/i386/i386-expand.c (ix86_expand_sse_comi): Delete
830 dead code.
831
832 2021-01-12 Alexandre Oliva <oliva@adacore.com>
833
834 * ssa-iterators.h (end_imm_use_stmt_traverse): Forward
835 declare.
836 (auto_end_imm_use_stmt_traverse): New struct.
837 (FOR_EACH_IMM_USE_STMT): Use it.
838 (BREAK_FROM_IMM_USE_STMT, RETURN_FROM_IMM_USE_STMT): Remove,
839 along with uses...
840 * gimple-ssa-strength-reduction.c: ... here, ...
841 * graphite-scop-detection.c: ... here, ...
842 * ipa-modref.c, ipa-pure-const.c, ipa-sra.c: ... here, ...
843 * tree-predcom.c, tree-ssa-ccp.c: ... here, ...
844 * tree-ssa-dce.c, tree-ssa-dse.c: ... here, ...
845 * tree-ssa-loop-ivopts.c, tree-ssa-math-opts.c: ... here, ...
846 * tree-ssa-phiprop.c, tree-ssa.c: ... here, ...
847 * tree-vect-slp.c: ... and here, ...
848 * doc/tree-ssa.texi: ... and the example here.
849
850 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
851
852 * config/aarch64/aarch64-sve.md (sdiv_pow2<mode>3): Extend from
853 SVE_FULL_I to SVE_I. Generate an UNSPEC_PRED_X.
854 (*sdiv_pow2<mode>3): New pattern.
855 (@cond_<sve_int_op><mode>): Extend from SVE_FULL_I to SVE_I.
856 Wrap the ASRD in an UNSPEC_PRED_X.
857 (*cond_<sve_int_op><mode>_2): Likewise. Replace the UNSPEC_PRED_X
858 predicate with a constant PTRUE, if it isn't already.
859 (*cond_<sve_int_op><mode>_z): Replace with...
860 (*cond_<sve_int_op><mode>_any): ...this new pattern.
861
862 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
863
864 * config/aarch64/aarch64-sve.md (*cond_bic<mode>_2): Extend from
865 SVE_FULL_I to SVE_I.
866 (*cond_bic<mode>_any): Likewise.
867
868 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
869
870 * config/aarch64/aarch64-sve.md (<su>mul<mode>3_highpart)
871 (@aarch64_pred_<MUL_HIGHPART:optab><mode>): Extend from SVE_FULL_I
872 to SVE_I.
873
874 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
875
876 * config/aarch64/aarch64-sve.md (<su>abd<mode>_3): Extend from
877 SVE_FULL_I to SVE_I.
878 (*aarch64_cond_<su>abd<mode>_2): Likewise.
879 (*aarch64_cond_<su>abd<mode>_any): Likewise.
880 (@aarch64_pred_<su>abd<mode>): Likewise. Use UNSPEC_PRED_X
881 for the max and min but not for the minus.
882 (*aarch64_cond_<su>abd<mode>_3): New pattern.
883
884 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
885
886 * config/aarch64/iterators.md (SVE_24I): New iterator.
887 * config/aarch64/aarch64-sve.md (*aarch64_adr<mode>_shift): Extend from
888 SVE_FULL_SDI to SVE_24I. Use containers rather than elements.
889
890 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
891
892 * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_BINARY:optab><mode>)
893 (*cond_<SVE_INT_BINARY:optab><mode>_2): Extend from SVE_FULL_I
894 to SVE_I.
895 (*cond_<SVE_INT_BINARY:optab><mode>_3): Likewise.
896 (*cond_<SVE_INT_BINARY:optab><mode>_any): Likewise.
897 (*cond_<SVE_INT_BINARY:optab><mode>_2_const): Likewise.
898 (*cond_<SVE_INT_BINARY:optab><mode>_any_const): Likewise.
899
900 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
901
902 * config/aarch64/aarch64-sve.md (<SVE_INT_BINARY_IMM:optab><mode>3)
903 (@aarch64_pred_<SVE_INT_BINARY_IMM:optab><mode>)
904 (*post_ra_<SVE_INT_BINARY_IMM:optab><mode>3): Extend from SVE_FULL_I
905 to SVE_I.
906
907 2021-01-11 Richard Sandiford <richard.sandiford@arm.com>
908
909 * config/aarch64/aarch64-sve.md (<ASHIFT:optab><mode>3)
910 (v<ASHIFT:optab><mode>3, @aarch64_pred_<optab><mode>)
911 (*post_ra_v<ASHIFT:optab><mode>3): Extend from SVE_FULL_I to SVE_I.
912
913 2021-01-11 Martin Liska <mliska@suse.cz>
914
915 PR jit/98615
916 * symtab-clones.h (clone_info::release): Release
917 symtab::m_clones with ggc_delete as it's a GGC memory.
918
919 2021-01-11 Matthias Klose <doko@ubuntu.com>
920
921 * Makefile.in (LINK_PROGRESS): Show the link target.
922
923 2021-01-11 Richard Biener <rguenther@suse.de>
924
925 PR tree-optimization/91403
926 * tree-vect-data-refs.c (vect_analyze_group_access_1): Cap
927 single-element interleaving group size at 4096 elements.
928
929 2021-01-11 Richard Biener <rguenther@suse.de>
930
931 PR tree-optimization/98526
932 * tree-vect-loop.c (vect_model_reduction_cost): Remove costing
933 of the actual reduction op for the regular case.
934 (vectorizable_reduction): Cost the stmts
935 vect_transform_reduction produces here.
936
937 2021-01-11 Andreas Krebbel <krebbel@linux.ibm.com>
938
939 * tree-ssa-forwprop.c (simplify_vector_constructor): For
940 big-endian, use UNPACK[_FLOAT]_HI.
941
942 2021-01-11 Tamar Christina <tamar.christina@arm.com>
943
944 * tree-vect-slp-patterns.c (class complex_pattern,
945 class complex_add_pattern): Add parameters to matches.
946 (complex_add_pattern::build): Free memory.
947 (complex_add_pattern::matches): Move validation end of match.
948 (complex_add_pattern::recognize): Likewise.
949
950 2021-01-11 Tamar Christina <tamar.christina@arm.com>
951
952 * tree-vect-slp-patterns.c (linear_loads_p): Fix externals.
953
954 2021-01-11 Tamar Christina <tamar.christina@arm.com>
955
956 * tree-vect-slp-patterns.c (is_linear_load_p): Fix ambiguity.
957
958 2021-01-11 Jakub Jelinek <jakub@redhat.com>
959
960 PR tree-optimization/95867
961 * tree-ssa-math-opts.h: New header.
962 * tree-ssa-math-opts.c: Include tree-ssa-math-opts.h.
963 (powi_as_mults): No longer static. Use build_one_cst instead of
964 build_real. Formatting fix.
965 * tree-ssa-reassoc.c: Include tree-ssa-math-opts.h.
966 (attempt_builtin_powi): Handle multiplication reassociation without
967 powi_fndecl using powi_as_mults.
968 (reassociate_bb): For integral types don't require
969 -funsafe-math-optimizations to call attempt_builtin_powi.
970
971 2021-01-11 Jakub Jelinek <jakub@redhat.com>
972
973 PR tree-optimization/95852
974 * tree-ssa-math-opts.c (maybe_optimize_guarding_check): Change
975 mul_stmts parameter type to vec<gimple *> &. Before cond_stmt
976 allow in the bb any of the stmts in that vector, div_stmt and
977 up to 3 cast stmts.
978 (arith_cast_equal_p): New function.
979 (arith_overflow_check_p): Add cast_stmt argument, handle signed
980 multiply overflow checks.
981 (match_arith_overflow): Adjust caller. Handle signed multiply
982 overflow checks.
983
984 2021-01-11 Jakub Jelinek <jakub@redhat.com>
985
986 PR tree-optimization/95852
987 * tree-ssa-math-opts.c (maybe_optimize_guarding_check): New function.
988 (uaddsub_overflow_check_p): Renamed to ...
989 (arith_overflow_check_p): ... this. Handle also multiplication
990 with overflow check.
991 (match_uaddsub_overflow): Renamed to ...
992 (match_arith_overflow): ... this. Add cfg_changed argument. Handle
993 also multiplication with overflow check. Adjust function comment.
994 (math_opts_dom_walker::after_dom_children): Adjust callers. Call
995 match_arith_overflow also for MULT_EXPR.
996
997 2021-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
998
999 * config/aarch64/arm_neon.h (vmovl_s8): Reimplement using
1000 __builtin_convertvector.
1001 (vmovl_s16): Likewise.
1002 (vmovl_s32): Likewise.
1003 (vmovl_u8): Likewise.
1004 (vmovl_u16): Likewise.
1005 (vmovl_u32): Likewise.
1006 (vmovn_s16): Likewise.
1007 (vmovn_s32): Likewise.
1008 (vmovn_s64): Likewise.
1009 (vmovn_u16): Likewise.
1010 (vmovn_u32): Likewise.
1011 (vmovn_u64): Likewise.
1012
1013 2021-01-11 Martin Liska <mliska@suse.cz>
1014
1015 * gimple-if-to-switch.cc (struct condition_info): Use auto_var.
1016 (if_chain::is_beneficial): Delete clusters
1017 (find_conditions): Make second argument of conditions_in_bbs a
1018 pointer so that we control over it's lifetime.
1019 (pass_if_to_switch::execute): Delete them.
1020
1021 2021-01-11 Kewen Lin <linkw@linux.ibm.com>
1022
1023 * ira.c (move_unallocated_pseudos): Check other_reg and skip if
1024 it isn't set.
1025
1026 2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
1027
1028 * config/vax/vax.md (cc): Remove mode attribute.
1029 (subst_<cc>, subst_f<cc>): Rename to...
1030 (subst_<mode>, subst_f<VAXccnz:mode>): ... these respectively.
1031 (*cbranch<VAXint:mode>4_<VAXcc:mode>): Update for `cc' removal.
1032 (*cbranch<VAXfp:mode>4_<VAXccnz:mode>): Likewise.
1033 (*branch_<mode>, *branch_<mode>_reversed): Likewise.
1034
1035 2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
1036
1037 * config/vax/vax.md (subst_f<cc>): Add mode to operands and
1038 `const_double_zero'.
1039
1040 2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
1041
1042 * config/pdp11/pdp11.md (PDPfp): New mode iterator.
1043 (fcc_cc, fcc_ccnz): Use it. Add mode to `const_double_zero' and
1044 operands.
1045
1046 2021-01-09 Maciej W. Rozycki <macro@linux-mips.org>
1047
1048 * genemit.c (gen_exp) <CONST_DOUBLE>: Handle `const_double_zero'
1049 rtx.
1050 * read-rtl.c (rtx_reader::read_rtx_code): Handle machine mode
1051 with `const_double_zero'.
1052 * doc/rtl.texi (Constant Expression Types): Document it.
1053
1054 2021-01-09 Jakub Jelinek <jakub@redhat.com>
1055
1056 PR c++/98556
1057 * tree-cfg.c (verify_gimple_assign_binary): Allow lhs of
1058 POINTER_DIFF_EXPR to be any integral type.
1059
1060 2021-01-09 Jakub Jelinek <jakub@redhat.com>
1061
1062 PR rtl-optimization/98603
1063 * function.c (instantiate_virtual_regs_in_insn): For asm goto
1064 with impossible constraints, drop all SETs, CLOBBERs, drop PARALLEL
1065 if any, set ASM_OPERANDS mode to VOIDmode and change
1066 ASM_OPERANDS_OUTPUT_CONSTRAINT and ASM_OPERANDS_OUTPUT_IDX.
1067
1068 2021-01-09 Alexandre Oliva <oliva@gnu.org>
1069
1070 PR debug/97714
1071 * final.c (notice_source_line): Narrow down the condition to
1072 skip a line-0 marker.
1073
1074 2021-01-08 Sergei Trofimovich <siarheit@google.com>
1075
1076 * ipa-modref.c (merge_call_side_effects): Fix
1077 linebreak split by reordering two print calls.
1078
1079 2021-01-08 Ilya Leoshkevich <iii@linux.ibm.com>
1080
1081 * config/s390/vector.md (*tf_to_fprx2_0): Rename from
1082 "*mov_tf_to_fprx2_0" for consistency, fix constraint.
1083 (*tf_to_fprx2_1): Rename from "*mov_tf_to_fprx2_1" for
1084 consistency, fix constraint.
1085
1086 2021-01-08 Ilya Leoshkevich <iii@linux.ibm.com>
1087
1088 * config/s390/s390-c.c (s390_def_or_undef_macro): Accept
1089 callables instead of mask values.
1090 (struct target_flag_set_p): New predicate.
1091 (s390_cpu_cpp_builtins_internal): Define or undefine
1092 __LONG_DOUBLE_VX__ macro.
1093
1094 2021-01-08 H.J. Lu <hjl.tools@gmail.com>
1095
1096 PR target/98482
1097 * config/i386/i386.c (x86_function_profiler): Use R10 and R11
1098 to call mcount in large model with PIC for NO_PROFILE_COUNTERS
1099 targets.
1100
1101 2021-01-08 Richard Biener <rguenther@suse.de>
1102
1103 * tree-ssa-sccvn.c (pass_fre::execute): Reset the SCEV hash table.
1104
1105 2021-01-08 Richard Biener <rguenther@suse.de>
1106
1107 * tree-vect-slp.c (scalar_stmts_to_slp_tree_map_t): Fix.
1108 (vect_build_slp_tree): On cache hit release the matched
1109 scalar stmts vector.
1110 * tree-vect-stmts.c (vectorizable_store): Properly free
1111 vec_oprnds before possibly gathering them again.
1112
1113 2021-01-08 Richard Biener <rguenther@suse.de>
1114
1115 PR tree-optimization/98544
1116 * tree-vect-slp.c (vect_optimize_slp): Always materialize
1117 permutes at a permute node.
1118
1119 2021-01-08 H.J. Lu <hjl.tools@gmail.com>
1120
1121 PR target/98482
1122 * config/i386/i386.c (x86_function_profiler): Use R10 to call
1123 mcount in large model. Sorry for large model with PIC.
1124
1125 2021-01-08 Jakub Jelinek <jakub@redhat.com>
1126
1127 PR target/98585
1128 * config/i386/i386.opt (ix86_cmodel, ix86_incoming_stack_boundary_arg,
1129 ix86_pmode, ix86_preferred_stack_boundary_arg, ix86_regparm,
1130 ix86_veclibabi_type): Remove x_ prefix, use TargetVariable instead of
1131 TargetSave and initialize for variables with enum types.
1132 (mfentry, mstack-protector-guard-reg=, mstack-protector-guard-offset=,
1133 mstack-protector-guard-symbol=): Add Save.
1134 * config/i386/i386-options.c (ix86_function_specific_save,
1135 ix86_function_specific_restore): Don't save or restore x_ix86_cmodel,
1136 x_ix86_incoming_stack_boundary_arg, x_ix86_pmode,
1137 x_ix86_preferred_stack_boundary_arg, x_ix86_regparm,
1138 x_ix86_veclibabi_type.
1139
1140 2021-01-08 Richard Sandiford <richard.sandiford@arm.com>
1141
1142 * config/aarch64/aarch64-sve.md (*cnot<mode>): Extend from
1143 SVE_FULL_I to SVE_I.
1144 (*cond_cnot<mode>_2, *cond_cnot<mode>_any): Likewise.
1145
1146 2021-01-08 Richard Sandiford <richard.sandiford@arm.com>
1147
1148 * config/aarch64/aarch64-sve.md (*cond_uxt<mode>_2): Extend from
1149 SVE_FULL_I to SVE_I.
1150 (*cond_uxt<mode>_any): Likewise.
1151
1152 2021-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1153
1154 * config/aarch64/iterators.md (Vwhalf): New iterator.
1155 * config/aarch64/aarch64-simd.md (aarch64_<sur>adalp<mode>_3):
1156 Rename to...
1157 (aarch64_<sur>adalp<mode>): ... This. Make more
1158 builtin-friendly.
1159 (<sur>sadv16qi): Adjust callsite of the above.
1160 * config/aarch64/aarch64-simd-builtins.def (sadalp, uadalp): New
1161 builtins.
1162 * config/aarch64/arm_neon.h (vpadal_s8): Reimplement using
1163 builtins.
1164 (vpadal_s16): Likewise.
1165 (vpadal_u8): Likewise.
1166 (vpadal_u16): Likewise.
1167 (vpadalq_s8): Likewise.
1168 (vpadalq_s16): Likewise.
1169 (vpadalq_s32): Likewise.
1170 (vpadalq_u8): Likewise.
1171 (vpadalq_u16): Likewise.
1172 (vpadalq_u32): Likewise.
1173
1174 2021-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1175
1176 * config/aarch64/aarch64-simd.md (aarch64_<su>abd<mode>_3):
1177 Rename to...
1178 (aarch64_<su>abd<mode>): ... This.
1179 (<sur>sadv16qi): Adjust callsite of the above.
1180 * config/aarch64/aarch64-simd-builtins.def (sabd, uabd): Define
1181 builtins.
1182 * config/aarch64/arm_neon.h (vabd_s8): Reimplement using
1183 builtin.
1184 (vabd_s16): Likewise.
1185 (vabd_s32): Likewise.
1186 (vabd_u8): Likewise.
1187 (vabd_u16): Likewise.
1188 (vabd_u32): Likewise.
1189 (vabdq_s8): Likewise.
1190 (vabdq_s16): Likewise.
1191 (vabdq_s32): Likewise.
1192 (vabdq_u8): Likewise.
1193 (vabdq_u16): Likewise.
1194 (vabdq_u32): Likewise.
1195
1196 2021-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1197
1198 * config/aarch64/aarch64-simd-builtins.def (saba, uaba): Define
1199 builtins.
1200 * config/aarch64/arm_neon.h (vaba_s8): Implement using builtin.
1201 (vaba_s16): Likewise.
1202 (vaba_s32): Likewise.
1203 (vaba_u8): Likewise.
1204 (vaba_u16): Likewise.
1205 (vaba_u32): Likewise.
1206 (vabaq_s8): Likewise.
1207 (vabaq_s16): Likewise.
1208 (vabaq_s32): Likewise.
1209 (vabaq_u8): Likewise.
1210 (vabaq_u16): Likewise.
1211 (vabaq_u32): Likewise.
1212
1213 2021-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1214
1215 * config/aarch64/aarch64-simd.md (aba<mode>_3): Rename to...
1216 (aarch64_<su>aba<mode>): ... This. Handle uaba as well.
1217 Change RTL pattern to match.
1218
1219 2021-01-08 Kito Cheng <kito.cheng@sifive.com>
1220
1221 * common/config/riscv/riscv-common.c (riscv_current_subset_list): New.
1222 * config/riscv/riscv-c.c (riscv-subset.h): New.
1223 (INCLUDE_STRING): Define.
1224 (riscv_cpu_cpp_builtins): Add new style architecture extension
1225 test macros.
1226 * config/riscv/riscv-subset.h (riscv_subset_list::begin): New.
1227 (riscv_subset_list::end): New.
1228 (riscv_current_subset_list): New.
1229
1230 2021-01-08 Kito Cheng <kito.cheng@sifive.com>
1231
1232 * common/config/riscv/riscv-common.c (RISCV_DONT_CARE_VERSION):
1233 Move to riscv-subset.h.
1234 (struct riscv_subset_t): Ditto.
1235 (class riscv_subset_list): Ditto.
1236 * config/riscv/riscv-subset.h (RISCV_DONT_CARE_VERSION): Move
1237 from riscv-common.c.
1238 (struct riscv_subset_t): Ditto.
1239 (class riscv_subset_list): Ditto.
1240 * config/riscv/t-riscv ($(common_out_file)): Add file
1241 dependency.
1242
1243 2021-01-07 Jakub Jelinek <jakub@redhat.com>
1244
1245 PR target/98567
1246 * config/i386/i386.md (*bmi_blsi_<mode>_cmp, *bmi_blsi_<mode>_ccno):
1247 New define_insn patterns.
1248
1249 2021-01-07 Richard Sandiford <richard.sandiford@arm.com>
1250
1251 * config/aarch64/aarch64-sve.md (@cond_<SVE_INT_UNARY:optab><mode>)
1252 (*cond_<SVE_INT_UNARY:optab><mode>_2): Extend from SVE_FULL_I to SVE_I.
1253 (*cond_<SVE_INT_UNARY:optab><mode>_any): Likewise.
1254
1255 2021-01-07 Richard Sandiford <richard.sandiford@arm.com>
1256
1257 PR tree-optimization/98560
1258 * internal-fn.def (IFN_VCONDU, IFN_VCONDEQ): Use type vec_cond.
1259 * internal-fn.c (vec_cond_mask_direct): Get the data mode from
1260 argument 1.
1261 (vec_cond_direct): Likewise argument 2.
1262 (vec_condu_direct, vec_condeq_direct): Delete.
1263 (expand_vect_cond_optab_fn): Rename to...
1264 (expand_vec_cond_optab_fn): ...this, replacing old macro.
1265 (expand_vec_condu_optab_fn, expand_vec_condeq_optab_fn): Delete.
1266 (expand_vect_cond_mask_optab_fn): Rename to...
1267 (expand_vec_cond_mask_optab_fn): ...this, replacing old macro.
1268 (direct_vec_cond_mask_optab_supported_p): Treat the optab as a
1269 convert optab.
1270 (direct_vec_cond_optab_supported_p): Likewise.
1271 (direct_vec_condu_optab_supported_p): Delete.
1272 (direct_vec_condeq_optab_supported_p): Delete.
1273 * gimple-isel.cc: Include internal-fn.h.
1274 (gimple_expand_vec_cond_expr): Check that IFN_VCONDEQ is supported
1275 before using it.
1276
1277 2021-01-07 Richard Sandiford <richard.sandiford@arm.com>
1278
1279 PR tree-optimization/98560
1280 * gimple-isel.cc (gimple_expand_vec_cond_expr): If we fail to use
1281 IFN_VCOND{,U,EQ}, fall back on IFN_VCOND_MASK.
1282
1283 2021-01-07 Uroš Bizjak <ubizjak@gmail.com>
1284
1285 * config/i386/i386.md (insn): Merge from plusminus_insn, shift_insn,
1286 rotate_insn and optab code attributes.
1287 Update all uses to merged code attribute.
1288 * config/i386/sse.md: Update all uses to merged code attribute.
1289 * config/i386/mmx.md: Update all uses to merged code attribute.
1290
1291 2021-01-07 Jakub Jelinek <jakub@redhat.com>
1292
1293 PR tree-optimization/98568
1294 * gimple-ssa-store-merging.c (bswap_view_convert): New function.
1295 (bswap_replace): Use it.
1296
1297 2021-01-06 Vladimir N. Makarov <vmakarov@redhat.com>
1298
1299 PR rtl-optimization/97978
1300 * lra-int.h (lra_hard_reg_split_p): New external.
1301 * lra.c (lra_hard_reg_split_p): New global.
1302 (lra): Set up lra_hard_reg_split_p after splitting a hard reg.
1303 * lra-assigns.c (lra_assign): Don't check allocation correctness
1304 after hard reg splitting.
1305
1306 2021-01-06 Martin Sebor <msebor@redhat.com>
1307
1308 PR c++/98305
1309 * builtins.c (new_delete_mismatch_p): New overload.
1310 (new_delete_mismatch_p (tree, tree)): Call it.
1311
1312 2021-01-06 Alexandre Oliva <oliva@adacore.com>
1313
1314 * Makefile.in (T_GLIMITS_H): New.
1315 (stmp-int-hdrs): Depend on it, use it.
1316 * config/t-vxworks (T_GLIMITS_H): Override it.
1317 (vxw-glimits.h): New.
1318
1319 2021-01-06 Richard Biener <rguenther@suse.de>
1320
1321 PR tree-optimization/98513
1322 * value-range.cc (intersect_ranges): Compare the upper bounds
1323 for the expected relation.
1324
1325 2021-01-06 Gerald Pfeifer <gerald@pfeifer.com>
1326
1327 Revert:
1328 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
1329
1330 * doc/standards.texi (HSAIL): Remove section.
1331
1332 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
1333
1334 * configure: Re-generate.
1335
1336 2021-01-05 Jakub Jelinek <jakub@redhat.com>
1337
1338 * doc/invoke.texi (-std=c++20): Adjust for the publication of
1339 ISO 14882:2020 standard.
1340 * doc/standards.texi: Likewise.
1341
1342 2021-01-05 Jakub Jelinek <jakub@redhat.com>
1343
1344 PR tree-optimization/94802
1345 * expr.h (maybe_optimize_sub_cmp_0): Declare.
1346 * expr.c: Include tree-pretty-print.h and flags.h.
1347 (maybe_optimize_sub_cmp_0): New function.
1348 (do_store_flag): Use it.
1349 * cfgexpand.c (expand_gimple_cond): Likewise.
1350
1351 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
1352
1353 * mux-utils.h (pointer_mux::m_ptr): Tweak description of contents.
1354 * rtlanal.c (simple_regno_set): Tweak description to clarify the
1355 RMW condition.
1356
1357 2021-01-05 Richard Biener <rguenther@suse.de>
1358
1359 PR tree-optimization/98516
1360 * tree-vect-slp.c (vect_optimize_slp): Permute the incoming
1361 lanes when materializing on a VEC_PERM node.
1362 (vectorizable_slp_permutation): Dump the permute properly.
1363
1364 2021-01-05 Richard Biener <rguenther@suse.de>
1365
1366 * tree-vect-slp.c (vect_slp_region): Move debug counter
1367 to cover individual subgraphs.
1368
1369 2021-01-05 Richard Biener <rguenther@suse.de>
1370
1371 PR tree-optimization/98428
1372 * tree-vect-slp.c (vect_build_slp_tree_1): Properly reject
1373 vector lane extracts for loop vectorization.
1374
1375 2021-01-05 Jakub Jelinek <jakub@redhat.com>
1376
1377 PR tree-optimization/98514
1378 * tree-ssa-reassoc.c (bb_rank): Change type from long * to
1379 int64_t *.
1380 (operand_rank): Change type from hash_map<tree, long> to
1381 hash_map<tree, int64_t>.
1382 (phi_rank): Change return type from long to int64_t.
1383 (loop_carried_phi): Change block_rank variable type from long to
1384 int64_t.
1385 (propagate_rank): Change return type, rank parameter type and
1386 op_rank variable type from long to int64_t.
1387 (find_operand_rank): Change return type from long to int64_t
1388 and change slot variable type from long * to int64_t *.
1389 (insert_operand_rank): Change rank parameter type from long to
1390 int64_t.
1391 (get_rank): Change return type and rank variable type from long to
1392 int64_t. Use PRId64 instead of ld to print the rank.
1393 (init_reassoc): Change rank variable type from long to int64_t
1394 and adjust correspondingly bb_rank and operand_rank initialization.
1395
1396 2021-01-05 Jakub Jelinek <jakub@redhat.com>
1397
1398 PR tree-optimization/96928
1399 * tree-ssa-phiopt.c (xor_replacement): New function.
1400 (tree_ssa_phiopt_worker): Call it.
1401
1402 2021-01-05 Jakub Jelinek <jakub@redhat.com>
1403
1404 PR tree-optimization/96930
1405 * match.pd ((A / (1 << B)) -> (A >> B)): If A is extended
1406 from narrower value which has the same type as 1 << B, perform
1407 the right shift on the narrower value followed by extension.
1408
1409 2021-01-05 Jakub Jelinek <jakub@redhat.com>
1410
1411 PR tree-optimization/96239
1412 * gimple-ssa-store-merging.c (maybe_optimize_vector_constructor): New
1413 function.
1414 (get_status_for_store_merging): Don't return BB_INVALID for blocks
1415 with potential bswap optimizable CONSTRUCTORs.
1416 (pass_store_merging::execute): Optimize vector CONSTRUCTORs with bswap
1417 if possible.
1418
1419 2021-01-05 Richard Biener <rguenther@suse.de>
1420
1421 PR tree-optimization/98381
1422 * tree.c (vector_element_bits): Properly compute bool vector
1423 element size.
1424 * tree-vect-loop.c (vectorizable_live_operation): Properly
1425 compute the last lane bit offset.
1426
1427 2021-01-05 Uroš Bizjak <ubizjak@gmail.com>
1428
1429 PR target/98522
1430 * config/i386/sse.md (sse_cvtps2pi): Redefine as define_insn_and_split.
1431 Clear the top 64 bytes of the input XMM register.
1432 (sse_cvttps2pi): Ditto.
1433
1434 2021-01-05 Uroš Bizjak <ubizjak@gmail.com>
1435
1436 PR target/98521
1437 * config/i386/xopintrin.h (_mm256_cmov_si256): New.
1438
1439 2021-01-05 H.J. Lu <hjl.tools@gmail.com>
1440
1441 PR target/98495
1442 * config/i386/xmmintrin.h (_mm_extract_pi16): Cast to unsigned
1443 short first.
1444
1445 2021-01-05 Claudiu Zissulescu <claziss@synopsys.com>
1446
1447 * config/arc/arc.md (maddsidi4_split): Use ACC_REG_FIRST.
1448 (umaddsidi4_split): Likewise.
1449
1450 2021-01-05 liuhongt <hongtao.liu@intel.com>
1451
1452 PR target/98461
1453 * config/i386/sse.md (*sse2_pmovskb_zexthisi): New
1454 define_insn_and_split for zero_extend of subreg HI of pmovskb
1455 result.
1456 (*sse2_pmovskb_zexthisi): Add new combine splitters for
1457 zero_extend of not of subreg HI of pmovskb result.
1458
1459 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
1460
1461 PR target/97269
1462 * explow.c (convert_memory_address_addr_space_1): Handle UNSPECs
1463 nested in CONSTs.
1464 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Use
1465 convert_memory_address to convert symbolic immediates to ptr_mode
1466 before forcing them to memory.
1467
1468 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
1469
1470 PR rtl-optimization/97144
1471 * recog.c (constrain_operands): Initialize matching_operand
1472 for each alternative, rather than only doing it once.
1473
1474 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
1475
1476 PR rtl-optimization/98403
1477 * rtl-ssa/changes.cc (function_info::finalize_new_accesses): Explain
1478 why we don't remove call clobbers.
1479 (function_info::apply_changes_to_insn): Don't attempt to add
1480 call clobbers here.
1481
1482 2021-01-05 Richard Sandiford <richard.sandiford@arm.com>
1483
1484 PR tree-optimization/98371
1485 * tree-vect-loop.c (vect_reanalyze_as_main_loop): New function.
1486 (vect_analyze_loop): If an epilogue loop appears to be cheaper
1487 than the main loop, re-analyze it as a main loop before adopting
1488 it as a main loop.
1489
1490 2021-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1491
1492 PR c++/98316
1493 * configure.ac (NETLIBS): Determine using AX_LIB_SOCKET_NSL.
1494 * aclocal.m4, configure: Regenerate.
1495 * Makefile.in (NETLIBS): Define.
1496 (BACKEND): Remove $(CODYLIB).
1497
1498 2021-01-05 Jakub Jelinek <jakub@redhat.com>
1499
1500 PR rtl-optimization/98334
1501 * simplify-rtx.c (simplify_context::simplify_binary_operation_1):
1502 Optimize (X - 1) * Y + Y to X * Y or (X + 1) * Y - Y to X * Y.
1503
1504 2021-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
1505
1506 * tree-inline.c (expand_call_inline): Restore input_location.
1507 Return result from recursive call.
1508
1509 2021-01-04 Richard Sandiford <richard.sandiford@arm.com>
1510
1511 PR tree-optimization/95401
1512 * config/aarch64/aarch64-sve-builtins.cc
1513 (gimple_folder::load_store_cookie): Use bits rather than bytes
1514 for the alignment argument to IFN_MASK_LOAD and IFN_MASK_STORE.
1515 * gimple-fold.c (gimple_fold_mask_load_store_mem_ref): Likewise.
1516 * tree-vect-stmts.c (vectorizable_store): Likewise.
1517 (vectorizable_load): Likewise.
1518
1519 2021-01-04 Richard Biener <rguenther@suse.de>
1520
1521 PR tree-optimization/98308
1522 * tree-vect-stmts.c (vectorizable_load): Set invariant mask
1523 SLP vectype.
1524
1525 2021-01-04 Jakub Jelinek <jakub@redhat.com>
1526
1527 PR tree-optimization/95771
1528 * tree-ssa-loop-niter.c (number_of_iterations_popcount): Handle types
1529 with precision smaller than int's precision and types with precision
1530 twice as large as long long. Formatting fixes.
1531
1532 2021-01-04 Richard Biener <rguenther@suse.de>
1533
1534 PR tree-optimization/98464
1535 * tree-ssa-sccvn.c (vn_valueize_for_srt): Rename from ...
1536 (vn_valueize_wrapper): ... this. Temporarily adjust vn_context_bb.
1537 (process_bb): Adjust.
1538
1539 2021-01-04 Matthew Malcomson <matthew.malcomson@arm.com>
1540
1541 PR other/98437
1542 * doc/invoke.texi (-fsanitize=address): Fix wording describing
1543 clash with -fsanitize=hwaddress.
1544
1545 2021-01-04 Richard Biener <rguenther@suse.de>
1546
1547 PR tree-optimization/98282
1548 * tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on
1549 invariants as VN_NARY.
1550
1551 2021-01-04 Richard Sandiford <richard.sandiford@arm.com>
1552
1553 PR target/89057
1554 * config/aarch64/aarch64-simd.md (aarch64_combine<mode>): Accept
1555 aarch64_simd_reg_or_zero for operand 2. Use the combinez patterns
1556 to handle zero operands.
1557
1558 2021-01-04 Richard Sandiford <richard.sandiford@arm.com>
1559
1560 * config/aarch64/aarch64.c (offset_6bit_signed_scaled_p): New function.
1561 (offset_6bit_unsigned_scaled_p): Fix typo in comment.
1562 (aarch64_sve_prefetch_operand_p): Accept MUL VLs in the range
1563 [-32, 31].
1564
1565 2021-01-04 Richard Biener <rguenther@suse.de>
1566
1567 PR tree-optimization/98393
1568 * tree-vect-slp.c (vect_build_slp_tree): Properly zero matches
1569 when hitting the limit.
1570
1571 2021-01-04 Richard Biener <rguenther@suse.de>
1572
1573 PR tree-optimization/98291
1574 * tree-vect-loop.c (vectorizable_reduction): Bypass
1575 associativity check for SLP reductions with VF 1.
1576
1577 2021-01-04 Jakub Jelinek <jakub@redhat.com>
1578
1579 PR tree-optimization/96782
1580 * match.pd (x == ~x -> false, x != ~x -> true): New simplifications.
1581
1582 2021-01-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
1583
1584 * collect-utils.c (collect_execute): Check dumppfx.
1585 * collect2.c (maybe_run_lto_and_relink, do_link): Pass atsuffix
1586 to collect_execute.
1587 (do_link): Add new parameter atsuffix.
1588 (main): Handle -dumpdir option. Skip one argument for
1589 -o, -isystem and -B options.
1590 * gcc.c (make_at_file): New helper function.
1591 (close_at_file): Use it.
1592
1593 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
1594
1595 * config/darwin.h (MIN_LD64_NO_COAL_SECTS): Adjust.
1596 Amend handling for LD64_VERSION fallback defaults.
1597
1598 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
1599
1600 * config.gcc: Compute default version information
1601 from the configured target. Likewise defaults for
1602 ld64.
1603 * config/darwin10.h: Removed.
1604 * config/darwin12.h: Removed.
1605 * config/darwin9.h: Removed.
1606 * config/rs6000/darwin8.h: Removed.
1607
1608 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
1609
1610 * config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Delete.
1611
1612 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
1613
1614 * config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Move from here..
1615 * config/darwin.h (STACK_CHECK_STATIC_BUILTIN): .. to here.
1616
1617 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
1618
1619 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move from
1620 here...
1621 * config/darwin.h (LINK_GCC_C_SEQUENCE_SPEC): ... to here.
1622
1623 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
1624
1625 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move the spec
1626 for the Darwin10 unwinder stub from here ...
1627 * config/darwin.h (LINK_COMMAND_SPEC_A): ... to here.
1628
1629 2021-01-02 Iain Sandoe <iain@sandoe.co.uk>
1630
1631 * config/darwin.h (DSYMUTIL_SPEC): Default to DWARF
1632 (ASM_DEBUG_SPEC):Only define if the assembler supports
1633 stabs.
1634 (PREFERRED_DEBUGGING_TYPE): Default to DWARF.
1635 (DARWIN_PREFER_DWARF): Define.
1636 * config/darwin9.h (PREFERRED_DEBUGGING_TYPE): Remove.
1637 (DARWIN_PREFER_DWARF): Likewise
1638 (DSYMUTIL_SPEC): Likewise.
1639 (COLLECT_RUN_DSYMUTIL): Likewise.
1640 (ASM_DEBUG_SPEC): Likewise.
1641 (ASM_DEBUG_OPTION_SPEC): Likewise.
1642
1643 2021-01-02 Jan Hubicka <jh@suse.cz>
1644
1645 * cfg.c (free_block): ggc_free bb.
1646
1647 2021-01-01 Jakub Jelinek <jakub@redhat.com>
1648
1649 * gcc.c (process_command): Update copyright notice dates.
1650 * gcov-dump.c (print_version): Ditto.
1651 * gcov.c (print_version): Ditto.
1652 * gcov-tool.c (print_version): Ditto.
1653 * gengtype.c (create_file): Ditto.
1654 * doc/cpp.texi: Bump @copying's copyright year.
1655 * doc/cppinternals.texi: Ditto.
1656 * doc/gcc.texi: Ditto.
1657 * doc/gccint.texi: Ditto.
1658 * doc/gcov.texi: Ditto.
1659 * doc/install.texi: Ditto.
1660 * doc/invoke.texi: Ditto.
1661
1662 2021-01-01 Jakub Jelinek <jakub@redhat.com>
1663
1664 * ChangeLog-2020: Rotate ChangeLog. New file.
1665
1666 \f
1667 Copyright (C) 2021 Free Software Foundation, Inc.
1668
1669 Copying and distribution of this file, with or without modification,
1670 are permitted in any medium without royalty provided the copyright
1671 notice and this notice are preserved.