12021-09-22  Kewen Lin  <linkw@linux.ibm.com>
2
3	Backported from master:
4	2021-09-22  Kewen Lin  <linkw@linux.ibm.com>
5
6	* ipa-fnsummary.c (inline_read_section): Unpack a dummy bit
7	to keep consistent with the side of streaming out.
8
92021-09-17  Eric Botcazou  <ebotcazou@adacore.com>
10
11	PR rtl-optimization/102306
12	* combine.c (try_combine): Abort the combination if we are about to
13	duplicate volatile references.
14
152021-09-08  Jonathan Wakely  <jwakely@redhat.com>
16
17	Backported from master:
18	2021-09-08  Jonathan Wakely  <jwakely@redhat.com>
19
20	PR c++/60318
21	* doc/trouble.texi (Copy Assignment): Fix description of
22	behaviour and fix code in example.
23
242021-08-31  Thomas Schwinge  <thomas@codesourcery.com>
25
26	Backported from master:
27	2021-08-31  Thomas Schwinge  <thomas@codesourcery.com>
28
29	* tree.c (walk_tree_1) <OMP_CLAUSE_TILE>: Handle three operands.
30
312021-08-25  konglin1  <lingling.kong@intel.com>
32
33	PR target/101471
34	* config/i386/avx512dqintrin.h (_mm512_fpclass_ps_mask): Fix
35	macro define in O0.
36	(_mm512_mask_fpclass_ps_mask): Ditto.
37
382021-08-23  Richard Earnshaw  <rearnsha@arm.com>
39
40	Backported from master:
41	2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
42
43	PR target/101723
44	* config/arm/arm-cpus.in (quirk_no_asmcpu): New feature bit.
45	(ALL_QUIRKS): Add it.
46	(generic-armv7-a): Add quirk to suppress writing .cpu directive in
47	asm output.
48	* config/arm/arm.c (arm_identify_fpu_from_isa): New variable.
49	(arm_last_printed_arch_string): Delete.
50	(arm_last-printed_fpu_string): Delete.
51	(arm_configure_build_target): If use of floating-point/SIMD is
52	disabled, remove all fp/simd related features from the target ISA.
53	(last_arm_targ_options): New variable.
54	(arm_print_asm_arch_directives): Add new parameters.  Change order
55	of emitted directives and handle all cases here.
56	(arm_file_start): Always call arm_print_asm_arch_directives, move
57	all generation of .arch/.arch_extension here.
58	(arm_file_end): Call arm_print_asm_arch.
59	(arm_declare_function_name): Call arm_print_asm_arch_directives
60	instead of printing .arch/.fpu directives directly.
61
622021-08-23  Richard Earnshaw  <rearnsha@arm.com>
63
64	Backported from master:
65	2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
66
67	* config/arm/arm.c (arm_configure_build_target): Don't call
68	arm_option_reconfigure_globals.
69	(arm_option_restore): Call arm_option_reconfigure_globals after
70	reconfiguring the target.
71	* config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
72
732021-08-23  Richard Earnshaw  <rearnsha@arm.com>
74
75	Backported from master:
76	2021-08-05  Richard Earnshaw  <rearnsha@arm.com>
77
78	* config/arm/arm.c (arm_configure_build_target): Ensure the target's
79	arch_name is always set.
80
812021-08-23  Richard Earnshaw  <rearnsha@arm.com>
82
83	Backported from master:
84	2019-12-11  Richard Earnshaw  <rearnsha@arm.com>
85
86	* config/arm/arm-cpus.in (ALL_SIMD_EXTERNAL): New fgroup.
87	(ALL_SIMD): Use it.
88	(ALL_FPU_EXTERNAL): New fgroup.
89	(ALL_FP): Use it.
90	(cortex-a55, cortex-a75, cortex-a76): Remove redundant
91	+simd from architecture specification.
92	(neoverse-n1, cortex-a75.cortex-a55): Likewise.
93	* config/arm/arm.c (isa_all_fpubits, fpu_bitlist): Rename to ...
94	(isa_all_fpubits_internal, fpu_bitlist_internal): ... these.
95	(isa_all_fpbits): New bitmap.
96	(arm_option_override): Initialize it.
97	(arm_configure_build_target): If the target isa does not have any
98	FP enabled, do not warn about mismatches in FP-related feature bits.
99
1002021-08-19  Richard Earnshaw  <rearnsha@arm.com>
101
102	Backported from master:
103	2021-05-27  Richard Earnshaw  <rearnsha@arm.com>
104
105	PR target/100767
106	* config/arm/arm.c (arm_configure_build_target): Remove parameter
107	opts_set, directly check opts parameters for being non-null.
108	(arm_option_restore): Update call to arm_configure_build_target.
109	(arm_option_override): Likewise.
110	(arm_can_inline_p): Likewise.
111	(arm_valid_target_attribute_tree): Likewise.
112	* config/arm/arm-c.c (arm_pragma_target_parse): Likewise.
113	* config/arm/arm-protos.h (arm_configure_build_target): Adjust
114	prototype.
115
1162021-08-17  Richard Sandiford  <richard.sandiford@arm.com>
117
118	Backported from master:
119	2021-08-03  Richard Sandiford  <richard.sandiford@arm.com>
120
121	* doc/invoke.texi: Document -mtune=neoverse-512tvb and
122	-mcpu=neoverse-512tvb.
123	* config/aarch64/aarch64-cores.def (neoverse-512tvb): New entry.
124	* config/aarch64/aarch64-tune.md: Regenerate.
125
1262021-07-31  Xi Ruoyao  <xry111@mengyan1223.wang>
127
128	Backported from master:
129	2021-07-30  Xi Ruoyao  <xry111@mengyan1223.wang>
130
131	PR target/94780
132	* config/mips/mips.c (mips_atomic_assign_expand_fenv): Use
133	  TARGET_EXPR instead of MODIFY_EXPR.
134
1352021-07-20  Uroš Bizjak  <ubizjak@gmail.com>
136
137	PR target/100182
138	* config/i386/sync.md (define_peephole2 atomic_storedi_fpu):
139	Remove.
140	(define_peephole2 atomic_loaddi_fpu): Ditto.
141
1422021-07-19  Bill Schmidt  <wschmidt@linux.ibm.com>
143
144	PR target/101129
145	* config/rs6000/rs6000-p8swap.c (has_part_mult): New.
146	(rs6000_analyze_swaps): Insns containing a subreg of a mult are
147	not swappable.
148
1492021-07-19  Segher Boessenkool  <segher@kernel.crashing.org>
150
151	Backported from master:
152	2021-04-18  Segher Boessenkool  <segher@kernel.crashing.org>
153
154	PR rtl-optimization/99927
155	* combine.c (distribute_notes) [REG_UNUSED]: If the register already
156	is dead, just drop it.
157
1582021-06-24  Uros Bizjak  <ubizjak@gmail.com>
159
160	Backported from master:
161	2021-06-23  Uroš Bizjak  <ubizjak@gmail.com>
162
163	PR target/101175
164	* config/i386/i386.md (bsr_rex64): Add zero-flag setting RTX.
165	(bsr): Ditto.
166	(*bsrhi): Remove.
167	(clz<mode>2): Update RTX pattern for additions.
168
1692021-06-17  Marius Hillenbrand  <mhillen@linux.ibm.com>
170
171	Backported from master:
172	2021-06-17  Marius Hillenbrand  <mhillen@linux.ibm.com>
173
174	PR target/100871
175	* config/s390/vecintrin.h (vec_doublee): Fix to use
176	  __builtin_s390_vflls.
177	(vec_floate): Fix to use __builtin_s390_vflrd.
178
1792021-06-01  Release Manager
180
181	* GCC 9.4.0 released.
182
1832021-05-18  Richard Biener  <rguenther@suse.de>
184
185	Backported from master:
186	2021-01-28  Richard Biener  <rguenther@suse.de>
187
188	PR rtl-optimization/80960
189	* dse.c (check_mem_read_rtx): Call get_addr on the
190	offsetted address.
191
1922021-05-18  Richard Biener  <rguenther@suse.de>
193
194	PR tree-optimization/96513
195	* tree-vect-slp.c (struct vdhs_data): New.
196	(vect_detect_hybrid_slp): New walker.
197	(vect_detect_hybrid_slp): Rewrite.
198
1992021-05-18  Martin Liska  <mliska@suse.cz>
200
201	PR tree-optimization/96597
202	* tree-ssa-sccvn.c (vn_reference_lookup_call): Add missing
203	initialization of ::punned.
204	(vn_reference_insert): Use consistently false instead of 0.
205	(vn_reference_insert_pieces): Likewise.
206
2072021-05-18  Richard Biener  <rguenther@suse.de>
208
209	PR tree-optimization/88240
210	* tree-ssa-sccvn.h (vn_reference_s::punned): New flag.
211	* tree-ssa-sccvn.c (vn_reference_insert): Initialize punned.
212	(vn_reference_insert_pieces): Likewise.
213	(visit_reference_op_call): Likewise.
214	(visit_reference_op_load): Track whether a ref was punned.
215	* tree-ssa-pre.c (do_hoist_insertion): Refuse to perform hoist
216	insertion on punned floating point loads.
217
2182021-05-17  Richard Biener  <rguenther@suse.de>
219
220	Backported from master:
221	2021-05-12  Richard Biener  <rguenther@suse.de>
222
223	PR tree-optimization/100566
224	* tree-ssa-sccvn.c (dominated_by_p_w_unex): Properly handle
225	allow_back for all edge queries.
226
2272021-05-12  Alex Coplan  <alex.coplan@arm.com>
228
229	Backported from master:
230	2021-05-11  Alex Coplan  <alex.coplan@arm.com>
231
232	PR target/99988
233	* config/aarch64/aarch64-bti-insert.c (aarch64_bti_j_insn_p): New.
234	(rest_of_insert_bti): Avoid inserting duplicate bti j insns for
235	jump table targets.
236
2372021-05-11  Geng Qi  <gengqi@linux.alibaba.com>
238
239	Backported from master:
240	2021-04-30  Geng Qi  <gengqi@linux.alibaba.com>
241
242	* config/riscv/riscv.opt (march=,mabi=): Negative itself.
243
2442021-05-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
245
246	PR target/99037
247	PR target/100441
248	* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Use
249	aarch64_simd_or_scalar_imm_zero to match zeroes.  Remove pattern
250	matching const_int 0.
251	(move_lo_quad_internal_be_<mode>): Likewise.
252	(move_lo_quad_<mode>): Update for the above.
253	* config/aarch64/iterators.md (VQ_2E): Delete.
254
2552021-05-06  Roman Zhuykov  <zhroma@ispras.ru>
256
257	Backported from master:
258	2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
259
260	PR rtl-optimization/100225
261	PR rtl-optimization/84878
262	* modulo-sched.c (sms_schedule): Use note_stores to skip loops
263	where we have an instruction which touches (writes) any hard
264	register from df->regular_block_artificial_uses set.
265	Allow not-single-set instruction only right before basic block
266	tail.
267
2682021-05-05  Eric Botcazou  <ebotcazou@adacore.com>
269
270	PR target/100402
271	* config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
272	always return the establisher frame for __builtin_frame_address (0).
273
2742021-05-05  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
275
276	Backported from master:
277	2021-05-05  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
278
279	PR rtl-optimization/100263
280	* postreload.c (move2add_valid_value_p): Ensure register can
281	change mode.
282
2832021-05-05  Richard Biener  <rguenther@suse.de>
284
285	Backported from master:
286	2021-05-05  Richard Biener  <rguenther@suse.de>
287
288	PR tree-optimization/98786
289	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Avoid
290	adding new uses of abnormals.
291
2922021-05-04  Alex Coplan  <alex.coplan@arm.com>
293
294	Backported from master:
295	2021-04-23  Alex Coplan  <alex.coplan@arm.com>
296
297	PR rtl-optimization/100230
298	* early-remat.c (early_remat::sort_candidates): Use delete[]
299	instead of delete for array allocated with new[].
300
3012021-05-04  Richard Biener  <rguenther@suse.de>
302
303	Backported from master:
304	2021-04-13  Richard Biener  <rguenther@suse.de>
305
306	PR tree-optimization/100053
307	* tree-ssa-sccvn.c (vn_nary_op_get_predicated_value): Do
308	not use optimistic dominance queries for backedges to validate
309	predicated values.
310	(dominated_by_p_w_unex): Add parameter to ignore executable
311	state on backedges.
312	(rpo_elim::eliminate_avail): Adjust.
313
3142021-05-04  Richard Biener  <rguenther@suse.de>
315
316	Backported from master:
317	2021-01-29  Richard Biener  <rguenther@suse.de>
318
319	PR rtl-optimization/98144
320	* df.h (df_mir_bb_info): Add con_visited member.
321	* df-problems.c (df_mir_alloc): Initialize con_visited,
322	do not fully populate IN and OUT.
323	(df_mir_reset): Likewise.
324	(df_mir_confluence_0): Set con_visited.
325	(df_mir_confluence_n): Properly handle implicitely
326	fully populated IN and OUT as designated by con_visited
327	and update con_visited accordingly.
328
3292021-05-04  Jakub Jelinek  <jakub@redhat.com>
330
331	Backported from master:
332	2021-05-02  Jakub Jelinek  <jakub@redhat.com>
333
334	PR target/100375
335	* config/nvptx/nvptx.c (nvptx_sese_pseudo): Use NULL instead of 0
336	as first argument of pseudo_node_t constructors.
337
3382021-05-04  Jakub Jelinek  <jakub@redhat.com>
339
340	Backported from master:
341	2021-04-29  Jakub Jelinek  <jakub@redhat.com>
342
343	PR target/100302
344	* config/aarch64/aarch64.c (aarch64_add_offset_1_temporaries): Use
345	absu_hwi instead of abs_hwi.
346
3472021-05-04  Jakub Jelinek  <jakub@redhat.com>
348
349	Backported from master:
350	2021-04-27  Jakub Jelinek  <jakub@redhat.com>
351
352	PR rtl-optimization/100254
353	* cfgcleanup.c (outgoing_edges_match): Check REG_EH_REGION on
354	last1 and last2 insns rather than BB_END (bb1) and BB_END (bb2) insns.
355
3562021-05-04  Jakub Jelinek  <jakub@redhat.com>
357
358	Backported from master:
359	2021-04-26  Jakub Jelinek  <jakub@redhat.com>
360
361	PR debug/100255
362	* vmsdbgout.c (ASM_OUTPUT_DEBUG_STRING, vmsdbgout_begin_block,
363	vmsdbgout_end_block, lookup_filename, vmsdbgout_source_line): Remove
364	register keywords.
365
3662021-05-04  Jakub Jelinek  <jakub@redhat.com>
367
368	Backported from master:
369	2021-04-21  Jakub Jelinek  <jakub@redhat.com>
370
371	PR rtl-optimization/100148
372	* cprop.c (constprop_register): Use next_nondebug_insn instead of
373	NEXT_INSN.
374
3752021-05-04  Martin Sebor  <msebor@redhat.com>
376
377	PR tree-optimization/91914
378	* expr.c (string_constant): Pass argument type to
379	fold_ctor_reference to guide it.
380
3812021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
382	    Jakub Jelinek   <jakub@redhat.com>
383
384	PR target/97865
385	* configure: Regenerate.
386
3872021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
388
389	Backported from master:
390	2020-12-23  Iain Sandoe  <iain@sandoe.co.uk>
391
392	* config/darwin-driver.c (validate_macosx_version_min): Allow
393	MACOSX_DEPLOYMENT_TARGET=11.
394	(darwin_default_min_version): Adjust warning spelling to avoid
395	an apostrophe.
396
3972021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
398
399	Backported from master:
400	2020-12-21  Iain Sandoe  <iain@sandoe.co.uk>
401
402	* config/darwin-driver.c (darwin_find_version_from_kernel):
403	Compute the minor OS version from the minor kernel version.
404
4052021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
406
407	Backported from master:
408	2020-11-06  Iain Sandoe  <iain@sandoe.co.uk>
409
410	* config/darwin-c.c: Allow for Darwin20 to correspond to macOS 11.
411	* config/darwin-driver.c: Likewise.
412
4132021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
414
415	Backported from master:
416	2020-11-01  Iain Sandoe  <iain@sandoe.co.uk>
417
418	* config/host-darwin.c: Align pch_address_space to 16384.
419
4202021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
421
422	Backported from master:
423	2021-03-01  Iain Sandoe  <iain@sandoe.co.uk>
424
425	PR target/44107
426	PR target/48097
427	* config/darwin-protos.h (darwin_should_restore_cfa_state): New.
428	* config/darwin.c (darwin_should_restore_cfa_state): New.
429	* config/darwin.h (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New.
430	* doc/tm.texi: Regenerated.
431	* doc/tm.texi.in: Document TARGET_ASM_SHOULD_RESTORE_CFA_STATE.
432	* dwarf2cfi.c (connect_traces): If the target requests, restore
433	the CFA expression after a DW_CFA_restore.
434	* target.def (TARGET_ASM_SHOULD_RESTORE_CFA_STATE): New hook.
435
4362021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
437
438	Backported from master:
439	2021-04-03  Iain Sandoe  <iain@sandoe.co.uk>
440
441	* config/darwin.c (machopic_legitimize_pic_address): Check
442	that the current pic register is one of the hard reg set
443	before setting liveness.
444
4452021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
446
447	Backported from master:
448	2020-11-22  Iain Sandoe  <iain@sandoe.co.uk>
449
450	* config/darwin-c.c (struct f_align_stack): Rename
451	to type from align_stack to f_align_stack.
452	(push_field_alignment): Likewise.
453	(pop_field_alignment): Likewise.
454
4552021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
456
457	Backported from master:
458	2020-09-07  Iain Sandoe  <iain@sandoe.co.uk>
459
460	* config/darwin.c (darwin_libc_has_function): Report sincos
461	available from 10.9.
462
4632021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
464
465	* config/darwin.c: Lookup Objective C metadata and force indirection
466	for IVAR refs.
467
4682021-05-01  Iain Sandoe  <iain@sandoe.co.uk>
469
470	* config/darwin.h (ASM_GENERATE_INTERNAL_LABEL):
471	Make ubsan_{data,type},ASAN symbols linker-visible.
472
4732021-04-30  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
474
475	Backported from master:
476	2019-11-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
477
478	PR tree-optimization/92608
479	* tree-ssa-loop-unswitch.c (find_loop_guard): Use safe_dyn_cast instead
480	of dyn_cast.
481
4822021-04-30  James Clarke  <jrtc27@jrtc27.com>
483
484	PR bootstrap/87338
485	* dwarf2out.c (dwarf2out_inline_entry): Use ASM_OUTPUT_DEBUG_LABEL
486	instead of ASM_GENERATE_INTERNAL_LABEL and ASM_OUTPUT_LABEL.
487
4882021-04-28  Uros Bizjak  <ubizjak@gmail.com>
489
490	Backported from master:
491	2021-04-23  Uroš Bizjak  <ubizjak@gmail.com>
492
493	PR target/100182
494	* config/i386/sync.md (FILD_ATOMIC/FIST_ATOMIC FP load peephole2):
495	Copy operand 3 to operand 4.  Use sse_reg_operand
496	as operand 3 predicate.
497	(FILD_ATOMIC/FIST_ATOMIC FP load peephole2 with mem blockage): Ditto.
498	(LDX_ATOMIC/STX_ATOMIC FP load peephole2): Ditto.
499	(LDX_ATOMIC/LDX_ATOMIC FP load peephole2 with mem blockage): Ditto.
500	(FILD_ATOMIC/FIST_ATOMIC FP store peephole2):
501	Copy operand 1 to operand 0.
502	(FILD_ATOMIC/FIST_ATOMIC FP store peephole2 with mem blockage): Ditto.
503	(LDX_ATOMIC/STX_ATOMIC FP store peephole2): Ditto.
504	(LDX_ATOMIC/LDX_ATOMIC FP store peephole2 with mem blockage): Ditto.
505
5062021-04-28  Richard Biener  <rguenther@suse.de>
507
508	PR tree-optimization/99954
509	* tree-loop-distribution.c: Include tree-affine.h.
510	(generate_memcpy_builtin): Try using tree-affine to prove
511	non-overlap.
512	(loop_distribution::classify_builtin_ldst): Always classify
513	as PKIND_MEMMOVE.
514
5152021-04-25  Richard Sandiford  <richard.sandiford@arm.com>
516
517	Backported from master:
518	2021-04-14  Richard Sandiford  <richard.sandiford@arm.com>
519
520	PR rtl-optimization/99929
521	* rtl.h (same_vector_encodings_p): New function.
522	* cse.c (exp_equiv_p): Check that CONST_VECTORs have the same encoding.
523	* cselib.c (rtx_equal_for_cselib_1): Likewise.
524	* jump.c (rtx_renumbered_equal_p): Likewise.
525	* lra-constraints.c (operands_match_p): Likewise.
526	* reload.c (operands_match_p): Likewise.
527	* rtl.c (rtx_equal_p_cb, rtx_equal_p): Likewise.
528
5292021-04-25  Richard Sandiford  <richard.sandiford@arm.com>
530
531	Backported from master:
532	2021-03-30  Richard Sandiford  <richard.sandiford@arm.com>
533
534	PR target/98136
535	* config/aarch64/aarch64.md (mov<mode>): Pass multi-instruction
536	CONST_INTs to aarch64_expand_mov_immediate when called after RA.
537
5382021-04-25  Richard Sandiford  <richard.sandiford@arm.com>
539
540	PR rtl-optimization/96796
541	* lra-constraints.c (in_class_p): Add a default-false
542	allow_all_reload_class_changes_p parameter.  Do not treat
543	reload moves specially when the parameter is true.
544	(get_reload_reg): Try to narrow the class of an existing OP_OUT
545	reload if we're reloading a reload pseudo in a reload instruction.
546
5472021-04-25  Richard Sandiford  <richard.sandiford@arm.com>
548
549	Backported from master:
550	2020-12-31  Richard Sandiford  <richard.sandiford@arm.com>
551
552	PR tree-optimization/98302
553	* tree-vect-patterns.c (vect_determine_precisions_from_users): Make
554	sure that the precision remains greater than the shift count.
555
5562021-04-25  Richard Sandiford  <richard.sandiford@arm.com>
557
558	Backported from master:
559	2020-07-08  Richard Sandiford  <richard.sandiford@arm.com>
560
561	PR middle-end/95694
562	* expr.c (expand_expr_real_2): Get the mode from the type rather
563	than the rtx, and assert that it is consistent with the mode of
564	the rtx (where known).  Optimize all constant integers, not just
565	those that can be represented in poly_int64.
566
5672021-04-20  Jakub Jelinek  <jakub@redhat.com>
568
569	Backported from master:
570	2021-04-20  Jakub Jelinek  <jakub@redhat.com>
571
572	PR target/99767
573	* tree-vect-loop.c (vect_transform_loop): Don't remove just
574	dead scalar .MASK_LOAD calls, but also dead .COND_* calls - replace
575	them by their last argument.
576
5772021-04-20  Jakub Jelinek  <jakub@redhat.com>
578
579	Backported from master:
580	2021-04-20  Jakub Jelinek  <jakub@redhat.com>
581
582	PR rtl-optimization/99905
583	* combine.c (expand_compound_operation): If pos + len > modewidth,
584	perform the right shift by pos in inner_mode and then convert to mode,
585	instead of trying to simplify a shift of rtx with inner_mode by pos
586	as if it was a shift in mode.
587
5882021-04-20  Jakub Jelinek  <jakub@redhat.com>
589
590	Backported from master:
591	2021-04-20  Jakub Jelinek  <jakub@redhat.com>
592
593	PR debug/99830
594	* combine.c (simplify_and_const_int_1): Don't optimize varop
595	away if it has side-effects.
596
5972021-04-20  Jakub Jelinek  <jakub@redhat.com>
598
599	Backported from master:
600	2021-04-20  Jakub Jelinek  <jakub@redhat.com>
601
602	PR lto/99849
603	* expr.c (expand_expr_addr_expr_1): Test is_global_var rather than
604	just TREE_STATIC on COMPOUND_LITERAL_EXPR_DECLs.
605
6062021-04-20  Jakub Jelinek  <jakub@redhat.com>
607
608	Backported from master:
609	2021-04-20  Jakub Jelinek  <jakub@redhat.com>
610
611	PR rtl-optimization/98601
612	* rtlanal.c (rtx_addr_can_trap_p_1): Allow in assert unknown size
613	not just for BLKmode, but also for VOIDmode.  For STRICT_ALIGNMENT
614	unaligned_mems handle VOIDmode like BLKmode.
615
6162021-04-20  Jakub Jelinek  <jakub@redhat.com>
617
618	Backported from master:
619	2021-04-20  Jakub Jelinek  <jakub@redhat.com>
620
621	PR rtl-optimization/99863
622	* dse.c (replace_read): Drop regs_live argument.  Instead of
623	regs_live, use store_insn->fixed_regs_live if non-NULL,
624	otherwise punt if insns sequence clobbers or sets any hard
625	registers.
626
6272021-04-20  Jakub Jelinek  <jakub@redhat.com>
628
629	Backported from master:
630	2021-03-30  Jakub Jelinek  <jakub@redhat.com>
631
632	PR tree-optimization/99777
633	* fold-const.c (extract_muldiv_1): For conversions, punt on casts from
634	types other than scalar integral types.
635
6362021-04-20  Jakub Jelinek  <jakub@redhat.com>
637
638	Backported from master:
639	2021-03-30  Jakub Jelinek  <jakub@redhat.com>
640
641	PR debug/99334
642	* dwarf2out.h (struct dw_fde_node): Add rule18 member.
643	* dwarf2cfi.c (dwarf2out_frame_debug_expr): When handling (set hfp sp)
644	assignment with drap_reg active, queue reg save for hfp with offset 0
645	and flush queued reg saves.  When handling a push with rule18,
646	defer queueing reg save for hfp and just assert the offset is 0.
647	(scan_trace): Assert that fde->rule18 is false.
648
6492021-04-20  Jakub Jelinek  <jakub@redhat.com>
650
651	Backported from master:
652	2021-03-30  Jakub Jelinek  <jakub@redhat.com>
653
654	PR debug/99388
655	* dwarf2out.c (insert_float): Change return type from void to
656	unsigned, handle GET_MODE_SIZE (mode) == 2 and return element size.
657	(mem_loc_descriptor, loc_descriptor, add_const_value_attribute):
658	Adjust callers.
659
6602021-04-20  Jakub Jelinek  <jakub@redhat.com>
661
662	Backported from master:
663	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
664
665	PR target/99542
666	* config/aarch64/aarch64.c
667	(aarch64_simd_clone_compute_vecsize_and_simdlen): If not a function
668	definition, walk TYPE_ARG_TYPES list if non-NULL for argument types
669	instead of DECL_ARGUMENTS.  Ignore types for uniform arguments.
670
6712021-04-20  Jakub Jelinek  <jakub@redhat.com>
672
673	Backported from master:
674	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
675
676	PR middle-end/93235
677	* expmed.c (store_bit_field_using_insv): Return false of xop0 is a
678	SUBREG and a SUBREG to op_mode can't be created.
679
6802021-04-20  Jakub Jelinek  <jakub@redhat.com>
681
682	Backported from master:
683	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
684
685	PR tree-optimization/99225
686	* fold-const.c (fold_binary_loc) <case NE_EXPR>: In (x & (1 << y)) != 0
687	to ((x >> y) & 1) != 0 simplifications use build_one_cst instead of
688	build_int_cst (..., 1).  Formatting fixes.
689
6902021-04-20  Jakub Jelinek  <jakub@redhat.com>
691
692	Backported from master:
693	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
694
695	PR tree-optimization/99204
696	* fold-const.c (fold_read_from_constant_string): Check that
697	tree_fits_uhwi_p (index) rather than just that index is INTEGER_CST.
698
6992021-04-20  Jakub Jelinek  <jakub@redhat.com>
700
701	Backported from master:
702	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
703
704	PR ipa/99034
705	* tree-cfg.c (gimple_merge_blocks): If bb a starts with eh landing
706	pad or non-local label, put FORCED_LABELs from bb b after that label
707	rather than before it.
708
7092021-04-20  Jakub Jelinek  <jakub@redhat.com>
710
711	Backported from master:
712	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
713
714	PR tree-optimization/99079
715	* match.pd (A % (pow2pcst << N) -> A & ((pow2pcst << N) - 1)): Remove
716	useless tree_nop_conversion_p (type, TREE_TYPE (@3)) check.  Instead
717	require both type and TREE_TYPE (@1) to be integral types and either
718	type having smaller or equal precision, or TREE_TYPE (@1) being
719	unsigned type, or type being signed type.  If TREE_TYPE (@1)
720	doesn't have wrapping overflow, perform the subtraction of one in
721	unsigned type.
722
7232021-04-20  Jakub Jelinek  <jakub@redhat.com>
724
725	Backported from master:
726	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
727
728	PR c++/99035
729	* varasm.c (declare_weak): For -fsyntax-only, allow even
730	TREE_ASM_WRITTEN function decls.
731
7322021-04-20  Jakub Jelinek  <jakub@redhat.com>
733
734	Backported from master:
735	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
736
737	PR middle-end/99007
738	* gimplify.c (gimplify_scan_omp_clauses): For MEM_REF on reductions,
739	temporarily disable gimplify_ctxp->into_ssa around gimplify_expr
740	calls.
741
7422021-04-20  Jakub Jelinek  <jakub@redhat.com>
743
744	Backported from master:
745	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
746
747	PR middle-end/97487
748	* ifcvt.c (noce_can_force_operand): New function.
749	(noce_emit_move_insn): Use it.
750	(noce_try_sign_mask): Likewise.  Formatting fix.
751
7522021-04-20  Jakub Jelinek  <jakub@redhat.com>
753
754	Backported from master:
755	2021-03-19  Jakub Jelinek  <jakub@redhat.com>
756
757	PR middle-end/97971
758	* lra-constraints.c (process_alt_operands): For inline asm, don't call
759	fatal_insn, but instead return false.
760
7612021-04-20  Jakub Jelinek  <jakub@redhat.com>
762
763	Backported from master:
764	2021-01-29  Jakub Jelinek  <jakub@redhat.com>
765
766	PR debug/98331
767	* cfgbuild.c (find_bb_boundaries): Reset debug_insn when seeing
768	a BARRIER.
769
7702021-04-20  Jakub Jelinek  <jakub@redhat.com>
771
772	Backported from master:
773	2021-01-29  Jakub Jelinek  <jakub@redhat.com>
774
775	PR target/98853
776	* config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Use
777	%w0, %w1 and %2 instead of %0, %1 and %2.
778
7792021-04-20  Jakub Jelinek  <jakub@redhat.com>
780
781	Backported from master:
782	2021-01-29  Jakub Jelinek  <jakub@redhat.com>
783
784	PR target/98681
785	* config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
786	Use UINTVAL (shft_amnt) and UINTVAL (mask) instead of INTVAL (shft_amnt)
787	and INTVAL (mask).  Add && INTVAL (mask) > 0 condition.
788
7892021-04-20  Jakub Jelinek  <jakub@redhat.com>
790
791	Backported from master:
792	2021-01-29  Jakub Jelinek  <jakub@redhat.com>
793
794	PR testsuite/97301
795	* config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute.
796
7972021-04-20  Jakub Jelinek  <jakub@redhat.com>
798
799	Backported from master:
800	2021-01-29  Jakub Jelinek  <jakub@redhat.com>
801
802	PR tree-optimization/90248
803	* match.pd (X cmp 0.0 ? 1.0 : -1.0 -> copysign(1, +-X),
804	X cmp 0.0 ? -1.0 : +1.0 -> copysign(1, -+X)): Remove
805	simplifications.
806	(X * (X cmp 0.0 ? 1.0 : -1.0) -> +-abs(X),
807	X * (X cmp 0.0 ? -1.0 : 1.0) -> +-abs(X)): New simplifications.
808
8092021-04-20  Jakub Jelinek  <jakub@redhat.com>
810
811	Backported from master:
812	2021-01-09  Jakub Jelinek  <jakub@redhat.com>
813
814	PR c++/98556
815	* tree-cfg.c (verify_gimple_assign_binary): Allow lhs of
816	POINTER_DIFF_EXPR to be any integral type.
817
8182021-04-20  Jakub Jelinek  <jakub@redhat.com>
819
820	Backported from master:
821	2021-01-06  Jakub Jelinek  <jakub@redhat.com>
822
823	PR tree-optimization/98474
824	* wide-int.cc (wi::to_mpz): If wide_int has MSB set, but type
825	is unsigned and excess negative, append set bits after len until
826	precision.
827
8282021-04-20  Jakub Jelinek  <jakub@redhat.com>
829
830	Backported from master:
831	2021-01-06  Jakub Jelinek  <jakub@redhat.com>
832
833	PR c++/98353
834	* gimplify.c (gimplify_init_ctor_eval_range): Gimplify value before
835	storing it into cref.
836
8372021-04-20  Jakub Jelinek  <jakub@redhat.com>
838
839	Backported from master:
840	2021-01-06  Jakub Jelinek  <jakub@redhat.com>
841
842	* gimplify.c (struct gimplify_omp_ctx): Add has_depend member.
843	(gimplify_scan_omp_clauses): Set it to true if OMP_CLAUSE_DEPEND
844	appears on OMP_TASK.
845	(gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Force
846	GOVD_WRITTEN on shared variables if task construct has depend clause.
847
8482021-04-20  Jakub Jelinek  <jakub@redhat.com>
849
850	Backported from master:
851	2021-01-06  Jakub Jelinek  <jakub@redhat.com>
852
853	PR middle-end/98183
854	* omp-low.c (lower_omp_target): Don't add OMP_RETURN for
855	data regions.
856	* omp-expand.c (expand_omp_target): Don't try to remove
857	OMP_RETURN for data regions.
858	(build_omp_regions_1, omp_make_gimple_edges): Don't expect
859	OMP_RETURN for data regions.
860
8612021-04-20  Jakub Jelinek  <jakub@redhat.com>
862
863	Backported from master:
864	2021-01-06  Jakub Jelinek  <jakub@redhat.com>
865
866	PR middle-end/98205
867	* omp-expand.c (expand_omp_for_generic): Fix up broken_loop handling.
868
8692021-04-20  Jakub Jelinek  <jakub@redhat.com>
870
871	Backported from master:
872	2021-01-06  Jakub Jelinek  <jakub@redhat.com>
873
874	PR target/98100
875	* cfgexpand.c (expand_gimple_basic_block): For vars with
876	vector type, use TYPE_MODE rather than DECL_MODE.
877
8782021-04-20  Jakub Jelinek  <jakub@redhat.com>
879
880	Backported from master:
881	2021-01-06  Jakub Jelinek  <jakub@redhat.com>
882
883	* dwarf2out.c (add_scalar_info): Only use add_AT_wide for 128-bit
884	constants and only in dwarf-5 or later, where DW_FORM_data16 is
885	available.  Otherwise use DW_FORM_block*/DW_FORM_exprloc with
886	DW_OP_implicit_value to describe the constant.
887
8882021-04-20  Jakub Jelinek  <jakub@redhat.com>
889
890	Backported from master:
891	2021-01-06  Jakub Jelinek  <jakub@redhat.com>
892
893	PR target/98063
894	* config/i386/i386.c (ix86_expand_call): Handle non-plt
895	CM_LARGE_PIC calls.
896
8972021-04-20  Jakub Jelinek  <jakub@redhat.com>
898
899	Backported from master:
900	2020-11-25  Jakub Jelinek  <jakub@redhat.com>
901
902	PR debug/97599
903	* dwarf2out.c (gen_subprogram_die): Call
904	gen_unspecified_parameters_die even if not early dwarf, but only
905	if subr_die is a newly created DIE.
906
9072021-04-20  Jakub Jelinek  <jakub@redhat.com>
908
909	Backported from master:
910	2020-11-02  Jakub Jelinek  <jakub@redhat.com>
911
912	* wide-int.cc (wi::set_bit_large): Call canonize unless setting
913	msb bit and clearing bits above it.
914
9152021-04-20  Jakub Jelinek  <jakub@redhat.com>
916
917	Backported from master:
918	2020-10-16  Jakub Jelinek  <jakub@redhat.com>
919
920	PR rtl-optimization/97386
921	* combine.c (simplify_shift_const_1): Don't optimize nested ROTATEs if
922	they have different modes.
923
9242021-04-20  Jakub Jelinek  <jakub@redhat.com>
925
926	Backported from master:
927	2020-10-16  Jakub Jelinek  <jakub@redhat.com>
928
929	PR sanitizer/97294
930	* tree-cfg.c (move_block_to_fn): Call notice_special_calls on
931	call stmts being moved into dest_cfun.
932	* omp-low.c (lower_rec_input_clauses): Set cfun->calls_alloca when
933	adding __builtin_alloca_with_align call without gimplification.
934
9352021-04-19  Eric Botcazou  <ebotcazou@adacore.com>
936
937	* config/i386/winnt.c (i386_pe_seh_cold_init): Properly deal with
938	frames larger than the SEH maximum frame size.
939
9402021-04-15  Lili Cui  <lili.cui@intel.com>
941
942	* common/config/i386/i386-common.c
943	(processor_names): Add tigerlake.
944	(processor_alias_table): Ditto.
945	* config.gcc (x86_64_archs): Ditto.
946	* config/i386/driver-i386.c
947	(host_detect_local_cpu): Detect tigerlake, add "has_avx" to
948	classify processor.
949	* config/i386/i386-c.c (ix86_target_macros_internal): Handle
950	PROCESSOR_TIGERLAKE.
951	* config/i386/i386.c (m_TIGERLAKE): Define.
952	(m_CORE_AVX512): Add m_TIGERLAKE.
953	(processor_cost_table): Add skylake_cost for tigerlake.
954	(processor_model): Add M_INTEL_COREI7_TIGERLAKE.
955	(arch_names_table): Add tigerlake.
956	(get_builtin_code_for_version): Handle PROCESSOR_TIGERLAKE.
957	* config/i386/i386.h (TARGET_TIGERLAKE): Define.
958	(enum processor_type): Add PROCESSOR_TIGERLAKE.
959	(PTA_TIGERLAKE): Define.
960	* doc/extend.texi (__builtin_cpu_is): Add tigerlake.
961	* doc/invoke.texi (-march=cpu-type): Ditto.
962
9632021-04-12  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
964
965	Backported from master:
966	2020-02-24  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
967		    Kugan Vivekandarajah  <kugan.vivekanandarajah@linaro.org>
968
969	PR driver/47785
970	* gcc.c (putenv_COLLECT_AS_OPTIONS): New function.
971	(driver::main): Call putenv_COLLECT_AS_OPTIONS.
972	* opts-common.c (parse_options_from_collect_gcc_options): New function.
973	(prepend_xassembler_to_collect_as_options): Likewise.
974	* opts.h (parse_options_from_collect_gcc_options): Declare prototype.
975	(prepend_xassembler_to_collect_as_options): Likewise.
976	* lto-opts.c (lto_write_options): Stream assembler options
977	in COLLECT_AS_OPTIONS.
978	* lto-wrapper.c (xassembler_options_error): New static variable.
979	(get_options_from_collect_gcc_options): Move parsing options code to
980	parse_options_from_collect_gcc_options and call it.
981	(merge_and_complain): Validate -Xassembler options.
982	(append_compiler_options): Handle OPT_Xassembler.
983	(run_gcc): Append command line -Xassembler options to
984	collect_gcc_options.
985	* doc/invoke.texi: Add documentation about using Xassembler
986	options with LTO.
987
9882021-04-12  Richard Biener  <rguenther@suse.de>
989
990	Backported from master:
991	2021-03-22  Richard Biener  <rguenther@suse.de>
992
993	PR tree-optimization/99694
994	* tree-ssa-sccvn.c (visit_phi): Ignore edges with the
995	PHI result.
996
9972021-04-12  Richard Biener  <rguenther@suse.de>
998
999	Backported from master:
1000	2021-02-24  Richard Biener  <rguenther@suse.de>
1001
1002	PR c/99224
1003	* builtins.c (fold_builtin_next_arg): Avoid NULL arg.
1004
10052021-04-12  Richard Biener  <rguenther@suse.de>
1006
1007	Backported from master:
1008	2021-02-08  Richard Biener  <rguenther@suse.de>
1009
1010	PR lto/96591
1011	* tree.c (walk_tree_1): Walk VECTOR_CST elements.
1012
10132021-04-08  Martin Jambor  <mjambor@suse.cz>
1014
1015	Backported from master:
1016	2021-04-01  Martin Jambor  <mjambor@suse.cz>
1017
1018	PR tree-optimization/97009
1019	* tree-sra.c (access_or_its_child_written): New function.
1020	(propagate_subaccesses_from_rhs): Use it instead of a simple grp_write
1021	test.
1022
10232021-04-01  Richard Biener  <rguenther@suse.de>
1024
1025	Backported from master:
1026	2021-04-01  Richard Biener  <rguenther@suse.de>
1027
1028	PR tree-optimization/99856
1029	* tree-vect-patterns.c (vect_recog_over_widening_pattern): Promote
1030	precision to vector element precision.
1031
10322021-03-26  Iain Buclaw  <ibuclaw@gdcproject.org>
1033
1034	Backported from master:
1035	2021-03-26  Iain Buclaw  <ibuclaw@gdcproject.org>
1036
1037	PR ipa/99466
1038	* tree-emutls.c (get_emutls_init_templ_addr): Mark initializer of weak
1039	TLS declarations as public.
1040
10412021-03-25  Xionghu Luo  <luoxhu@linux.ibm.com>
1042
1043	Backported from master:
1044	2021-03-25  Xionghu Luo  <luoxhu@linux.ibm.com>
1045
1046	PR target/97329
1047	* config/rs6000/rs6000.c (power8_costs): Change l2 cache
1048	from 256 to 512.
1049
10502021-03-23  H.J. Lu  <hjl.tools@gmail.com>
1051
1052	Backported from master:
1053	2021-03-23  H.J. Lu  <hjl.tools@gmail.com>
1054
1055	PR target/99704
1056	* config/i386/cpuid.h (__cpuid): Add __volatile__.
1057	(__cpuid_count): Likewise.
1058
10592021-03-22  Kito Cheng  <kito.cheng@sifive.com>
1060
1061	Backported from master:
1062	2021-03-22  Kito Cheng  <kito.cheng@sifive.com>
1063
1064	PR target/99702
1065	* config/riscv/riscv.c (riscv_expand_block_move): Get RTL value
1066	after type checking.
1067
10682021-03-18  Sinan Lin  <sinan@isrc.iscas.ac.cn>
1069
1070	Backported from master:
1071	2021-03-18  Sinan Lin  <sinan@isrc.iscas.ac.cn>
1072		    Kito Cheng  <kito.cheng@sifive.com>
1073
1074	* config/riscv/riscv.c (riscv_block_move_straight): Change type
1075	to unsigned HOST_WIDE_INT for parameter and local variable with
1076	HOST_WIDE_INT type.
1077	(riscv_adjust_block_mem): Ditto.
1078	(riscv_block_move_loop): Ditto.
1079	(riscv_expand_block_move): Ditto.
1080
10812021-03-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1082
1083	Backported from master:
1084	2021-03-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1085
1086	* config/aarch64/aarch64-builtins.c (aarch64_expand_rng_builtin): Use EQ
1087	to compare against CC_REG rather than NE.
1088
10892021-03-17  Martin Jambor  <mjambor@suse.cz>
1090
1091	Backported from master:
1092	2021-03-05  Martin Jambor  <mjambor@suse.cz>
1093
1094	PR ipa/98078
1095	* cgraph.c (cgraph_edge::set_call_stmt): Do not update all
1096	corresponding speculative edges if we are about to resolve
1097	speculation.  Make edge direct (and so resolve speculations) before
1098	removing it from call_site_hash.
1099	(cgraph_edge::make_direct): Relax the initial assert to allow calling
1100	the function on speculative direct edges.
1101
11022021-03-17  Richard Biener  <rguenther@suse.de>
1103
1104	Backported from master:
1105	2021-03-03  Richard Biener  <rguenther@suse.de>
1106
1107	PR tree-optimization/98758
1108	* tree-data-ref.c (int_divides_p): Use lambda_int arguments.
1109	(lambda_matrix_right_hermite): Avoid undefinedness with
1110	signed integer abs and multiplication.
1111	(analyze_subscript_affine_affine): Use lambda_int.
1112
11132021-03-17  Richard Biener  <rguenther@suse.de>
1114
1115	Backported from master:
1116	2021-01-12  Richard Biener  <rguenther@suse.de>
1117
1118	PR tree-optimization/98282
1119	* tree-ssa-sccvn.c (vn_get_stmt_kind): Classify tcc_reference on
1120	invariants as VN_NARY.
1121
11222021-03-17  Richard Biener  <rguenther@suse.de>
1123
1124	Backported from master:
1125	2021-01-11  Richard Biener  <rguenther@suse.de>
1126
1127	PR tree-optimization/98117
1128	* tree-vect-loop-manip.c (vect_gen_vector_loop_niters):
1129	Properly handle degenerate niter when setting the vector
1130	loop IV range.
1131
11322021-03-17  Richard Biener  <rguenther@suse.de>
1133
1134	Backported from master:
1135	2020-03-04  Richard Biener  <rguenther@suse.de>
1136
1137	PR tree-optimization/93964
1138	* graphite-isl-ast-to-gimple.c
1139	(gcc_expression_from_isl_ast_expr_id): Add intermediate
1140	conversion for pointer to integer converts.
1141	* graphite-scop-detection.c (assign_parameter_index_in_region):
1142	Relax assert.
1143
11442021-03-07  John David Anglin  <danglin@gcc.gnu.org>
1145
1146	PR target/85074
1147	* config/pa/pa.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define as
1148	hook_bool_const_tree_hwi_hwi_const_tree_true.
1149	(pa_asm_output_mi_thunk): Add support for nonzero vcall_offset.
1150
11512021-03-03  Eric Botcazou  <ebotcazou@adacore.com>
1152
1153	PR target/99234
1154	* config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
1155	point back the hard frame pointer to its default location when the
1156	frame is larger than SEH_MAX_FRAME_SIZE.
1157
11582021-03-01  Eric Botcazou  <ebotcazou@adacore.com>
1159
1160	PR target/99234
1161	* config/i386/i386.c (ix86_compute_frame_layout): For a SEH target,
1162	point the hard frame pointer to the SSE register save area instead
1163	of the general register save area.  Perform only minimal adjustment
1164	for small frames if it is initially not correctly aligned.
1165	(ix86_expand_prologue): Remove early saves for a SEH target.
1166	* config/i386/winnt.c (struct seh_frame_state): Document constraint.
1167
11682021-02-23  Qian Jianhua  <qianjh@cn.fujitsu.com>
1169
1170	Backported from master:
1171	2021-02-23  Qian Jianhua  <qianjh@cn.fujitsu.com>
1172
1173	* config/aarch64/aarch64-cost-tables.h (a64fx_extra_costs): New.
1174	* config/aarch64/aarch64.c (a64fx_addrcost_table): New.
1175	(a64fx_regmove_cost, a64fx_vector_cost): New.
1176	(a64fx_tunings): Use the new added cost tables.
1177
11782021-02-15  Eric Botcazou  <ebotcazou@adacore.com>
1179
1180	* df-core.c (df_worklist_dataflow_doublequeue): Use proper cast.
1181
11822021-02-11  Eric Botcazou  <ebotcazou@adacore.com>
1183
1184	* config/i386/winnt.c (i386_pe_seh_unwind_emit): When switching to
1185	the cold section, emit a nop before the directive if the previous
1186	active instruction can throw.
1187
11882021-02-05  Matthias Klose  <doko@ubuntu.com>
1189
1190	Backported from master:
1191	2020-10-06  Richard Biener  <rguenther@suse.de>
1192
1193	PR tree-optimization/97236
1194	* tree-vect-stmts.c (get_group_load_store_type): Keep
1195	VMAT_ELEMENTWISE for single-element vectors.
1196
11972021-02-03  Jakub Jelinek  <jakub@redhat.com>
1198
1199	Backported from master:
1200	2020-11-20  Jakub Jelinek  <jakub@redhat.com>
1201
1202	PR target/97528
1203	* config/arm/arm.c (neon_vector_mem_operand): For POST_MODIFY, require
1204	first POST_MODIFY operand is a REG and is equal to the first operand
1205	of PLUS.
1206
12072021-01-29  Richard Biener  <rguenther@suse.de>
1208
1209	Backported from master:
1210	2021-01-29  Bin Cheng  <bin.cheng@linux.alibaba.com>
1211		    Richard Biener  <rguenther@suse.de>
1212
1213	PR tree-optimization/97627
1214	* tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
1215	Do not analyze fake edges.
1216
12172021-01-21  Wilco Dijkstra  <wdijkstr@arm.com>
1218
1219	Backported from master:
1220	2019-10-16  Wilco Dijkstra  <wdijkstr@arm.com>
1221
1222	PR target/98618
1223	* config/aarch64/aarch64.c (aarch64_classify_symbol):
1224	Apply reasonable limit to symbol offsets.
1225
12262021-01-13  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1227
1228	Backported from master:
1229	2021-01-13  Samuel Thibault  <samuel.thibault@ens-lyon.org>
1230
1231	* config.gcc [$target == *-*-gnu*]: Enable
1232	'default_gnu_indirect_function'.
1233
12342021-01-06  2019-07-10  Marc Glisse  <marc.glisse@inria.fr>
1235
1236	PR testsuite/90806
1237	Backport from mainline
1238	* wide-int.h (wi::lshift): Reject negative values for the fast path.
1239
12402020-12-28  Uroš Bizjak  <ubizjak@gmail.com>
1241
1242	PR target/96793
1243	* config/i386/i386.c (ix86_expand_rint):
1244	Remove the sign of the intermediate value for flag_rounding_math.
1245
12462020-12-28  Piotr Kubaj  <pkubaj@FreeBSD.org>
1247
1248	Backported from master:
1249	2020-12-16  Piotr Kubaj  <pkubaj@FreeBSD.org>
1250
1251	* config.gcc (powerpc*le-*-freebsd*): Add.
1252	* configure.ac (powerpc*le-*-freebsd*): Ditto.
1253	* configure: Regenerate.
1254	* config/rs6000/freebsd64.h (ASM_SPEC_COMMON): Use ENDIAN_SELECT.
1255	(DEFAULT_ASM_ENDIAN): Add little endian support.
1256	(LINK_OS_FREEBSD_SPEC64): Ditto.
1257
12582020-12-27  Uroš Bizjak  <ubizjak@gmail.com>
1259
1260	PR target/96793
1261	* config/i386/i386.c (ix86_expand_truncdf_32):
1262	Remove the sign of the intermediate value for flag_rounding_math.
1263
12642020-12-24  Roman Zhuykov  <zhroma@ispras.ru>
1265
1266	Backported from master:
1267	2020-12-05  Roman Zhuykov  <zhroma@ispras.ru>
1268
1269	PR rtl-optimization/97421
1270	* modulo-sched.c (generate_prolog_epilog): Remove forward
1271	declaration, adjust last argument name and type.
1272	(const_iteration_count): Add bool pointer parameter to return
1273	whether count register is read in pre-header after its
1274	initialization.
1275	(sms_schedule): Fix count register initialization adjustment
1276	procedure according to what const_iteration_count said.
1277
12782020-12-23  Uroš Bizjak  <ubizjak@gmail.com>
1279
1280	PR target/96793
1281	* config/i386/i386.c (ix86_expand_floorceil):
1282	Remove the sign of the intermediate value for flag_rounding_math.
1283	(ix86_expand_floorceildf_32): Ditto.
1284
12852020-12-14  Wilco Dijkstra  <wdijkstr@arm.com>
1286
1287	* config.gcc (aarch64*-*-*): Add --with-tune. Support --with-cpu=native.
1288	* config/aarch64/aarch64.h (OPTION_DEFAULT_SPECS): Add --with-tune.
1289
12902020-12-14  Sebastian Pop  <spop@amazon.com>
1291
1292	* config.gcc (aarch64*-*-*): Remove --with-{cpu,arch,tune}-32 flags.
1293
12942020-12-03  Uroš Bizjak  <ubizjak@gmail.com>
1295	    Jakub Jelinek  <jakub@redhat.com>
1296
1297	PR target/98086
1298	* config/i386/i386.c (ix86_md_asm_adjustmd): Rewrite
1299	zero-extension part to use convert_to_mode.
1300
13012020-12-02  Richard Biener  <rguenther@suse.de>
1302
1303	Backported from master:
1304	2020-07-06  Richard Biener  <rguenther@suse.de>
1305
1306	PR tree-optimization/96075
1307	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
1308	TYPE_SIZE_UNIT of the vector component type instead of DR_STEP
1309	for the misalignment calculation for negative step.
1310
13112020-12-02  Richard Biener  <rguenther@suse.de>
1312
1313	Backported from master:
1314	2020-07-31  Richard Biener  <rguenther@suse.de>
1315
1316	PR middle-end/96369
1317	* fold-const.c (fold_range_test): Special-case constant
1318	LHS for short-circuiting operations.
1319
13202020-12-02  Richard Biener  <rguenther@suse.de>
1321
1322	Backported from master:
1323	2020-11-13  Richard Biener  <rguenther@suse.de>
1324
1325	PR tree-optimization/97812
1326	* tree-vrp.c (register_edge_assert_for_2): Extend the range
1327	according to its sign before seeing whether it fits.
1328
13292020-12-02  Richard Biener  <rguenther@suse.de>
1330
1331	Backported from master:
1332	2020-10-01  Richard Biener  <rguenther@suse.de>
1333
1334	PR tree-optimization/97255
1335	* tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
1336	VIEW_CONVERT_EXPR.
1337
13382020-12-02  Richard Biener  <rguenther@suse.de>
1339
1340	Backported from master:
1341	2020-09-18  Richard Biener  <rguenther@suse.de>
1342
1343	PR tree-optimization/97081
1344	* tree-vect-patterns.c (vect_recog_rotate_pattern): Use the
1345	precision of the shifted operand to determine the mask.
1346
13472020-12-02  Richard Biener  <rguenther@suse.de>
1348
1349	Backported from master:
1350	2020-08-27  Richard Biener  <rguenther@suse.de>
1351
1352	PR tree-optimization/96579
1353	* tree-ssa-reassoc.c (linearize_expr_tree): If we expand
1354	rhs via special ops make sure to swap operands.
1355
13562020-12-02  Richard Biener  <rguenther@suse.de>
1357
1358	Backported from master:
1359	2020-07-30  Richard Biener  <rguenther@suse.de>
1360
1361	PR tree-optimization/96370
1362	* tree-ssa-reassoc.c (rewrite_expr_tree): Add operation
1363	code parameter and use it instead of picking it up from
1364	the stmt that is being rewritten.
1365	(reassociate_bb): Pass down the operation code.
1366
13672020-12-02  Richard Biener  <rguenther@suse.de>
1368
1369	Backported from master:
1370	2020-08-07  Richard Biener  <rguenther@suse.de>
1371
1372	PR tree-optimization/96514
1373	* tree-if-conv.c (if_convertible_bb_p): If the last stmt
1374	is a call that is control-altering, fail.
1375
13762020-12-01  Richard Biener  <rguenther@suse.de>
1377
1378	Backported from master:
1379	2020-10-26  Richard Biener  <rguenther@suse.de>
1380
1381	PR middle-end/97554
1382	* sbitmap.c (sbitmap_vector_alloc): Use size_t for byte
1383	quantities to avoid overflow.
1384
13852020-11-30  Stam Markianos-Wright  <stam.markianos-wright@arm.com>
1386
1387	* config/arm/arm-protos.h: New function arm_gen_far_branch prototype.
1388	* config/arm/arm.c (arm_gen_far_branch): New function
1389	arm_gen_far_branch.
1390	* config/arm/arm.md: Update b<cond> for Thumb2 range checks.
1391
13922020-11-28  Eric Botcazou  <ebotcazou@adacore.com>
1393
1394	PR target/97939
1395	* config/sparc/predicates.md (arith_double_add_operand): Comment.
1396	* config/sparc/sparc.md (uaddvdi4): Use arith_double_operand.
1397	(addvdi4): Use arith_double_add_operand.
1398	(addsi3): Remove useless attributes.
1399	(addvsi4): Use arith_add_operand.
1400	(*cmp_ccv_plus): Likewise and add second alternative accordingly.
1401	(*cmp_ccxv_plus): Likewise.
1402	(*cmp_ccv_plus_set): Likewise.
1403	(*cmp_ccxv_plus_set): Likewise.
1404	(*cmp_ccv_plus_sltu_set): Likewise.
1405	(usubvdi4): Use arith_double_operand.
1406	(subvdi4): Use arith_double_add_operand.
1407	(subsi3): Remove useless attributes.
1408	(subvsi4): Use arith_add_operand.
1409	(*cmp_ccv_minus): Likewise and add second alternative accordingly.
1410	(*cmp_ccxv_minus): Likewise.
1411	(*cmp_ccv_minus_set): Likewise.
1412	(*cmp_ccxv_minus_set): Likewise.
1413	(*cmp_ccv_minus_sltu_set): Likewise.
1414	(negsi2): Use register_operand.
1415	(unegvsi3): Likewise.
1416	(negvsi3) Likewise.
1417	(*cmp_ccnz_neg): Likewise.
1418	(*cmp_ccxnz_neg): Likewise.
1419	(*cmp_ccnz_neg_set): Likewise.
1420	(*cmp_ccxnz_neg_set): Likewise.
1421	(*cmp_ccc_neg_set): Likewise.
1422	(*cmp_ccxc_neg_set): Likewise.
1423	(*cmp_ccc_neg_sltu_set): Likewise.
1424	(*cmp_ccv_neg): Likewise.
1425	(*cmp_ccxv_neg): Likewise.
1426	(*cmp_ccv_neg_set): Likewise.
1427	(*cmp_ccxv_neg_set): Likewise.
1428	(*cmp_ccv_neg_sltu_set): Likewise.
1429
14302020-11-28  Eric Botcazou  <ebotcazou@adacore.com>
1431
1432	PR target/96607
1433	* config/sparc/sparc-protos.h (eligible_for_call_delay): Delete.
1434	* config/sparc/sparc.c (eligible_for_call_delay): Likewise.
1435	* config/sparc/sparc.md (in_call_delay): Likewise.
1436	(tls_delay_slot): New attribute.
1437	(define_delay [call]): Use in_branch_delay.
1438	(tgd_call<P:mode>): Set type to call_no_delay_slot when
1439	tls_delay_slot is false.
1440	(tldm_call<P:mode>): Likewise.
1441
14422020-11-24  Jason Merrill  <jason@redhat.com>
1443
1444	PR c++/97918
1445	* dwarf2out.c (dwarf2out_early_finish): flush_limbo_die_list
1446	after gen_scheduled_generic_parms_dies.
1447
14482020-11-17  Sebastian Pop  <spop@amazon.com>
1449
1450	Backported from master:
1451	2020-11-17  Sebastian Pop  <spop@amazon.com>
1452
1453	* config.gcc: add configure flags --with-{cpu,arch,tune}-{32,64}
1454	as alias flags for --with-{cpu,arch,tune} on AArch64.
1455	* doc/install.texi: Document new flags for aarch64.
1456
14572020-11-17  Sebastian Pop  <spop@amazon.com>
1458
1459	Backported from master:
1460	2020-11-17  Sebastian Pop  <spop@amazon.com>
1461
1462	* config.gcc: Add --with-tune to AArch64 configure flags.
1463
14642020-11-17  Tamar Christina  <tamar.christina@arm.com>
1465
1466	Backported from master:
1467	2020-10-27  Tamar Christina  <tamar.christina@arm.com>
1468
1469	PR target/97535
1470	* config/aarch64/aarch64.c (aarch64_expand_cpymem): Use unsigned
1471	arithmetic in check.
1472
14732020-11-17  Monk Chiang  <monk.chiang@sifive.com>
1474
1475	Backported from master:
1476	2020-11-14  Monk Chiang  <monk.chiang@sifive.com>
1477
1478	PR target/97682
1479	* config/riscv/riscv.h (RISCV_PROLOGUE_TEMP_REGNUM): Change register
1480	to t0.
1481	(RISCV_CALL_ADDRESS_TEMP_REGNUM): New Marco, define t1 register.
1482	(RISCV_CALL_ADDRESS_TEMP): Use it for call instructions.
1483	* config/riscv/riscv.c (riscv_legitimize_call_address): Use
1484	RISCV_CALL_ADDRESS_TEMP.
1485	(riscv_compute_frame_info): Change temporary register to t0 form t1.
1486	(riscv_trampoline_init): Adjust comment.
1487
14882020-11-16  Cui,Lili  <lili.cui@intel.com>
1489
1490	* config/i386/i386.h: Add PREFETCHW to march=broadwell.
1491	* doc/invoke.texi: Put PREFETCHW back to relation arch.
1492
14932020-11-11  liuhongt  <hongtao.liu@intel.com>
1494
1495	* config/i386/i386.c (ix86_option_override_internal):
1496	Handle PTA_CLDEMOTE, PTA_MOVDIRI, PTA_MOVDIR64B.
1497	* config/i386/i386.h (PTA_CLDEMOTE, PTA_MOVDIRI,
1498	PTA_MOVDIR64B.): Define.
1499
15002020-11-09  Lili Cui  <lili.cui@intel.com>
1501
1502	PR target/97685
1503	* config/i386/i386.h:
1504	(PTA_BROADWELL): Delete PTA_PRFCHW.
1505	(PTA_SILVERMONT): Add PTA_PRFCHW.
1506	(PTA_KNL): Add PTA_PREFETCHWT1.
1507	(PTA_TREMONT): Add PTA_MOVDIRI, PTA_MOVDIR64B, PTA_CLDEMOTE and PTA_WAITPKG.
1508	* doc/invoke.texi: Delete PREFETCHW for broadwell, skylake, knl, knm,
1509	skylake-avx512, cannonlake, icelake-client, icelake-server, cascadelake,
1510	cooperlake, tigerlake and sapphirerapids.
1511	Add PREFETCHW for silvermont, goldmont, goldmont-plus and tremont.
1512	Add XSAVEC and XSAVES for goldmont, goldmont-plus and tremont.
1513	Add MOVDIRI, MOVDIR64B, CLDEMOTE and WAITPKG for tremont.
1514	Add KEYLOCKER and HREST for alderlake.
1515	Add AMX-BF16, AMX-TILE, AMX-INT8 and UINTR for sapphirerapids.
1516	Add KEYLOCKER for tigerlake.
1517
15182020-10-22  Andreas Krebbel  <krebbel@linux.ibm.com>
1519
1520	Backported from master:
1521	2020-10-22  Andreas Krebbel  <krebbel@linux.ibm.com>
1522
1523	PR rtl-optimization/97439
1524	* dfp.c (decimal_real_maxval): Set the sign flag in the
1525	generated number.
1526
15272020-10-16  Martin Liska  <mliska@suse.cz>
1528
1529	Backported from master:
1530	2020-10-16  Martin Liska  <mliska@suse.cz>
1531
1532	PR ipa/97404
1533	* ipa-prop.c (struct ipa_vr_ggc_hash_traits):
1534	Compare types of VRP as we can merge ranges of different types.
1535
15362020-10-15  Martin Liska  <mliska@suse.cz>
1537
1538	Backported from master:
1539	2020-10-15  Martin Liska  <mliska@suse.cz>
1540
1541	PR ipa/97295
1542	* profile-count.c (profile_count::to_frequency): Move part of
1543	gcc_assert to STATIC_ASSERT.
1544	* regs.h (REG_FREQ_FROM_BB): Do not use count.to_frequency for
1545	a function that does not have count_max initialized.
1546
15472020-10-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1548
1549	* config/aarch64/aarch64.c (neoversen2_tunings): Define.
1550	* config/aarch64/aarch64-cores.def (neoverse-n2): Use it.
1551
15522020-10-13  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1553
1554	Backported from master:
1555	2020-10-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1556
1557	PR target/97349
1558	* config/aarch64/arm_neon.h (vdupq_n_p8, vdupq_n_p16,
1559	vdupq_n_p64, vdupq_n_s8, vdupq_n_s16, vdupq_n_u8, vdupq_n_u16):
1560	Fix argument type.
1561
15622020-10-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1563
1564	* config/aarch64/aarch64.md ("unspec"): Add UNSPEC_FRINT32Z,
1565	UNSPEC_FRINT32X, UNSPEC_FRINT64Z, UNSPEC_FRINT64X.
1566	(aarch64_<frintnzs_op><mode>): New define_insn.
1567	* config/aarch64/aarch64.h (TARGET_FRINT): Define.
1568	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
1569	__ARM_FEATURE_FRINT when appropriate.
1570	* config/aarch64/aarch64-simd-builtins.def: Add builtins for frint32z,
1571	frint32x, frint64z, frint64x.
1572	* config/aarch64/arm_acle.h (__rint32zf, __rint32z, __rint64zf,
1573	__rint64z, __rint32xf, __rint32x, __rint64xf, __rint64x): Define.
1574	* config/aarch64/arm_neon.h (vrnd32z_f32, vrnd32zq_f32, vrnd32z_f64,
1575	vrnd32zq_f64, vrnd32x_f32, vrnd32xq_f32, vrnd32x_f64, vrnd32xq_f64,
1576	vrnd64z_f32, vrnd64zq_f32, vrnd64z_f64, vrnd64zq_f64, vrnd64x_f32,
1577	vrnd64xq_f32, vrnd64x_f64, vrnd64xq_f64): Define.
1578	* config/aarch64/iterators.md (VSFDF): Define.
1579	(FRINTNZX): Likewise.
1580	(frintnzs_op): Likewise.
1581
15822020-10-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1583
1584	Backported from master:
1585	2020-10-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1586
1587	PR target/97150
1588	* config/aarch64/arm_neon.h (vqrshlb_u8): Make second argument
1589	signed.
1590	(vqrshlh_u16): Likewise.
1591	(vqrshls_u32): Likewise.
1592	(vqrshld_u64): Likewise.
1593	(vqshlb_u8): Likewise.
1594	(vqshlh_u16): Likewise.
1595	(vqshls_u32): Likewise.
1596	(vqshld_u64): Likewise.
1597	(vshld_u64): Likewise.
1598
15992020-10-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1600
1601	Backported from master:
1602	2020-10-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1603
1604	PR target/96313
1605	* config/aarch64/aarch64-simd-builtins.def (sqmovun): Use UNOPUS
1606	qualifiers.
1607	* config/aarch64/arm_neon.h (vqmovun_s16): Adjust builtin call.
1608	Remove unnecessary result cast.
1609	(vqmovun_s32): Likewise.
1610	(vqmovun_s64): Likewise.
1611	(vqmovunh_s16): Likewise.  Fix return type.
1612	(vqmovuns_s32): Likewise.
1613	(vqmovund_s64): Likewise.
1614
16152020-10-08  Alan Modra  <amodra@gmail.com>
1616
1617	Backported from master:
1618	2020-10-01  Alan Modra  <amodra@gmail.com>
1619
1620	* config/rs6000/rs6000.c (rs6000_legitimize_address): Use
1621	gen_int_mode for high part of address constant.
1622
16232020-10-05  Alex Coplan  <alex.coplan@arm.com>
1624
1625	* config/arm/arm-cpus.in (neoverse-v1): Add missing vendor and
1626	part numbers.
1627
16282020-10-02  Alex Coplan  <alex.coplan@arm.com>
1629
1630	* config/arm/arm-cpus.in (neoverse-n2): New.
1631	* config/arm/arm-tables.opt: Regenerate.
1632	* config/arm/arm-tune.md: Regenerate.
1633	* doc/invoke.texi: Document support for Neoverse N2.
1634
16352020-10-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1636
1637	* config/aarch64/aarch64.c (neoversev1_tunings): Define.
1638	* config/aarch64/aarch64-cores.def (zeus): Use it.
1639	(neoverse-v1): Likewise.
1640
16412020-10-02  Martin Liska  <mliska@suse.cz>
1642
1643	Backported from master:
1644	2020-10-02  Martin Liska  <mliska@suse.cz>
1645
1646	PR gcov-profile/97193
1647	* coverage.c (coverage_init): GCDA note files should not be
1648	mangled and should end in output directory.
1649
16502020-10-02  Martin Liska  <mliska@suse.cz>
1651
1652	Backported from master:
1653	2020-09-25  Martin Liska  <mliska@suse.cz>
1654
1655	PR gcov-profile/64636
1656	* value-prof.c (stream_out_histogram_value): Allow negative
1657	values for HIST_TYPE_IOR.
1658
16592020-10-02  Martin Liska  <mliska@suse.cz>
1660
1661	Backported from master:
1662	2020-09-23  Martin Liska  <mliska@suse.cz>
1663
1664	PR gcov-profile/97069
1665	* profile.c (branch_prob): Line number must be at least 1.
1666
16672020-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1668
1669	* config/aarch64/aarch64-tuning-flags.def
1670	(PREFER_ADVSIMD_AUTOVEC): Define.
1671	* config/aarch64/aarch64.c (aarch64_preferred_simd_mode): Use
1672	it.
1673	(aarch64_autovectorize_vector_sizes): Likewise.
1674
16752020-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1676
1677	* config/aarch64/aarch64-cores.def (zeus): Add AARCH64_FL_RNG to
1678	features.
1679	(neoverse-v1): Likewise.
1680
16812020-10-01  Jakub Jelinek  <jakub@redhat.com>
1682
1683	Backported from master:
1684	2020-10-01  Jakub Jelinek  <jakub@redhat.com>
1685
1686	* config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
1687	TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
1688	fenv_var and old_fpc.  Formatting fixes.
1689
16902020-10-01  Alex Coplan  <alex.coplan@arm.com>
1691
1692	* config/aarch64/aarch64-cores.def: Add Neoverse N2.
1693	* config/aarch64/aarch64-tune.md: Regenerate.
1694	* doc/invoke.texi: Document AArch64 support for Neoverse N2.
1695
16962020-09-30  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1697
1698	Backported from master:
1699	2020-09-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1700
1701	* config/aarch64/aarch64-option-extensions.def (rng): Add
1702	cpuinfo string.
1703
17042020-09-30  H.J. Lu  <hjl.tools@gmail.com>
1705
1706	Backported from master:
1707	2020-09-30  H.J. Lu  <hjl.tools@gmail.com>
1708
1709	PR target/97184
1710	* config/i386/i386.md (UNSPECV_MOVDIRI): Renamed to ...
1711	(UNSPEC_MOVDIRI): This.
1712	(UNSPECV_MOVDIR64B): Renamed to ...
1713	(UNSPEC_MOVDIR64B): This.
1714	(movdiri<mode>): Use SET operation.
1715	(@movdir64b_<mode>): Likewise.
1716
17172020-09-29  Hongyu Wang  <hongyu.wang@intel.com>
1718
1719	Backported from master:
1720	2020-09-29  Hongyu Wang  <hongyu.wang@intel.com>
1721
1722	PR target/97231
1723	* config/i386/pconfigintrin.h: Add FSF copyright notes.
1724	* config/i386/wbnoinvdintrin.h: Ditto.
1725
17262020-09-29  Alex Coplan  <alex.coplan@arm.com>
1727
1728	* config/arm/arm-cpus.in (neoverse-v1): New.
1729	* config/arm/arm-tables.opt: Regenerate.
1730	* config/arm/arm-tune.md: Regenerate.
1731	* doc/invoke.texi: Document AArch32 support for Neoverse V1.
1732
17332020-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1734
1735	Backported from master:
1736	2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1737
1738	PR target/71233
1739	* config/aarch64/arm_neon.h (vreinterpretq_f64_p128,
1740	vreinterpretq_p128_f64): Define.
1741
17422020-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1743
1744	Backported from master:
1745	2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1746
1747	PR target/71233
1748	* config/aarch64/aarch64-simd-builtins.def (frintn): Use BUILTIN_VHSDF_HSDF
1749	for modes.  Remove explicit hf instantiation.
1750	* config/aarch64/arm_neon.h (vrndns_f32): Define.
1751
17522020-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1753
1754	Backported from master:
1755	2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1756
1757	PR target/71233
1758	* config/aarch64/arm_neon.h (vtrn1q_p64, vtrn2q_p64, vuzp1q_p64,
1759	vuzp2q_p64, vzip1q_p64, vzip2q_p64): Define.
1760
17612020-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1762
1763	Backported from master:
1764	2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1765
1766	PR target/71233
1767	* config/aarch64/arm_neon.h (vldrq_p128): Define.
1768
17692020-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1770
1771	Backported from master:
1772	2020-09-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1773
1774	PR target/71233
1775	* config/aarch64/arm_neon.h (vstrq_p128): Define.
1776
17772020-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1778
1779	Backported from master:
1780	2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1781
1782	PR target/71233
1783	* config/aarch64/arm_neon.h (vcls_u8, vcls_u16, vcls_u32,
1784	vclsq_u8, vclsq_u16, vclsq_u32): Define.
1785
17862020-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1787
1788	Backported from master:
1789	2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1790
1791	PR target/71233
1792	* config/aarch64/arm_neon.h (vceqq_p64, vceqz_p64, vceqzq_p64): Define.
1793
17942020-09-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1795
1796	Backported from master:
1797	2020-09-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1798
1799	PR target/71233
1800	* config/aarch64/arm_neon.h (vadd_p8, vadd_p16, vadd_p64, vaddq_p8,
1801	vaddq_p16, vaddq_p64, vaddq_p128): Define.
1802
18032020-09-27  Jakub Jelinek  <jakub@redhat.com>
1804
1805	Backported from master:
1806	2020-09-27  Jakub Jelinek  <jakub@redhat.com>
1807
1808	PR middle-end/97073
1809	* optabs.c (expand_binop, expand_absneg_bit, expand_unop,
1810	expand_copysign_bit): Check reg_overlap_mentioned_p between target
1811	and operand(s) and if it returns true, force a pseudo as target.
1812
18132020-09-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1814
1815	PR target/71233
1816	* config/aarch64/aarch64.md (UNSPEC_RNDR, UNSPEC_RNDRRS):
1817	Define.
1818	(aarch64_rndr): New define_insn.
1819	(aarch64_rndrrs): Likewise.
1820	* config/aarch64/aarch64.h (AARCH64_ISA_RNG): Define.
1821	(TARGET_RNG): Likewise.
1822	* config/aarch64/aarch64-builtins.c (enum aarch64_builtins):
1823	Add AARCH64_BUILTIN_RNG_RNDR, AARCH64_BUILTIN_RNG_RNDRRS.
1824	(aarch64_init_rng_builtins): Define.
1825	(aarch64_init_builtins): Call aarch64_init_rng_builtins.
1826	(aarch64_expand_rng_builtin): Define.
1827	(aarch64_expand_builtin): Use IGNORE argument, handle
1828	RNG builtins.
1829	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
1830	Define __ARM_FEATURE_RNG when TARGET_RNG.
1831	* config/aarch64/arm_acle.h (__rndr, __rndrrs): Define.
1832
18332020-09-24  H.J. Lu  <hjl.tools@gmail.com>
1834
1835	Backported from master:
1836	2020-09-16  H.J. Lu  <hjl.tools@gmail.com>
1837
1838	PR target/97032
1839	* cfgexpand.c (asm_clobber_reg_kind): Set sp_is_clobbered_by_asm
1840	to true if the stack pointer is clobbered by asm statement.
1841	* emit-rtl.h (rtl_data): Add sp_is_clobbered_by_asm.
1842	* config/i386/i386.c (ix86_get_drap_rtx): Set need_drap to true
1843	if the stack pointer is clobbered by asm statement.
1844
18452020-09-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1846
1847	Backported from master:
1848	2020-08-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1849		    Andrea Corallo   <andrea.corallo@arm.com>
1850
1851	PR target/71233
1852	* config/aarch64/aarch64.md (UNSPEC_FJCVTZS): Define.
1853	(aarch64_fjcvtzs): New define_insn.
1854	* config/aarch64/aarch64.h (TARGET_JSCVT): Define.
1855	* config/aarch64/aarch64-builtins.c (aarch64_builtins):
1856	Add AARCH64_JSCVT.
1857	(aarch64_init_builtins): Initialize __builtin_aarch64_jcvtzs.
1858	(aarch64_expand_builtin): Handle AARCH64_JSCVT.
1859	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
1860	__ARM_FEATURE_JCVT where appropriate.
1861	* config/aarch64/arm_acle.h (__jcvt): Define.
1862	* doc/sourcebuild.texi (aarch64_fjcvtzs_hw) Document new
1863	target supports option.
1864
18652020-09-24  Alex Coplan  <alex.coplan@arm.com>
1866
1867	* config/aarch64/aarch64-cores.def: Add Neoverse V1.
1868	* config/aarch64/aarch64-tune.md: Regenerate.
1869	* doc/invoke.texi: Document support for Neoverse V1.
1870
18712020-09-18  Jakub Jelinek  <jakub@redhat.com>
1872
1873	Backported from master:
1874	2020-09-16  Jakub Jelinek  <jakub@redhat.com>
1875
1876	PR tree-optimization/97053
1877	* gimple-ssa-store-merging.c (check_no_overlap): Add FIRST_ORDER,
1878	START, FIRST_EARLIER and LAST_EARLIER arguments.  Return false if
1879	any stores between FIRST_EARLIER inclusive and LAST_EARLIER exclusive
1880	has order in between FIRST_ORDER and LAST_ORDER and overlaps the to
1881	be merged store.
1882	(imm_store_chain_info::try_coalesce_bswap): Add FIRST_EARLIER argument.
1883	Adjust check_no_overlap caller.
1884	(imm_store_chain_info::coalesce_immediate_stores): Add first_earlier
1885	and last_earlier variables, adjust them during iterations.  Adjust
1886	check_no_overlap callers, call check_no_overlap even when extending
1887	overlapping stores by extra INTEGER_CST stores.
1888
18892020-09-18  Richard Sandiford  <richard.sandiford@arm.com>
1890
1891	Backported from master:
1892	2020-04-29  Richard Sandiford  <richard.sandiford@arm.com>
1893
1894	* config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv): Use
1895	TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
1896	fenv_var and new_fenv_var.
1897
18982020-09-17  Segher Boessenkool  <segher@kernel.crashing.org>
1899
1900	Backported from master:
1901	2020-04-24  Segher Boessenkool  <segher@kernel.crashing.org>
1902
1903	PR target/94710
1904	* config/rs6000/vector.md (vec_shr_<mode> for VEC_L): Correct little
1905	endian byteshift_val calculation.
1906
19072020-09-17  liuhongt  <hongtao.liu@intel.com>
1908
1909	* common/config/i386/i386-common.c
1910	(OPTION_MASK_ISA_AVX_UNSET): Remove OPTION_MASK_ISA_XSAVE_UNSET.
1911	(OPTION_MASK_ISA_XSAVE_UNSET): Add OPTION_MASK_ISA_AVX_UNSET.
1912
19132020-09-16  Jakub Jelinek  <jakub@redhat.com>
1914
1915	Backported from master:
1916	2020-08-26  Jakub Jelinek  <jakub@redhat.com>
1917
1918	PR debug/96729
1919	* dwarf2out.c (dwarf2out_next_real_insn): Adjust function comment.
1920	(dwarf2out_var_location): Look for next_note only if next_real is
1921	non-NULL, in that case look for the first non-deleted
1922	NOTE_INSN_VAR_LOCATION between loc_note and next_real, if any.
1923
19242020-09-16  Jakub Jelinek  <jakub@redhat.com>
1925
1926	Backported from master:
1927	2020-08-25  Jakub Jelinek  <jakub@redhat.com>
1928
1929	PR tree-optimization/96722
1930	* gimple.c (infer_nonnull_range): Formatting fix.
1931	(infer_nonnull_range_by_dereference): Return false for clobber stmts.
1932
19332020-09-16  Jakub Jelinek  <jakub@redhat.com>
1934
1935	Backported from master:
1936	2020-08-08  Jakub Jelinek  <jakub@redhat.com>
1937
1938	PR fortran/93553
1939	* tree-nested.c (convert_nonlocal_omp_clauses): For
1940	OMP_CLAUSE_REDUCTION, OMP_CLAUSE_LASTPRIVATE and OMP_CLAUSE_LINEAR
1941	save info->new_local_var_chain around walks of the clause gimple
1942	sequences and declare_vars if needed into the sequence.
1943
19442020-09-16  Jakub Jelinek  <jakub@redhat.com>
1945
1946	Backported from master:
1947	2020-08-05  Jakub Jelinek  <jakub@redhat.com>
1948
1949	PR middle-end/96459
1950	* omp-low.c (lower_omp_taskreg): Call lower_reduction_clauses even in
1951	for host teams.
1952
19532020-09-16  Jakub Jelinek  <jakub@redhat.com>
1954
1955	Backported from master:
1956	2020-08-04  Jakub Jelinek  <jakub@redhat.com>
1957
1958	PR middle-end/96426
1959	* tree-vect-generic.c (expand_vector_conversion): Replace .VEC_CONVERT
1960	call with GIMPLE_NOP if there is no lhs.
1961
19622020-09-16  Jakub Jelinek  <jakub@redhat.com>
1963
1964	Backported from master:
1965	2020-07-15  Jakub Jelinek  <jakub@redhat.com>
1966
1967	PR target/96174
1968	* config/i386/avx512fintrin.h (_mm512_cmpeq_pd_mask,
1969	_mm512_mask_cmpeq_pd_mask, _mm512_cmplt_pd_mask,
1970	_mm512_mask_cmplt_pd_mask, _mm512_cmple_pd_mask,
1971	_mm512_mask_cmple_pd_mask, _mm512_cmpunord_pd_mask,
1972	_mm512_mask_cmpunord_pd_mask, _mm512_cmpneq_pd_mask,
1973	_mm512_mask_cmpneq_pd_mask, _mm512_cmpnlt_pd_mask,
1974	_mm512_mask_cmpnlt_pd_mask, _mm512_cmpnle_pd_mask,
1975	_mm512_mask_cmpnle_pd_mask, _mm512_cmpord_pd_mask,
1976	_mm512_mask_cmpord_pd_mask, _mm512_cmpeq_ps_mask,
1977	_mm512_mask_cmpeq_ps_mask, _mm512_cmplt_ps_mask,
1978	_mm512_mask_cmplt_ps_mask, _mm512_cmple_ps_mask,
1979	_mm512_mask_cmple_ps_mask, _mm512_cmpunord_ps_mask,
1980	_mm512_mask_cmpunord_ps_mask, _mm512_cmpneq_ps_mask,
1981	_mm512_mask_cmpneq_ps_mask, _mm512_cmpnlt_ps_mask,
1982	_mm512_mask_cmpnlt_ps_mask, _mm512_cmpnle_ps_mask,
1983	_mm512_mask_cmpnle_ps_mask, _mm512_cmpord_ps_mask,
1984	_mm512_mask_cmpord_ps_mask): Move outside of __OPTIMIZE__ guarded
1985	section.
1986
19872020-09-16  Jakub Jelinek  <jakub@redhat.com>
1988
1989	Backported from master:
1990	2020-07-02  Jakub Jelinek  <jakub@redhat.com>
1991
1992	PR tree-optimization/95857
1993	* tree-cfg.c (group_case_labels_stmt): When removing an unreachable
1994	base_bb, remember all forced and non-local labels on it and later
1995	treat those as if they have NULL label_to_block.  Formatting fix.
1996	Fix a comment typo.
1997
19982020-09-16  Jakub Jelinek  <jakub@redhat.com>
1999
2000	Backported from master:
2001	2020-06-24  Jakub Jelinek  <jakub@redhat.com>
2002
2003	PR middle-end/95810
2004	* fold-const.c (fold_cond_expr_with_comparison): Optimize
2005	A <= 0 ? A : -A into (type)-absu(A) rather than -abs(A).
2006
20072020-09-16  Jakub Jelinek  <jakub@redhat.com>
2008
2009	Backported from master:
2010	2020-05-14  Jakub Jelinek  <jakub@redhat.com>
2011
2012	PR middle-end/95108
2013	* omp-simd-clone.c (struct modify_stmt_info): Add after_stmt member.
2014	(ipa_simd_modify_stmt_ops): For PHIs, only add before first stmt in
2015	entry block if info->after_stmt is NULL, otherwise add after that stmt
2016	and update it after adding each stmt.
2017	(ipa_simd_modify_function_body): Initialize info.after_stmt.
2018
20192020-09-16  Jakub Jelinek  <jakub@redhat.com>
2020
2021	Backported from master:
2022	2020-05-13  Jakub Jelinek  <jakub@redhat.com>
2023
2024	PR debug/95080
2025	* cfgrtl.c (purge_dead_edges): Skip over debug and note insns even
2026	if the last insn is a note.
2027
20282020-09-16  Jakub Jelinek  <jakub@redhat.com>
2029
2030	Backported from master:
2031	2020-05-07  Jakub Jelinek  <jakub@redhat.com>
2032
2033	PR target/94950
2034	* config/riscv/riscv-builtins.c (riscv_atomic_assign_expand_fenv): Use
2035	TARGET_EXPR instead of MODIFY_EXPR for first assignment to old_flags.
2036
20372020-09-16  Jakub Jelinek  <jakub@redhat.com>
2038
2039	Backported from master:
2040	2020-05-07  Jakub Jelinek  <jakub@redhat.com>
2041
2042	PR rtl-optimization/94873
2043	* combine.c (combine_instructions): Don't optimize using REG_EQUAL
2044	note if SET_SRC (set) has side-effects.
2045
20462020-09-16  Jakub Jelinek  <jakub@redhat.com>
2047
2048	Backported from master:
2049	2020-05-02  Jakub Jelinek  <jakub@redhat.com>
2050
2051	* config/tilegx/tilegx.md
2052	(insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Use <I124MODE:n>
2053	rather than just <n>.
2054
20552020-09-16  Jakub Jelinek  <jakub@redhat.com>
2056
2057	Backported from master:
2058	2020-04-29  Jakub Jelinek  <jakub@redhat.com>
2059
2060	PR target/94832
2061	* config/i386/avx512bwintrin.h (_mm512_alignr_epi8,
2062	_mm512_mask_alignr_epi8, _mm512_maskz_alignr_epi8): Wrap macro operands
2063	used in casts into parens.
2064	* config/i386/avx512fintrin.h (_mm512_cvt_roundps_ph, _mm512_cvtps_ph,
2065	_mm512_mask_cvt_roundps_ph, _mm512_mask_cvtps_ph,
2066	_mm512_maskz_cvt_roundps_ph, _mm512_maskz_cvtps_ph,
2067	_mm512_mask_cmp_epi64_mask, _mm512_mask_cmp_epi32_mask,
2068	_mm512_mask_cmp_epu64_mask, _mm512_mask_cmp_epu32_mask,
2069	_mm512_mask_cmp_round_pd_mask, _mm512_mask_cmp_round_ps_mask,
2070	_mm512_mask_cmp_pd_mask, _mm512_mask_cmp_ps_mask): Likewise.
2071	* config/i386/avx512vlbwintrin.h (_mm256_mask_alignr_epi8,
2072	_mm256_maskz_alignr_epi8, _mm_mask_alignr_epi8, _mm_maskz_alignr_epi8,
2073	_mm256_mask_cmp_epu8_mask): Likewise.
2074	* config/i386/avx512vlintrin.h (_mm_mask_cvtps_ph, _mm_maskz_cvtps_ph,
2075	_mm256_mask_cvtps_ph, _mm256_maskz_cvtps_ph): Likewise.
2076	* config/i386/f16cintrin.h (_mm_cvtps_ph, _mm256_cvtps_ph): Likewise.
2077	* config/i386/shaintrin.h (_mm_sha1rnds4_epu32): Likewise.
2078
20792020-09-16  Jakub Jelinek  <jakub@redhat.com>
2080
2081	Backported from master:
2082	2020-04-29  Jakub Jelinek  <jakub@redhat.com>
2083
2084	PR target/94832
2085	* config/i386/avx2intrin.h (_mm_mask_i32gather_pd,
2086	_mm256_mask_i32gather_pd, _mm_mask_i64gather_pd,
2087	_mm256_mask_i64gather_pd, _mm_mask_i32gather_ps,
2088	_mm256_mask_i32gather_ps, _mm_mask_i64gather_ps,
2089	_mm256_mask_i64gather_ps, _mm_i32gather_epi64,
2090	_mm_mask_i32gather_epi64, _mm256_i32gather_epi64,
2091	_mm256_mask_i32gather_epi64, _mm_i64gather_epi64,
2092	_mm_mask_i64gather_epi64, _mm256_i64gather_epi64,
2093	_mm256_mask_i64gather_epi64, _mm_i32gather_epi32,
2094	_mm_mask_i32gather_epi32, _mm256_i32gather_epi32,
2095	_mm256_mask_i32gather_epi32, _mm_i64gather_epi32,
2096	_mm_mask_i64gather_epi32, _mm256_i64gather_epi32,
2097	_mm256_mask_i64gather_epi32): Surround macro parameter uses with
2098	parens.
2099	(_mm_i32gather_pd, _mm256_i32gather_pd, _mm_i64gather_pd,
2100	_mm256_i64gather_pd, _mm_i32gather_ps, _mm256_i32gather_ps,
2101	_mm_i64gather_ps, _mm256_i64gather_ps): Likewise.  Don't use
2102	as mask vector containing -1.0 or -1.0f elts, but instead vector
2103	with all bits set using _mm*_cmpeq_p? with zero operands.
2104	* config/i386/avx512fintrin.h (_mm512_i32gather_ps,
2105	_mm512_mask_i32gather_ps, _mm512_i32gather_pd,
2106	_mm512_mask_i32gather_pd, _mm512_i64gather_ps,
2107	_mm512_mask_i64gather_ps, _mm512_i64gather_pd,
2108	_mm512_mask_i64gather_pd, _mm512_i32gather_epi32,
2109	_mm512_mask_i32gather_epi32, _mm512_i32gather_epi64,
2110	_mm512_mask_i32gather_epi64, _mm512_i64gather_epi32,
2111	_mm512_mask_i64gather_epi32, _mm512_i64gather_epi64,
2112	_mm512_mask_i64gather_epi64, _mm512_i32scatter_ps,
2113	_mm512_mask_i32scatter_ps, _mm512_i32scatter_pd,
2114	_mm512_mask_i32scatter_pd, _mm512_i64scatter_ps,
2115	_mm512_mask_i64scatter_ps, _mm512_i64scatter_pd,
2116	_mm512_mask_i64scatter_pd, _mm512_i32scatter_epi32,
2117	_mm512_mask_i32scatter_epi32, _mm512_i32scatter_epi64,
2118	_mm512_mask_i32scatter_epi64, _mm512_i64scatter_epi32,
2119	_mm512_mask_i64scatter_epi32, _mm512_i64scatter_epi64,
2120	_mm512_mask_i64scatter_epi64): Surround macro parameter uses with
2121	parens.
2122	* config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
2123	_mm512_prefetch_i32gather_ps, _mm512_mask_prefetch_i32gather_pd,
2124	_mm512_mask_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
2125	_mm512_prefetch_i64gather_ps, _mm512_mask_prefetch_i64gather_pd,
2126	_mm512_mask_prefetch_i64gather_ps, _mm512_prefetch_i32scatter_pd,
2127	_mm512_prefetch_i32scatter_ps, _mm512_mask_prefetch_i32scatter_pd,
2128	_mm512_mask_prefetch_i32scatter_ps, _mm512_prefetch_i64scatter_pd,
2129	_mm512_prefetch_i64scatter_ps, _mm512_mask_prefetch_i64scatter_pd,
2130	_mm512_mask_prefetch_i64scatter_ps): Likewise.
2131	* config/i386/avx512vlintrin.h (_mm256_mmask_i32gather_ps,
2132	_mm_mmask_i32gather_ps, _mm256_mmask_i32gather_pd,
2133	_mm_mmask_i32gather_pd, _mm256_mmask_i64gather_ps,
2134	_mm_mmask_i64gather_ps, _mm256_mmask_i64gather_pd,
2135	_mm_mmask_i64gather_pd, _mm256_mmask_i32gather_epi32,
2136	_mm_mmask_i32gather_epi32, _mm256_mmask_i32gather_epi64,
2137	_mm_mmask_i32gather_epi64, _mm256_mmask_i64gather_epi32,
2138	_mm_mmask_i64gather_epi32, _mm256_mmask_i64gather_epi64,
2139	_mm_mmask_i64gather_epi64, _mm256_i32scatter_ps,
2140	_mm256_mask_i32scatter_ps, _mm_i32scatter_ps, _mm_mask_i32scatter_ps,
2141	_mm256_i32scatter_pd, _mm256_mask_i32scatter_pd, _mm_i32scatter_pd,
2142	_mm_mask_i32scatter_pd, _mm256_i64scatter_ps,
2143	_mm256_mask_i64scatter_ps, _mm_i64scatter_ps, _mm_mask_i64scatter_ps,
2144	_mm256_i64scatter_pd, _mm256_mask_i64scatter_pd, _mm_i64scatter_pd,
2145	_mm_mask_i64scatter_pd, _mm256_i32scatter_epi32,
2146	_mm256_mask_i32scatter_epi32, _mm_i32scatter_epi32,
2147	_mm_mask_i32scatter_epi32, _mm256_i32scatter_epi64,
2148	_mm256_mask_i32scatter_epi64, _mm_i32scatter_epi64,
2149	_mm_mask_i32scatter_epi64, _mm256_i64scatter_epi32,
2150	_mm256_mask_i64scatter_epi32, _mm_i64scatter_epi32,
2151	_mm_mask_i64scatter_epi32, _mm256_i64scatter_epi64,
2152	_mm256_mask_i64scatter_epi64, _mm_i64scatter_epi64,
2153	_mm_mask_i64scatter_epi64): Likewise.
2154
21552020-09-16  Jakub Jelinek  <jakub@redhat.com>
2156
2157	Backported from master:
2158	2020-04-29  Jakub Jelinek  <jakub@redhat.com>
2159
2160	PR target/94826
2161	* config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv): Use
2162	TARGET_EXPR instead of MODIFY_EXPR for first assignment to
2163	fenv_var, fenv_clear and old_fenv variables.  For fenv_addr
2164	take address of TARGET_EXPR of fenv_var with void_node initializer.
2165	Formatting fixes.
2166
21672020-09-16  Haijian Zhang  <z.zhanghaijian@huawei.com>
2168
2169	Backported from master:
2170	2020-04-29  Haijian Zhang  <z.zhanghaijian@huawei.com>
2171
2172	PR target/94820
2173	* config/aarch64/aarch64-builtins.c
2174	(aarch64_atomic_assign_expand_fenv): Use TARGET_EXPR instead of
2175	MODIFY_EXPR for first assignment to fenv_cr, fenv_sr and
2176	new_fenv_var.
2177
21782020-09-16  Jakub Jelinek  <jakub@redhat.com>
2179
2180	Backported from master:
2181	2020-04-28  Jakub Jelinek  <jakub@redhat.com>
2182
2183	PR tree-optimization/94809
2184	* tree.c (build_call_expr_internal_loc_array): Call
2185	process_call_operands.
2186
21872020-09-16  Jakub Jelinek  <jakub@redhat.com>
2188
2189	Backported from master:
2190	2020-04-27  Jakub Jelinek  <jakub@redhat.com>
2191
2192	PR target/94780
2193	* config/i386/i386.c (ix86_atomic_assign_expand_fenv): Use
2194	TARGET_EXPR instead of MODIFY_EXPR for first assignment to
2195	sw_var, exceptions_var, mxcsr_orig_var and mxcsr_mod_var.
2196
21972020-09-16  Jakub Jelinek  <jakub@redhat.com>
2198
2199	Backported from master:
2200	2020-04-23  Jakub Jelinek  <jakub@redhat.com>
2201
2202	PR target/94710
2203	* optabs.c (expand_vec_perm_const): For shift_amt const0_rtx
2204	just return v2.
2205
22062020-09-16  Jakub Jelinek  <jakub@redhat.com>
2207
2208	Backported from master:
2209	2020-04-23  Jakub Jelinek  <jakub@redhat.com>
2210
2211	PR c/94705
2212	* attribs.c (decl_attribute): Don't diagnose attribute exclusions
2213	if last_decl is error_mark_node or has such a TREE_TYPE.
2214
22152020-09-16  Jakub Jelinek  <jakub@redhat.com>
2216
2217	Backported from master:
2218	2020-04-21  Jakub Jelinek  <jakub@redhat.com>
2219
2220	PR c/94641
2221	* stor-layout.c (place_field, finalize_record_size): Don't emit
2222	-Wpadded warning on TYPE_ARTIFICIAL rli->t.
2223	* ubsan.c (ubsan_get_type_descriptor_type,
2224	ubsan_get_source_location_type, ubsan_create_data): Set
2225	TYPE_ARTIFICIAL.
2226	* asan.c (asan_global_struct): Likewise.
2227
22282020-09-16  Jakub Jelinek  <jakub@redhat.com>
2229
2230	Backported from master:
2231	2020-04-17  Jakub Jelinek  <jakub@redhat.com>
2232
2233	PR rtl-optimization/94618
2234	* cfgrtl.c (delete_insn_and_edges): Set purge not just when
2235	insn is the BB_END of its block, but also when it is only followed
2236	by DEBUG_INSNs in its block.
2237
22382020-09-16  Jakub Jelinek  <jakub@redhat.com>
2239
2240	Backported from master:
2241	2020-04-17  Jakub Jelinek  <jakub@redhat.com>
2242
2243	PR tree-optimization/94621
2244	* tree-inline.c (remap_type_1): Don't dereference NULL TYPE_DOMAIN.
2245	Move id->adjust_array_error_bounds check first in the condition.
2246
22472020-09-16  Gustavo Romero  <gromero@linux.ibm.com>
2248
2249	Backported from master:
2250	2020-04-15  Gustavo Romero  <gromero@linux.ibm.com>
2251
2252	PR bootstrap/89494
2253	* dumpfile.c (selftest::temp_dump_context::temp_dump_context):
2254	Don't construct a dump_context temporary to call static method.
2255
22562020-09-16  Jakub Jelinek  <jakub@redhat.com>
2257
2258	Backported from master:
2259	2020-04-08  Jakub Jelinek  <jakub@redhat.com>
2260
2261	PR tree-optimization/94524
2262	* tree-vect-generic.c (expand_vector_divmod): If any elt of op1 is
2263	negative for signed TRUNC_MOD_EXPR, multiply with absolute value of
2264	op1 rather than op1 itself at the end.  Punt for signed modulo by
2265	most negative constant.
2266	* tree-vect-patterns.c (vect_recog_divmod_pattern): Punt for signed
2267	modulo by most negative constant.
2268
22692020-09-16  Jakub Jelinek  <jakub@redhat.com>
2270
2271	Backported from master:
2272	2020-04-08  Jakub Jelinek  <jakub@redhat.com>
2273
2274	PR target/94438
2275	* config/i386/i386.c (ix86_get_mask_mode): Only use int mask for elem_size
2276	1, 2, 4 and 8.
2277
22782020-09-16  Sylvia Taylor  <sylvia.taylor@arm.com>
2279
2280	Backported from master:
2281	2019-08-22  Sylvia Taylor  <sylvia.taylor@arm.com>
2282
2283	* config/aarch64/aarch64-simd-builtins.def:
2284	(ld1x4): New.
2285	(st1x4): Likewise.
2286	* config/aarch64/aarch64-simd.md:
2287	(aarch64_ld1x4<VALLDIF:mode>): New pattern.
2288	(aarch64_st1x4<VALLDIF:mode>): Likewise.
2289	(aarch64_ld1_x4_<mode>): Likewise.
2290	(aarch64_st1_x4_<mode>): Likewise.
2291	* config/aarch64/arm_neon.h:
2292	(vld1_s8_x4): New function.
2293	(vld1q_s8_x4): Likewise.
2294	(vld1_s16_x4): Likewise.
2295	(vld1q_s16_x4): Likewise.
2296	(vld1_s32_x4): Likewise.
2297	(vld1q_s32_x4): Likewise.
2298	(vld1_u8_x4): Likewise.
2299	(vld1q_u8_x4): Likewise.
2300	(vld1_u16_x4): Likewise.
2301	(vld1q_u16_x4): Likewise.
2302	(vld1_u32_x4): Likewise.
2303	(vld1q_u32_x4): Likewise.
2304	(vld1_f16_x4): Likewise.
2305	(vld1q_f16_x4): Likewise.
2306	(vld1_f32_x4): Likewise.
2307	(vld1q_f32_x4): Likewise.
2308	(vld1_p8_x4): Likewise.
2309	(vld1q_p8_x4): Likewise.
2310	(vld1_p16_x4): Likewise.
2311	(vld1q_p16_x4): Likewise.
2312	(vld1_s64_x4): Likewise.
2313	(vld1_u64_x4): Likewise.
2314	(vld1_p64_x4): Likewise.
2315	(vld1q_s64_x4): Likewise.
2316	(vld1q_u64_x4): Likewise.
2317	(vld1q_p64_x4): Likewise.
2318	(vld1_f64_x4): Likewise.
2319	(vld1q_f64_x4): Likewise.
2320	(vst1_s8_x4): Likewise.
2321	(vst1q_s8_x4): Likewise.
2322	(vst1_s16_x4): Likewise.
2323	(vst1q_s16_x4): Likewise.
2324	(vst1_s32_x4): Likewise.
2325	(vst1q_s32_x4): Likewise.
2326	(vst1_u8_x4): Likewise.
2327	(vst1q_u8_x4): Likewise.
2328	(vst1_u16_x4): Likewise.
2329	(vst1q_u16_x4): Likewise.
2330	(vst1_u32_x4): Likewise.
2331	(vst1q_u32_x4): Likewise.
2332	(vst1_f16_x4): Likewise.
2333	(vst1q_f16_x4): Likewise.
2334	(vst1_f32_x4): Likewise.
2335	(vst1q_f32_x4): Likewise.
2336	(vst1_p8_x4): Likewise.
2337	(vst1q_p8_x4): Likewise.
2338	(vst1_p16_x4): Likewise.
2339	(vst1q_p16_x4): Likewise.
2340	(vst1_s64_x4): Likewise.
2341	(vst1_u64_x4): Likewise.
2342	(vst1_p64_x4): Likewise.
2343	(vst1q_s64_x4): Likewise.
2344	(vst1q_u64_x4): Likewise.
2345	(vst1q_p64_x4): Likewise.
2346	(vst1_f64_x4): Likewise.
2347	(vst1q_f64_x4): Likewise.
2348
23492020-09-15  Will Schmidt  <will_schmidt@vnet.ibm.com>
2350
2351	* config/rs6000/rs6000.c (rs6000_init_builtin): Update V2DI_type_node
2352	and unsigned_V2DI_type_node definitions.
2353
23542020-09-15  Jakub Jelinek  <jakub@redhat.com>
2355
2356	Backported from master:
2357	2020-09-15  Jakub Jelinek  <jakub@redhat.com>
2358
2359	PR target/97028
2360	* config/i386/sse.md (mul<mode>3<mask_name>_bcs,
2361	<avx512>_div<mode>3<mask_name>_bcst): Use <avx512bcst> instead of
2362	<<avx512bcst>>.
2363
23642020-09-11  Richard Biener  <rguenther@suse.de>
2365
2366	Backported from master:
2367	2020-05-07  Richard Biener  <rguenther@suse.de>
2368
2369	PR ipa/94947
2370	* tree-ssa-structalias.c (refered_from_nonlocal_fn): Use
2371	DECL_EXTERNAL || TREE_PUBLIC instead of externally_visible.
2372	(refered_from_nonlocal_var): Likewise.
2373	(ipa_pta_execute): Likewise.
2374
23752020-09-11  Richard Biener  <rguenther@suse.de>
2376
2377	Backported from master:
2378	2020-05-05  Richard Biener  <rguenther@suse.de>
2379
2380	PR ipa/94947
2381	* tree-ssa-structalias.c (ipa_pta_execute): Use
2382	varpool_node::externally_visible_p ().
2383	(refered_from_nonlocal_var): Likewise.
2384
23852020-09-11  Richard Biener  <rguenther@suse.de>
2386
2387	Backported from master:
2388	2020-05-06  Richard Biener  <rguenther@suse.de>
2389
2390	PR middle-end/94964
2391	* cfgloopmanip.c (create_preheader): Require non-complex
2392	preheader edge for CP_SIMPLE_PREHEADERS.
2393
23942020-09-11  Richard Biener  <rguenther@suse.de>
2395
2396	Backported from master:
2397	2020-05-11  Richard Biener  <rguenther@suse.de>
2398
2399	PR tree-optimization/95049
2400	* tree-ssa-sccvn.c (set_ssa_val_to): Reject lattice transition
2401	between different constants.
2402
24032020-09-11  Richard Biener  <rguenther@suse.de>
2404
2405	Backported from master:
2406	2020-05-15  Richard Biener  <rguenther@suse.de>
2407
2408	PR tree-optimization/95133
2409	* gimple-ssa-split-paths.c
2410	(find_block_to_duplicate_for_splitting_paths): Check for
2411	normal edges.
2412
24132020-09-11  Richard Biener  <rguenther@suse.de>
2414
2415	Backported from master:
2416	2020-06-17  Richard Biener  <rguenther@suse.de>
2417
2418	PR tree-optimization/95717
2419	* tree-vect-loop-manip.c (slpeel_tree_duplicate_loop_to_edge_cfg):
2420	Move BB SSA updating before exit/latch PHI current def copying.
2421
24222020-09-02  Kewen Lin  <linkw@linux.ibm.com>
2423
2424	Backported from master:
2425	2019-12-30  Peter Bergner  <bergner@linux.ibm.com>
2426
2427	PR target/92923
2428	* config/rs6000/rs6000-builtin.def (VAND, VANDC, VNOR, VOR, VXOR):
2429	Delete.
2430	(EQV_V16QI_UNS, EQV_V8HI_UNS, EQV_V4SI_UNS, EQV_V2DI_UNS, EQV_V1TI_UNS,
2431	NAND_V16QI_UNS, NAND_V8HI_UNS, NAND_V4SI_UNS, NAND_V2DI_UNS,
2432	NAND_V1TI_UNS, ORC_V16QI_UNS, ORC_V8HI_UNS, ORC_V4SI_UNS, ORC_V2DI_UNS,
2433	ORC_V1TI_UNS, VAND_V16QI_UNS, VAND_V16QI, VAND_V8HI_UNS, VAND_V8HI,
2434	VAND_V4SI_UNS, VAND_V4SI, VAND_V2DI_UNS, VAND_V2DI, VAND_V4SF,
2435	VAND_V2DF, VANDC_V16QI_UNS, VANDC_V16QI, VANDC_V8HI_UNS, VANDC_V8HI,
2436	VANDC_V4SI_UNS, VANDC_V4SI, VANDC_V2DI_UNS, VANDC_V2DI, VANDC_V4SF,
2437	VANDC_V2DF, VNOR_V16QI_UNS, VNOR_V16QI, VNOR_V8HI_UNS, VNOR_V8HI,
2438	VNOR_V4SI_UNS, VNOR_V4SI, VNOR_V2DI_UNS, VNOR_V2DI, VNOR_V4SF,
2439	VNOR_V2DF, VOR_V16QI_UNS, VOR_V16QI, VOR_V8HI_UNS, VOR_V8HI,
2440	VOR_V4SI_UNS, VOR_V4SI, VOR_V2DI_UNS, VOR_V2DI, VOR_V4SF, VOR_V2DF,
2441	VXOR_V16QI_UNS, VXOR_V16QI, VXOR_V8HI_UNS, VXOR_V8HI,
2442	VXOR_V4SI_UNS, VXOR_V4SI, VXOR_V2DI_UNS, VXOR_V2DI, VXOR_V4SF,
2443	VXOR_V2DF): Add definitions.
2444	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins)
2445	<ALTIVEC_BUILTIN_VAND, ALTIVEC_BUILTIN_VANDC, ALTIVEC_BUILTIN_VNOR,
2446	ALTIVEC_BUILTIN_VOR, ALTIVEC_BUILTIN_VXOR>: Remove.
2447	<ALTIVEC_BUILTIN_VAND_V4SF, ALTIVEC_BUILTIN_VAND_V2DF,
2448	ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V2DI_UNS,
2449	ALTIVEC_BUILTIN_VAND_V4SI_UNS, ALTIVEC_BUILTIN_VAND_V4SI,
2450	ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V8HI,
2451	ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V16QI_UNS,
2452	ALTIVEC_BUILTIN_VANDC_V4SF, ALTIVEC_BUILTIN_VANDC_V2DF,
2453	ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS,
2454	ALTIVEC_BUILTIN_VANDC_V4SI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI,
2455	ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V8HI,
2456	ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
2457	ALTIVEC_BUILTIN_VNOR_V4SF, ALTIVEC_BUILTIN_VNOR_V2DF,
2458	ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS,
2459	ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
2460	ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS,
2461	ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
2462	ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF,
2463	ALTIVEC_BUILTIN_VOR_V2DI, ALTIVEC_BUILTIN_VOR_V2DI_UNS,
2464	ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI,
2465	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI,
2466	ALTIVEC_BUILTIN_VOR_V16QI, ALTIVEC_BUILTIN_VOR_V16QI_UNS,
2467	ALTIVEC_BUILTIN_VXOR_V4SF, ALTIVEC_BUILTIN_VXOR_V2DF,
2468	ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS,
2469	ALTIVEC_BUILTIN_VXOR_V4SI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI,
2470	ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS,
2471	ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS>: Add
2472	definitions.
2473	<P8V_BUILTIN_EQV_V16QI, P8V_BUILTIN_EQV_V8HI, P8V_BUILTIN_EQV_V4SI,
2474	P8V_BUILTIN_EQV_V2DI, P8V_BUILTIN_NAND_V16QI, P8V_BUILTIN_NAND_V8HI,
2475	P8V_BUILTIN_NAND_V4SI, P8V_BUILTIN_NAND_V2DI, P8V_BUILTIN_ORC_V16QI,
2476	P8V_BUILTIN_ORC_V8HI, P8V_BUILTIN_ORC_V4SI,
2477	P8V_BUILTIN_ORC_V2DI>: Change unsigned usages to use the new *_UNS
2478	definition names.
2479	* config/rs6000/rs6000.c
2480	(rs6000_gimple_fold_builtin) <ALTIVEC_BUILTIN_VAND_V16QI_UNS,
2481	ALTIVEC_BUILTIN_VAND_V16QI, ALTIVEC_BUILTIN_VAND_V8HI_UNS,
2482	ALTIVEC_BUILTIN_VAND_V8HI, ALTIVEC_BUILTIN_VAND_V4SI_UNS,
2483	ALTIVEC_BUILTIN_VAND_V4SI, ALTIVEC_BUILTIN_VAND_V2DI_UNS,
2484	ALTIVEC_BUILTIN_VAND_V2DI, ALTIVEC_BUILTIN_VAND_V4SF,
2485	ALTIVEC_BUILTIN_VAND_V2DF, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
2486	ALTIVEC_BUILTIN_VANDC_V16QI, ALTIVEC_BUILTIN_VANDC_V8HI_UNS,
2487	ALTIVEC_BUILTIN_VANDC_V8HI, ALTIVEC_BUILTIN_VANDC_V4SI_UNS,
2488	ALTIVEC_BUILTIN_VANDC_V4SI, ALTIVEC_BUILTIN_VANDC_V2DI_UNS,
2489	ALTIVEC_BUILTIN_VANDC_V2DI, ALTIVEC_BUILTIN_VANDC_V4SF,
2490	ALTIVEC_BUILTIN_VANDC_V2DF, P8V_BUILTIN_NAND_V16QI_UNS,
2491	P8V_BUILTIN_NAND_V8HI_UNS, P8V_BUILTIN_NAND_V4SI_UNS,
2492	P8V_BUILTIN_NAND_V2DI_UNS, P8V_BUILTIN_NAND_V2DI,
2493	ALTIVEC_BUILTIN_VOR_V16QI_UNS, ALTIVEC_BUILTIN_VOR_V16QI,
2494	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V8HI,
2495	ALTIVEC_BUILTIN_VOR_V4SI_UNS, ALTIVEC_BUILTIN_VOR_V4SI,
2496	ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V2DI,
2497	ALTIVEC_BUILTIN_VOR_V4SF, ALTIVEC_BUILTIN_VOR_V2DF,
2498	P8V_BUILTIN_ORC_V16QI_UNS, P8V_BUILTIN_ORC_V8HI_UNS,
2499	P8V_BUILTIN_ORC_V4SI_UNS, P8V_BUILTIN_ORC_V2DI_UNS,
2500	P8V_BUILTIN_ORC_V2DI, ALTIVEC_BUILTIN_VXOR_V16QI_UNS,
2501	ALTIVEC_BUILTIN_VXOR_V16QI, ALTIVEC_BUILTIN_VXOR_V8HI_UNS,
2502	ALTIVEC_BUILTIN_VXOR_V8HI, ALTIVEC_BUILTIN_VXOR_V4SI_UNS,
2503	ALTIVEC_BUILTIN_VXOR_V4SI, ALTIVEC_BUILTIN_VXOR_V2DI_UNS,
2504	ALTIVEC_BUILTIN_VXOR_V2DI, ALTIVEC_BUILTIN_VXOR_V4SF,
2505	ALTIVEC_BUILTIN_VXOR_V2DF, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
2506	ALTIVEC_BUILTIN_VNOR_V16QI, ALTIVEC_BUILTIN_VNOR_V8HI_UNS,
2507	ALTIVEC_BUILTIN_VNOR_V8HI, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
2508	ALTIVEC_BUILTIN_VNOR_V4SI, ALTIVEC_BUILTIN_VNOR_V2DI_UNS,
2509	ALTIVEC_BUILTIN_VNOR_V2DI, ALTIVEC_BUILTIN_VNOR_V4SF,
2510	ALTIVEC_BUILTIN_VNOR_V2DF>: Use new definition names.
2511	(builtin_function_type) <ALTIVEC_BUILTIN_VAND_V16QI_UNS,
2512	ALTIVEC_BUILTIN_VAND_V8HI_UNS, ALTIVEC_BUILTIN_VAND_V4SI_UNS,
2513	ALTIVEC_BUILTIN_VAND_V2DI_UNS, ALTIVEC_BUILTIN_VANDC_V16QI_UNS,
2514	ALTIVEC_BUILTIN_VANDC_V8HI_UNS, ALTIVEC_BUILTIN_VANDC_V4SI_UNS,
2515	ALTIVEC_BUILTIN_VANDC_V2DI_UNS, ALTIVEC_BUILTIN_VNOR_V16QI_UNS,
2516	ALTIVEC_BUILTIN_VNOR_V8HI_UNS, ALTIVEC_BUILTIN_VNOR_V4SI_UNS,
2517	ALTIVEC_BUILTIN_VNOR_V2DI_UNS, ALTIVEC_BUILTIN_VOR_V16QI_UNS,
2518	ALTIVEC_BUILTIN_VOR_V8HI_UNS, ALTIVEC_BUILTIN_VOR_V4SI_UNS,
2519	ALTIVEC_BUILTIN_VOR_V2DI_UNS, ALTIVEC_BUILTIN_VXOR_V16QI_UNS,
2520	ALTIVEC_BUILTIN_VXOR_V8HI_UNS, ALTIVEC_BUILTIN_VXOR_V4SI_UNS,
2521	ALTIVEC_BUILTIN_VXOR_V2DI_UNS, P8V_BUILTIN_EQV_V16QI_UNS,
2522	P8V_BUILTIN_EQV_V8HI_UNS, P8V_BUILTIN_EQV_V4SI_UNS,
2523	P8V_BUILTIN_EQV_V2DI_UNS, P8V_BUILTIN_EQV_V1TI_UNS,
2524	P8V_BUILTIN_NAND_V16QI_UNS, P8V_BUILTIN_NAND_V8HI_UNS,
2525	P8V_BUILTIN_NAND_V4SI_UNS, P8V_BUILTIN_NAND_V2DI_UNS,
2526	P8V_BUILTIN_NAND_V1TI_UNS, P8V_BUILTIN_ORC_V16QI_UNS,
2527	P8V_BUILTIN_ORC_V8HI_UNS, P8V_BUILTIN_ORC_V4SI_UNS,
2528	P8V_BUILTIN_ORC_V2DI_UNS, P8V_BUILTIN_ORC_V1TI_UNS>: Handle unsigned
2529	builtins.
2530
25312020-08-27  Christophe Lyon  <christophe.lyon@linaro.org>
2532
2533	Backported from master:
2534	2020-08-24  Christophe Lyon  <christophe.lyon@linaro.org>
2535
2536	PR target/94538
2537	PR target/94538
2538	* config/arm/thumb1.md: Disable set-constant splitter when
2539	TARGET_HAVE_MOVT.
2540	(thumb1_movsi_insn): Fix -mpure-code
2541	alternative.
2542
25432020-08-21  Richard Sandiford  <richard.sandiford@arm.com>
2544
2545	Backported from master:
2546	2020-08-21  Richard Sandiford  <richard.sandiford@arm.com>
2547
2548	* doc/extend.texi: Update links to Arm docs.
2549	* doc/invoke.texi: Likewise.
2550
25512020-08-21  Tamar Christina  <tamar.christina@arm.com>
2552
2553	Backported from master:
2554	2020-08-03  Tamar Christina  <tamar.christina@arm.com>
2555
2556	* config/aarch64/driver-aarch64.c (readline): Check return value fgets.
2557
25582020-08-21  Tamar Christina  <tamar.christina@arm.com>
2559
2560	Backported from master:
2561	2020-07-17  Tamar Christina  <tamar.christina@arm.com>
2562
2563	* doc/sourcebuild.texi (dg-set-compiler-env-var,
2564	dg-set-target-env-var): Document.
2565
25662020-08-21  Tamar Christina  <tamar.christina@arm.com>
2567
2568	Backported from master:
2569	2020-07-17  Tamar Christina  <tamar.christina@arm.com>
2570
2571	* config/arm/driver-arm.c (host_detect_local_cpu): Add GCC_CPUINFO.
2572
25732020-08-21  Tamar Christina  <tamar.christina@arm.com>
2574
2575	Backported from master:
2576	2020-07-17  Tamar Christina  <tamar.christina@arm.com>
2577
2578	* config/aarch64/driver-aarch64.c (host_detect_local_cpu):
2579	Add GCC_CPUINFO.
2580
25812020-08-21  Tamar Christina  <tamar.christina@arm.com>
2582
2583	Backported from master:
2584	2020-07-17  Tamar Christina  <tamar.christina@arm.com>
2585
2586	* config/aarch64/driver-aarch64.c (INCLUDE_SET): New.
2587	(parse_field): Use std::string.
2588	(split_words, readline, find_field): New.
2589	(host_detect_local_cpu): Fix truncation issues.
2590
25912020-08-18  Uroš Bizjak  <ubizjak@gmail.com>
2592
2593	PR target/96536
2594	* config/i386/i386.md (restore_stack_nonlocal):
2595	Add missing compare RTX.
2596
25972020-08-07  Richard Sandiford  <richard.sandiford@arm.com>
2598
2599	Backported from master:
2600	2020-08-06  Richard Sandiford  <richard.sandiford@arm.com>
2601
2602	PR target/96191
2603	* config/arm/arm.md (arm_stack_protect_test_insn): Zero out
2604	operand 2 after use.
2605	* config/arm/thumb1.md (thumb1_stack_protect_test_insn): Likewise.
2606
26072020-08-07  Richard Sandiford  <richard.sandiford@arm.com>
2608
2609	Backported from master:
2610	2020-08-05  Richard Sandiford  <richard.sandiford@arm.com>
2611
2612	PR target/96191
2613	* config/aarch64/aarch64.md (stack_protect_test_<mode>): Set the
2614	CC register directly, instead of a GPR.  Replace the original GPR
2615	destination with an extra scratch register.  Zero out operand 3
2616	after use.
2617	(stack_protect_test): Update accordingly.
2618
26192020-08-07  Qian Jianhua  <qianjh@cn.fujitsu.com>
2620
2621	Backported from master:
2622	2020-08-03  Qian jianhua  <qianjh@cn.fujitsu.com>
2623
2624	* config/aarch64/aarch64-cores.def (a64fx): New core.
2625	* config/aarch64/aarch64-tune.md: Regenerated.
2626	* config/aarch64/aarch64.c (a64fx_prefetch_tune, a64fx_tunings): New.
2627	* doc/invoke.texi: Add a64fx to the list.
2628
26292020-08-07  Richard Sandiford  <richard.sandiford@arm.com>
2630
2631	Backported from master:
2632	2020-04-16  Richard Sandiford  <richard.sandiford@arm.com>
2633
2634	PR rtl-optimization/94605
2635	* early-remat.c (early_remat::process_block): Handle insns that
2636	set multiple candidate registers.
2637
26382020-08-07  Richard Sandiford  <richard.sandiford@arm.com>
2639
2640	Backported from master:
2641	2020-07-13  Richard Sandiford  <richard.sandiford@arm.com>
2642
2643	PR middle-end/95114
2644	* tree.h (virtual_method_call_p): Add a default-false parameter
2645	that indicates whether the function is being called from dump
2646	routines.
2647	(obj_type_ref_class): Likewise.
2648	* tree.c (virtual_method_call_p): Likewise.
2649	* ipa-devirt.c (obj_type_ref_class): Likewise.  Lazily add ODR
2650	type information for the type when the parameter is false.
2651	* tree-pretty-print.c (dump_generic_node): Update calls to
2652	virtual_method_call_p and obj_type_ref_class accordingly.
2653
26542020-08-04  Matthew Malcomson  <matthew.malcomson@arm.com>
2655
2656	* config/aarch64/aarch64-protos.h (aarch64_indirect_call_asm):
2657	New declaration.
2658	* config/aarch64/aarch64.c (aarch64_regno_regclass): Handle new
2659	stub registers class.
2660	(aarch64_class_max_nregs): Likewise.
2661	(aarch64_register_move_cost): Likewise.
2662	(aarch64_sls_shared_thunks): Global array to store stub labels.
2663	(aarch64_sls_emit_function_stub): New.
2664	(aarch64_create_blr_label): New.
2665	(aarch64_sls_emit_blr_function_thunks): New.
2666	(aarch64_sls_emit_shared_blr_thunks): New.
2667	(aarch64_asm_file_end): New.
2668	(aarch64_indirect_call_asm): New.
2669	(TARGET_ASM_FILE_END): Use aarch64_asm_file_end.
2670	(TARGET_ASM_FUNCTION_EPILOGUE): Use
2671	aarch64_sls_emit_blr_function_thunks.
2672	* config/aarch64/aarch64.h (STB_REGNUM_P): New.
2673	(enum reg_class): Add STUB_REGS class.
2674	(machine_function): Introduce `call_via` array for
2675	function-local stub labels.
2676	* config/aarch64/aarch64.md (*call_insn, *call_value_insn): Use
2677	aarch64_indirect_call_asm to emit code when hardening BLR
2678	instructions.
2679	* config/aarch64/constraints.md (Ucr): New constraint
2680	representing registers for indirect calls.  Is GENERAL_REGS
2681	usually, and STUB_REGS when hardening BLR instruction against
2682	SLS.
2683	* config/aarch64/predicates.md (aarch64_general_reg): STUB_REGS class
2684	is also a general register.
2685
26862020-08-04  Matthew Malcomson  <matthew.malcomson@arm.com>
2687
2688	* config/aarch64/aarch64-protos.h (aarch64_sls_barrier): New.
2689	* config/aarch64/aarch64.c (aarch64_output_casesi): Emit
2690	speculation barrier after BR instruction if needs be.
2691	(aarch64_trampoline_init): Handle ptr_mode value & adjust size
2692	of code copied.
2693	(aarch64_sls_barrier): New.
2694	(aarch64_asm_trampoline_template): Add needed barriers.
2695	* config/aarch64/aarch64.h (AARCH64_ISA_SB): New.
2696	(TARGET_SB): New.
2697	(TRAMPOLINE_SIZE): Account for barrier.
2698	* config/aarch64/aarch64.md (indirect_jump, *casesi_dispatch,
2699	simple_return, *do_return, *sibcall_insn, *sibcall_value_insn):
2700	Emit barrier if needs be, also account for possible barrier using
2701	"sls_length" attribute.
2702	(sls_length): New attribute.
2703	(length): Determine default using any non-default sls_length
2704	value.
2705
27062020-08-04  Matthew Malcomson  <matthew.malcomson@arm.com>
2707
2708	* config/aarch64/aarch64-protos.h (aarch64_harden_sls_retbr_p):
2709	New.
2710	(aarch64_harden_sls_blr_p): New.
2711	* config/aarch64/aarch64.c (enum aarch64_sls_hardening_type):
2712	New.
2713	(aarch64_harden_sls_retbr_p): New.
2714	(aarch64_harden_sls_blr_p): New.
2715	(aarch64_validate_sls_mitigation): New.
2716	(aarch64_override_options): Parse options for SLS mitigation.
2717	* config/aarch64/aarch64.opt (-mharden-sls): New option.
2718	* doc/invoke.texi: Document new option.
2719
27202020-08-03  Jonathan Wakely  <jwakely@redhat.com>
2721
2722	Backported from master:
2723	2020-08-03  Jonathan Wakely  <jwakely@redhat.com>
2724
2725	* doc/cpp.texi (Variadic Macros): Use the exact ... token in
2726	code examples.
2727
27282020-07-23  David Edelsohn  <dje.gcc@gmail.com>
2729
2730	Backported from master:
2731	2020-03-06  David Edelsohn  <dje.gcc@gmail.com>
2732
2733	PR target/94065
2734	* config/rs6000/aix61.h (TARGET_NO_SUM_IN_TOC): Set to 1 for
2735	cmodel=large.
2736	(TARGET_NO_FP_IN_TOC): Same.
2737	* config/rs6000/aix71.h: Same.
2738	* config/rs6000/aix72.h: Same.
2739
27402020-07-17  Romain Naour  <romain.naour@gmail.com>
2741
2742	Backported from master:
2743	2020-07-17  Romain Naour  <romain.naour@gmail.com>
2744
2745	* Makefile.in (SELFTEST_DEPS): Move before including language makefile
2746	fragments.
2747
27482020-07-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2749
2750	Backported from master:
2751	2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2752
2753	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
2754	__ARM_FEATURE_PAC_DEFAULT support.
2755
27562020-07-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2757
2758	Backported from master:
2759	2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2760
2761	PR target/94891
2762	* doc/extend.texi: Update the text for  __builtin_return_address.
2763
27642020-07-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2765
2766	Backported from master:
2767	2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2768
2769	PR target/94891
2770	* config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
2771	Disable return address signing if __builtin_eh_return is used.
2772
27732020-07-16  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2774
2775	Backported from master:
2776	2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2777
2778	PR target/94891
2779	PR target/94791
2780	* config/aarch64/aarch64-protos.h (aarch64_return_addr_rtx): Declare.
2781	* config/aarch64/aarch64.c (aarch64_return_addr_rtx): New.
2782	(aarch64_return_addr): Use aarch64_return_addr_rtx.
2783	* config/aarch64/aarch64.h (PROFILE_HOOK): Likewise.
2784
27852020-07-16  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
2786
2787	Backported from master:
2788	2020-06-16  Stefan Schulze Frielinghaus  <stefansf@linux.ibm.com>
2789
2790	* config.in: Regenerate.
2791	* config/s390/s390.c (print_operand): Emit vector alignment hints
2792	for target z13, if AS accepts them.  For other targets the logic
2793	stays the same.
2794	* config/s390/s390.h (TARGET_VECTOR_LOADSTORE_ALIGNMENT_HINTS): Define
2795	macro.
2796	* configure: Regenerate.
2797	* configure.ac: Check HAVE_AS_VECTOR_LOADSTORE_ALIGNMENT_HINTS_ON_Z13.
2798
27992020-07-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
2800
2801	* config/rs6000/altivec.h (vec_vmsumudm): New define.
2802	* config/rs6000/altivec.md (UNSPEC_VMSUMUDM): New unspec.
2803	  (altivec_vmsumudm): New define_insn.
2804	* config/rs6000/rs6000-builtin.def (altivec_vmsumudm): New BU_ALTIVEC_3
2805	  entry. (vmsumudm): New BU_ALTIVEC_OVERLOAD_3 entry.
2806	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2807	  entries for ALTIVEC_BUILTIN_VMSUMUDM variants of vec_msum.
2808	* doc/extend.texi: Add document for vmsumudm behind vmsum.
2809
28102020-07-10  Bin Cheng  <bin.cheng@linux.alibaba.com>
2811
2812	Backported from master:
2813	2020-07-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
2814
2815	PR tree-optimization/95804
2816	* tree-loop-distribution.c (break_alias_scc_partitions): Force
2817	negative post order to reduction partition.
2818
28192020-07-10  Bin Cheng  <bin.cheng@linux.alibaba.com>
2820
2821	Backported from master:
2822	2020-06-20  Bin Cheng  <bin.cheng@linux.alibaba.com>
2823
2824	PR tree-optimization/95638
2825	* tree-loop-distribution.c (pg_edge_callback_data): New field.
2826	(loop_distribution::break_alias_scc_partitions): Record and restore
2827	postorder information.  Fix memory leak.
2828
28292020-07-06  Will Schmidt  <will_schmidt@vnet.ibm.com>
2830
2831	PR target/94954
2832	* config/rs6000/altivec.h (vec_pack_to_short_fp32): Update.
2833	* config/rs6000/altivec.md (UNSPEC_CONVERT_4F32_8F16): New unspec.
2834	(convert_4f32_8f16): New define_expand
2835	* config/rs6000/rs6000-builtin.def (convert_4f32_8f16): New builtin define
2836	and overload.
2837	* config/rs6000/rs6000-c.c (P9V_BUILTIN_VEC_CONVERT_4F32_8F16): New
2838	overloaded builtin entry.
2839	* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSPHP): New unspec.
2840	(vsx_xvcvsphp): New define_insn.
2841
28422020-06-30  Alex Coplan  <alex.coplan@arm.com>
2843
2844	Backported from master:
2845	2020-05-18  Alex Coplan  <alex.coplan@arm.com>
2846
2847	* config/arm/arm.c (output_move_double): Fix codegen when loading into
2848	a register pair with an odd base register.
2849
28502020-06-25  H.J. Lu  <hjl.tools@gmail.com>
2851
2852	Backported from master:
2853	2020-06-25  H.J. Lu  <hjl.tools@gmail.com>
2854
2855	PR target/95874
2856	* config/i386/i386.h (PTA_ICELAKE_CLIENT): Remove PTA_CLWB.
2857	(PTA_ICELAKE_SERVER): Add PTA_CLWB.
2858
28592020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
2860
2861	Backported from master:
2862	2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
2863
2864	* hsa-gen.c (gen_hsa_insns_for_call): Move 'function_decl ==
2865	NULL_TREE' check earlier.
2866
28672020-06-12  Martin Liska  <mliska@suse.cz>
2868	    Jakub Jelinek  <jakub@redhat.com>
2869
2870	PR sanitizer/95634
2871	* asan.c (asan_emit_stack_protection): Fix emission for ilp32
2872	by using Pmode instead of ptr_mode.
2873
28742020-06-12  Martin Liska  <mliska@suse.cz>
2875
2876	PR sanitizer/94910
2877	* asan.c (asan_emit_stack_protection): Emit
2878	also **SavedFlagPtr(FakeStack, class_id) = 0 in order to release
2879	a stack frame.
2880
28812020-06-06  Carl Love  <cel@us.ibm.com>
2882
2883	PR target/94833
2884	* config/rs6000/vsx.md (define_expand): Fix instruction generation for
2885	first_match_index_<mode>.
2886
28872020-06-05  H.J. Lu  <hjl.tools@gmail.com>
2888
2889	* config/i386/driver-i386.c (host_detect_local_cpu): Support
2890	Intel Airmont, Tremont, Comet Lake, Ice Lake and Tiger Lake
2891	processor families.
2892
28932020-06-02  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2894
2895	* config/aarch64/aarch64-cores.def (zeus): Define.
2896	* config/aarch64/aarch64-tune.md: Regenerate.
2897	* doc/invoke.texi (AArch64 Options): Document zeus -mcpu option.
2898
28992020-05-31  Gerald Pfeifer  <gerald@pfeifer.com>
2900
2901	* config/i386/i386-c.c (ix86_target_macros): Define _ILP32 and
2902	__ILP32__ for 32-bit targets.
2903
29042020-05-29  Alex Coplan  <alex.coplan@arm.com>
2905
2906	PR target/94591
2907	* config/aarch64/aarch64.c (aarch64_evpc_rev_local): Don't match
2908	identity permutation.
2909
29102020-05-29  Dong JianQiang  <dongjianqiang2@huawei.com>
2911
2912	PR gcov-profile/95332
2913	* gcov-io.c (gcov_var::endian): Move field.
2914	(from_file): Add IN_GCOV_TOOL check.
2915	* gcov-io.h (gcov_magic): Ditto.
2916
29172020-05-26  Alexandre Oliva  <oliva@adacore.com>
2918
2919	PR target/94812
2920	* config/rs6000/rs6000.md (rs6000_mffsl): Copy result to
2921	output operand in emulation.  Don't overwrite pseudos.
2922
29232020-05-24  H.J. Lu  <hongjiu.lu@intel.com>
2924
2925	PR target/95258
2926	* config/i386/driver-i386.c (host_detect_local_cpu): Detect
2927	AVX512VPOPCNTDQ.
2928
29292020-05-22  Bin Cheng  <bin.cheng@linux.alibaba.com>
2930
2931	Backport from master
2932	PR tree-optimization/94969
2933	2020-05-13  Bin Cheng  <bin.cheng@linux.alibaba.com>
2934
2935	* tree-data-ref.c (constant_access_functions): Rename to...
2936	(invariant_access_functions): ...this.  Add parameter.  Check for
2937	invariant access function, rather than constant.
2938	(build_classic_dist_vector): Call above function.
2939	* tree-loop-distribution.c (pg_add_dependence_edges): Add comment.
2940
29412020-05-21  Martin Liska  <mliska@suse.cz>
2942
2943	* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
2944	Use MASK_OUTLINE_ATOMICS for x_target_flags.
2945
29462020-05-21  Martin Liska  <mliska@suse.cz>
2947
2948	* common/config/aarch64/aarch64-common.c (aarch64_handle_option):
2949	Handle OPT_moutline_atomics.
2950	* config/aarch64/aarch64.c: Add outline-atomics to
2951	aarch64_attributes.
2952	* doc/extend.texi: Document the newly added target attribute.
2953
29542020-05-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2955
2956	Backport from mainline.
2957	2020-04-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2958
2959	PR target/94748
2960	* config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Remove
2961	the check for NOTE_INSN_DELETED_LABEL.
2962
29632020-05-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2964
2965	Backport from mainline.
2966	2020-04-23  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2967
2968	PR target/94697
2969	* config/aarch64/aarch64-bti-insert.c (rest_of_insert_bti): Swap
2970	bti c and bti j handling.
2971
29722020-05-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2973
2974	Backport from mainline.
2975	2020-04-27  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2976
2977	PR target/94515
2978	* dwarf2cfi.c (struct GTY): Add ra_mangled.
2979	(cfi_row_equal_p): Check ra_mangled.
2980	(dwarf2out_frame_debug_cfa_window_save): Remove the argument,
2981	this only handles the sparc logic now.
2982	(dwarf2out_frame_debug_cfa_toggle_ra_mangle): New function for
2983	the aarch64 specific logic.
2984	(dwarf2out_frame_debug): Update to use the new subroutines.
2985	(change_cfi_row): Check ra_mangled.
2986
29872020-05-12  David Edelsohn  <dje.gcc@gmail.com>
2988
2989	Backport from mainline
2990	2020-04-08  Clement Chigot  <clement.chigot@atos.net>
2991
2992        * config/rs6000/aix61.h (LIB_SPEC): Add -lc128 with -mlong-double-128.
2993        * config/rs6000/aix71.h (LIB_SPEC): Likewise.
2994        * config/rs6000/aix72.h (LIB_SPEC): Likewise.
2995
29962020-05-12  David Edelsohn  <dje.gcc@gmail.com>
2997
2998	Backport from mainline
2999	2020-05-04  Clement Chigot  <clement.chigot@atos.net>
3000		    David Edelsohn  <dje.gcc@gmail.com>
3001
3002	* config/rs6000/rs6000.c (rs6000_init_builtins): Override explicit
3003	for fmodl, frexpl, ldexpl and modfl builtins.
3004
30052020-05-11  Xiong Hu Luo  <luoxhu@linux.ibm.com>
3006
3007	Backport from master.
3008	2020-04-27  Xiong Hu Luo  <luoxhu@linux.ibm.com>
3009
3010	PR target/91518
3011	* config/rs6000/rs6000.c (frame_pointer_needed_indeed):
3012	New variable.
3013	(rs6000_emit_prologue_components):
3014	Check with frame_pointer_needed_indeed.
3015	(rs6000_emit_epilogue_components): Likewise.
3016	(rs6000_emit_prologue): Likewise.
3017	(rs6000_emit_epilogue): Set frame_pointer_needed_indeed.
3018
30192020-05-07 Uroš Bizjak  <ubizjak@gmail.com>
3020
3021	* config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
3022	TARGET_EXPR instead of MODIFY_EXPR for the first assignments to
3023	fenv_var and new_fenv_var.
3024
30252020-05-05  Andreas Krebbel  <krebbel@linux.ibm.com>
3026
3027	Backport from mainline
3028	2020-04-30  Andreas Krebbel  <krebbel@linux.ibm.com>
3029
3030	* config/s390/constraints.md ("j>f", "jb4"): New constraints.
3031	* config/s390/vecintrin.h (vec_load_len_r, vec_store_len_r): Fix
3032	macro definitions.
3033	* config/s390/vx-builtins.md ("vlrlrv16qi", "vstrlrv16qi"): Add a
3034	separate expander.
3035	("*vlrlrv16qi", "*vstrlrv16qi"): Add alternative for vl/vst.
3036	Change constraint for vlrl/vstrl to jb4.
3037
30382020-05-04  Andreas Krebbel  <krebbel@linux.ibm.com>
3039
3040	Backport from mainline
3041	2020-04-20  Andreas Krebbel  <krebbel@linux.ibm.com>
3042
3043	* config/s390/vector.md ("popcountv8hi2_vx", "popcountv4si2_vx")
3044	("popcountv2di2_vx"): Use simplify_gen_subreg.
3045
30462020-05-04  Andreas Krebbel  <krebbel@linux.ibm.com>
3047
3048	Backport from mainline
3049	2020-04-20  Andreas Krebbel  <krebbel@linux.ibm.com>
3050
3051	PR target/94613
3052	* config/s390/s390-builtin-types.def: Add 3 new function modes.
3053	* config/s390/s390-builtins.def: Add mode dependent low-level
3054	builtin and map the overloaded builtins to these.
3055	* config/s390/vx-builtins.md ("vec_selV_HW"): Rename to ...
3056	("vsel<V_HW"): ... this and rewrite the pattern with bitops.
3057
30582020-05-04  Bin Cheng  <bin.cheng@linux.alibaba.com>
3059
3060	PR tree-optimization/93674
3061	Backport from master
3062	2020-04-09  Bin Cheng  <bin.cheng@linux.alibaba.com>
3063
3064	* tree-ssa-loop-ivopts.c (langhooks.h): New include.
3065	(add_iv_candidate_for_use): For iv_use of non integer or pointer type,
3066	or non-mode precision type, add candidate in unsigned type with the
3067	same precision.
3068
30692020-05-01  Alan Modra	 <amodra@gmail.com>
3070
3071	PR target/94145
3072	Backport from master
3073	2020-03-27  Alan Modra	 <amodra@gmail.com>
3074
3075	* config/rs6000/rs6000.c (rs6000_longcall_ref): Use unspec_volatile
3076	for PLT16_LO.
3077	* config/rs6000/rs6000.md (UNSPEC_PLT16_LO): Remove.
3078	(UNSPECV_PLT16_LO): Define.
3079	(pltseq_plt16_lo_): Use unspec_volatile.
3080
30812020-04-30  Carl Love  <cel@us.ibm.com>
3082
3083	* config/rs6000/emmintrin.h (_mm_movemask_epi8): Fix comment.
3084
30852020-04-29  H.J. Lu  <hongjiu.lu@intel.com>
3086
3087	Backport from master
3088	2020-04-29  H.J. Lu  <hongjiu.lu@intel.com>
3089
3090	PR target/93654
3091	* config/i386/i386.c (ix86_set_indirect_branch_type): Allow
3092	-fcf-protection with -mindirect-branch=thunk-extern and
3093	-mfunction-return=thunk-extern.
3094	* doc/invoke.texi: Update notes for -fcf-protection=branch with
3095	-mindirect-branch=thunk-extern and -mindirect-return=thunk-extern.
3096
30972020-04-21  Martin Jambor  <mjambor@suse.cz>
3098
3099	Backport from master
3100	2020-04-09  Martin Jambor  <mjambor@suse.cz>
3101	            Richard Biener  <rguenther@suse.de>
3102
3103	PR tree-optimization/94482
3104	* tree-sra.c (create_access_replacement): Dump new replacement with
3105	TDF_UID.
3106	(sra_modify_expr): Fix handling of cases when the original EXPR writes
3107	to only part of the replacement.
3108	* tree-ssa-forwprop.c (pass_forwprop::execute): Properly verify
3109	the first operand of combinations into REAL/IMAGPART_EXPR and
3110	BIT_FIELD_REF.
3111
31122020-04-20  H.J. Lu  <hongjiu.lu@intel.com>
3113
3114	Backport from master
3115	2020-04-13  H.J. Lu  <hongjiu.lu@intel.com>
3116
3117	PR target/94556
3118	* config/i386/i386.c (ix86_expand_epilogue): Restore the frame
3119	pointer in word_mode for eh_return epilogues.
3120
31212020-04-20  Andrea Corallo  <andrea.corallo@arm.com>
3122
3123	Backport from mainline.
3124	2020-04-15  Andrea Corallo  <andrea.corallo@arm.com>
3125
3126	PR target/94530
3127	* config/aarch64/falkor-tag-collision-avoidance.c
3128	(valid_src_p): Check for aarch64_address_info type before
3129	accessing base field.
3130
31312020-04-20  Tamar Christina  <tamar.christina@arm.com>
3132
3133	Backport from mainline.
3134	2020-04-03  Tamar Christina  <tamar.christina@arm.com>
3135
3136	PR target/94396
3137	* common/config/aarch64/aarch64-common.c
3138	(aarch64_get_extension_string_for_isa_flags): Handle default flags.
3139
31402020-04-20  Martin Liska  <mliska@suse.cz>
3141
3142	Backport from mainline
3143	2020-04-17  Martin Liska  <mliska@suse.cz>
3144		    Jonathan Yong <10walls@gmail.com>
3145
3146	PR gcov-profile/94570
3147	* coverage.c (coverage_init): Use separator properly.
3148
31492020-04-17  H.J. Lu  <hongjiu.lu@intel.com>
3150
3151	Backport from master
3152	2020-04-08  H.J. Lu  <hongjiu.lu@intel.com>
3153
3154	PR target/94417
3155	* config/i386/i386.c (rest_of_insert_endbranch): Insert ENDBR at
3156	function entry if function will be called indirectly.
3157
31582020-04-17  Kewen Lin  <linkw@gcc.gnu.org>
3159
3160	Backport from mainline
3161	2020-04-03  Kewen Lin  <linkw@gcc.gnu.org>
3162
3163	PR tree-optimization/94443
3164	* tree-vect-loop.c (vectorizable_live_operation): Use
3165	gsi_insert_seq_before to replace gsi_insert_before.
3166
31672020-04-17  Kewen Lin  <linkw@gcc.gnu.org>
3168
3169	Backport from mainline
3170	2020-04-01  Kewen Lin  <linkw@gcc.gnu.org>
3171
3172	PR tree-optimization/94043
3173	* tree-vect-loop.c (vectorizable_live_operation): Generate loop-closed
3174	phi for vec_lhs and use it for lane extraction.
3175
31762020-04-16  Michael Meissner  <meissner@linux.ibm.com>
3177
3178	PR target/94557
3179	* config/rs6000/rs6000.c (rs6000_adjust_vec_address): Fix
3180	regression caused by PR target/93932 backport.  Mask variable
3181	vector extract index so it does not go beyond the vector when
3182	extracting a vector element from memory.
3183
31842020-04-16  Richard Biener  <rguenther@suse.de>
3185
3186	Backport from mainline
3187	2020-04-07  Richard Biener  <rguenther@suse.de>
3188
3189	PR middle-end/94479
3190	* gimplify.c (gimplify_addr_expr): Also consider generated
3191	MEM_REFs.
3192
31932020-04-15  Max Filippov  <jcmvbkbc@gmail.com>
3194
3195	Backport from mainline.
3196	2020-04-14  Max Filippov  <jcmvbkbc@gmail.com>
3197
3198	PR target/94584
3199	* config/xtensa/xtensa.md (zero_extendhisi2, zero_extendqisi2)
3200	(extendhisi2_internal): Add %v1 before the load instructions.
3201
32022020-04-15  Max Filippov  <jcmvbkbc@gmail.com>
3203
3204	Backport from mainline.
3205	2019-09-26  Max Filippov  <jcmvbkbc@gmail.com>
3206
3207	* config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead
3208	loop instruction into new basic block before the loop when basic
3209	block that precedes the loop is empty.
3210
32112020-04-15  Uroš Bizjak  <ubizjak@gmail.com>
3212
3213	PR target/94603
3214	* config/i386/i386-builtin.def (__builtin_ia32_movq128):
3215	Require OPTION_MASK_ISA_SSE2.
3216
32172020-04-11  Uroš Bizjak  <ubizjak@gmail.com>
3218
3219	PR target/94494
3220	* config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE2
3221	condition for V4SI, V8HI and V16QI modes.
3222
32232020-04-10  Claudiu Zissulescu  <claziss@synopsys.com>
3224
3225	Backport from trunk
3226	2020-0-31  Vineet Gupta <vgupta@synopsys.com>
3227	* config/arc/linux.h: GLIBC_DYNAMIC_LINKER support BE/arc700.
3228
32292020-04-09  Michael Meissner  <meissner@linux.ibm.com>
3230
3231	Back port from trunk
3232	2020-02-26  Michael Meissner  <meissner@linux.ibm.com>
3233
3234	PR target/93932
3235	* config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
3236	Split the insn into two parts.  This insn only does variable
3237	extract from a register.
3238	(vsx_extract_<mode>_var_load, VSX_D iterator): New insn, do
3239	variable extract from memory.
3240	(vsx_extract_v4sf_var): Split the insn into two parts.  This insn
3241	only does variable extract from a register.
3242	(vsx_extract_v4sf_var_load): New insn, do variable extract from
3243	memory.
3244	(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Split the insn
3245	into two parts.  This insn only does variable extract from a
3246	register.
3247	(vsx_extract_<mode>_var_load, VSX_EXTRACT_I iterator): New insn,
3248	do variable extract from memory.
3249
32502020-04-07  Will Schmidt  <will_schmidt@vnet.ibm.com>
3251
3252	Backport from mainline.
3253	2020-03-23  Will Schmidt  <will_schmidt@vnet.ibm.com>
3254
3255	* config/rs6000/rs6000-call.c altivec_init_builtins(): Remove
3256	code to skip defining builtins based on builtin_mask.
3257
32582020-04-07  Jakub Jelinek  <jakub@redhat.com>
3259
3260	PR target/94509
3261	* config/i386/i386.c (expand_vec_perm_pshufb): Fix the check
3262	for inter-lane permutation for 64-byte modes.
3263
3264	PR target/94488
3265	* config/aarch64/aarch64-simd.md (ashl<mode>3, lshr<mode>3,
3266	ashr<mode>3): Force operands[2] into reg whenever it is not CONST_INT.
3267	Assume it is a REG after that instead of testing it and doing FAIL
3268	otherwise.  Formatting fix.
3269
3270	Backported from mainline
3271	2020-04-04  Hannes Domani  <ssbssa@yahoo.de>
3272		    Jakub Jelinek  <jakub@redhat.com>
3273
3274	PR debug/94459
3275	* dwarf2out.c (gen_subprogram_die): Look through references, pointers,
3276	arrays, pointer-to-members, function types and qualifiers when
3277	checking if in-class DIE had an 'auto' or 'decltype(auto)' return type
3278	to emit type again on definition.
3279
3280	2020-04-03  Jakub Jelinek  <jakub@redhat.com>
3281
3282	PR target/94460
3283	* config/i386/sse.md (avx2_ph<plusminus_mnemonic>wv16hi3,
3284	avx2_ph<plusminus_mnemonic>dv8si3): Fix up RTL pattern to do
3285	second half of first lane from first lane of second operand and
3286	first half of second lane from second lane of first operand.
3287
3288	2020-04-01  Jakub Jelinek  <jakub@redhat.com>
3289
3290	PR middle-end/94423
3291	* tree-object-size.c (pass_object_sizes::execute): Don't call
3292	replace_uses_by for SSA_NAME_OCCURS_IN_ABNORMAL_PHI lhs, instead
3293	call replace_call_with_value.
3294
3295	2020-03-31  Marc Glisse  <marc.glisse@inria.fr>
3296		    Jakub Jelinek  <jakub@redhat.com>
3297
3298	PR middle-end/94412
3299	* fold-const.c (fold_binary_loc) <case TRUNC_DIV_EXPR>: Use
3300	ANY_INTEGRAL_TYPE_P instead of INTEGRAL_TYPE_P.
3301
3302	2020-03-30  Jakub Jelinek  <jakub@redhat.com>
3303
3304	PR target/93069
3305	* config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Use
3306	<store_mask_constraint> instead of m in output operand constraint.
3307	(vec_extract_hi_<mode><mask_name>): Use <mask_operand2> instead of
3308	%{%3%}.
3309
3310	2020-03-28  Jakub Jelinek  <jakub@redhat.com>
3311
3312	PR tree-optimization/94329
3313	* tree-ssa-reassoc.c (reassociate_bb): When calling reassoc_remove_stmt
3314	on the last stmt in a bb, make sure gsi_prev isn't done immediately
3315	after gsi_last_bb.
3316
3317	2020-03-25  Jakub Jelinek  <jakub@redhat.com>
3318
3319	PR middle-end/94303
3320	* varasm.c (output_constructor_array_range): If local->index
3321	RANGE_EXPR doesn't start at the current location in the constructor,
3322	skip needed number of bytes using assemble_zeros or assert we don't
3323	go backwards.
3324
3325	2020-03-25  Richard Biener  <rguenther@suse.de>
3326		    Jakub Jelinek  <jakub@redhat.com>
3327
3328	PR debug/94283
3329	* tree-if-conv.c (ifcvt_local_dce): Delete dead statements backwards.
3330
3331	2020-03-24  Jakub Jelinek  <jakub@redhat.com>
3332
3333	PR debug/94283
3334	* tree-if-conv.c (ifcvt_local_dce): For gimple debug stmts, just set
3335	GF_PLF_2, but don't add them to worklist.  Don't add an assigment to
3336	worklist or set GF_PLF_2 just because it is used in a debug stmt in
3337	another bb.  Formatting improvements.
3338
3339	PR debug/94277
3340	* cgraphunit.c (check_global_declaration): For DECL_EXTERNAL and
3341	non-TREE_PUBLIC non-DECL_ARTIFICIAL FUNCTION_DECLs, set TREE_PUBLIC
3342	regardless of whether TREE_NO_WARNING is set on it or whether
3343	warn_unused_function is true or not.
3344
3345	2020-03-19  Jakub Jelinek  <jakub@redhat.com>
3346
3347	PR tree-optimization/94211
3348	* tree-ssa-phiopt.c (value_replacement): Use estimate_num_insns_seq
3349	instead of estimate_num_insns for bb_seq (middle_bb).  Rename
3350	emtpy_or_with_defined_p variable to empty_or_with_defined_p, adjust
3351	all uses.
3352
33532020-04-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3354
3355	PR target/94518
3356	2019-09-23  Richard Sandiford  <richard.sandiford@arm.com>
3357
3358	* config/aarch64/atomics.md (aarch64_store_exclusive_pair): Fix
3359	memmodel index.
3360
33612020-04-07  Jakub Jelinek  <jakub@redhat.com>
3362
3363	PR target/94500
3364	* config/i386/i386.c (emit_reduc_half): For V{64QI,32HI}mode
3365	handle i < 64 using avx512bw_lshrv4ti3.  Formatting fixes.
3366
33672020-04-02  Martin Jambor  <mjambor@suse.cz>
3368
3369	PR tree-optimization/93435
3370	* params.def (PARAM_SRA_MAX_PROPAGATIONS): New parameter.
3371	* tree-sra.c (propagation_budget): New variable.
3372	(budget_for_propagation_access): New function.
3373	(propagate_subaccesses_across_link): Use it.
3374	(propagate_all_subaccesses): Set up and destroy propagation_budget.
3375	* doc/invoke.texi (sra-max-propagations): New.
3376
33772020-04-03  Martin Liska  <mliska@suse.cz>
3378
3379	Backport from mainline
3380	2020-04-03  Martin Liska  <mliska@suse.cz>
3381
3382	PR ipa/94445
3383	* ipa-icf-gimple.c (func_checker::compare_gimple_call):
3384	  Compare type attributes for gimple_call_fntypes.
3385
33862020-04-02  Fritz Reese  <foreese@gcc.gnu.org>
3387
3388	Backport from master.
3389	2020-04-02  Fritz Reese  <foreese@gcc.gnu.org>
3390
3391	PR fortran/85982
3392	* fortran/decl.c (match_attr_spec): Lump COMP_STRUCTURE/COMP_MAP into
3393	attribute checking used by TYPE.
3394
33952020-04-02  Richard Biener  <rguenther@suse.de>
3396
3397	Backport from mainline
3398	2020-03-12  Richard Biener  <rguenther@suse.de>
3399
3400	PR tree-optimization/94103
3401	* tree-ssa-sccvn.c (visit_reference_op_load): Avoid type
3402	punning when the mode precision is not sufficient.
3403
3404	2020-03-18  Richard Biener  <rguenther@suse.de>
3405
3406	PR middle-end/94206
3407	* gimple-fold.c (gimple_fold_builtin_memset): Avoid using
3408	partial int modes or not mode-precision integer types for
3409	the store.
3410
34112020-04-02  Jakub Jelinek  <jakub@redhat.com>
3412
3413	PR target/94435
3414	* config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): For
3415	y_mode E_[QH]Imode and y being a CONST_INT, change y_mode to SImode.
3416
34172020-04-01  Zackery Spytz  <zspytz@gmail.com>
3418
3419	* doc/extend.texi: Fix a typo in the documentation of the
3420	copy function attribute.
3421
34222020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3423
3424	Backport from mainline
3425	2020-03-31  Jakub Jelinek  <jakub@redhat.com>
3426
3427	PR target/94368
3428	* config/aarch64/constraints.md (Uph): New constraint.
3429	* config/aarch64/atomics.md (cas_short_expected_imm): New mode attr.
3430	(@aarch64_compare_and_swap<mode>): Use it instead of n in operand 2's
3431	constraint.
3432
34332020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3434
3435	Backport from mainline
3436	2020-01-17  Wilco Dijkstra  <wdijkstr@arm.com>
3437
3438	PR target/92692
3439	* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>)
3440	Use epilogue_completed rather than reload_completed.
3441
34422020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3443
3444	Backport from mainline
3445	2019-09-19  Richard Henderson  <richard.henderson@linaro.org>
3446
3447	* config/aarch64/aarch64.opt (-moutline-atomics): New.
3448	* config/aarch64/aarch64.c (aarch64_atomic_ool_func): New.
3449	(aarch64_ool_cas_names, aarch64_ool_swp_names): New.
3450	(aarch64_ool_ldadd_names, aarch64_ool_ldset_names): New.
3451	(aarch64_ool_ldclr_names, aarch64_ool_ldeor_names): New.
3452	(aarch64_expand_compare_and_swap): Honor TARGET_OUTLINE_ATOMICS.
3453	* config/aarch64/atomics.md (atomic_exchange<ALLI>): Likewise.
3454	(atomic_<atomic_op><ALLI>): Likewise.
3455	(atomic_fetch_<atomic_op><ALLI>): Likewise.
3456	(atomic_<atomic_op>_fetch<ALLI>): Likewise.
3457	* doc/invoke.texi: Document -moutline-atomics.
3458
34592020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3460
3461	Backport from mainline
3462	2019-09-19  Richard Henderson  <richard.henderson@linaro.org>
3463
3464	* config/aarch64/aarch64 (aarch64_split_compare_and_swap): Disable
3465	strong_zero_p for aarch64_track_speculation; unify some code paths;
3466	use aarch64_gen_compare_reg instead of open-coding.
3467
34682020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3469
3470	Backport from mainline
3471	2019-09-19  Richard Henderson  <richard.henderson@linaro.org>
3472
3473	* config/aarch64/aarch64.c (aarch64_gen_compare_reg): Add support
3474	for NE comparison of TImode values.
3475	(aarch64_emit_load_exclusive): Add support for TImode.
3476	(aarch64_emit_store_exclusive): Likewise.
3477	(aarch64_split_compare_and_swap): Disable strong_zero_p for TImode.
3478	* config/aarch64/atomics.md (@atomic_compare_and_swap<ALLI_TI>):
3479	Change iterator from ALLI to ALLI_TI.
3480	(@atomic_compare_and_swap<JUST_TI>): New.
3481	(@atomic_compare_and_swap<JUST_TI>_lse): New.
3482	(aarch64_load_exclusive_pair): New.
3483	(aarch64_store_exclusive_pair): New.
3484	* config/aarch64/iterators.md (JUST_TI): New.
3485
34862020-04-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3487
3488	Backport from mainline
3489	2019-09-19  Richard Henderson  <richard.henderson@linaro.org>
3490
3491	* config/aarch64/aarch64.c (aarch64_print_operand): Allow integer
3492	registers with %R.
3493
34942020-03-31  Carl Love  <cel@us.ibm.com>
3495
3496	Backport of:
3497	  commit e97929e20b2f52e6cfc046c1302324d1b24d95e3
3498	  Author: Carl Love <carll@us.ibm.com>
3499	  Date:   Wed Mar 25 18:33:37 2020 -0500
3500
3501	PR target/93819
3502        * gcc/config/rs6000/altivec.h:
3503        Fixed swapped arguments for vec_rlnm define.
3504
35052020-03-31  Carl Love  <cel@us.ibm.com>
3506
3507	Backport from mainline
3508	  commit 68dd57808f7c0147acdb5ca72c88ff655afcb0ce
3509	  Author: Carl Love <carll@us.ibm.com>
3510	  Date:   Fri Mar 20 18:15:05 2020 -0500
3511	with ChangeLog typo fixed.
3512
3513	PR target/87583
3514	* gcc/config/rs6000/rs6000.c (rs6000_option_override_internal):
3515	Add check for TARGET_FPRND for Power 7 or newer.
3516
35172020-03-24  John David Anglin  <danglin@gcc.gnu.org>
3518
3519	PR lto/94249
3520	* config/pa/pa.h (TARGET_CPU_CPP_BUILTINS): Define __BIG_ENDIAN__.
3521
35222020-03-24  Tamar Christina  <tamar.christina@arm.com>
3523
3524	PR target/94052
3525	* config/aarch64/aarch64-simd.md (mov<mode>): Remove paradoxical
3526	subregs of VSTRUCT modes.
3527
35282020-03-24  Bin Cheng  <bin.cheng@linux.alibaba.com>
3529
3530	Backport from mainline
3531	2020-03-16  Bin Cheng  <bin.cheng@linux.alibaba.com>
3532
3533	PR tree-optimization/94125
3534	* tree-loop-distribution.c
3535	(loop_distribution::break_alias_scc_partitions): Update post order
3536	number for merged scc.
3537
35382020-03-23  Will Schmidt  <will_schmidt@vnet.ibm.com>
3539
3540	Backport from mainline
3541	2020-03-10  Will Schmidt  <will_schmidt@vnet.ibm.com>
3542
3543	PR target/90763
3544	    * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
3545	    Add clause to handle P9V_BUILTIN_VEC_LXVL with const arguments.
3546
35472020-03-23  Iain Sandoe  <iain@sandoe.co.uk>
3548
3549	Backport from master.
3550	2020-03-22  Iain Sandoe  <iain@sandoe.co.uk>
3551
3552	* config/i386/darwin.h (JUMP_TABLES_IN_TEXT_SECTION): Remove
3553	references to Darwin.
3554	* config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION): Define this
3555	unconditionally and comment on why.
3556
35572020-03-19  Jonathan Wakely  <jwakely@redhat.com>
3558
3559	Backport from mainline
3560	2020-01-13  Jonathan Wakely  <jwakely@redhat.com>
3561
3562	PR driver/92757
3563	* doc/invoke.texi (Warning Options): Add caveat about some warnings
3564	depending on optimization settings.
3565
35662020-03-19  Jiufu Guo  <guojiufu@linux.ibm.com>
3567
3568	PR target/93709
3569	* gcc/config/rs6000/rs6000.c (rs6000_emit_p9_fp_minmax): Check
3570	NAN and SIGNED_ZEROR for smax/smin.
3571
35722020-03-17  Jakub Jelinek  <jakub@redhat.com>
3573
3574	PR middle-end/94189
3575	* builtins.c (expand_builtin_strnlen): Do return NULL_RTX if we would
3576	emit a warning if it was enabled and don't depend on TREE_NO_WARNING
3577	for code-generation.
3578
3579	Backported from mainline
3580	2020-03-16  Jakub Jelinek  <jakub@redhat.com>
3581
3582	PR debug/94167
3583	* tree-inline.c (insert_init_stmt): Don't gimple_regimplify_operands
3584	DEBUG_STMTs.
3585
3586	2020-03-14  Jakub Jelinek  <jakub@redhat.com>
3587
3588	PR middle-end/93566
3589	* tree-nested.c (convert_nonlocal_omp_clauses,
3590	convert_local_omp_clauses): Handle {,in_,task_}reduction clauses
3591	with C/C++ array sections.
3592
3593	2020-03-13  Jakub Jelinek  <jakub@redhat.com>
3594
3595	PR target/94121
3596	* config/aarch64/aarch64.c (aarch64_add_offset_1): Use gen_int_mode
3597	instead of GEN_INT.
3598
3599	2020-03-12  Jakub Jelinek  <jakub@redhat.com>
3600
3601	* doc/tm.texi.in (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change
3602	ASM_OUTPUT_ALIGNED_DECL in description to ASM_OUTPUT_ALIGNED_LOCAL
3603	and ASM_OUTPUT_DECL to ASM_OUTPUT_LOCAL.
3604	* doc/tm.texi: Regenerated.
3605
3606	PR tree-optimization/94130
3607	* tree-ssa-dse.c: Include gimplify.h.
3608	(increment_start_addr): If stmt has lhs, drop the lhs from call and
3609	set it after the call to the original value of the first argument.
3610	Formatting fixes.
3611	(decrement_count): Formatting fix.
3612
3613	2020-03-11  Jakub Jelinek  <jakub@redhat.com>
3614
3615	PR target/94134
3616	* config/pdp11/pdp11.c (pdp11_asm_output_var): Call switch_to_section
3617	at the start to switch to data section.  Don't print extra newline if
3618	.globl directive has not been emitted.
3619
3620	PR target/94121
3621	* config/aarch64/aarch64.c (aarch64_add_offset_1): Use absu_hwi
3622	instead of abs_hwi, change moffset type to unsigned HOST_WIDE_INT.
3623
3624	PR middle-end/94111
3625	* dfp.c (decimal_to_binary): Only use decimal128ToString if from->cl
3626	is rvc_normal, otherwise use real_to_decimal to print the number to
3627	string.
3628
3629	PR tree-optimization/94114
3630	* tree-loop-distribution.c (generate_memset_builtin): Call
3631	rewrite_to_non_trapping_overflow even on mem.
3632	(generate_memcpy_builtin): Call rewrite_to_non_trapping_overflow even
3633	on dest and src.
3634
3635	2020-03-05  Jakub Jelinek  <jakub@redhat.com>
3636
3637	PR middle-end/93399
3638	* tree-pretty-print.h (pretty_print_string): Declare.
3639	* tree-pretty-print.c (pretty_print_string): Remove forward
3640	declaration, no longer static.  Change nbytes parameter type
3641	from unsigned to size_t.
3642	* print-rtl.c (print_value) <case CONST_STRING>: Use
3643	pretty_print_string and for shrink way too long strings.
3644
3645	2020-03-04  Jakub Jelinek  <jakub@redhat.com>
3646
3647	PR debug/93888
3648	* tree-inline.c (copy_decl_to_var): Copy DECL_BY_REFERENCE flag.
3649
3650	PR tree-optimization/94001
3651	* tree-tailcall.c (process_assignment): Before comparing op1 to
3652	*ass_var, verify *ass_var is non-NULL.
3653
36542020-03-13  Richard Biener  <rguenther@suse.de>
3655
3656	PR tree-optimization/94163
3657	* tree-ssa-pre.c (create_expression_by_pieces): Check
3658	whether alignment would be zero.
3659
36602020-03-13  Eric Botcazou  <ebotcazou@adacore.com>
3661
3662	PR rtl-optimization/94119
3663	* resource.h (clear_hashed_info_until_next_barrier): Declare.
3664	* resource.c (clear_hashed_info_until_next_barrier): New function.
3665	* reorg.c (add_to_delay_list): Fix formatting.
3666	(relax_delay_slots): Call clear_hashed_info_until_next_barrier on
3667	the next instruction after removing a BARRIER.
3668
36692020-03-12  Bill Schmidt  <wschmidt@linux.ibm.com>
3670
3671	Backport from master
3672	2020-03-02  Bill Schmidt  <wschmidt@linux.ibm.com>
3673
3674	PR target/87560
3675	* rs6000-cpus.def (OTHER_ALTIVEC_MASKS): New #define.
3676	* rs6000.c (rs6000_disable_incompatible_switches): Add table entry
3677	for OPTION_MASK_ALTIVEC.
3678
36792020-03-12  Richard Earnshaw  <rearnsha@arm.com>
3680
3681	Backport from master
3682	2020-02-10  Richard Earnshaw  <rearnsha@arm.com>
3683
3684	PR target/91913
3685	* config/arm/arm.md (movsi_compare0): Allow SP as a source register
3686	in Thumb state and also as a destination in Arm state.  Add T16
3687	variants.
3688
36892020-03-12  Martin Liska  <mliska@suse.cz>
3690
3691	Backport from mainline
3692	2020-03-09  Martin Liska  <mliska@suse.cz>
3693
3694	PR target/93800
3695	* config/rs6000/rs6000.c (rs6000_option_override_internal):
3696	Remove set of str_align_loops and str_align_jumps as these
3697	should be set in previous 2 conditions in the function.
3698
36992020-03-12  Jakub Jelinek  <jakub@redhat.com>
3700
3701	* BASE-VER: Set to 9.3.1.
3702
37032020-03-12  Release Manager
3704
3705	* GCC 9.3.0 released.
3706
37072020-03-05  Jakub Jelinek  <jakub@redhat.com>
3708
3709	PR target/94046
3710	* config/i386/avx2intrin.h (_mm_mask_i32gather_ps): Fix first cast of
3711	SRC and MASK arguments to __m128 from __m128d.
3712	(_mm256_mask_i32gather_ps): Fix first cast of MASK argument to __m256
3713	from __m256d.
3714	(_mm_mask_i64gather_ps): Fix first cast of MASK argument to __m128
3715	from __m128d.
3716	* config/i386/xopintrin.h (_mm_permute2_pd): Fix first cast of C
3717	argument to __m128i from __m128d.
3718	(_mm256_permute2_pd): Fix first cast of C argument to __m256i from
3719	__m256d.
3720	(_mm_permute2_ps): Fix first cast of C argument to __m128i from __m128.
3721	(_mm256_permute2_ps): Fix first cast of C argument to __m256i from
3722	__m256.
3723
37242020-03-05  Richard Earnshaw  <rearnsha@arm.com>
3725
3726	PR target/90311
3727	Backport from master
3728	2019-07-18  Richard Earnshaw  <rearnsha@arm.com>
3729
3730	* config/arm/predicates.md (arm_borrow_operation): New predicate.
3731	* config/arm/arm.c (subdi3_compare1): Use CCmode for the split.
3732	(arm_subdi3, subdi_di_zesidi, subdi_di_sesidi): Likewise.
3733	(subdi_zesidi_zesidi): Likewise.
3734	(negdi2_compare, negdi2_insn): Likewise.
3735	(negdi_extensidi): Likewise.
3736	(negdi_zero_extendsidi): Likewise.
3737	(arm_cmpdi_insn): Likewise.
3738	(subsi3_carryin): Use arm_borrow_operation.
3739	(subsi3_carryin_const): Likewise.
3740	(subsi3_carryin_const0): Likewise.
3741	(subsi3_carryin_compare): Likewise.
3742	(subsi3_carryin_compare_const): Likewise.
3743	(subsi3_carryin_compare_const0): Likewise.
3744	(subsi3_carryin_shift): Likewise.
3745	(rsbsi3_carryin_shift): Likewise.
3746	(negsi2_carryin_compare): Likewise.
3747
37482020-03-04  Marek Polacek  <polacek@redhat.com>
3749
3750	Backport from mainline
3751	2020-01-26  Marek Polacek  <polacek@redhat.com>
3752
3753	PR sanitizer/93436
3754	* sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on
3755	null DECL_NAME.
3756
37572020-03-03  Jakub Jelinek  <jakub@redhat.com>
3758
3759	PR rtl-optimization/94002
3760	* explow.c (plus_constant): Punt if cst has VOIDmode and
3761	get_pool_mode is different from mode.
3762
37632020-03-02  Jason Merrill  <jason@redhat.com>
3764
3765	PR c++/92601
3766	* tree.c (verify_type_variant): Only verify TYPE_NEEDS_CONSTRUCTING
3767	of complete types.
3768
37692020-02-29  Peter Bergner <bergner@linux.ibm.com>
3770
3771	Revert
3772	2020-02-20  Peter Bergner  <bergner@linux.ibm.com>
3773
3774	PR target/93658
3775	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
3776	vector modes.
3777
3778	2020-02-05  Michael Meissner  <meissner@linux.ibm.com>
3779
3780	PR target/93568
3781	* config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert
3782	to use "mem".
3783
3784	Backport from master
3785	2020-02-03  Michael Meissner  <meissner@linux.ibm.com>
3786
3787	* config/rs6000/rs6000.c (get_vector_offset): New helper function
3788	to calculate the offset in memory from the start of a vector of a
3789	particular element.  Add code to keep the element number in
3790	bounds if the element number is variable.
3791	(rs6000_adjust_vec_address): Move calculation of offset of the
3792	vector element to get_vector_offset.
3793	(rs6000_split_vec_extract_var): Do not do the initial AND of
3794	element here, move the code to get_vector_offset.
3795
3796	2020-01-06  Michael Meissner  <meissner@linux.ibm.com>
3797
3798	* config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
3799	Use 'Q' for doing vector extract from memory.
3800	(vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
3801	memory.
3802	(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
3803	doing vector extract from memory.
3804	(vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
3805	extract from memory.
3806
38072020-02-28  Martin Liska  <mliska@suse.cz>
3808
3809	Backport from mainline
3810	2020-02-28  Martin Liska  <mliska@suse.cz>
3811
3812	PR other/93965
3813	* configure.ac: Improve detection of ld_date by requiring
3814	either two dashes or none.
3815	* configure: Regenerate.
3816
38172020-02-27  Jakub Jelinek  <jakub@redhat.com>
3818
3819	PR c/93949
3820	* gimplify.c (gimplify_init_constructor): Don't promote readonly
3821	DECL_REGISTER variables to TREE_STATIC.
3822
38232020-02-27  Jakub Jelinek  <jakub@redhat.com>
3824
3825	PR tree-optimization/93945
3826	* tree-ssa-sccvn.c (vn_reference_lookup_3): For memset with non-zero
3827	second operand, require ref->size to be a multiple of BITS_PER_UNIT.
3828
38292020-02-26  Carl Love  <cel@us.ibm.com>
3830
3831	PR target/91276
3832	* doc/extend.texi (PowerPC AltiVec Built-in Functions  Available on ISA
3833	3.0): The builtin-function name __builtin_crypto_vpmsumb is only for
3834	the vector unsigned short arguments.  It is also listed as the name of
3835	the built-in for arguments vector unsigned short,
3836	vector unsigned int and vector unsigned long long built-ins.  The
3837	name of the builtins for these arguments should be:
3838	__builtin_crypto_vpmsumh, __builtin_crypto_vpmsumw and
3839	__builtin_crypto_vpmsumd respectively.
3840
38412020-02-26  Jason Merrill  <jason@redhat.com>
3842
3843	PR c++/92003
3844	* symtab.c (symtab_node::nonzero_address): A DECL_COMDAT decl has
3845	non-zero address even if weak and not yet defined.
3846
38472020-02-26  Jiufu Guo  <guojiufu@linux.ibm.com>
3848
3849	PR target/93047
3850	* config/rs6000/rs6000.md (untyped_call): Add emit_clobber.
3851
38522020-02-26  Jakub Jelinek  <jakub@redhat.com>
3853
3854	PR tree-optimization/93820
3855	* gimple-ssa-store-merging.c (check_no_overlap): Change RHS_CODE
3856	argument to ALL_INTEGER_CST_P boolean.
3857	(imm_store_chain_info::try_coalesce_bswap): Adjust caller.
3858	(imm_store_chain_info::coalesce_immediate_stores): Likewise.  Handle
3859	adjacent INTEGER_CST store into merged_store->only_constants like
3860	overlapping one.
3861
38622020-02-25  Christophe Lyon  <christophe.lyon@linaro.org>
3863
3864	Backport from mainline
3865	2020-02-25  Christophe Lyon  <christophe.lyon@linaro.org>
3866
3867	* config/arm/arm.md (required_for_purecode): New attribute.
3868	(enabled): Handle required_for_purecode.
3869	* config/arm/thumb1.md (thumb1_movsi_insn): Add alternative to
3870	work with -mpure-code.
3871
38722020-02-25  Christophe Lyon  <christophe.lyon@linaro.org>
3873
3874	Backport from mainline
3875	2019-12-17  Christophe Lyon  <christophe.lyon@linaro.org>
3876
3877	* config/arm/arm-protos.h (thumb1_gen_const_int): Add new prototype.
3878	* config/arm/arm.c (arm_option_check_internal): Remove restriction
3879	on MOVT for -mpure-code.
3880	(thumb1_gen_const_int): New function.
3881	(thumb1_legitimate_address_p): Support -mpure-code.
3882	(thumb1_rtx_costs): Likewise.
3883	(thumb1_size_rtx_costs): Likewise.
3884	(arm_thumb1_mi_thunk): Likewise.
3885	* config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Likewise.
3886	* config/arm/thumb1.md (thumb1_movsi_symbol_ref): New.
3887	(*thumb1_movhf): Support -mpure-code.
3888	* doc/invoke.texi (-mpure-code): Remove restriction on MOVT.
3889
38902020-02-25  Jakub Jelinek  <jakub@redhat.com>
3891
3892	PR rtl-optimization/93908
3893	* combine.c (find_split_point): For store into ZERO_EXTRACT, and src
3894	with mask.
3895
38962019-02-25  Eric Botcazou  <ebotcazou@adacore.com>
3897
3898	* dwarf2out.c (dwarf2out_size_function): Run in early-DWARF mode.
3899
39002020-02-25  Roman Zhuykov  <zhroma@ispras.ru>
3901
3902	Backport from master
3903	2020-02-24  Roman Zhuykov  <zhroma@ispras.ru>
3904
3905	* doc/install.texi (--enable-checking): Properly document current
3906	behavior.
3907	(--enable-stage1-checking): Minor clarification about bootstrap.
3908
39092020-02-24  Richard Sandiford  <richard.sandiford@arm.com>
3910
3911	Backport from mainline
3912	2020-02-19  Richard Sandiford  <richard.sandiford@arm.com>
3913
3914	PR tree-optimization/93767
3915	* tree-vect-data-refs.c (vect_compile_time_alias): Remove the
3916	access-size bias from the offset calculations for negative strides.
3917
39182020-02-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3919
3920	* collect2.c (tool_cleanup): Avoid calling not signal-safe
3921	functions.
3922	(maybe_run_lto_and_relink): Avoid possible signal handler
3923	access to unintialzed memory (lto_o_files).
3924
39252020-02-23  Peter Bergner <bergner@linux.ibm.com>
3926
3927	Backport from master
3928	2020-02-20  Peter Bergner  <bergner@linux.ibm.com>
3929
3930	PR target/93658
3931	* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Handle VSX
3932	vector modes.
3933
39342020-02-23  Peter Bergner <bergner@linux.ibm.com>
3935
3936	Backport from master
3937	2020-02-05  Michael Meissner  <meissner@linux.ibm.com>
3938
3939	PR target/93568
3940	* config/rs6000/rs6000.c (get_vector_offset): Fix Q constraint assert
3941	to use "mem".
3942
3943	Backport from master
3944	2020-02-03  Michael Meissner  <meissner@linux.ibm.com>
3945
3946	* config/rs6000/rs6000.c (get_vector_offset): New helper function
3947	to calculate the offset in memory from the start of a vector of a
3948	particular element.  Add code to keep the element number in
3949	bounds if the element number is variable.
3950	(rs6000_adjust_vec_address): Move calculation of offset of the
3951	vector element to get_vector_offset.
3952	(rs6000_split_vec_extract_var): Do not do the initial AND of
3953	element here, move the code to get_vector_offset.
3954
39552020-02-23  Peter Bergner <bergner@linux.ibm.com>
3956
3957	Backport from master
3958	2020-01-06  Michael Meissner  <meissner@linux.ibm.com>
3959
3960	* config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
3961	Use 'Q' for doing vector extract from memory.
3962	(vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
3963	memory.
3964	(vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
3965	doing vector extract from memory.
3966	(vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
3967	extract from memory.
3968
39692020-02-21  John David Anglin  <danglin@gcc.gnu.org>
3970
3971	* gcc/config/pa/pa.c (pa_function_value): Fix check for word and
3972	double-word size when handling aggregate return values.
3973	* gcc/config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Fix to indicate
3974	that homogeneous SFmode and DFmode aggregates are passed and returned
3975	in general registers.
3976
39772020-02-20  Uroš Bizjak  <ubizjak@gmail.com>
3978
3979	PR target/93828
3980	* config/i386/mmx.md (*vec_extractv2sf_1): Match source operand
3981	to destination operand for shufps alternative.
3982	(*vec_extractv2si_1): Ditto.
3983
39842020-02-20  H.J. Lu  <hongjiu.lu@intel.com>
3985
3986	Backport from master
3987	2020-02-13  H.J. Lu  <hongjiu.lu@intel.com>
3988
3989	PR target/93656
3990	* config/i386/i386.c (ix86_trampoline_init): Skip ENDBR32 at
3991	the target function entry.
3992
39932020-02-18  Richard Sandiford  <richard.sandiford@arm.com>
3994
3995	Backport from mainline
3996	2019-12-05  Richard Sandiford  <richard.sandiford@arm.com>
3997
3998	PR middle-end/92768
3999	* tree-core.h (OEP_BITWISE): New flag.
4000	* fold-const.c (operand_compare::operand_equal_p): Handle it.
4001	* tree-vector-builder.h (tree_vector_builder::equal_p): Pass it.
4002
40032020-02-18  Richard Sandiford  <richard.sandiford@arm.com>
4004
4005	Backport from mainline
4006	2019-08-09  Richard Sandiford  <richard.sandiford@arm.com>
4007
4008	PR middle-end/90313
4009	* tree-tailcall.c (find_tail_calls): Reject calls that might
4010	read from an escaped RESULT_DECL.
4011
40122020-02-18  Richard Sandiford  <richard.sandiford@arm.com>
4013
4014	Backport from mainline
4015	2020-01-28  Richard Sandiford  <richard.sandiford@arm.com>
4016
4017	PR tree-optimization/93434
4018	* tree-predcom.c (split_data_refs_to_components): Record which
4019	components have had aliasing loads removed.  Prevent store-store
4020	commoning for all such components.
4021
40222020-02-18  Richard Sandiford  <richard.sandiford@arm.com>
4023
4024	Backport from mainline
4025	2019-11-29  Richard Sandiford  <richard.sandiford@arm.com>
4026
4027	PR tree-optimization/92710
4028	* tree-vect-stmts.c (vectorizable_simd_clone_call): Reject
4029	vector mask arguments.
4030
40312020-02-18  Richard Sandiford  <richard.sandiford@arm.com>
4032
4033	Backport from mainline
4034	2019-11-11  Richard Sandiford  <richard.sandiford@arm.com>
4035
4036	PR tree-optimization/92420
4037	* tree-vect-stmts.c (get_negative_load_store_type): Move further
4038	up file.
4039	(get_group_load_store_type): Use it for reversed SLP accesses.
4040
40412020-02-18  Richard Sandiford  <richard.sandiford@arm.com>
4042
4043	Backport from mainline
4044	2019-08-21  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
4045
4046	PR target/90724
4047	* config/aarch64/aarch64.c (aarch64_gen_compare_reg_maybe_ze): Force y
4048	in reg if it fails aarch64_plus_operand predicate.
4049
40502020-02-14 Hongtao Liu  <hongtao.liu@intel.com>
4051
4052	PR target/93724
4053	* config/i386/avx512vbmi2intrin.h
4054	(_mm512_shrdi_epi16, _mm512_mask_shrdi_epi16,
4055	_mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32,
4056	_mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32,
4057	_m512_shrdi_epi64, _m512_mask_shrdi_epi64,
4058	_m512_maskz_shrdi_epi64, _mm512_shldi_epi16,
4059	_mm512_mask_shldi_epi16, _mm512_maskz_shldi_epi16,
4060	_mm512_shldi_epi32, _mm512_mask_shldi_epi32,
4061	_mm512_maskz_shldi_epi32, _mm512_shldi_epi64,
4062	_mm512_mask_shldi_epi64, _mm512_maskz_shldi_epi64): Fix typo
4063	of lacking a closing parenthesis.
4064	* config/i386/avx512vbmi2vlintrin.h
4065	(_mm256_shrdi_epi16, _mm256_mask_shrdi_epi16,
4066	_mm256_maskz_shrdi_epi16, _mm256_shrdi_epi32,
4067	_mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32,
4068	_m256_shrdi_epi64, _m256_mask_shrdi_epi64,
4069	_m256_maskz_shrdi_epi64, _mm256_shldi_epi16,
4070	_mm256_mask_shldi_epi16, _mm256_maskz_shldi_epi16,
4071	_mm256_shldi_epi32, _mm256_mask_shldi_epi32,
4072	_mm256_maskz_shldi_epi32, _mm256_shldi_epi64,
4073	_mm256_mask_shldi_epi64, _mm256_maskz_shldi_epi64,
4074	_mm_shrdi_epi16, _mm_mask_shrdi_epi16,
4075	_mm_maskz_shrdi_epi16, _mm_shrdi_epi32,
4076	_mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32,
4077	_mm_shrdi_epi64, _mm_mask_shrdi_epi64,
4078	_m_maskz_shrdi_epi64, _mm_shldi_epi16,
4079	_mm_mask_shldi_epi16, _mm_maskz_shldi_epi16,
4080	_mm_shldi_epi32, _mm_mask_shldi_epi32,
4081	_mm_maskz_shldi_epi32, _mm_shldi_epi64,
4082	_mm_mask_shldi_epi64, _mm_maskz_shldi_epi64): Ditto.
4083
40842020-02-16  Uroš Bizjak  <ubizjak@gmail.com>
4085
4086	PR target/93743
4087	* config/i386/i386.md (atan2xf3): Swap operands 1 and 2.
4088	(atan2<mode>3): Update operand order in the call to gen_atan2xf3.
4089
40902020-02-15  Jakub Jelinek  <jakub@redhat.com>
4091
4092	PR tree-optimization/93744
4093	* match.pd (((m1 >/</>=/<= m2) * d -> (m1 >/</>=/<= m2) ? d : 0): For
4094	GENERIC, make sure @2 in the first and @1 in the other patterns has no
4095	side-effects.
4096
40972020-02-14  Eric Botcazou  <ebotcazou@adacore.com>
4098
4099	PR target/93704
4100	* config/sparc/sparc.c (eligible_for_call_delay): Test HAVE_GNU_LD in
4101	conjunction with TARGET_GNU_TLS in early return.
4102
41032020-02-14  Alexander Monakov  <amonakov@ispras.ru>
4104
4105	Backport from mainline
4106	PR rtl-optimization/88879
4107	* sel-sched.c (sel_target_adjust_priority): Remove assert.
4108
41092020-02-14  Richard Biener  <rguenther@suse.de>
4110
4111	Backport from mainline
4112	2020-02-05  Richard Biener  <rguenther@suse.de>
4113
4114	PR middle-end/90648
4115	* genmatch.c (dt_node::gen_kids_1): Emit number of argument
4116	checks before matching calls.
4117
41182020-02-14  Richard Biener  <rguenther@suse.de>
4119
4120	Backport from mainline
4121	2020-01-22  Richard Biener  <rguenther@suse.de>
4122
4123	PR tree-optimization/93381
4124	* tree-ssa-structalias.c (find_func_aliases): Assume offsetting
4125	throughout, handle all conversions the same.
4126
41272020-02-14  Richard Biener  <rguenther@suse.de>
4128
4129	Backport from mainline
4130	2020-01-28  Richard Biener  <rguenther@suse.de>
4131
4132	PR tree-optimization/93439
4133	* tree-parloops.c (create_loop_fn): Move clique bookkeeping...
4134	* tree-cfg.c (move_sese_region_to_fn): ... here.
4135	(verify_types_in_gimple_reference): Verify used cliques are
4136	tracked.
4137
41382020-02-14  Richard Biener  <rguenther@suse.de>
4139
4140	Backport from mainline
4141	2020-01-09  Richard Biener  <rguenther@suse.de>
4142
4143	PR middle-end/93054
4144	* gimplify.c (gimplify_expr): Deal with NOP definitions.
4145
41462020-02-14  Richard Biener  <rguenther@suse.de>
4147
4148	Backport from mainline
4149	2020-01-20  Richard Biener  <rguenther@suse.de>
4150
4151	PR debug/92763
4152	* dwarf2out.c (prune_unused_types): Unconditionally mark
4153	called function DIEs.
4154
41552020-02-14  Richard Biener  <rguenther@suse.de>
4156
4157	Backport from mainline
4158	2019-11-29  Richard Biener  <rguenther@suse.de>
4159
4160	PR tree-optimization/92704
4161	* tree-if-conv.c (combine_blocks): Deal with virtual PHIs
4162	in loops performing only loads.
4163
41642020-02-14  Richard Biener  <rguenther@suse.de>
4165
4166	Backport from mainline
4167	2019-11-27  Richard Biener  <rguenther@suse.de>
4168
4169	PR middle-end/92674
4170	* tree-inline.c (expand_call_inline): Delay purging EH/abnormal
4171	edges and instead record blocks in bitmap.
4172	(gimple_expand_calls_inline): Adjust.
4173	(fold_marked_statements): Delay EH cleanup until all folding is
4174	done.
4175	(optimize_inline_calls): Do EH/abnormal cleanup for calls after
4176	inlining finished.
4177
41782020-02-13  Jakub Jelinek  <jakub@redhat.com>
4179
4180	PR target/93696
4181	* config/i386/avx512bitalgintrin.h (_mm512_mask_popcnt_epi8,
4182	_mm512_mask_popcnt_epi16, _mm256_mask_popcnt_epi8,
4183	_mm256_mask_popcnt_epi16, _mm_mask_popcnt_epi8,
4184	_mm_mask_popcnt_epi16): Rename __B argument to __A and __A to __W,
4185	pass __A to the builtin followed by __W instead of __A followed by
4186	__B.
4187	* config/i386/avx512vpopcntdqintrin.h (_mm512_mask_popcnt_epi32,
4188	_mm512_mask_popcnt_epi64): Likewise.
4189	* config/i386/avx512vpopcntdqvlintrin.h (_mm_mask_popcnt_epi32,
4190	_mm256_mask_popcnt_epi32, _mm_mask_popcnt_epi64,
4191	_mm256_mask_popcnt_epi64): Likewise.
4192
4193	PR target/93673
4194	* config/i386/sse.md (k<code><mode>): Drop mode from last operand and
4195	use const_0_to_255_operand predicate instead of immediate_operand.
4196	(avx512dq_fpclass<mode><mask_scalar_merge_name>,
4197	avx512dq_vmfpclass<mode><mask_scalar_merge_name>,
4198	vgf2p8affineinvqb_<mode><mask_name>,
4199	vgf2p8affineqb_<mode><mask_name>): Drop mode from
4200	const_0_to_255_operand predicated operands.
4201
4202	Backported from mainline
4203	2020-02-12  Jakub Jelinek  <jakub@redhat.com>
4204
4205	PR target/93670
4206	* config/i386/sse.md (VI48F_256_DQ): New mode iterator.
4207	(avx512vl_vextractf128<mode>): Use it instead of VI48F_256.  Remove
4208	TARGET_AVX512DQ from condition.
4209	(vec_extract_lo_<mode><mask_name>): Use <mask_avx512dq_condition>
4210	instead of <mask_mode512bit_condition> in condition.  If
4211	TARGET_AVX512DQ is false, emit vextract*64x4 instead of
4212	vextract*32x8.
4213	(vec_extract_lo_<mode><mask_name>): Drop <mask_avx512dq_condition>
4214	from condition.
4215
4216	2020-02-10  Jakub Jelinek  <jakub@redhat.com>
4217
4218	PR target/93637
4219	* config/i386/sse.md (VI_256_AVX2): New mode iterator.
4220	(vcond_mask_<mode><sseintvecmodelower>): Use it instead of VI_256.
4221	Change condition from TARGET_AVX2 to TARGET_AVX.
4222
4223	2020-02-08  Uroš Bizjak  <ubizjak@gmail.com>
4224		    Jakub Jelinek  <jakub@redhat.com>
4225
4226	PR target/65782
4227	* config/i386/i386.h (CALL_USED_REGISTERS): Make
4228	xmm16-xmm31 call-used even in 64-bit ms-abi.
4229
4230	2020-02-06  Jakub Jelinek  <jakub@redhat.com>
4231
4232	PR libgomp/93515
4233	* omp-low.c (use_pointer_for_field): For nested constructs, also
4234	look for map clauses on target construct.
4235	(scan_omp_1_stmt) <case GIMPLE_OMP_TARGET>: Bump temporarily
4236	taskreg_nesting_level.
4237
4238	PR libgomp/93515
4239	* gimplify.c (gimplify_scan_omp_clauses) <do_notice>: If adding
4240	shared clause, call omp_notice_variable on outer context if any.
4241
4242	2020-02-05  Jakub Jelinek  <jakub@redhat.com>
4243
4244	PR middle-end/93555
4245	* omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or
4246	simd_clone_create failed when i == 0, adjust clone->nargs by
4247	clone->inbranch.
4248
4249	2020-01-30  Jakub Jelinek  <jakub@redhat.com>
4250
4251	PR middle-end/93505
4252	* combine.c (simplify_comparison) <case ROTATE>: Punt on out of range
4253	rotate counts.
4254
4255	2020-01-28  Jakub Jelinek  <jakub@redhat.com>
4256
4257	PR target/93418
4258	* config/i386/i386.c (ix86_fold_builtin) <do_shift>: If mask is not
4259	-1 or is_vshift is true, use new_vector with number of elts npatterns
4260	rather than new_unary_operation.
4261
4262	2020-01-23  Jakub Jelinek  <jakub@redhat.com>
4263
4264	PR rtl-optimization/93402
4265	* postreload.c (reload_combine_recognize_pattern): Don't try to adjust
4266	USE insns.
4267
42682020-02-11  Tamar Christina  <tamar.christina@arm.com>
4269
4270	Backport from mainline
4271	2020-01-31  Tamar Christina  <tamar.christina@arm.com>
4272
4273	PR rtl-optimization/91838
4274	* simplify-rtx.c (simplify_binary_operation_1): Update LSHIFTRT case
4275	to truncate if allowed or reject combination.
4276
42772020-02-07  H.J. Lu  <hongjiu.lu@intel.com>
4278
4279	Backport from mainline
4280	2020-02-07  H.J. Lu  <hongjiu.lu@intel.com>
4281
4282	PR target/85667
4283	* config/i386/i386.c (function_arg_ms_64): Add a type argument.
4284	Don't return aggregates with only SFmode and DFmode in SSE
4285	register.
4286	(ix86_function_arg): Pass type to function_arg_ms_64.
4287
42882020-01-30  John David Anglin  <danglin@gcc.gnu.org>
4289
4290	* config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers
4291	without a DECL in .data.rel.ro.local.
4292
42932020-01-30  Kito Cheng  <kito.cheng@sifive.com>
4294
4295	Backport from mainline
4296	2020-01-21  Kito Cheng  <kito.cheng@sifive.com>
4297
4298	PR target/93304
4299	* config/riscv/riscv-protos.h (riscv_hard_regno_rename_ok): New.
4300	* config/riscv/riscv.c (riscv_hard_regno_rename_ok): New.
4301	* config/riscv/riscv.h (HARD_REGNO_RENAME_OK): Defined.
4302
43032020-01-29  Szabolcs Nagy  <szabolcs.nagy@arm.com>
4304
4305	Backport from mainline
4306	2020-01-21  Szabolcs Nagy  <szabolcs.nagy@arm.com>
4307
4308	PR target/92424
4309	* config/aarch64/aarch64.c (aarch64_declare_function_name): Set
4310	cfun->machine->label_is_assembled.
4311	(aarch64_print_patchable_function_entry): New.
4312	(TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): Define.
4313	* config/aarch64/aarch64.h (struct machine_function): New field,
4314	label_is_assembled.
4315
43162020-01-27  Wilco Dijkstra  <wdijkstr@arm.com>
4317
4318	PR target/92692
4319	* config/aarch64/aarch64.c (aarch64_split_compare_and_swap)
4320	Add assert to ensure prolog has been emitted.
4321	(aarch64_split_atomic_op): Likewise.
4322	* config/aarch64/atomics.md (aarch64_compare_and_swap<mode>)
4323	Use epilogue_completed rather than reload_completed.
4324	(aarch64_atomic_exchange<mode>): Likewise.
4325	(aarch64_atomic_<atomic_optab><mode>): Likewise.
4326	(atomic_nand<mode>): Likewise.
4327	(aarch64_atomic_fetch_<atomic_optab><mode>): Likewise.
4328	(atomic_fetch_nand<mode>): Likewise.
4329	(aarch64_atomic_<atomic_optab>_fetch<mode>): Likewise.
4330	(atomic_nand_fetch<mode>): Likewise.
4331
43322020-01-22  Jakub Jelinek  <jakub@redhat.com>
4333
4334	PR target/93335
4335	* config/aarch64/aarch64.c (aarch64_expand_subvti): Only use
4336	gen_subdi3_compare1_imm if low_in2 satisfies aarch64_plus_immediate
4337	predicate, not whenever it is CONST_INT.  Otherwise, force_reg it.
4338	Call force_reg on high_in2 unconditionally.
4339
4340	PR target/91298
4341	* output.h (assemble_name_resolve): Declare.
4342	* varasm.c (assemble_name_resolve): New function.
4343	(assemble_name): Use it.
4344	* config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Define.
4345
4346	Backported from mainline
4347	2020-01-21  Jakub Jelinek  <jakub@redhat.com>
4348
4349	PR target/93333
4350	* config/riscv/riscv.c (riscv_rtx_costs) <case ZERO_EXTRACT>: Verify
4351	the last two operands are CONST_INT_P before using them as such.
4352
4353	PR target/93073
4354	* config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for
4355	compare_mode other than SFmode or DFmode.
4356
4357	2020-01-15  Jakub Jelinek  <jakub@redhat.com>
4358
4359	PR target/93009
4360	* config/i386/sse.md
4361	(*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1,
4362	*<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1,
4363	*<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1,
4364	*<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1): Use
4365	just a single alternative instead of two, make operands 1 and 2
4366	commutative.
4367
4368	2020-01-09  Jakub Jelinek  <jakub@redhat.com>
4369
4370	PR inline-asm/93202
4371	* config/riscv/riscv.c (riscv_print_operand_reloc): Use
4372	output_operand_lossage instead of gcc_unreachable.
4373	* doc/md.texi (riscv f constraint): Fix typo.
4374
4375	2020-01-03  Jakub Jelinek  <jakub@redhat.com>
4376
4377	PR rtl-optimization/93088
4378	* loop-iv.c (find_single_def_src): Punt after looking through
4379	128 reg copies for regs with single definitions.  Move definitions
4380	to first uses.
4381
4382	2020-01-02  Jakub Jelinek  <jakub@redhat.com>
4383
4384	PR ipa/93087
4385	* predict.c (compute_function_frequency): Don't call
4386	warn_function_cold on functions that already have cold attribute.
4387
43882020-01-20  Richard Biener  <rguenther@suse.de>
4389
4390	Backport from mainline
4391	PR middle-end/93246
4392	* alias.c (record_component_aliases): Take superset to record
4393	into, recurse for alias-set zero fields.
4394	(record_component_aliases): New oveerload wrapping around the above.
4395
43962020-01-19  Eric S. Raymond <esr@thyrsus.com>
4397	    Sandra Loosemore  <sandra@codesourcery.com>
4398
4399	Backport from mainline:
4400
4401	2020-01-19  Eric S. Raymond <esr@thyrsus.com>
4402
4403	* doc/contribute.texi: Update for SVN -> Git transition.
4404	* doc/install.texi: Likewise.
4405
44062020-01-15  Uroš Bizjak  <ubizjak@gmail.com>
4407
4408	PR target/93254
4409	* config/i386/i386.md (*movsf_internal): Require SSE2 ISA for
4410	alternatives 9 and 10.  Do not require SSE2 ISA for alternatives
4411	14 and 15.
4412
44132020-01-14  Martin Jambor  <mjambor@suse.cz>
4414
4415	Backport from mainline
4416	2020-01-13  Martin Jambor  <mjambor@suse.cz>
4417
4418	PR ipa/93223
4419	* ipa-cp.c (devirtualization_time_bonus): Check whether isummary is
4420	NULL.
4421
44222020-01-10  Martin Jambor  <mjambor@suse.cz>
4423
4424	Backport from mainline
4425	2019-12-17  Martin Jambor  <mjambor@suse.cz>
4426
4427        PR ipa/92971
4428        * Ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Fix
4429          definition of values, release memory on exit.
4430
44312020-01-10  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
4432
4433	Backport from trunk
4434	PR target/93188
4435	* config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match
4436	armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants
4437	when only building rm-profile multilibs.
4438
44392020-01-10  Przemyslaw Wirkus  <przemyslaw.wirkus@arm.com>
4440
4441	Backport from trunk
4442	* config/arm/t-multilib: Use arm->thumb multilib reuse rules
4443	on a-profile.
4444
44452020-01-09  Martin Liska  <mliska@suse.cz>
4446
4447	Backport from mainline
4448	2019-12-12  Jan Hubicka  <hubicka@ucw.cz>
4449
4450	* ipa-prop.c (read_ipcp_transformation_info): Fix undefined ordering
4451	of execution of function call parameters.
4452
44532020-01-08  Georg-Johann Lay  <avr@gjlay.de>
4454
4455	Backport from 2020-01-08 trunk r279995.
4456
4457	Add -nodevicespecs option for avr.
4458
4459	PR target/93182
4460	* config/avr/avr.opt (-nodevicespecs): New driver option.
4461	* config/avr/driver-avr.c (avr_devicespecs_file): Only issue
4462	"-specs=device-specs/..." if that option is not set.
4463	* doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
4464
44652020-01-06  John David Anglin  <danglin@gcc.gnu.org>
4466
4467	* config/pa/pa.md: Revert change to use ordered_comparison_operator
4468	instead of cmpib_comparison_operator in cmpib patterns.
4469	* config/pa/predicates.md (cmpib_comparison_operator): Revert removal
4470	of cmpib_comparison_operator.  Revise comment.
4471
44722020-01-01  John David Anglin  <danglin@gcc.gnu.org>
4473
4474	PR target/67834
4475	* config/pa/pa.c (pa_elf_select_rtx_section): New.  Put references to
4476	COMDAT group function labels in .data.rel.ro.local section.
4477	* config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define.
4478
4479	PR target/93111
4480	* config/pa/pa.md (scc): Use ordered_comparison_operator instead of
4481	comparison_operator in B and S integer comparisons.  Likewise, use
4482	ordered_comparison_operator instead of cmpib_comparison_operator in
4483	cmpib patterns.
4484	* config/pa/predicates.md (cmpib_comparison_operator): Remove.
4485
44862019-12-25 Iain Sandoe <iain@sandoe.co.uk>
4487
4488	Backport from mainline.
4489	2019-12-14 Iain Sandoe <iain@sandoe.co.uk>
4490
4491	* config/darwin.h (DARWIN_EXTRA_SPECS): Add new
4492	bundle spec. (DARWIN_BUNDLE1_SPEC): New.
4493	(STARTFILE_SPEC): Use darwin bundle spec.
4494	* config/rs6000/darwin.h (DARWIN_BUNDLE1_SPEC): New.
4495	(DARWIN_DYLIB1_SPEC): Delete duplicate.
4496
44972019-12-20  Jakub Jelinek  <jakub@redhat.com>
4498
4499	PR fortran/92756
4500	* omp-low.c (check_omp_nesting_restrictions): If lang_GNU_Fortran,
4501	diagnose teams not closely nested inside of target.
4502
4503	Backported from mainline
4504	2019-12-14  Jakub Jelinek  <jakub@redhat.com>
4505
4506	PR ipa/92357
4507	* ipa-fnsummary.c (ipa_fn_summary_write): Use
4508	lto_symtab_encoder_iterator with lsei_start_function_in_partition and
4509	lsei_next_function_in_partition instead of walking all cgraph nodes
4510	in encoder.
4511
4512	PR tree-optimization/92930
4513	* ipa-pure-const.c (special_builtin_state): Don't handle
4514	BUILT_IN_APPLY.
4515
4516	2019-12-12  Jakub Jelinek  <jakub@redhat.com>
4517
4518	PR target/92904
4519	* config/i386/i386.c (ix86_gimplify_va_arg): If need_intregs and
4520	not need_temp, decrease alignment of the read because the GPR save
4521	area only guarantees 8-byte alignment.
4522
4523	2019-12-11  Jakub Jelinek  <jakub@redhat.com>
4524
4525	PR target/92723
4526	* tree-vect-patterns.c (vect_recog_rotate_pattern): If dt is not
4527	vect_internal_def, use oprnd1 as is, without trying to cast it.
4528	Formatting fix.
4529
4530	2019-11-27  Jakub Jelinek  <jakub@redhat.com>
4531
4532	PR debug/92664
4533	* dwarf2out.c (lookup_filename): Use "<stdin>" instead of "".
4534
4535	2019-11-26  Jakub Jelinek  <jakub@redhat.com>
4536
4537	PR tree-optimization/92644
4538	* tree-ssa-phiopt.c (minmax_replacement): Add INTEGRAL_TYPE_P check
4539	next to INTEGER_CST checks.
4540
4541	2019-11-23  Jakub Jelinek  <jakub@redhat.com>
4542
4543	PR target/92615
4544	* config/i386/i386.c (ix86_md_asm_adjust): If dest_mode is
4545	GET_MODE (dest), is not QImode, using ZERO_EXTEND and dest is not
4546	register_operand, force x into register before storing it into dest.
4547	Formatting fix.
4548
45492019-12-20  Roman Zhuykov  <zhroma@ispras.ru>
4550
4551	Backport from mainline
4552	2019-12-13  Roman Zhuykov  <zhroma@ispras.ru>
4553
4554	PR rtl-optimization/92591
4555	* modulo-sched.c (ps_add_node_check_conflicts): Improve checking
4556	for history > 0 case.
4557	* params.def (sms-dfa-history): Limit to 16.
4558
45592019-12-19  Georg-Johann Lay  <avr@gjlay.de>
4560
4561	Backport support for some AVR devices from avrxmega3 family
4562	from SVN trunk r279309, r278387, r278389, r278478.
4563
4564	PR target/92545
4565	* config/avr/avr-arch.h (avr_mcu_t) <flash_pm_offset>: New field.
4566	* config/avr/avr-devices.c (avr_mcu_types): Adjust initializers.
4567	* config/avr/avr-mcus.def (AVR_MCU): Add respective field.
4568	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
4569	<*cpp, *cpp_mcu, *cpp_avrlibc, *link_pm_base_address>: Emit code
4570	for spec definitions.
4571	* config/avr/gen-avr-mmcu-texi.c: Rewrite.
4572	* doc/avr-mmcu.texi: Regenerate.
4573
45742019-12-17  Andreas Krebbel  <krebbel@linux.ibm.com>
4575
4576	Backport from mainline
4577	2019-12-16  Andreas Krebbel  <krebbel@linux.ibm.com>
4578
4579	PR target/92950
4580	* config/s390/vector.md ("mov<mode>" for V_8): Replace lh, lhy,
4581	and lhrl with llc.
4582
45832019-12-12  Vineet Gupta  <vgupta@synopsys.com>
4584
4585	Backport from mainline
4586	* config/arc/arc-modes.def (CC_FPUE): New Mode CC_FPUE which
4587	helps codegen generate exceptions even for quiet NaN.
4588	* config/arc/arc.c (arc_init_reg_tables): Handle New CC_FPUE mode.
4589	(get_arc_condition_code): Likewise.
4590	(arc_select_cc_mode): LT, LE, GT, GE to use the New CC_FPUE mode.
4591	* config/arc/arc.h (REVERSE_CONDITION): Handle New CC_FPUE mode.
4592	* config/arc/predicates.md (proper_comparison_operator): Likewise.
4593	* config/arc/fpu.md (cmpsf_fpu_trap): New Pattern for CC_FPUE.
4594	(cmpdf_fpu_trap): Likewise.
4595
45962019-12-12  Claudiu Zissulescu  <claziss@synopsys.com>
4597
4598	Backport from mainline
4599	* config/arc/arc.md (iterator SDF): Check TARGET_FP_DP_BASE.
4600	(cstoredi4): Use TARGET_HARD_FLOAT.
4601
46022019-12-10  Kewen Lin  <linkw@gcc.gnu.org>
4603
4604	Backport from mainline
4605	2019-11-27  Kewen Lin  <linkw@gcc.gnu.org>
4606
4607	PR tree-optimization/91790
4608	* gcc/tree-vect-stmts.c (vectorizable_load): Use the adjusted DR for
4609	vect_setup_realignment when first_stmt_info is different from
4610	first_stmt_info_for_drptr.
4611
46122019-12-09  Eric Botcazou  <ebotcazou@adacore.com>
4613
4614	* tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute
4615	TYPE_CANONICAL from the element type only if it is true.  Remove a few
4616	obsolete lines and adjust recursive call.
4617	(fld_process_array_type): Adjust call to build_array_type_1.
4618	(build_array_type): Likewise.
4619	(build_nonshared_array_type): Likewise.
4620
46212019-12-02  Sandra Loosemore  <sandra@codesourcery.com>
4622
4623	Fix bugs relating to flexibly-sized objects in nios2 backend.
4624
4625	PR target/92499
4626	* config/nios2/nios2.c (nios2_in_small_data_p): Do not consider
4627	objects of flexible types to be small if they have internal linkage
4628	or are declared extern.
4629	* config/nios2/nios2.h (ASM_OUTPUT_ALIGNED_LOCAL): Replace with...
4630	(ASM_OUTPUT_ALIGNED_DECL_LOCAL): ...this.  Use targetm.in_small_data_p
4631	instead of the size of the object initializer.
4632	* tree.c (flexible_array_type_p): Move from C front end, and
4633	generalize to handle fields in non-C structures.
4634	* tree.h (flexible_array_type_p): Declare.
4635
46362019-12-02  Li Jia He  <helijia@linux.ibm.com>
4637
4638	Partial backport from mainline
4639	PR target/92098
4640	2019-11-08  Kewen Lin  <linkw@gcc.gnu.org>
4641
4642	PR target/92132
4643	* config/rs6000/predicates.md
4644	(signed_or_equality_comparison_operator): New predicate.
4645	(unsigned_or_equality_comparison_operator): Likewise.
4646	* config/rs6000/rs6000.md (one_cmpl<mode>2): Remove expand.
4647	(one_cmpl<mode>3_internal): Rename to one_cmpl<mode>2.
4648	* config/rs6000/vector.md
4649	(vcond_mask_<mode><mode> for VEC_I and VEC_I): New expand.
4650	(vec_cmp<mode><mode> for VEC_I and VEC_I): Likewise.
4651	(vec_cmpu<mode><mode> for VEC_I and VEC_I): Likewise.
4652
46532019-11-27  Richard Biener  <rguenther@suse.de>
4654
4655	Backport from mainline
4656	2019-10-25  Richard Biener  <rguenther@suse.de>
4657
4658	PR tree-optimization/92222
4659	* tree-vect-slp.c (_slp_oprnd_info::first_pattern): Remove.
4660	(_slp_oprnd_info::second_pattern): Likewise.
4661	(_slp_oprnd_info::any_pattern): New.
4662	(vect_create_oprnd_info): Adjust.
4663	(vect_get_and_check_slp_defs): Compute whether any stmt is
4664	in a pattern.
4665	(vect_build_slp_tree_2): Avoid building up a node from scalars
4666	if any of the operand defs, not just the first, is in a pattern.
4667
46682019-11-21  Jakub Jelinek  <jakub@redhat.com>
4669
4670	PR tree-optimization/91355
4671	* tree-ssa-sink.c (select_best_block): Use >= rather than >
4672	for early_bb scaled count with best_bb count comparison.
4673
46742019-11-21  Richard Biener  <rguenther@suse.de>
4675
4676	Revert
4677	2019-09-17  Richard Biener  <rguenther@suse.de>
4678
4679	PR tree-optimization/91790
4680	* tree-vect-stmts.c (vectorizable_load): For BB vectorization
4681	use the correct DR for setting up realignment.
4682
46832019-11-20  Peter Bergner <bergner@linux.ibm.com>
4684
4685	Backport from mainline
4686	2019-11-07  Peter Bergner <bergner@linux.ibm.com>
4687
4688	PR other/92090
4689	* config/rs6000/predicates.md (input_operand): Allow MODE_PARTIAL_INT
4690	modes for integer constants.
4691
46922019-11-20  Michael Matz  <matz@suse.de>
4693
4694	Backport from mainline
4695	PR middle-end/90796
4696	* gimple-loop-jam.c (any_access_function_variant_p): New function.
4697	(adjust_unroll_factor): Use it to constrain safety, new parameter.
4698	(tree_loop_unroll_and_jam): Adjust call and profitable unroll factor.
4699
47002019-11-20  Joseph Myers  <joseph@codesourcery.com>
4701
4702	* doc/invoke.texi (-Wc11-c2x-compat): Document.
4703
47042019-11-20  Jakub Jelinek  <jakub@redhat.com>
4705
4706	PR middle-end/90840
4707	* expmed.c (store_bit_field_1): Handle the case where op0 is not a MEM
4708	and has a mode that doesn't have corresponding integral type.
4709
4710	PR target/90867
4711	* config/i386/i386.c (ix86_valid_target_attribute_tree): Don't
4712	clear opts->x_ix86_isa_flags{,2} here...
4713	(ix86_valid_target_attribute_inner_p): ... but here when seeing
4714	arch=.  Also clear opts->x_ix86_isa_flags{,2}_explicit.
4715
4716	PR c/90898
4717	* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Remove
4718	assertion.
4719	(insert_clobbers_for_var): Fix a typo in function comment.
4720
47212019-11-19  Jakub Jelinek  <jakub@redhat.com>
4722
4723	PR middle-end/91450
4724	* internal-fn.c (expand_mul_overflow): For s1 * s2 -> ur, if one
4725	operand is negative and one non-negative, compare the non-negative
4726	one against 0 rather than comparing s1 & s2 against 0.  Otherwise,
4727	don't compare (s1 & s2) == 0, but compare separately both s1 == 0
4728	and s2 == 0, unless one of them is known to be negative.  Remove
4729	tem2 variable, use tem where tem2 has been used before.
4730
47312019-11-19  Eric Botcazou  <ebotcazou@adacore.com>
4732
4733	* doc/invoke.texi (-gno-internal-reset-location-views): Fix typo.
4734
47352019-11-18  Segher Boessenkool  <segher@kernel.crashing.org>
4736
4737	Backport from trunk
4738	2019-11-12  Segher Boessenkool  <segher@kernel.crashing.org>
4739
4740	* config/rs6000/rs6000.md (rs6000_set_fpscr_drn): Use ULL on big
4741	hexadecimal literal.
4742
47432019-11-15  Tamar Christina  <tamar.christina@arm.com>
4744
4745	Backport from mainline
4746	2019-09-24  Stamatis Markianos-Wright  <stam.markianos-wright@arm.com>
4747
4748	* config/aarch64/aarch64-option-extensions.def (fp16fml):
4749	Update hwcap string for fp16fml.
4750
47512019-11-15  Ilya Leoshkevich  <iii@linux.ibm.com>
4752
4753	Backport from mainline
4754	PR rtl-optimization/92430
4755	* cfgcleanup.c (pass_jump_after_combine::gate): New function.
4756	(pass_jump_after_combine::execute): Free
4757	dominance info at the beginning.
4758
47592019-11-13  Claudiu Zissulescu <claziss@gmail.com>
4760
4761	Backport from mainline
4762	* config/arc/arc.md (movsi_ne): Reorder instruction variants and
4763	use new register constraint letters.
4764	* config/arc/arc.c (arc_legitimize_pic_address): Consider UNSPECs
4765	as well, if interesting recover the symbol and re-legitimize the
4766	pic address.
4767
47682019-11-14  Martin Liska  <mliska@suse.cz>
4769
4770	Backport from mainline
4771	2019-11-14  Martin Liska  <mliska@suse.cz>
4772
4773	PR target/92389
4774	* config/i386/i386.h: Add PTA_AVX512VPOPCNTDQ to
4775	PTA_ICELAKE_CLIENT which is later interited by
4776	PTA_ICELAKE_SERVER and PTA_TIGERLAKE.
4777
47782019-11-13  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
4779
4780	Backport from mainline
4781	* config/mips/mips.md (rotr<mode>3): Sanitize the constant argument
4782	instead of asserting its value.
4783
47842019-11-11  Richard Biener  <rguenther@suse.de>
4785
4786	Backport from mainline
4787	2019-06-25  Richard Biener  <rguenther@suse.de>
4788
4789	PR tree-optimization/90930
4790	* tree-ssa-reassoc.c (reassociate_bb): Only rewrite expression
4791	into parallel form in the last pass instance.
4792
47932019-11-11  H.J. Lu  <hjl.tools@gmail.com>
4794
4795	Backport from trunk:
4796	PR target/87833
4797	* config/i386/intelmic-mkoffload.c (prepare_target_image): Put
4798	-fPIC and -shared the last to create offload image.
4799
48002019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
4801
4802	Backport from trunk:
4803	* gimplify.c (gimplify_scan_omp_clauses): Assert 'offset2' instead
4804	of 'offset'.
4805
4806	Backport from trunk:
4807	* Makefile.in (LANG_CONFIGUREFRAGS): Define.
4808	(config.status): Use/depend on it.
4809	* configure.ac (all_lang_configurefrags): Track, 'AC_SUBST'.
4810	* configure: Regenerate.
4811
48122019-11-09  John David Anglin  <danglin@gcc.gnu.org>
4813
4814	Backport from mainline
4815	2019-11-07  John David Anglin  <danglin@gcc.gnu.org>
4816
4817	* config/pa/pa.md (memory_barrier): Revise to use ldcw barriers.
4818	Enhance comment.
4819	(memory_barrier_coherent, memory_barrier_64, memory_barrier_32): New
4820	insn patterns using ldcw instruction.
4821	(memory_barrier): Remove insn pattern using sync instruction.
4822	* config/pa/pa.opt (coherent-ldcw): New option.
4823	(ordered): New option.
4824
48252019-11-08  Jakub Jelinek  <jakub@redhat.com>
4826
4827	PR c++/92384
4828	* function.c (assign_parm_setup_block, assign_parm_setup_stack): Don't
4829	copy TYPE_EMPTY_P arguments from data->entry_parm to data->stack_parm
4830	slot.
4831	(assign_parms): For TREE_ADDRESSABLE parms with TYPE_EMPTY_P type
4832	force creation of a unique data.stack_parm slot.
4833
4834	Backported from mainline
4835	2019-10-31  Jakub Jelinek  <jakub@redhat.com>
4836
4837	PR middle-end/92231
4838	* tree.h (fndecl_built_in_p): Use fndecl_built_in_p instead of
4839	DECL_BUILT_IN in comment.  Remove redundant ()s around return
4840	argument.
4841	* tree.c (free_lang_data_in_decl): Check if var is FUNCTION_DECL
4842	before calling fndecl_built_in_p.
4843	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Check if
4844	TREE_OPERAND (fn, 0) is a FUNCTION_DECL before calling
4845	fndecl_built_in_p on it.
4846
4847	PR c++/90947
4848	* tree.h (type_initializer_zero_p): Remove.
4849	* tree.c (type_initializer_zero_p): Remove.
4850
4851	2019-10-29  Jakub Jelinek  <jakub@redhat.com>
4852
4853	* doc/install.texi (--enable-offload-targets): Fix up a typo in the
4854	example, use actual names of supported offload targets.
4855
48562019-11-08  Eric Botcazou  <ebotcazou@adacore.com>
4857
4858	PR target/92095
4859	* config/sparc/sparc-protos.h (output_load_pcrel_sym): Declare.
4860	* config/sparc/sparc.c (sparc_cannot_force_const_mem): Revert latest
4861 	change.
4862	(got_helper_needed): New static variable.
4863	(output_load_pcrel_sym): New function.
4864	(get_pc_thunk_name): Remove after inlining...
4865	(load_got_register): ...here.  Rework the initialization of the GOT
4866	register and of the GOT helper.
4867	(save_local_or_in_reg_p): Test the REGNO of the GOT register.
4868	(sparc_file_end): Test got_helper_needed to decide whether the GOT
4869	helper must be emitted.  Use output_asm_insn instead of fprintf.
4870	(sparc_init_pic_reg): In PIC mode, always initialize the PIC register
4871	if optimization is enabled.
4872	* config/sparc/sparc.md (load_pcrel_sym<P:mode>): Emit the assembly
4873	by calling output_load_pcrel_sym.
4874
48752019-11-06  Ilya Leoshkevich  <iii@linux.ibm.com>
4876
4877	Backport from mainline
4878	* config/s390/s390.c (s390_canonicalize_comparison): Use XEXP
4879	(*op0, 1) instead of XEXP (*op1, 0).
4880
48812019-11-05  Segher Boessenkool  <segher@kernel.crashing.org>
4882
4883	Backport from trunk
4884	2019-10-24  Segher Boessenkool  <segher@kernel.crashing.org>
4885
4886	* config/rs6000/altivec.md (altivec_vavgu<VI_char>): Rename to...
4887	(uavg<mode>3_ceil): ... This.
4888	(altivec_vavgs<VI_char>): Rename to...
4889	(avg<mode>3_ceil): ... This.
4890	* config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH,
4891	VAVGUW, VAVGSW): Adjust.
4892
48932019-11-05  Segher Boessenkool  <segher@kernel.crashing.org>
4894
4895	Backport from trunk
4896	2019-10-26  Segher Boessenkool  <segher@kernel.crashing.org>
4897
4898	PR target/91289
4899	* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't add an
4900	immediate to r0; use r11 instead.  Save and restore r11 to r0 around
4901	this.
4902
49032019-11-05  Andreas Krebbel  <krebbel@linux.ibm.com>
4904
4905	Backport from mainline
4906	2019-11-05  Andreas Krebbel  <krebbel@linux.ibm.com>
4907
4908	* config/s390/s390.c (s390_vector_alignment): Check if the value
4909	fits into uhwi before using it.
4910
49112019-11-01  John David Anglin  <danglin@gcc.gnu.org>
4912
4913	Backport from mainline
4914	2019-10-03  John David Anglin  <danglin@gcc.gnu.org>
4915
4916	* config/pa/pa.c (pa_output_call): Remove 64-bit sibcall sequence.
4917	(pa_attr_length_call): Adjust length for 64-bit plabel sequence.
4918
49192019-11-01  John David Anglin  <danglin@gcc.gnu.org>
4920
4921	Backport from mainline
4922	2019-10-03  John David Anglin  <danglin@gcc.gnu.org>
4923
4924	* config/pa/pa.h (MAX_PCREL17F_OFFSET): Adjust.
4925
49262019-10-30  Iain Sandoe  <iain@sandoe.co.uk>
4927
4928	Backport from mainline
4929	2019-10-13  Iain Sandoe  <iain@sandoe.co.uk>
4930
4931	* config/darwin.c (machopic_indirection_name): Rework the
4932	function to emit linker-visible symbols only for indirections
4933	in the data section.  Clean up the code and update comments.
4934
49352019-10-30  Iain Sandoe  <iain@sandoe.co.uk>
4936
4937	Backport from mainline
4938	2019-10-09  Iain Sandoe  <iain@sandoe.co.uk>
4939
4940	* config/darwin.c (darwin_override_options): Make the check for
4941	Objective-C ABI version more specific for 64bit code.
4942
4943	Backport from mainline
4944	2019-10-06  Iain Sandoe  <iain@sandoe.co.uk>
4945
4946	* config/darwin.c (darwin_override_options): Adjust objective-c
4947	ABI version error messages to avoid punctuation and contracted
4948	negations.
4949
49502019-10-30  Iain Sandoe  <iain@sandoe.co.uk>
4951
4952	Backport from mainline
4953	2019-07-03  Iain Sandoe  <iain@sandoe.co.uk>
4954
4955	* config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin.
4956	(STARTFILE_SPEC): Split crt3 into a separate spec.
4957	(DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec.
4958	(DARWIN_CRT2_SPEC): New.
4959	(DARWIN_CRT3_SPEC): New.
4960	(MIN_LD64_OMIT_STUBS): Revise to 62.1.
4961	* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions.
4962	(DARWIN_CRT3_SPEC): New.
4963
49642019-10-30  Iain Sandoe  <iain@sandoe.co.uk>
4965
4966	Backport from mainline
4967	2019-06-27  Iain Sandoe  <iain@sandoe.co.uk>
4968
4969	* config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the
4970	spec.
4971
4972	Backport from mainline
4973	2019-06-25  Iain Sandoe  <iain@sandoe.co.uk>
4974
4975	* config/rs6000/darwin.h (ENDFILE_SPEC): New.
4976
49772019-10-30  Iain Sandoe  <iain@sandoe.co.uk>
4978
4979	Backport from mainline
4980	2019-06-18  Iain Sandoe  <iain@sandoe.co.uk>
4981
4982	* config/darwin.c (darwin_emit_unwind_label): New.
4983	(darwin_override_options): Set darwin_emit_unwind_label as needed.
4984
49852019-10-30  Iain Sandoe  <iain@sandoe.co.uk>
4986
4987	Backport from mainline
4988	2019-08-13 Iain Sandoe <iain@sandoe.co.uk>
4989
4990	* config/darwin.c (machopic_indirect_call_target): Rename symbol stub
4991	flag.
4992	(darwin_override_options): Likewise.
4993	* config/darwin.h: Likewise.
4994	* config/darwin.opt: Likewise.
4995	* config/i386/i386.c (output_pic_addr_const): Likewise.
4996	* config/rs6000/darwin.h: Likewise.
4997	* config/rs6000/rs6000.c (rs6000_call_darwin_1): Likewise.
4998	* config/i386/darwin.h (TARGET_MACHO_PICSYM_STUBS): Rename to ...
4999	... this TARGET_MACHO_SYMBOL_STUBS.
5000	(FUNCTION_PROFILER):Likewise.
5001	* config/i386/i386.h: Likewise.
5002
5003	Backport from mainline
5004	2019-06-16  Iain Sandoe  <iain@sandoe.co.uk>
5005
5006	* config/darwin.c (machopic_indirect_call_target): Use renamed
5007	darwin_picsymbol_stubs to decide on output.
5008	(darwin_override_options): Handle darwin_picsymbol_stubs.
5009	* config/darwin.h (MIN_LD64_OMIT_STUBS): New.
5010	(LD64_VERSION): Revise default.
5011	* config/darwin.opt: (mpic-symbol-stubs): New option.
5012	(darwin_picsymbol_stubs): New variable.
5013	* config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS):
5014	rename to TARGET_MACHO_PICSYM_STUBS.
5015	* config/i386/i386.c (output_pic_addr_const): Likewise.
5016	* config/i386/i386.h Likewise.
5017	* config/rs6000/darwin.h: Likewise.
5018	* config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed
5019	darwin_picsymbol_stubs.
5020
50212019-10-30  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
5022
5023	Backport from mainline
5024	2019-07-09  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
5025
5026	* cfgcleanup.c (old_insns_match_p): Check if used hard regs set is equal
5027	for both call instructions.
5028
50292019-10-30  Thomas Schwinge  <thomas@codesourcery.com>
5030
5031	Backport from trunk:
5032
5033	2019-05-06  Richard Biener  <rguenther@suse.de>
5034
5035	* dwarf2out.c (mem_loc_descriptor): Initialize int_mode.
5036
50372019-10-28  Uroš Bizjak  <ubizjak@gmail.com>
5038
5039	PR target/92225
5040	* config/i386/sse.md (REDUC_SSE_SMINMAX_MODE): Use TARGET_SSE4_2
5041	condition for V2DImode.
5042
50432019-10-28  Ilya Leoshkevich  <iii@linux.ibm.com>
5044
5045	Backport from mainline
5046	PR rtl-optimization/92007
5047	* cfgcleanup.c (thread_jump): Add an assertion that we don't
5048	call it after reload if hot/cold partitioning has been done.
5049	(class pass_postreload_jump): Rename to
5050	pass_jump_after_combine.
5051	(make_pass_postreload_jump): Rename to
5052	make_pass_jump_after_combine.
5053	* passes.def(pass_postreload_jump): Move before reload, rename
5054	to pass_jump_after_combine.
5055	* tree-pass.h (make_pass_postreload_jump): Rename to
5056	make_pass_jump_after_combine.
5057
50582019-10-28  Peter Bergner <bergner@linux.ibm.com>
5059	    Jiufu Guo  <guojiufu@linux.ibm.com>
5060
5061	PR target/70010
5062	* config/rs6000/rs6000.c (rs6000_can_inline_p): Prohibit inlining if
5063	the callee explicitly disables some isa_flags the caller is using.
5064
50652019-10-27  Iain Sandoe  <iain@sandoe.co.uk>
5066
5067	Backport from mainline
5068	2019-10-17  Iain Sandoe  <iain@sandoe.co.uk>
5069
5070	PR target/65342
5071	* config/rs6000/darwin.md (movdi_low, movsi_low_st): Delete.
5072	(movdi_low_st): Delete.
5073	* config/rs6000/rs6000.c
5074	(darwin_rs6000_legitimate_lo_sum_const_p): New.
5075	(mem_operand_gpr): Validate Mach-O LO_SUM cases separately.
5076	* config/rs6000/rs6000.md (movsi_low): Delete.
5077
50782019-10-27  Iain Sandoe  <iain@sandoe.co.uk>
5079
5080	Backport from mainline
5081	2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>
5082
5083	PR target/67183
5084	* config/darwin.c (machopic_indirection): New field to flag
5085	non-lazy-symbol-pointers in the data section.
5086	(machopic_indirection_name): Compute if an indirection should
5087	appear in the data section.
5088	(machopic_output_data_section_indirection): New callback split
5089	from machopic_output_indirection.
5090	(machopic_output_stub_indirection): Likewise.
5091	(machopic_output_indirection): Retain the code for non-lazy
5092	symbol pointers in their regular section.
5093	(machopic_finish): Use the new callbacks to order the indirection
5094	output.
5095
50962019-10-27  Iain Sandoe  <iain@sandoe.co.uk>
5097
5098	Backport from mainline
5099	2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>
5100
5101	* config/darwin-protos.h (machopic_finish): Delete.
5102	* config/darwin.c (machopic_finish): Make static.
5103
5104	Backport from mainline
5105	2019-10-09  Iain Sandoe  <iain@sandoe.co.uk>
5106
5107	* config/darwin.c (machopic_indirect_data_reference): Set flag to
5108	indicate that the new symbol is an indirection.
5109	(machopic_indirect_call_target): Likewise.
5110	* config/darwin.h (MACHO_SYMBOL_FLAG_INDIRECTION): New.
5111	(MACHO_SYMBOL_INDIRECTION_P): New.
5112	(MACHO_SYMBOL_FLAG_STATIC): Adjust bit number.
5113
5114	Backport from mainline
5115	2019-10-08  Iain Sandoe  <iain@sandoe.co.uk>
5116
5117	* config/darwin.c (machopic_indirect_data_reference): Check for
5118	required indirections before making direct access to defined
5119	values.
5120	(machopic_output_indirection): Place the indirected pointes for
5121	required indirections into the non-lazy symbol pointers section.
5122	(darwin_encode_section_info):
5123	* config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New.
5124	(MACHO_SYMBOL_MUST_INDIRECT_P): New.
5125
5126	Backport from mainline
5127	2019-10-07  Iain Sandoe  <iain@sandoe.co.uk>
5128
5129	* config/darwin.c (machopic_output_indirection): Don't put
5130	hidden symbol indirections into the .data section, use the
5131	non-lazy symbol pointers section as normal.
5132	(darwin_encode_section_info): Record if a symbol is hidden.
5133	* config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New.
5134	(MACHO_SYMBOL_HIDDEN_VIS_P): New.
5135
5136	Backport from mainline
5137	2019-10-07  Iain Sandoe  <iain@sandoe.co.uk>
5138
5139	* config/darwin.c (machopic_symbol_defined_p): Use symbol flag
5140	predicates instead of accessing bits directly.
5141	(machopic_indirect_call_target): Likewise.
5142	(machopic_output_indirection): Likewise.
5143	(darwin_encode_section_info): Improve description.  Use renamed
5144	symbol flags.  Use predicate macros for variables and functions.
5145	* config/darwin.h:
5146	Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE.
5147	Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED.
5148	Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC.
5149	(MACHO_SYMBOL_VARIABLE_P): New.
5150	(MACHO_SYMBOL_DEFINED_P):New.
5151	(MACHO_SYMBOL_STATIC_P): New.
5152	* config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete.
5153	(SYMBOL_FLAG_SUBT_DEP): New.
5154	* config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New.
5155
51562019-10-25  Jan Hubicka  <hubicka@ucw.cz>
5157
5158	Backport from mainline
5159	2019-10-11  Jan Hubicka  <hubicka@ucw.cz>
5160	* gimple-streamer-out.c (output_gimple_stmt): Add explicit function
5161	parameter.
5162	* lto-streamer-out.c: Include tree-dfa.h.
5163	(output_cfg): Do not use cfun.
5164	(lto_prepare_function_for_streaming): New.
5165	(output_function): Do not push cfun; do not initialize loop optimizer.
5166	* lto-streamer.h (lto_prepare_function_for_streaming): Declare.
5167	* passes.c (ipa_write_summaries): Use it.
5168	(ipa_write_optimization_summaries): Do not modify bodies.
5169	* tree-dfa.c (renumber_gimple_stmt_uids): Add function parameter.
5170	* tree.dfa.h (renumber_gimple_stmt_uids): Update prototype.
5171	* tree-ssa-dse.c (pass_dse::execute): Update use of
5172	renumber_gimple_stmt_uids.
5173	* tree-ssa-math-opts.c (pass_optimize_widening_mul::execute): Likewise.
5174
5175	2019-10-12  Jan Hubicka  <hubicka@ucw.cz>
5176	* lto-streamer-out.c (collect_block_tree_leafs): Renumber statements
5177	so non-virutal are before virutals.
5178	(output_function): Avoid body modifications.
5179
51802019-10-25  Richard Earnshaw  <rearnsha@arm.com>
5181
5182	Backport from mainline
5183	2019-05-08  Mihail Ionescu  <mihail.ionescu@arm.com>
5184	    Richard Earnshaw  <rearnsha@arm.com>
5185	PR target/88167
5186	* config/arm/arm.c (thumb1_prologue_unused_call_clobbered_lo_regs): New
5187	function.
5188	(thumb1_epilogue_unused_call_clobbered_lo_regs): New function.
5189	(thumb1_compute_save_core_reg_mask): Don't force a spare work
5190	register if both the epilogue and prologue can use call-clobbered
5191	regs.
5192	(thumb1_unexpanded_epilogue): Use
5193	thumb1_epilogue_unused_call_clobbered_lo_regs.  Reverse the logic for
5194	picking temporaries for restoring high regs to match that of the
5195	prologue where possible.
5196	(thumb1_expand_prologue): Add any usable call-clobbered low registers to
5197	the list of work registers.  Detect if the return address is still live
5198	at the end of the prologue and avoid using it for a work register if so.
5199	If the return address is not live, add LR to the list of pushable regs
5200	after the first pass.
5201
52022019-10-25  Jan Hubicka  <hubicka@ucw.cz>
5203
5204	Backport from mainline
5205	2019-10-24  Jan Hubicka  <hubicka@ucw.cz>
5206	* symbols-summary.h (fast_function_summary<T *, V>::release,
5207	fast_call_summary<T *, V>::release): Free m_vector.
5208
52092019-10-25  Jan Hubicka  <hubicka@ucw.cz>
5210
5211	Backport from mainline
5212
5213	2019-10-18  Jakub Jelinek  <jakub@redhat.com>
5214	PR middle-end/92153
5215	* ggc-page.c (release_pages): Read g->alloc_size before free rather
5216	than after it.
5217
5218	2019-10-11  Jan Hubicka  <hubicka@ucw.cz>
5219	* ggc-page.c (release_pages): Output statistics when !quiet_flag.
5220	(ggc_collect): Dump later to not interfere with release_page dump.
5221	(ggc_trim): New function.
5222	* ggc-none.c (ggc_trim): New.
5223	* ggc.h (ggc_trim): Declare.
5224
52252019-10-24  Mihail Ionescu  <mihail.ionescu@arm.com>
5226
5227	Backport from mainline
5228	2019-10-18  Andre Vieira  <andre.simoesdiasvieira@arm.com>
5229
5230	* config/arm/t-multilib: Add new multilib variants and new
5231	mappings.
5232
52332019-10-24  Iain Sandoe  <iain@sandoe.co.uk>
5234
5235	Backport from mainline
5236	2019-10-23  Iain Sandoe  <iain@sandoe.co.uk>
5237	* config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard
5238	against out of range max skip or log values.
5239
52402019-10-23  Peter Bergner  <bergner@linux.ibm.com>
5241
5242	Backport from mainline
5243	2019-10-08  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
5244
5245	* config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and
5246	LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and
5247	MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain.
5248
52492019-10-23  Martin Liska  <mliska@suse.cz>
5250
5251	Backport from mainline
5252	2019-09-26  Martin Liska  <mliska@suse.cz>
5253
5254	PR tree-optimization/91885
5255	* tree-vectorizer.c (try_vectorize_loop_1):
5256	Add TODO_update_ssa_only_virtuals similarly to what slp
5257	pass does.
5258
52592019-10-23  Eric Botcazou  <ebotcazou@adacore.com>
5260
5261	PR tree-optimization/92131
5262	* tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting
5263	range would be symbolic, drop to varying for any explicit overflow
5264	in the constant part or if neither range is a singleton.
5265
52662019-10-23  Richard Biener  <rguenther@suse.de>
5267
5268	Backport from mainline
5269	2019-10-17  Richard Biener  <rguenther@suse.de>
5270
5271	PR debug/91887
5272	* dwarf2out.c (gen_formal_parameter_die): Also try to match
5273	context_die against a DW_TAG_GNU_formal_parameter_pack parent.
5274
52752019-10-21  Jakub Jelinek  <jakub@redhat.com>
5276
5277	Backported from mainline
5278	2019-10-17  Jakub Jelinek  <jakub@redhat.com>
5279
5280	PR tree-optimization/92056
5281	* tree-object-size.c (cond_expr_object_size): Return early if then_
5282	processing resulted in unknown size.
5283
5284	2019-10-05  Jakub Jelinek  <jakub@redhat.com>
5285
5286	PR tree-optimization/91734
5287	* generic-match-head.c: Include fold-const-call.h.
5288	* match.pd (sqrt(x) cmp c): Check the boundary value and
5289	in case inexact computation of c*c affects comparison of the boundary,
5290	turn LT_EXPR into LE_EXPR, GE_EXPR into GT_EXPR, LE_EXPR into LT_EXPR
5291	or GT_EXPR into GE_EXPR.  Punt for sqrt comparisons against NaN and
5292	for -frounding-math.  For c2, try the next smaller or larger floating
5293	point constant depending on comparison code and if it has the same
5294	sqrt as c2, use it instead of c2.
5295
5296	2019-09-29  Jakub Jelinek  <jakub@redhat.com>
5297
5298	PR bootstrap/90543
5299	* optc-save-gen.awk: Fix up printing string option differences.
5300
5301	2019-09-27  Jakub Jelinek  <jakub@redhat.com>
5302
5303	PR middle-end/91920
5304	* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
5305	variables as shared.
5306
5307	2019-09-11  Jakub Jelinek  <jakub@redhat.com>
5308
5309	PR tree-optimization/91723
5310	* tree-vect-stmts.c (vectorizable_call): Use types_compatible_p check
5311	instead of pointer equality when checking if argument vectypes are
5312	the same.
5313
5314	2019-09-07  Jakub Jelinek  <jakub@redhat.com>
5315
5316	PR tree-optimization/91665
5317	* tree-vect-loop.c (vectorizable_reduction): Punt if base has type
5318	incompatible with the type of PHI result.
5319
5320	2019-09-06  Jakub Jelinek  <jakub@redhat.com>
5321
5322	* function.c (assign_parm_find_data_types): Use RECORD_OR_UNION_TYPE_P
5323	before testing TYPE_TRANSPARENT_AGGR.
5324	* calls.c (initialize_argument_information, load_register_parameters):
5325	Likewise.
5326
5327	2019-09-05  Jakub Jelinek  <jakub@redhat.com>
5328
5329	PR middle-end/91001
5330	PR middle-end/91105
5331	PR middle-end/91106
5332	* calls.c (load_register_parameters): For TYPE_TRANSPARENT_AGGR
5333	types, use type of their first field instead of type of
5334	args[i].tree_value.
5335
5336	2019-09-02  Jakub Jelinek  <jakub@redhat.com>
5337
5338	PR go/91617
5339	* fold-const.c (range_check_type): For enumeral and boolean
5340	type, pass 1 to type_for_size langhook instead of
5341	TYPE_UNSIGNED (etype).  Return unsigned_type_for result whenever
5342	etype isn't TYPE_UNSIGNED INTEGER_TYPE.
5343	(build_range_check): Don't call unsigned_type_for for pointer types.
5344	* match.pd (X / C1 op C2): Don't call unsigned_type_for on
5345	range_check_type result.
5346
5347	2019-09-01  Jakub Jelinek  <jakub@redhat.com>
5348
5349	PR middle-end/91623
5350	* optabs.c (expand_vec_cond_expr): If op0 is a VECTOR_CST and only
5351	EQ_EXPR/NE_EXPR is supported, verify that op0 only contains
5352	zeros or negative elements and use NE_EXPR instead of LT_EXPR against
5353	zero vector.
5354
5355	PR lto/91572
5356	* tree.c (find_decls_types_in_node): Also walk TREE_PURPOSE of
5357	GIMPLE_ASM TREE_LIST operands.
5358
5359	2019-08-29  Jakub Jelinek  <jakub@redhat.com>
5360
5361	PR tree-optimization/91351
5362	* tree-cfg.c (generate_range_test): Use range_check_type instead of
5363	unsigned_type_for.
5364	* tree-cfgcleanup.c (convert_single_case_switch): Punt if
5365	range_check_type returns NULL.
5366	* tree-switch-conversion.c (switch_conversion::build_one_array):
5367	Use range_check_type instead of unsigned_type_for, don't perform
5368	linear opt if it returns NULL.
5369	(bit_test_cluster::find_bit_tests): Formatting fix.
5370	(bit_test_cluster::emit): Use range_check_type instead of
5371	unsigned_type_for.
5372	(switch_decision_tree::try_switch_expansion): Punt if range_check_type
5373	returns NULL.
5374
53752019-10-18  Georg-Johann Lay  <avr@gjlay.de>
5376
5377	Backport from 2019-10-18 trunk r277143.
5378
5379	PR target/86040
5380	* config/avr/avr.c (avr_out_lpm): Do not shortcut-return.
5381
53822019-10-18  Iain Sandoe  <iain@sandoe.co.uk>
5383
5384	Backport from mainline
5385	2019-10-05  Iain Sandoe  <iain@sandoe.co.uk>
5386
5387	PR target/59888
5388	* config/darwin.c (darwin_rodata_section): Add relocation flag,
5389	choose const_data section for constants with relocations.
5390	(machopic_select_section): Pass relocation flag to
5391	darwin_rodata_section ().
5392
53932019-10-18  Iain Sandoe  <iain@sandoe.co.uk>
5394
5395	Backport from mainline
5396	2019-09-21  Iain Sandoe  <iain@sandoe.co.uk>
5397
5398	* config/darwin.c (machopic_legitimize_pic_address): Check
5399	for lra, rather than reload.
5400
54012019-10-17  John David Anglin  <danglin@gcc.gnu.org>
5402
5403	* config/pa/pa.c (pa_output_indirect_call): Fix typos in last change.
5404
54052019-10-17  Richard Earnshaw  <rearnsha@arm.com>
5406
5407	Backport from mainline
5408	2019-05-03  Richard Earnshaw  <rearnsha@arm.com>
5409
5410	PR target/89400
5411	* config/arm/arm.md (unaligned_loadsi): Add variant for thumb1.
5412	Restrict 'all' variant to 32-bit configurations.
5413	(unaligned_loadhiu): Likewise.
5414	(unaligned_storehi): Likewise.
5415	(unaligned_storesi): Likewise.
5416	(unaligned_loadhis): Disable when compiling for thumb1.
5417
54182019-10-16  Iain Sandoe  <iain@sandoe.co.uk>
5419
5420	Backport from mainline
5421	2019-10-03  Iain Sandoe  <iain@sandoe.co.uk>
5422
5423	PR target/87243
5424	* config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New.
5425	(darwin_driver_init): Use the sysroot provided by SDKROOT when that
5426	is available and the user has not set one on the command line.
5427
54282019-10-16  Iain Sandoe  <iain@sandoe.co.uk>
5429
5430	Backport from mainline
5431	2019-07-03  Iain Sandoe  <iain@sandoe.co.uk>
5432
5433	* config/darwin.h (DRIVER_SELF_SPECS): Remove the linker cases.
5434	(RDYNAMIC): Rename to, DARWIN_RDYNAMIC.
5435	(DARWIN_PIE_SPEC, DARWIN_NOPIE_SPEC): Adjust to remove the Xlinker
5436	clauses.
5437	(LINK_COMMAND_SPEC_A): Add DARWIN_RDYNAMIC, DARWIN_PIE_SPEC and
5438	DARWIN_NOPIE_SPEC.
5439
5440	Backport from mainline
5441	2019-06-19  Iain Sandoe  <iain@sandoe.co.uk>
5442
5443	* config/darwin.h (DRIVER_SELF_SPECS): Add RDYNAMIC, DARWIN_PIE_SPEC
5444	and DARWIN_NOPIE_SPEC.
5445	(RDYNAMIC): New, modified from DARWIN_EXPORT_DYNAMIC.
5446	(DARWIN_PIE_SPEC): Collate from darwin.h and darwin9.h.
5447	(DARWIN_NOPIE_SPEC): Collate from darwin10.h.
5448	(DARWIN_NOCOMPACT_UNWIND): New from darwin10.h
5449	(DARWIN_EXPORT_DYNAMIC): Delete.
5450	* config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move no_compact_unwind
5451	and pie options processing to  darwin.h.
5452	* config/darwin9.h (DARWIN_PIE_SPEC): Move pie processing to darwin.h
5453
54542019-10-16  Richard Biener  <rguenther@suse.de>
5455
5456	Backport from mainline
5457	2019-10-04  Richard Biener  <rguenther@suse.de>
5458
5459	PR lto/91968
5460	* tree.c (find_decls_types_r): Do not remove LABEL_DECLs from
5461	BLOCK_VARS.
5462
5463	2019-09-19  Richard Biener  <rguenther@suse.de>
5464
5465	PR tree-optimization/91812
5466	* tree-ssa-phiprop.c (propagate_with_phi): Do not replace
5467	volatile loads.
5468
5469	2019-09-17  Richard Biener  <rguenther@suse.de>
5470
5471	PR debug/91772
5472	* dwarf2out.c (dwarf2out_late_global_decl): If early dwarf
5473	was missing generate locations only once.
5474
5475	2019-09-17  Richard Biener  <rguenther@suse.de>
5476
5477	PR tree-optimization/91790
5478	* tree-vect-stmts.c (vectorizable_load): For BB vectorization
5479	use the correct DR for setting up realignment.
5480
54812019-10-14  Will Schmidt  <will_schmidt@vnet.ibm.com>
5482
5483	Backport from trunk
5484	2019-09-26  Will Schmidt <will_schmidt@vnet.ibm.com>
5485
5486	* config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX,
5487	LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI,
5488	LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI,
5489	LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI,
5490	LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI,
5491	LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF,
5492	LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI,
5493	LD_ELEMREV_V16QI): Use the PURE attribute.
5494
54952019-10-10  Uroš Bizjak  <ubizjak@gmail.com>
5496
5497	PR target/92022
5498	* config/alpha/alpha.c (alpha_handle_trap_shadows): Skip DEBUG_INSN.
5499
55002019-10-10  Oleg Endo  <olegendo@gcc.gnu.org>
5501
5502	Backport from mainline
5503	2019-10-10  Oleg Endo  <olegendo@gcc.gnu.org>
5504
5505	PR target/88630
5506	* config/sh/sh.h (TARGET_FPU_SH4_300): New macro.
5507	* config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns
5508	also for TARGET_FPU_SH4_300.
5509	(sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of
5510	TARGET_SH4_300.
5511	* config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition.
5512	(negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr.
5513	(*negsf2_i): Split into ...
5514	(negsf2_fpscr, negsf2_no_fpscr): ... these new patterns.
5515	(abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc.
5516	(**abssf2_i): Split into ...
5517	(abssf2_fpscr, abssf2_no_fpscr): ... these new patterns.
5518	(negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr.
5519	(*negdf2_i): Split into ...
5520	(negdf2_fpscr, negdf2_no_fpscr): ... these new patterns.
5521	(absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc.
5522	(**abssf2_i): Split into ...
5523	(absdf2_fpscr, absdf2_no_fpscr): ... these new patterns.
5524
55252019-10-10  Andreas Krebbel  <krebbel@linux.ibm.com>
5526
5527	Backport from mainline
5528	2019-10-10  Andreas Krebbel  <krebbel@linux.ibm.com>
5529
5530	* common/config/s390/s390-common.c (PF_ARCH13): Rename to...
5531	(PF_Z15): ... this.
5532	* config.gcc: Add z15 as option for --with-arch and --with-tune
5533	configure switches.
5534	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Add
5535	error reporting for unsupported builtins.
5536	* config/s390/s390-opts.h (enum processor_type): Rename
5537	PROCESSOR_8561_ARCH13 to PROCESSOR_8561_Z15.
5538	* config/s390/8561.md: Rename arch13 to z15 throughout the file.
5539	* config/s390/driver-native.c (s390_host_detect_local_cpu):
5540	Likewise.
5541	* config/s390/s390-builtins.def: Likewise.
5542	* config/s390/s390.c (processor_table): Add z15 as option and keep arch13 as alternative.
5543	(s390_expand_builtin): Add missing check for unsupported builtins.
5544	(s390_canonicalize_comparison): Rename TARGET_ARCH13 to TARGET_Z15.
5545	(s390_rtx_costs): Likewise.
5546	(s390_get_sched_attrmask): Rename arch13 to z15.
5547	(s390_get_unit_mask): Likewise.
5548	(s390_is_fpd): Likewise.
5549	(s390_is_fxd): Likewise.
5550	* config/s390/s390.h (enum processor_flags): Likewise.
5551	* config/s390/s390.md: Likewise.
5552	* config/s390/vector.md: Likewise.
5553	* config/s390/vx-builtins.md: Likewise.
5554	* config/s390/s390.opt: Add z15 to processor_type value.
5555
55562019-10-07  Bill Schmidt  <wschmidt@linux.ibm.com>
5557
5558	Backport from mainline
5559	2019-10-01  Bill Schmidt  <wschmidt@linux.ibm.com>
5560
5561	PR target/91275
5562	* config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Don't swap
5563	vpmsumd.
5564
55652019-10-05  Andrea Corallo  <andrea.corallo@arm.com>
5566
5567	Backport from mainline
5568	2019-10-03  Andrea Corallo  <andrea.corallo@arm.com>
5569	* gcc/ipa-cp.c (ipa_cp_c_finalize): Release ipcp_transformation_sum
5570	when finished.
5571	* ipa-prop.c (ipcp_free_transformation_sum): New function.
5572	* ipa-prop.h (ipcp_free_transformation_sum): Add declaration.
5573
55742019-10-04  Dragan Mladjenovic <dmladjenovic@wavecomp.com>
5575
5576	Backport from mainline
5577	2019-10-03  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
5578
5579	PR target/91769
5580	* config/mips/mips.c (mips_split_move): Use reg_overlap_mentioned_p
5581	instead of REGNO equality check on addr.reg.
5582
55832019-10-04  Dragan Mladjenovic <dmladjenovic@wavecomp.com>
5584
5585	Backport from mainline
5586	2019-07-07  Richard Sandiford  <richard.sandiford@arm.com>
5587
5588	* config/mips/mips.c (mips_split_move): Zero-initialize addr
5589	and check whether addr.reg is nonnull before using it.
5590
55912019-10-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5592
5593	Backport from mainline
5594
5595	2019-09-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5596
5597	PR fortran/91716
5598	* trans-array.c (gfc_conv_array_initializer): Always assign the
5599	array type of the field to the string constant.
5600
56012019-10-01  Oleg Endo  <olegendo@gcc.gnu.org>
5602
5603	Backport from mainline
5604
5605	2019-10-01  Oleg Endo  <olegendo@gcc.gnu.org>
5606
5607	PR target/88562
5608	* config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
5609	sh_check_add_incdec_notes to preserve REG_INC notes when replacing
5610	a memory access insn.
5611
5612
56132019-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5614
5615	Backport from mainline
5616	2019-09-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5617
5618	* config/aarch64/aarch64.md (mov<mode>): Don't call
5619	aarch64_split_dimode_const_store on volatile MEM.
5620
56212019-10-01  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5622
5623	Backport from mainline
5624	2019-09-26  Matt Turner  <mattst88@gmail.com>
5625
5626	PR driver/69471
5627	* config/aarch64/aarch64.opt (march=): Add Negative(march=).
5628	(mtune=): Add Negative(mtune=).
5629	(mcpu=): Add Negative(mcpu=).
5630	* config/arm/arm.opt: Likewise.
5631
56322019-09-28  Oleg Endo  <olegendo@gcc.gnu.org>
5633
5634	Backport from mainline
5635	2019-09-28  Oleg Endo  <olegendo@gcc.gnu.org>
5636
5637	PR target/86805
5638	* config/sh/sh.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
5639
56402019-09-28  Oleg Endo  <olegendo@gcc.gnu.org>
5641
5642	Backport from mainline
5643	2019-09-28  Oleg Endo  <olegendo@gcc.gnu.org>
5644
5645	PR target/80672
5646	* config/sh/sh.c (parse_validate_atomic_model_option): Use
5647	std::string::compare instead of std::string::find.
5648
56492019-09-25  Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5650
5651	Backport from mainline
5652	2019-08-22  Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5653
5654	* config/arm/arm_acle.h: Use arch=armv8-a+crc+simd pragma for CRC32
5655	intrinsics if __ARM_FP.
5656	Use __ARM_FEATURE_CRC32 ifdef guard.
5657
56582019-09-23  Max Filippov  <jcmvbkbc@gmail.com>
5659
5660	Backport from mainline
5661	2019-06-18  Max Filippov  <jcmvbkbc@gmail.com>
5662
5663	* config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack
5664	pointer adjustment for the case of no callee-saved registers and
5665	stack frame bigger than 128 bytes.
5666
56672019-09-22  Iain Sandoe  <iain@sandoe.co.uk>
5668
5669	Backport from mainline
5670	2019-06-16  Iain Sandoe  <iain@sandoe.co.uk>
5671
5672	* config/darwin.opt (prebind, noprebind, seglinkedit,
5673	noseglinkedit): Add RejectNegative.
5674
5675	Backport from mainline
5676	2019-06-14  Iain Sandoe  <iain@sandoe.co.uk>
5677
5678	* config/darwin.opt: Add RejectNegative where needed, reorder
5679	and add minimal functional descriptions.
5680
56812019-09-20  John David Anglin  <danglin@gcc.gnu.org>
5682
5683	* config/pa/pa.c (pa_trampoline_init): Remove spurious extended
5684	character.
5685
56862019-09-20  Andreas Krebbel  <krebbel@linux.ibm.com>
5687
5688	Backport from mainline
5689	2019-06-06  Andreas Krebbel  <krebbel@linux.ibm.com>
5690
5691	PR rtl-optimization/88751
5692	* ira.c (ira): Use the number of the actually referenced registers
5693	when calculating the threshold.
5694
56952019-09-20  Kito Cheng  <kito.cheng@sifive.com>
5696
5697	Backport from mainline
5698	2019-09-18  Jim Wilson  <jimw@sifive.com>
5699
5700	PR target/91683
5701	* config/riscv/riscv-protos.h (riscv_split_symbol): New bool parameter.
5702	(riscv_move_integer): Likewise.
5703	* config/riscv/riscv.c (riscv_split_integer): Pass FALSE for new
5704	riscv_move_integer arg.
5705	(riscv_legitimize_move): Likewise.
5706	(riscv_force_temporary): New parameter in_splitter.  Don't call
5707	force_reg if true.
5708	(riscv_unspec_offset_high): Pass FALSE for new riscv_force_temporary
5709	arg.
5710	(riscv_add_offset): Likewise.
5711	(riscv_split_symbol): New parameter in_splitter.  Pass to
5712	riscv_force_temporary.
5713	(riscv_legitimize_address): Pass FALSE for new riscv_split_symbol
5714	arg.
5715	(riscv_move_integer): New parameter in_splitter.  New local
5716	can_create_psuedo.  Don't call riscv_split_integer or force_reg when
5717	in_splitter TRUE.
5718	(riscv_legitimize_const_move): Pass FALSE for new riscv_move_integer,
5719	riscv_split_symbol, and riscv_force_temporary args.
5720	* config/riscv/riscv.md (low<mode>+1): Pass TRUE for new
5721	riscv_move_integer arg.
5722	(low<mode>+2): Pass TRUE for new riscv_split_symbol arg.
5723
57242019-09-20  Eric Botcazou  <ebotcazou@adacore.com>
5725
5726	PR target/91269
5727	* config/sparc/sparc.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
5728
57292019-09-19  Kito Cheng  <kito.cheng@sifive.com>
5730
5731	Backport from mainline
5732	2019-09-05  Jakub Jelinek  <jakub@redhat.com>
5733		    Jim Wilson  <jimw@sifive.com>
5734
5735	PR target/91635
5736	* config/riscv/riscv.md (zero_extendsidi2, zero_extendhi<GPR:mode>2,
5737	extend<SHORT:mode><SUPERQI:mode>2): Don't split if
5738	paradoxical_subreg_p (operands[0]).
5739	(*lshrsi3_zero_extend_3+1, *lshrsi3_zero_extend_3+2): Add clobber and
5740	use as intermediate value.
5741
57422019-09-11  Eric Botcazou  <ebotcazou@adacore.com>
5743
5744	PR rtl-optimization/89795
5745	* rtlanal.c (nonzero_bits1) <SUBREG>: Do not propagate results from
5746	inner REGs to paradoxical SUBREGs if WORD_REGISTER_OPERATIONS is set.
5747
57482019-09-09  Jakub Jelinek  <jakub@redhat.com>
5749
5750	PR target/87853
5751	* config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi
5752	instead of __v16qs.
5753
5754	PR target/91704
5755	* config/i386/avxintrin.h (__v32qs): New typedef.
5756	* config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs
5757	instead of __v32qi.
5758
57592019-09-04  Wilco Dijkstra  <wdijkstr@arm.com>
5760
5761	Backport from mainline
5762	2019-08-13  Wilco Dijkstra  <wdijkstr@arm.com>
5763
5764	PR target/81800
5765	* gcc/config/aarch64/aarch64.md (lrint): Disable lrint pattern if GPF
5766	operand is larger than a long int.
5767
57682019-09-03  Jakub Jelinek  <jakub@redhat.com>
5769
5770	PR tree-optimization/91597
5771	* tree-vrp.c (extract_range_from_binary_expr): Remove unsafe
5772	BIT_AND_EXPR optimization for pointers, even if both operand
5773	ranges don't include NULL, the result can be NULL.
5774
57752019-09-02  Martin Liska  <mliska@suse.cz>
5776
5777	Backport from mainline
5778	2019-09-02  Martin Liska  <mliska@suse.cz>
5779
5780	PR gcov-profile/91601
5781	* gcov.c (path_contains_zero_cycle_arc): Rename to ...
5782	(path_contains_zero_or_negative_cycle_arc): ... this and handle
5783	also negative edges.
5784	(circuit): Handle also negative edges as they can happen
5785	in some situations.
5786
57872019-09-01  Eric Botcazou  <ebotcazou@adacore.com>
5788
5789	PR target/91472
5790	* config/sparc/sparc.c (sparc_cannot_force_const_mem): Return true
5791	during LRA/reload in PIC mode if the PIC register hasn't been used yet.
5792	(sparc_pic_register_p): Test reload_in_progress for consistency's sake.
5793
57942019-08-31  Iain Sandoe  <iain@sandoe.co.uk>
5795
5796	Backport from mainline
5797	2019-08-23  Iain Sandoe  <iain@sandoe.co.uk>
5798
5799	PR pch/61250
5800	* ggc-page.c (ggc_pch_read): Read the ggc_pch_ondisk structure
5801	and issue any diagnostics needed before collecting the pre-PCH
5802	state.
5803
58042019-08-30  Segher Boessenkool  <segher@kernel.crashing.org>
5805
5806	Backport from trunk
5807	2019-08-22  Segher Boessenkool  <segher@kernel.crashing.org>
5808
5809	PR target/91481
5810	* config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
5811	and UNSPEC_DARN_RAW.
5812	(unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and
5813	UNSPECV_DARN_RAW.
5814	(darn_32): Use an unspec_volatile, and UNSPECV_DARN_32.
5815	(darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW.
5816	(darn): Use an unspec_volatile, and UNSPECV_DARN.
5817
58182019-08-30  Segher Boessenkool  <segher@kernel.crashing.org>
5819
5820	Backport from trunk
5821	2019-08-22  Segher Boessenkool  <segher@kernel.crashing.org>
5822
5823	* config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
5824	UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to...
5825	* config/rs6000/rs6000.md (unspec): ... here.
5826	* config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb,
5827	*cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
5828	cmpeqb, *cmpeqb_internal): Delete, move to...
5829	* config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb,
5830	*cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
5831	cmpeqb, *cmpeqb_internal): ... here.
5832
58332019-08-30  Richard Biener  <rguenther@suse.de>
5834
5835	Backport from mainline
5836	2019-04-29  Richard Biener  <rguenther@suse.de>
5837
5838	PR tree-optimization/90278
5839	* tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean
5840	EH on comparison simplification.
5841
58422019-08-29  Richard Biener  <rguenther@suse.de>
5843
5844	PR tree-optimization/91568
5845	* tree-vectorizer.h (_slp_tree::max_nunits): Add.
5846	(vect_update_max_nunits): Add overload for poly_uint64.
5847	* tree-vect-slp.c (vect_create_new_slp_node): Initialize it.
5848	(vect_build_slp_tree): Record max_nunits into the subtree
5849	and merge it upwards.
5850	(vect_print_slp_tree): Print max_nunits.
5851
58522019-08-28  Richard Biener  <rguenther@suse.de>
5853
5854	Backport from mainline
5855	2019-05-27  Richard Biener  <rguenther@suse.de>
5856
5857	PR tree-optimization/90637
5858	* tree-ssa-sink.c (statement_sink_location): Honor the
5859	computed sink location for single-uses.
5860
58612019-08-26  Xiong Hu Luo  <luoxhu@linux.ibm.com>
5862
5863	Backport r274411 from trunk to gcc-9-branch.
5864	2019-08-14  Xiong Hu Luo  <luoxhu@linux.ibm.com>
5865
5866	PR lto/91287
5867	* builtins.c (builtin_with_linkage_p): New function.
5868	* builtins.h (builtin_with_linkage_p): New function.
5869	* symtab.c (write_symbol): Remove redundant assert.
5870	* lto-streamer-out.c (symtab_node::output_to_lto_symbol_table_p):
5871	Remove FIXME and use builtin_with_linkage_p.
5872
58732019-08-25  Uroš Bizjak  <ubizjak@gmail.com>
5874
5875	PR target/91533
5876	Backport from mainline
5877	2019-06-30  Uroš Bizjak  <ubizjak@gmail.com>
5878
5879	* config/i386/sse.md (ssse3_abs<mode>2): Rename from abs<mode>2.
5880	* config/i386/i386-builtin.def (__builtin_ia32_pabsb):
5881	Use CODE_FOR_ssse3_absv8qi2.
5882	(__builtin_ia32_pabsw): Use CODE_FOR_ssse3_absv4hi2.
5883	(__builtin_ia32_pabsd): Use CODE_FOR_ssse3_absv2si2.
5884
58852019-08-23  Mihailo Stojanovic  <mistojanovic@wavecomp.com>
5886
5887	Backport from mainline
5888	2019-08-23  Mihailo Stojanovic  <mistojanovic@wavecomp.com>
5889
5890	* config/mips/mips.md (mips_get_fcsr, *mips_get_fcsr): Use SI
5891	machine mode for unspec_volatile operand.
5892
58932019-08-23  Martin Liska  <mliska@suse.cz>
5894
5895	PR ipa/91508
5896	Backport from mainline
5897	2019-08-15  Martin Liska  <mliska@suse.cz>
5898
5899	PR ipa/91438
5900	* cgraph.c (cgraph_node::remove): When setting
5901	n->origin = NULL for all nested functions, reset
5902	also next_nested.
5903
59042019-08-23  Martin Liska  <mliska@suse.cz>
5905
5906	Backport from mainline
5907	2019-08-15  Martin Liska  <mliska@suse.cz>
5908
5909	* cgraph.c (cgraph_node::verify_node): Verify origin, nested
5910	and next_nested.
5911
59122019-08-23  Martin Liska  <mliska@suse.cz>
5913
5914	Backport from mainline
5915	2019-08-15  Martin Liska  <mliska@suse.cz>
5916
5917	PR ipa/91404
5918	* passes.c (order): Remove.
5919	(uid_hash_t): Likewise).
5920	(remove_cgraph_node_from_order): Remove from set
5921	of pointers (cgraph_node *).
5922	(insert_cgraph_node_to_order): New.
5923	(duplicate_cgraph_node_to_order): New.
5924	(do_per_function_toporder): Register all 3 cgraph hooks.
5925	Skip removed_nodes now as we know about all of them.
5926
59272019-08-21  Iain Sandoe  <iain@sandoe.co.uk>
5928
5929	Backport from mainline
5930	2019-08-18  Iain Sandoe  <iain@sandoe.co.uk>
5931
5932	* config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Add asserts
5933	for cpu and machine.  Factor 64/32b builtins.
5934
59352019-08-20  Eric Botcazou  <ebotcazou@adacore.com>
5936
5937	PR rtl-optimization/91347
5938	* dse.c (scan_insn): Call add_wild_read for non-const/memset tail calls
5939	before reload if HARD_FRAME_POINTER_IS_ARG_POINTER.
5940
59412019-08-19  Richard Earnshaw  <rearnsha@arm.com>
5942
5943	Backport from mainline
5944	2019-09-09  Richard Earnshaw  <rearnsha@arm.com>
5945
5946	PR target/91386
5947	* config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Use copy_rtx
5948	to preserve the contents of the original insns.
5949
59502019-08-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5951
5952	Backport from mainline
5953	2019-08-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5954
5955	PR tree-optimization/91109
5956	* lra-int.h (lra_need_for_scratch_reg_p): Declare.
5957	* lra.c (lra): Use lra_need_for_scratch_reg_p.
5958	* lra-spills.c (lra_need_for_scratch_reg_p): New function.
5959
5960	2019-08-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5961
5962	PR tree-optimization/91109
5963	* lra-remat.c (update_scratch_ops): Remove assignment of the
5964	hard register.
5965
59662019-08-15  Steve Ellcey  <sellcey@marvell.com>
5967
5968	Backport from mainline
5969	2019-08-02  Steve Ellcey  <sellcey@marvell.com>
5970
5971	* omp-simd-clone.c (simd_clone_adjust_return_type): Remove call to
5972	build_distinct_type_copy.
5973	(simd_clone_adjust_argument_types): Ditto.
5974	(simd_clone_adjust): Call build_distinct_type_copy here.
5975	(expand_simd_clones): Ditto.
5976
59772019-08-15  Richard Biener  <rguenther@suse.de>
5978
5979	PR tree-optimization/91445
5980	Backport from mainline
5981	2019-07-05  Richard Biener  <rguenther@suse.de>
5982
5983	PR tree-optimization/91091
5984	* tree-ssa-alias.h (get_continuation_for_phi): Add tbaa_p parameter.
5985	(walk_non_aliased_vuses): Likewise.
5986	* tree-ssa-alias.c (maybe_skip_until): Pass down tbaa_p.
5987	(get_continuation_for_phi): New tbaa_p parameter and pass
5988	it down.
5989	(walk_non_aliased_vuses): Likewise.
5990	* tree-ssa-pre.c (translate_vuse_through_block): Likewise.
5991	* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr):
5992	Likewise.
5993	* tree-ssa-sccvn.c (struct vn_walk_cb_data): Add tbaa_p flag.
5994	(vn_reference_lookup_3): Handle and pass down tbaa_p flag.
5995	(vn_reference_lookup_pieces): Adjust.
5996	(vn_reference_lookup): Remove alias-set altering, instead pass
5997	down false as tbaa_p.
5998
5999	2019-07-04  Richard Biener  <rguenther@suse.de>
6000
6001	* tree-ssa-sccvn.h (vn_reference_lookup): Add last_vuse_ptr
6002	argument.
6003	* tree-ssa-sccvn.c (last_vuse_ptr, vn_walk_kind): Move
6004	globals into...
6005	(struct vn_walk_cb_data): New callback data struct.
6006	(vn_reference_lookup_2): Adjust.
6007	(vn_reference_lookup_3): Likewise.
6008	(vn_reference_lookup_pieces): Likewise.
6009	(vn_reference_lookup): Likewise, get last_vuse_ptr argument.
6010	(visit_reference_op_load): Adjust.
6011
60122019-08-14  Martin Sebor  <msebor@redhat.com>
6013
6014	Backport from mainline
6015
6016	2019-08-01  Martin Sebor  <msebor@redhat.com>
6017
6018	PR c++/90947
6019	* tree.c (type_initializer_zero_p): Define.
6020	* tree.h (type_initializer_zero_p): New function.
6021
6022	2019-08-05  Martin Sebor  <msebor@redhat.com>
6023
6024	* doc/extend.texi (Common Variable Attributes): Document alias
6025	attribute.
6026
60272019-08-12  Richard Biener  <rguenther@suse.de>
6028
6029	Backport from mainline
6030	2019-08-12  Richard Biener  <rguenther@suse.de>
6031
6032	PR lto/91375
6033	* tree.c (free_lang_data_in_type): Do not free TYPE_BINFO dependent on
6034	flag_devirtualize.
6035
6036	2019-08-12  Richard Biener  <rguenther@suse.de>
6037
6038	PR driver/91130
6039	* lto-wrapper.c (get_options_from_collect_gcc_options): Remove
6040	lang_mask option, always use CL_DRIVER.
6041	(find_and_merge_options): Adjust.
6042	(run_gcc): Likewise.
6043
6044	2019-08-07  Richard Earnshaw  <rearnsha@arm.com>
6045
6046	PR driver/91130
6047	* lto-wrapper.c (find_and_merge_options): Use CL_DRIVER when
6048	processing COLLECT_GCC_OPTIONS.
6049	(run_gcc): Likewise.
6050
60512019-08-12  Jakub Jelinek  <jakub@redhat.com>
6052
6053	* BASE-VER: Set to 9.2.1.
6054
60552019-08-12  Release Manager
6056
6057	* GCC 9.2.0 released.
6058
60592019-08-05  Kito Cheng  <kito.cheng@sifive.com>
6060
6061	Backport from mainline
6062	2019-08-05  Kito Cheng  <kito.cheng@sifive.com>
6063
6064	* config/riscv/riscv.c (riscv_promote_function_mode): New.
6065	(TARGET_PROMOTE_FUNCTION_MODE): Use riscv_promote_function_mode.
6066
60672019-08-05  Alan Modra  <amodra@gmail.com>
6068
6069	PR target/91349
6070	* config/rs6000/freebsd64.h (CPLUSPLUS_CPP_SPEC),
6071	(LINK_GCC_C_SEQUENCE_SPEC): Undef.
6072
60732019-08-04  Segher Boessenkool  <segher@kernel.crashing.org>
6074
6075	Backport from trunk
6076	2019-05-02  Segher Boessenkool  <segher@kernel.crashing.org>
6077
6078	* config/rs6000/rs6000.c (rs6000_dbx_register_number): Return the
6079	correct numbers for TFHAR, TFIAR, TEXASR.
6080
60812019-08-03  Iain Sandoe  <iain@sandoe.co.uk>
6082
6083	Backport from mainline
6084	2019-07-24  Iain Sandoe  <iain@sandoe.co.uk>
6085
6086	PR bootstrap/87030
6087	* config/i386/darwin.h (REAL_LIBGCC_SPEC): Revert change from r273749.
6088
6089	PR bootstrap/87030
6090	* config/i386/darwin.h (REAL_LIBGCC_SPEC): Move from here...
6091	* config/i386/darwin32-biarch.h .. to here.
6092	* config/i386/darwin64-biarch.h: Adjust comments.
6093	* config/rs6000/darwin32-biarch.h: Likewise.
6094	* config/rs6000/darwin64-biarch.h: Likewise.
6095	* config.gcc: Missed commit from r273746
6096	(*-*-darwin*): Don't include CPU t-darwin here.
6097	(i[34567]86-*-darwin*): Adjust to use biarch files. Produce
6098	an error message if i686-darwin configuration is attempted for
6099	Darwin >= 18.
6100
6101	Backport from mainline
6102	2019-07-23  Iain Sandoe  <iain@sandoe.co.uk>
6103
6104	PR bootstrap/87030
6105	* config.gcc (*-*-darwin*): Don't include CPU t-darwin here.
6106	(i[34567]86-*-darwin*): Adjust to use biarch files. Produce
6107	an error message if i686-darwin configuration is attempted for
6108	Darwin >= 18.
6109	(x86_64-*-darwin*): Switch to single multilib for Darwin >= 18.
6110	(powerpc-*-darwin*): Use biarch files where needed.
6111	(powerpc64-*-darwin*): Likewise.
6112	* config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file.
6113	(DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
6114	arch case.
6115	* config/i386/darwin32-biarch.h: New.
6116	* config/i386/darwin64.h: Rename.
6117	* gcc/config/i386/darwin64-biarch.h: To this.
6118	* config/i386/t-darwin: Rename.
6119	* gcc/config/i386/t-darwin32-biarch: To this.
6120	* config/i386/t-darwin64: Rename.
6121	* gcc/config/i386/t-darwin64-biarch: To this.
6122	* config/rs6000/darwin32-biarch.h: New.
6123	* config/rs6000/darwin64.h: Rename.
6124	* config/rs6000/darwin64-biarch.h: To this.
6125	(DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
6126	arch case.
6127	* config/rs6000/t-darwin8: Rename.
6128	* config/rs6000/t-darwin32-biarch: To this.
6129	* config/rs6000/t-darwin64 Rename.
6130	* config/rs6000/t-darwin64-biarch: To this.
6131
61322019-08-03  Iain Sandoe  <iain@sandoe.co.uk>
6133
6134	Backport from mainline
6135	2019-07-07  Iain Sandoe  <iain@sandoe.co.uk>
6136
6137	* config/darwin.c (darwin_override_options): Make a final check on PIC
6138	options.
6139
61402019-08-03  Iain Sandoe  <iain@sandoe.co.uk>
6141
6142	Backport from mainline
6143	2019-07-07  Iain Sandoe  <iain@sandoe.co.uk>
6144	* config/darwin.c (darwin_override_options): Don't jam symbol stubs
6145	on for kernel code.
6146
61472019-08-03  Iain Sandoe  <iain@sandoe.co.uk>
6148
6149	Backport from mainline
6150	2019-06-28  Iain Sandoe  <iain@sandoe.co.uk>
6151
6152	* config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Remove
6153	override on extra_headers.
6154
61552019-08-03  Iain Sandoe  <iain@sandoe.co.uk>
6156
6157	Backport from mainline
6158	2019-06-27  Iain Sandoe  <iain@sandoe.co.uk>
6159
6160	* config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour
6161	user-specified float mode choice for kernel mode code.
6162
61632019-08-03  Iain Sandoe  <iain@sandoe.co.uk>
6164
6165	Backport from mainline
6166	2019-06-27  Iain Sandoe  <iain@sandoe.co.uk>
6167
6168	* config/rs6000/rs6000.c (darwin_rs6000_override_options): Do not
6169	use longcall for 64b code.
6170
61712019-08-03  Iain Sandoe  <iain@sandoe.co.uk>
6172
6173	Backport from mainline
6174	2019-06-23  Iain Sandoe  <iain@sandoe.co.uk>
6175
6176	* config/rs6000/darwin.h: Handle GCC target pragma.
6177
61782019-08-03  Iain Sandoe  <iain@sandoe.co.uk>
6179
6180	Backport from mainline
6181	2019-06-23  Iain Sandoe  <iain@sandoe.co.uk>
6182
6183	* config/rs6000/darwin.h: (__PPC__, __PPC64__): New.
6184
61852019-08-02  Martin Sebor  <msebor@redhat.com>
6186
6187	Backport from mainline
6188	2019-07-09  Martin Sebor  <msebor@redhat.com>
6189
6190	PR tree-optimization/90989
6191	* tree-ssa-strlen.c (handle_char_store): Constrain a single character
6192	optimization to just single character stores.
6193
61942019-08-02  Iain Sandoe  <iain@sandoe.co.uk>
6195
6196	Backport from mainline
6197	2019-06-19  Iain Sandoe  <iain@sandoe.co.uk>
6198
6199	* config/darwin-driver.c (darwin_driver_init): Fix off-by-one errors
6200	in computing the number of options to be moved.
6201
6202	Backport from mainline
6203	2019-06-13  Iain Sandoe  <iain@sandoe.co.uk>
6204
6205	* config/darwin-driver.c (validate_macosx_version_min): New.
6206	(darwin_default_min_version): Cleanup and validate supplied version.
6207	(darwin_driver_init): Likewise and push cleaned version into opts.
6208
62092019-08-02  Iain Sandoe  <iain@sandoe.co.uk>
6210
6211	Backport from mainline
6212	2019-05-31  Iain Sandoe  <iain@sandoe.co.uk>
6213
6214	* config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
6215
62162019-08-02  Iain Sandoe  <iain@sandoe.co.uk>
6217
6218	Backport from mainline
6219	2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>
6220
6221	* config/darwin-c.c (darwin_register_objc_includes): Do not
6222	prepend the sysroot when building gnu-runtime header search
6223	paths.
6224
62252019-08-02  Iain Sandoe  <iain@sandoe.co.uk>
6226
6227	Backport from mainline
6228	2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>
6229
6230	* config/darwin.c (darwin_file_end): Use switch_to_section ()
6231	instead of direct output of the asm.
6232
62332019-08-02  Richard Biener  <rguenther@suse.de>
6234
6235	Backport from mainline
6236	2019-07-31  Richard Biener  <rguenther@suse.de>
6237
6238	PR tree-optimization/91280
6239	* tree-ssa-structalias.c (get_constraint_for_component_ref):
6240	Decompose MEM_REF manually for offset handling.
6241
6242	2019-07-31  Richard Biener  <rguenther@suse.de>
6243
6244	PR tree-optimization/91293
6245	* tree-vect-slp.c (vect_build_slp_tree_2): Do not swap operands
6246	of reduction stmts.
6247
62482019-08-02  Richard Biener  <rguenther@suse.de>
6249
6250	Backport from mainline
6251	2019-07-31  Richard Biener  <rguenther@suse.de>
6252
6253	PR tree-optimization/91178
6254	* tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
6255	Use tail-recursion.
6256
6257	2019-07-17  Richard Biener  <rguenther@suse.de>
6258
6259	PR tree-optimization/91178
6260	* tree-ssa.c (release_defs_bitset): Iterate from higher to
6261	lower SSA names to avoid quadratic behavior in the common case.
6262	* tree-data-ref.c (split_constant_offset): Add limit argument
6263	and pass it down.  Initialize it from PARAM_SSA_NAME_DEF_CHAIN_LIMIT.
6264	(split_constant_offset_1): Add limit argument and use it to
6265	limit SSA def walking.  Optimize the common plus/minus case.
6266
6267	2019-07-12  Martin Sebor  <msebor@redhat.com>
6268
6269	* doc/invoke.texi (ssa-name-def-chain-limit): Document new --param.
6270	* params.def (PARAM_SSA_NAME_DEF_CHAIN_LIMIT): Add new --param.
6271	* tree-vrp.c (vrp_prop::check_mem_ref): Use
6272	PARAM_SSA_NAME_DEF_CHAIN_LIMIT.
6273
62742019-08-01  Jakub Jelinek  <jakub@redhat.com>
6275
6276	Backported from mainline
6277	2019-07-31  Jakub Jelinek  <jakub@redhat.com>
6278
6279	PR middle-end/91301
6280	* gimplify.c (gimplify_omp_for): If for class iterator on
6281	distribute parallel for there is no data sharing clause
6282	on inner_for_stmt, look for private clause on combined
6283	parallel too and if found, move it to inner_for_stmt.
6284
6285	2019-07-30  Jakub Jelinek  <jakub@redhat.com>
6286
6287	PR middle-end/91216
6288	* omp-low.c (global_nonaddressable_vars): New variable.
6289	(use_pointer_for_field): For global decls, if they are non-addressable,
6290	remember it in the global_nonaddressable_vars bitmap, if they are
6291	addressable and in the global_nonaddressable_vars bitmap, ignore their
6292	TREE_ADDRESSABLE bit.
6293	(omp_copy_decl_2): Clear TREE_ADDRESSABLE also on private copies of
6294	vars in global_nonaddressable_vars bitmap.
6295	(execute_lower_omp): Free global_nonaddressable_vars bitmap.
6296
6297	PR target/91150
6298	* config/i386/i386.c (expand_vec_perm_blend): Change mask type
6299	from unsigned to unsigned HOST_WIDE_INT.  For E_V64QImode cast
6300	comparison to unsigned HOST_WIDE_INT before shifting it left.
6301
6302	2019-07-17  Jakub Jelinek  <jakub@redhat.com>
6303
6304	PR tree-optimization/91157
6305	* tree-vect-generic.c (expand_vector_comparison): Handle lhs being
6306	a vector boolean with scalar mode.
6307	(expand_vector_condition): Handle first operand being a vector boolean
6308	with scalar mode.
6309	(expand_vector_operations_1): For comparisons, don't bail out early
6310	if the return type is vector boolean with scalar mode, but comparison
6311	operand type is not.
6312
63132019-08-01  Alan Modra  <amodra@gmail.com>
6314
6315	PR target/91135
6316	* config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Don't
6317	define.
6318	* config/rs6000/linux64.h (TARGET_OS_CPP_BUILTINS): Invoke
6319	GNU_USER_TARGET_OS_CPP_BUILTINS for aixdesc abi.
6320	(GNU_USER_TARGET_D_OS_VERSIONS): Don't define.
6321
63222019-07-31  Jonathan Wakely  <jwakely@redhat.com>
6323
6324	Backport from mainline
6325	2019-06-24  Jonathan Wakely  <jwakely@redhat.com>
6326
6327	* ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG, LDBL_DECIMAL_DIG)
6328	(FLT_HAS_SUBNORM, DBL_HAS_SUBNORM, LDBL_HAS_SUBNORM, FLT_TRUE_MIN)
6329	(DBL_TRUE_MIN, LDBL_TRUE_MIN): Also define for C++17.
6330
63312019-07-31  Richard Biener  <rguenther@suse.de>
6332
6333	Backport from mainline
6334	2019-07-19  Richard Biener  <rguenther@suse.de>
6335
6336	PR tree-optimization/91200
6337	* tree-ssa-phiopt.c (cond_store_replacement): Check we have
6338	no PHI nodes in middle-bb.
6339
6340	2019-07-15  Richard Biener  <rguenther@suse.de>
6341
6342	PR middle-end/91162
6343	* tree-cfg.c (move_block_to_fn): When releasing a virtual PHI
6344	node make sure to replace all uses with something valid.
6345
6346	2019-07-12  Richard Biener  <rguenther@suse.de>
6347
6348	PR tree-optimization/91145
6349	* tree-vect-slp.c (vect_build_slp_tree_2): Fix reduction
6350	chain check.
6351
6352	2019-07-11  Richard Biener  <rguenther@suse.de>
6353
6354	PR middle-end/91131
6355	* gimplify.c (gimplify_compound_literal_expr): Force a temporary
6356	when the object is volatile and we have not cleared it even though
6357	there are no nonzero elements.
6358
6359	2019-07-10  Richard Biener  <rguenther@suse.de>
6360
6361	PR tree-optimization/91126
6362	* tree-ssa-sccvn.c (n_walk_cb_data::push_partial_def): Adjust
6363	native encoding offset for BYTES_BIG_ENDIAN.
6364	(vn_reference_lookup_3): Likewise.
6365
63662019-07-30  Jan Hubicka  <jh@suse.cz>
6367
6368	Backport from mainline
6369	2019-07-23  Jan Hubicka  <hubicka@ucw.cz>
6370
6371	* i386-common.c: Use PROCESSOR_ZNVER2 scheduler for znver2.
6372	* config/i386/znver1.md: Enable patterns for znver2 and add store
6373	variants which use extra AGU unit.
6374
63752019-07-30  Jan Hubicka  <jh@suse.cz>
6376
6377	Backport from mainline
6378	2019-07-23  Jan Hubicka  <hubicka@ucw.cz>
6379
6380	* config/i386/i386.c (ix86_option_override_internal): Default
6381	PARAM_AVOID_FMA_MAX_BITS to 256 for znver2.
6382	* config/i386/x86-tune.def (X86_TUNE_AVOID_256FMA_CHAINS): Set
6383	for ZNVER2.
6384
63852019-07-30  Jan Hubicka  <jh@suse.cz>
6386
6387	Backport from mainline
6388	2019-07-23  Jan Hubicka  <hubicka@ucw.cz>
6389
6390	* config/i386/x86-tune-costs.h (znver2_memcpy): Update.
6391	(znver2_costs): Update 256 bit SSE costs and multiplication.
6392
63932019-07-24  Bin Cheng  <bin.cheng@linux.alibaba.com>
6394
6395	Backport from mainline
6396	2019-07-18  Bin Cheng  <bin.cheng@linux.alibaba.com>
6397
6398	PR tree-optimization/91137
6399	* tree-ssa-loop-ivopts.c (struct ivopts_data): New field.
6400	(tree_ssa_iv_optimize_init, alloc_iv, tree_ssa_iv_optimize_finalize):
6401	Init, use and fini the above new field.
6402	(determine_base_object_1): New function.
6403	(determine_base_object): Reimplement using walk_tree.
6404
64052019-07-23  Matthew Beliveau  <mbelivea@redhat.com>
6406
6407	Backported from mainline
6408	2019-07-16  Jeff Law  <law@redhat.com>
6409
6410	PR rtl-optimization/91173
6411	* tree-ssa-address.c (addr_for_mem_ref): If the base is an
6412	SSA_NAME with a constant value, fold its value into the offset
6413	and clear the base before calling gen_addr_rtx.
6414	* g++.dg/pr91173.C: New test.
6415
64162019-07-23  Richard Biener  <rguenther@suse.de>
6417
6418	PR debug/91231
6419	* lto-streamer-in.c (input_function): Drop inline-entry markers
6420	that ended up with an unknown location block.
6421
64222019-07-22  Paul A. Clarke  <pc@us.ibm.com>
6423
6424	Backport from mainline
6425	* config/rs6000/smmintrin.h (_mm_blend_epi16): New.
6426	(_mm_blendv_epi8): New.
6427
64282019-07-22  Martin Liska  <mliska@suse.cz>
6429
6430	Backport from mainline
6431	2019-07-22  Martin Liska  <mliska@suse.cz>
6432
6433	PR driver/91172
6434	* opts-common.c (decode_cmdline_option): Decode
6435	argument of -Werror and check it for a wrong language.
6436	* opts-global.c (complain_wrong_lang): Remove such case.
6437
64382019-07-22  Claudiu Zissulescu  <claziss@synopsys.com>
6439
6440	Backport from mainline.
6441	* config/arc/arc.c (prepare_move_operands): Always use an
6442	intermediate register when storing a TLS symbols.
6443
64442019-07-20  Richard Sandiford  <richard.sandiford@arm.com>
6445
6446	Backport from mainline
6447	2019-07-10  Richard Sandiford  <richard.sandiford@arm.com>
6448
6449	* fold-const.c (fold_relational_const): Fix folding of
6450	vector-to-scalar NE_EXPRs.
6451	(test_vector_folding): Add more tests.
6452
64532019-07-19  Jason Merrill  <jason@redhat.com>
6454
6455	PR c++/82081 - tail call optimization breaks noexcept
6456	* tree-tailcall.c (find_tail_calls): Don't turn a call from a
6457	nothrow function to a might-throw function into a tail call.
6458
64592019-07-18  Kito Cheng  <kito.cheng@sifive.com>
6460
6461	Backport from mainline
6462	2019-07-08  Andrew Waterman  <andrew@sifive.com>
6463		    Jim Wilson  <jimw@sifive.com>
6464
6465	* config/riscv/riscv.md (lshrsi3_zero_extend_3+1): Use operands[1]
6466	bitsize	instead of BITS_PER_WORD.
6467	gcc/testsuite/
6468
64692019-07-17  John David Anglin  <danglin@gcc.gnu.org>
6470
6471	* config/pa/pa.c (pa_som_asm_init_sections): Don't force all constant
6472	data into data section when generating PIC code.
6473	(pa_select_section): Use pa_reloc_rw_mask() to qualify relocs.
6474	(pa_reloc_rw_mask): Return 3 when generating PIC code and when
6475	generating code for SOM targets earlier than HP-UX 11.  Otherwise,
6476	return 2 for SOM and 0 for other targets.
6477
64782019-07-17  Andreas Krebbel  <krebbel@linux.ibm.com>
6479
6480	Backport from mainline
6481	2019-07-01  Andreas Krebbel  <krebbel@linux.ibm.com>
6482
6483	* config/s390/vector.md: Fix shift count operand printing.
6484
64852019-07-16  Wilco Dijkstra  <wdijkstr@arm.com>
6486
6487	Backport from mainline
6488	2019-05-30  Wilco Dijkstra  <wdijkstr@arm.com>
6489
6490	PR driver/90684
6491	* gcc/opts.c (parse_and_check_align_values): Allow 4 alignment values.
6492
64932019-07-14  Jakub Jelinek  <jakub@redhat.com>
6494
6495	Backported from mainline
6496	2019-07-04  Jakub Jelinek  <jakub@redhat.com>
6497
6498	PR middle-end/78884
6499	* gimplify.c (struct gimplify_omp_ctx): Add add_safelen1 member.
6500	(gimplify_bind_expr): If seeing TREE_ADDRESSABLE VLA inside of simd
6501	loop body, set ctx->add_safelen1 instead of making it GOVD_PRIVATE.
6502	(gimplify_adjust_omp_clauses): Add safelen (1) clause if
6503	ctx->add_safelen1 is set.
6504
6505	PR rtl-optimization/90756
6506	* explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it
6507	for VECTOR_TYPE_P.
6508
65092019-07-12  Richard Biener  <rguenther@suse.de>
6510
6511	Backport from mainline
6512	2019-07-04  Jakub Jelinek  <jakub@redhat.com>
6513
6514	PR tree-optimization/91063
6515	* tree-vect-stmts.c (vect_init_vector): Call gsi_remove to remove
6516	stmt from stmts sequence before calling vect_init_vector_1.
6517	Formatting fix.
6518
6519	2019-07-04  Richard Biener  <rguenther@suse.de>
6520
6521	PR ipa/91062
6522	* tree-pass.h (execute_all_ipa_transforms): Add a flag
6523	parameter whether to disable GC collection.
6524	* passes.c (execute_one_ipa_transform_pass): Likewise, and
6525	honor it.
6526	(execute_all_ipa_transforms): Likewise and pass it down.
6527	* cgraph.c (cgraph_node::get_body): Do not invoke garbage
6528	collection from applying IPA transforms.
6529	* cgraphunit.c (cgraph_node::expand): Allow garbage collection
6530	from applying IPA transforms.
6531
6532	2019-06-26  Richard Biener  <rguenther@suse.de>
6533
6534	PR ipa/90982
6535	* tree-inline.c (remap_ssa_name): Copy SSA range info.
6536
6537	2019-06-24  Richard Biener  <rguenther@suse.de>
6538
6539	PR tree-optimization/90972
6540	* tree-vect-stmts.c (vect_init_vector): Handle CONSTANT_CLASS_P
6541	in common code, dealing with STRING_CST properly.
6542
6543	2019-06-21  Richard Biener  <rguenther@suse.de>
6544
6545	PR debug/90914
6546	* dwarf2out.c (prune_unused_types_walk): Always consider
6547	function-local extern declarations as used.
6548
6549	2019-06-18  Richard Biener  <rguenther@suse.de>
6550
6551	PR debug/90900
6552	* cfgexpand.c (expand_debug_expr): Treat NOTE_P DECL_RTL
6553	as if optimized away.
6554
6555	2019-05-07  Richard Biener  <rguenther@suse.de>
6556
6557	PR lto/90369
6558	* lto-wrapper.c (debug_objcopy): Use the original filename
6559	including archive offset for the filename used for -save-temps.
6560
65612019-07-12  Eric Botcazou  <ebotcazou@adacore.com>
6562
6563	PR rtl-optimization/91136
6564	* df-core.c (ACCESSING REFS): Fix typos in comment.
6565	* resource.c (mark_target_live_reg): Add artificial defs that occur at
6566	the beginning of the block to the initial set of live registers.
6567
65682019-07-11  Uroš Bizjak  <ubizjak@gmail.com>
6569
6570	Backport from mainline
6571	2019-07-06  Richard Sandiford  <richard.sandiford@arm.com>
6572
6573	* config/i386/sse.md (*andnot<mode>3_bcst): Fix VI/VI48_AVX512VL typo.
6574
65752019-07-11  Segher Boessenkool  <segher@kernel.crashing.org>
6576
6577	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Handle
6578	Modula-2.
6579
65802019-07-08  Richard Biener  <rguenther@suse.de>
6581
6582	PR tree-optimization/91108
6583	* tree-ssa-sccvn.c: Include builtins.h.
6584	(vn_reference_lookup_3): Use only alignment constraints to
6585	verify same-valued store disambiguation.
6586
65872019-07-05  Szabolcs Nagy  <szabolcs.nagy@arm.com>
6588
6589	Backport from mainline
6590	2019-06-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
6591
6592	* config/aarch64/aarch64-protos.h (aarch64_asm_output_alias): Declare.
6593	(aarch64_asm_output_external): Declare.
6594	* config/aarch64/aarch64.c (aarch64_asm_output_variant_pcs): New.
6595	(aarch64_declare_function_name): Call aarch64_asm_output_variant_pcs.
6596	(aarch64_asm_output_alias): New.
6597	(aarch64_asm_output_external): New.
6598	* config/aarch64/aarch64.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
6599	(ASM_OUTPUT_EXTERNAL): Define.
6600
6601	2019-06-04  Szabolcs Nagy  <szabolcs.nagy@arm.com>
6602
6603	* config/aarch64/aarch64-protos.h (aarch64_asm_output_external): Remove
6604	const.
6605	* config/aarch64/aarch64.c (aarch64_asm_output_external): Call
6606	default_elf_asm_output_external.
6607
66082019-07-04  Martin Liska  <mliska@suse.cz>
6609
6610	Backport from mainline
6611	2019-07-03  Martin Liska  <mliska@suse.cz>
6612
6613	PR tree-optimization/90892
6614	* builtins.c (inline_expand_builtin_string_cmp): Handle '\0'
6615	in string constants.
6616
66172019-07-04  Martin Liska  <mliska@suse.cz>
6618
6619	Backport from mainline
6620	2019-07-03  Martin Liska  <mliska@suse.cz>
6621
6622	PR middle-end/90899
6623	* multiple_target.c (create_dispatcher_calls): Add to comdat
6624	group only if set for ifunc.
6625
66262019-07-03  Eric Botcazou  <ebotcazou@adacore.com>
6627
6628	* dwarf2out.c (add_scalar_info): Add back refererence to existing DIE
6629	if it has the DW_AT_data_member_location attribute.
6630
66312019-07-02  Andrew Stubbs  <ams@codesourcery.com>
6632
6633	Backport from mainline:
6634	2019-07-02  Andrew Stubbs  <ams@codesourcery.com>
6635
6636	* config/gcn/gcn.md (movdi_symbol_save_scc): Convert to define_insn
6637	with inlined save and restore.
6638
66392019-07-01  Eric Botcazou  <ebotcazou@adacore.com>
6640
6641	PR middle-end/64242
6642	* config/sparc/sparc.md (nonlocal_goto): Restore frame pointer last.
6643	Add frame clobber and schedule blockage.
6644
66452019-06-29  Jakub Jelinek  <jakub@redhat.com>
6646
6647	Backported from mainline
6648	2019-06-27  Jakub Jelinek  <jakub@redhat.com>
6649
6650	PR c++/91024
6651	* gimplify.c (collect_fallthrough_labels): Ignore GIMPLE_PREDICT
6652	statements.
6653
6654	2019-06-26  Jakub Jelinek  <jakub@redhat.com>
6655
6656	PR target/90991
6657	* config/i386/sse.md
6658	(*<extract_type>_vinsert<shuffletype><extract_suf>_0): Use vmovupd,
6659	vmovups, vmovdqu, vmovdqu32 or vmovdqu64 instead of the aligned
6660	insns if operands[2] is misaligned_operand.
6661
6662	2019-06-12  Jakub Jelinek  <jakub@redhat.com>
6663
6664	PR c/90760
6665	* symtab.c (symtab_node::set_section): Allow being called on aliases
6666	as long as they aren't analyzed yet.
6667
66682019-06-28  Jeff Law  <law@redhat.com>
6669
6670	Backport from mainline
6671	2019-06-21  Jeff Law  <law@redhat.com>
6672
6673	PR tree-optimization/90949
6674	* tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info.
6675	* tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state.
6676
66772019-06-28  Andrew Stubbs  <ams@codesourcery.com>
6678
6679	Backport from mainline:
6680	2019-05-22  Andrew Stubbs  <ams@codesourcery.com>
6681
6682	* config/gcn/gcn.c (gcn_trampoline_init): Call "sorry" on GCN5.
6683
66842019-06-26  Martin Jambor  <mjambor@suse.cz>
6685
6686	Backport from mainline
6687	2019-06-25  Martin Jambor  <mjambor@suse.cz>
6688
6689	PR ipa/90939
6690	* ipa-cp.c (ipcp_bits_lattice::meet_with): Remove assert.
6691
66922019-06-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6693
6694	Backport from mainline
6695	2019-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6696
6697	* configure.ac (ld_vers) <*-*-solaris2*>: Remove support for
6698	alternative Solaris 11.4 format.
6699	* configure: Regenerate.
6700
67012019-06-25  Claudiu Zissulescu  <claziss@synopsys.com>
6702
6703	Backport from mainline
6704	2019-06-25  Claudiu Zissulescu  <claziss@synopsys.com>
6705
6706	* config/arc/arc.c (arc_symbol_binds_local_p): New function.
6707	(arc_legitimize_pic_address): Simplify and cleanup the function.
6708	(SYMBOLIC_CONST): Remove.
6709	(prepare_pic_move): Likewise.
6710	(prepare_move_operands): Handle complex mov cases here.
6711	(arc_legitimize_address_0): Remove call to
6712	arc_legitimize_pic_address.
6713	(arc_legitimize_address): Remove call to
6714	arc_legitimize_tls_address.
6715	* config/arc/arc.md (movqi_insn): Allow Cm3 match.
6716	(movhi_insn): Likewise.
6717
67182019-06-25  Andrew Stubbs  <ams@codesourcery.com>
6719
6720	Backport from mainline
6721	2019-05-24  Andrew Stubbs  <ams@codesourcery.com>
6722
6723	* config/gcn/gcn-run.c (main): Set a non-zero return value if the
6724	kernel does not exit cleanly.
6725	* config/gcn/gcn.md (gcn_return): Insert s_waitcnt before s_dcache_wb.
6726
67272019-06-25  Andrew Stubbs  <ams@codesourcery.com>
6728
6729	Backport from mainline
6730	2019-05-24  Andrew Stubbs  <ams@codesourcery.com>
6731
6732	* config/gcn/gcn.c (gcn_expand_prologue): Use gen_addsi3_scalar_carry
6733	for lo-part.
6734
67352019-06-21  Richard Biener  <rguenther@suse.de>
6736
6737	PR tree-optimization/90930
6738	* tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited
6739	flag on new stmts to avoid re-processing them.
6740
67412019-06-24  Richard Biener  <rguenther@suse.de>
6742
6743	PR tree-optimization/90930
6744	PR tree-optimization/90316
6745	* tree-ssa-alias.c (walk_non_aliased_vuses): Add missing
6746	decrement of limit.
6747
67482019-06-16  Jeff Law  <law@redhat.com>
6749
6750	Backport from mainline
6751	2019-06-16  Prachi Godbole  <prachi.godbole@imgtec.com>
6752		    Robert Suchanek  <robert.suchanek@mips.com>
6753	* config/mips/mips.c (mips_expand_builtin_insn): Swap the 1st
6754	and 3rd operands of the fmadd/fmsub/maddv builtin.
6755
67562019-06-16  John David Anglin  <danglin@gcc.gnu.org>
6757
6758	PR middle-end/64242
6759	* config/pa/pa.md (nonlocal_goto): Restore frame pointer last.  Add
6760	frame clobbers and schedule block.
6761	(builtin_longjmp): Likewise.
6762
67632019-06-11  Jakub Jelinek  <jakub@redhat.com>
6764
6765	PR target/90811
6766	* config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d
6767	instead of and.u%d.
6768
67692019-06-07  John David Anglin  <danglin@gcc.gnu.orig>
6770
6771	PR target/90751
6772	* config/pa/pa-linux.h (ASM_DECLARE_FUNCTION_NAME): Update comment.
6773	Call pa_output_function_label.
6774	(TARGET_ASM_FUNCTION_PROLOGUE): define.
6775	* config/pa/pa-protos.h (pa_output_function_label): Declare.
6776	* config/pa/pa.c (pa_output_function_prologue): Add ATTRIBUTE_UNUSED
6777	to declaration.
6778	(pa_linux_output_function_prologue): Declare.
6779	(TARGET_ASM_FUNCTION_PROLOGUE): Delete define.
6780	(pa_output_function_label): New.
6781	(pa_output_function_prologue): Revise to use pa_output_function_label.
6782	(pa_linux_output_function_prologue): New.
6783	* config/pa/pa.h (TARGET_ASM_FUNCTION_PROLOGUE): Define.
6784
67852019-06-06  Richard Biener  <rguenther@suse.de>
6786
6787	Backport from mainline
6788	2019-05-22  Richard Biener  <rguenther@suse.de>
6789
6790	PR tree-optimization/90450
6791	* tree-ssa-loop-im.c (struct im_mem_ref): Add ref_decomposed.
6792	(mem_ref_hasher::equal): Check it.
6793	(mem_ref_alloc): Initialize it.
6794	(gather_mem_refs_stmt): Set it.
6795
6796	2019-05-13  Richard Biener  <rguenther@suse.de>
6797
6798	PR tree-optimization/90402
6799	* tree-if-conv.c (tree_if_conversion): Value number only
6800	the loop body by making the latch an exit of the region
6801	as well.
6802	* tree-ssa-sccvn.c (process_bb): Add flag whether to skip
6803	processing PHIs.
6804	(do_rpo_vn): Deal with multiple edges into the entry block
6805	that are not backedges inside the region by skipping PHIs
6806	of the entry block.
6807
6808	2019-05-06  Richard Biener  <rguenther@suse.de>
6809
6810	PR tree-optimization/90328
6811	* tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest.
6812	* tree-data-ref.c (dr_may_alias_p): Check whether the clique
6813	is valid in the loop nest before using it.
6814	(initialize_data_dependence_relation): Adjust.
6815	* graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing
6816	loop as loop-nest to dr_may_alias_p.
6817
68182019-06-05  Eric Botcazou  <ebotcazou@adacore.com>
6819
6820	* fold-const.c (extract_muldiv_1) <PLUS_EXPR>: Do not distribute a
6821	multiplication by a power-of-two value.
6822	(fold_plusminus_mult_expr): Use pow2p_hwi to spot a power-of-two value
6823	and turn the modulo operation into a masking operation.
6824
68252019-06-05  Jakub Jelinek  <jakub@redhat.com>
6826
6827	PR debug/90733
6828	* var-tracking.c (vt_expand_loc_callback): Don't create raw subregs
6829	with VOIDmode inner operands.
6830
68312019-06-05  Iain Sandoe  <iain@sandoe.co.uk>
6832
6833	Backport from mainline.
6834	2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
6835	* doc/sourcebuild.texi: Document mfentry target support.
6836
68372019-05-30  Jakub Jelinek  <jakub@redhat.com>
6838
6839	* tree-predcom.c (is_inv_store_elimination_chain): Fix a typo - lenght
6840	to length.
6841
68422019-05-30  Iain Sandoe  <iain@sandoe.co.uk>
6843
6844	Backport from mainline.
6845	2019-05-23  Iain Sandoe  <iain@sandoe.co.uk>
6846
6847	* config/i386/darwin.h: Reject -mfentry*.
6848
68492019-05-30  Iain Sandoe  <iain@sandoe.co.uk>
6850
6851	Backport from mainline.
6852	2019-05-12  Iain Sandoe  <iain@sandoe.co.uk>
6853
6854	PR target/82920
6855	* config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for
6856	Darwin.
6857
68582019-05-30  Iain Sandoe  <iain@sandoe.co.uk>
6859
6860	Backport from mainline.
6861	2019-05-12  Iain Sandoe  <iain@sandoe.co.uk>
6862
6863	PR target/82920
6864	* config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New.
6865	(ix86_output_indirect_branch_via_reg): Use output mechanism
6866	accounting for __USER_LABEL_PREFIX__.
6867	(ix86_output_indirect_branch_via_push): Likewise.
6868	(ix86_output_function_return): Likewise.
6869	(ix86_output_indirect_function_return): Likewise.
6870
68712019-05-29  Jakub Jelinek  <jakub@redhat.com>
6872
6873	PR fortran/90329
6874	* lto-streamer.h (LTO_minor_version): Bump to 1.
6875
6876	Backported from mainline
6877	2019-05-16  Jakub Jelinek  <jakub@redhat.com>
6878
6879	PR fortran/90329
6880	* tree-core.h (struct tree_decl_common): Document
6881	decl_nonshareable_flag for PARM_DECLs.
6882	* tree.h (DECL_HIDDEN_STRING_LENGTH): Define.
6883	* calls.c (expand_call): Don't try tail call if caller
6884	has any DECL_HIDDEN_STRING_LENGTH PARM_DECLs that are or might be
6885	passed on the stack and callee needs to pass any arguments on the
6886	stack.
6887	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
6888	else if instead of series of mutually exclusive ifs.  Handle
6889	DECL_HIDDEN_STRING_LENGTH for PARM_DECLs.
6890	* tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
6891
68922019-05-29  Jakub Jelinek  <jakub@redhat.com>
6893
6894	PR bootstrap/90543
6895	* optc-save-gen.awk: In cl_optimization_print, use correct condition
6896	for var_opt_string printing.  In cl_optimization_print_diff, print
6897	(null) instead of invoking undefined behavior if one of the
6898	var_opt_string pointers is NULL and use && instead of first || in the
6899	guarding condition.  For var_target_other options, handle const char *
6900	target variables similarly to const char * optimize node variables.
6901
69022019-05-28  John David Anglin  <danglin@gcc.gnu.org>
6903
6904	* config/pa/pa.c (hppa_profile_hook): Remove offset adjustment.
6905
69062019-05-27  Eric Botcazou  <ebotcazou@adacore.com>
6907
6908	* dwarf2out.c (resolve_args_picking_1): Deal with DW_OP_GNU_addr_index
6909	and DW_OP_GNU_const_index opcodes.
6910
69112019-05-24  John David Anglin  <danglin@gcc.gnu.org>
6912
6913	PR target/90530
6914	* config/pa/pa.c (pa_can_change_mode_class): Accept mode changes from
6915	DImode to SImode in floating-point registers on 64-bit target.
6916	* config/pa/pa.md (umulsidi3): Change nonimmediate_operand to
6917	register_operand in xmpyu patterns.
6918
69192019-05-24  Martin Liska  <mliska@suse.cz>
6920
6921	Backport from mainline
6922	2019-05-23  Martin Liska  <mliska@suse.cz>
6923
6924	PR sanitizer/90570
6925	* gimplify.c (gimplify_target_expr): Skip TREE_STATIC target
6926	expression similarly to gimplify_decl_expr.
6927
69282019-05-22  Uroš Bizjak  <ubizjak@gmail.com>
6929
6930	Backported from mainline
6931	2019-05-21  Uroš Bizjak  <ubizjak@gmail.com>
6932
6933	* config/i386/cpuid.h (__cpuid): For 32bit targets, zero
6934	%ebx and %ecx bafore calling cpuid with leaf 1 or
6935	non-constant leaf argument.
6936
6937	2019-05-21  Uroš Bizjak  <ubizjak@gmail.com>
6938
6939	PR target/90547
6940	* config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
6941	Avoid calling gen_lowpart with CONST operand.
6942
69432019-05-21  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6944
6945	Backported from mainline
6946	2019-05-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6947
6948	* config/arm/t-rtems: Replace ARMv7-M multilibs with Cortex-M
6949	multilibs.
6950
69512019-05-20  Jeff Law  <law@redhat.com>
6952
6953	Backported from mainline
6954	2019-05-17  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
6955
6956	* config/mips/mips.c (mips_dwarf_frame_reg_mode): Replace
6957	TARGET_FLOAT64 with !TARGET_FLOAT32, thus handling both fp64
6958	and fpxx modes.
6959
69602019-05-17  Jakub Jelinek  <jakub@redhat.com>
6961
6962	Backported from mainline
6963	2019-05-16  Jakub Jelinek  <jakub@redhat.com>
6964
6965	PR c++/90484
6966	* tree-ssa-scopedtables.c (equal_mem_array_ref_p): Don't assert that
6967	sz0 is equal to sz1, instead return false in that case.
6968
6969	* omp-low.c (lower_rec_input_clauses): If OMP_CLAUSE_IF
6970	has non-constant expression, force sctx.lane and use two
6971	argument IFN_GOMP_SIMD_LANE instead of single argument.
6972	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Don't DCE
6973	two argument IFN_GOMP_SIMD_LANE without lhs.
6974	* tree-vectorizer.h (struct _loop_vec_info): Add simd_if_cond
6975	member.
6976	(LOOP_VINFO_SIMD_IF_COND, LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND):
6977	Define.
6978	(LOOP_REQUIRES_VERSIONING): Or in
6979	LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND.
6980	* tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
6981	simd_if_cond.
6982	(vect_analyze_loop_2): Punt if LOOP_VINFO_SIMD_IF_COND is constant 0.
6983	* tree-vect-loop-manip.c (vect_loop_versioning): Add runtime check
6984	from simd if clause if needed.
6985
6986	2019-05-15  Jakub Jelinek  <jakub@redhat.com>
6987
6988	* omp-low.c (lower_rec_input_clauses): For if (0) or simdlen (1) set
6989	max_vf to 1.
6990	* omp-expand.c (expand_omp_simd): For if (0) or simdlen (1) clear
6991	safelen_int and set loop->dont_vectorize.
6992
6993	2019-05-10  Jakub Jelinek  <jakub@redhat.com>
6994
6995	PR tree-optimization/90385
6996	* tree-parloops.c (try_create_reduction_list): Punt on non-SSA_NAME
6997	arguments of the exit phis.
6998
6999	PR c++/90383
7000	* tree-inline.h (struct copy_body_data): Add do_not_fold member.
7001	* tree-inline.c (remap_gimple_op_r): Avoid folding expressions if
7002	id->do_not_fold.
7003	(copy_tree_body_r): Likewise.
7004	(copy_fn): Set id.do_not_fold to true.
7005
7006	2019-05-03  Jakub Jelinek  <jakub@redhat.com>
7007
7008	PR tree-optimization/90303
7009	* ipa-devirt.c (obj_type_ref_class, get_odr_type): Don't use
7010	TYPE_CANONICAL for TYPE_STRUCTURAL_EQUALITY_P types in !in_lto_p mode.
7011
70122019-05-17  Richard Biener  <rguenther@suse.de>
7013
7014	Backport from mainline
7015	2019-05-07  Richard Biener  <rguenther@suse.de>
7016
7017	PR tree-optimization/90316
7018	* tree-ssa-alias.h (get_continuation_for_phi): Take walking
7019	limit by reference.
7020	(walk_non_aliased_vuses): Take walking limit argument.
7021	* tree-ssa-alias.c (maybe_skip_until): Take limit and abort
7022	walking if it is reached instead of just counting.
7023	(get_continuation_for_phi): Likewise.
7024	(walk_non_aliased_vuses): Likewise, instead of leaving counter
7025	limiting to the callback.
7026	* tree-ssa-sccvn.c (vn_reference_lookup_2): Adjust.
7027	(vn_reference_lookup_3): Likewise.
7028	(vn_reference_lookup_pieces): Likewise.
7029	(vn_reference_lookup): Likewise.
7030	* tree-ssa-pre.c (translate_vuse_through_block): Limit walking.
7031	* tree-ssa-scopedtables.c (vuse_eq): Adjust.
7032	(avail_exprs_stack::lookup_avail_expr): Likewise.
7033
7034	2019-05-06  Richard Biener  <rguenther@suse.de>
7035
7036	PR tree-optimization/90316
7037	* tree-ssa-alias.c (maybe_skip_until): Pass in target BB,
7038	compute target on demand.
7039	(get_continuation_for_phi): Remove code walking stmts to
7040	get to a target virtual operand which could end up being
7041	quadratic.
7042
70432019-05-15  Li Jia He  <helijia@linux.ibm.com>
7044
7045	Backport from mainline.
7046	2019-05-07  Li Jia He  <helijia@linux.ibm.com>
7047
7048	* tree-ssa-phiopt.c (two_value_replacement): Fix a typo in parameter
7049	detection.
7050
70512019-05-14  Martin Liska  <mliska@suse.cz>
7052
7053	Backport from mainline
7054	2019-05-13  Martin Liska  <mliska@suse.cz>
7055
7056	PR tree-optimization/90416
7057	* tree-vect-stmts.c (vect_check_load_store_mask): Concatenate
7058	string instead of passing the second part as va_arg argument.
7059
70602019-05-14  Martin Liska  <mliska@suse.cz>
7061
7062	Backport from mainline
7063	2019-05-13  Martin Liska  <mliska@suse.cz>
7064
7065	PR gcov-profile/90380
7066	* gcov.c (handle_cycle): Do not support zero cycle count,
7067	it should not be possible.
7068	(path_contains_zero_cycle_arc): New function.
7069	(circuit): Ignore zero cycle arc counts.
7070
70712019-05-14  Martin Liska  <mliska@suse.cz>
7072
7073	Backport from mainline
7074	2019-05-13  Martin Liska  <mliska@suse.cz>
7075
7076	PR gcov-profile/90380
7077	* gcov.c (enum loop_type): Remove the enum and
7078	the operator.
7079	(handle_cycle): Assert that we should not reach
7080	a negative count.
7081	(circuit): Use loop_found instead of a tri-state loop_type.
7082	(get_cycles_count): Do not handle NEGATIVE_LOOP as it can't
7083	happen.
7084
70852019-05-14  Chenghua Xu  <paul.hua.gm@gmail.com>
7086
7087	Backport from mainline.
7088	2019-05-14  Chenghua Xu  <paul.hua.gm@gmail.com>
7089
7090	PR target/90357
7091	* config/mips/mips.c (mips_split_move): Skip forward SRC into
7092	next insn when the SRC reg is dead.
7093
70942019-05-11  Andreas Tobler <andreast@gcc.gnu.org>
7095
7096	Backport from mainline.
7097	2019-04-25  Andreas Tobler  <andreast@gcc.gnu.org>
7098
7099	* config/i386/freebsd64.h: Add bits for 32-bit multilib support.
7100	* config/i386/t-freebsd64: New file.
7101	* config.gcc: Add the t-freebsd64 for multilib support.
7102
71032019-05-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
7104
7105	Backport from mainline.
7106	2019-05-07  Kelvin Nilsen  <kelvin@gcc.gnu.org>
7107
7108	PR target/89765
7109	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
7110	In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic
7111	to compute vector element selector for both constant and variable
7112	operands.
7113
71142019-05-10  Richard Biener  <rguenther@suse.de>
7115
7116	* tree-ssa-sccvn.c (visit_reference_op_call): Initialize value-id.
7117	(do_rpo_vn): Initialize next_value_id.
7118
71192019-05-09  Thomas Schwinge  <thomas@codesourcery.com>
7120
7121	* cif-code.def (CHKP): Remove.
7122
71232019-05-07  Kelvin Nilsen  <kelvin@gcc.gnu.org>
7124
7125	Backport from mainline.
7126	2019-05-06  Kelvin Nilsen  <kelvin@gcc.gnu.org>
7127
7128	PR target/89424
7129	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
7130	handling of V1TImode.
7131
71322019-05-06  Martin Liska  <mliska@suse.cz>
7133
7134	Backport from mainline
7135	2019-05-06  Martin Liska  <mliska@suse.cz>
7136
7137	PR sanitizer/90312
7138	* config/i386/i386-options.c (ix86_option_override_internal): Error only
7139	when -mabi is selected to a non-default version.
7140
71412019-05-04  Michael Meissner  <meissner@linux.ibm.com>
7142
7143	* ChangeLog.ibm: Delete unintentional commit on the wrong branch.
7144	* REVISION: Likewise.
7145
71462019-05-03  Richard Biener  <rguenther@suse.de>
7147
7148	PR tree-optimization/90316
7149	* tree-ssa-pre.c (pass_pre::execute): Re-compute DOM fast queries
7150	before running VN.
7151
71522019-05-03  Jakub Jelinek  <jakub@redhat.com>
7153
7154	* BASE-VER: Set to 9.1.1.
7155
71562019-05-03  Release Manager
7157
7158	* GCC 9.1.0 released.
7159
71602019-04-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7161
7162	Backport from mainline.
7163	2019-04-30  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7164	PR target/86538
7165	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
7166	Define __ARM_FEATURE_ATOMICS.
7167
71682019-04-30  Martin Liska  <mliska@suse.cz>
7169
7170	Backport from mainline
7171	2019-04-30  Martin Liska  <mliska@suse.cz>
7172
7173	PR translation/90274
7174	* opts.c (print_filtered_help): Wrap string in _(...).
7175
71762019-04-30  Martin Liska  <mliska@suse.cz>
7177
7178	Backport from mainline
7179	2019-04-27  Martin Liska  <mliska@suse.cz>
7180
7181	PR middle-end/90258
7182	* opt-suggestions.c (option_proposer::build_option_suggestions):
7183	When get_valid_option_values returns empty values, add the
7184	misspelling candidate.
7185
71862019-04-30  Richard Biener  <rguenther@suse.de>
7187
7188	PR tree-optimization/90273
7189	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Eliminate
7190	useless debug stmts.
7191
71922019-04-27  Iain Buclaw  <ibuclaw@gdcproject.org>
7193
7194	* config/netbsd-d.c: Include memmodel.h.  Remove unused tree.h,
7195	varasm.h, and netbsd-protos.h.
7196
71972019-04-26  Segher Boessenkool  <segher@kernel.crashing.org>
7198
7199	PR other/90257
7200	Revert the revert:
7201	2019-04-21  H.J. Lu  <hongjiu.lu@intel.com>
7202
7203	PR target/90178
7204	Revert:
7205	2018-11-21  Uros Bizjak  <ubizjak@gmail.com>
7206
7207	Revert the revert:
7208	2013-10-26  Vladimir Makarov  <vmakarov@redhat.com>
7209
7210	Revert:
7211	2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>
7212
7213	* lra-spills.c (lra_final_code_change): Remove useless move insns.
7214
72152019-04-25  Jakub Jelinek  <jakub@redhat.com>
7216
7217	PR tree-optimization/90240
7218	Revert:
7219	2019-04-23  Bin Cheng  <bin.cheng@linux.alibaba.com>
7220
7221	PR tree-optimization/90078
7222	* tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
7223	checks for infinite_cost overflow.
7224
72252019-04-25  Jakub Jelinek  <jakub@redhat.com>
7226
7227	* DEV-PHASE: Set to prerelease.
7228
72292019-04-25  Richard Biener  <rguenther@suse.de>
7230
7231	PR middle-end/89765
7232	* gimplify.c (gimplify_expr): Avoid turning a lvalue
7233	VIEW_CONVERT_EXPR into one operating on an rvalue.
7234
72352019-04-25  H.J. Lu  <hongjiu.lu@intel.com>
7236
7237	PR target/89929
7238	* config/i386/i386.c (feature_priority): Moved to file scope.
7239	(processor_features): Likewise.
7240	(processor_model): Likewise.
7241	(_arch_names_table): Likewise.
7242	(arch_names_table): Likewise.
7243	(_feature_list): Removed.
7244	(feature_list): Likewise.
7245	(_isa_names_table): Moved to file scope.  Add priority.
7246	(isa_names_table): Likewise.
7247	(get_builtin_code_for_version): Replace feature_list with
7248	isa_names_table.  Update error message for P_ZERO priority.
7249
72502019-04-25  Richard Biener  <rguenther@suse.de>
7251
7252	* tree-pass.h (make_pass_phi_only_cprop): Remove.
7253	* timevar.def (TV_TREE_PHI_CPROP): Likewise.
7254
72552019-04-24  Jeff Law  <law@redhat.com>
7256
7257	PR tree-optimization/90037
7258	* Makefile.in (OBJS): Remove tree-ssa-phionlycprop.c
7259	* passes.def: Replace all instance of phi-only cprop with the
7260	lattice propagator.  Move propagation pass from after erroneous
7261	path isolation to before erroneous path isolation.
7262	* tree-ssa-phionlycprop.c: Remove.
7263
72642019-04-24  Richard Biener  <rguenther@suse.de>
7265
7266	PR middle-end/90213
7267	* gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication
7268	by size and BITS_PER_UNIT on poly-wide-ints.
7269
72702019-04-25  Richard Biener  <rguenther@suse.de>
7271
7272	PR middle-end/90194
7273	* match.pd: Add pattern to simplify view-conversion of an
7274	empty constructor.
7275
72762019-04-24  Clement Chigot  <clement.chigot@atos.net>
7277
7278	* config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Disable
7279	OPTION_MASK_VSX and OPTION_MASK_ALTIVEC from rs6000_isa_flags
7280	for Go on 32 bit AIX.
7281	* config/rs6000/aix72.h: Likewise.
7282
72832019-04-24  Jakub Jelinek  <jakub@redhat.com>
7284
7285	PR target/90193
7286	* rtl.c (classify_insn): Return JUMP_INSN for asm goto.
7287	* emit-rtl.c (try_split): Copy over REG_LABEL_TARGET.
7288
72892019-04-24  Andreas Krebbel  <krebbel@linux.ibm.com>
7290
7291	PR target/89952
7292	* config/s390/s390.c (s390_restore_gprs_from_fprs): Restore GPRs
7293    	from FPRs in reverse order.  Generate REG_CFA_DEF_CFA note also
7294    	for restored hard frame pointer.
7295	(s390_sched_dependencies_evaluation): Implement new target hook.
7296	(TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New macro definition.
7297
72982019-04-24  Claudiu Zissulescu  <claziss@sysnopsys.com>
7299
7300	* config/arc/arc-options.def: Fix typos and spelling mistakes.
7301	* config/arc/arc.c (arc_init): Cleanup warning message.
7302	(arc_override_options): Likewise.
7303
73042019-04-24  Jakub Jelinek  <jakub@redhat.com>
7305
7306	PR target/90187
7307	* config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into
7308	a register if both if_true and if_false are MEMs.
7309
7310	PR tree-optimization/90208
7311	* tree-cfg.c (remove_bb): Move forced labels from removed bbs
7312	after labels of new_bb, not before them.
7313
7314	PR tree-optimization/90211
7315	* tree-parloops.c (try_create_reduction_list): Ignore phi arguments
7316	which are not SSA_NAMEs.
7317
73182018-04-23  Sudakshina Das  <sudi.das@arm.com>
7319
7320	* config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define for
7321	AArch64.
7322	(aarch64_file_end_indicate_exec_stack): Add gnu note section.
7323
73242019-04-23  Roman Zhuykov  <zhroma@ispras.ru>
7325
7326	PR rtl-optimization/87979
7327	* modulo-sched.c (sms_schedule): Start ii value "mii" should
7328	not equal zero.
7329
73302019-04-23  Roman Zhuykov  <zhroma@ispras.ru>
7331
7332	PR rtl-optimization/84032
7333	* modulo-sched.c (ps_insn_find_column): Change condition so that
7334	branch will always be the last insn in a row inside partial
7335	schedule.
7336
73372019-04-23  Richard Biener  <rguenther@suse.de>
7338
7339	PR debug/90131
7340	* tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Add
7341	dest_single_pred_p argument.
7342	(remove_forwarder_block): Adjust.
7343	(remove_forwarder_block_with_phi): Likewise.
7344
73452019-04-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
7346	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
7347	    Jakub Jelinek  <jakub@redhat.com>
7348
7349	PR target/89093
7350	* config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Diagnose
7351	if used with general-regs-only.
7352	(arm_conditional_register_usage): Don't add non-general regs if
7353	general-regs-only.
7354	(arm_valid_target_attribute_rec): Handle general-regs-only.
7355	* config/arm/arm.h (TARGET_HARD_FLOAT): Return false if
7356	general-regs-only.
7357	(TARGET_HARD_FLOAT_SUB): Define.
7358	(TARGET_SOFT_FLOAT): Define as negation of TARGET_HARD_FLOAT_SUB.
7359	(TARGET_REALLY_IWMMXT): Add && !TARGET_GENERAL_REGS_ONLY.
7360	(TARGET_REALLY_IWMMXT2): Likewise.
7361	* config/arm/arm.opt: Add -mgeneral-regs-only.
7362	* doc/extend.texi: Document ARM general-regs-only target.
7363	* doc/invoke.texi: Document ARM -mgeneral-regs-only.
7364
73652019-04-23  Bin Cheng  <bin.cheng@linux.alibaba.com>
7366
7367	PR tree-optimization/90078
7368	* tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
7369	checks for infinite_cost overflow.
7370
73712019-04-23  Bin Cheng  <bin.cheng@linux.alibaba.com>
7372
7373	PR tree-optimization/90021
7374	* tree-chrec.c (evolution_function_is_univariate_p): New parameter
7375	and check univariate against it.
7376	* tree-chrec.h (evolution_function_is_univariate_p): New parameter.
7377	* tree-data-ref.c (add_other_self_distances): Pass new argument.
7378
73792019-04-21  H.J. Lu  <hongjiu.lu@intel.com>
7380
7381	PR target/90178
7382	Revert:
7383	2018-11-21  Uros Bizjak  <ubizjak@gmail.com>
7384
7385	Revert the revert:
7386	2013-10-26  Vladimir Makarov  <vmakarov@redhat.com>
7387
7388	Revert:
7389	2013-10-25  Vladimir Makarov  <vmakarov@redhat.com>
7390
7391	* lra-spills.c (lra_final_code_change): Remove useless move insns.
7392
73932019-04-21  Iain Sandoe  <iain@sandoe.co.uk>
7394
7395	* config/rs6000/rs6000.md (group_end_nop): Emit insn register
7396	names using operand format, rather than hard-wired.
7397	(speculation_barrier): Likewise.
7398
73992019-04-19  Segher Boessenkool  <segher@kernel.crashing.org>
7400
7401	PR tree-optimization/88055
7402	* tree-call-cdce.c (comparison_code_if_no_nans): New function.
7403	(gen_one_condition): Use it if !HONOR_NANS.
7404
74052019-04-19  Jakub Jelinek  <jakub@redhat.com>
7406
7407	PR middle-end/90139
7408	* tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return
7409	assign_temp instead of gen_reg_rtx.
7410
74112019-04-19  Christophe Lyon  <christophe.lyon@linaro.org>
7412
7413	PR translation/90118
7414	* config/aarch64/aarch64.c (aarch64_override_options_internal):
7415	Add missing space before %<.
7416
74172019-04-18  Peter Bergner  <bergner@linux.ibm.com>
7418
7419	PR rtl-optimization/87871
7420	* ira-lives.c (make_object_dead): Don't add conflicts to
7421	TOTAL_CONFLICT_HARD_REGS for register ignore_reg_for_conflicts.
7422
74232019-04-18  Martin Sebor  <msebor@redhat.com>
7424
7425	PR middle-end/89797
7426	* tree.h (TYPE_VECTOR_SUBPARTS): Use HOST_WIDE_INT_1U.
7427	* config/aarch64/aarch64.c (aarch64_simd_vector_alignment): Avoid
7428	assuming type size fits in SHWI.
7429
74302019-04-18  Jan Hubicka  <hubicka@ucw.cz>
7431
7432	PR ipa/85051
7433	* ipa-inline.c (flatten_function): New parameter UPDATE.
7434	(ipa_inline, early_inliner): Use it.
7435
74362019-04-18  Richard Sandiford  <richard.sandiford@arm.com>
7437
7438	* fold-const.c (int_const_binop): Return early on failure.
7439
74402019-04-18  Richard Sandiford  <richard.sandiford@arm.com>
7441
7442	PR middle-end/85164
7443	* combine.c (force_int_to_mode): Cast the argument rather than
7444	the result of known_alignment.
7445	* rtlanal.c (rtx_addr_can_trap_p_1): Use known_subrange_p.
7446
74472019-04-18  Richard Biener  <rguenther@suse.de>
7448
7449	PR debug/90131
7450	* tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Split
7451	out from ...
7452	(remove_forwarder_block): ... here.
7453	(remove_forwarder_block_with_phi): Also move debug stmts here.
7454
74552019-04-18  Jakub Jelinek  <jakub@redhat.com>
7456
7457	PR translation/79183
7458	* gimple-ssa-sprintf.c (format_directive): Use inform_n instead of
7459	inform where appropriate.
7460
74612019-04-18  Richard Biener  <rguenther@suse.de>
7462
7463	* tree.c (get_qualified_type): Put found type variants at the
7464	head of the variant list.
7465
74662018-04-17  Segher Boessenkool  <segher@kernel.crashing.org>
7467
7468	* config/rs6000/rs6000.c (rs6000_register_move_cost): Fix typo.
7469
74702019-04-17  Hongtao Liu  <hongtao.liu@intel.com>
7471
7472	PR target/90125
7473	* config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd,
7474	_mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd,
7475	_mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd,
7476	_mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd,
7477	_mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3.
7478
74792019-04-17  Peter Bergner  <bergner@linux.ibm.com>
7480
7481	* ira-conflicts.c (print_allocno_conflicts): Always print something,
7482	even for allocno's with no conflicts.
7483	(print_conflicts): Print an extra newline.
7484
74852019-04-17  Segher Boessenkool  <segher@kernel.crashing.org>
7486
7487	* auto-inc-dec.c (attempt_change): Set the alignment of the
7488	temporary memory to that of the original.
7489
74902019-04-17  Joao Moreira  <jmoreira@suse.de>
7491
7492	* targhooks.c (default_print_patchable_function_entry): Emit
7493	__patchable_function_entries section with writable flags to allow
7494	relocation resolution.
7495
74962019-04-17  Jonny Grant  <jg@jguk.org>
7497
7498	* collect2.c (main): Change gcc.gnu.org URL to HTTPS.
7499
75002019-04-17  Jakub Jelinek  <jakub@redhat.com>
7501
7502	PR middle-end/90095
7503	* internal-fn.c (expand_mul_overflow): Don't set SUBREG_PROMOTED_VAR_P
7504	on lowpart SUBREGs.
7505
75062019-04-17  Claudiu Zissulescu  <claziss@synopsys.com>
7507
7508	* config/arc/arc.c (arc_init): Format diagnostic string.
7509	(arc_override_options): Likewise.
7510	(check_if_valid_regno_const): Likewise.
7511	(arc_reorg): Likewise.
7512
75132019-04-17  Segher Boessenkool  <segher@kernel.crashing.org>
7514
7515	PR target/17108
7516	* config/rs6000/rs6000.c (rs6000_split_multireg_move): Adjust pattern
7517	name.
7518	(rs6000_emit_allocate_stack_1): Simplify condition.  Adjust pattern
7519	name.
7520	* config/rs6000/rs6000.md (bits): Add entries for SF and DF.
7521	(*movdi_update1): Use Pmode.
7522	(movdi_<mode>_update): Fix argument to avoiding_indexed_address_p.
7523	(movdi_<mode>_update_stack): Rename to ...
7524	(movdi_update_stack): ... this.  Fix comment.  Change condition. Don't
7525	use Pmode.
7526	(*movsi_update1): Use Pmode.
7527	(*movsi_update2): Use Pmode.
7528	(movsi_update): Rename to ...
7529	(movsi_<mode>_update): ... this.  Use Pmode.
7530	(movsi_update_stack): Fix condition.
7531	(*movhi_update1): Use Pmode.  Fix argument to
7532	avoiding_indexed_address_p.
7533	(*movhi_update2): Ditto.
7534	(*movhi_update3): Ditto.
7535	(*movhi_update4): Ditto.
7536	(*movqi_update1): Ditto.
7537	(*movqi_update2): Ditto.
7538	(*movqi_update3): Ditto.
7539	(*movsf_update1, *movdf_update1): Merge, rename to...
7540	(*mov<mode>_update1): This.  Use Pmode.  Fix argument to
7541	avoiding_indexed_address_p.  Add "size" attribute.
7542	(*movsf_update2, *movdf_update2): Merge, rename to...
7543	(*mov<mode>_update2): This.  Ditto.
7544	(*movsf_update3): Use Pmode.  Fix argument to
7545	avoiding_indexed_address_p.
7546	(*movsf_update4): Ditto.
7547	(allocate_stack): Simplify condition.  Adjust pattern names.
7548
75492019-04-17  Jakub Jelinek  <jakub@redhat.com>
7550
7551	PR target/89093
7552	* config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip
7553	whitespace at the start of target attribute string.
7554
75552019-04-16  Pat Haugen  <pthaugen@us.ibm.com>
7556
7557	PR target/84369
7558	* config/rs6000/power9.md: Add store forwarding bypass.
7559
75602019-04-16  Alexandre Oliva <aoliva@redhat.com>
7561
7562	PR debug/89528
7563	* valtrack.c (dead_debug_insert_temp): Reset debug references
7564	to the return value of a call being removed.
7565
75662019-04-16  Claudiu Zissulescu  <claziss@synopsys.com>
7567
7568	* config/arc/arc-protos.h (arc_register_move_cost): Remove.
7569	* config/arc/arc.c (arc_register_move_cost): Re-purpose it to
7570	implement target hook.
7571	(arc_memory_move_cost): New function.
7572	(TARGET_REGISTER_MOVE_COST): Define.
7573	(TARGET_MEMORY_MOVE_COST): Likewise.
7574	* config/arc/arc.h (REGISTER_MOVE_COST): Remove.
7575	(MEMORY_MOVE_COST): Likewise.
7576
75772019-04-16  Claudiu Zissulescu  <claziss@synopsys.com>
7578
7579	* config/arc/arc.md (sibcall_insn): Use Rcd constraint.
7580	(sibcall_value_insn): Likewise.
7581	* config/arc/constraints.md (Rs5): Remove.
7582
75832019-04-16  Claudiu Zissulescu  <claziss@synopsys.com>
7584
7585	* config/arc/arc.c (arc_hard_regno_modes): Add two missing modes
7586	for last two fake registers.
7587	(arc_conditional_register_usage): Make sure fake frame and arg
7588	pointer regs are in general regs class.
7589	(FRAME_POINTER_MASK): Remove.
7590	(RETURN_ADDR_MASK): Remove.
7591	(arc_must_save_register): Use hard frame regnum.
7592	(frame_restore_reg): Use hard_frame_pointer_rtx.
7593	(arc_save_callee_saves): Likewise.
7594	(arc_restore_callee_saves): Likewise.
7595	(arc_save_callee_enter): Likewise.
7596	(arc_restore_callee_leave): Likewise.
7597	(arc_save_callee_milli): Likewise.
7598	(arc_eh_return_address_location): Likewise.
7599	(arc_check_multi): Use hard frame regnum.
7600	(arc_can_eliminate): Likewise.
7601	* config/arc/arc.h (FIXED_REGISTERS): Make FP register available
7602	for register allocator.
7603	(REG_CLASS_CONTENTS): Update GENERAL_REGS.
7604	(REGNO_OK_FOR_BASE_P): Consider FRAME_POINTER_REGNUM.
7605	(FRAME_POINTER_REGNUM): Change it to a fake register.
7606	(HARD_FRAME_POINTER_REGNUM): Defined.
7607	(ARG_POINTER_REGNUM): Change it to a new fake register.
7608	(ELIMINABLE_REGS): Update.
7609	(REGISTER_NAMES): Update names.
7610	* config/arc/arc.md (LP_START): Remove.
7611	(LP_END): Likewise.
7612	(shift_si3_loop): Update pattern.
7613
76142019-04-16  Claudiu Zissulescu  <claziss@synopsys.com>
7615
7616	* config/arc/arc.c (arc_expand_prologue): Emit blockage regardless
7617	to avoid delay slot scheduling.
7618	(arc_must_save_register): Don't save SP.
7619	* config/arc/arc.md (stack_tie): Remove.
7620	(UNSPEC_ARC_STKTIE): Likewise.
7621
76222019-04-16  Kito Cheng  <kito.cheng@gmail.com>
7623	    Shiva Chen  <shiva0217@gmail.com>
7624
7625	* config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Fix wrong
7626	code gen with large shift amount.
7627
76282019-04-16  Chung-Ju Wu  <jasonwucj@gmail.com>
7629
7630	* config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle
7631	subreg.
7632
76332019-04-16  Jakub Jelinek  <jakub@redhat.com>
7634
7635	PR target/90096
7636	* config/i386/i386.c (ix86_target_string): Add ADD_ABI_P argument, only
7637	print -m64/-mx32/-m32 if it is true.
7638	(ix86_debug_options, ix86_function_specific_print): Pass true as
7639	ADD_ABI_P to ix86_target_string.
7640	(ix86_expand_builtin): Adjust ix86_target_string caller, pass true as
7641	ADD_ABI_P only if OPTION_MASK_ISA_64BIT is set in bisa and in that case
7642	or into it OPTION_MASK_ISA_ABI_64 or OPTION_MASK_ISA_ABI_X32.
7643
7644	PR rtl-optimization/90082
7645	* dce.c (can_delete_call): New function.
7646	(deletable_insn_p, mark_insn): Use it.
7647
7648	PR tree-optimization/90090
7649	* tree-ssa-math-opts.c (is_division_by): Ignore divisions that can
7650	throw internally.
7651	(is_division_by_square): Likewise.  Formatting fix.
7652
76532019-04-16  Richard Biener  <rguenther@suse.de>
7654
7655	PR tree-optimization/56049
7656	* tree-ssa-loop-im.c (mem_ref_hasher::equal): Elide alias-set
7657	equality check if alias-set zero will prevail.
7658
76592019-04-15  Jeff Law  <law@redhat.com>
7660
7661	* config/microblaze/microblaze.c (microblaze_expand_block_move): Treat
7662	size and alignment as unsigned.
7663
76642019-04-15  Richard Biener  <rguenther@suse.de>
7665
7666	PR debug/90074
7667	* tree-loop-distribution.c (destroy_loop): Preserve correct
7668	debug info.
7669
76702019-04-15  Richard Biener  <rguenther@suse.de>
7671
7672	PR tree-optimization/90071
7673	* tree-ssa-reassoc.c (init_range_entry): Do not pick up
7674	abnormal operands from def stmts.
7675
76762019-04-15  Segher Boessenkool  <segher@kernel.crashing.org>
7677
7678	PR rtl-optimization/89794
7679	* combine.c (count_auto_inc): New function.
7680	(try_combine): Count how many auto_inc expressions there were in the
7681	original instructions.  Ensure we have the same number in the new
7682	instructions.  Remove the code that tried to ensure auto_inc side
7683	effects on i1 and i0 are not lost.
7684
76852019-04-15  Richard Biener  <rguenther@suse.de>
7686
7687	PR ipa/88936
7688	* tree.h (auto_var_p): Declare.
7689	* tree.c (auto_var_p): New function, split out from ...
7690	(auto_var_in_fn_p): ... here.
7691	* tree-ssa-structalias.c (struct variable_info): Add shadow_var_uid
7692	member.
7693	(new_var_info): Initialize it.
7694	(set_uids_in_ptset): Also set the shadow variable uid if required.
7695	(ipa_pta_execute): Postprocess points-to solutions assigning
7696	shadow variable uids for locals that may reach their containing
7697	function recursively.
7698	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Do not
7699	assert but instead check whether the points-to solution is
7700	a singleton.
7701
77022019-04-15  Martin Jambor  <mjambor@suse.cz>
7703
7704	PR ipa/pr89693
7705	* cgraph.c (clone_of_p): Loop over clone chain for each step in
7706	the thunk chain.
7707
77082019-04-15  Monk Chiang  <sh.chiang04@gmail.com>
7709
7710	* config.gcc (nds32*-*-linux*): Set gcc_cv_initfini_array to yes.
7711
77122019-04-15  Monk Chiang  <sh.chiang04@gmail.com>
7713	    Kito Cheng  <kito.cheng@gmail.com>
7714	    Shiva Chen  <shiva0217@gmail.com>
7715
7716	* config/nds32/nds32-md-auxiliary.c
7717	(nds32_legitimize_pic_address): Use new PIC pattern.
7718	(nds32_legitimize_tls_address): Use new TLS pattern.
7719	(nds32_output_symrel): New.
7720	* config/nds32/nds32-protos.h (nds32_output_symrel): Declare.
7721	(nds32_alloc_relax_group_id): Ditto.
7722	* config/nds32/nds32-relax-opt.c (nds32_alloc_relax_group_id): New.
7723	(nds32_group_insns): Use nds32_alloc_relax_group_id instead of use
7724	relax_group_id.
7725	(nds32_group_tls_insn): Ditto.
7726	(nds32_group_float_insns): Ditto.
7727	* config/nds32/nds32.md (tls_le): New.
7728	(sym_got): Ditto.
7729
77302019-04-15  Chung-Ju Wu  <jasonwucj@gmail.com>
7731
7732	* configure: Add nds32 target for dwarf2 debug_line checking.
7733	* configure.ac: Regenerated.
7734
77352019-04-14  Jan Hubicka  <hubicka@ucw.cz>
7736
7737	PR lto/89358
7738	* ipa-devirt.c (skip_in_fields_list_p): New.
7739	(odr_types_equivalent_p): Use it.
7740
77412019-04-13  Jakub Jelinek  <jakub@redhat.com>
7742
7743	PR target/89093
7744	* config/arm/arm.c (arm_valid_target_attribute_rec): Use strcmp
7745	instead of strncmp when checking for thumb and arm.  Formatting fixes.
7746
77472019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
7748
7749	* doc/install.texi: Document --with-target-system-zlib.
7750
77512019-04-12  Martin Sebor  <msebor@redhat.com>
7752
7753	PR c/88383
7754	PR c/89288
7755	PR c/89798
7756	PR c/89797
7757	* targhooks.c (default_vector_alignment): Avoid assuming
7758	argument fits in SHWI.
7759	* tree.h (TYPE_VECTOR_SUBPARTS): Avoid sign overflow in
7760	a shift expression.
7761	* doc/extend.texi (__builtin_has_attribute): Add a clarifying note.
7762
77632019-04-12  Jakub Jelinek  <jakub@redhat.com>
7764
7765	PR rtl-optimization/89965
7766	* dce.c: Include rtl-iter.h.
7767	(struct check_argument_load_data): New type.
7768	(check_argument_load): New function.
7769	(find_call_stack_args): Check for loads from stack slots still tracked
7770	in sp_bytes and punt if any is found.
7771
7772	* config/mips/loongson-mmiintrin.h: Fix up #error message.
7773
77742019-04-12  Jan Hubicka  <hubicka@ucw.cz>
7775
7776	* params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter.
7777	* doc/invoke.texi (max-lto-streaming-paralellism): New --param.
7778
77792019-04-12  Martin Liska  <mliska@suse.cz>
7780
7781	PR middle-end/89970
7782	* multiple_target.c (create_dispatcher_calls): Wrap ifunc
7783	in error message.
7784	(separate_attrs): Handle multiple 'default's.
7785	(expand_target_clones): Rework error handling code.
7786
77872019-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>
7788
7789	PR target/87532
7790	* config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Use inner
7791	mode of vector rather than mode of destination for move instruction.
7792	* config/rs6000/vsx.md (*vsx_extract_<mode>_<VS_scalar>mode_var):
7793	Use QI inner mode with V16QI vector mode.
7794
77952019-04-12  Jakub Jelinek  <jakub@redhat.com>
7796
7797	PR target/52726
7798	* config/tilepro/tilepro.c (tilepro_print_operand): Use just
7799	"invalid %%t operand" in output_operand_lossage message.
7800
78012019-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
7802
7803	* config/s390/predicates.md (permute_pattern_operand): New
7804	predicate.
7805	* config/s390/vector.md ("*vec_splats_bswap_vec<mode>"): Add USE
7806	operand for the permute pattern.
7807	("*vec_perm<mode>"): New insn definition.
7808	("bswap<mode>"): Generate the permute pattern operand in the
7809	expander and perform the operand reloads for pre arch13 level
7810	already.
7811	("*bswap<mode>_emu"): Rename to ...
7812	("*bswap<mode>"): ... this. And make the splitter vxe2 only.
7813	* config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>"):
7814	Add the USE operand for the permute pattern.
7815	("*vec_set_bswap_vec<mode>"): Likewise.
7816
78172019-04-12  Jakub Jelinek  <jakub@redhat.com>
7818
7819	PR c/89946
7820	* varasm.c (assemble_start_function): Don't use tree_fits_uhwi_p
7821	and gcc_unreachable if it fails, just call tree_to_uhwi which
7822	verifies that too.  Test TREE_CHAIN instead of list_length > 1.
7823	Start warning message with a lower-case letter.  Formatting fixes.
7824
7825	PR rtl-optimization/90026
7826	* cfgcleanup.c (try_optimize_cfg): When removing empty bb with no
7827	successors, look for BARRIERs inside of the whole BB_FOOTER chain
7828	rather than just at the start of it.  If e->src BB_FOOTER is not NULL
7829	in cfglayout mode, use emit_barrier_after_bb.
7830
78312018-04-11  Steve Ellcey  <sellcey@marvell.com>
7832
7833	PR rtl-optimization/87763
7834	* config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>4_noshift_alt):
7835	New Instruction.
7836
78372019-04-11  Tom de Vries  <tdevries@suse.de>
7838
7839	* doc/extend.texi (@node Statement Exprs): Note variable shadowing at
7840	max macro using statement expression.
7841
78422019-04-11  David Edelsohn  <dje.gcc@gmail.com>
7843
7844	* xcoffout.h (xcoff_private_rodata_section_name): Declare.
7845	* xcoffout.c (xcoff_private_rodata_section_name): Define.
7846	* config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create
7847	read_only_private_data_section using xcoff_private_rodata_section_name.
7848	(rs6000_xcoff_file_start): Generate xcoff_private_rodata_section_name.
7849
78502019-04-11  Christophe Lyon  <christophe.lyon@linaro.org>
7851
7852	PR target/90016
7853	* config/aarch64/aarch64.opt (msve-vector-bits): Add missing final '.'.
7854
78552019-04-11  Jakub Jelinek  <jakub@redhat.com>
7856
7857	PR rtl-optimization/89965
7858	* dce.c (sp_based_mem_offset): New function.
7859	(find_call_stack_args): Use sp_based_mem_offset.
7860
78612019-04-11  Jonathan Wakely  <jwakely@redhat.com>
7862
7863	* doc/invoke.texi (Optimize Options): Clarify -flive-patching docs.
7864
78652019-04-11  Richard Biener  <rguenther@suse.de>
7866
7867	PR tree-optimization/90020
7868	* tree-ssa-sccvn.c (vn_reference_may_trap): New function.
7869	* tree-ssa-sccvn.h (vn_reference_may_trap): Declare.
7870	* tree-ssa-pre.c (compute_avail): Use it to not put
7871	possibly trapping references after a call that might not
7872	return into EXP_GEN.
7873	* gcse.c (compute_hash_table_work): Do not elide
7874	marking a block containing a call if the call might not
7875	return.
7876
78772019-04-11  Richard Biener  <rguenther@suse.de>
7878
7879	PR tree-optimization/90018
7880	* tree-vect-data-refs.c (vect_preserves_scalar_order_p):
7881	Test both SLP and interleaving variants.
7882
78832019-04-11  Robin Dapp  <rdapp@linux.ibm.com>
7884
7885	* config/s390/8561.md: New file.
7886	* config/s390/driver-native.c (s390_host_detect_local_cpu):
7887	Add arch13 cpu model.
7888	* config/s390/s390-opts.h (enum processor_type): Likewise.
7889	* config/s390/s390.c (s390_get_sched_attrmask): Add arch13.
7890	(s390_get_unit_mask): Likewise.
7891	(s390_is_fpd): Likewise.
7892	(s390_is_fxd): Likewise.
7893	* config/s390/s390.h (s390_tune_attr): Likewise.
7894	* config/s390/s390.md: Include arch13 pipeline description.
7895	* config/s390/s390.opt: Add arch13.
7896
78972018-04-10  Steve Ellcey  <sellcey@marvell.com>
7898
7899	PR rtl-optimization/87763
7900	* config/aarch64/aarch64-protos.h (aarch64_masks_and_shift_for_bfi_p):
7901	New prototype.
7902	* config/aarch64/aarch64.c (aarch64_masks_and_shift_for_bfi_p):
7903	New function.
7904	* config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>5_shift):
7905	New instruction.
7906	(*aarch64_bfi<GPI:mode>5_shift_alt): Ditto.
7907	(*aarch64_bfi<GPI:mode>4_noand): Ditto.
7908	(*aarch64_bfi<GPI:mode>4_noand_alt): Ditto.
7909	(*aarch64_bfi<GPI:mode>4_noshift): Ditto.
7910
79112019-04-10  Jonathan Wakely  <jwakely@redhat.com>
7912
7913	* doc/invoke.texi (Optimize Options): Change "Nevertheless" to
7914	"Although" in -fipa-icf documentation.
7915
7916	* doc/invoke.texi (Debugging Options): Explicitly state the semantics
7917	of using multiple -g options.
7918
79192019-04-10  Martin Liska  <mliska@suse.cz>
7920
7921	PR gcov-profile/89959
7922	* doc/gcov.texi: Make documentation of -x option
7923	more precise.
7924
79252019-04-10  Richard Biener  <rguenther@suse.de>
7926
7927	* tree-vectorizer.h (_stmt_vec_info): Remove same_dr_stmt
7928	member.
7929	(DR_GROUP_SAME_DR_STMT): Remove.
7930	* tree-vect-stmts.c (vectorizable_load): Remove unreachable code.
7931	* tree-vect-data-refs.c (vect_analyze_group_access_1): Likewise,
7932	replace with assert.
7933	(vect_analyze_data_ref_accesses): Fix INTEGER_CST comparison.
7934	(vect_record_grouped_load_vectors): Remove unreachable code.
7935
79362019-04-10  Richard Earnshaw  <rearnsha@arm.com>
7937
7938	PR target/90016
7939	* config/aarch64/aarch64.opt (msve-vector-bits): Remove redundant and
7940	obsolete reference to N.
7941
79422019-04-10  Jakub Jelinek  <jakub@redhat.com>
7943
7944	PR middle-end/90025
7945	* expr.c (store_expr): Set properly size on the MEM passed to
7946	clear_storage.
7947
7948	PR c++/90010
7949	* gimple-ssa-sprintf.c (target_to_host): Fix handling of targstr
7950	with strlen in between hostsz-3 and hostsz-1 inclusive when no
7951	translation is needed, and when translation is needed, only append
7952	... if the string length is hostsz or more bytes long.  Avoid using
7953	strncpy or strcat.
7954
79552019-04-09  Matthew Malcomson  <matthew.malcomson@arm.com>
7956
7957	PR target/90024
7958	* config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter.
7959	* config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint
7960	into three.
7961	* config/arm/neon.md (*neon_mov<mode>): Account for TImode and DImode
7962	differences directly.
7963	(*smax<mode>3_neon, vashl<mode>3, vashr<mode>3_imm): Use Dm constraint.
7964
79652019-04-09  Jakub Jelinek  <jakub@redhat.com>
7966
7967	PR translation/90011
7968	* ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
7969	from diagnostics.
7970	* config/arm/freebsd.h (LINK_SPEC): Remove trailing space from -p
7971	diagnostics.
7972	* config/riscv/freebsd.h (LINK_SPEC): Likewise.
7973	* config/aarch64/aarch64-freebsd.h (FBSD_TARGET_LINK_SPEC): Likewise.
7974	* config/darwin.h (DRIVER_SELF_SPECS, ASM_FINAL_SPEC): Remove
7975	trailing space from -gsplit-dwarf diagnostics.
7976
7977	PR tree-optimization/89998
7978	* gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type
7979	instead of integer_type_node if possible, don't add ranges if return
7980	type is not compatible with int.
7981	* gimple-fold.c (gimple_fold_builtin_sprintf,
7982	gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded
7983	integer_type_node.
7984
79852019-04-09  Martin Liska  <mliska@suse.cz>
7986
7987	* Makefile.in: Use GENERATOR_CFLAGS for all generators.
7988	* doc/install.texi: Document the new config.
7989
79902019-04-09  Richard Sandiford  <richard.sandiford@arm.com>
7991
7992	* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always
7993	use gimple_expr_type for load and store calls.  Skip over the
7994	condition argument in a conditional internal function.
7995	Protect use of TREE_INT_CST_LOW.
7996
79972019-04-09  Jakub Jelinek  <jakub@redhat.com>
7998
7999	PR target/90015
8000	* config/riscv/riscv.c (riscv_get_interrupt_type): Fix comment typo.
8001	(riscv_merge_decl_attributes): Fix typo in diagnostics.  Remove
8002	trailing period from it too.
8003
80042019-04-08  wu yuan  <wuyuan5@huawei.com>
8005
8006	* config/aarch64/aarch64-cores.def (tsv1100): Change scheduling model.
8007	* config/aarch64/aarch64.md : Add "tsv110.md"
8008	* config/aarch64/tsv110.md: New file.
8009
80102019-04-08  Richard Biener  <rguenther@suse.de>
8011
8012	PR tree-optimization/90006
8013	* tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
8014	calls like lrint.
8015
80162019-04-08  Andrea Corallo  <andrea.corallo@arm.com>
8017
8018	PR target/83033
8019	* config/aarch64/cortex-a57-fma-steering.c (fma_forest): Prohibit copy
8020	construction.
8021	(fma_root_node): Likewise.
8022	(func_fma_steering): Likewise.
8023
80242019-04-08  Jakub Jelinek  <jakub@redhat.com>
8025
8026	PR rtl-optimization/89865
8027	* config/i386/i386.md: Add peepholes for z = x; x ^= y; x != z.
8028
8029	PR rtl-optimization/89865
8030	* config/i386/i386.md
8031	(SWI12 peephole for mem {+,-,&,|,^}= x; mem != 0): Fix up operand
8032	numbers not to clash with the additional operands[4].
8033	(peepholes for mem {+,-,&,|,^}= x; mem != 0): New peephole2s
8034	with extra register copy in the middle.
8035
80362019-04-08  Martin Liska  <mliska@suse.cz>
8037
8038	PR gcov-profile/89961
8039	* doc/gcov.texi: Document data_file.
8040	* gcov.c (generate_results): Add data_info into JSON output.
8041
80422019-04-01  Bin Cheng  <bin.cheng@linux.alibaba.com>
8043
8044	PR tree-optimization/89725
8045	* tree-chrec.c (chrec_contains_symbols): New parameter.  Handle outer
8046	loop's chrec as invariant symbol.
8047	* tree-chrec.h (chrec_contains_symbols): New parameter.
8048	* tree-data-ref.c (analyze_miv_subscript): Pass new argument.
8049	(build_classic_dist_vector_1, add_other_self_distances): Bypass access
8050	function of loops not in DDR's loop_nest.
8051	* tree-data-ref.h (index_in_loop_nest): Add unreachable check.
8052
80532019-04-08  Chenghua Xu  <paul.hua.gm@gmail.com>
8054
8055	PR target/89623
8056	* config/mips/mips.opt (LOONGSON_EXT2): Use Var instead of
8057	Mask.
8058
80592019-04-07  Uroš Bizjak  <ubizjak@gmail.com>
8060
8061	PR target/89945
8062	* config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
8063	Avoid calling gen_lowpart with SYMBOL_REF and LABEL_REF operand.
8064
80652019-04-05  Joern Rennecke  <joern.rennecke@embecosm.com>
8066
8067	* sched-deps.c (sched_macro_fuse_insns): Check return value of
8068	targetm.fixed_condition_code_regs.
8069
80702019-04-05  Richard Biener  <rguenther@suse.de>
8071
8072	PR debug/89892
8073	PR debug/89905
8074	* tree-cfgcleanup.c (remove_forwarder_block): Always move
8075	debug bind stmts but reset them if they are not valid at the
8076	destination.
8077
80782019-04-05  Martin Liska  <mliska@suse.cz>
8079
8080	PR translation/89936
8081	* collect-utils.c (collect_execute): Use %< and %>, or %qs in
8082	order to wrap keywords or arguments.
8083	* collect2.c (main): Likewise.
8084	(scan_prog_file): Likewise.
8085	(scan_libraries): Likewise.
8086	* common/config/riscv/riscv-common.c
8087	(riscv_subset_list::parsing_subset_version): Likewise.
8088	(riscv_subset_list::parse_std_ext): Likewise.
8089	* config/aarch64/aarch64.c (aarch64_override_options_internal):
8090	Likewise.
8091	* config/arm/arm.c (arm_option_override): Likewise.
8092	* config/cris/cris.c (cris_print_operand): Likewise.
8093	* config/darwin-c.c (darwin_pragma_options): Likewise.
8094	(darwin_pragma_unused): Likewise.
8095	(darwin_pragma_ms_struct): Likewise.
8096	* config/ft32/ft32.c (ft32_print_operand): Likewise.
8097	* config/i386/i386.c (print_reg): Likewise.
8098	(ix86_print_operand): Likewise.
8099	* config/i386/xm-djgpp.h: Likewise.
8100	* config/iq2000/iq2000.c (iq2000_print_operand): Likewise.
8101	* config/m32c/m32c.c (m32c_option_override): Likewise.
8102	* config/msp430/msp430.c (msp430_option_override): Likewise.
8103	* config/nds32/nds32.c (nds32_option_override): Likewise.
8104	* config/nvptx/mkoffload.c (main): Likewise.
8105	* config/rx/rx.c (rx_print_operand): Likewise.
8106	(valid_psw_flag): Likewise.
8107	* config/vms/vms-c.c (vms_pragma_member_alignment): Likewise.
8108	(vms_pragma_nomember_alignment): Likewise.
8109	(vms_pragma_extern_model): Likewise.
8110	* lto-wrapper.c (compile_offload_image): Likewise.
8111	* omp-offload.c (oacc_parse_default_dims): Likewise.
8112	* symtab.c (symtab_node::verify_base): Likewise.
8113	* tlink.c (recompile_files): Likewise.
8114	(start_tweaking): Likewise.
8115	* tree-profile.c (parse_profile_filter): Likewise.
8116
81172019-04-05  Richard Sandiford  <richard.sandiford@arm.com>
8118
8119	PR tree-optimization/89956
8120	* tree-ssa-math-opts.c (convert_mult_to_fma): Protect against
8121	multiple negates of the same value.
8122
81232019-04-04  Martin Sebor  <msebor@redhat.com>
8124
8125	PR middle-end/89957
8126	PR middle-end/89911
8127	* builtins.c (expand_builtin_strnlen): Make sure wi::ltu_p operands
8128	have the same precision since the function crashes otherwise.
8129	* calls.c (maybe_warn_nonstring_arg): Avoid assuming strnlen() call
8130	has non-zero arguments.
8131
81322019-04-04  Martin Sebor  <msebor@redhat.com>
8133
8134	PR middle-end/89934
8135	* gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Bail
8136	out if the number of arguments is less than expected.
8137
81382019-04-04  Jeff Law  <law@redhat.com>
8139
8140	PR rtl-optimization/89399
8141	* ree.c (combine_set_extension): Use single_set rather than
8142	digging into PATTERN for items on the candidate list.
8143	(combine_reaching_defs): Likewise.
8144
81452019-04-04  Richard Sandiford  <richard.sandiford@arm.com>
8146
8147	PR rtl-optimization/46590
8148	* loop-invariant.c (find_defs): Move df_remove_problem and
8149	df_process_deferred_rescans to move_invariants.
8150	Move df_live_add_problem and df_live_set_all_dirty calls
8151	to move_invariants.
8152	(move_invariants): Likewise.
8153	(move_loop_invariants): Likewise, making the df_live calls
8154	conditional on -O.  Remove the problem again if we added it
8155	locally.
8156
81572019-04-03  qing zhao  <qing.zhao@oracle.com>
8158
8159	PR tree-optimization/89730
8160	* ipa-inline.c (can_inline_edge_p): Delete the checking for
8161	-flive-patching=inline-only-static.
8162	(can_inline_edge_by_limits_p): Add the checking for
8163	-flive-patching=inline-only-static and grant always_inline
8164	even when -flive-patching=inline-only-static is specified.
8165
81662019-04-03  Jeff Law  <law@redhat.com>
8167
8168	PR rtl-optimization/81025
8169	* reorg.c (skip_consecutive_labels): Do not skip past a BARRIER.
8170
81712019-04-03  Richard Biener  <rguenther@suse.de>
8172
8173	PR tree-optimization/84101
8174	* tree-vect-stmts.c: Include explow.h for hard_function_value,
8175	regs.h for hard_regno_nregs.
8176	(cfun_returns): New helper.
8177	(vect_model_store_cost): When vectorizing a store to a decl
8178	we return and the function ABI returns in a multi-reg location
8179	account for the possible spilling that will happen.
8180
81812019-04-03  Andreas Krebbel  <krebbel@linux.ibm.com>
8182
8183	* config/s390/s390.c (s390_legitimate_address_p): Reject long
8184	displacement addresses for vector mode operands.
8185
81862019-04-03  Claudiu Zissulescu  <claziss@synopsys.com>
8187
8188	* config/arc/arc.c (GMASK_LEN): Define.
8189	(arc_restore_callee_saves): Restore first blink when
8190	!optimize_size.
8191
81922019-04-03  Sudakshina Das  <sudi.das@arm.com>
8193
8194	* doc/extend.texi: Add deprecated comment on sign-return-address
8195	function attribute and add mbranch-protection.
8196	* doc/invoke.texi: Add bti to the options for mbranch-protection.
8197
81982019-04-03  Richard Biener  <rguenther@suse.de>
8199
8200	PR lto/89896
8201	* lto-wrapper.c (run_gcc): Avoid implicit rules making
8202	the all target phony.
8203
82042019-04-02  Uroš Bizjak  <ubizjak@gmail.com>
8205
8206	PR target/89902
8207	PR target/89903
8208	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
8209	Return false for variable DImode shifts.
8210	(dimode_scalar_chain::compute_convert_gain): Do not handle
8211	register count operand in variable DImode shifts.
8212	(dimode_scalar_chain::make_vector_copies): Remove support to copy
8213	count argument of a variable shift instruction to a vector register.
8214	(dimode_scalar_chain::convert_reg): Remove support to convert
8215	count argument of a variable shift instruction.
8216
82172019-04-02  Andrey Belevantsev  <abel@ispras.ru>
8218
8219	PR rtl-optimization/84206
8220	* sel-sched-ir.h (get_all_loop_exits): Avoid the outer loop when
8221	iterating over loop headers.
8222
82232019-04-02  Andrey Belevantsev  <abel@ispras.ru>
8224
8225	PR rtl-optimization/85876
8226	* sel-sched.c (code_motion_path_driver): Avoid unwinding first_insn
8227	beyond the original fence.
8228
82292019-04-02  Ulrich Weigand  <uweigand@de.ibm.com>
8230
8231	* config.gcc: Mark spu* targets as deprecated/obsolete.
8232
82332019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8234
8235	* config/s390/s390-builtin-types.def: New builtin function type
8236	definitions. Remove unused types.
8237	* config/s390/s390-builtins.def (s390_vcdgb, s390_vcdlgb)
8238	(s390_vcgdb, s390_vclgdb): Remove low-level builtin definitions.
8239	(s390_vec_float, s390_vec_signed, s390_vec_unsigned): New
8240	overloaded builtins.
8241	(s390_vcefb, s390_vcdgb, s390_vcelfb, s390_vcdlgb, s390_vcfeb)
8242	(s390_vcgdb, s390_vclfeb, s390_vclgdb): New low-level builtins.
8243	* config/s390/vecintrin.h (vec_float): New builtin macro definition.
8244	(vec_double, vec_signed, vec_unsigned): Define to use the new
8245	overloaded builtins.
8246	* config/s390/vx-builtins.md ("vec_double_s64", "vec_double_u64"):
8247	Remove expanders.
8248
82492019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8250
8251	* config/s390/s390-builtin-types.def: New builtin function type
8252	definitions.
8253	* config/s390/s390-builtins.def (s390_vec_search_string_cc)
8254	(s390_vec_search_string_until_zero_cc): New overloaded builtins.
8255	(s390_vstrsb, s390_vstrsh, s390_vstrsf, s390_vstrszb)
8256	(s390_vstrszh, s390_vstrszf): New low-level builtins.
8257	* config/s390/s390.md (UNSPEC_VEC_VSTRS, UNSPEC_VEC_VSTRSCC): New
8258	constant definitions.
8259	* config/s390/vecintrin.h (vec_search_string_cc)
8260	(vec_search_string_until_zero_cc): New builtin name definitions.
8261	* config/s390/vx-builtins.md ("vstrs<mode>", "vstrsz<mode>"): New
8262	expanders.
8263	("vec_vstrs<mode>"): New insn definition.
8264
82652019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8266
8267	* config/s390/s390-builtin-types.def: Add new builtin function
8268	types.
8269	* config/s390/s390-builtins.def (s390_vec_sldb, s390_vec_srdb):
8270	New overloaded builtins.
8271	(s390_vec_sldb, s390_vec_srdb): New low-level builtins.  and
8272	s390_vsrd.
8273	* config/s390/s390.md (UNSPEC_VEC_SLDB): Rename to ...
8274	(UNSPEC_VEC_SLDBYTE): ... this.
8275	(UNSPEC_VEC_SLDBIT, UNSPEC_VEC_SRDBIT): New constant definitions.
8276	* config/s390/vecintrin.h (vec_sldb, vec_srdb): New builtin name
8277	definitions.
8278	* config/s390/vx-builtins.md ("vec_sld<mode>", "vec_sldw<mode>"):
8279	Rename UNSPEC_VEC_SLDB to UNSPEC_VEC_SLDBYTE.
8280	("vec_sldb<mode>", "vec_srdb<mode>"): New insn definitions.
8281
82822019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8283
8284	("*vec_splats_bswap_vec<mode>", "*vec_splats_bswap_elem<mode>"):
8285	New insn definition.
8286	* config/s390/vx-builtins.md (V_HW_HSD): Move to ...
8287	* config/s390/vector.md (V_HW_HSD): ... here.
8288
82892019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8290
8291	* config/s390/vecintrin.h: Map vec_vster low-level builtins to vec_vler.
8292	* config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>")
8293	("*vec_set_bswap_elem<mode>", "*vec_set_bswap_vec<mode>")
8294	("*vec_extract_bswap_vec<mode>", "*vec_extract_bswap_elem<mode>"):
8295	New insn definitions.
8296
82972019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8298
8299	* config/s390/s390-builtin-types.def: Add new builtin function type.
8300	* config/s390/s390-builtins.def: Add overloaded builtin
8301	s390_vec_reve and low-level builtins for s390_vler and s390_vster.
8302	* config/s390/s390.md (UNSPEC_VEC_ELTSWAP): New constant definition.
8303	* config/s390/vecintrin.h (vec_reve): New builtin name definition.
8304	* config/s390/vx-builtins.md (V_HW_HSD): New mode iterator.
8305	("eltswap<mode>"): New expander.
8306	("*eltswapv16qi", "*eltswap<mode>", "*eltswap<mode>_emu"): New
8307	insn definitions.
8308
83092019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8310
8311	* config/s390/s390-builtin-types.def: Add new builtin function types.
8312	* config/s390/s390-builtins.def: Add overloaded builtin
8313	s390_vec_revb. Add low-level builtins for vlbr and vstbr
8314	instructions.
8315	* config/s390/vecintrin.h (vec_revb): New builtin name definition.
8316	* config/s390/vector.md (VT_HW_HSDT): New mode iterator.
8317	("bswap<mode>"): New expander.
8318	("*bswap<mode>", "*bswap<mode>_emu"): New insn definitions.
8319
83202019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8321
8322	* config/s390/s390-builtins.def (B_VXE2): New builtin flag definition.
8323	* config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Increment
8324	vector builtin version number in __VEC__.
8325
83262019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8327
8328	* config/s390/s390.md (VX_CONV_BFP, VX_CONV_INT): New mode
8329	iterators.
8330	(SFSI): New mode attribute.
8331	("*fixuns_truncdfdi2_vx", "*fix_truncdfdi2_bfp_z13")
8332	("*floatunsdidf2_z13", ): Add support for 32 bit conversions and
8333	rename to ...
8334	("*fixuns_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_z13")
8335	("*fix_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_bfp_z13")
8336	("*floatuns<VX_CONV_INT:mode><VX_CONV_BFP:mode>2_z13"): ... these.
8337	("floatsi<mode>2"): Add wcefb instruction.
8338
83392019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8340
8341	* config/s390/s390.md ("xde"): Extend mode attribute to vector types.
8342	* config/s390/vector.md (VX_VEC_CONV_BFP, VX_VEC_CONV_INT): New
8343	mode iterators.
8344	("floatv2div2df2", "floatunsv2div2df2", "fix_truncv2dfv2di2")
8345	("fixuns_truncv2dfv2di2"): Enhance with mode iterator to also
8346	support 32 bit fp-int conversions. Rename to ...
8347	("float<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2")
8348	("floatuns<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2")
8349	("fix_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2")
8350	("fixuns_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2"):
8351	... to these.
8352
83532019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8354
8355	* config/s390/s390.c (s390_rtx_costs): Do not add extra costs for
8356	if-then-else constructs if we can use the select instruction.
8357	* config/s390/s390.md ("*mov<mode>cc"): Add the new instructions.
8358
83592019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8360
8361	* config/s390/s390.md ("*popcountdi_arch13_cc")
8362	("*popcountdi_arch13_cconly", "*popcountdi_arch13"): New insn
8363	definition.
8364	("*popcount<mode>", "popcountdi2", "popcountsi2", "popcounthi2"):
8365	Append _z196 to make it ...
8366	("*popcount<mode>_z196", "popcountdi2_z196", "popcountsi2_z196")
8367	("popcounthi2_z196"): ... this.
8368	("popcountdi2_z196"): Remove TARGET_64BIT from the insn condition.
8369	("popcountdi2", "popcountsi2", "popcounthi2"): New expanders.
8370
83712019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8372
8373	* config/s390/s390.c (s390_canonicalize_comparison): Convert
8374	certain compares for arch13 in order to make use of the condition
8375	code result produced by the new instructions.
8376	(s390_rtx_costs): Adjust the costs for nnrk, nngrk, nork, nogrk,
8377	nxrk, and nxgrk instruction patterns.
8378	* config/s390/s390.md (ANDOR, bitops_name, inv_bitops_name)
8379	(inv_no): Add new code iterator together with some attributes.
8380	("*andc_split_<mode>"): Disable splitter for arch13.
8381	("*<ANDOR:bitops_name>c<GPR:mode>_cc")
8382	("*<ANDOR:bitops_name>c<GPR:mode>_cconly")
8383	("*<ANDOR:bitops_name>c<GPR:mode>")
8384	("*n<ANDOR:inv_bitops_name><GPR:mode>_cc")
8385	("*n<ANDOR:inv_bitops_name><mode>_cconly")
8386	("*n<ANDOR:inv_bitops_name><mode>", "*nxor<GPR:mode>_cc")
8387	("*nxor<mode>_cconly", "*nxor<mode>"): New insn definitions.
8388
83892019-04-02  Andreas Krebbel  <krebbel@linux.ibm.com>
8390
8391	* common/config/s390/s390-common.c (processor_flags_table): New
8392	entry for arch13.
8393	* config.gcc: Support arch13 with the --with-arch= configure flag.
8394	* config/s390/driver-native.c (s390_host_detect_local_cpu):
8395	* config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH13.
8396	* config/s390/s390.c (s390_get_sched_attrmask)
8397	(s390_get_unit_mask): Add PROCESSOR_ARCH13.
8398	* config/s390/s390.h (enum processor_flags): Add PF_VXE2 and PF_ARCH13.
8399	* config/s390/s390.md (TARGET_CPU_ARCH13, TARGET_CPU_ARCH13_P)
8400	(TARGET_CPU_VXE2, TARGET_CPU_VXE2_P, TARGET_ARCH13)
8401	(TARGET_ARCH13_P, TARGET_VXE2, TARGET_VXE2_P): New macro
8402	definitions.
8403	* config/s390/s390.opt: Support arch13 as processor type in
8404	command line options.
8405
84062019-04-02  Martin Liska  <mliska@suse.cz>
8407
8408	PR translation/89912
8409	* params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP):
8410	Fix param description of graphite-max-arrays-per-scop.
8411
84122019-04-02  Eric Botcazou  <ebotcazou@adacore.com>
8413
8414	* config/sparc/linux64.h (ASAN_REJECT_SPEC): New macro.
8415	(ASAN_CC1_SPEC): Use it in 64-bit mode.
8416	* config/sparc/sol2.h (ASAN_REJECT_SPEC): Remove superfluous colon.
8417
84182019-04-01  Andrey Belevantsev  <abel@ispras.ru>
8419
8420	PR rtl-optimization/85412
8421	* sel-sched.c (sel_sched_region): Assign reset_sched_cycles_p before
8422	sel_sched_region_1, not after.
8423
84242019-04-01  Andrey Belevantsev  <abel@ispras.ru>
8425
8426	PR rtl-optimization/86928
8427	* sel-sched-ir.c (sel_redirect_edge_and_branch_force): Invoke
8428	compute_live if necessary.
8429	(sel_redirect_edge_and_branch): Likewise.
8430
84312019-04-01  Vladimir Makarov  <vmakarov@redhat.com>
8432
8433	PR rtl-optimization/89865
8434	* ira-costs.c (process_bb_node_for_hard_reg_moves): Skip hard
8435	register if it is a part of small class.
8436
84372019-04-01  Andrey Belevantsev  <abel@ispras.ru>
8438
8439	PR rtl-optimization/87273
8440	* sel-sched-ir.c (merge_fences): Remove assert.
8441
84422019-04-01  Richard Biener  <rguenther@suse.de>
8443
8444	PR tree-optimization/46590
8445	* domwalk.h (dom_walker::dom_walker): Consolidate constructors.
8446	(dom_walker::m_reachability): Add in place of...
8447	(dom_walker::m_skip_unreachable_blocks): ...this.
8448	* domwalk.c (dom_walker::dom_walker): Consoliate constructors.
8449	Move complex initialization ...
8450	(dom_walker::walk): Here.  Especially compute m_bb_to_rpo
8451	lazily and initialize edge flags on each invocation.
8452	(dom_walker::bb_reachable): Use m_reachability.
8453
84542019-04-01  Martin Liska  <mliska@suse.cz>
8455
8456	PR driver/89861
8457	* opt-suggestions.c (option_proposer::build_option_suggestions):
8458	Add variant without any argument in order to provide better
8459	hints.
8460
84612019-04-01  Richard Biener  <rguenther@suse.de>
8462
8463	PR c/71598
8464	* gimple.c: Include langhooks.h.
8465	(gimple_get_alias_set): Treat enumeral types as the underlying
8466	integer type.
8467
84682019-03-29  Kugan Vivekanandarajah  <kuganv@linaro.org>
8469	    Eric Botcazou  <ebotcazou@adacore.com>
8470
8471	PR rtl-optimization/89862
8472	* rtl.h (word_register_operation_p): Exclude CONST_INT from operations
8473	that operates on the full registers for WORD_REGISTER_OPERATIONS
8474	architectures.
8475
84762019-03-29  Jim Wilson  <jimw@sifive.com>
8477
8478	* common/config/riscv/riscv-common.c (riscv_parse_arch_string):
8479	Clear MASK_RVC and then set if C subset supported.
8480
84812019-03-29  Jakub Jelinek  <jakub@redhat.com>
8482
8483	PR c/89872
8484	* gimplify.c (gimplify_compound_literal_expr): Don't optimize a
8485	non-addressable complit into its initializer if it is volatile.
8486
84872019-03-29  Roman Zhuykov  <zhroma@ispras.ru>
8488
8489	* opts-common.c (integral_argument): Set errno properly in one case.
8490
84912019-03-29  Martin Liska  <mliska@suse.cz>
8492
8493	* doc/invoke.texi: Remove -Wchkp from documentation.
8494
84952019-03-29  Martin Liska  <mliska@suse.cz>
8496
8497	* dbgcnt.c (print_limit_reach): New function.
8498	(dbg_cnt): Use it.
8499
85002019-03-29  Martin Liska  <mliska@suse.cz>
8501
8502	* dbgcnt.c (dbg_cnt_process_single_pair): Fix GNU coding style.
8503	(dbg_cnt_process_opt): Parse first tokens aas
8504	dbg_cnt_process_single_pair is also using strtok.
8505
85062019-03-29  Jakub Jelinek  <jakub@redhat.com>
8507
8508	PR rtl-optimization/87485
8509	* function.c (expand_function_end): Move stack_protect_epilogue
8510	before loading of return value into hard register(s).
8511
85122019-03-28  Jakub Jelinek  <jakub@redhat.com>
8513
8514	PR middle-end/89621
8515	* tree-inline.h (struct copy_body_data): Add
8516	dont_remap_vla_if_no_change flag.
8517	* tree-inline.c (remap_type_3, remap_type_2): New functions.
8518	(remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change
8519	and remap_type_2 returns false.
8520	* omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change.
8521	Move ctx->cb.adjust_array_error_bounds setting to the outermost ctx
8522	only from where it is copied to nested contexts.
8523
85242019-03-28  Uroš Bizjak  <ubizjak@gmail.com>
8525
8526	PR target/89865
8527	* config/i386/i386.md (RMW operation with LEA peephole):
8528	Use LEAMODE mode attribute instead of SWI mode iterator for
8529	LEA pattern.
8530
85312019-03-28  Uroš Bizjak  <ubizjak@gmail.com>
8532
8533	PR target/89848
8534	* config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
8535	Also process XEXP (src, 0) of a shift insn.
8536
85372019-03-28  David Malcolm  <dmalcolm@redhat.com>
8538
8539	PR middle-end/89725
8540	* optinfo-emit-json.cc (optrecord_json_writer::optinfo_to_json):
8541	Use DECL_ASSEMBLER_NAME rather than get_fnname_from_decl.
8542
85432019-03-28  Jakub Jelinek  <jakub@redhat.com>
8544
8545	* regcprop.c (copyprop_hardreg_forward_1): Remove redundant INSN_P
8546	test.
8547	(cprop_hardreg_bb, cprop_hardreg_debug): New functions.
8548	(pass_cprop_hardreg::execute): Use those.  Don't repeat bb processing
8549	immediately after first one with df_analyze in between, but rather
8550	process all bbs, queueing ones that need second pass in a worklist,
8551	df_analyze, process queued debug insn changes and if second pass is
8552	needed, process bbs from worklist, df_analyze, process queued debug
8553	insns again.
8554
8555	* rtl.h (NONDEBUG_INSN_P): Define as NONJUMP_INSN_P or JUMP_P
8556	or CALL_P instead of INSN_P && !DEBUG_INSN_P.
8557	(INSN_P): Define using NONDEBUG_INSN_P or DEBUG_INSN_P.
8558
85592019-03-28  Jonathan Wakely  <jwakely@redhat.com>
8560
8561	PR c/79022
8562	* gengtype.h (create_nested_ptr_option): Fix parameter names to match
8563	definition.
8564
85652019-03-27  Mateusz B  <mateuszb@poczta.onet.pl>
8566
8567	PR target/85667
8568	* config/i386/i386.c (ix86_function_value_1): Call the newly added
8569	function for 32-bit MS_ABI.
8570	(function_value_ms_32): New function.
8571
85722019-03-27  Andrew Stubbs  <ams@codesourcery.com>
8573
8574	* config/gcn/gcn.md (CC_SAVE_REG): New constant.
8575	(movdi): Call gen_movdi_symbol_save_scc.
8576	(gen_movdi_symbol_save_scc): New insn and split.
8577
85782019-03-27  Peter Bergner  <bergner@linux.ibm.com>
8579
8580	PR rtl-optimization/89313
8581	* function.c (matching_constraint_num): New static function.
8582	(match_asm_constraints_1): Use it.  Fixup white space and comment.
8583	Don't replace inputs with non-matching constraints which conflict
8584	with early clobber outputs.
8585
85862019-03-27  Jeff Law  <law@redhat.com>
8587
8588
8589	PR rtl-optimization/87761
8590	PR rtl-optimization/89826
8591	* regcprop.c (copyprop_hardreg_forward_1): Move may_trap_p test
8592	slightly later.
8593	(pass_cprop_hardreg::execute): Call df_analyze after adding the
8594	note problem to get REG_DEAD/REG_UNUSED notes updated.
8595
85962019-03-27  Richard Biener  <rguenther@suse.de>
8597
8598	PR tree-optimization/89463
8599	* tree-ssa-dce.c (remove_dead_stmt): Take output vector to
8600	queue edges to remove.
8601	(eliminate_unnecessary_stmts): Remove dead PHIs alongside
8602	dead stmts.  Delay edge removal until PHIs are removed to
8603	make debug-stmt creation not confused by seemingly degenerate
8604	PHIs.
8605
86062019-03-27  Alan Modra  <amodra@gmail.com>
8607
8608	* config/rs6000/rs6000.h: Rename NON_SPECIAL_REGS to GEN_OR_FLOAT_REGS
8609	throughout file.
8610	* config/rs6000/darwin.h: Likewise.
8611	* config/rs6000/rs6000.c: Likewise.
8612
86132019-03-27  Alan Modra  <amodra@gmail.com>
8614
8615	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Always
8616	assign rs6000_hard_regno_mode_ok_p[m][r].  Formatting.
8617
86182019-03-26  Andrew Waterman  <andrew@sifive.com>
8619	    Jim Wilson  <jimw@sifive.com>
8620
8621	* config/riscv/generic.md (generic_alu, generic_load, generic_store)
8622	(generic_xfer, generic_branch, generic_imul, generic_idivsi)
8623	(generic_idivdi, generic_fmul_single, generic_fmul_double)
8624	(generic_fdiv, generic_fsqrt): Add check for generic tune.
8625	(generic_alu): Add auipc to type list.
8626	* config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): New.
8627	(riscv_microarchitecture): Declare.
8628	* config/riscv/riscv-protos.h (riscv_store_data_bypass_p): Declare.
8629	* config/riscv/riscv.c (struct riscv_cpu_info): Add microarchitecture
8630	field.
8631	(riscv_microarchitecture): New.
8632	(sifive_7_tune_info): New.
8633	(riscv_cpu_info_table): Add microarchitecture value for rocket and
8634	size.  Add sifive-3-series, sifive-5-series, and sifive-7-series
8635	entries.
8636	(riscv_store_data_bypass_p): New.
8637	(riscv_option_override): Set riscv_microarchitecture from
8638	cpu->microarchitecture.
8639	* config/riscv/riscv.md: Include sifive-7.md.
8640	(type): Add auipc.
8641	(tune): New.
8642	(auipc<mode>): Change type to auipc.
8643	(restore_stack_nonlocal): New.
8644	* config/riscv/sifive-7.md: New.
8645	* doc/invoke.texi (RISC-V Options): Update mtune docs.
8646
86472019-03-26  Uroš Bizjak  <ubizjak@gmail.com>
8648
8649	PR target/89827
8650	* config/i386/i386.c (dimode_scalar_chain::convert_reg):
8651	Also process XEXP (src, 0) of a shift insn.
8652
86532019-03-26  Richard Biener  <rguenther@suse.de>
8654
8655	* tree-inline.c (remap_gimple_stmt): Cache gimple_block.
8656	(copy_debug_stmt): Likewise.
8657	(expand_call_inline): Likewise.
8658	(copy_bb): Avoid redundant lookup & set of gimple_block.
8659	* gimple-low.c (lower_gimple_return): Likewise.
8660	(lower_builtin_setjmp): Likewise.
8661
86622019-03-26  Jakub Jelinek  <jakub@redhat.com>
8663
8664	* hash-table.h (hash_table::m_gather_mem_stats): If GATHER_STATISTICS
8665	is constant 0, turn into static const data member initialized to false.
8666	(hash_table::hash_table): Only initialize m_gather_mem_stats #if
8667	GATHER_STATISTICS.  Add ATTRIBUTE_UNUSED to gather_mem_stats param.
8668
86692019-03-26  Jason Merrill  <jason@redhat.com>
8670	    Jakub Jelinek  <jakub@redhat.com>
8671
8672	* mem-stats.h (mem_alloc_description::unregister_descriptor): New
8673	method.
8674	(mem_alloc_description::release_object_overhead): Fix comment typos.
8675	* hash-table.h (hash_table::~hash_table): Call
8676	release_instance_overhead only if m_entries is non-NULL, otherwise
8677	call unregister_descriptor.
8678
86792019-03-26  Bin Cheng  <bin.cheng@linux.alibaba.com>
8680
8681	PR tree-optimization/81740
8682	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
8683	In case of outer loop vectorization, check for backward dependence
8684	at the inner loop if outer loop dependence is reversed.
8685
86862019-03-26  Alan Modra  <amodra@gmail.com>
8687
8688	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Correct
8689	rs6000_vector_mem init.  Correct wI and wJ comment.
8690
86912019-03-25  Alexander Monakov  <amonakov@ispras.ru>
8692
8693	PR rtl-optimization/88347
8694	PR rtl-optimization/88423
8695	* sched-deps.c (sched_analyze_insn): Take into account that for
8696	tablejumps the barrier appears after a label and a jump_table_data.
8697
86982019-03-25  Martin Sebor  <msebor@redhat.com>
8699
8700	PR c/89812
8701	* c-common.c (check_user_alignment): Rename local.  Correct maximum
8702	alignment in diagnostic.  Avoid assuming argument fits in SHWI,
8703	convert it to UHWI when it fits.
8704
87052019-03-25  Johan Karlsson <johan.karlsson@enea.com>
8706
8707	PR debug/86964
8708	* dwarf2out.c (premark_used_variables): New function.
8709	(prune_unused_types_walk): Do not mark not premarked external
8710	variables.
8711	(prune_unused_types): Call premark_used_variables.
8712
87132019-03-25  Vladimir Makarov  <vmakarov@redhat.com>
8714
8715	PR rtl-optimization/89676
8716	* lra-constraints.c (curr_insn_transform): Do match reload for
8717	early clobbers when the match was successful only for different
8718	registers.
8719
87202019-03-25  Martin Sebor  <msebor@redhat.com>
8721
8722	* doc/extend.texi (Common Type Attributes): Document vector_size.
8723	(Common Variable Attributes): Mention size constraint.  Correct
8724	quoting and typos.
8725	(Vector Extensions): Use @dfn when defining bas type.  Clarify
8726	base type and size constraints.
8727
87282019-03-25  Richard Biener  <rguenther@suse.de>
8729
8730	PR tree-optimization/89789
8731	* tree-ssa-sccvn.c (set_ssa_val_to): Do not allow lattice
8732	changes from non-undefined back to undefined.
8733
87342019-03-25  Thomas Otto  <thomas.otto@pdv-fs.de>
8735
8736	* dwarf2out.c (comp_dir_string): cached_wd could be set to both a
8737	heap string and a gc string, but since this variable is unknown to
8738	ggc the gc string might get reused and corrupted. Fixed by always
8739	using a heap string.
8740
87412019-03-25  Richard Biener  <rguenther@suse.de>
8742
8743	PR tree-optimization/89779
8744	* tree-ssa-loop-ivopts.c (remove_unused_ivs): Return
8745	to remove IV defs, delay actual removal.
8746	(tree_ssa_iv_optimize_loop): Likewise.  Avoid SCEV reset.
8747	(tree_ssa_iv_optimize): Remove eliminated IV defs at the
8748	very end, properly also reset loop control IV information.
8749
87502019-03-25  Richard Biener  <rguenther@suse.de>
8751
8752	PR tree-optimization/89802
8753	* tree-ssa-math-opts.c (convert_mult_to_fma_1): Properly
8754	move EH data to folded stmt.
8755
87562019-03-25  Andreas Krebbel  <krebbel@linux.ibm.com>
8757
8758	* config/s390/s390-builtin-types.def: Remove few unused types and
8759	fix sort order for others.
8760
87612019-03-25  Andreas Krebbel  <krebbel@linux.ibm.com>
8762
8763	* config/s390/s390-c.c (s390_fn_types_compatible): Print the
8764	expected and found types with -mdebug during builtin matching.
8765
87662019-03-25  Richard Biener  <rguenther@suse.de>
8767
8768	PR middle-end/89790
8769	* fold-const.c (operand_equal_p): Revert last change with
8770	updated comment.
8771
87722019-03-24  Segher Boessenkool  <segher@kernel.crashing.org>
8773
8774	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add REG_EQUAL
8775	notes for the result of the __tls_get_addr calls.
8776	* config/rs6000/rs6000.md (unspec UNSPEC_TLS_GET_ADDR): New.
8777
87782019-03-24  Jeff Law  <law@redhat.com>
8779
8780	* config/bfin/bfin.md (movpdi): Fix length for alternative 1.
8781
8782	PR rtl-optimization/87761
8783	* regcprop.c (copyprop_hardreg_forward_1): Check may_trap_p on SET,
8784	not INSN.  Also check RTX_FRAME_RELATED_P.  Queue insns for DF rescan
8785	as needed.
8786	(pass_cprop_hardreg::execute): Add df note problem and defer insn
8787	rescans.  Reprocess blocks as needed, calling df_analyze before
8788	reprocessing.  Always call df_analyze before fixing up debug bind
8789	insns.
8790
87912019-03-23  Segher Boessenkool  <segher@kernel.crashing.org>
8792
8793	* config/rs6000/xmmintrin.h (_mm_movemask_pi8): Implement for 32-bit
8794	big endian.
8795
87962019-03-22  Andrew Pinski  <apinski@marvell.com>
8797
8798	* config/aarch64/aarch64.md (zero_extendsidi2_aarch64): Fix type
8799	attrribute for uxtw.
8800
88012019-03-26  Jeff Law  <law@redhat.com>
8802
8803	PR rtl-optimization/87761
8804	* config/mips/mips-protos.h (mips_split_move): Add new argument.
8805	(mips_emit_move_or_split): Pass NULL for INSN into mips_split_move.
8806	(mips_split_move): Accept new INSN argument.  Try to forward SRC
8807	into the next instruction.
8808	(mips_split_move_insn): Pass INSN through to mips_split_move.
8809
88102019-03-22  Vladimir Makarov  <vmakarov@redhat.com>
8811
8812	PR rtl-optimization/89676
8813	* lra-constraints.c (curr_insn_transform): Do match reload for
8814	early clobbers even if the match was successful.
8815
88162019-03-22  Jakub Jelinek  <jakub@redhat.com>
8817
8818	PR c++/87481
8819	* doc/invoke.texi (-fconstexpr-ops-limit=): Document.
8820
88212019-03-22  Bill Schmidt  <wschmidt@linux.ibm.com>
8822
8823	* config/rs6000/mmintrin.h (_mm_sub_pi32): Fix typo.
8824
88252019-03-22  Jakub Jelinek  <jakub@redhat.com>
8826
8827	* config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>,
8828	<avx512>_fmsub_<mode>_mask3<round_name>,
8829	<avx512>_fnmadd_<mode>_mask3<round_name>,
8830	<avx512>_fnmsub_<mode>_mask3<round_name>,
8831	avx512f_vmfmadd_<mode>_mask3<round_name>,
8832	avx512f_vmfmsub_<mode>_mask3<round_name>,
8833	*avx512f_vmfnmadd_<mode>_mask3<round_name>): Use <round_nimm_predicate>
8834	instead of register_operand and %v instead of v for match_operand 1.
8835	(avx512f_vmfnmsub_<mode>_mask3<round_name>): Rename to ...
8836	(*avx512f_vmfnmsub_<mode>_mask3<round_name>): ... this.  Use
8837	<round_nimm_predicate> instead of register_operand and %v instead of v
8838	for match_operand 1.
8839
8840	* config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>,
8841	<avx512>_fmadd_<mode>_mask3<round_name>,
8842	<avx512>_fmsub_<mode>_mask<round_name>,
8843	<avx512>_fmsub_<mode>_mask3<round_name>,
8844	<avx512>_fnmadd_<mode>_mask<round_name>,
8845	<avx512>_fnmadd_<mode>_mask3<round_name>,
8846	<avx512>_fnmsub_<mode>_mask<round_name>,
8847	<avx512>_fnmsub_<mode>_mask3<round_name>,
8848	<avx512>_fmaddsub_<mode>_mask<round_name>,
8849	<avx512>_fmaddsub_<mode>_mask3<round_name>,
8850	<avx512>_fmsubadd_<mode>_mask<round_name>,
8851	<avx512>_fmsubadd_<mode>_mask3<round_name>): Use
8852	<round_nimm_predicate> instead of nonimmediate_operand.
8853	(fmai_vmfmadd_<mode><round_name>, fmai_vmfmsub_<mode><round_name>,
8854	fmai_vmfnmadd_<mode><round_name>, fmai_vmfnmsub_<mode><round_name>):
8855	Use register_operand instead of <round_nimm_predicate> for the
8856	operand that needs to match output.
8857	(*fmai_fmadd_<mode>, *fmai_fmsub_<mode>,
8858	*fmai_fnmadd_<mode><round_name>, *fmai_fnmsub_<mode><round_name>):
8859	Likewise.  Formatting fixes.
8860
8861	PR target/89784
8862	* config/i386/i386.c (enum ix86_builtins): Remove
8863	IX86_BUILTIN_VFMSUBSD3_MASK3 and IX86_BUILTIN_VFMSUBSS3_MASK3.
8864	* config/i386/i386-builtin.def (__builtin_ia32_vfmaddsd3_mask,
8865	__builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
8866	__builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
8867	__builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
8868	__builtin_ia32_vfmsubss3_mask3): New builtins.
8869	* config/i386/sse.md (avx512f_vmfmadd_<mode>_mask<round_name>,
8870	avx512f_vmfmadd_<mode>_mask3<round_name>,
8871	avx512f_vmfmadd_<mode>_maskz_1<round_name>,
8872	*avx512f_vmfmsub_<mode>_mask<round_name>,
8873	avx512f_vmfmsub_<mode>_mask3<round_name>,
8874	*avx512f_vmfmasub_<mode>_maskz_1<round_name>,
8875	*avx512f_vmfnmadd_<mode>_mask<round_name>,
8876	*avx512f_vmfnmadd_<mode>_mask3<round_name>,
8877	*avx512f_vmfnmadd_<mode>_maskz_1<round_name>,
8878	*avx512f_vmfnmsub_<mode>_mask<round_name>,
8879	avx512f_vmfnmsub_<mode>_mask3<round_name>,
8880	*avx512f_vmfnmsub_<mode>_maskz_1<round_name>): New define_insns.
8881	(avx512f_vmfmadd_<mode>_maskz<round_expand_name>): New define_expand.
8882	* config/i386/avx512fintrin.h (_mm_mask_fmadd_sd, _mm_mask_fmadd_ss,
8883	_mm_mask3_fmadd_sd, _mm_mask3_fmadd_ss, _mm_maskz_fmadd_sd,
8884	_mm_maskz_fmadd_ss, _mm_mask_fmsub_sd, _mm_mask_fmsub_ss,
8885	_mm_mask3_fmsub_sd, _mm_mask3_fmsub_ss, _mm_maskz_fmsub_sd,
8886	_mm_maskz_fmsub_ss, _mm_mask_fnmadd_sd, _mm_mask_fnmadd_ss,
8887	_mm_mask3_fnmadd_sd, _mm_mask3_fnmadd_ss, _mm_maskz_fnmadd_sd,
8888	_mm_maskz_fnmadd_ss, _mm_mask_fnmsub_sd, _mm_mask_fnmsub_ss,
8889	_mm_mask3_fnmsub_sd, _mm_mask3_fnmsub_ss, _mm_maskz_fnmsub_sd,
8890	_mm_maskz_fnmsub_ss, _mm_mask_fmadd_round_sd, _mm_mask_fmadd_round_ss,
8891	_mm_mask3_fmadd_round_sd, _mm_mask3_fmadd_round_ss,
8892	_mm_maskz_fmadd_round_sd, _mm_maskz_fmadd_round_ss,
8893	_mm_mask_fmsub_round_sd, _mm_mask_fmsub_round_ss,
8894	_mm_mask3_fmsub_round_sd, _mm_mask3_fmsub_round_ss,
8895	_mm_maskz_fmsub_round_sd, _mm_maskz_fmsub_round_ss,
8896	_mm_mask_fnmadd_round_sd, _mm_mask_fnmadd_round_ss,
8897	_mm_mask3_fnmadd_round_sd, _mm_mask3_fnmadd_round_ss,
8898	_mm_maskz_fnmadd_round_sd, _mm_maskz_fnmadd_round_ss,
8899	_mm_mask_fnmsub_round_sd, _mm_mask_fnmsub_round_ss,
8900	_mm_mask3_fnmsub_round_sd, _mm_mask3_fnmsub_round_ss,
8901	_mm_maskz_fnmsub_round_sd, _mm_maskz_fnmsub_round_ss): New intrinsics.
8902
89032019-03-21  Martin Sebor  <msebor@redhat.com>
8904
8905	PR tree-optimization/89350
8906	* builtins.c (compute_objsize): Also ignore offsets whose upper
8907	bound is negative.
8908	* gimple-ssa-warn-restrict.c (builtin_memref): Add new member.
8909	(builtin_memref::builtin_memref): Initialize new member.
8910	Allow EXPR to be null.
8911	(builtin_memref::extend_offset_range): Replace local with a member.
8912	Avoid assuming pointer offsets are unsigned.
8913	(builtin_memref::set_base_and_offset): Determine base object
8914	before computing offset range.
8915	(builtin_access::builtin_access): Handle memset.
8916	(builtin_access::generic_overlap): Replace local with a member.
8917	(builtin_access::strcat_overlap): Same.
8918	(builtin_access::overlap): Same.
8919	(maybe_diag_overlap): Same.
8920	(maybe_diag_access_bounds): Same.
8921	(wrestrict_dom_walker::check_call): Handle memset.
8922	(check_bounds_or_overlap): Same.
8923
89242019-03-21  Jan Hubicka  <hubicka@ucw.cz>
8925	    Jakub Jelinek  <jakub@redhat.com>
8926
8927	PR lto/89692
8928	* tree.c (fld_type_variant, fld_incomplete_type_of,
8929	fld_process_array_type): Call fld->pset.add and don't call
8930	add_tree_to_fld_list if it returns true.
8931	(free_lang_data_in_type): Similarly with self-recursive call.  Purge
8932	non-marked types from TYPE_NEXT_VARIANT list.
8933	(find_decls_types_r): Call fld_worklist_push for TYPE_CANONICAL (t).
8934
89352019-03-21  Jakub Jelinek  <jakub@redhat.com>
8936
8937	* hash-table.h (hash_table): Add Lazy template parameter defaulted
8938	to false, if true, don't alloc_entries during construction, but defer
8939	it to the first method that needs m_entries allocated.
8940	(hash_table::hash_table, hash_table::~hash_table,
8941	hash_table::alloc_entries, hash_table::find_empty_slot_for_expand,
8942	hash_table::too_empty_p, hash_table::expand, hash_table::empty_slow,
8943	hash_table::clear_slot, hash_table::traverse_noresize,
8944	hash_table::traverse, hash_table::iterator::slide): Adjust all methods.
8945	* hash-set.h (hash_set): Add Lazy template parameter defaulted to
8946	false.
8947	(hash_set::contains): If Lazy is true, use find_slot_with_hash with
8948	NO_INSERT instead of find_with_hash.
8949	(hash_set::traverse, hash_set::iterator, hash_set::iterator::m_iter,
8950	hash_set::m_table): Add Lazy to template params of hash_table.
8951	(gt_ggc_mx, gt_pch_nx): Use false as Lazy in hash_set template param.
8952	* attribs.c (test_attribute_exclusions): Likewise.
8953	* hash-set-tests.c (test_set_of_strings): Add iterator tests for
8954	hash_set.  Add tests for hash_set with Lazy = true.
8955
89562019-03-21  Richard Biener  <rguenther@suse.de>
8957
8958	PR tree-optimization/89779
8959	* tree.c (tree_nop_conversion): Consolidate and fix defensive
8960	checks with respect to released SSA names now having error_mark_node
8961	type.
8962	* fold-const.c (operand_equal_p): Likewise.
8963
89642019-03-20  Andreas Krebbel  <krebbel@linux.ibm.com>
8965
8966	PR target/89775
8967	* config/s390/s390.c (global_not_special_regno_p): Move to make it
8968	available to ...
8969	(s390_optimize_register_info): Use global_not_special_regno_p to
8970	check for global regs.
8971
89722019-03-20  Jakub Jelinek  <jakub@redhat.com>
8973
8974	PR target/89752
8975	* lra-constraints.c (process_alt_operands) <reg>: For BLKmode, don't
8976	update this_alternative nor this_alternative_set.
8977
89782019-03-19  Jim Wilson  <jimw@sifive.com>
8979
8980	PR target/89411
8981	* config/riscv/riscv.c (riscv_valid_lo_sum_p): New arg x.  New locals
8982	align, size, offset.  Use them to handle a BLKmode reference.  Update
8983	comment.
8984	(riscv_classify_address): Pass info->offset to riscv_valid_lo_sum_p.
8985
89862019-03-19  Jakub Jelinek  <jakub@redhat.com>
8987
8988	PR rtl-optimization/89768
8989	* loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode
8990	instead of GEN_INT.
8991	(unroll_loop_runtime_iterations): Likewise.
8992
89932019-03-19  Martin Sebor  <msebor@redhat.com>
8994
8995	PR tree-optimization/89644
8996	* tree-ssa-strlen.c (handle_builtin_stxncpy): Use full_string_p
8997	rather than endptr as an indicator of nul-termination.
8998
8999	PR tree-optimization/89644
9000	* tree-ssa-strlen.c (handle_builtin_stxncpy): Consider unterminated
9001	arrays in determining sequence sizes in strncpy and stpncpy.
9002
90032019-03-19  Martin Liska  <mliska@suse.cz>
9004
9005	PR middle-end/89737
9006	* predict.c (combine_predictions_for_bb): Empty likely_edges and
9007	unlikely_edges if there's an edge that belongs to both these sets.
9008
90092018-03-19  Segher Boessenkool  <segher@kernel.crashing.org>
9010
9011	PR target/89746
9012	* config/rs6000/rs6000.md (fix_trunc<mode>si2_stfiwx): If we have a
9013	non-TARGET_MFCRF target, and the dest is memory but not 32-bit aligned,
9014	go via a stack temporary.
9015
90162019-03-19  Jakub Jelinek  <jakub@redhat.com>
9017
9018	PR target/89378
9019	* config/mips/mips.c (mips_expand_vec_cond_expr): Use gen_lowpart
9020	instead of gen_rtx_SUBREG.
9021	* config/mips/mips-msa.md (vec_extract<mode><unitmode>): Likewise.
9022
90232019-03-19  Richard Biener  <rguenther@suse.de>
9024
9025	PR debug/88389
9026	* opts.c (finish_options): Disable -gsplit-dwarf when doing LTO.
9027
90282019-03-19  Jan Hubicka  <hubicka@ucw.cz>
9029
9030	PR lto/87809
9031	PR lto/89335
9032	* tree.c (free_lang_data_in_decl): Do not free context of C++
9033	destrutors.
9034
90352019-03-19  Jakub Jelinek  <jakub@redhat.com>
9036
9037	PR target/89506
9038	* config/arm/arm.md (cmpsi2_addneg): Swap the alternatives and use
9039	subs for the first alternative except when operands[3] is 1.
9040
9041	PR target/89752
9042	* gimplify.c (gimplify_asm_expr): For output argument with
9043	TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise
9044	diagnose error.
9045
90462019-03-19  Eric Botcazou  <ebotcazou@adacore.com>
9047
9048	PR rtl-optimization/89753
9049	* loop-unroll.c (decide_unroll_constant_iterations): Make guard for
9050	explicit unrolling factor even more robust.
9051
90522019-03-19  Jakub Jelinek  <jakub@redhat.com>
9053
9054	PR target/89726
9055	* config/i386/i386.c (ix86_expand_floorceildf_32): In ceil
9056	compensation use x2 += 1 instead of x2 -= -1 and when honoring
9057	signed zeros, do another copysign after the compensation.
9058
90592019-03-18  Martin Sebor  <msebor@redhat.com>
9060
9061	PR tree-optimization/89720
9062	* tree-vrp.c (vrp_prop::check_mem_ref): Treat range with max < min
9063	more conservatively, the same as anti-range.
9064
90652019-03-18  Richard Biener  <rguenther@suse.de>
9066
9067	PR middle-end/88945
9068	* tree-ssanames.c (release_ssa_name_fn): For released SSA names
9069	use a TREE_TYPE of error_mark_node to avoid ICEs when dumping
9070	basic-blocks that are removed.  Remove restoring SSA_NAME_VAR.
9071	* tree-outof-ssa.c (eliminate_useless_phis): Remove redundant checking.
9072
90732019-03-18  Andrew Stubbs  <ams@codesourcery.com>
9074
9075	* config/gcn/gcn-run.c (struct output): Make next_output unsigned.
9076	Extend queue to 1024 entries.
9077	Add "consumed" field.
9078	(gomp_print_output): Remove print_index parameter.
9079	Add final parameter.
9080	Change limit to unsigned.
9081	Use consumed field to implement circular buffer.
9082	Detect interrupted print in final pass.
9083	Flush output at the end.
9084	(run): Update gomp_print_output usage.
9085	(main): Initialize kernargs->output_data.consumed.
9086
90872019-03-18  Richard Sandiford  <richard.sandiford@arm.com>
9088
9089	* tree-vect-loop.c (vect_estimate_min_profitable_iters): Fix the
9090	calculation of the minimum number of scalar iterations for
9091	fully-predicated loops.
9092
90932019-03-18  Martin Jambor  <mjambor@suse.cz>
9094
9095	PR tree-optimization/89546
9096	* tree-sra.c (propagate_subaccesses_across_link): Requeue new_acc if
9097	any propagation to its children took place.
9098
90992019-03-18  Andrew Burgess  <andrew.burgess@embecosm.com>
9100
9101	PR target/89627
9102	* config/riscv/riscv.c (riscv_pass_fpr_single): Add offset
9103	parameter, and make use of it.
9104	(riscv_get_arg_info): Pass offset to riscv_pass_fpr_single.
9105
91062019-03-18  Claudiu Zissulescu  <claziss@synopsys.com>
9107
9108	* config/arc/arc.opt (mcode-density-frame): Get the inital value
9109	from TARGET_CODE_DENSITY_FRAME_DEFAULT.
9110	* config/arc/elf.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define.
9111	* config/arc/linux.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define.
9112	* config/arc/arc.md (pop_multi_fp_blink): Adjust constraints to
9113	match what the ops is doing.
9114	(push_multi_fp_blink): Likewise.
9115	* config/arc/arc.c (arc_override_options): Enable enter/leave when
9116	compiling for size and elf target.
9117	(arc_save_callee_enter): Adjust note to match what enter/leave
9118	operation does.
9119
91202019-03-18  Claudiu Zissulescu  <claziss@synopsys.com>
9121
9122	* config/arc/arc.md (tst_movb): Fix constraint.
9123
91242019-03-18  Claudiu Zissulescu  <claziss@synopsys.com>
9125
9126	* config/arc/arc.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
9127
91282019-03-18  Claudiu Zissulescu  <claziss@synopsys.com>
9129
9130	* config/arc/arc-protos.h (arc_adjust_reg_alloc_order): Declare.
9131	* config/arc/arc.c (arc_conditional_register_usage): Remove all
9132	reg_alloc_order references.
9133	(size_alloc_order): Define.
9134	(arc_adjust_reg_alloc_order): New function.
9135	* config/arc/arc.h (REG_ALLOC_ORDER): Proper define the register
9136	order.
9137	(ADJUST_REG_ALLOC_ORDER): Define.
9138	(HONOR_REG_ALLOC_ORDER): Likewise.
9139
91402019-03-18  Richard Biener  <rguenther@suse.de>
9141
9142	PR target/87561
9143	* config/i386/i386.c (ix86_add_stmt_cost): Pessimize strided
9144	loads and stores a bit more.
9145
91462019-03-18  Richard Biener  <rguenther@suse.de>
9147
9148	PR target/87561
9149	* config/i386/i386.c (ix86_add_stmt_cost): Apply strided
9150	load pessimization to stores as well.
9151
91522019-03-18  Andrey Belevantsev  <abel@ispras.ru>
9153
9154	PR middle-end/86979
9155	* sel-sched.c (compute_av_set_at_bb_end): When we have an ineligible
9156	successor, use NULL as its av set.
9157
91582019-03-15  Segher Boessenkool  <segher@kernel.crashing.org>
9159
9160	PR rtl-optimization/89721
9161	* lra-constraints (invariant_p): Return false if side_effects_p holds.
9162
91632019-03-15  Kelvin Nilsen  <kelvin@gcc.gnu.org>
9164
9165	PR target/87532
9166	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
9167	When handling vec_extract, use modular arithmetic to allow
9168	constant selectors greater than vector length.
9169	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Allow
9170	V1TImode vectors to have constant selector values greater than 0.
9171	Use modular arithmetic to compute vector index.
9172	(rs6000_split_vec_extract_var): Use modular arithmetic to compute
9173	index for in-memory vectors.  Correct code generation for
9174	in-register vectors.
9175	(altivec_expand_vec_ext_builtin): Use modular arithmetic to
9176	compute index.
9177
91782019-03-15  Alexandre Oliva <aoliva@redhat.com>
9179
9180	PR c++/88534
9181	PR c++/88537
9182	* dwarf2out.c (generic_parameter_die): Follow DECL_INITIAL of
9183	VAR_DECL args.
9184
91852019-03-15  Jakub Jelinek  <jakub@redhat.com>
9186
9187	PR c++/89709
9188	* tree.c (inchash::add_expr): Strip any location wrappers.
9189	* fold-const.c (operand_equal_p): Move stripping of location wrapper
9190	after hash verification.
9191
9192	PR debug/89704
9193	* dwarf2out.c (add_const_value_attribute): Return false for MINUS,
9194	SIGN_EXTEND and ZERO_EXTEND.
9195
91962019-03-14  Jason Merrill  <jason@redhat.com>
9197	    Jakub Jelinek  <jakub@redhat.com>
9198
9199	* hash-table.h (remove_elt_with_hash): Return if slot is NULL rather
9200	than if is_empty (*slot).
9201	* hash-set-tests.c (test_set_of_strings): Add tests for addition of
9202	existing elt and for elt removal.
9203	* hash-map-tests.c (test_map_of_strings_to_int): Add test for removal
9204	of already removed elt.
9205
92062019-03-15  H.J. Lu  <hongjiu.lu@intel.com>
9207
9208	PR target/89650
9209	* config/i386/i386.c (remove_partial_avx_dependency): Handle
9210	REG_EH_REGION note.
9211
92122019-03-14  Martin Liska  <mliska@suse.cz>
9213
9214	PR other/89712
9215	* doc/invoke.texi: Remove -fdump-class-hierarchy option.
9216
92172019-03-14  Richard Biener  <rguenther@suse.de>
9218
9219	PR target/89711
9220	* config/i386/i386.c (make_resolver_func): Properly set
9221	DECL_CONTEXT on the RESULT_DECL.
9222	* config/rs6000/rs6000.c (make_resolver_func): Likewise.
9223
92242019-03-14  Richard Biener  <rguenther@suse.de>
9225
9226	* gimple-pretty-print.c: Include cfgloop.h.
9227	(dump_gimple_phi): Adjust.
9228	(dump_gimple_bb_header): Dump loop header for GIMPLE.
9229	(pp_cfg_jump): Adjust.
9230	(dump_implicit_edges): Dump fallthru to next block for GIMPLE as well.
9231	* tree-cfg.c (build_gimple_cfg): Remove lower_phi_internal_fn call.
9232	(lower_phi_internal_fn): Remove.
9233	(verify_gimple_call): Remove IFN_PHI special-casing.
9234	(dump_function_to_file): Dump IL state.
9235	* tree-into-ssa.c (rewrite_add_phi_arguments): Revert changes
9236	done to deal with PHI nodes being present in non-SSA state.
9237
92382019-03-14  Jakub Jelinek  <jakub@redhat.com>
9239
9240	PR ipa/89684
9241	* multiple_target.c (create_dispatcher_calls): Change
9242	references_to_redirect from vector of ipa_ref * to vector of ipa_ref.
9243	In the node->iterate_referring loop, push *ref rather than ref, call
9244	ref->remove_reference () and always pass 0 to iterate_referring.
9245
9246	PR rtl-optimization/89679
9247	* expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it
9248	would contain a paradoxical SUBREG.
9249
92502019-03-14  Richard Biener  <rguenther@suse.de>
9251
9252	PR tree-optimization/89710
9253	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use
9254	safe_dyn_cast.
9255
92562019-03-14  Martin Liska  <mliska@suse.cz>
9257
9258	* coverage.c (coverage_begin_function): Stream also
9259	end_column.
9260	* doc/gcov.texi: Document 2 new fields in JSON file.  Improve
9261	documentation about function declaration location.
9262	* gcov-dump.c (tag_function): Print whole range
9263	of function declaration.
9264	* gcov.c (struct function_info): Add end_column field.
9265	(function_info::function_info): Initialize it.
9266	(output_json_intermediate_file): Output {start,end}_column
9267	fields.
9268	(read_graph_file): Read end_column.
9269
92702019-03-14  Richard Biener  <rguenther@suse.de>
9271
9272	PR middle-end/89698
9273	* fold-const.c (operand_equal_p): For INDIRECT_REF check
9274	that the access types are similar.
9275
92762019-03-14  Jakub Jelinek  <jakub@redhat.com>
9277
9278	PR tree-optimization/89703
9279	* tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types
9280	aren't compatible also with builtin_decl_explicit.  Check pure
9281	or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}}
9282	and BUILT_IN_STPNCPY{,_CHK}.
9283
92842019-03-14  H.J. Lu  <hongjiu.lu@intel.com>
9285
9286	PR target/89523
9287	* config/i386/i386.c (ix86_print_operand): Handle 'M' to add
9288	addr32 prefix to VSIB address for X32.
9289	* config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask): Prepend
9290	"%M2" to opcode.
9291	(*avx512pf_gatherpf<mode>df_mask): Likewise.
9292	(*avx512pf_scatterpf<mode>sf_mask): Likewise.
9293	(*avx512pf_scatterpf<mode>df_mask): Likewise.
9294	(*avx2_gathersi<mode>): Prepend "%M3" to opcode.
9295	(*avx2_gathersi<mode>_2): Prepend "%M2" to opcode.
9296	(*avx2_gatherdi<mode>): Prepend "%M3" to opcode.
9297	(*avx2_gatherdi<mode>_2): Prepend "%M2" to opcode.
9298	(*avx2_gatherdi<mode>_3): Prepend "%M3" to opcode.
9299	(*avx2_gatherdi<mode>_4): Prepend "%M2" to opcode.`
9300	(*avx512f_gathersi<mode>): Prepend "%M4" to opcode.
9301	(*avx512f_gathersi<mode>_2): Prepend "%M3" to opcode.
9302	(*avx512f_gatherdi<mode>): Prepend "%M4" to opcode.
9303	(*avx512f_gatherdi<mode>_2): Prepend "%M3" to opcode.
9304	(*avx512f_scattersi<mode>): Prepend "%M0" to opcode.
9305	(*avx512f_scatterdi<mode>): Likewise.
9306
93072019-03-13  Vladimir Makarov  <vmakarov@redhat.com>
9308
9309	PR target/85860
9310	* lra-constraints.c (inherit_in_ebb): Update
9311	potential_reload_hard_regs along with live_hard_regs.
9312
93132019-03-13  Jakub Jelinek  <jakub@redhat.com>
9314
9315	PR debug/89498
9316	* dwarf2out.c (size_of_die): For dw_val_class_view_list always use
9317	DWARF_OFFSET_SIZE.
9318	(value_format): For dw_val_class_view_list never use DW_FORM_loclistx.
9319
93202019-03-13  Martin Sebor  <msebor@redhat.com>
9321
9322	PR tree-optimization/89662
9323	* tree-vrp.c (vrp_prop::check_mem_ref): Avoid assuming every type
9324	has a size.
9325
93262019-03-13  Richard Biener  <rguenther@suse.de>
9327
9328	PR middle-end/89677
9329	* tree-scalar-evolution.c (simplify_peeled_chrec): Do not
9330	throw FP expressions at tree-affine.
9331
93322019-03-14  Richard Biener  <rguenther@suse.de>
9333
9334	* tree-pretty-print.c (dump_generic_node): For -gimple properly
9335	dump negative integer constants using _Literal (type) -num.
9336
93372019-03-13  Jakub Jelinek  <jakub@redhat.com>
9338
9339	* ipa-param-manipulation.h (struct ipa_parm_adjustment): Remove
9340	nonlocal_value member.
9341
9342	PR middle-end/88588
9343	* omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args.
9344	(ipa_simd_modify_function_body): Handle PHIs.
9345
93462019-03-12  Robin Dapp  <rdapp@linux.ibm.com>
9347
9348	* config/s390/s390.c (s390_option_override_internal): Use more
9349	aggressive inlining parameters.
9350
93512019-03-12  Robin Dapp  <rdapp@linux.ibm.com>
9352
9353	* config/s390/3906.md: New file.
9354	* config/s390/s390.c (MAX_SCHED_UNITS): Increase.
9355	(LONGRUNNING_THRESHOLD): Remove.
9356	(MAX_SCHED_MIX_SCORE): Decrease.
9357	(MAX_SCHED_MIX_DISTANCE): Decrease.
9358	(s390_bb_fallthru_entry_likely): Assume fallthru for less than likely.
9359	(struct s390_sched_state): New struct to hold scheduling state.
9360	(S390_SCHED_STATE_NORMAL): Remove.
9361	(S390_SCHED_STATE_CRACKED): Remove.
9362	(S390_SCHED_ATTR_MASK_GROUPOFTWO): Add.
9363	(s390_get_sched_attrmask): Use new attribute.
9364	(s390_get_unit_mask): Use new units.
9365	(s390_is_fpd): New function.
9366	(s390_is_fxd): New function.
9367	(s390_is_longrunning): New function.
9368	(s390_sched_score): Use new functions.
9369	(s390_sched_reorder): Likewise.
9370	(s390_sched_variable_issue): Rework and use new functions.
9371	(s390_sched_init): Use new functions.
9372	* config/s390/s390.h (s390_tune_attr):  Add z14.
9373	* config/s390/s390.md: Add z14.
9374
93752019-03-12  Robin Dapp  <rdapp@linux.ibm.com>
9376
9377	* config/s390/2964.md: Update pipeline description.
9378	* config/s390/s390.c (MAX_SCHED_UNITS): Increase.
9379	(LONGRUNNING_THRESHOLD): Remove.
9380	(LATENCY_FACTOR): Remove.
9381	(s390_get_unit_mask): Add unit.
9382	(s390_sched_score): Use fxd/fpd.
9383	(s390_sched_variable_issue): Use fxd/fpd.
9384
93852019-03-12  Martin Liska  <mliska@suse.cz>
9386
9387	* config/i386/i386.c: Reword an error message.
9388
93892019-03-12  Martin Jambor  <mjambor@suse.cz>
9390
9391	* cgraph.c (cgraph_node::dump): Dump more info for former thunks,
9392	terminate with newline.
9393
93942019-03-12  Jakub Jelinek  <jakub@redhat.com>
9395
9396	PR target/52726
9397	* config/s390/s390.md (tabort): Use %wd instead of
9398	HOST_WIDE_INT_PRINT_DEC in error message, reword to avoid two capital
9399	letters and periods.
9400	* config/tilepro/tilepro.c (tilepro_print_operand): Use %wd in
9401	output_operand_lossage instead of HOST_WIDE_INT_PRINT_DEC, replace
9402	's with %< and %>.
9403
9404	PR middle-end/89663
9405	* builtins.c (expand_builtin_int_roundingfn,
9406	expand_builtin_int_roundingfn_2): Return NULL_RTX instead of
9407	gcc_unreachable if validate_arglist fails.
9408
94092019-03-12  Richard Biener  <rguenther@suse.de>
9410
9411	PR tree-optimization/89664
9412	* tree-ssa-math-opts.c (execute_cse_reciprocals_1): Properly
9413	free the occurance tree after the early out.
9414
94152019-03-11  Jakub Jelinek  <jakub@redhat.com>
9416
9417	PR middle-end/89655
9418	PR bootstrap/89656
9419	* vr-values.c (vr_values::update_value_range): If
9420	old_vr->varying_p (), don't update it, make new_vr also VARYING
9421	and return false.
9422
94232019-03-11  Martin Liska  <mliska@suse.cz>
9424
9425	* config/aarch64/aarch64.c (aarch64_override_options_internal):
9426	Fix double string quoting.
9427
94282019-03-11  Martin Liska  <mliska@suse.cz>
9429
9430	* collect-utils.c (collect_wait): Wrap apostrophes
9431	in gcc internal format with %'.
9432	* collect2.c (main): Likewise.
9433	(scan_prog_file): Likewise.
9434	(scan_libraries): Likewise.
9435	* config/i386/i386.c (ix86_expand_call): Likewise.
9436	(ix86_handle_interrupt_attribute): Likewise.
9437	* config/nds32/nds32-intrinsic.c (nds32_expand_builtin_impl): Likewise.
9438	* config/nds32/nds32.c (nds32_insert_attributes): Likewise.
9439	* config/rl78/rl78.c (rl78_handle_saddr_attribute): Likewise.
9440	* lto-wrapper.c (find_crtoffloadtable): Likewise.
9441	* symtab.c (symtab_node::verify_base): Likewise.
9442	* tree-cfg.c (verify_gimple_label): Likewise.
9443	* tree.c (verify_type_variant): Likewise.
9444
94452019-03-11  Martin Liska  <mliska@suse.cz>
9446
9447	* builtins.c (expand_builtin_thread_pointer): Wrap an option name
9448	in a string format message and fix GNU coding style.
9449	(expand_builtin_set_thread_pointer): Likewise.
9450	* common/config/aarch64/aarch64-common.c
9451	(aarch64_rewrite_selected_cpu): Likewise.
9452	* common/config/alpha/alpha-common.c (alpha_handle_option): Likewise.
9453	* common/config/arc/arc-common.c (arc_handle_option): Likewise.
9454	* common/config/arm/arm-common.c (arm_parse_fpu_option): Likewise.
9455	* common/config/bfin/bfin-common.c (bfin_handle_option): Likewise.
9456	* common/config/i386/i386-common.c (ix86_handle_option): Likewise.
9457	* common/config/ia64/ia64-common.c (ia64_handle_option): Likewise.
9458	* common/config/m68k/m68k-common.c (m68k_handle_option): Likewise.
9459	* common/config/msp430/msp430-common.c (msp430_handle_option): Likewise.
9460	* common/config/nds32/nds32-common.c (nds32_handle_option): Likewise.
9461	* common/config/powerpcspe/powerpcspe-common.c (rs6000_handle_option):
9462	Likewise.
9463	* common/config/riscv/riscv-common.c
9464	(riscv_subset_list::parsing_subset_version): Likewise.
9465	(riscv_subset_list::parse_std_ext): Likewise.
9466	(riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
9467	(riscv_subset_list::parse): Likewise.
9468	* common/config/rs6000/rs6000-common.c (rs6000_handle_option): Likewise.
9469	* config/aarch64/aarch64.c (aarch64_parse_one_option_token): Likewise.
9470	(aarch64_override_options_internal): Likewise.
9471	(aarch64_validate_mcpu): Likewise.
9472	(aarch64_validate_march): Likewise.
9473	(aarch64_validate_mtune): Likewise.
9474	(aarch64_override_options): Likewise.
9475	* config/alpha/alpha.c (alpha_option_override): Likewise.
9476	* config/arc/arc.c (arc_init): Likewise.
9477	(parse_mrgf_banked_regs_option): Likewise.
9478	(arc_override_options): Likewise.
9479	(arc_expand_builtin_aligned): Likewise.
9480	* config/arm/arm-builtins.c (arm_expand_neon_builtin): Likewise.
9481	(arm_expand_builtin): Likewise.
9482	* config/arm/arm.c (arm_option_check_internal): Likewise.
9483	(arm_configure_build_target): Likewise.
9484	(arm_option_override): Likewise.
9485	(arm_options_perform_arch_sanity_checks): Likewise.
9486	(arm_handle_cmse_nonsecure_entry): Likewise.
9487	(arm_handle_cmse_nonsecure_call): Likewise.
9488	(arm_tls_referenced_p): Likewise.
9489	(thumb1_expand_prologue): Likewise.
9490	* config/avr/avr.c (avr_option_override): Likewise.
9491	* config/bfin/bfin.c (bfin_option_override): Likewise.
9492	* config/c6x/c6x.c (c6x_option_override): Likewise.
9493	* config/cr16/cr16.c (cr16_override_options): Likewise.
9494	* config/cris/cris.c (cris_option_override): Likewise.
9495	* config/csky/csky.c (csky_handle_isr_attribute): Likewise.
9496	* config/darwin-c.c (macosx_version_as_macro): Likewise.
9497	* config/darwin.c (darwin_override_options): Likewise.
9498	* config/frv/frv.c (frv_expand_builtin): Likewise.
9499	* config/h8300/h8300.c (h8300_option_override): Likewise.
9500	* config/i386/i386.c (parse_mtune_ctrl_str): Likewise.
9501	(ix86_option_override_internal): Likewise.
9502	(warn_once_call_ms2sysv_xlogues): Likewise.
9503	(ix86_expand_prologue): Likewise.
9504	(split_stack_prologue_scratch_regno): Likewise.
9505	(ix86_warn_parameter_passing_abi): Likewise.
9506	* config/ia64/ia64.c (fix_range): Likewise.
9507	* config/m68k/m68k.c (m68k_option_override): Likewise.
9508	* config/microblaze/microblaze.c (microblaze_option_override): Likewise.
9509	* config/mips/mips.c (mips_emit_probe_stack_range): Likewise.
9510	(mips_set_compression_mode): Likewise.
9511	* config/mmix/mmix.c (mmix_option_override): Likewise.
9512	* config/mn10300/mn10300.c (mn10300_option_override): Likewise.
9513	* config/msp430/msp430.c (msp430_option_override): Likewise.
9514	* config/nds32/nds32.c (nds32_option_override): Likewise.
9515	* config/nios2/nios2.c (nios2_custom_check_insns): Likewise.
9516	(nios2_option_override): Likewise.
9517	(nios2_expand_custom_builtin): Likewise.
9518	* config/nvptx/mkoffload.c (main): Likewise.
9519	* config/nvptx/nvptx.c (diagnose_openacc_conflict): Likewise.
9520	* config/pa/pa.c (fix_range): Likewise.
9521	(pa_option_override): Likewise.
9522	* config/riscv/riscv.c (riscv_parse_cpu): Likewise.
9523	(riscv_option_override): Likewise.
9524	* config/rl78/rl78.c (rl78_option_override): Likewise.
9525	* config/rs6000/aix61.h: Likewise.
9526	* config/rs6000/aix71.h: Likewise.
9527	* config/rs6000/aix72.h: Likewise.
9528	* config/rs6000/driver-rs6000.c (elf_platform): Likewise.
9529	* config/rs6000/freebsd64.h: Likewise.
9530	* config/rs6000/linux64.h: Likewise.
9531	* config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise.
9532	(rs6000_expand_zeroop_builtin): Likewise.
9533	(rs6000_expand_mtfsb_builtin): Likewise.
9534	(rs6000_expand_set_fpscr_rn_builtin): Likewise.
9535	(rs6000_expand_set_fpscr_drn_builtin): Likewise.
9536	(rs6000_invalid_builtin): Likewise.
9537	(rs6000_expand_split_stack_prologue): Likewise.
9538	* config/rs6000/rtems.h: Likewise.
9539	* config/rx/rx.c (valid_psw_flag): Likewise.
9540	(rx_expand_builtin): Likewise.
9541	* config/s390/s390-c.c (s390_resolve_overloaded_builtin): Likewise.
9542	* config/s390/s390.c (s390_expand_builtin): Likewise.
9543	(s390_function_profiler): Likewise.
9544	(s390_option_override_internal): Likewise.
9545	(s390_option_override): Likewise.
9546	* config/sh/sh.c (sh_option_override): Likewise.
9547	(sh_builtin_saveregs): Likewise.
9548	(sh_fix_range): Likewise.
9549	* config/sh/vxworks.h: Likewise.
9550	* config/sparc/sparc.c (sparc_option_override): Likewise.
9551	* config/spu/spu.c (spu_option_override): Likewise.
9552	(fix_range): Likewise.
9553	* config/visium/visium.c (visium_option_override): Likewise.
9554	(visium_handle_interrupt_attr): Likewise.
9555	* config/xtensa/xtensa.c (xtensa_option_override): Likewise.
9556	* dbgcnt.c (dbg_cnt_set_limit_by_name): Likewise.
9557	(dbg_cnt_process_opt): Likewise.
9558	* dwarf2out.c (output_dwarf_version): Likewise.
9559	* except.c (expand_eh_return): Likewise.
9560	* gcc.c (defined): Likewise.
9561	(driver_handle_option): Likewise.
9562	(process_command): Likewise.
9563	(compare_files): Likewise.
9564	(driver::prepare_infiles): Likewise.
9565	(driver::do_spec_on_infiles): Likewise.
9566	(driver::maybe_run_linker): Likewise.
9567	* omp-offload.c (oacc_parse_default_dims): Likewise.
9568	* opts-global.c (handle_common_deferred_options): Likewise.
9569	* opts.c (parse_sanitizer_options): Likewise.
9570	(common_handle_option): Likewise.
9571	(enable_warning_as_error): Likewise.
9572	* passes.c (enable_disable_pass): Likewise.
9573	* plugin.c (parse_plugin_arg_opt): Likewise.
9574	(default_plugin_dir_name): Likewise.
9575	* targhooks.c (default_expand_builtin_saveregs): Likewise.
9576	(default_pch_valid_p): Likewise.
9577	* toplev.c (init_asm_output): Likewise.
9578	(process_options): Likewise.
9579	(toplev::run_self_tests): Likewise.
9580	* tree-cfg.c (verify_gimple_call): Likewise.
9581	* tree-inline.c (inline_forbidden_p_stmt): Likewise.
9582	(tree_inlinable_function_p): Likewise.
9583	* var-tracking.c (vt_find_locations): Likewise.
9584
95852019-03-11  Andreas Krebbel  <krebbel@linux.ibm.com>
9586
9587	* config/s390/s390.c (s390_expand_builtin): Do the copy_to_reg not
9588	only on the else branch.
9589
95902019-03-11  Martin Liska  <mliska@suse.cz>
9591
9592	* gcov.c (output_intermediate_json_line): Print function
9593	name of each line.
9594	(output_json_intermediate_file): Add new argument.
9595	* doc/gcov.texi: Document the change.
9596
95972019-03-11  Eric Botcazou  <ebotcazou@adacore.com>
9598
9599	PR rtl-optimization/89588
9600	* loop-unroll.c (decide_unroll_constant_iterations): Make guard for
9601	explicit unrolling factor more robust.
9602
96032019-03-11  Richard Biener  <rguenther@suse.de>
9604
9605	PR tree-optimization/89649
9606	* tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
9607	* tree-vect-loop-manip.c (vect_do_peeling): Unset force_vectorize
9608	on the prolog and epilog loops.
9609	(vect_loop_versioning): Return copy of loop.
9610	* tree-vect-loop.c (vect_transform_loop): Unset force_vectorize
9611	on the non-vectorized version of the loop.
9612
96132019-03-10  Uroš Bizjak  <ubizjak@gmail.com>
9614
9615	PR target/68924
9616	* config/i386/sse.md (*vec_extractv2di_0_sse):
9617	Add (=r,x) alternative and corresponding splitter.
9618
96192019-03-10  Martin Jambor  <mjambor@suse.cz>
9620
9621	PR tree-optimization/85762
9622	PR tree-optimization/87008
9623	PR tree-optimization/85459
9624	* tree-sra.c (contains_vce_or_bfcref_p): New parameter, set the bool
9625	it points to if there is a type changing MEM_REF.  Adjust all callers.
9626	(build_accesses_from_assign): Disable total scalarization if
9627	contains_vce_or_bfcref_p returns true through the new parameter, for
9628	both rhs and lhs.
9629
96302019-03-09  Jakub Jelinek  <jakub@redhat.com>
9631
9632	PR c/88568
9633	* attribs.c (handle_dll_attribute): Don't clear TREE_STATIC for
9634	dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT.
9635
9636	PR target/79645
9637	* common.opt (fdiagnostics-show-labels,
9638	fdiagnostics-show-line-numbers, fdiagnostics-format=,
9639	fdiagnostics-minimum-margin-width=, fgnat-encodings=, gas-loc-support,
9640	gas-locview-support, ginline-points, ginternal-reset-location-views):
9641	Terminate description text with a dot.
9642	* config/microblaze/microblaze.opt (mxl-prefetch): Likewise.
9643	* config/mcore/mcore.opt (m210, m340): Likewise.
9644	* config/epiphany/epiphany.opt (mprefer-short-insn-regs, mcmove,
9645	mnops=): Start description text with a capital letter.
9646	* config/arc/arc.opt (msize-level=): Likewise.
9647	* config/sh/sh.opt (minline-ic_invalidate): Likewise.
9648	* config/rs6000/sysv4.opt (mno-toc, mtoc, mno-traceback, mshlib,
9649	mnewlib): Likewise.
9650	* config/ft32/ft32.opt (msim): Likewise.
9651	(mft32b, mcompress): Likewise.  Terminate description text with a dot.
9652	(mnodiv, mnopm): Terminate description text with a dot.
9653	* config/c6x/c6x.opt (c6x_sdata): Terminate Enum description with
9654	a colon.
9655	* config/i386/i386.opt (prefer_vector_width, instrument_return):
9656	Likewise.
9657	* config/rx/rx.opt (nofpu): Remove trailing spaces from description
9658	text.
9659
9660	PR rtl-optimization/89634
9661	* cfgcleanup.c (thread_jump): Punt if registers mentioned in cond1
9662	are modified in BB_END (e->src) instruction.
9663
96642019-03-08  David Malcolm  <dmalcolm@redhat.com>
9665
9666	PR target/79926
9667	* config/i386/i386.c (ix86_set_current_function): Make "sorry"
9668	messages more amenable to translation, and improve wording.
9669
96702019-03-08  Bill Schmidt  <wschmidt@linux.ibm.com>
9671
9672	* config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild
9673	ud- and du-chains between phases.
9674
96752019-03-08  Richard Sandiford  <richard.sandiford@arm.com>
9676
9677	PR debug/89631
9678	* dwarf2cfi.c (dwarf2out_frame_debug_expr): Use CONST_POLY_INT
9679	instead of POLY_INT_CST.
9680
96812019-03-08  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9682
9683	* config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE
9684	requirement.
9685
96862019-03-08  Uroš Bizjak  <ubizjak@gmail.com>
9687
9688	PR target/68924
9689	PR target/78782
9690	PR target/87558
9691	* config/i386/emmintrin.h (_mm_loadu_si64): New intrinsic.
9692	(_mm_storeu_si64): Ditto.
9693
96942019-03-08  Martin Liska  <mliska@suse.cz>
9695
9696	PR target/86952
9697	* config/i386/i386.c (ix86_option_override_internal): Disable
9698	jump tables when retpolines are used.
9699
97002019-03-08  Jan Hubicka  <hubicka@ucw.cz>
9701
9702	PR go/63560
9703	* ipa-split.c (execute_split_functions): Do not split
9704	'noinline' or 'section' function.
9705
97062019-03-08  Jakub Jelinek  <jakub@redhat.com>
9707
9708	PR target/79846
9709	* config/s390/s390.c (s390_const_operand_ok): Use %wu instead of
9710	HOST_WIDE_INT_PRINT_UNSIGNED and %wd instead of
9711	HOST_WIDE_INT_PRINT_DEC.  Formatting fixes.
9712
9713	PR ipa/80000
9714	* ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
9715	from diagnostics.  Formatting fixes.
9716
9717	PR target/85665
9718	* ipa-devirt.c (odr_types_equivalent_p): Fix grammar in
9719	warn_odr diagnostics.
9720
9721	PR other/80058
9722	* lra-constraints.c (process_alt_operands): Avoid one space before
9723	" at the end of line and another after " on another line in a string
9724	literal.
9725	* attribs.c (handle_dll_attribute): Likewise.
9726	* config/avr/avr-devices.c (avr_texinfo): Likewise.
9727
9728	* gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap
9729	warning_at or inform messages in G_() if there is no ?:.
9730
9731	PR tree-optimization/89550
9732	* builtins.c (c_strlen): Only set TREE_NO_WARNING if warning_at
9733	returned true.  Formatting fixes.
9734	(expand_builtin_strnlen): Formatting fixes.
9735	* tree-vrp.c (vrp_prop::check_mem_ref): Only set TREE_NO_WARNING
9736	if warning_at returned true.
9737	* tree-cfg.c (pass_warn_function_return::execute): Likewise.
9738
97392019-03-08  Richard Biener  <rguenther@suse.de>
9740
9741	PR middle-end/89578
9742	* cfgloop.h (struct loop): Add owned_clique field.
9743	* cfgloopmanip.c (copy_loop_info): Copy it.
9744	* tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique
9745	cliques.
9746	* tree-inline.c (copy_loops): Remap owned_clique.
9747	* lto-streamer-in.c (input_cfg): Stream owned_clique.
9748	* lto-streamer-out.c (output_cfg): Likewise.
9749
97502019-03-08  Jakub Jelinek  <jakub@redhat.com>
9751
9752	PR target/80190
9753	* config/darwin.c: Include intl.h.
9754	(darwin_build_constant_cfstring): Improve i18n of diagnostics by not
9755	composing the message out of two separate parts.
9756
97572019-03-07  Jakub Jelinek  <jakub@redhat.com>
9758
9759	PR target/80003
9760	* config/i386/i386.c (ix86_set_func_type): Make sure diagnostics
9761	doesn't start with a capital letter and doesn't end with a dot.
9762	(ix86_function_arg_boundary): Make sure diagnostics doesn't start
9763	with a capital letter.
9764	(ix86_mangle_function_version_assembler_name): Likewise.
9765	(ix86_generate_version_dispatcher_body): Likewise.
9766	(fold_builtin_cpu): Likewise.
9767	(get_builtin_code_for_version): Likewise.  Remove extraneous space.
9768	(ix86_handle_interrupt_attribute): Make the diagnostics easier for
9769	translators, wrap full type name in %qs.
9770
9771	PR translation/79999
9772	* gimplify.c (gimplify_omp_ordered): Reword diagnostics to talk about
9773	depend clause with source (or sink) modifier.
9774	* omp-expand.c (expand_omp_ordered_sink): Likewise.
9775
9776	PR target/89602
9777	* config/i386/sse.md (avx512f_mov<ssescalarmodelower>_mask,
9778	*avx512f_load<mode>_mask, avx512f_store<mode>_mask): New define_insns.
9779	(avx512f_load<mode>_mask): New define_expand.
9780	* config/i386/i386-builtin.def (__builtin_ia32_loadsd_mask,
9781	__builtin_ia32_loadss_mask, __builtin_ia32_storesd_mask,
9782	__builtin_ia32_storess_mask, __builtin_ia32_movesd_mask,
9783	__builtin_ia32_movess_mask): New builtins.
9784	* config/i386/avx512fintrin.h (_mm_mask_load_ss, _mm_maskz_load_ss,
9785	_mm_mask_load_sd, _mm_maskz_load_sd, _mm_mask_move_ss,
9786	_mm_maskz_move_ss, _mm_mask_move_sd, _mm_maskz_move_sd,
9787	_mm_mask_store_ss, _mm_mask_store_sd): New intrinsics.
9788
97892019-03-07  Martin Jambor  <mjambor@suse.cz>
9790
9791	PR lto/87525
9792	* ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit
9793	for extern inline functions.
9794
97952019-03-07  Martin Jambor  <mjambor@suse.cz>
9796
9797	PR ipa/88235
9798	* cgraph.h (cgraph_node): New inline method former_thunk_p.
9799	* cgraph.c (cgraph_node::dump): Dump a note if node is a former thunk.
9800	(clone_of_p): Treat expanded thunks like thunks, be optimistic if they
9801	have multiple callees.  At the end check if declarations match as
9802	opposed to cgraph_nodes.
9803
98042019-03-07  Martin Liska  <mliska@suse.cz>
9805
9806	* cgraph.c (cgraph_node::verify_node): Verify with a neighbour
9807	which is equivalent to searching for this in clones chain.
9808	* symtab.c (symtab_node::verify_base): Similarly compare ASM
9809	names with a neighbour and special case first node in a chain.
9810
98112019-01-25  Jason Merrill  <jason@redhat.com>
9812
9813	PR c++/80916 - spurious "static but not defined" warning.
9814	* gimple-fold.c (can_refer_decl_in_current_unit_p): Return false
9815	for an internal symbol with DECL_EXTERNAL.
9816
98172019-04-07  Richard Biener  <rguenther@suse.de>
9818
9819	PR middle-end/89618
9820	* cfgloopmanip.c (copy_loop_info): Copy forgotten fields.
9821	* tree-inline.c (copy_loops): Simplify.
9822
98232019-03-07  Martin Liska  <mliska@suse.cz>
9824
9825	* dwarf2out.c (add_AT_vms_delta): Revert function removal.
9826
98272019-03-07  Richard Biener  <rguenther@suse.de>
9828
9829	PR tree-optimization/89595
9830	* tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take
9831	stmt iterator as reference, take boolean output parameter to
9832	indicate whether the stmt was removed and thus the iterator
9833	already advanced.
9834	(dom_opt_dom_walker::before_dom_children): Re-iterate over
9835	stmts created by folding.
9836
98372019-03-07  Jakub Jelinek  <jakub@redhat.com>
9838
9839	PR c++/89585
9840	* doc/extend.texi (Basic Asm): Document qualifiers are not allowed
9841	at toplevel.
9842
98432019-03-06  Peter Bergner  <bergner@linux.ibm.com>
9844
9845	PR rtl-optimization/88845
9846	* config/rs6000/rs6000.c (rs6000_emit_move_si_sf_subreg): Enable during
9847	LRA.
9848	* lra.c (remove_scratches_1): New function.
9849	(remove_scratches): Use it.
9850	(lra_emit_move): Likewise.
9851
98522019-03-06  Claudiu Zissulescu  <claziss@synopsys.com>
9853
9854	* config/arc/arc-c.def (__ARC_UNALIGNED__): Set it on
9855	unaligned_access variable.
9856	* config/arc/arc.c (arc_override_options): Set unaligned access
9857	default on for HS CPUs.
9858	* config/arc/arc.h (STRICT_ALIGNMENT): Fix logic.
9859
98602019-03-06  Martin Liska  <mliska@suse.cz>
9861
9862	PR gcov-profile/89577
9863	* doc/gcov.texi: Prefer to use --coverage.
9864	* doc/sourcebuild.texi: Likewise.
9865
98662019-03-02  Jason Merrill  <jason@redhat.com>
9867
9868	PR c++/86485 - -Wmaybe-unused with empty class ?:
9869	* gimplify.c (gimplify_cond_expr): Use INIT_EXPR.
9870
98712019-03-05  Jakub Jelinek  <jakub@redhat.com>
9872
9873	PR target/89587
9874	* config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only
9875	if_multiarch.
9876
9877	PR middle-end/89590
9878	* builtins.c (maybe_emit_free_warning): Punt if free doesn't have
9879	exactly one argument.
9880
98812019-03-05  Jakub Jelinek  <jakub@redhat.com>
9882	    Richard Sandiford  <richard.sandiford@arm.com>
9883
9884	PR tree-optimization/89570
9885	* match.pd (vec_cond into cond_op simplification): Don't use
9886	get_conditional_internal_fn, use as_internal_fn (cond_op).
9887
98882019-03-05  Wilco Dijkstra  <wdijkstr@arm.com>
9889
9890	PR target/89222
9891	* config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem
9892	to decide when to split off a non-zero offset from a symbol.
9893	* config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets
9894	in function symbols.
9895
98962019-03-05  Richard Biener  <rguenther@suse.de>
9897
9898	PR tree-optimization/89594
9899	* tree-if-conv.c (pass_if_conversion::execute): Handle
9900	case where .LOOP_VECTORIZED_FUNCTION was removed.
9901
99022019-03-05  Jakub Jelinek  <jakub@redhat.com>
9903
9904	PR bootstrap/89560
9905	* fold-const.c (fold_checksum_tree): Don't use fixed size buffer,
9906	instead alloca it only when needed with the needed size.
9907
9908	PR tree-optimization/89570
9909	* match.pd (vec_cond into cond_op simplification): Guard with
9910	vectorized_internal_fn_supported_p test and #if GIMPLE.
9911
9912	PR tree-optimization/89566
9913	* gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call):
9914	Set info.fncode to BUILT_IN_NONE if gimple_call_builtin_p failed.
9915	Punt if get_user_idx_format succeeds, but idx_format argument is
9916	not provided or doesn't have pointer type, or if idx_args is above
9917	number of provided arguments.
9918
99192019-03-04  Wilco Dijkstra  <wdijkstr@arm.com>
9920
9921	PR tree-optimization/89437
9922	* match.pd: Use lt in sin(atan(x)) and cos(atan(x)) simplifications.
9923
99242019-03-04  Richard Biener  <rguenther@suse.de>
9925
9926	PR middle-end/89572
9927	* tree-scalar-evolution.c: (get_loop_exit_condition): Use
9928	safe_dyn_cast.
9929
99302019-03-04  Bin Cheng  <bin.cheng@linux.alibaba.com>
9931
9932	PR tree-optimization/89487
9933	* tree-loop-distribution.c (has_nonaddressable_dataref_p): New.
9934	(create_rdg_vertices): Compute has_nonaddressable_dataref_p.
9935	(distribute_loop): Don't do runtime alias check if there is non-
9936	addressable data reference.
9937	* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Check if VAR_DECL
9938	is a register variable.
9939
99402019-03-02  Jakub Jelinek  <jakub@redhat.com>
9941
9942	PR target/89506
9943	* config/arm/arm.md (cmpsi2_addneg): Use
9944	trunc_int_for_mode (-INTVAL (...), SImode) instead of -INTVAL (...).
9945	If operands[2] is 0 or INT_MIN, force use of subs.
9946	(*compare_scc splitter): Use gen_int_mode.
9947	(*negscc): Likewise.
9948	* config/arm/thumb2.md (*thumb2_negscc): Likewise.
9949
99502019-03-01  Kito Cheng  <kito.cheng@gmail.com>
9951	    Monk Chiang  <sh.chiang04@gmail.com>
9952
9953	* common/config/riscv/riscv-common.c: Include sstream.
9954	(riscv_subset_list::to_string): New.
9955	(riscv_arch_str): Likewise.
9956	* config.gcc (riscv*-*-*): Handle --with-riscv-attribute=
9957	* config.in: Regen.
9958	* config/riscv/riscv-protos.h (riscv_arch_str): New.
9959	* config/riscv/riscv.c (INCLUDE_STRING): Defined.
9960	(riscv_emit_attribute): New.
9961	(riscv_file_start): Emit attribute if needed.
9962	(riscv_option_override): Init riscv_emit_attribute_p.
9963	* config/riscv/riscv.opt (mriscv-attribute): New option.
9964	* configure.ac (riscv*-*-*): Check binutils is supporting ELF
9965	* configure: Regen.
9966	* doc/install.texi: Document --with-riscv-attribute.
9967	* doc/invoke.texi: Document -mriscv-attribute.
9968
9969	* common/config/riscv/riscv-common.c:
9970	Include config/riscv/riscv-protos.h.
9971	(INCLUDE_STRING): Defined.
9972	(RISCV_DONT_CARE_VERSION): Defined.
9973	(riscv_subset_t): Declare.
9974	(riscv_subset_t::riscv_subset_t): New.
9975	(riscv_subset_list): Declare.
9976	(riscv_subset_list::riscv_subset_list): New.
9977	(riscv_subset_list::~riscv_subset_list): Likewise.
9978	(riscv_subset_list::parsing_subset_version): Likewise.
9979	(riscv_subset_list::parse_std_ext): Likewise.
9980	(riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
9981	(riscv_subset_list::add): Likewise.
9982	(riscv_subset_list::lookup): Likewise.
9983	(riscv_subset_list::xlen): Likewise.
9984	(riscv_subset_list::parse): Likewise.
9985	(riscv_supported_std_ext): Likewise.
9986	(current_subset_list): Likewise.
9987	(riscv_parse_arch_string): Using riscv_subset_list::parse to
9988	parse.
9989
99902019-03-01  Segher Boessenkool  <segher@kernel.crashing.org>
9991
9992	* config/rs6000/rs6000.c (rs6000_option_override_internal): If
9993	rs6000_dejagnu_cpu_index is set, use that to override rs6000_cpu_index.
9994	* config/rs6000/rs6000.opt (mdejagnu-cpu=): New option.
9995
99962019-03-01  Alexander Monakov  <amonakov@ispras.ru>
9997
9998	PR rtl-optimization/85899
9999	* haifa-sched.c (find_fallthru_edge_from): Relax assert to account for
10000	fallthru edges leading to the exit block.
10001
100022019-03-01  Tamar Christina  <tamar.christina@arm.com>
10003
10004	PR target/89517
10005	* config/aarch64/aarch64-option-extensions.def (fp, simd, crypto, fp16,
10006	rdma, dotprod, sha2, sha3, sm4, fp16fml, sve): Collapse line.
10007
100082019-03-01  Richard Sandiford  <richard.sandiford@arm.com>
10009
10010	PR tree-optimization/89535
10011	* tree-vect-stmts.c (vectorizable_call): Record the vector types
10012	for each operand.  Calculate the fallback choice for mask operands
10013	and pass it to vect_get_vec_def_for_operand.
10014
100152019-03-01  Richard Biener  <rguenther@suse.de>
10016
10017	PR middle-end/89541
10018	* tree-ssa-operands.c (add_stmt_operand): CONST_DECL may
10019	get virtual operands.
10020	(get_expr_operands): Handle CONST_DECL like other decls.
10021
100222019-03-01  Jakub Jelinek  <jakub@redhat.com>
10023
10024	PR middle-end/89503
10025	* fold-const.c (fold_checksum_tree): Ignore TREE_NO_WARNING bit
10026	on DECL_P and EXPR_P.
10027
100282019-03-01  Richard Biener  <rguenther@suse.de>
10029
10030	PR middle-end/89497
10031	* tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags
10032	argument, defaulted to zero.
10033	* passes.c (execute_function_todo): Pass down SSA update flags
10034	to cleanup_tree_cfg.
10035	* tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h.
10036	(cleanup_tree_cfg_noloop): After cleanup_control_flow_pre update SSA
10037	form if requested.
10038	(cleanup_tree_cfg): Get and pass down SSA update flags.
10039
100402019-03-01  Jakub Jelinek  <jakub@redhat.com>
10041
10042	PR bootstrap/89539
10043	* dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to
10044	early_lto_debug argument.
10045
100462019-02-28  Eric Botcazou  <ebotcazou@adacore.com>
10047
10048	PR tree-optimization/89536
10049	* tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_NOT_EXPR>: Test
10050	only whether bit #0 of the value is 0 instead of the entire value.
10051
100522019-02-28  Marek Polacek  <polacek@redhat.com>
10053
10054	PR c++/87068 - missing diagnostic with fallthrough statement.
10055	* gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found
10056	at the end of a seq, save its location to walk_stmt_info.
10057	(expand_FALLTHROUGH): Warn if IFN_FALLTHROUGH is at the end of
10058	a switch.
10059
100602019-02-28  Jan Hubicka  <hubicka@ucw.cz>
10061
10062	PR lto/88585
10063	* tree.c (find_atomic_core_type): Move ahead in file.
10064	(check_base_type): Correctly compare alignments of atomic types.
10065
100662019-02-28  H.J. Lu  <hongjiu.lu@intel.com>
10067
10068	PR target/89455
10069	* config/i386/i386.c (get_builtin_code_for_version): Identify
10070	Westmere from PCLMUL, instead of AES.
10071
100722019-02-28  Jakub Jelinek  <jakub@redhat.com>
10073
10074	PR target/89434
10075	* config/arm/arm.md (*subsi3_carryin_compare_const): Use
10076	trunc_int_for_mode (-INTVAL (...), SImode), just instead of
10077	-UINTVAL (...).
10078
100792019-02-28  Tamar Christina  <tamar.christina@arm.com>
10080
10081	PR target/88530
10082	* config/aarch64/aarch64-option-extensions.def: Document it.
10083	* config/aarch64/driver-aarch64.c (host_detect_local_cpu): Skip feature
10084	if empty hwcaps.
10085
100862019-02-28  Jakub Jelinek  <jakub@redhat.com>
10087
10088	PR c/89520
10089	* convert.c (convert_to_real_1, convert_to_integer_1): Punt for
10090	builtins if they don't have a single scalar floating point argument.
10091	Formatting fixes.
10092
100932019-02-27  Bernd Edlinger  <bernd.edlinger@hotmail.de>
10094
10095	PR rtl-optimization/89490
10096	* varasm.c (get_block_for_section): Bail out for mergeable sections.
10097	(default_use_anchors_for_symbol_p, output_object_block): Assert the
10098	block section is not mergeable.
10099
101002019-02-27  Jakub Jelinek  <jakub@redhat.com>
10101
10102	PR target/70341
10103	* config/arm/arm.md (arm_casesi_internal): New define_expand.  Rename
10104	old define_insn to ...
10105	(*arm_casesi_internal): ... this.  Add mode to LABEL_REFs.
10106	* config/arm/thumb2.md (thumb2_casesi_internal): New define_expand.
10107	Rename old define_insn to ...
10108	(*thumb2_casesi_internal): ... this.  Add mode to LABEL_REFs.
10109	(thumb2_casesi_internal_pic): New define_expand.  Rename old
10110	define_insn to ...
10111	(*thumb2_casesi_internal_pic): ... this.  Add mode to LABEL_REFs.
10112	* config/aarch64/aarch64.md (casesi): Create the casesi_dispatch
10113	MEM manually here, set MEM_READONLY_P and MEM_NOTRAP_P on it.
10114
101152019-02-27  Richard Biener  <rguenther@suse.de>
10116
10117	PR debug/88878
10118	* dwarf2out.c (use_debug_types): Disable when in_lto_p.
10119
101202019-02-27  Richard Biener  <rguenther@suse.de>
10121
10122	* passes.c (should_skip_pass_p): Do not skip cgraph-edge
10123	building.
10124
101252019-02-27  Richard Biener  <rguenther@suse.de>
10126
10127	PR debug/88878
10128	* dwarf2out.c (output_comdat_type_unit): Add early_lto_debug
10129	parameter, prefix section name with .gnu.debuglto_ if true.
10130	(dwarf2out_finish): Pass false to output_comdat_type_unit.
10131	(dwarf2out_early_finish): Pass true to output_comdat_type_unit.
10132
101332019-02-27  Richard Biener  <rguenther@suse.de>
10134
10135	PR debug/89514
10136	* dwarf2out.c (size_of_die): Key on AT_ref (a)->comdat_type_p
10137	rather than on use_debug_types, doing what output_die does.
10138	(value_format): Likewise.
10139
101402019-02-27  Martin Jambor  <mjambor@suse.cz>
10141	    Martin Sebor  <msebor@redhat.com>
10142
10143	* doc/invoke.texi (Warning Options): Reword description of
10144	-Wno-absolute-value.
10145
101462019-02-27  Jakub Jelinek  <jakub@redhat.com>
10147
10148	PR tree-optimization/89280
10149	* tree-cfgcleanup.c (maybe_dead_abnormal_edge_p,
10150	builtin_setjmp_setup_bb): New functions.
10151	(cleanup_control_flow_pre): Ignore maybe_dead_abnormal_edge_p edges.
10152	When visiting __builtin_setjmp_setup block, queue in special
10153	setjmp_vec vector edges from .ABNORMAL_DISPATCHER to corresponding
10154	__builtin_setjmp_receiver.  Remove .ABNORMAL_DISPATCHER basic blocks
10155	from visited after the loop if they don't have any visited successor
10156	blocks.
10157
101582018-02-26  Steve Ellcey  <sellcey@marvell.com>
10159
10160	* config/aarch64/aarch64.c (aarch64_get_multilib_abi_name):
10161	New function.
10162	(TARGET_GET_MULTILIB_ABI_NAME): New macro.
10163
101642019-02-26  Jakub Jelinek  <jakub@redhat.com>
10165
10166	PR c++/89507
10167	* tree.c (valid_constant_size_p): Deal with size INTEGER_CSTs
10168	with types other than sizetype/ssizetype.
10169
101702019-02-26  Eric Botcazou  <ebotcazou@adacore.com>
10171
10172	* config/sparc/sparc-opts.h (enum processor_type): Rename to...
10173	(enum sparc_processor_type): ...this.
10174	(enum sparc_code_model_type): New enumeration type.
10175	(enum sparc_memory_model_type): Tweak comments.
10176	* config/sparc/sparc.opt (mcpu): Adjust to above renaming.
10177	(mtune): Likewise.
10178	(mcmodel): Use sparc_code_model enumeration and variable.
10179	(sparc_code_model): New enumeration.
10180	(mdebug): Add Undocumented marker.
10181	* config/sparc/sparc.h (enum cmodel): Delete.
10182	(sparc_cmodel): Likewise.
10183	(TARGET_CM_MEDLOW): Adjust to above renaming.
10184	(TARGET_CM_MEDMID): Likewise.
10185	(TARGET_CM_MEDANY): Likewise.
10186	(TARGET_CM_EMBMEDANY): Likewise.
10187	* config/sparc/sparc.c (sparc_cmodel): Delete.
10188	(sparc_option_override): Remove string/value mapping support for the
10189	code model.  Move code and memory model support to after the handling
10190	of target flags.  Do private machine setup last.
10191	(sparc_emit_set_symbolic_const64): Use sparc_code_model.
10192	(sparc_legitimize_reload_address): Likewise.
10193	(sparc_output_mi_thunk): Likewise.
10194	* config/sparc/sparc.md (cpu): Adjust comment to above renaming.
10195
101962019-02-26  Jakub Jelinek  <jakub@redhat.com>
10197
10198	PR tree-optimization/89500
10199	* tree-ssa-strlen.c (stridx_strlenloc): Adjust comment.
10200	(handle_builtin_strlen): Remove noncst_bound variable.  Always
10201	optimize strnlen (x, 0) to 0.  Optimize strnlen (x, cst) to
10202	cst if the first cst bytes starting at x are known to be non-zero,
10203	even if the string is not zero terminated.  Don't try to modify
10204	*si for strnlen.  Update strlen_to_stridx only for strlen or if
10205	we can prove strnlen returns the same value as strlen would.
10206
102072019-02-26  Martin Liska  <mliska@suse.cz>
10208
10209	* alloc-pool.h (struct pool_usage): Remove extra
10210	print_dash_line.
10211	* bitmap.h (struct bitmap_usage): Likewise.
10212	* ggc-common.c (struct ggc_usage): Likewise.
10213	* mem-stats.h (struct mem_usage): Likewise.
10214	(mem_alloc_description::dump): Print dash lines
10215	here and repeat header at the end of a table report.
10216	It's then more readable.
10217	* tree-phinodes.c (phinodes_print_statistics): Make
10218	horizontal alignment.
10219	* tree-ssanames.c (ssanames_print_statistics): Likewise.
10220	* vec.c (struct vec_usage): Remove extra print_dash_line.
10221	* vec.h (vec_safe_grow_cleared): Pass PASS_MEM_STAT.
10222
102232019-02-26  Uroš Bizjak  <ubizjak@gmail.com>
10224
10225	* doc/extend.texi (__builtin_object_size):
10226	Use @pxref instead of @xref inside parenthesis.
10227	(__builtin_has_attribute): Add missing comma after @xref.
10228	(__builtin_object_size): Ditto.
10229	* doc/md.texi (cond_*{mode}): Use @samp instead of @var around op1[i].
10230	* fortran/invoke.texi (-ffpe-trap): Use @var for every item
10231	in the list.
10232
102332019-02-26  Jeff Law  <law@redhat.com>
10234
10235	PR rtl-optimization/87761
10236	* regcprop.c (copyprop_hardreg_forward_1): Use REG_UNUSED notes to
10237	detect obviously dead insns and delete them.
10238
102392019-02-26  Richard Biener  <rguenther@suse.de>
10240
10241	PR tree-optimization/89505
10242	* tree-ssa-structalias.c (compute_dependence_clique): Make sure
10243	to handle restrict pointed-to vars with multiple subvars
10244	correctly.
10245
102462019-02-26  Richard Biener  <rguenther@suse.de>
10247
10248	PR tree-optimization/89489
10249	* tree-parloops.c (create_loop_fn): Copy over last_clique.
10250
102512019-02-26  Eric Botcazou  <ebotcazou@adacore.com>
10252
10253	* tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_IOR_EXPR>: Fix
10254	and move around comment.
10255	<BIT_AND_EXPR>: Likewise.
10256	<BIT_NOT_EXPR>: Add specific handling for boolean types.
10257
102582019-02-26  Jakub Jelinek  <jakub@redhat.com>
10259
10260	PR target/89474
10261	* config/i386/i386.c (remove_partial_avx_dependency): Call
10262	df_analyze etc. before creation of the v4sf_const0 pseudo, rather than
10263	after changing possibly many instructions to use that pseudo.  Fix up
10264	insertion of v4sf_const0 setter at the start of bb.
10265
102662019-02-25  Sandra Loosemore  <sandra@codesourcery.com>
10267
10268	PR c/80409
10269	* doc/extend.texi (Variadic Pointer Args): New section.
10270
102712019-02-25  Sandra Loosemore  <sandra@codesourcery.com>
10272	    Martin Sebor  <msebor@gmail.com>
10273
10274	* common.opt (Wattribute-alias): Likewise.
10275	* doc/invoke.texi (Option Summary): List general form of
10276	-Wattribute-alias=.  List positive form of -Wmissing-attributes.
10277	(-Wmissing-attributes): Invert entry, rewrite and correct default.
10278	Add cross-references.
10279	(-Wattribute-alias): Rewrite and correct default.  Mention
10280	considered attributes (same as for -Wmissing-attributes).
10281
102822019-02-25  Paul A. Clarke  <pc@us.ibm.com>
10283
10284	* config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Fix big endian.
10285	(_mm_cvtpd_ps): Likewise.
10286	(_mm_cvttpd_epi32): Likewise.
10287
10288	PR target/89338
10289	* config/rs6000/xmmintrin.h (_mm_cvtss_f32):  Fix type mismatch.
10290	(_mm_cvt_ss2si): Fix type mismatch and 32-bit.
10291
10292	PR target/89339
10293	* config/rs6000/xmmintrin.h (_mm_movemask_pi8): Fix 32-bit.
10294
102952019-02-25  Tamar Christina  <tamar.christina@arm.com>
10296
10297	PR target/88530
10298	* common/config/aarch64/aarch64-common.c
10299	(struct aarch64_option_extension): Add is_synthetic.
10300	(all_extensions): Use it.
10301	(TARGET_OPTION_INIT_STRUCT): Define hook.
10302	(struct gcc_targetm_common): Moved to end.
10303	(all_extensions_by_on): New.
10304	(opt_ext_cmp, typedef opt_ext): New.
10305	(aarch64_option_init_struct): New.
10306	(aarch64_contains_opt): New.
10307	(aarch64_get_extension_string_for_isa_flags): Output smallest set.
10308	* config/aarch64/aarch64-option-extensions.def
10309	(AARCH64_OPT_EXTENSION): Explicitly include AES and SHA2 in crypto.
10310	(fp, simd, crc, lse, fp16, rcpc, rdma, dotprod, aes, sha2, sha3,
10311	sm4, fp16fml, sve, profile, rng, memtag, sb, ssbs, predres):
10312	Set is_synthetic to false.
10313	(crypto): Set is_synthetic to true.
10314	* config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Add
10315	SYNTHETIC.
10316
103172019-02-25  Tamar Christina  <tamar.christina@arm.com>
10318
10319	* config/arm/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
10320	vfmlal_high_u32, vfmlsl_high_u32, vfmlalq_low_u32, vfmlslq_low_u32,
10321	vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
10322	vfmlal_lane_high_u32, vfmlalq_laneq_low_u32, vfmlalq_lane_low_u32,
10323	vfmlal_laneq_low_u32, vfmlalq_laneq_high_u32, vfmlalq_lane_high_u32,
10324	vfmlal_laneq_high_u32, vfmlsl_lane_low_u32, vfmlsl_lane_high_u32,
10325	vfmlslq_laneq_low_u32, vfmlslq_lane_low_u32, vfmlsl_laneq_low_u32,
10326	vfmlslq_laneq_high_u32, vfmlslq_lane_high_u32, vfmlsl_laneq_high_u32):
10327	Rename ...
10328	(vfmlal_low_f16, vfmlsl_low_f16, vfmlal_high_f16, vfmlsl_high_f16,
10329	vfmlalq_low_f16, vfmlslq_low_f16, vfmlalq_high_f16, vfmlslq_high_f16,
10330	vfmlal_lane_low_f16, vfmlal_lane_high_f16, vfmlalq_laneq_low_f16,
10331	vfmlalq_lane_low_f16, vfmlal_laneq_low_f16, vfmlalq_laneq_high_f16,
10332	vfmlalq_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_lane_low_f16,
10333	vfmlsl_lane_high_f16, vfmlslq_laneq_low_f16, vfmlslq_lane_low_f16,
10334	vfmlsl_laneq_low_f16, vfmlslq_laneq_high_f16, vfmlslq_lane_high_f16,
10335	vfmlsl_laneq_high_f16): ... To this.
10336	* config/arm/neon.md: Update comments.
10337
103382019-02-25  Tamar Christina  <tamar.christina@arm.com>
10339
10340	* config/aarch64/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
10341	vfmlalq_low_u32, vfmlslq_low_u32, vfmlal_high_u32, vfmlsl_high_u32,
10342	vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
10343	vfmlsl_lane_low_u32, vfmlal_laneq_low_u32, vfmlsl_laneq_low_u32,
10344	vfmlalq_lane_low_u32, vfmlslq_lane_low_u32, vfmlalq_laneq_low_u32,
10345	vfmlslq_laneq_low_u32, vfmlal_lane_high_u32, vfmlsl_lane_high_u32,
10346	vfmlal_laneq_high_u32, vfmlsl_laneq_high_u32, vfmlalq_lane_high_u32,
10347	vfmlslq_lane_high_u32, vfmlalq_laneq_high_u32, vfmlslq_laneq_high_u32):
10348	Rename ...
10349	(vfmlal_low_f16, vfmlsl_low_f16, vfmlalq_low_f16, vfmlslq_low_f16,
10350	vfmlal_high_f16, vfmlsl_high_f16, vfmlalq_high_f16, vfmlslq_high_f16,
10351	vfmlal_lane_low_f16, vfmlsl_lane_low_f16, vfmlal_laneq_low_f16,
10352	vfmlsl_laneq_low_f16, vfmlalq_lane_low_f16, vfmlslq_lane_low_f16,
10353	vfmlalq_laneq_low_f16, vfmlslq_laneq_low_f16, vfmlal_lane_high_f16,
10354	vfmlsl_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_laneq_high_f16,
10355	vfmlalq_lane_high_f16, vfmlslq_lane_high_f16, vfmlalq_laneq_high_f16,
10356	vfmlslq_laneq_high_f16): ... To this.
10357
103582019-02-25  Alexander Monakov  <amonakov@ispras.ru>
10359
10360	PR rtl-optimization/86096
10361	* df-scan.c (df_mw_compare): Do not check mw_reg fields when
10362	comparing mw_order values.
10363
103642019-02-25  Jakub Jelinek  <jakub@redhat.com>
10365
10366	PR target/89434
10367	* config/arm/arm.md (*subsi3_carryin_const): Use
10368	arm_neg_immediate_operand predicate instead of
10369	arm_not_immediate_operand, "L" constraint instead of "K" and
10370	print it using %n2 instead of %B2.
10371	(*subsi3_carryin_const0): New define_insn.
10372	(*subsi3_carryin_compare_const): Use const_int_I_operand predicate
10373	instead of arm_not_operand and "I" constraint instead of "K" and
10374	print it using %n3 instead of %B2.  Instead of using match_dup 2 add
10375	another match_operand and in the condition check that it is negation
10376	of operands[2].
10377	(*subsi3_carryin_compare_const0): New define_ins.
10378	(*subdi_di_zesidi): Adjust to use *subsi3_carryin_const0 instead of
10379	*subsi3_carryin_const.
10380	(*arm_cmpdi_insn): Fix splitting into *subsi3_carryin_compare_const,
10381	split into *subsi3_carryin_compare_const0 if the highpart is zero.
10382
10383	PR target/89438
10384	* config/arm.vfp.md (*negdf2_vfp): Use
10385	gen_int_mode (0x80000000, SImode) instead of GEN_INT (0x80000000).
10386	* config/arm/neon.md (neon_copysignf<mode>): Likewise.
10387
103882019-02-24  Jakub Jelinek  <jakub@redhat.com>
10389
10390	PR rtl-optimization/89445
10391	* simplify-rtx.c (simplify_ternary_operation): Don't use
10392	simplify_merge_mask on operands that may trap.
10393	* rtlanal.c (may_trap_p_1): Use FLOAT_MODE_P instead of
10394	SCALAR_FLOAT_MODE_P checks.  For integral division by zero, if
10395	second operand is CONST_VECTOR, check if any element could be zero.
10396	Don't expect traps for VEC_{MERGE,SELECT,CONCAT,DUPLICATE} unless
10397	their operands can trap.
10398
103992019-02-23  Martin Sebor  <msebor@redhat.com>
10400
10401	* gimple-ssa-sprintf.c (target_strtol): Rename...
10402	(target_strtohwi): ...to this.  Handle values up to HOST_WIDE_INT_MAX.
10403	(parse_directive): Adjust to name change.  Use HOST_WIDE_INT_MAX to
10404	check for range error.
10405
104062019-02-23  H.J. Lu  <hongjiu.lu@intel.com>
10407
10408	PR driver/69471
10409	* opts-common.c (prune_options): Also prune joined switches
10410	with Negative and RejectNegative.
10411	* config/i386/i386.opt (march=): Add Negative(march=).
10412	(mtune=): Add Negative(mtune=).
10413	* doc/options.texi: Document Negative used together with Joined
10414	and RejectNegative.
10415
104162019-02-22  Martin Sebor  <msebor@redhat.com>
10417
10418	* doc/extend.texi (Other Builtins): Add
10419	__builtin_is_constant_evaluated.
10420
104212019-02-22  Richard Biener  <rguenther@suse.de>
10422
10423	PR tree-optimization/87609
10424	* tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques.
10425
104262019-02-22  Jeff Law  <law@redhat.com>
10427
10428	PR rtl-optimization/87761
10429	* config/mips/mips.md: Add new combiner pattern to recognize
10430	a bitfield extraction using (ashiftrt (truncate (ashift (...)))).
10431
104322019-02-22  Matthew Malcomson  <matthew.malcomson@arm.com>
10433
10434	PR target/89324
10435	* config/aarch64/aarch64.md: Use aarch64_general_reg predicate on
10436	destination register in peepholes generating patterns for ADDS/SUBS.
10437	(add<mode>3_compare0,
10438	*addsi3_compare0_uxtw, add<mode>3_compareC,
10439	add<mode>3_compareV_imm, add<mode>3_compareV,
10440	*adds_<optab><ALLX:mode>_<GPI:mode>,
10441	*subs_<optab><ALLX:mode>_<GPI:mode>,
10442	*adds_<optab><ALLX:mode>_shift_<GPI:mode>,
10443	*subs_<optab><ALLX:mode>_shift_<GPI:mode>,
10444	*adds_<optab><mode>_multp2, *subs_<optab><mode>_multp2,
10445	*sub<mode>3_compare0, *subsi3_compare0_uxtw,
10446	sub<mode>3_compare1): Allow stack pointer for source register.
10447	* config/aarch64/predicates.md (aarch64_general_reg): New predicate.
10448
104492019-02-22  Martin Sebor  <msebor@redhat.com>
10450
10451	PR tree-optimization/88993
10452	PR tree-optimization/88853
10453	* gimple-ssa-sprintf.c (sprintf_dom_walker::call_info::is_file_func):
10454	New helper.
10455	(sprintf_dom_walker::call_info::is_string_func): New helper.
10456	(format_directive): Only issue "may exceed" 4095/INT_MAX warnings
10457	for formatted string functions.
10458	(sprintf_dom_walker::handle_gimple_call): Fix a typo in a comment.
10459
104602019-02-22  Martin Sebor  <msebor@redhat.com>
10461
10462	PR c/89425
10463	* c-parser.c (sizeof_ptr_memacc_comptypes): Avoid warning in
10464	unreachable subexpressions.
10465
104662019-02-22  H.J. Lu  <hongjiu.lu@intel.com>
10467	    Hongtao Liu  <hongtao.liu@intel.com>
10468	    Sunil K Pandey  <sunil.k.pandey@intel.com>
10469
10470	PR target/87007
10471	* config/i386/i386-passes.def: Add
10472	pass_remove_partial_avx_dependency.
10473	* config/i386/i386-protos.h
10474	(make_pass_remove_partial_avx_dependency): New.
10475	* config/i386/i386.c (make_pass_remove_partial_avx_dependency):
10476	New function.
10477	(pass_data_remove_partial_avx_dependency): New.
10478	(pass_remove_partial_avx_dependency): Likewise.
10479	(make_pass_remove_partial_avx_dependency): Likewise.
10480	* config/i386/i386.md (avx_partial_xmm_update): New attribute.
10481	(*extendsfdf2): Add avx_partial_xmm_update.
10482	(truncdfsf2): Likewise.
10483	(*float<SWI48:mode><MODEF:mode>2): Likewise.
10484	(SF/DF conversion splitters): Disabled for TARGET_AVX.
10485
104862019-02-22  Aldy Hernandez  <aldyh@redhat.com>
10487
10488	PR middle-end/85598
10489	* gimple-ssa-sprintf.c (pass_sprintf_length::execute): Enable loop
10490	analysis for pass.
10491
104922019-02-22  Thiago Macieira  <thiago.macieira@intel.com>
10493
10494	PR target/89444
10495	* config/i386/i386.h (PTA_WESTMERE): Remove PTA_AES.
10496	(PTA_SKYLAKE): Add PTA_AES.
10497	(PTA_GOLDMONT): Likewise.
10498
104992019-02-22  Sudakshina Das  <sudi.das@arm.com>
10500
10501	* config/aarch64/aarch64.c (aarch64_output_mi_thunk): Add bti
10502	instruction if enabled.
10503	(aarch64_override_options): Remove reference to return address key.
10504
105052019-02-22  Richard Biener  <rguenther@suse.de>
10506
10507	PR tree-optimization/89440
10508	* tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
10509	not necessary assert.
10510
105112019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
10512
10513	PR fortran/72741
10514	* omp-general.c (oacc_replace_fn_attrib): Mostly split out into...
10515	(oacc_replace_fn_attrib_attr): ... this new function.
10516	* omp-general.h (oacc_replace_fn_attrib_attr): New prototype.
10517	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Revert workaround.
10518
105192019-02-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10520
10521	* config/arm/arm-cpus.in (ares): Rename to...
10522	(neoverse-n1): ... This.  Add ares as alias.
10523	* config/arm/arm-tables.opt: Regenerate.
10524	* config/arm/arm-tune.md: Likewise.
10525	* doc/invoke.txt (ARM Options): Document neoverse-n1.
10526
105272019-02-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10528
10529	* config/aarch64/aarch64-cores.def (neoverse-e1): Define.
10530	* config/aarch64/aarch64-tune.md: Regenerate.
10531	* doc/invoke.texi (AArch64 Options): Document neoverse-e1 -mcpu option.
10532
105332019-02-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
10534
10535	* config/aarch64/aarch64.c (ares_tunings): Rename to...
10536	(neoversen1_tunings): ... This.
10537	* config/aarch64/aarch64-cores.def (ares): Change tuning to the above.
10538	(neoverse-n1): New CPU.
10539	* config/aarch64/aarch64-tune.md: Regenerate.
10540	* doc/invoke.txt (AArch64 Options): Document neoverse-n1.
10541
105422019-02-22  Richard Biener  <rguenther@suse.de>
10543
10544	PR middle-end/87609
10545	* cfghooks.h (dependence_hash): New typedef.
10546	(struct copy_bb_data): New type.
10547	(cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument.
10548	(duplicate_block): Likewise.
10549	* cfghooks.c (duplicate_block): Pass down copy_bb_data.
10550	(copy_bbs): Create and pass down copy_bb_data.
10551	* cfgrtl.c (cfg_layout_duplicate_bb): Adjust.
10552	(rtl_duplicate_bb): Likewise.
10553	* tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL
10554	remap dependence info.
10555
105562019-02-22  Richard Biener  <rguenther@suse.de>
10557
10558	PR tree-optimization/87609
10559	* tree-core.h (tree_base): Document special clique values.
10560	* tree-inline.c (remap_dependence_clique): Do not use the
10561	special clique value of one.
10562	(maybe_set_dependence_info): Use clique one.
10563	(clear_dependence_clique): New callback.
10564	(compute_dependence_clique): Clear clique one from all refs
10565	before assigning it (again).
10566
105672019-02-21  Martin Sebor  <msebor@redhat.com>
10568
10569	* doc/extend.texi (__clear_cache): Correct signature.
10570
105712019-02-21  Ian Lance Taylor  <iant@golang.org>
10572
10573	PR go/89170
10574	* varasm.c (decode_addr_const): Call lookup_constant_def rather
10575	than output_constant_def.
10576	(add_constant_to_table): New static function.
10577	(output_constant_def): Call add_constant_to_table.
10578	(tree_output_constant_def): Likewise.
10579
105802019-02-21  Jakub Jelinek  <jakub@redhat.com>
10581
10582	PR c++/89285
10583	* builtins.c (fold_builtin_arith_overflow): If first two args are
10584	INTEGER_CSTs, set intres and ovfres to constants rather than calls
10585	to ifn.
10586
105872019-02-21  H.J. Lu  <hongjiu.lu@intel.com>
10588
10589	PR target/87412
10590	* config/i386/i386.c (ix86_set_indirect_branch_type): Issue an
10591	error for -mindirect-branch/-mfunction-return with incompatible
10592	-fcf-protection.
10593
105942019-02-21  Jakub Jelinek  <jakub@redhat.com>
10595
10596	PR bootstrap/88714
10597	* constraints.md (q): Remove.
10598	* config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use rk constraint
10599	instead of q.
10600
106012019-02-21  Martin Jambor  <mjambor@suse.cz>
10602
10603	PR hsa/89302
10604	* omp-general.c (omp_extract_for_data): Removed a duplicate call
10605	to omp_adjust_for_condition, moved NE_EXPR code_cond processing...
10606	(omp_adjust_for_condition): ...here.  Added necessary parameters.
10607	* omp-general.h (omp_adjust_for_condition): Updated declaration.
10608	* omp-grid.c (grid_attempt_target_gridification): Adjust to pass
10609	proper values to new parameters of omp_adjust_for_condition.
10610
106112019-02-20  Jakub Jelinek  <jakub@redhat.com>
10612
10613	PR middle-end/89412
10614	* expr.c (expand_assignment): If result is a MEM, use change_address
10615	instead of simplify_gen_subreg.
10616
106172019-02-20  Jakub Jelinek  <jakub@redhat.com>
10618	    David Malcolm  <dmalcolm@redhat.com>
10619
10620	PR middle-end/89091
10621	* fold-const.c (decode_field_reference): Return NULL_TREE if
10622	lang_hooks.types.type_for_size returns NULL.  Check it before
10623	overwriting *exp_.  Use return NULL_TREE instead of return 0.
10624
106252019-02-20  Jakub Jelinek  <jakub@redhat.com>
10626
10627	PR middle-end/88074
10628	PR middle-end/89415
10629	* toplev.c (do_compile): Double the emin/emax exponents to workaround
10630	buggy mpc_norm.
10631
106322019-02-20  Uroš Bizjak  <ubizjak@gmail.com>
10633
10634	PR target/89397
10635	* config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check
10636	TARGET_SSE in addition to TARGET_SSE_MATH.
10637
10638	(ix86_excess_precision): Ditto.
10639	(ix86_float_exceptions_rounding_supported_p): Ditto.
10640	(use_rsqrt_p): Ditto.
10641	* config/i386/sse.md (rsqrt<mode>2): Ditto.
10642
106432019-02-20  David Malcolm  <dmalcolm@redhat.com>
10644
10645	PR c/89410
10646	* diagnostic-show-locus.c (layout::calculate_line_spans): Use
10647	linenum_arith_t when determining if two adjacent line spans are
10648	close enough to merge.
10649	(diagnostic_show_locus): Use linenum_arith_t when iterating over
10650	lines within each line_span.
10651
106522019-02-20 Andre Vieira  <andre.simoesdiasvieira@arm.com>
10653
10654	PR target/86487
10655	* lra-constraints.c(uses_hard_regs_p): Fix handling of
10656	paradoxical SUBREGS.
10657
106582019-02-20  Li Jia He  <helijia@linux.ibm.com>
10659
10660	PR target/88100
10661	* gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin)
10662	<case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH,
10663	ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before
10664	range checking it.
10665
106662019-02-19  Jonathan Wakely  <jwakely@redhat.com>
10667
10668	* config/gcn/gcn.c (print_operand): Fix typo.
10669
106702019-02-19  Richard Biener  <rguenther@suse.de>
10671
10672	PR middle-end/88074
10673	* toplev.c (do_compile): Initialize mpfr's exponent range
10674	based on available float modes.
10675
106762019-02-19  Eric Botcazou  <ebotcazou@adacore.com>
10677
10678	* rtlanal.c (get_initial_register_offset): Fall back to the estimate
10679	as long as the epilogue isn't completed.
10680
106812019-02-18  Martin Sebor  <msebor@redhat.com>
10682
10683	* doc/cpp.texi (Conditional syntax): Add __has_attribute,
10684	__has_cpp_attribute, and __has_include.
10685
106862019-02-18  Martin Sebor  <msebor@redhat.com>
10687
10688	* doc/invoke.texi (-Wreturn-type): Correct and expand.
10689
106902019-02-18  Martin Sebor  <msebor@redhat.com>
10691
10692	PR middle-end/89294
10693	* tree.c (valid_constant_size_p): Avoid assuming size is a constant
10694	expression.
10695	* tree.h (cst_size_error): Add the cst_size_not_constant enumerator.
10696
106972019-02-18  Richard Biener  <rguenther@suse.de>
10698
10699	PR tree-optimization/89296
10700	* tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
10701	of no-warning flag to cases that might emit the bogus warning.
10702
107032019-02-18  Jakub Jelinek  <jakub@redhat.com>
10704
10705	PR bootstrap/88714
10706	* config/arm/arm.md (*arm_movdi, *movdf_soft_insn): Use "r" instead of
10707	"q" constraint.
10708	* config/arm/vfp.md (*movdi_vfp): Likewise.
10709	* config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use "r" instead of
10710	"q" constraint for operands[0].
10711
10712	PR target/89369
10713	* config/s390/s390.md (*r<noxa>sbg_<mode>_srl_bitmask,
10714	*r<noxa>sbg_<mode>_sll, *r<noxa>sbg_<mode>_srl): Don't construct
10715	pattern in a temporary buffer.
10716	(*r<noxa>sbg_sidi_srl): Likewise.  Always use 32 as I3 rather
10717	than 64-operands[2].
10718
10719	PR target/89361
10720	* config/s390/s390.c (s390_indirect_branch_attrvalue,
10721	s390_indirect_branch_settings): Define unconditionally.
10722	(s390_set_current_function): Likewise, but guard the whole body except
10723	the s390_indirect_branch_settings call with
10724	#if S390_USE_TARGET_ATTRIBUTE.
10725	(TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally.
10726
10727	* config/s390/s390.md (*<risbg_n>_ior_and_sr_ze,
10728	*<risbg_n>_<mode>_ior_and_lshiftrt, *<risbg_n>_sidi_ior_and_lshiftrt):
10729	Use HOST_WIDE_INT_M1U instead of ~(0ULL).
10730	(*<risbg_n>_and_subregdi_rotr, *<risbg_n>_and_subregdi_rotl): Use
10731	HOST_WIDE_INT_1U instead of 1ULL.
10732	(*pre_z10_extzv<mode>, *pre_z10_extv<mode>): Change mask type from int
10733	to unsigned HOST_WIDE_INT, use HOST_WIDE_INT_1U instead of 1ul.
10734	(*insv<mode><clobbercc_or_nocc>_appendbitsleft,
10735	z = (x << c) | (y >> d) splitters): Use HOST_WIDE_INT_1U
10736	instead of 1UL.
10737	(*insv<mode>_mem_reg, *insvdi_mem_reghigh): Use HOST_WIDE_INT_1U
10738	instead of 1ul.
10739
107402019-02-18  Martin Jambor  <mjambor@suse.cz>
10741
10742	PR tree-optimization/89209
10743	* tree-sra.c (create_access_replacement): New optional parameter
10744	reg_tree.  Use it as a type if non-NULL and access type is not of
10745	a register type.
10746	(get_repl_default_def_ssa_name): New parameter REG_TYPE, pass it
10747	to create_access_replacement.
10748	(sra_modify_assign): Pass LHS type to get_repl_default_def_ssa_name.
10749	Check lacc is non-NULL before attempting to re-create it on the RHS.
10750
107512019-02-18  Martin Liska  <mliska@suse.cz>
10752
10753	PR ipa/89306
10754	* cgraph.c (symbol_table::create_edge): Set m_summary_id to -1
10755	by default.
10756	(symbol_table::free_edge): Recycle m_summary_id.
10757	* cgraph.h (get_summary_id): New.
10758	(symbol_table::release_symbol): Set m_summary_id to -1
10759	by default.
10760	(symbol_table::allocate_cgraph_symbol): Recycle m_summary_id.
10761	* ipa-fnsummary.c (ipa_fn_summary_t): Switch from
10762	function_summary to fast_function_summary.
10763	* ipa-fnsummary.h (ipa_fn_summary_t): Likewise.
10764	* ipa-pure-const.c (class funct_state_summary_t):
10765	Switch from function_summary to fast_function_summary.
10766	* ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise.
10767	(class ipa_ref_opt_summary_t): Switch from function_summary
10768	to fast_function_summary.
10769	* symbol-summary.h (class function_summary_base): New class
10770	that is created from base of former function_summary.
10771	(function_summary_base::unregister_hooks): New.
10772	(class function_summary): Inherit from function_summary_base.
10773	(class call_summary_base): New class
10774	that is created from base of former call_summary.
10775	(class call_summary): Inherit from call_summary_base.
10776	(struct is_same): New.
10777	(class fast_function_summary): New summary class.
10778	(class fast_call_summary): New summary class.
10779	* vec.h (vec_safe_grow_cleared): New function.
10780
107812019-02-18  Martin Liska  <mliska@suse.cz>
10782
10783	* config/i386/i386.c (ix86_get_multilib_abi_name): New function.
10784	(TARGET_GET_MULTILIB_ABI_NAME): New macro defined.
10785	* doc/tm.texi: Document new target hook.
10786	* doc/tm.texi.in: Likewise.
10787	* target.def: Add new target macro.
10788	* gcc.c (find_fortran_preinclude_file): Do not search multilib
10789	suffixes.
10790
107912019-02-17  Alan Modra  <amodra@gmail.com>
10792
10793	PR target/89271
10794	* config/rs6000/rs6000.md (<bd>_<mode> split): Check for an int
10795	output reg on add insn.
10796	(<bd>tf_<mode> split): Likewise.  Match predicates with insn.
10797
107982019-02-16  H.J. Lu  <hongjiu.lu@intel.com>
10799
10800	PR target/89372
10801	* config/i386/sse.md (ssedoublemode): Remove V4HI.
10802	(PMULHRSW): Likewise.
10803	(<ssse3_avx2>_pmulhrsw<mode>3): Require TARGET_SSSE3, not
10804	TARGET_AVX2.
10805	(ssse3_pmulhrswv4hi3): New expander.
10806
108072019-02-16  H.J. Lu  <hongjiu.lu@intel.com>
10808
10809	* config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
10810	MMX.  Add isa attribute.
10811
108122019-02-16  Jakub Jelinek  <jakub@redhat.com>
10813
10814	PR rtl-optimization/66152
10815	* builtins.h (c_readstr): Declare.
10816	* builtins.c (c_readstr): Remove forward declaration.  Add
10817	null_terminated_p argument, if false, read all bytes from the
10818	string instead of stopping after '\0'.
10819	* expr.c (string_cst_read_str): New function.
10820	(store_expr): Use string_cst_read_str instead of
10821	builtin_strncpy_read_str.  Try to store by pieces the whole
10822	exp_len first, and only if that fails, split it up into
10823	store by pieces followed by clear_storage.  Formatting fix.
10824
10825	* config/i386/i386.md (*movqi_internal): Remove static from
10826	buf variable.  Use output_asm_insn (buf, operands); return "";
10827	instead of return buf;.
10828	* config/i386/sse.md (<sse>_andnot<mode>3<mask_name>,
10829	*<code><mode>3<mask_name>, *andnot<mode>3, *andnottf3, *<code><mode>3,
10830	*<code>tf3, <mask_codefor><code><mode>3<mask_name>): Likewise.
10831
108322019-02-15  Eric Botcazou  <ebotcazou@adacore.com>
10833
10834	* config/sparc/linux.h (ASAN_CC1_SPEC): Define.
10835	(CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC and ASAN_CC1_SPEC.
10836	* config/sparc/linux64.h (ASAN_CC1_SPEC): Likewise.
10837	(CC1_SPEC): Likewise.
10838	* config/sparc/sparc.c (sparc_asan_shadow_offset): Adjust for 64-bit.
10839
108402019-02-15  Eric Botcazou  <ebotcazou@adacore.com>
10841
10842	* asan.c (asan_emit_stack_protection): Use full-sized mask to align
10843	the base address on 64-bit strict-alignment platforms.
10844
108452019-02-15  H.J. Lu  <hongjiu.lu@intel.com>
10846
10847	* config/i386/i386.h (VALID_MMX_REG_MODE): Correct the misplaced ')'.
10848
108492019-02-15  Uroš Bizjak  <ubizjak@gmail.com>
10850
10851	* config/i386/darwin.h (TARGET_FPMATH_DEFAULT_P): New define.
10852
108532019-02-15  Aaron Sawdey  <acsawdey@linux.ibm.com>
10854
10855	PR rtl-optimization/88308
10856	* shrink-wrap.c (move_insn_for_shrink_wrap): Fix LABEL_NUSES counts
10857	on copied instruction.
10858
108592019-02-15  Eric Botcazou  <ebotcazou@adacore.com>
10860
10861	* final.c (insn_current_reference_address): Replace test on JUMP_P
10862	with test on jump_to_label_p.
10863	* config/visium/visium-passes.def: New file.
10864	* config/visium/t-visium (PASSES_EXTRA): Define.
10865	* config/visium/visium-protos.h (make_pass_visium_reorg): Declare.
10866	* config/visium/visium.h (TRAMPOLINE_SIZE): Adjust.
10867	(TRAMPOLINE_ALIGNMENT): Define.
10868	* config/visium/visium.c (visium_option_override): Do not register
10869	the machine-specific reorg pass here.
10870	(visium_trampoline_init): Align the BRA insn on a 64-bit boundary
10871	for the GR6.
10872	(output_branch): Adjust threshold for long branch instruction.
10873	* config/visium/visium.md (cpu): Move around.
10874	(length): Adjust for the GR6.
10875
108762019-02-15  Richard Biener  <rguenther@suse.de>
10877	    Jakub Jelinek  <jakub@redhat.com>
10878
10879	PR tree-optimization/89278
10880	* tree-loop-distribution.c: Include tree-eh.h.
10881	(generate_memset_builtin, generate_memcpy_builtin): Call
10882	rewrite_to_non_trapping_overflow on builtin->size before passing it
10883	to force_gimple_operand_gsi.
10884
108852019-02-15  Jakub Jelinek  <jakub@redhat.com>
10886
10887	PR other/89342
10888	* optc-save-gen.awk: Handle optimize_fast like optimize_size or
10889	optimize_debug.
10890	* opth-gen.awk: Likewise.
10891
108922019-02-15  Uroš Bizjak  <ubizjak@gmail.com>
10893
10894	* config/i386/i386.h (TARGET_SUBTARGET64_ISA_DEFAULT):
10895	Enable MMX, SSE and SSE2 by default.
10896	* config/i386/i386.c (ix86_option_override_internal): Do not
10897	explicitly set MMX, SSE and SSE2 flags for TARGET_64BIT here.
10898
108992019-02-14  Jakub Jelinek  <jakub@redhat.com>
10900
10901	PR rtl-optimization/89354
10902	* combine.c (make_extraction): Punt if extraction_mode is narrower
10903	than len bits.
10904
109052019-02-14  Maya Rashish  <coypu@sdf.org>
10906
10907	* config.gcc (*-*-netbsd*): Add netbsd-d.o.
10908	* config/netbsd-d.c: New file.
10909	* config/t-netbsd: Add netbsd-d.o
10910
109112018-02-14  Steve Ellcey  <sellcey@marvell.com>
10912
10913	* config/aarch64/aarch64.c (aarch64_attribute_table): Change
10914	affects_type_identity to true for aarch64_vector_pcs.
10915	(aarch64_comp_type_attributes): New function.
10916	(TARGET_COMP_TYPE_ATTRIBUTES): New macro.
10917
109182019-02-14  Tamar Christina  <tamar.christina@arm.com>
10919
10920	PR target/88850
10921	* config/arm/iterators.md (ANY64): Add V4HF.
10922
109232019-02-14  Martin Liska  <mliska@suse.cz>
10924
10925	PR rtl-optimization/89242
10926	* dce.c (delete_unmarked_insns): Call free_dominance_info we
10927	process a transformation.
10928
109292019-02-14  Jakub Jelinek  <jakub@redhat.com>
10930
10931	PR tree-optimization/89314
10932	* fold-const.c (fold_binary_loc): Cast strlen argument to
10933	const char * before dereferencing it.  Formatting fixes.
10934
10935	PR middle-end/89284
10936	* passes.def: Swap pass_ubsan and pass_early_warn_uninitialized.
10937
109382019-02-13  Ian Lance Taylor  <iant@golang.org>
10939
10940	* optc-save-gen.awk: Set var_opt_hash for initial optimizations
10941	and set current index for other optimizations.
10942
109432019-02-13  Uroš Bizjak  <ubizjak@gmail.com>
10944
10945	* config/i386/sse.md (vec_set<VI4F_256_512:mode>_0): Use
10946	nonimmediate_operand as operand 2 predicate.
10947	(vec_set<VF2_512_256:mode>_0): Ditto.
10948	(vec_set<VI8_AVX_AVX512F:mode>_0): Ditto.
10949	(*vec_concatv2si): Remove alternative 2.
10950	(*vec_concatv4si_0): Use vm constraint for alternative 0.
10951	(*vec_concatv4si_0): Remove preferred_for_speed attribute.
10952	(vec_concatv2di): Split alternatives 4,5,6 to ...
10953	(*vec_concatv2di_0) ... new pattern.
10954
109552019-02-13  Wilco Dijkstra  <wdijkstr@arm.com>
10956
10957	PR target/89190
10958	* config/arm/arm.c (ldm_stm_operation_p) Set
10959	addr_reg_in_reglist correctly for first register.
10960	(load_multiple_sequence): Remove dead base check.
10961	(gen_ldm_seq): Correctly set write_back for Thumb-1.
10962
109632019-02-13  Tamar Christina  <tamar.christina@arm.com>
10964
10965	PR target/88847
10966	* config/aarch64/aarch64-sve.md (*pred_mov<mode>, pred_mov<mode>):
10967	Expose as @aarch64_pred_mov.
10968	* config/aarch64/aarch64.c (aarch64_classify_address):
10969	Use expand_insn which legitimizes operands.
10970
109712019-02-13  Martin Liska  <mliska@suse.cz>
10972
10973	* builtins.h (expand_builtin_with_bounds): Remove declaration.
10974	* calls.c (struct arg_data): Remove special_slot, pointer_arg
10975	and pointer_offset fields.
10976	(initialize_argument_information): Remove usage of dead
10977	fields.
10978	* cgraph.h (struct cgraph_thunk_info): Remove
10979	add_pointer_bounds_args.
10980	* cgraphunit.c (cgraph_node::expand_thunk): Remove usage of dead
10981	fields.
10982	(cgraph_node::assemble_thunks_and_aliases): Remove usage of dead
10983	fields.
10984	* config/i386/i386.c (ix86_function_arg_advance): Remove
10985	unrelated comment.
10986	(struct builtin_isa): Remove leaf_p and nothrow_p fields.
10987	(def_builtin):  Remove usage of dead
10988	fields.
10989	(ix86_add_new_builtins): Likewise.
10990	* ipa-fnsummary.c (compute_fn_summary): Likewise.
10991	* ipa-icf.c (sem_function::equals_wpa): Likewise.
10992	(sem_function::init): Likewise.
10993	(sem_variable::merge): Likewise.
10994	* ipa-visibility.c (function_and_variable_visibility): Likewise.
10995	* ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
10996	* lto-cgraph.c (lto_output_node): Likewise.
10997	(lto_output_varpool_node): Likewise.
10998	(input_node): Likewise.
10999	(input_varpool_node): Likewise.
11000	* lto-streamer-out.c (lto_output): Likewise.
11001	* tree-inline.c (expand_call_inline): Remove usage of
11002	assign_stmts.
11003	* tree-inline.h (struct copy_body_data): Likewise.
11004	* varpool.c (varpool_node::dump): Likewise.
11005
110062019-02-13  Jakub Jelinek  <jakub@redhat.com>
11007
11008	PR middle-end/89303
11009	* tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var
11010	into pt->vars_contains_escaped_heap instead of setting
11011	pt->vars_contains_escaped_heap to it.
11012
11013	PR middle-end/89281
11014	* optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of
11015	INTVAL (size), compare it to GET_MODE_MASK instead of
11016	1 << GET_MODE_BITSIZE.
11017
11018	PR target/89290
11019	* config/i386/predicates.md (x86_64_immediate_operand): Allow
11020	TLS UNSPECs offsetted by signed 32-bit CONST_INT even with
11021	-mcmodel=large.
11022
110232019-02-13  Martin Liska  <mliska@suse.cz>
11024
11025	PR lto/88858
11026	* cfgrtl.c (remove_barriers_from_footer): New function.
11027	(try_redirect_by_replacing_jump): Use it.
11028	(cfg_layout_redirect_edge_and_branch): Likewise.
11029
110302019-02-13  Xiong Hu Luo  <luoxhu@linux.vnet.ibm.com>
11031
11032	* config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be,
11033	vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines.
11034	* config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator.
11035	(crypto_vsbox_<mode>, crypto_<CR_insn>_<mode>): New define_insns.
11036	* config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1.
11037	(VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE):
11038	New BU_CRYPTO_2.
11039	* config/rs6000/rs6000.c (builtin_function_type)
11040	<CRYPTO_BUILTIN_VSBOX_BE, CRYPTO_BUILTIN_VCIPHER_BE,
11041	CRYPTO_BUILTIN_VCIPHERLAST_BE, CRYPTO_BUILTIN_VNCIPHER_BE,
11042	CRYPTO_BUILTIN_VNCIPHERLAST_BE>: New switch options.
11043	* doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be,
11044	vec_ncipher_be, vec_ncipherlast_be): New builtin functions.
11045
110462019-02-12  Pat Haugen  <pthaugen@us.ibm.com>
11047
11048	* doc/invoke.texi (RS/6000 and PowerPC Options): Remove duplicate
11049	-maltivec. Delete -maltivec=be and -maltivec=le documentation.
11050
110512019-02-12  H.J. Lu  <hongjiu.lu@intel.com>
11052
11053	PR target/89229
11054	* config/i386/i386.md (*movoi_internal_avx): Revert revision
11055	268678 and revision 268657.
11056	(*movti_internal): Likewise.
11057
110582019-02-12  Ilya Leoshkevich  <iii@linux.ibm.com>
11059
11060	PR target/89233
11061	* config/s390/s390.c (s390_decompose_address): Update comment.
11062	(s390_check_qrst_address): Reject invalid address forms after
11063	LRA.
11064
110652019-02-12  Martin Liska  <mliska@suse.cz>
11066
11067	PR lto/88876
11068	* ipa-pure-const.c (propagate_pure_const): Revert hunk as
11069	we need default values of funct_state for a function that
11070	is not optimized.
11071
110722019-02-12  Eric Botcazou  <ebotcazou@adacore.com>
11073
11074	* asan.c (asan_expand_mark_ifn): Take into account the alignment of
11075	the object to pick the size of stores on strict-alignment platforms.
11076
11077	* config/sparc/sparc.md (*movsi_insn): Minor tweak.
11078	(*movdi_insn_sp32): Likewise.
11079	(*movdi_insn_sp64): Likewise.
11080
110812019-02-12  Jan Hubicka  <hubicka@ucw.cz>
11082
11083	PR lto/88677
11084	* cgraphunit.c (analyze_functions): Clear READONLY flag for external
11085	types that needs constructiong.
11086	* tree.h (may_be_aliased): Do not check TYPE_NEEDS_CONSTRUCTING.
11087
110882019-02-12  Richard Biener  <rguenther@suse.de>
11089
11090	PR tree-optimization/89253
11091	* tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can
11092	duplicate the loop.
11093
110942019-02-11  David Malcolm  <dmalcolm@redhat.com>
11095
11096	PR lto/88147
11097	* input.c (selftest::test_line_offset_overflow): New selftest.
11098	(selftest::input_c_tests): Call it.
11099
111002019-02-11  Martin Sebor  <msebor@redhat.com>
11101
11102	PR tree-optimization/88771
11103	* gimple-ssa-warn-restrict.c (pass_wrestrict::gate): Also enable
11104	when -Wstringop-overflow is set.
11105	(builtin_memref::builtin_memref): Adjust excessive upper bound
11106	only when lower bound is not excessive.
11107	(maybe_diag_overlap): Detect and diagnose excessive bounds via
11108	-Wstringop-ovefflow.
11109	(maybe_diag_offset_bounds): Rename...
11110	(maybe_diag_access_bounds): ...to this.
11111	(check_bounds_or_overlap): Adjust for name change above.
11112
111132019-02-11  Martin Sebor  <msebor@redhat.com>
11114
11115	PR c++/87996
11116	* builtins.c (max_object_size): Move from here...
11117	* builtins.h (max_object_size): ...and here...
11118	* tree.c (max_object_size): ...to here...
11119	* tree.h (max_object_size): ...and here.
11120
111212019-02-11  Bill Schmidt  <wschmidt@linux.ibm.com>
11122
11123	* config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Shift-right
11124	and shift-left vector built-ins need to include a TRUNC_MOD_EXPR
11125	for correct semantics.
11126
111272019-02-11  Alan Modra  <amodra@gmail.com>
11128
11129	* doc/invoke.texi (man page RS/6000 and PowerPC Options): Mention
11130	-mlongcall and -mpltseq.
11131	(RS/6000 and PowerPC Options <-mlongcall>): Mention inline PLT calls.
11132	(RS/6000 and PowerPC Options <-mpltseq>): Document.
11133	* config/rs6000/rs6000.h (TARGET_PLTSEQ): Define.
11134	* config/rs6000/sysv4.opt (mpltseq): New option.
11135	* config/rs6000/sysv4.h (TARGET_PLTSEQ): Redefine.
11136	(SUBTARGET_OVERRIDE_OPTIONS): Error if given -mpltseq when assembler
11137	support is lacking.  Don't allow -mpltseq with -mbss-plt.
11138	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Warn if
11139	-mpltseq given for ELFv1.
11140	* config/rs6000/rs6000.c (rs6000_call_aix): Comment on UNSPEC_PLTSEQ.
11141	Only use UNSPEC_PLTSEQ for inline PLT calls.
11142	(rs6000_call_sysv, rs6000_sibcall_sysv): Expand comments.  Only
11143	use UNSPEC_PLTSEQ for inline PLT calls.
11144	(rs6000_indirect_call_template_1, rs6000_longcall_ref),
11145	(rs6000_call_aix, rs6000_call_sysv, rs6000_sibcall_sysv): Replace
11146	uses of HAVE_AS_PLTSEQ with TARGET_PLTSEQ, simplifying.
11147	* config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
11148	(pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
11149	(pltseq_mtctr_<mode>): Likewise.
11150
111512019-02-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11152
11153	* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Use 8-byte strings with
11154	Solaris ld.
11155	* configure: Regenerate.
11156
111572019-02-11  Jakub Jelinek  <jakub@redhat.com>
11158
11159	PR bootstrap/88714
11160	* config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use q constraint
11161	instead of r.
11162
111632019-02-11  Hans-Peter Nilsson  <hp@axis.com>
11164
11165	* function.c (assign_parm_setup_block): Use the stored
11166	size, not the passed size, when allocating stack-space,
11167	also for a parameter with alignment larger than
11168	MAX_SUPPORTED_STACK_ALIGNMENT.
11169
111702019-02-11  Martin Liska  <mliska@suse.cz>
11171
11172	PR ipa/89009
11173	* ipa-cp.c (build_toporder_info): Remove usage of a param.
11174	* ipa-inline.c (inline_small_functions): Likewise.
11175	* ipa-pure-const.c (propagate_pure_const): Likewise.
11176	(propagate_nothrow): Likewise.
11177	* ipa-reference.c (propagate): Likewise.
11178	* ipa-utils.c (struct searchc_env): Remove unused field.
11179	(searchc): Always search across AVAIL_INTERPOSABLE.
11180	(ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as
11181	the only called IPA pure const can properly not propagate
11182	across interposable boundary.
11183	* ipa-utils.h (ipa_reduced_postorder): Remove param.
11184
111852019-02-11  Chung-Ju Wu  <jasonwucj@gmail.com>
11186
11187	* config/nds32/nds32.md (call_internal, call_value_internal,
11188	sibcall_internal, sibcall_value_internal): Use SImode for mem rtx.
11189
111902019-02-11  Hans-Peter Nilsson  <hp@axis.com>
11191
11192	* config/cris/cris.c (cris_preferred_minimum_alignment): Fix name
11193	typo.
11194
111952019-02-10  H.J. Lu  <hongjiu.lu@intel.com>
11196
11197	* config/i386/constraints.md (Yd): Replace AVX512BW with AVX512DQ
11198	in comments
11199
112002019-02-10  Chung-Ju Wu  <jasonwucj@gmail.com>
11201
11202	* config.gcc (with_nds32_lib): Set default --with-nds32-lib correctly.
11203
112042019-02-10  Jakub Jelinek  <jakub@redhat.com>
11205
11206	PR tree-optimization/89268
11207	* tree-if-conv.c (version_loop_for_if_conversion): Push to preds only
11208	if preds is non-NULL.
11209
112102019-02-09  Jan Hubicka  <hubicka@ucw.cz>
11211
11212	PR lto/89272
11213	* tree.c (fld_simplified_type_name): Also keep TYPE_DECL for
11214	polymorphic types.
11215
112162019-02-10  Monk Chiang  <sh.chiang04@gmail.com>
11217
11218	* config/nds32/nds32.md (trap): New pattern.
11219
112202019-02-10  Monk Chiang  <sh.chiang04@gmail.com>
11221
11222	* config/nds32/nds32.c (nds32_dwarf_register_span): Refine register
11223	dwarf span.
11224
112252019-02-10  Chung-Ju Wu  <jasonwucj@gmail.com>
11226
11227	* config/nds32/nds32-md-auxiliary.c (nds32_spilt_doubleword): Support
11228	to split POST_INC.
11229
112302019-02-09  Jan Hubicka  <hubicka@ucw.cz>
11231
11232	* ipa-visibility.c (localize_node): Also do not localize
11233	LDPR_PREVAILING_DEF_IRONLY_EXP.
11234
112352019-02-09  Jan Hubicka  <hubicka@ucw.cz>
11236
11237	PR lto/87957
11238	* tree.c (fld_simplified_type_name): Use DECL_ASSEMBLER_NAME_SET_P
11239	instead of type_with_linkage.
11240
112412019-02-09  Jan Hubicka  <hubicka@ucw.cz>
11242
11243	PR ipa/88755
11244	* params.def (uninlined-function-insns, uninlined-function-time,
11245	uninlined-thunk-insns, uninlined-thunk-time): Add artificial upper
11246	bound so we don't get overflows.
11247
112482019-02-09  Aaron Sawdey  <acsawdey@linux.ibm.com>
11249
11250	* config/rs6000/rs6000-string.c (expand_compare_loop,
11251	expand_block_compare): Insert REG_BR_PROB notes in inline expansion of
11252	memcmp/strncmp.
11253
112542019-02-09  Jakub Jelinek  <jakub@redhat.com>
11255
11256	PR middle-end/89246
11257	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
11258	If !node->definition and TYPE_ARG_TYPES is non-NULL, use
11259	TYPE_ARG_TYPES instead of DECL_ARGUMENTS.
11260
112612019-02-09  Alan Modra  <amodra@gmail.com>
11262
11263	PR target/88343
11264	* config/rs6000/rs6000.c (save_reg_p): Correct calls_eh_return
11265	case.  Match logic in rs6000_emit_prologue emitting pic_offset_table
11266	setup.
11267
112682019-02-08  Vladimir Makarov  <vmakarov@redhat.com>
11269
11270	PR middle-end/88560
11271	* lra-constraints.c (process_alt_operands): Don't increase reject
11272	for memory when offset memory is required.
11273
112742019-02-08  Robin Dapp  <rdapp@linux.ibm.com>
11275
11276	* config/s390/vector.md: Implement vector copysign.
11277
112782019-02-08  H.J. Lu  <hongjiu.lu@intel.com>
11279
11280	* expr.c (expand_constructor): Correct indentations.
11281
112822019-02-08  Richard Biener  <rguenther@suse.de>
11283
11284	PR tree-optimization/89247
11285	* tree-if-conv.c: Include tree-cfgcleanup.h.
11286	(version_loop_for_if_conversion): Record LOOP_VECTORIZED call.
11287	(tree_if_conversion): Pass through predicate vector.
11288	(pass_if_conversion::execute): Do CFG cleanup and SSA update
11289	inline, see if any if-converted loops we refrece in
11290	LOOP_VECTORIZED calls vanished and fixup.
11291	* tree-if-conv.h (tree_if_conversion): Adjust prototype.
11292
112932019-02-08  Ilya Leoshkevich  <iii@linux.ibm.com>
11294
11295	* config/s390/constraints.md (jdd): New constraint.
11296
112972019-02-08  H.J. Lu  <hongjiu.lu@intel.com>
11298
11299	PR target/89229
11300	* config/i386/i386.md (*movoi_internal_avx): Set mode to XI for
11301	upper 16 vector registers without TARGET_AVX512VL.
11302	(*movti_internal): Likewise.
11303
113042019-02-08  Jakub Jelinek  <jakub@redhat.com>
11305
11306	PR rtl-optimization/89234
11307	* except.c (copy_reg_eh_region_note_forward): Return if note_or_insn
11308	is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P.
11309	(copy_reg_eh_region_note_backward): Likewise.
11310
113112019-02-08  Richard Biener  <rguenther@suse.de>
11312
11313	PR middle-end/89223
11314	* tree-data-ref.c (initialize_matrix_A): Fail if constant
11315	doesn't fit in HWI.
11316	(analyze_subscript_affine_affine): Handle failure from
11317	initialize_matrix_A.
11318
113192019-02-08  Jakub Jelinek  <jakub@redhat.com>
11320
11321	* cfganal.c (pre_and_rev_post_order_compute_fn): Use fn instead of
11322	cfun everywhere.
11323
113242019-02-07  David Malcolm  <dmalcolm@redhat.com>
11325
11326	PR tree-optimization/86637
11327	PR tree-optimization/89235
11328	* tree-vect-loop.c (optimize_mask_stores): Add an
11329	auto_purge_vect_location sentinel to ensure that vect_location is
11330	purged on exit.
11331	* tree-vectorizer.c
11332	(auto_purge_vect_location::~auto_purge_vect_location): New dtor.
11333	(try_vectorize_loop_1): Add an auto_purge_vect_location sentinel
11334	to ensure that vect_location is purged on exit.
11335	(pass_slp_vectorize::execute): Likewise, replacing the manual
11336	reset.
11337	* tree-vectorizer.h (class auto_purge_vect_location): New class.
11338
113392019-02-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11340
11341	* config/aarch64/iterators.md (max_opp): New code_attr.
11342	(USMAX): New code iterator.
11343	* config/aarch64/predicates.md (aarch64_smin): New predicate.
11344	(aarch64_smax): Likewise.
11345	* config/aarch64/aarch64-simd.md (abd<mode>_3): Rename to...
11346	(*aarch64_<su>abd<mode>_3): ... Change RTL representation to
11347	MINUS (MAX MIN).
11348
113492019-02-07  H.J. Lu  <hongjiu.lu@intel.com>
11350
11351	PR target/89229
11352	* config/i386/i386.md (*movoi_internal_avx): Set mode to OI
11353	for TARGET_AVX512VL.
11354	(*movti_internal): Set mode to TI for TARGET_AVX512VL.
11355
113562019-02-07  Andreas Krebbel  <krebbel@linux.ibm.com>
11357
11358	* config/s390/s390-builtin-types.def: Add new types.
11359	* config/s390/s390-builtins.def: (s390_vec_xl, s390_vec_xld2)
11360	(s390_vec_xlw4): Make the memory operand into a const pointer.
11361	(s390_vec_xld2, s390_vec_xlw4): Add a variant for single precision
11362	float.
11363	* config/s390/s390-c.c (s390_expand_overloaded_builtin): Generate
11364	a new vector type with the alignment of the scalar memory operand.
11365
113662019-02-07  Matthew Malcomson  <matthew.malcomson@arm.com>
11367	    Jakub Jelinek  <jakub@redhat.com>
11368
11369	PR bootstrap/88714
11370	* config/arm/arm-protos.h (valid_operands_ldrd_strd,
11371	arm_count_ldrdstrd_insns): New declarations.
11372	* config/arm/arm.c (mem_ok_for_ldrd_strd): Remove broken handling of
11373	MINUS.
11374	(valid_operands_ldrd_strd): New function.
11375	(arm_count_ldrdstrd_insns): New function.
11376	* config/arm/ldrdstrd.md: Change peepholes to generate PARALLEL SImode
11377	sets instead of single DImode set and define new insns to match this.
11378
113792019-02-07  Tamar Christina  <tamar.christina@arm.com>
11380
11381	* config/aarch64/aarch64-builtins.c (aarch64_fcmla_lane_builtin_data):
11382	Make it a C initializer.
11383
113842019-02-07  Tamar Christina  <tamar.christina@arm.com>
11385
11386	PR/target 88850
11387	* config/arm/neon.md (*neon_mov<mode>): Add r -> r case.
11388
113892019-02-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11390
11391	* config/arm/neon.md (neon_<sup>dot<vsi2qi>):
11392	Use neon_dot<q> for type.
11393	(neon_<sup>dot_lane<vsi2qi>): Likewise.
11394
113952019-02-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
11396
11397	* config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>):
11398	Use neon_dot<q> for type.
11399	(aarch64_<sur>dot_lane<vsi2qi>): Likewise.
11400	(aarch64_<sur>dot_laneq<vsi2qi>): Likewise.
11401
114022019-02-06  Vladimir Makarov  <vmakarov@redhat.com>
11403
11404	PR rtl-optimization/89225
11405	* lra-constaints.c (simplify_operand_subreg): Add subreg mode
11406	sizes check.
11407
114082019-02-06  Eric Botcazou  <ebotcazou@adacore.com>
11409
11410	* config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage
11411	after restoring registers saved to allocate the frame on Windows.
11412
114132019-02-06  Richard Biener  <rguenther@suse.de>
11414
11415	PR tree-optimization/89182
11416	* graphite.h (cached_scalar_evolution_in_region): Declare.
11417	* graphite.c (struct seir_cache_key): New.
11418	(struct sese_scev_hash): Likewise.
11419	(seir_cache): New global.
11420	(cached_scalar_evolution_in_region): New function.
11421	(graphite_transform_loops): Allocate and release seir_cache.
11422	* graphite-isl-ast-to-gimple.c (get_rename_from_scev): Use
11423	cached_scalar_evolution_in_region.
11424	* graphite-scop-detection.c (scop_detection::can_represent_loop):
11425	Simplify.
11426	(scop_detection::graphite_can_represent_expr: Use
11427	cached_scalar_evolution_in_region.
11428	(scop_detection::stmt_simple_for_scop_p): Likewise.
11429	(find_params_in_bb): Likewise.
11430	(gather_bbs::before_dom_children): Likewise.
11431	* graphite-sese-to-poly.c (create_pw_aff_from_tree): Likewise.
11432	(add_loop_constraints): Likewise.
11433
114342019-02-06  Jakub Jelinek  <jakub@redhat.com>
11435
11436	PR middle-end/89210
11437	* fold-const-call.c (fold_const_vec_convert): Pass true as last
11438	operand to new_unary_operation only if both element types are integral
11439	and it isn't a widening conversion.  Return NULL_TREE if
11440	new_unary_operation failed.
11441
114422019-02-05  Andreas Krebbel  <krebbel@linux.ibm.com>
11443
11444	PR target/88856
11445	* config/s390/s390.md: Remove load and test FP splitter.
11446
114472019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>
11448
11449	PR target/89112
11450	* config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence,
11451	expand_compare_loop, expand_block_compare_gpr,
11452	expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert
11453	REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add
11454	#include "profile-count.h" and "predict.h" for types and functions
11455	needed to work with REG_BR_PROB notes.
11456
114572019-02-05  Aaron Sawdey  <acsawdey@linux.ibm.com>
11458
11459	PR target/89112
11460	* config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
11461	for the long branch case.
11462
114632019-02-05  Jakub Jelinek  <jakub@redhat.com>
11464
11465	PR target/89188
11466	* dce.c (delete_unmarked_insns): Don't remove no-op moves if they
11467	can throw, non-call exceptions are enabled and we can't delete
11468	dead exceptions or alter cfg.  Set must_clean if
11469	delete_insn_and_edges returns true, don't set it blindly for calls.
11470	Assert that delete_unreachable_blocks is called only if can_alter_cfg.
11471
11472	PR rtl-optimization/89195
11473	* combine.c (make_extraction): For MEMs, don't extract bytes outside
11474	of the original MEM.
11475
114762019-02-05  Martin Liska  <mliska@suse.cz>
11477
11478	PR gcov-profile/89000
11479	* gcov.c (function_summary): Remove argument.
11480	(file_summary): New function.
11481	(print_usage): Replace tabs with spaces.
11482	(generate_results): Use new function file_summary.
11483
114842019-02-05  Jakub Jelinek  <jakub@redhat.com>
11485
11486	PR target/89186
11487	* optabs.c (prepare_cmp_insn): Pass x and y to
11488	emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).
11489
114902019-02-05  Richard Biener  <rguenther@suse.de>
11491
11492	PR middle-end/89150
11493	* bitmap.h (struct bitmap_obstack): Do not mark GTY.
11494	(struct bitmap_element): Drop chain_prev so we properly recurse on
11495	the prev member, supporting tree views.
11496	(struct bitmap_head): GTY skip the obstack member.
11497
114982019-02-04  Alexander Monakov  <amonakov@ispras.ru>
11499
11500	PR c/88698
11501	* doc/extend.texi (Vector Extensions): Add an example of using vector
11502	types together with x86 intrinsics.
11503
115042019-02-04  Alan Modra  <amodra@gmail.com>
11505
11506	* config/rs6000/rs6000.c (rs6000_indirect_call_template_1): Increase
11507	str[] size to 160, and comment.
11508
115092019-02-04  Alan Modra  <amodra@gmail.com>
11510
11511	* config/rs6000/rs6000.c (rs6000_indirect_call_template_1),
11512	(rs6000_pltseq_template): Guard output of TLS markers with
11513	TARGET_TLS_MARKERS.
11514	(rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv),
11515	(rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding
11516	to use inline PLT sequences.
11517	* config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
11518	(pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
11519	(pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate.
11520
115212019-02-04  Martin Liska  <mliska@suse.cz>
11522
11523	PR ipa/88985
11524	* ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
11525	out when ipa_fn_summaries does not contain entry for callee.
11526
115272019-02-04  Eric Botcazou  <ebotcazou@adacore.com>
11528
11529	* config/sparc/sparc.h: Remove superfluous blank lines.
11530	* config/sparc/sparc.c (global_offset_table_rtx): Rename into...
11531	(got_register_rtx): ...this.
11532	(sparc_got): Adjust to above renaming.
11533	(sparc_tls_got): Likewise.
11534	(sparc_delegitimize_address): Likewise.
11535	(sparc_output_mi_thunk): Likewise.
11536	(sparc_init_pic_reg): Likewise.
11537	(save_local_or_in_reg_p): Fix test on the GOT register.
11538	(USE_HIDDEN_LINKONCE): Move around.
11539	(get_pc_thunk_name): Likewise.
11540	(gen_load_pcrel_sym): Likewise.
11541	(load_got_register): Likewise.
11542
115432019-02-04  Kito Cheng  <kito.cheng@gmail.com>
11544
11545	* config/nds32/linux.h (GLIBC_DYNAMIC_LINKER): Define the naming rule
11546	of the dynamic linker: "ld-linux-nds32[le|be][f].so.1".
11547
115482019-02-04  Chung-Ju Wu  <jasonwucj@gmail.com>
11549
11550	* config/nds32/nds32.c (nds32_legitimate_address_p): Add TLS model
11551	into consideration.
11552
115532019-02-04  Chung-Ju Wu  <jasonwucj@gmail.com>
11554
11555	* config.gcc (with_nds32_lib, glibc):
11556	Remove TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0 setting.
11557	* config/nds32/linux.h (TARGET_DEFAULT_TLSDESC_TRAMPOLINE): Delete.
11558	(NDS32_TLSDESC_TRAMPOLINE_SPEC): Delete.
11559
115602019-02-03  Uroš Bizjak  <ubizjak@gmail.com>
11561
11562	PR target/89071
11563	* config/i386/i386.md (*sqrt<mode>2_sse): Add (v,0) alternative.
11564	Do not prefer (v,v) alternative for non-AVX targets and (m,v)
11565	alternative for speed when TARGET_SSE_PARTIAL_REG_DEPENDENCY is set.
11566	(*rcpsf2_sse): Ditto.
11567	(*rsqrtsf2_sse): Ditto.
11568	(sse4_1_round<mode<2): Ditto.
11569
115702019-02-03  Richard Biener  <rguenther@suse.de>
11571
11572	PR debug/87295
11573	* dwarf2out.c (copy_ancestor_tree): Register non-stubs as
11574	orig.
11575
115762019-02-02  Jakub Jelinek  <jakub@redhat.com>
11577
11578	PR middle-end/87887
11579	* config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
11580	Punt with warning on aggregate return or argument types.  Ignore
11581	type/mode checking for uniform arguments.
11582
115832019-02-01  Segher Boessenkool  <segher@kernel.crashing.org>
11584
11585	* combine.c (try_combine): Do not print "Can't combine" messages unless
11586	printing failed combination attempts.
11587
115882019-02-01  Martin Jambor  <mjambor@suse.cz>
11589
11590	PR hsa/87863
11591	* omp-grid.c (grid_mark_variable_segment): Set assembler name of group
11592	segment and global segment variables before making them static.
11593
115942019-02-01  Martin Jambor  <mjambor@suse.cz>
11595
11596	* omp-grid.c (grid_target_follows_gridifiable_pattern): Guard two
11597	missed optimization dump with dump_enabled_p.
11598
115992019-02-01  Richard Biener  <rguenther@suse.de>
11600
11601	PR middle-end/88597
11602	* tree-scalar-evolution.c (analyze_scalar_evolution): Set up
11603	the instantiate cache.
11604	(instantiate_scev_binary): Elide second operand procesing
11605	if equal to the first.
11606	* tree-chrec.c (chrec_contains_symbols): Add visited set.
11607	(chrec_contains_undetermined): Likewise.
11608	(tree_contains_chrecs): Likewise.
11609
116102019-02-01  Jan Hubicka  <hubicka@ucw.cz>
11611
11612	* parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
11613
116142019-02-01  Jakub Jelinek  <jakub@redhat.com>
11615
11616	PR tree-optimization/89143
11617	* wide-int-range.h (wide_int_range_absu): Declare.
11618	* wide-int-range.cc (wide_int_range_absu): New function.
11619	* tree-vrp.c (extract_range_from_unary_expr): Handle ABSU_EXPR.
11620
11621	PR tree-optimization/88107
11622	* tree-cfg.c (find_outermost_region_in_block): Add ALL argument,
11623	instead of assertion that eh_region_outermost is non-NULL, if it
11624	is NULL, set *ALL to true and return NULL.
11625	(move_sese_region_to_fn): Adjust caller, if all is set, call
11626	duplicate_eh_regions with NULL region.
11627
116282019-02-01  Richard Biener  <rguenth@suse.de>
11629
11630	PR rtl-optimization/88593
11631	* mode-switching.c (optimize_mode_switching): Free dominators before
11632	calling cleanup_cfg.
11633
116342019-02-01  Bin Cheng  <bin.cheng@linux.alibaba.com>
11635
11636	PR tree-optimization/88932
11637	* tree-predcom.c (try_combine_chains): Get loop bbs in dom order.
11638
116392019-01-31  Jakub Jelinek  <jakub@redhat.com>
11640
11641	PR middle-end/89137
11642	* omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid
11643	bogus clang warning.
11644
116452019-01-31  Uroš Bizjak  <ubizjak@gmail.com>
11646
11647	PR target/89071
11648	* config/i386/i386.md (*extendsfdf2): Split out reg->reg
11649	alternative to avoid partial SSE register stall for TARGET_AVX.
11650	(truncdfsf2): Ditto.
11651	(sse4_1_round<mode>2): Ditto.
11652
116532018-01-31  Bill Schmidt  <wschmidt@linux.ibm.com>
11654
11655	PR tree-optimization/89008
11656	* gimple-ssa-strength-reduction.c (slsr_process_mul): Don't
11657	process anything of the form X * 0.
11658
116592019-01-31  Richard Biener  <rguenther@suse.de>
11660
11661	PR tree-optimization/89135
11662	* tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks
11663	with abnormal preds.
11664
116652019-01-31  Jakub Jelinek  <jakub@redhat.com>
11666
11667	PR sanitizer/89124
11668	* ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining
11669	always_inline callees into no_sanitize_address callers.
11670
116712019-01-31  Richard Biener  <rguenther@suse.de>
11672
11673	PR rtl-optimization/89115
11674	* lra.c (lra_rtx_hash): Properly hash CONST_INT values.
11675
116762019-01-30  Martin Sebor  <msebor@redhat.com>
11677
11678	PR other/89106
11679	* doc/extend.texi (cast to a union): Correct and expand.
11680
116812019-01-30  Vladimir Makarov  <vmakarov@redhat.com>
11682
11683	PR rtl-optimization/87246
11684	* lra-constraints.c (simplify_operand_subreg): Reload memory
11685	in subreg if the address became invalid.
11686
116872019-01-30  Bill Schmidt  <wschmidt@linux.ibm.com>
11688
11689	PR target/87064
11690	* config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v4sf_scalar):
11691	Disable for little-endian.
11692
116932019-01-30  Richard Biener  <rguenther@suse.de>
11694
11695	PR rtl-optimization/89115
11696	* opts.c (default_options_optimization): Reduce
11697	PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1.
11698	Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative
11699	to the default.
11700
117012019-01-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>
11702
11703	* config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin):
11704	Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT.  Coerce result to
11705	type of vector element when vec_extract is implemented by direct
11706	move.
11707
117082019-01-30  Thomas Schwinge  <thomas@codesourcery.com>
11709
11710	* doc/invoke.texi (C Language Options): List "-fopenacc-dim".
11711
117122019-01-30  Richard Biener  <rguenther@suse.de>
11713
11714	PR tree-optimization/89111
11715	* tree-ssa-loop-im.c (gather_mem_refs_stmt): Restrict
11716	canonicalization to appropriately sized access types.
11717
117182019-01-30  Jakub Jelinek  <jakub@redhat.com>
11719
11720	PR c++/89105
11721	* config/i386/i386.c (ix86_warn_parameter_passing_abi): Don't warn
11722	for arguments to functions that are TU-local and shouldn't be
11723	referenced by assembly.
11724
117252019-01-30  Ulrich Drepper  <drepper@redhat.com>
11726
11727	* dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears
11728	after '='.
11729
117302019-01-29  Martin Sebor  <msebor@redhat.com>
11731
11732	PR c/88956
11733	* gimple-fold.c (fold_array_ctor_reference): Avoid zero-length arrays.
11734
117352019-01-29  Jakub Jelinek  <jakub@redhat.com>
11736
11737	PR c++/66676
11738	PR ipa/89104
11739	* omp-simd-clone.c (simd_clone_clauses_extract)
11740	<case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL
11741	OMP_CLAUSE_ALIGNED_ALIGNMENT.
11742
117432019-01-29  Vineet Gupta  <vgupta@synopsys.com>
11744
11745	* config.gcc: Force .init_array for ARC.
11746
117472019-01-29  Richard Biener  <rguenther@suse.de>
11748
11749	PR debug/87295
11750	* dwarf2out.c (collect_skeleton_dies): New helper.
11751	(copy_decls_for_unworthy_types): Call it.
11752	(build_abbrev_table): Assert we do not try to replace
11753	DW_AT_signature refs with local refs.
11754
117552019-01-28  Jakub Jelinek  <jakub@redhat.com>
11756
11757	PR middle-end/89002
11758	* gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
11759	for lastprivate/linear IV, push gimplify context around gimplify_assign
11760	and, if it needed any temporaries, pop it into a gimple bind around the
11761	sequence.
11762
117632019-01-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>
11764
11765	* common.opt (-Wattribute-alias): Remove "no-" from name.
11766	Make -Wattribute-alias command line option and
11767	#pragma GCC diagnostic ignored "-Wattribute-alias" work again.
11768
117692019-01-28  Jakub Jelinek  <jakub@redhat.com>
11770
11771	PR target/89073
11772	* doc/invoke.texi (-mclwb, -mprfchw, -mrdpid, -mrdseed, -msgx,
11773	-madx, -mhle, -mavx5124fmaps, -mavx512vnni, -mavx5124vnniw): Document
11774	x86 ISA options.
11775	(bmi2): Add missing @opindex.
11776	* doc/extend.texi (x86 target attribute): Move fma4, lwp, ssse3
11777	options alphabetically.  Add missing 3dnow, 3dnowa, adx, avx, avx2,
11778	avx5124fmaps, avx5124vnniw, avx512bitalg, avx512bw, avx512cd,
11779	avx512dq, avx512er, avx512f, avx512ifma, avx512pf, avx512vbmi,
11780	avx512vbmi2, avx512vl, avx512vnni, avx512vpopcntdq, bmi, bmi2,
11781	cldemote, clflushopt, clwb, clzero, crc32, cx16, f16c, fma, fsgsbase,
11782	fxsr, gfni, hle, lzcnt, movbe, movdir64b, movdiri, mwaitx, pconfig,
11783	pku, prefetchwt1, prfchw, ptwrite, rdpid, rdrnd, rdseed, rtm, sahf,
11784	sgx, sha, shstk, tbm, vaes, vpclmulqdq, waitpkg, wbnoinvd, xsave,
11785	xsavec, xsaveopt and xsaves options.
11786
117872019-01-28  Richard Biener  <rguenther@suse.de>
11788
11789	PR debug/89076
11790	* dwarf2out.c (gen_subprogram_die): Remove leftover from MPX
11791	support removal.
11792
117932019-01-28  Richard Biener  <rguenther@suse.de>
11794
11795	PR tree-optimization/88739
11796	* tree-cfg.c (verify_types_in_gimple_reference): Verify
11797	BIT_FIELD_REFs only are applied to mode-precision operands
11798	when they are integral.
11799	(verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR.
11800	* tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating
11801	BIT_FIELD_REFs of non-mode-precision integral operands.
11802
118032019-01-27  Jakub Jelinek  <jakub@redhat.com>
11804
11805	PR target/87214
11806	* config/i386/sse.md
11807	(<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>,
11808	avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the
11809	first constants in pairs are multiples of 2.  Formatting fixes.
11810	(avx512vl_shuf_<shuffletype>32x4_1<mask_name>,
11811	avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the
11812	first constants in each quadruple are multiples of 4.  Formatting fixes.
11813
118142019-01-26  Martin Jambor  <mjambor@suse.cz>
11815
11816	PR ipa/88933
11817	* tree-inline.c: Include tree-cfgcleanup.h.
11818	(delete_unreachable_blocks_update_callgraph): Move...
11819	* tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
11820	...here, make externally visible, make second argument bool, adjust
11821	all callers.
11822	* tree-cfgcleanup.c: Include cgraph.h.
11823	* tree-cfgcleanup.h (delete_unreachable_blocks_update_callgraph):
11824	Declare.
11825	* ipa-prop.c: Include tree-cfgcleanup.h.
11826	(ipcp_transform_function): Call
11827	delete_unreachable_blocks_update_callgraph instead of cleaning uo CFG.
11828
118292019-01-25  Vladimir Makarov  <vmakarov@redhat.com>
11830
11831	PR rtl-optimization/88846
11832	* ira.c (process_set_for_memref_referenced_p): New.
11833	(memref_referenced_p): Add new param.  Use
11834	process_set_for_memref_referenced_p.  Add new switch cases.
11835	(memref_used_between_p): Pass new arg to memref_referenced_p.
11836
118372019-01-25  Richard Earnshaw  <rearnsha@arm.com>
11838
11839	PR target/88469
11840	* config/aarch64/aarch64.c (aarch64_function_arg_alignment): Add new
11841	argument ABI_BREAK.  Set to true if the calculated alignment has
11842	changed in gcc-9.  Check bit-fields for their base type alignment.
11843	(aarch64_layout_arg): Warn if argument passing has changed in gcc-9.
11844	(aarch64_function_arg_boundary): Likewise.
11845	(aarch64_gimplify_va_arg_expr): Likewise.
11846
118472019-01-25  Richard Sandiford  <richard.sandiford@arm.com>
11848
11849	PR middle-end/89037
11850	* varasm.c (output_constructor_bitfield): Use wi::extract_uhwi
11851	instead of accessing TREE_INT_CST_ELT directly.
11852
118532019-01-25  Christophe Lyon  <christophe.lyon@linaro.org>
11854
11855	* doc/sourcebuild.texi (Environment attributes): Add fenv and
11856	fenv_exceptions description.
11857
118582019-01-25  Wilco Dijkstra  <wdijkstr@arm.com>
11859
11860	PR rtl-optimization/87763
11861	* config/aarch64/aarch64.c (aarch64_select_cc_mode):
11862	Allow SUBREG when matching CC_NZmode compare.
11863
118642019-01-25  Richard Biener  <rguenther@suse.de>
11865
11866	PR tree-optimization/89049
11867	* tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
11868	Look at the pattern stmt to determine if the stmt is vectorized.
11869
118702019-01-25  Richard Sandiford  <richard.sandiford@arm.com>
11871
11872	* config/aarch64/aarch64-sve.md (*pred_mov<mode>)
11873	(pred_mov<mode>): Handle all-register forms using both a new
11874	alternative and a split.
11875
118762019-01-25  Richard Biener  <rguenther@suse.de>
11877
11878	PR tree-optimization/86865
11879	* graphite-scop-detection.c (scop_detection::can_represent_loop):
11880	Reject non-do-while loops.
11881
118822019-01-24  Peter Bergner  <bergner@linux.ibm.com>
11883
11884	* config/rs6000/altivec.md (build_vector_mask_for_load): Use MEM_P.
11885	* config/rs6000/constraints.md (Q constraint): Use REG_P.
11886	* config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Use SYMBOL_REF_P.
11887	* config/rs6000/freebsd64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use
11888	SYMBOL_REF_P, CONST_INT_P and CONST_DOUBLE_P.
11889	* config/rs6000/linux64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
11890	* config/rs6000/predicates.md (altivec_register_operand, vint_operand,
11891	vsx_register_operand, vsx_reg_sfsubreg_ok, vfloat_operand,
11892	vlogical_operand, gpc_reg_operand, int_reg_operand,
11893	int_reg_operand_not_pseudo): Use SUBREG_P and HARD_REGISTER_P.
11894	(ca_operand, base_reg_operand, htm_spr_reg_operand, cc_reg_operand,
11895	cc_reg_not_cr0_operand, input_operand): Use SUBREG_P.
11896	(save_world_operation, restore_world_operation, lmw_operation,
11897	stmw_operation): Use MEM_P and REG_P.
11898	(tie_operand): Use MEM_P.
11899	(vrsave_operation, crsave_operation): Use REG_P.
11900	(mfcr_operation, mtcrf_operation): Use REG_P and CONST_INT_P.
11901	(fpr_reg_operand): Use SUBREG_P and HARD_REGISTER_NUM_P.
11902	(quad_int_reg_operand): Use HARD_REGISTER_NUM_P.
11903	(call_operand): Use HARD_REGISTER_P.
11904	(indexed_or_indirect_operand, altivec_indexed_or_indirect_operand):
11905	Use CONST_INT_P.
11906	(lwa_operand): Use SUBREG_P, REG_P and CONST_INT_P.
11907	* config/rs6000/rs6000-p8swap.c (insn_is_load_p, insn_is_store_p,
11908	quad_aligned_load_p, replace_swapped_aligned_store,
11909	recombine_lvx_pattern, replace_swapped_aligned_load,
11910	recombine_stvx_pattern): Use MEM_P.
11911	(const_load_sequence_p, adjust_vperm, replace_swapped_load_constant):
11912	Use MEM_P and SYMBOL_REF_P.
11913	(rtx_is_swappable_p): Use REG_P and CONST_INT_P.
11914	(insn_is_swappable_p): Use REG_P and MEM_P.
11915	(insn_is_swap_p, (alignment_mask): Use CONST_INT_P.
11916	* config/rs6000/rs6000-string.c (expand_block_clear, expand_block_move):
11917	Use CONST_INT_P.
11918	* config/rs6000/rs6000.c (rs6000_secondary_reload, rs6000_emit_cmove):
11919	Use CONST_DOUBLE_P.
11920	(rs6000_output_move_128bit): Use CONST_DOUBLE_P, CONST_INT_P and
11921	CONST_WIDE_INT_P.
11922	(rs6000_legitimize_address): Use CONST_DOUBLE_P, CONST_INT_P,
11923	CONST_WIDE_INT_P, REG_P and SYMBOL_REF_P.
11924	(rs6000_emit_move): Use CONST_DOUBLE_P, CONST_INT_P, HARD_REGISTER_P,
11925	HARD_REGISTER_NUM_P, MEM_P, REG_P, SUBREG_P, SYMBOL_REF_P and
11926	reg_or_subregno:
11927	(output_toc): Use CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P.
11928	(easy_altivec_constant, rs6000_legitimate_offset_address_p,
11929	rs6000_mode_dependent_address, rs6000_expand_mtfsf_builtin,
11930	rs6000_expand_set_fpscr_rn_builtin, rs6000_expand_set_fpscr_drn_builtin,
11931	rs6000_expand_unop_builtin, INT_P, rs6000_generate_compare,
11932	rs6000_machopic_legitimize_pic_address, rs6000_split_logical_inner,
11933	rs6000_split_logical_di): Use CONST_INT_P.
11934	(rs6000_legitimize_reload_address): Use CONST_INT_P, HARD_REGISTER_P,
11935	REG_P and SYMBOL_REF_P.
11936	(setup_incoming_varargs, rs6000_rtx_costs): Use CONST_INT_P and MEM_P.
11937	(print_operand): Use CONST_INT_P, MEM_P and REG_P.
11938	(virtual_stack_registers_memory_p, rs6000_legitimate_address_p,
11939	mems_ok_for_quad_peep): Use CONST_INT_P and REG_P.
11940	(rs6000_secondary_reload_memory): Use CONST_INT_P and SUBREG_P.
11941	(small_data_operand, print_operand_address): Use CONST_INT_P and
11942	SYMBOL_REF_P.
11943	(split_stack_arg_pointer_used_p): Use HARD_REGISTER_P.
11944	(rs6000_init_hard_regno_mode_ok, direct_move_p):
11945	Use HARD_REGISTER_NUM_P.
11946	(rs6000_secondary_reload_gpr): Use HARD_REGISTER_NUM_P and MEM_P.
11947	(rs6000_secondary_reload_class): Use HARD_REGISTER_NUM_P, REG_P,
11948	SUBREG_P and SYMBOL_REF_P.
11949	(register_to_reg_type, rs6000_secondary_reload_inner): Use SUBREG_P
11950	and HARD_REGISTER_NUM_P.
11951	(rs6000_adjust_vec_address): Use HARD_REGISTER_NUM_P and
11952	reg_or_subregno.
11953	(rs6000_adjust_cost, find_mem_ref): Use MEM_P.
11954	(macho_lo_sum_memory_operand, rs6000_eliminate_indexed_memrefs): Use
11955	MEM_P and REG_P.
11956	(legitimate_indirect_address_p, legitimate_lo_sum_address_p,
11957	registers_ok_for_quad_peep, rs6000_output_function_epilogue,
11958	find_addr_reg): Use REG_P.
11959	(altivec_expand_vec_perm_const): Use REG_P and SUBREG_P.
11960	(rs6000_emit_le_vsx_move): Use SUBREG_P.
11961	(offsettable_ok_by_alignment, constant_pool_expr_p,
11962	legitimate_small_data_p, rs6000_output_dwarf_dtprel,
11963	rs6000_delegitimize_address, rs6000_const_not_ok_for_debug_p,
11964	rs6000_cannot_force_const_mem, rs6000_output_addr_const_extra,
11965	rs6000_assemble_integer, create_TOC_reference,
11966	rs6000_emit_allocate_stack, rs6000_xcoff_encode_section_info,
11967	rs6000_call_aix, rs6000_call_aix): Use SYMBOL_REF_P.
11968	(rs6000_split_vec_extract_var): Use reg_or_subregno.
11969	* config/rs6000/rtems.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use
11970	CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P.
11971	* config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
11972	* config/rs6000/xcoff.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
11973	* config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Use SYMBOL_REF_P.
11974	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Use HARD_REGISTER_NUM_P.
11975	(INT_REG_OK_FOR_INDEX_P, INT_REG_OK_FOR_BASE_P): Use HARD_REGISTER_P.
11976	(CONSTANT_ADDRESS_P): Use CONST_INT_P and SYMBOL_REF_P.
11977	* config/rs6000/rs6000.md (define_expands strlensi, mod<mode>3
11978	and cbranch<mode>4): Use CONST_INT_P.
11979	(multiple define_splits): Use REG_P and SUBREG_P.
11980	(define_expands call, call_value): Use MEM_P.
11981	(define_expands sibcall, sibcall_value): Use CONST_INT_P and  MEM_P.
11982	(define insn *mtcrfsi): Use CONST_INT_P and REG_P.
11983	* config/rs6000/vsx.md (*vsx_le_perm_load_<mode>,
11984	*vsx_le_perm_load_v8hi, *vsx_le_perm_load_v16qi): Use HARD_REGISTER_P
11985	and HARD_REGISTER_NUM_P.
11986	(multiple define_splits): Use HARD_REGISTER_NUM_P.
11987
119882019-01-24  Uroš Bizjak  <ubizjak@gmail.com>
11989
11990	PR rtl-optimization/88948
11991	* rtl.h (prepare_copy_insn): New prototype.
11992	* gcse.c (prepare_copy_insn): New function, split out from
11993	process_insert_insn.
11994	(process_insert_insn): Use prepare_copy_insn.
11995	* store-motion.c (replace_store_insn): Use prepare_copy_insn
11996	instead of gen_move_insn.
11997
119982019-01-24  Jakub Jelinek  <jakub@redhat.com>
11999
12000	PR debug/89006
12001	* config/i386/i386.c (ix86_pic_register_p): Return true for
12002	UNSPEC_SET_GOT too.
12003
12004	PR tree-optimization/88964
12005	* gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Also
12006	punt if HONOR_SNANS (chrec).
12007
12008	PR middle-end/89015
12009	* tree-nested.c (convert_nonlocal_reference_stmt,
12010	convert_local_reference_stmt, convert_tramp_reference_stmt,
12011	convert_gimple_call) <case GIMPLE_OMP_TEAMS>: Treat
12012	gimple_omp_teams_host teams stmts like GIMPLE_OMP_PARALLEL
12013	or GIMPLE_OMP_TASK.
12014
12015	PR tree-optimization/89027
12016	* tree-inline.c (add_clobbers_to_eh_landing_pad): Don't add clobbers
12017	for "omp simd array" variables.
12018
120192019-01-24  Richard Earnshaw  <rearnsha@arm.com>
12020
12021	PR target/88469
12022	* profile-count.h (profile_count): On ARM systems using GCC 6/7/8
12023	force the alignment of m_val.
12024
120252019-01-24  Richard Biener  <rguenther@suse.de>
12026
12027	PR lto/87187
12028	* tree-streamer-out.c (write_ts_decl_common_tree_pointers):
12029	When in "legacy" debug mode make sure to reset self-origins.
12030
120312019-01-24  Martin Liska  <mliska@suse.cz>
12032
12033	PR gcov-profile/88994
12034	* gcov-io.c (mangle_path): Do not allocate a bigger buffer,
12035	result will be always smaller or equal to the original.
12036	* gcov.c (mangle_name): Fix else branch where we should
12037	also copy to PTR and shift the pointer.
12038
120392019-01-24  Xiong Hu Luo  <luoxhu@linux.vnet.ibm.com>
12040
12041	* tree-ssa-dom.c (test_for_singularity): Fix a comment typo.
12042	* vr-values.c (find_case_label_ranges): Fix a comment typo.
12043
120442019-01-23  Bin Cheng  <bin.cheng@arm.com>
12045	    Steve Ellcey <sellcey@marvell.com>
12046
12047	PR target/85711
12048	* recog.c (address_operand): Return false on wrong mode for address.
12049	(constrain_operands): Check for mode with 'p' constraint.
12050
120512019-01-23  Uroš Bizjak  <ubizjak@gmail.com>
12052
12053	PR target/88998
12054	* config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives.
12055	Disparage MMX alternative.
12056	(sse2_cvtpd2pi): Ditto.
12057	(sse2_cvttpd2pi): Ditto.
12058
120592019-01-23  David Malcolm  <dmalcolm@redhat.com>
12060
12061	PR driver/89014
12062	* config/aarch64/driver-aarch64.c (host_detect_local_cpu): Fix
12063	use-after-free of the result of
12064	aarch64_get_extension_string_for_isa_flags.
12065
120662019-01-23  Jakub Jelinek  <jakub@redhat.com>
12067
12068	PR c/44715
12069	* doc/extend.texi: Document break and continue behavior in
12070	statement expressions.
12071
120722019-01-23  Richard Biener  <rguenther@suse.de>
12073
12074	PR tree-optimization/89008
12075	* tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do
12076	not leave another stray operand.
12077
120782019-01-23  Jakub Jelinek  <jakub@redhat.com>
12079
12080	* BASE-VER: Bump to 9.0.1.
12081
120822019-01-23  Eric Botcazou  <ebotcazou@adacore.com>
12083
12084	* cgraphunit.c (cgraph_node::expand_thunk): When expanding a GIMPLE
12085	thunk that returns by reference, use the type of the return object
12086	of the thunk instead of that of the alias to build the dereference.
12087
120882019-01-23  Vineet Gupta  <vgupta@synopsys.com>
12089
12090	* config/arc/atomic.md: Add operand to DMB instruction.
12091
120922019-01-23  Jakub Jelinek  <jakub@redhat.com>
12093
12094	PR tree-optimization/88964
12095	* gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Use
12096	build_zero_cst instead of build_int_cst.  Return false for loop
12097	invariants which honor signed zeros.
12098
120992019-01-22  Segher Boessenkool  <segher@kernel.crashing.org>
12100
12101	* doc/invoke.texi (-fsplit-paths): This is enabled by default at -O3.
12102
121032019-01-22  Jakub Jelinek  <jakub@redhat.com>
12104
12105	PR target/88965
12106	* config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h.
12107	(rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy
12108	is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first.
12109
12110	PR middle-end/88968
12111	* gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with
12112	non-integral DECL_BIT_FIELD_REPRESENTATIVEs.
12113
12114	PR target/87064
12115	* config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
12116	Disable for little endian.
12117
121182019-01-22  Richard Earnshaw  <rearnsha@arm.com>
12119
12120	PR target/88469
12121	* config/arm/arm.c (arm_needs_double_word_align): Check
12122	DECL_BIT_FIELD_TYPE.
12123
121242019-01-22  Hongtao Liu  <hongtao.liu@intel.com>
12125	    H.J. Lu  <hongjiu.lu@intel.com>
12126
12127	PR target/88909
12128	* config/i386/i386-builtin.def: Add mask2 to all builtin
12129	initializations.  Merge ARGS2 and SPECIAL_ARGS2 into ARGS and
12130	SPECIAL_ARGS.
12131	* config/i386/i386.c (BDESC): Add mask2 to the definition.
12132	(BDESC_FIRST): Likewise.
12133	(define_builtin): Add an argument for mask2.  Updated to handle
12134	both ix86_isa_flags and ix86_isa_flags2.
12135	(define_builtin_const): Likewise.
12136	(define_builtin_pure): Likewise.
12137	(define_builtin2): Deleted.
12138	(define_builtin_const2): Likewise.
12139	(builtin_description): Add a member, mask2.
12140	(bdesc_*): Add mask2 to builtin initializations.
12141	(ix86_init_mmx_sse_builtins): Update calls to def_builtin,
12142	def_builtin_const and def_builtin_pure.  Remove SPECIAL_ARGS2
12143	support.
12144	(ix86_get_builtin_func_type): Remove SPECIAL_ARGS2 support.
12145
121462019-01-22  H.J. Lu  <hongjiu.lu@intel.com>
12147
12148	PR target/88954
12149	* config/i386/i386.c (ix86_force_load_from_GOT_p): Also check
12150	noplt attribute.
12151
121522019-01-22  Richard Earnshaw  <rearnsha@arm.com>
12153
12154	PR target/88469
12155	* config/arm/arm.c (arm_needs_doubleword_align): Return 2 if a record's
12156	alignment is dominated by a bitfield with 64-bit aligned base type.
12157	(arm_function_arg): Emit a warning if the alignment has changed since
12158	earlier GCC releases.
12159	(arm_function_arg_boundary): Likewise.
12160	(arm_setup_incoming_varargs): Likewise.
12161
121622019-01-22  Richard Biener  <rguenther@suse.de>
12163
12164	PR tree-optimization/88862
12165	* graphite-scop-detection.c
12166	(scop_detection::graphite_can_represent_scev): Reject ADDR_EXPR.
12167
121682019-01-22  Andrew Stubbs  <ams@codesourcery.com>
12169
12170	* doc/extend.tex (AMD GCN Function Attributes): New section.
12171	* doc/install.texi (amdgcn-unknown-amdhsa): New instructions.
12172	* doc/invoke.texi (AMD GCN Options): New section.
12173	* doc/md.texi (Constraints for Particular Machines): Add AMD GCN.
12174
121752019-01-22  Eric Botcazou  <ebotcazou@adacore.com>
12176
12177	* config/sparc/sparc.c (parc_delegitimize_address): Recognize the GOT
12178	register and decoded HIGH/LO_SUM combinations for labels in PIC mode.
12179
121802019-01-22  Jakub Jelinek  <jakub@redhat.com>
12181
12182	PR tree-optimization/88044
12183	* tree-ssa-loop-niter.c (number_of_iterations_cond): If condition
12184	is false in the first iteration, but !every_iteration, return false
12185	instead of true with niter->niter zero.
12186
12187	PR rtl-optimization/88904
12188	* cfgcleanup.c (thread_jump): Verify cond2 doesn't mention
12189	any nonequal registers before processing BB_END (b).
12190
12191	PR target/88905
12192	* optabs.c (add_equal_note): Add op0_mode argument, use it instead of
12193	GET_MODE (op0).
12194	(expand_binop_directly, expand_doubleword_clz,
12195	expand_doubleword_popcount, expand_ctz, expand_ffs,
12196	expand_unop_direct, maybe_emit_unop_insn): Adjust callers.
12197
12198	PR rtl-optimization/49429
12199	PR target/49454
12200	PR rtl-optimization/86334
12201	PR target/88906
12202	* expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
12203	addressable from here...
12204	(emit_block_op_via_libcall): ... to here.
12205
122062019-01-22  Richard Biener  <rguenther@suse.de>
12207
12208	* tree-vect-loop.c (vect_analyze_loop_operations): Use
12209	auto_vec for cost vector to fix memleak.
12210	(vectorize_fold_left_reduction): Properly gather SLP defs.
12211	(vectorizable_comparison): Do not swap operands to properly
12212	gather SLP defs.
12213
122142019-01-22  Alan Modra  <amodra@gmail.com>
12215
12216	PR target/88614
12217	* config/rs6000/predicates.md (unspec_tls): Ensure GOT reg
12218	stays a reg.  Allow a const_int.
12219	* config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare.
12220	* config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define.
12221	(IS_NOMARK_TLSGETADDR): Define.
12222	* config/rs6000/rs6000.c (edit_tls_call_insn): Delete.
12223	(rs6000_output_tlsargs): New function.
12224	(rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS
12225	__tls_get_addr call takes an arg.
12226	(rs6000_call_sysv): Generate sysv4 secure plt call pattern here..
12227	* config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here,
12228	delete split..
12229	(call_value_nonlocal_sysv): ..or here, delete split.
12230	(tls_gdld_nomark): Delete.
12231	(call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2
12232	predicate.  Call rs6000_output_tlsargs.  Adjust length to suit.
12233	(call_value_nonlocal_sysv): Likewise.
12234	(call_value_nonlocal_sysv_secure): Likewise.
12235	(call_value_nonlocal_aix): Likewise.
12236	(call_value_indirect_aix): Likewise.
12237	(call_value_indirect_elfv2): Likewise.
12238	(call_value_local32, call_value_local64): Disable for no-mark tls.
12239	(call_value_local_aix): Likewise.
12240
122412019-01-21  Uroš Bizjak  <ubizjak@gmail.com>
12242
12243	PR target/88938
12244	* config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32,
12245	case IX86_BUILTIN_BEXTRI64]: Sanitize operands.
12246
122472019-01-21  Michael Ploujnikov  <michael.ploujnikov@oracle.com>
12248
12249	* hash-map-tests.c (test_map_of_strings_to_int): Show how to use
12250	string contents as hash_map keys.
12251
122522019-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
12253
12254	PR c/88928
12255	* c-warn.c (check_alignment_of_packed_member): Add a boolean parameter
12256	for rvalue context.  Handle rvalues correctly.  Use min_align_of_type
12257	instead of TYPE_ALIGN.
12258	(check_address_or_pointer_of_packed_member): Handle rvalues coorrectly.
12259	Use min_align_of_type instead of TYPE_ALIGN_UNIT.  Check for NULL
12260	pointer from TYPE_STUB_DECL.
12261
122622019-01-21  Richard Biener  <rguenther@suse.de>
12263
12264	PR tree-optimization/88934
12265	* tree-vect-slp.c (vect_mask_constant_operand_p): Always look
12266	at the possibly non-constant operand.
12267	(vect_get_constant_vectors): Adjust.
12268
122692019-01-21  H.J. Lu  <hongjiu.lu@intel.com>
12270
12271	PR target/71659
12272	* config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED.
12273	* config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED
12274	instead of _X86INTRIN_H_INCLUDED.
12275	* onfig/i386/clwbintrin.h: Likewise.
12276	* config/i386/pkuintrin.h: Likewise.
12277	* config/i386/prfchwintrin.h: Likewise.
12278	* config/i386/rdseedintrin.h: Likewise.
12279	* config/i386/wbnoinvdintrin.h: Likewise.
12280	* config/i386/xsavecintrin.h: Likewise.
12281	* config/i386/xsavesintrin.h: Likewise.
12282	* config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check.
12283	* config/i386/xsaveintrin.h: Likewise.
12284	* config/i386/xsaveoptintrin.h: Likewise.
12285	* config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>,
12286	<prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>,
12287	<xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>,
12288	<clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>,
12289	<wbnoinvdintrin.h> and <pkuintrin.h> to ...
12290	* config/i386/immintrin.h: Here.
12291
122922019-01-20  Martin Jambor  <mjambor@suse.cz>
12293
12294	PR ipa/87615
12295	* ipa-prop.h (struct ipa_func_body_info): Replaced field aa_walked
12296	with aa_walk_budget.
12297	* cgraph.h (ipa_polymorphic_call_context::get_dynamic_type): Add
12298	aa_walk_budget_p parameter.
12299	* ipa-fnsummary.c (unmodified_parm_1): New parameter fbi.  Limit AA
12300	walk.  Updated all callers.
12301	(unmodified_parm): New parameter fbi, pass it to unmodified_parm_1.
12302	(eliminated_by_inlining_prob): New parameter fbi, pass it on to
12303	unmodified_parm.
12304	(will_be_nonconstant_expr_predicate): New parameter fbi, removed
12305	parameter info.  Extract info from fbi.  Pass fbi to recursive calls
12306	and to unmodified_parm.
12307	(phi_result_unknown_predicate): New parameter fbi, removed parameter
12308	info, updated call to will_be_nonconstant_expr_predicate.
12309	(param_change_prob): New parameter fbi, limit AA walking.
12310	(analyze_function_body): Initialize aa_walk_budget in fbi.  Update
12311	calls to various above functions.
12312	* ipa-polymorphic-call.c (get_dynamic_type): Add aa_walk_budget_p
12313	parameter.  Use it to limit AA walking.
12314	* ipa-prop.c (detect_type_change_from_memory_writes): New parameter
12315	fbi, limit AA walk.
12316	(detect_type_change): New parameter fbi, pass it on to
12317	detect_type_change_from_memory_writes.
12318	(detect_type_change_ssa): Likewise.
12319	(aa_overwalked): Removed.
12320	(parm_preserved_before_stmt_p): Assume fbi is never NULL, stream line
12321	accordingly, adjust to the neew AA limiting scheme.
12322	(parm_ref_data_preserved_p): Likewise.
12323	(ipa_compute_jump_functions_for_edge): Adjust call to
12324	get_dynamic_type.
12325	(ipa_analyze_call_uses): Likewise.
12326	(ipa_analyze_virtual_call_uses): Pass fbi to detect_type_change_ssa.
12327	(ipa_analyze_node): Initialize aa_walk_budget.
12328	(ipcp_transform_function): Likewise.
12329	* tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): Update call
12330	to get_dynamic_type.
12331
123322019-01-19  Jakub Jelinek  <jakub@redhat.com>
12333
12334	* config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move
12335	outside of #if CHECKING_P code.
12336
123372019-01-19  Richard Sandiford  <richard.sandiford@arm.com>
12338
12339	* gimple-loop-versioning.cc (loop_versioning::dump_inner_likelihood):
12340	New function, split out from...
12341	(loop_versioning::analyze_stride): ...here.
12342	(loop_versioning::find_per_loop_multiplication): Use gassign.
12343	(loop_versioning::analyze_term_using_scevs): Return a success code.
12344	(loop_versioning::analyze_arbitrary_term): New function.
12345	(loop_versioning::analyze_address_fragment): Use
12346	analyze_arbitrary_term if all else fails.
12347
123482019-01-18  Segher Boessenkool  <segher@kernel.crashing.org>
12349
12350	PR target/88892
12351	* config/rs6000/rs6000.md (*movsi_from_df): Allow only register
12352	operands.
12353
123542019-01-18  Richard Biener  <rguenther@suse.de>
12355
12356	PR tree-optimization/88903
12357	* tree-vect-stmts.c (vectorizable_shift): Verify we see all
12358	scalar stmts a SLP shift amount is composed of when detecting
12359	shifts by scalars.
12360
123612019-01-18  Richard Earnshaw  <rearnsha@arm.com>
12362
12363	PR target/88799
12364	* config/arm/arm-cpus.in (mp): New feature.
12365	(sec): New feature.
12366	(fgroup ARMv7ve): Add mp and sec features.
12367	(arch armv7-a): Add options to allow mp and sec extensions.
12368	(cpu generic-armv7-a): Add options to allow mp and sec extensions.
12369	(cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec
12370	extenstions to the base architecture.
12371	(cpu cortex-a8): Add sec extension to the base architecture.
12372	(cpu marvell-pj4): Add mp and sec extensions to the base architecture.
12373	* config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch
12374	variants down to the base v7-a varaint.
12375	* config/arm/t-multilib (v7_a_arch_variants): New variable.
12376	* doc/invoke.texi (ARM Options): Add +mp and +sec to the list
12377	of permitted extensions for -march=armv7-a and for
12378	-mcpu=generic-armv7-a.
12379
123802019-01-18  Martin Liska  <mliska@suse.cz>
12381
12382	* params.def: Fix comment.
12383	* tree-profile.c (gimple_init_gcov_profiler): Bump function
12384	name.
12385	(gimple_gen_ic_func_profiler): Likewise.
12386
123872019-01-18  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
12388
12389	* config/aarch64/aarch64-opts.h (enum stack_protector_guard): New
12390	* config/aarch64/aarch64.c (aarch64_override_options_internal): Handle
12391	and put in error checks for stack protector guard options.
12392	(aarch64_stack_protect_guard): New.
12393	(TARGET_STACK_PROTECT_GUARD): Define.
12394	* config/aarch64/aarch64.md (UNSPEC_SSP_SYSREG): New.
12395	(reg_stack_protect_address<mode>): New.
12396	(stack_protect_set): Adjust for SSP_GLOBAL.
12397	(stack_protect_test): Likewise.
12398	* config/aarch64/aarch64.opt (-mstack-protector-guard-reg): New.
12399	(-mstack-protector-guard): Likewise.
12400	(-mstack-protector-guard-offset): Likewise.
12401
124022019-01-18  Jakub Jelinek  <jakub@redhat.com>
12403
12404	PR tree-optimization/86214
12405	* tree-inline.h (struct copy_body_data): Add
12406	add_clobbers_to_eh_landing_pads member.
12407	* tree-inline.c (add_clobbers_to_eh_landing_pad): New function.
12408	(copy_edges_for_bb): Call it if EH edge destination is <
12409	id->add_clobbers_to_eh_landing_pads.  Fix a comment typo.
12410	(expand_call_inline): Set id->add_clobbers_to_eh_landing_pads
12411	if flag_stack_reuse != SR_NONE and clear it afterwards.
12412
124132019-01-18  Christophe Lyon  <christophe.lyon@linaro.org>
12414
12415	PR target/85596
12416	* doc/install.texi (with-multilib-list): Document for aarch64.
12417
124182019-01-18  Jakub Jelinek  <jakub@redhat.com>
12419
12420	PR target/88734
12421	* config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace
12422	(("..."))) with ("...").
12423
124242019-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12425
12426	* doc/extend.texi (Built-in Functions for Memory Model Aware
12427	Atomic Operations): Document atomic fetch and nand.
12428
124292019-01-18  Martin Liska  <mliska@suse.cz>
12430	    Richard Biener  <rguenther@suse.de>
12431
12432	PR middle-end/88587
12433	* cgraph.h (create_version_clone_with_body): Add new argument
12434	with attributes.
12435	* cgraphclones.c (cgraph_node::create_version_clone): Add
12436	DECL_ATTRIBUTES to a newly created decl.  And call
12437	valid_attribute_p so that proper cl_target_optimization_node
12438	is set for the newly created declaration.
12439	* multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES
12440	for declaration.
12441	(expand_target_clones): Do not call valid_attribute_p, it must
12442	be already done.
12443	* tree-inline.c (copy_decl_for_dup_finish): Reset mode for
12444	vector types.
12445
124462019-01-17  Jakub Jelinek  <jakub@redhat.com>
12447
12448	PR target/88734
12449	* config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace
12450	(("..."))) with ("...").  Use arch=armv8.2-a+sha3 instead of
12451	arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics.
12452
124532019-01-17  Martin Sebor  <msebor@redhat.com>
12454
12455	PR middle-end/88273
12456	* gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range):
12457	Handle anti-ranges the same as no range at all.
12458
124592018-01-17  Steve Ellcey  <sellcey@cavium.com>
12460
12461	* config/aarch64/aarch64.c (cgraph.h): New include.
12462	(intl.h): New include.
12463	(supported_simd_type): New function.
12464	(currently_supported_simd_type): Ditto.
12465	(aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto.
12466	(aarch64_simd_clone_adjust): Ditto.
12467	(aarch64_simd_clone_usable): Ditto.
12468	(TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro.
12469	(TARGET_SIMD_CLONE_ADJUST): Ditto.
12470	(TARGET_SIMD_CLONE_USABLE): Ditto.
12471	* config/i386/i386.c (ix86_simd_clone_adjust): Add definition check.
12472	* omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust
12473	call.
12474
124752019-01-17  Martin Sebor  <msebor@redhat.com>
12476
12477	PR tree-optimization/88800
12478	* gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking
12479	NO_WARNING bit here.  Avoid folding out-of-bounds calls.
12480	* gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove
12481	redundant argument.  Add new argument and issue diagnostics under
12482	its control.  Detect out-of-bounds access even with warnings
12483	disabled.
12484	(check_bounds_or_overlap): Change return type.  Add argument.
12485	(wrestrict_dom_walker::check_call): Adjust.
12486	* gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument.
12487	* tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in
12488	check_bounds_or_overlap's return value.
12489	(handle_builtin_stxncpy): Same.
12490	(handle_builtin_strcat): Same.
12491
124922019-01-17  Andrew Stubbs  <ams@codesourcery.com>
12493	    Kwok Cheung Yeung  <kcy@codesourcery.com>
12494	    Julian Brown  <julian@codesourcery.com>
12495	    Tom de Vries  <tom@codesourcery.com>
12496
12497	* doc/sourcebuild.texi: Document dg-add-options sqrt_insn.
12498
124992019-01-17  Andrew Stubbs  <ams@codesourcery.com>
12500
12501	* doc/sourcebuild.texi: Document dg-require-effective-target
12502	llvm_binutils and offload_gcn.
12503
125042019-01-17  Andrew Stubbs  <ams@codesourcery.com>
12505	    Kwok Cheung Yeung  <kcy@codesourcery.com>
12506	    Julian Brown  <julian@codesourcery.com>
12507	    Tom de Vries  <tom@codesourcery.com>
12508
12509	* doc/sourcebuild.texi: Document dg-required-effective-target
12510	exceptions.
12511
125122019-01-17  Andrew Stubbs  <ams@codesourcery.com>
12513	    Kwok Cheung Yeung  <kcy@codesourcery.com>
12514	    Julian Brown  <julian@codesourcery.com>
12515	    Tom de Vries  <tom@codesourcery.com>
12516	    Jan Hubicka  <hubicka@ucw.cz>
12517	    Martin Jambor  <mjambor@suse.cz>
12518
12519	* config.gcc: Add amdgcn*-*-amdhsa configuration.
12520	* configure.ac: Check for dlopen.
12521	* configure: Regenerate.
12522
125232019-01-17  Andrew Stubbs  <ams@codesourcery.com>
12524	    Kwok Cheung Yeung  <kcy@codesourcery.com>
12525	    Julian Brown  <julian@codesourcery.com>
12526	    Tom de Vries  <tom@codesourcery.com>
12527	    Jan Hubicka  <hubicka@ucw.cz>
12528	    Martin Jambor  <mjambor@suse.cz>
12529
12530	* common/config/gcn/gcn-common.c: New file.
12531	* config/gcn/driver-gcn.c: New file.
12532	* config/gcn/gcn-builtins.def: New file.
12533	* config/gcn/gcn-hsa.h: New file.
12534	* config/gcn/gcn-modes.def: New file.
12535	* config/gcn/gcn-opts.h: New file.
12536	* config/gcn/gcn-passes.def: New file.
12537	* config/gcn/gcn-protos.h: New file.
12538	* config/gcn/gcn-run.c: New file.
12539	* config/gcn/gcn-tree.c: New file.
12540	* config/gcn/gcn.c: New file.
12541	* config/gcn/gcn.h: New file.
12542	* config/gcn/gcn.opt: New file.
12543	* config/gcn/t-gcn-hsa: New file.
12544
125452019-01-17  Andrew Stubbs  <ams@codesourcery.com>
12546	    Kwok Cheung Yeung  <kcy@codesourcery.com>
12547	    Julian Brown  <julian@codesourcery.com>
12548	    Tom de Vries  <tom@codesourcery.com>
12549	    Jan Hubicka  <hubicka@ucw.cz>
12550	    Martin Jambor  <mjambor@suse.cz>
12551
12552	* config/gcn/constraints.md: New file.
12553	* config/gcn/gcn-valu.md: New file.
12554	* config/gcn/gcn.md: New file.
12555	* config/gcn/predicates.md: New file.
12556
125572019-01-17  Eric Botcazou  <ebotcazou@adacore.com>
12558
12559	* gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace
12560	flag_non_call_exceptions with cfun->can_throw_non_call_exceptions.
12561	(stmt_uses_0_or_null_in_undefined_way): Likewise.
12562	* tree-ssa-alias.c (same_addr_size_stores_p): Likewise.
12563
125642019-01-17  Tamar Christina  <tamar.christina@arm.com>
12565
12566	PR target/88851
12567	* config/aarch64/aarch64.md (STACK_CLASH_SVE_CFA_REGNUM): New.
12568	* config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space): Use
12569	it and document registers.
12570
125712019-01-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12572
12573	* config/aarch64/aarch64.c (ares_tunings): Define.
12574	* config/aarch64/aarch64-cores.def (ares): Use the above.
12575
125762019-01-17  Wei Xiao  <wei3.xiao@intel.com>
12577
12578	PR target/88794
12579	Revert:
12580	2018-11-06  Wei Xiao  <wei3.xiao@intel.com>
12581
12582	* config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics.
12583	(_mm512_fixupimm_round_pd): Update parameters and builtin.
12584	(_mm512_maskz_fixupimm_round_pd): Ditto.
12585	(_mm512_fixupimm_round_ps): Ditto.
12586	(_mm512_maskz_fixupimm_round_ps): Ditto.
12587	(_mm_fixupimm_round_sd): Ditto.
12588	(_mm_maskz_fixupimm_round_sd): Ditto.
12589	(_mm_fixupimm_round_ss): Ditto.
12590	(_mm_maskz_fixupimm_round_ss): Ditto.
12591	(_mm512_fixupimm_pd): Ditto.
12592	(_mm512_maskz_fixupimm_pd): Ditto.
12593	(_mm512_fixupimm_ps): Ditto.
12594	(_mm512_maskz_fixupimm_ps): Ditto.
12595	(_mm_fixupimm_sd): Ditto.
12596	(_mm_maskz_fixupimm_sd): Ditto.
12597	(_mm_fixupimm_ss): Ditto.
12598	(_mm_maskz_fixupimm_ss): Ditto.
12599	(_mm512_mask_fixupimm_round_pd): Update builtin.
12600	(_mm512_mask_fixupimm_round_ps): Ditto.
12601	(_mm_mask_fixupimm_round_sd): Ditto.
12602	(_mm_mask_fixupimm_round_ss): Ditto.
12603	(_mm512_mask_fixupimm_pd): Ditto.
12604	(_mm512_mask_fixupimm_ps): Ditto.
12605	(_mm_mask_fixupimm_sd): Ditto.
12606	(_mm_mask_fixupimm_ss): Ditto.
12607	* config/i386/avx512vlintrin.h:
12608	(_mm256_fixupimm_pd): Update parameters and builtin.
12609	(_mm256_maskz_fixupimm_pd): Ditto.
12610	(_mm256_fixupimm_ps): Ditto.
12611	(_mm256_maskz_fixupimm_ps): Ditto.
12612	(_mm_fixupimm_pd): Ditto.
12613	(_mm_maskz_fixupimm_pd): Ditto.
12614	(_mm_fixupimm_ps): Ditto.
12615	(_mm_maskz_fixupimm_ps): Ditto.
12616	(_mm256_mask_fixupimm_pd): Update builtin.
12617	(_mm256_mask_fixupimm_ps): Ditto.
12618	(_mm_mask_fixupimm_pd): Ditto.
12619	(_mm_mask_fixupimm_ps): Ditto.
12620	* config/i386/i386-builtin-types.def: Add new types and remove useless ones.
12621	* config/i386/i386-builtin.def: Update builtin definitions.
12622	* config/i386/i386.c: Handle new builtin types and remove useless ones.
12623	* config/i386/sse.md: Update VFIXUPIMM* patterns.
12624	(<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
12625	(<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
12626	(<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Update.
12627	(avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
12628	(avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
12629	(avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Update.
12630	* config/i386/subst.md:
12631	(round_saeonly_sd_mask_operand4): Add new subst_attr.
12632	(round_saeonly_sd_mask_op4): Ditto.
12633	(round_saeonly_expand_operand5): Ditto.
12634	(round_saeonly_expand): Update.
12635
126362019-01-17  Wei Xiao  <wei3.xiao@intel.com>
12637
12638	PR target/88794
12639	Revert:
12640	2018-11-12  Wei Xiao  <wei3.xiao@intel.com>
12641
12642	* config/i386/sse.md: Combine VFIXUPIMM* patterns
12643	(<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
12644	(<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
12645	(<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Remove.
12646	(avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
12647	(avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
12648	(avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Remove.
12649
126502019-01-17  Wei Xiao  <wei3.xiao@intel.com>
12651
12652	PR target/88794
12653	Revert:
12654	2018-12-15  Jakub Jelinek  <jakub@redhat.com>
12655
12656	PR target/88489
12657	* config/i386/sse.md (UNSPEC_SFIXUPIMM): New unspec enumerator.
12658	(avx512f_sfixupimm<mode><mask_name><round_saeonly_name>): Use it
12659	instead of UNSPEC_FIXUPIMM.
12660
126612019-01-17  Richard Biener  <rguenther@suse.de>
12662
12663	PR lto/86736
12664	* dwarf2out.c (want_pubnames): Never generate pubnames sections
12665	and friends for the LTO part of debug info.
12666
126672019-01-17  Jakub Jelinek  <jakub@redhat.com>
12668
12669	PR tree-optimization/86214
12670	* cfgexpand.c (add_stack_var_conflict): Don't add any conflicts
12671	if x == y.
12672
12673	PR rtl-optimization/88870
12674	* dce.c (deletable_insn_p): Never delete const/pure calls that can
12675	throw if we can't alter the cfg or delete dead exceptions.
12676	(mark_insn): Don't call find_call_stack_args for such calls.
12677
126782019-01-17  Kewen Lin  <linkw@gcc.gnu.org>
12679
12680	* doc/extend.texi: Add four new prototypes for vec_ld and seven new
12681	prototypes for vec_st.
12682	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries
12683	for scalar address type variants of altivec_vec_ld/altivec_vec_st,
12684	mainly on signed/unsigned long long and double.
12685
126862019-01-16  David Malcolm  <dmalcolm@redhat.com>
12687
12688	PR target/88861
12689	* combine.c (delete_noop_moves): Convert to "bool" return,
12690	returning true if any edges are eliminated.
12691	(combine_instructions): Also return true if delete_noop_moves
12692	returns true.
12693
126942019-01-16  Tamar Christina  <tamar.christina@arm.com>
12695
12696	* config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use
12697	correct max nunits for endian swap.
12698	(aarch64_expand_fcmla_builtin): Correct subreg code.
12699	* config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
12700	aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>): Correct
12701	lane endianness.
12702
127032019-01-16  Uroš Bizjak  <ubizjak@gmail.com>
12704
12705	* config/alpha/alpha.c (alpha_gimplify_va_arg):
12706	Handle split indirect COMPLEX_TYPE arguments.
12707
127082019-01-16  Richard Earnshaw  <rearnsha@arm.com>
12709
12710	PR target/86891
12711	* config/aarch64/aarch64-modes.def: Add comment about how the carry
12712	bit is set by add and compare.
12713	(CC_ADC): New CC_MODE.
12714	* config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables
12715	to cache the code and mode of X.  Adjust the shape of a CC_Cmode
12716	comparison.  Add detection for CC_ADCmode.
12717	(aarch64_get_condition_code_1): Update code support for CC_Cmode.  Add
12718	CC_ADCmode.
12719	* config/aarch64/aarch64.md (uaddv<mode>4): Use LTU with CCmode.
12720	(uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU.
12721	(add<mode>3_compareC_cconly_imm): Delete.  Merge into...
12722	(add<mode>3_compareC_cconly): ... this.  Restructure the comparison
12723	to eliminate the need for zero-extending the operands.
12724	(add<mode>3_compareC_imm): Delete.  Merge into ...
12725	(add<mode>3_compareC): ... this.  Restructure the comparison to
12726	eliminate the need for zero-extending the operands.
12727	(add<mode>3_carryin): Use LTU for the overflow detection.
12728	(add<mode>3_carryinC): Use CC_ADCmode for the result of the carry out.
12729	Reexpress comparison for overflow.
12730	(add<mode>3_carryinC_zero): Update for change to add<mode>3_carryinC.
12731	(add<mode>3_carryinC): Likewise.
12732	(add<mode>3_carryinV): Use LTU for carry between partials.
12733	* config/aarch64/predicates.md (aarch64_carry_operation): Update
12734	handling of CC_Cmode and add CC_ADCmode.
12735	(aarch64_borrow_operation): Likewise.
12736
127372019-01-16  Tamar Christina  <tamar.christina@arm.com>
12738
12739	* config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode.
12740	* config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise.
12741	* config/arm/neon.md (neon_vcmla_lane<rot><mode>, neon_vcmla_laneq<rot><mode>,
12742	neon_vcmlaq_lane<rot><mode>): Remove endianness conversion.
12743
127442019-01-16  Martin Liska  <mliska@suse.cz>
12745
12746	* Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR
12747	for GCC driver.
12748	* config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as
12749	a new argument.
12750	* gcc.c (add_sysrooted_hdrs_prefix): New function.
12751	(path_prefix_reset): Move up in the source file.
12752	(find_fortran_preinclude_file): Make complex search for the
12753	fortran header files.
12754
127552019-01-15  Nikhil Benesch  <nikhil.benesch@gmail.com>
12756
12757	* godump.c (go_output_typedef): When outputting a typedef, refer
12758	to the underlying type by its name and not its structure.
12759
127602019-01-15  David Malcolm  <dmalcolm@redhat.com>
12761
12762	PR c++/88795
12763	* tree.c (build_function_type): Assert that arg_types is not
12764	error_mark_node.
12765
127662019-01-15  Richard Sandiford  <richard.sandiford@arm.com>
12767
12768	PR inline-asm/52813
12769	* doc/extend.texi: Document that listing the stack pointer in the
12770	clobber list of an asm is a deprecated feature.
12771	* common.opt (Wdeprecated): Moved from c-family/c.opt.
12772	* cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated
12773	warning instead of an error for clobbers of the stack pointer.
12774	Add a note explaining why.
12775
127762019-01-15  Richard Biener  <rguenther@suse.de>
12777
12778	PR debug/88046
12779	* dwarf2out.c (gen_member_die): Do not generate inheritance
12780	DIEs late.
12781
127822019-01-15  Richard Biener  <rguenther@suse.de>
12783
12784	PR tree-optimization/88855
12785	* tree-if-conv.c (combine_blocks): Collect
12786	SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.
12787
127882019-01-15  Tom de Vries  <tdevries@suse.de>
12789
12790	PR target/80547
12791	* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
12792	lhs == NULL_TREE for gang-level reduction.
12793
127942019-01-15  Richard Biener  <rguenther@suse.de>
12795	    Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
12796
12797	PR ipa/88788
12798	* ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
12799	return true if SSA_NAME is already marked in visited bitmap.
12800	(malloc_candidate_p): Pass visited to malloc_candidate_p_1.
12801
128022019-01-15  Jakub Jelinek  <jakub@redhat.com>
12803
12804	PR tree-optimization/88775
12805	* match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize
12806	equal == 0 equality pointer comparisons some more if compared in
12807	integral types and either one points to an automatic var and the
12808	other to a global, or we can prove at least one points to the middle
12809	or both point to start or both point to end.
12810
128112019-01-14  Andi Kleen  <ak@linux.intel.com>
12812
12813	* Makefile.in: Lower autofdo sampling rate by 10x.
12814	* Makefile.tpl: Dito.
12815
128162019-01-14  Tom Honermann  <tom@honermann.net>
12817
12818	* defaults.h: Define CHAR8_TYPE.
12819
128202019-01-14  Martin Sebor  <msebor@redhat.com>
12821
12822	PR target/88638
12823	* doc/extend.texi (Darwin Format Checks): Clarify.
12824
128252019-01-14  Richard Biener  <rguenther@suse.de>
12826
12827	* genmatch.c (dt_simplify::gen_1): Change dumping dependent on
12828	whether we are in (simplify ...) or (match ...) context.
12829
128302019-01-14  Jakub Jelinek  <jakub@redhat.com>
12831
12832	PR rtl-optimization/88796
12833	* emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field.
12834	* cfgexpand.c (stack_protect_prologue): Initialize
12835	crtl->stack_protect_guard_decl.
12836	* function.c (stack_protect_epilogue): Use it instead of calling
12837	targetm.stack_protect_guard again.
12838	* dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from
12839	MEMs with MEM_EXPR equal to crtl->stack_protect_guard or
12840	crtl->stack_protect_guard_decl.
12841	* config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE
12842	on the returned MEM_EXPR.
12843
128442019-01-12  Tom de Vries  <tdevries@suse.de>
12845
12846	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
12847	vector length using -fopenacc-dim.
12848
128492019-01-12  Tom de Vries  <tdevries@suse.de>
12850
12851	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
12852	lengths into account.
12853
128542019-01-12  Svante Signell  <svante.signell@gmail.com>
12855
12856	* config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
12857	(TARGET_CAN_SPLIT_STACK): Define.
12858	(TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
12859
128602019-01-05  Jan Hubicka  <hubicka@ucw.cz>
12861
12862	* params.def (inline-unit-growth): Set to 40.
12863
128642019-01-12  Jakub Jelinek  <jakub@redhat.com>
12865
12866	* tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
12867
128682019-01-12  Tom de Vries  <tdevries@suse.de>
12869
12870	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
12871	region calling vector-partitionable routine, set default_vector_length
12872	to WARP_SIZE.
12873
128742019-01-12  Tom de Vries  <tdevries@suse.de>
12875
12876	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
12877	variable default_vector_length.
12878
128792019-01-12  Tom de Vries  <tdevries@suse.de>
12880
12881	PR middle-end/88703
12882	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
12883	from oacc_default_dims, as oacc_validate_dims would do it, and apply
12884	dimensions limits.
12885
128862019-01-12  Tom de Vries  <tdevries@suse.de>
12887
12888	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
12889	(nvptx_goacc_validate_dims): Add used parameter.
12890	* doc/tm.texi: Regenerate.
12891	* omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
12892	argument to call to targetm.goacc.validate_dims.
12893	(default_goacc_validate_dims): Add used
12894	parameter.
12895	* target.def (validate_dims): Add used parameter in DEFHOOK.
12896	* targhooks.h (default_goacc_validate_dims): Add used parameter.
12897
128982019-01-11  Jakub Jelinek  <jakub@redhat.com>
12899
12900	PR middle-end/85956
12901	PR lto/88733
12902	* tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds
12903	field.
12904	* tree-inline.c (remap_type_1): Formatting fix.  If TYPE_MAX_VALUE of
12905	ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with
12906	a dummy "omp dummy var" variable if id->adjust_array_error_bounds.
12907	* omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds.
12908
129092019-01-11  Vladimir Makarov  <vmakarov@redhat.com>
12910
12911	PR rtl-optimization/87305
12912	* lra-assigns.c
12913	(setup_live_pseudos_and_spill_after_risky_transforms): Add code
12914	for little endian pseudos used as paradoxical subreg.
12915
129162019-01-11  Jakub Jelinek  <jakub@redhat.com>
12917
12918	PR tree-optimization/88693
12919	* tree-ssa-strlen.c (get_min_string_length): Don't set *full_string_p
12920	for STRING_CSTs that don't contain any NUL characters in the first
12921	TREE_STRING_LENGTH bytes.
12922
129232019-01-11  Alan Modra  <amodra@gmail.com>
12924
12925	PR 88777
12926	PR 88614
12927	* genattrtab.c (min_fn): Don't translate values.
12928	(min_attr_value): Return INT_MAX when the value can't be calculated.
12929	Return minimum among any values that can be calculated.
12930	(max_attr_value): Adjust.
12931
129322019-01-11  Jakub Jelinek  <jakub@redhat.com>
12933
12934	* Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H).
12935
129362019-01-11  Steve Ellcey  <sellcey@marvell.com>
12937
12938	* config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
12939	(aarch64_hard_regno_call_part_clobbered): Add insn argument.
12940	(aarch64_return_call_with_max_clobbers): New function.
12941	(TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New macro.
12942	* config/avr/avr.c (avr_hard_regno_call_part_clobbered): Add insn
12943	argument.
12944	* config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Ditto.
12945	* config/mips/mips.c (mips_hard_regno_call_part_clobbered): Ditto.
12946	* config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered): Ditto.
12947	* config/s390/s390.c (s390_hard_regno_call_part_clobbered): Ditto.
12948	* cselib.c (cselib_process_insn): Add argument to
12949	targetm.hard_regno_call_part_clobbered call.
12950	* ira-conflicts.c (ira_build_conflicts): Ditto.
12951	* ira-costs.c (ira_tune_allocno_costs): Ditto.
12952	* lra-constraints.c (inherit_reload_reg): Ditto.
12953	* lra-int.h (struct lra_reg): Add call_insn field, remove call_p field.
12954	* lra-lives.c (check_pseudos_live_through_calls): Add call_insn
12955	argument.  Call targetm.return_call_with_max_clobbers.
12956	Add argument to targetm.hard_regno_call_part_clobbered call.
12957	(calls_have_same_clobbers_p): New function.
12958	(process_bb_lives): Add call_insn and last_call_insn variables.
12959	Pass call_insn to check_pseudos_live_through_calls.
12960	Modify if stmt to check targetm.return_call_with_max_clobbers.
12961	Update setting of flush variable.
12962	(lra_create_live_ranges_1): Set call_insn to NULL instead of call_p
12963	to false.
12964	* lra.c (initialize_lra_reg_info_element): Set call_insn to NULL.
12965	* regcprop.c (copyprop_hardreg_forward_1): Add argument to
12966	targetm.hard_regno_call_part_clobbered call.
12967	* reginfo.c (choose_hard_reg_mode): Ditto.
12968	* regrename.c (check_new_reg_p): Ditto.
12969	* reload.c (find_equiv_reg): Ditto.
12970	* reload1.c (emit_reload_insns): Ditto.
12971	* sched-deps.c (deps_analyze_insn): Ditto.
12972	* sel-sched.c (init_regs_for_mode): Ditto.
12973	(mark_unavailable_hard_regs): Ditto.
12974	* targhooks.c (default_dwarf_frame_reg_mode): Ditto.
12975	* target.def (hard_regno_call_part_clobbered): Add insn argument.
12976	(return_call_with_max_clobbers): New target function.
12977	* doc/tm.texi: Regenerate.
12978	* doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New hook.
12979	* hooks.c (hook_bool_uint_mode_false): Change to
12980	hook_bool_insn_uint_mode_false.
12981	* hooks.h (hook_bool_uint_mode_false): Ditto.
12982
129832019-01-11  Steve Ellcey  <sellcey@marvell.com>
12984
12985	* config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
12986	(aarch64_remove_extra_call_preserved_regs): New function.
12987	(TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro.
12988	* doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook.
12989	* doc/tm.texi: Regenerate.
12990	* final.c (get_call_reg_set_usage): Call new hook.
12991	* target.def (remove_extra_call_preserved_regs): New hook.
12992	* targhooks.c (default_remove_extra_call_preserved_regs): New function.
12993	* targhooks.h (default_remove_extra_call_preserved_regs): New function.
12994
129952019-01-11  Jakub Jelinek  <jakub@redhat.com>
12996
12997	PR bootstrap/88714
12998	* passes.c (finish_optimization_passes): Call print_combine_total_stats
12999	inside of pass_combine_1 dump rather than pass_profile_1.
13000
130012019-01-11  Tom de Vries  <tdevries@suse.de>
13002
13003	* config/nvptx/nvptx.c (PTX_CTA_NUM_BARRIERS, PTX_PER_CTA_BARRIER)
13004	(PTX_NUM_PER_CTA_BARRIER, PTX_FIRST_PER_WORKER_BARRIER)
13005	(PTX_NUM_PER_WORKER_BARRIERS): Define.
13006	(nvptx_apply_dim_limits): Prevent vector_length 64 and
13007	num_workers 16.
13008
130092019-01-11  Tom de Vries  <tdevries@suse.de>
13010
13011	* config/nvptx/nvptx.c (PTX_CTA_SIZE): Move up.
13012
130132019-01-11  Jan Beulich  <jbeulich@suse.com>
13014
13015	* config/i386/i386.md (rex64suffix): Add L suffix for SI.
13016	* config/i386/sse.md (cvtusi2<ssescalarmodesuffix>32<round_name>,
13017	sse2_cvtsi2sd): Add {l}.
13018	(sse2_cvtsi2sdq<round_name>): Make q conditional upon AT&T
13019	syntax.
13020
130212019-01-10  Jakub Jelinek  <jakub@redhat.com>
13022
13023	PR target/88785
13024	* config/i386/sse.md (float<floatunssuffix>v2div2sf2): Turn into
13025	define_expand.
13026	(*float<floatunssuffix>v2div2sf2): New define_insn.
13027	(float<floatunssuffix>v2div2sf2_mask): Turn into define_expand.
13028	(*float<floatunssuffix>v2div2sf2_mask): New define_insn.
13029	(*float<floatunssuffix>v2div2sf2_mask_1): Replace
13030	subrtxes (const_vector:V2SF [(const_int 0) (const_int 0)]) with
13031	match_operands with "const0_operand" "C".
13032
130332019-01-10  Tamar Christina  <tamar.christina@arm.com>
13034
13035	* config/aarch64/aarch64-builtins.c
13036	(aarch64_init_builtins): Move aarch64_init_fcmla_laneq_builtins...
13037	(aarch64_init_simd_builtins): ...Here
13038
130392019-01-10  Vladimir Makarov  <vmakarov@redhat.com>
13040
13041	PR rtl-optimization/87305
13042	* lra-assigns.c
13043	(setup_live_pseudos_and_spill_after_risky_transforms): Check
13044	allocation for big endian pseudos used as paradoxical subregs and
13045	spill them if it is wrong.
13046	* lra-constraints.c (lra_constraints): Add a comment.
13047
130482019-01-10  Richard Biener  <rguenther@suse.de>
13049
13050	PR tree-optimization/88792
13051	* tree-ssa-pre.c (get_representative_for): Do not return a
13052	value-number here.
13053
130542019-01-10  Jakub Jelinek  <jakub@redhat.com>
13055
13056	PR middle-end/84877
13057	PR bootstrap/88450
13058	* function.c (assign_stack_local_1): Revert the 2018-11-21 changes.
13059	(assign_parm_setup_block): Do the argument slot realignment here
13060	instead.
13061
130622019-01-10  Stefan Agner  <stefan@agner.ch>
13063
13064	PR target/88648
13065	* config/arm/arm.c (arm_option_override_internal): Force
13066	opts->x_inline_asm_unified to true only if TARGET_THUMB2_P.
13067
130682019-01-10  Jakub Jelinek  <jakub@redhat.com>
13069
13070	PR c/88568
13071	* attribs.c (handle_dll_attribute): Clear TREE_STATIC after setting
13072	DECL_EXTERNAL.
13073
130742019-01-10  Tamar Christina  <tamar.christina@arm.com>
13075
13076	* config/arm/arm-builtins.c
13077	(enum arm_type_qualifiers): Add qualifier_lane_pair_index.
13078	(MAC_LANE_PAIR_QUALIFIERS): New.
13079	(arm_expand_builtin_args): Use it.
13080	(arm_expand_builtin_1): Likewise.
13081	* config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): New.
13082	* config/arm/arm.c (neon_vcmla_lane_prepare_operands): New.
13083	* config/arm/arm-c.c (arm_cpu_builtins): Add __ARM_FEATURE_COMPLEX.
13084	* config/arm/arm_neon.h:
13085	(vcadd_rot90_f16): New.
13086	(vcaddq_rot90_f16): New.
13087	(vcadd_rot270_f16): New.
13088	(vcaddq_rot270_f16): New.
13089	(vcmla_f16): New.
13090	(vcmlaq_f16): New.
13091	(vcmla_lane_f16): New.
13092	(vcmla_laneq_f16): New.
13093	(vcmlaq_lane_f16): New.
13094	(vcmlaq_laneq_f16): New.
13095	(vcmla_rot90_f16): New.
13096	(vcmlaq_rot90_f16): New.
13097	(vcmla_rot90_lane_f16): New.
13098	(vcmla_rot90_laneq_f16): New.
13099	(vcmlaq_rot90_lane_f16): New.
13100	(vcmlaq_rot90_laneq_f16): New.
13101	(vcmla_rot180_f16): New.
13102	(vcmlaq_rot180_f16): New.
13103	(vcmla_rot180_lane_f16): New.
13104	(vcmla_rot180_laneq_f16): New.
13105	(vcmlaq_rot180_lane_f16): New.
13106	(vcmlaq_rot180_laneq_f16): New.
13107	(vcmla_rot270_f16): New.
13108	(vcmlaq_rot270_f16): New.
13109	(vcmla_rot270_lane_f16): New.
13110	(vcmla_rot270_laneq_f16): New.
13111	(vcmlaq_rot270_lane_f16): New.
13112	(vcmlaq_rot270_laneq_f16): New.
13113	(vcadd_rot90_f32): New.
13114	(vcaddq_rot90_f32): New.
13115	(vcadd_rot270_f32): New.
13116	(vcaddq_rot270_f32): New.
13117	(vcmla_f32): New.
13118	(vcmlaq_f32): New.
13119	(vcmla_lane_f32): New.
13120	(vcmla_laneq_f32): New.
13121	(vcmlaq_lane_f32): New.
13122	(vcmlaq_laneq_f32): New.
13123	(vcmla_rot90_f32): New.
13124	(vcmlaq_rot90_f32): New.
13125	(vcmla_rot90_lane_f32): New.
13126	(vcmla_rot90_laneq_f32): New.
13127	(vcmlaq_rot90_lane_f32): New.
13128	(vcmlaq_rot90_laneq_f32): New.
13129	(vcmla_rot180_f32): New.
13130	(vcmlaq_rot180_f32): New.
13131	(vcmla_rot180_lane_f32): New.
13132	(vcmla_rot180_laneq_f32): New.
13133	(vcmlaq_rot180_lane_f32): New.
13134	(vcmlaq_rot180_laneq_f32): New.
13135	(vcmla_rot270_f32): New.
13136	(vcmlaq_rot270_f32): New.
13137	(vcmla_rot270_lane_f32): New.
13138	(vcmla_rot270_laneq_f32): New.
13139	(vcmlaq_rot270_lane_f32): New.
13140	(vcmlaq_rot270_laneq_f32): New.
13141	* config/arm/arm_neon_builtins.def (vcadd90, vcadd270, vcmla0, vcmla90,
13142	vcmla180, vcmla270, vcmla_lane0, vcmla_lane90, vcmla_lane180,
13143	vcmla_lane270, vcmla_laneq0, vcmla_laneq90, vcmla_laneq180,
13144	vcmla_laneq270, vcmlaq_lane0, vcmlaq_lane90, vcmlaq_lane180,
13145	vcmlaq_lane270): New.
13146	* config/arm/neon.md (neon_vcmla_lane<rot><mode>,
13147	neon_vcmla_laneq<rot><mode>, neon_vcmlaq_lane<rot><mode>): New.
13148	* config/arm/arm.c (arm_arch8_3, arm_arch8_4): New.
13149	* config/arm/arm.h (TARGET_COMPLEX, arm_arch8_3, arm_arch8_4): New.
13150	(arm_option_reconfigure_globals): Use them.
13151	* config/arm/iterators.md (VDF, VQ_HSF): New.
13152	(VCADD, VCMLA): New.
13153	(VF_constraint, rot, rotsplit1, rotsplit2): Add V4HF and V8HF.
13154	* config/arm/neon.md (neon_vcadd<rot><mode>, neon_vcmla<rot><mode>):
13155	New.
13156	* config/arm/unspecs.md (UNSPEC_VCADD90, UNSPEC_VCADD270,
13157	UNSPEC_VCMLA, UNSPEC_VCMLA90, UNSPEC_VCMLA180, UNSPEC_VCMLA270): New.
13158
131592019-01-10  Tamar Christina  <tamar.christina@arm.com>
13160
13161	* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
13162	Add qualifier_lane_pair_index.
13163	(emit-rtl.h): Include.
13164	(TYPES_QUADOP_LANE_PAIR): New.
13165	(aarch64_simd_expand_args): Use it.
13166	(aarch64_simd_expand_builtin): Likewise.
13167	(AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_laneq_builtin_datum):
13168	New.
13169	(FCMLA_LANEQ_BUILTIN, AARCH64_SIMD_FCMLA_LANEQ_BUILTIN_BASE,
13170	AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_lane_builtin_data,
13171	aarch64_init_fcmla_laneq_builtins, aarch64_expand_fcmla_builtin): New.
13172	(aarch64_init_builtins): Add aarch64_init_fcmla_laneq_builtins.
13173	(aarch64_expand_buildin): Add AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V2SF,
13174	AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V2SF,
13175	AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V2SF,
13176	AARCH64_SIMD_BUILTIN_FCMLA_LANEQ2700_V2SF,
13177	AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V4HF,
13178	AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V4HF,
13179	AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V4HF,
13180	AARCH64_SIMD_BUILTIN_FCMLA_LANEQ270_V4HF.
13181	* config/aarch64/iterators.md (FCMLA_maybe_lane): New.
13182	* config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
13183	Add __ARM_FEATURE_COMPLEX.
13184	* config/aarch64/aarch64-simd-builtins.def (fcadd90, fcadd270, fcmla0,
13185	fcmla90, fcmla180, fcmla270, fcmla_lane0, fcmla_lane90, fcmla_lane180,
13186	fcmla_lane270, fcmla_laneq0, fcmla_laneq90, fcmla_laneq180,
13187	fcmla_laneq270, fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180,
13188	fcmlaq_lane270): New.
13189	* config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
13190	aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>,
13191	aarch64_fcadd<rot><mode>, aarch64_fcmla<rot><mode>): New.
13192	* config/aarch64/arm_neon.h:
13193	(vcadd_rot90_f16): New.
13194	(vcaddq_rot90_f16): New.
13195	(vcadd_rot270_f16): New.
13196	(vcaddq_rot270_f16): New.
13197	(vcmla_f16): New.
13198	(vcmlaq_f16): New.
13199	(vcmla_lane_f16): New.
13200	(vcmla_laneq_f16): New.
13201	(vcmlaq_lane_f16): New.
13202	(vcmlaq_rot90_lane_f16): New.
13203	(vcmla_rot90_laneq_f16): New.
13204	(vcmla_rot90_lane_f16): New.
13205	(vcmlaq_rot90_f16): New.
13206	(vcmla_rot90_f16): New.
13207	(vcmlaq_laneq_f16): New.
13208	(vcmla_rot180_laneq_f16): New.
13209	(vcmla_rot180_lane_f16): New.
13210	(vcmlaq_rot180_f16): New.
13211	(vcmla_rot180_f16): New.
13212	(vcmlaq_rot90_laneq_f16): New.
13213	(vcmlaq_rot270_laneq_f16): New.
13214	(vcmlaq_rot270_lane_f16): New.
13215	(vcmla_rot270_laneq_f16): New.
13216	(vcmlaq_rot270_f16): New.
13217	(vcmla_rot270_f16): New.
13218	(vcmlaq_rot180_laneq_f16): New.
13219	(vcmlaq_rot180_lane_f16): New.
13220	(vcmla_rot270_lane_f16): New.
13221	(vcadd_rot90_f32): New.
13222	(vcaddq_rot90_f32): New.
13223	(vcaddq_rot90_f64): New.
13224	(vcadd_rot270_f32): New.
13225	(vcaddq_rot270_f32): New.
13226	(vcaddq_rot270_f64): New.
13227	(vcmla_f32): New.
13228	(vcmlaq_f32): New.
13229	(vcmlaq_f64): New.
13230	(vcmla_lane_f32): New.
13231	(vcmla_laneq_f32): New.
13232	(vcmlaq_lane_f32): New.
13233	(vcmlaq_laneq_f32): New.
13234	(vcmla_rot90_f32): New.
13235	(vcmlaq_rot90_f32): New.
13236	(vcmlaq_rot90_f64): New.
13237	(vcmla_rot90_lane_f32): New.
13238	(vcmla_rot90_laneq_f32): New.
13239	(vcmlaq_rot90_lane_f32): New.
13240	(vcmlaq_rot90_laneq_f32): New.
13241	(vcmla_rot180_f32): New.
13242	(vcmlaq_rot180_f32): New.
13243	(vcmlaq_rot180_f64): New.
13244	(vcmla_rot180_lane_f32): New.
13245	(vcmla_rot180_laneq_f32): New.
13246	(vcmlaq_rot180_lane_f32): New.
13247	(vcmlaq_rot180_laneq_f32): New.
13248	(vcmla_rot270_f32): New.
13249	(vcmlaq_rot270_f32): New.
13250	(vcmlaq_rot270_f64): New.
13251	(vcmla_rot270_lane_f32): New.
13252	(vcmla_rot270_laneq_f32): New.
13253	(vcmlaq_rot270_lane_f32): New.
13254	(vcmlaq_rot270_laneq_f32): New.
13255	* config/aarch64/aarch64.h (TARGET_COMPLEX): New.
13256	* config/aarch64/iterators.md (UNSPEC_FCADD90, UNSPEC_FCADD270,
13257	UNSPEC_FCMLA, UNSPEC_FCMLA90, UNSPEC_FCMLA180, UNSPEC_FCMLA270): New.
13258	(FCADD, FCMLA): New.
13259	(rot): New.
13260	* config/arm/types.md (neon_fcadd, neon_fcmla): New.
13261
132622019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
13263
13264	PR other/16615
13265
13266	* config/pa/pa.c: Change "can not" to "cannot".
13267	* gimple-ssa-evrp-analyze.c: Likewise.
13268	* ipa-icf.c: Likewise.
13269	* ipa-polymorphic-call.c: Likewise.
13270	* ipa-pure-const.c: Likewise.
13271	* lra-constraints.c: Likewise.
13272	* lra-remat.c: Likewise.
13273	* reload1.c: Likewise.
13274	* reorg.c: Likewise.
13275	* tree-ssa-uninit.c: Likewise.
13276
132772019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
13278
13279	PR other/16615
13280
13281	* Makefile.in: Mechanically replace "can not" with "cannot".
13282	* alias.c: Likewise.
13283	* builtins.c: Likewise.
13284	* calls.c: Likewise.
13285	* cgraph.c: Likewise.
13286	* cgraph.h: Likewise.
13287	* cgraphclones.c: Likewise.
13288	* cgraphunit.c: Likewise.
13289	* combine-stack-adj.c: Likewise.
13290	* combine.c: Likewise.
13291	* common/config/i386/i386-common.c: Likewise.
13292	* config/aarch64/aarch64.c: Likewise.
13293	* config/alpha/sync.md: Likewise.
13294	* config/arc/arc.c: Likewise.
13295	* config/arc/predicates.md: Likewise.
13296	* config/arm/arm-c.c: Likewise.
13297	* config/arm/arm.c: Likewise.
13298	* config/arm/arm.h: Likewise.
13299	* config/arm/arm.md: Likewise.
13300	* config/arm/cortex-r4f.md: Likewise.
13301	* config/csky/csky.c: Likewise.
13302	* config/csky/csky.h: Likewise.
13303	* config/darwin-f.c: Likewise.
13304	* config/epiphany/epiphany.md: Likewise.
13305	* config/i386/i386.c: Likewise.
13306	* config/i386/sol2.h: Likewise.
13307	* config/m68k/m68k.c: Likewise.
13308	* config/mcore/mcore.h: Likewise.
13309	* config/microblaze/microblaze.md: Likewise.
13310	* config/mips/20kc.md: Likewise.
13311	* config/mips/sb1.md: Likewise.
13312	* config/nds32/nds32.c: Likewise.
13313	* config/nds32/predicates.md: Likewise.
13314	* config/pa/pa.c: Likewise.
13315	* config/rs6000/e300c2c3.md: Likewise.
13316	* config/rs6000/rs6000.c: Likewise.
13317	* config/s390/s390.h: Likewise.
13318	* config/sh/sh.c: Likewise.
13319	* config/sh/sh.md: Likewise.
13320	* config/spu/vmx2spu.h: Likewise.
13321	* cprop.c: Likewise.
13322	* dbxout.c: Likewise.
13323	* df-scan.c: Likewise.
13324	* doc/cfg.texi: Likewise.
13325	* doc/extend.texi: Likewise.
13326	* doc/fragments.texi: Likewise.
13327	* doc/gty.texi: Likewise.
13328	* doc/invoke.texi: Likewise.
13329	* doc/lto.texi: Likewise.
13330	* doc/md.texi: Likewise.
13331	* doc/objc.texi: Likewise.
13332	* doc/rtl.texi: Likewise.
13333	* doc/tm.texi: Likewise.
13334	* dse.c: Likewise.
13335	* emit-rtl.c: Likewise.
13336	* emit-rtl.h: Likewise.
13337	* except.c: Likewise.
13338	* expmed.c: Likewise.
13339	* expr.c: Likewise.
13340	* fold-const.c: Likewise.
13341	* genautomata.c: Likewise.
13342	* gimple-fold.c: Likewise.
13343	* hard-reg-set.h: Likewise.
13344	* ifcvt.c: Likewise.
13345	* ipa-comdats.c: Likewise.
13346	* ipa-cp.c: Likewise.
13347	* ipa-devirt.c: Likewise.
13348	* ipa-fnsummary.c: Likewise.
13349	* ipa-icf.c: Likewise.
13350	* ipa-inline-transform.c: Likewise.
13351	* ipa-inline.c: Likewise.
13352	* ipa-polymorphic-call.c: Likewise.
13353	* ipa-profile.c: Likewise.
13354	* ipa-prop.c: Likewise.
13355	* ipa-pure-const.c: Likewise.
13356	* ipa-reference.c: Likewise.
13357	* ipa-split.c: Likewise.
13358	* ipa-visibility.c: Likewise.
13359	* ipa.c: Likewise.
13360	* ira-build.c: Likewise.
13361	* ira-color.c: Likewise.
13362	* ira-conflicts.c: Likewise.
13363	* ira-costs.c: Likewise.
13364	* ira-int.h: Likewise.
13365	* ira-lives.c: Likewise.
13366	* ira.c: Likewise.
13367	* ira.h: Likewise.
13368	* loop-invariant.c: Likewise.
13369	* loop-unroll.c: Likewise.
13370	* lower-subreg.c: Likewise.
13371	* lra-assigns.c: Likewise.
13372	* lra-constraints.c: Likewise.
13373	* lra-eliminations.c: Likewise.
13374	* lra-lives.c: Likewise.
13375	* lra-remat.c: Likewise.
13376	* lra-spills.c: Likewise.
13377	* lra.c: Likewise.
13378	* lto-cgraph.c: Likewise.
13379	* lto-streamer-out.c: Likewise.
13380	* postreload-gcse.c: Likewise.
13381	* predict.c: Likewise.
13382	* profile-count.h: Likewise.
13383	* profile.c: Likewise.
13384	* recog.c: Likewise.
13385	* ree.c: Likewise.
13386	* reload.c: Likewise.
13387	* reload1.c: Likewise.
13388	* reorg.c: Likewise.
13389	* resource.c: Likewise.
13390	* rtl.def: Likewise.
13391	* rtl.h: Likewise.
13392	* rtlanal.c: Likewise.
13393	* sched-deps.c: Likewise.
13394	* sched-ebb.c: Likewise.
13395	* sched-rgn.c: Likewise.
13396	* sel-sched-ir.c: Likewise.
13397	* sel-sched.c: Likewise.
13398	* shrink-wrap.c: Likewise.
13399	* simplify-rtx.c: Likewise.
13400	* symtab.c: Likewise.
13401	* target.def: Likewise.
13402	* toplev.c: Likewise.
13403	* tree-call-cdce.c: Likewise.
13404	* tree-cfg.c: Likewise.
13405	* tree-complex.c: Likewise.
13406	* tree-core.h: Likewise.
13407	* tree-eh.c: Likewise.
13408	* tree-inline.c: Likewise.
13409	* tree-loop-distribution.c: Likewise.
13410	* tree-nrv.c: Likewise.
13411	* tree-profile.c: Likewise.
13412	* tree-sra.c: Likewise.
13413	* tree-ssa-alias.c: Likewise.
13414	* tree-ssa-dce.c: Likewise.
13415	* tree-ssa-dom.c: Likewise.
13416	* tree-ssa-forwprop.c: Likewise.
13417	* tree-ssa-loop-im.c: Likewise.
13418	* tree-ssa-loop-ivcanon.c: Likewise.
13419	* tree-ssa-loop-ivopts.c: Likewise.
13420	* tree-ssa-loop-niter.c: Likewise.
13421	* tree-ssa-phionlycprop.c: Likewise.
13422	* tree-ssa-phiopt.c: Likewise.
13423	* tree-ssa-propagate.c: Likewise.
13424	* tree-ssa-threadedge.c: Likewise.
13425	* tree-ssa-threadupdate.c: Likewise.
13426	* tree-ssa-uninit.c: Likewise.
13427	* tree-ssanames.c: Likewise.
13428	* tree-streamer-out.c: Likewise.
13429	* tree.c: Likewise.
13430	* tree.h: Likewise.
13431	* vr-values.c: Likewise.
13432
134332019-01-09  Uroš Bizjak  <ubizjak@gmail.com>
13434
13435	* config/i386/i386-protos.h (ix86_expand_xorsign): New prototype.
13436	(ix86_split_xorsign): Ditto.
13437	* config/i386/i386.c (ix86_expand_xorsign): New function.
13438	(ix86_split_xorsign): Ditto.
13439	* config/i386/i386.md (UNSPEC_XORSIGN): New unspec.
13440	(xorsign<mode>3): New expander.
13441	(xorsign<mode>3_1): New insn_and_split pattern.
13442	* config/i386/sse.md (xorsign<mode>3): New expander.
13443
134442019-01-09  Eric Botcazou  <ebotcazou@adacore.com>
13445
13446	* config/sparc/sparc.md (*tablejump_sp32): Merge into...
13447	(*tablejump_sp64): Likewise.
13448	(*tablejump<P:mode>): ...this.
13449	(*call_address_sp32): Merge into...
13450	(*call_address_sp64): Likewise.
13451	(*call_address<P:mode>): ...this.
13452	(*call_symbolic_sp32): Merge into...
13453	(*call_symbolic_sp64): Likewise.
13454	(*call_symbolic<P:mode>): ...this.
13455	(call_value): Remove constraint and add predicate.
13456	(*call_value_address_sp32): Merge into...
13457	(*call_value_address_sp64): Likewise.
13458	(*call_value_address<P:mode>): ...this.
13459	(*call_value_symbolic_sp32): Merge into...
13460	(*call_value_symbolic_sp64): Likewise.
13461	(*call_value_symbolic<P:mode>): ...this.
13462	(*sibcall_symbolic_sp32): Merge into...
13463	(*sibcall_symbolic_sp64): Likewise.
13464	(*sibcall_symbolic<P:mode>): ...this.
13465	(sibcall_value): Remove constraint and add predicate.
13466	(*sibcall_value_symbolic_sp32): Merge into...
13467	(*sibcall_value_symbolic_sp64): Likewise.
13468	(*sibcall_value_symbolic<P:mode>): ...this.
13469	(window_save): Minor tweak.
13470	(*branch_sp32): Merge into...
13471	(*branch_sp64): Likewise.
13472	(*branch<P:mode>): ...this.
13473
134742019-01-09  Eric Botcazou  <ebotcazou@adacore.com>
13475	    James Clarke  <jrtc27@jrtc27.com>
13476
13477	PR target/84010
13478	* config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode
13479	consistently in TLS address generation and adjust code to the renaming
13480	of patterns.  Mark calls to __tls_get_addr as const.
13481	* config/sparc/sparc.md (tgd_hi22): Turn into...
13482	(tgd_hi22<P:mode>): ...this and use Pmode throughout.
13483	(tgd_lo10): Turn into...
13484	(tgd_lo10<P:mode>): ...this and use Pmode throughout.
13485	(tgd_add32): Merge into...
13486	(tgd_add64): Likewise.
13487	(tgd_add<P:mode>): ...this and use Pmode throughout.
13488	(tldm_hi22): Turn into...
13489	(tldm_hi22<P:mode>): ...this and use Pmode throughout.
13490	(tldm_lo10): Turn into...
13491	(tldm_lo10<P:mode>): ...this and use Pmode throughout.
13492	(tldm_add32): Merge into...
13493	(tldm_add64): Likewise.
13494	(tldm_add<P:mode>): ...this and use Pmode throughout.
13495	(tldm_call32): Merge into...
13496	(tldm_call64): Likewise.
13497	(tldm_call<P:mode>): ...this and use Pmode throughout.
13498	(tldo_hix22): Turn into...
13499	(tldo_hix22<P:mode>): ...this and use Pmode throughout.
13500	(tldo_lox10): Turn into...
13501	(tldo_lox10<P:mode>): ...this and use Pmode throughout.
13502	(tldo_add32): Merge into...
13503	(tldo_add64): Likewise.
13504	(tldo_add<P:mode>): ...this and use Pmode throughout.
13505	(tie_hi22): Turn into...
13506	(tie_hi22<P:mode>): ...this and use Pmode throughout.
13507	(tie_lo10): Turn into...
13508	(tie_lo10<P:mode>): ...this and use Pmode throughout.
13509	(tie_ld64): Use DImode throughout.
13510	(tie_add32): Merge into...
13511	(tie_add64): Likewise.
13512	(tie_add<P:mode>): ...this and use Pmode throughout.
13513	(tle_hix22_sp32): Merge into...
13514	(tle_hix22_sp64): Likewise.
13515	(tle_hix22<P:mode>): ...this and use Pmode throughout.
13516	(tle_lox22_sp32): Merge into...
13517	(tle_lox22_sp64): Likewise.
13518	(tle_lox22<P:mode>): ...this and use Pmode throughout.
13519	(*tldo_ldub_sp32): Merge into...
13520	(*tldo_ldub_sp64): Likewise.
13521	(*tldo_ldub<P:mode>): ...this and use Pmode throughout.
13522	(*tldo_ldub1_sp32): Merge into...
13523	(*tldo_ldub1_sp64): Likewise.
13524	(*tldo_ldub1<P:mode>): ...this and use Pmode throughout.
13525	(*tldo_ldub2_sp32): Merge into...
13526	(*tldo_ldub2_sp64): Likewise.
13527	(*tldo_ldub2<P:mode>): ...this and use Pmode throughout.
13528	(*tldo_ldsb1_sp32): Merge into...
13529	(*tldo_ldsb1_sp64): Likewise.
13530	(*tldo_ldsb1<P:mode>): ...this and use Pmode throughout.
13531	(*tldo_ldsb2_sp32): Merge into...
13532	(*tldo_ldsb2_sp64): Likewise.
13533	(*tldo_ldsb2<P:mode>): ...this and use Pmode throughout.
13534	(*tldo_ldub3_sp64): Use DImode throughout.
13535	(*tldo_ldsb3_sp64): Likewise.
13536	(*tldo_lduh_sp32): Merge into...
13537	(*tldo_lduh_sp64): Likewise.
13538	(*tldo_lduh<P:mode>): ...this and use Pmode throughout.
13539	(*tldo_lduh1_sp32): Merge into...
13540	(*tldo_lduh1_sp64): Likewise.
13541	(*tldo_lduh1<P:mode>): ...this and use Pmode throughout.
13542	(*tldo_ldsh1_sp32): Merge into...
13543	(*tldo_ldsh1_sp64): Likewise.
13544	(*tldo_ldsh1<P:mode>): ...this and use Pmode throughout.
13545	(*tldo_lduh2_sp64): Use DImode throughout.
13546	(*tldo_ldsh2_sp64): Likewise.
13547	(*tldo_lduw_sp32): Merge into...
13548	(*tldo_lduw_sp64): Likewise.
13549	(*tldo_lduw<P:mode>): ...this and use Pmode throughout.
13550	(*tldo_lduw1_sp64): Use DImode throughout.
13551	(*tldo_ldsw1_sp64): Likewise.
13552	(*tldo_ldx_sp64): Likewise.
13553	(*tldo_stb_sp32): Merge into...
13554	(*tldo_stb_sp64): Likewise.
13555	(*tldo_stb<P:mode>): ...this and use Pmode throughout.
13556	(*tldo_sth_sp32): Merge into...
13557	(*tldo_sth_sp64): Likewise.
13558	(*tldo_sth<P:mode>): ...this and use Pmode throughout.
13559	(*tldo_stw_sp32): Merge into...
13560	(*tldo_stw_sp64): Likewise.
13561	(*tldo_stw<P:mode>): ...this and use Pmode throughout.
13562	(*tldo_stx_sp64): Use DImode throughout.
13563
135642018-01-09  Sudakshina Das  <sudi.das@arm.com>
13565
13566	* config/aarch64/aarch64.c (aarch64_override_options): Add case to
13567	check configure option to set BTI and Return Address Signing.
13568	* configure.ac: Add --enable-standard-branch-protection and
13569	--disable-standard-branch-protection.
13570	* configure: Regenerated.
13571	* doc/install.texi: Document the same.
13572
135732018-01-09  Sudakshina Das  <sudi.das@arm.com>
13574	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
13575
13576	* config.gcc (aarch64*-*-*): Add aarch64-bti-insert.o.
13577	* config/aarch64/aarch64.h: Update comment for TRAMPOLINE_SIZE.
13578	* config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Update
13579	if bti is enabled.
13580	* config/aarch64/aarch64-bti-insert.c: New file.
13581	* config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Insert bti
13582	pass.
13583	* config/aarch64/aarch64-protos.h (make_pass_insert_bti): Declare the
13584	new bti pass.
13585	* config/aarch64/aarch64.md (unspecv): Add UNSPECV_BTI_NOARG,
13586	UNSPECV_BTI_C, UNSPECV_BTI_J and UNSPECV_BTI_JC.
13587	(bti_noarg, bti_j, bti_c, bti_jc): New define_insns.
13588	* config/aarch64/t-aarch64: Add rule for aarch64-bti-insert.o.
13589
135902018-01-09  Sudakshina Das  <sudi.das@arm.com>
13591
13592	* config/aarch64/aarch64-protos.h (aarch64_bti_enabled): Declare.
13593	* config/aarch64/aarch64.c (aarch64_handle_no_branch_protection):
13594	Disable bti for -mbranch-protection=none.
13595	(aarch64_handle_standard_branch_protection): Enable bti for
13596	-mbranch-protection=standard.
13597	(aarch64_handle_bti_protection): Enable bti for "bti" in the string to
13598	-mbranch-protection.
13599	(aarch64_bti_enabled): Check if bti is enabled.
13600	* config/aarch64/aarch64.opt: Declare target variable.
13601	* doc/invoke.texi: Add bti to the -mbranch-protection documentation.
13602
136032018-01-09  Sudakshina Das  <sudi.das@arm.com>
13604
13605	* config/aarch64/aarch64.c (aarch64_expand_prologue): Use new
13606	epilogue/prologue scratch registers EP0_REGNUM and EP1_REGNUM.
13607	(aarch64_expand_epilogue): Likewise.
13608	(aarch64_output_mi_thunk): Likewise
13609	* config/aarch64/aarch64.h (REG_CLASS_CONTENTS): Change
13610	TAILCALL_ADDR_REGS to x16 and x17.
13611	* config/aarch64/aarch64.md: Define EP0_REGNUM and EP1_REGNUM.
13612
136132018-01-09  Sudakshina Das  <sudi.das@arm.com>
13614
13615	* config/aarch64/aarch64-option-extensions.def: Define
13616	AARCH64_OPT_EXTENSION for memtag, rng, sb, ssbs and predres.
13617	* config/aarch64/aarch64.h (AARCH64_FL_RNG): New.
13618	(AARCH64_FL_MEMTAG, ARCH64_FL_SB, AARCH64_FL_SSBS): New.
13619	(AARCH64_FL_PREDRES): New.
13620	(AARCH64_FL_FOR_ARCH8_5): Add AARCH64_FL_SB, AARCH64_FL_SSBS and
13621	AARCH64_FL_PREDRES by default.
13622	* doc/invoke.texi: Document rng, memtag, sb, ssbs and predres.
13623
136242018-01-09  Sudakshina Das  <sudi.das@arm.com>
13625
13626	* config/aarch64/aarch64-arches.def: Define AARCH64_ARCH for
13627	ARMv8.5-A.
13628	* config/aarch64/aarch64.h (AARCH64_FL_V8_5): New.
13629	(AARCH64_FL_FOR_ARCH8_5, AARCH64_ISA_V8_5): New.
13630	* doc/invoke.texi: Document ARMv8.5-A.
13631
136322019-01-09  Alejandro Martinez  <alejandro.martinezvicente@arm.com>
13633
13634	* config/aarch64/aarch64-sve.md (copysign<mode>3): New define_expand.
13635	(xorsign<mode>3): Likewise.
13636
136372019-01-09  Jelinek  <jakub@redhat.com>
13638
13639	PR middle-end/88758
13640	* tree.c (initializer_each_zero_or_onep) <case VECTOR_CST>: Use
13641	vector_cst_elt instead of VECTOR_CST_ENCODED_ELT.
13642
13643	PR rtl-optimization/88331
13644	* function.c (assign_stack_local_1): Don't set dynamic_align_addr if
13645	not currently_expanding_to_rtl.
13646
136472019-01-09  Eric Botcazou  <ebotcazou@adacore.com>
13648
13649	* doc/invoke.texi (-Os): Remove trailing spaces.
13650	(-finline-functions): Remove reference to -O2.
13651
136522019-01-08  Jakub Jelinek  <jakub@redhat.com>
13653
13654	PR rtl-optimization/79593
13655	* config/i386/i386.md (reg = mem; mem = reg): New define_peephole2.
13656
13657	* config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
13658	UNSPEC_FUSION_GPR to its argument.  Formatting fixes.
13659
136602019-01-08  Eric Botcazou  <ebotcazou@adacore.com>
13661
13662	PR bootstrap/88721
13663	* config/sparc/sparc.c (function_arg_slotno): Set *PPREGNO & *PPADDING
13664	to -1 on entry.
13665
13666	PR debug/88723
13667	* config/sparc/sparc.c (sparc_delegitimize_address): Deal with naked
13668	UNSPECs and UNSPEC_MOVE_GOTDATA specifically.
13669
136702019-01-08  H.J. Lu  <hongjiu.lu@intel.com>
13671
13672	PR target/88717
13673	* config/i386/i386.c (ix86_avx_u128_mode_exit): Call
13674	ix86_avx_u128_mode_entry.
13675
136762019-01-08  Martin Liska  <mliska@suse.cz>
13677
13678	PR tree-optimization/88753
13679	* tree-switch-conversion.c (switch_conversion::build_one_array):
13680	Come up with local variable constructor.  Convert first to
13681	type of constructor values.
13682
136832019-01-08  Richard Biener  <rguenther@suse.de>
13684
13685	PR tree-optimization/86554
13686	* tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim,
13687	rpo_avail): Move earlier.
13688	(visit_nary_op): When value-numbering to expressions
13689	with different overflow behavior make sure there's an
13690	available expression on the path.
13691
136922019-01-08  Sam Tebbs  <sam.tebbs@arm.com>
13693
13694	* config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX,
13695	aarch64_parse_branch_protection,
13696	struct aarch64_branch_protect_type,
13697	aarch64_handle_no_branch_protection,
13698	aarch64_handle_standard_branch_protection,
13699	aarch64_validate_mbranch_protection,
13700	aarch64_handle_pac_ret_protection,
13701	aarch64_handle_attr_branch_protection,
13702	accepted_branch_protection_string,
13703	aarch64_pac_ret_subtypes,
13704	aarch64_branch_protect_types,
13705	aarch64_handle_pac_ret_leaf): Define.
13706	(aarch64_override_options_after_change_1, aarch64_override_options):
13707	Add check for accepted_branch_protection_string.
13708	(aarch64_option_save): Save accepted_branch_protection_string.
13709	(aarch64_option_restore): Save accepted_branch_protection_string.
13710	* config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection.
13711	* config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate
13712	msign-return-address.
13713	* doc/invoke.texi: Add mbranch-protection.
13714
137152019-01-08  Alan Modra  <amodra@gmail.com>
13716
13717	PR target/88614
13718	* genattrtab.c (max_attr_value, min_attr_value, or_attr_value):
13719	Delete "unknownp" parameter.  Adjust callers.  Handle
13720	CONST_INT, PLUS, MINUS, and MULT.
13721	(attr_value_aligned): Renamed from or_attr_value.
13722	(min_attr_value): Return INT_MIN for unhandled rtl case..
13723	(min_fn): ..and translate to INT_MAX here.
13724	(write_length_unit_log): Modify to cope without "unknown".
13725	(write_attr_value): Handle IF_THEN_ELSE.
13726
137272019-01-07  Richard Sandiford  <richard.sandiford@arm.com>
13728
13729	* tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
13730	optimization for masked stores.
13731
137322019-01-07  Richard Sandiford  <richard.sandiford@arm.com>
13733
13734	PR middle-end/88567
13735	* tree-vect-loop.c (get_initial_defs_for_reduction): Pass the
13736	output vector directly to duplicate_and_interleave instead of
13737	going through a temporary.  Postpone insertion of ctor_seq to
13738	the end of the loop.
13739
137402019-01-07  Richard Earnshaw  <rearnsha@arm.com>
13741
13742	PR target/86891
13743	* config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter
13744	unsigned_p.  Handle signed and unsigned overflow correction as
13745	required.
13746	* config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update
13747	prototype.
13748	* config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand
13749	for operand 2.
13750	(add<mode>3_compareV_imm): Make this callable for expanding.
13751	(subv<GPI:mode>4): Use register_operand for operand 1.  Use
13752	aarch64_plus_operand for operand 2.
13753	(subv<GPI:mode>_insn): New insn pattern.
13754	(subv<GPI:mode>_imm): Likewise.
13755	(negv<GPI:mode>3): New expand pattern.
13756	(negv<GPI:mode>_insn): New insn pattern.
13757	(negv<GPI:mode>_cmp_only): Likewise.
13758	(cmpv<GPI:mode>_insn): Likewise.
13759	(subvti4): Use register_operand for operand 1.  Update call to
13760	aarch64_expand_subvti.
13761	(usubvti4): Likewise.
13762	(negvti3): New expand pattern.
13763	(negdi_carryout): New insn pattern.
13764	(negvdi_carryinV): New insn pattern.
13765	(sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous
13766	version the named version.
13767	(peepholes to convert to sub<mode3>_compare1_imm): Adjust order of
13768	operands.
13769	(usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn
13770	patterns.
13771	(usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn
13772	patterns.
13773	(sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete.
13774	(sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete.
13775	(sub<mode>3_carryinCV): Delete.
13776	(sub<GPI:mode>3_carryinV): New expand pattern.
13777	sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns.
13778
137792019-01-07  Richard Biener  <rguenther@suse.de>
13780
13781	* tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor
13782	of tree_operand_hash.
13783
137842019-01-07  Richard Sandiford  <richard.sandiford@arm.com>
13785
13786	PR tree-optimization/88598
13787	* tree.h (single_nonzero_element): Declare.
13788	* tree.c (single_nonzero_element): New function.
13789	* match.pd: Fold certain reductions of X & CST to X[I] & CST[I]
13790	if I is the only nonzero element of CST.
13791
137922019-01-07  Richard Sandiford  <richard.sandiford@arm.com>
13793
13794	PR tree-optimization/88598
13795	* tree.h (initializer_each_zero_or_onep): Declare.
13796	* tree.c (initializer_each_zero_or_onep): New function.
13797	(signed_or_unsigned_type_for): Handle float types too.
13798	(unsigned_type_for, signed_type_for): Update comments accordingly.
13799	* match.pd: Fold x * { 0 or 1, 0 or 1, ...} to
13800	x & { 0 or -1, 0 or -1, ... }.
13801
138022019-01-07  Jonathan Wakely  <jwakely@redhat.com>
13803
13804	* doc/install.texi: Replace references to x86_64-unknown-linux-gnu
13805	with x86_64-pc-linux-gnu.
13806
138072019-01-07  Tom de Vries  <tdevries@suse.de>
13808
13809	PR target/85486
13810	* config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
13811	function.
13812	(nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
13813	routines.
13814
138152019-01-07  Jakub Jelinek  <jakub@redhat.com>
13816
13817	* config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
13818	V_256_512 iterator instead of V_512 and TARGET_AVX instead of
13819	TARGET_AVX512F as condition.
13820
13821	PR debug/88723
13822	* dwarf2out.c (const_ok_for_output_1): Remove redundant call to
13823	const_not_ok_for_debug_p target hook.
13824	(mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1
13825	on UNSPEC and subexpressions thereof if all subexpressions of the
13826	UNSPEC are CONSTANT_P.
13827
13828	PR tree-optimization/88676
13829	* tree-ssa-phiopt.c (two_value_replacement): New function.
13830	(tree_ssa_phiopt_worker): Call it.
13831
13832	PR sanitizer/88619
13833	* cfgexpand.c (expand_stack_vars): Only align prev_offset to
13834	ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
13835
13836	PR c++/85052
13837	* tree-vect-generic.c: Include insn-config.h and recog.h.
13838	(expand_vector_piecewise): Add defaulted ret_type argument,
13839	if non-NULL, use that in preference to type for the result type.
13840	(expand_vector_parallel): Formatting fix.
13841	(do_vec_conversion, do_vec_narrowing_conversion,
13842	expand_vector_conversion): New functions.
13843	(expand_vector_operations_1): Call expand_vector_conversion
13844	for VEC_CONVERT ifn calls.
13845	* internal-fn.def (VEC_CONVERT): New internal function.
13846	* internal-fn.c (expand_VEC_CONVERT): New function.
13847	* fold-const-call.c (fold_const_vec_convert): New function.
13848	(fold_const_call): Use it for CFN_VEC_CONVERT.
13849	* doc/extend.texi (__builtin_convertvector): Document.
13850
138512019-01-07  Tom de Vries  <tdevries@suse.de>
13852
13853	* config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
13854	* config/nvptx/nvptx.c (vector_red_size, vector_red_align,
13855	vector_red_partition, vector_red_sym): New global variables.
13856	(nvptx_option_override): Initialize vector_red_sym.
13857	(nvptx_declare_function_name): Restore red_partition register.
13858	(nvptx_file_end): Emit code to declare the vector reduction variables.
13859	(nvptx_output_red_partition): New function.
13860	(nvptx_expand_shared_addr): Add vector argument. Use it to handle
13861	large vector reductions.
13862	(enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
13863	(nvptx_init_builtins): Add VECTOR_ADDR.
13864	(nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
13865	Handle nvptx_expand_shared_addr.
13866	(nvptx_get_shared_red_addr): Add vector argument and handle large
13867	vectors.
13868	(nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
13869	large vectors.
13870	(nvptx_goacc_reduction_init): Likewise.
13871	(nvptx_goacc_reduction_fini): Likewise.
13872	(nvptx_goacc_reduction_teardown): Likewise.
13873	(nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
13874	init,fini,teardown}.
13875	(nvptx_init_axis_predicate): Initialize vector_red_partition.
13876	(nvptx_set_current_function): Init vector_red_partition.
13877	* config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
13878	(nvptx_red_partition): New insn.
13879	* config/nvptx/nvptx.h (struct machine_function): Add red_partition.
13880
138812019-01-07  Tom de Vries  <tdevries@suse.de>
13882
13883	PR target/85381
13884	* config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
13885	empty loops.
13886
138872019-01-07  Tom de Vries  <tdevries@suse.de>
13888
13889	* config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
13890	(nvptx_option_override): Init oacc_bcast_partition.
13891	(nvptx_init_oacc_workers): New function.
13892	(nvptx_declare_function_name): Call nvptx_init_oacc_workers.
13893	(nvptx_needs_shared_bcast): New function.
13894	(nvptx_find_par): Generalize to enable vectors to use shared-memory
13895	to propagate state.
13896	(nvptx_shared_propagate): Initialize vector bcast partition and
13897	synchronization state.
13898	(nvptx_single):  Generalize to enable vectors to use shared-memory
13899	to propagate state.
13900	(nvptx_process_pars): Likewise.
13901	(nvptx_set_current_function): Initialize oacc_broadcast_partition.
13902	* config/nvptx/nvptx.h (struct machine_function): Add
13903	bcast_partition and sync_bar members.
13904
139052019-01-07  Tom de Vries  <tdevries@suse.de>
13906
13907	* config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
13908	(nvptx_apply_dim_limits): New function.
13909	(nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
13910	PTX_WARP_SIZE.
13911
139122019-01-07  Tom de Vries  <tdevries@suse.de>
13913
13914	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
13915	as late as possible.
13916
139172019-01-07  Tom de Vries  <tdevries@suse.de>
13918
13919	* config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
13920	(PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
13921	(nvptx_goacc_validate_dims_1, nvptx_dim_limit)
13922	(nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
13923	PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
13924
139252019-01-07  Tom de Vries  <tdevries@suse.de>
13926
13927	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
13928
139292019-01-07  Tom de Vries  <tdevries@suse.de>
13930
13931	* omp-offload.c (oacc_get_min_dim): New function.
13932	* omp-offload.h (oacc_get_min_dim): Declare.
13933
139342018-12-26  Mateusz B  <mateuszb@poczta.onet.pl>
13935
13936	PR target/88521
13937	* config/i386/i386.c (function_value_ms_64): Return small sturct in
13938	AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
13939
139402019-01-05  Jan Hubicka  <hubicka@ucw.cz>
13941
13942	PR tree-opt/86020
13943	Revert:
13944	2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
13945
13946	* ipa-inline.c (edge_badness): Use inlined_time instead of
13947	inline_summaries->get.
13948
139492019-01-05  Jan Hubicka  <hubicka@ucw.cz>
13950
13951	* opts.c (enable_fdo_optimizations): Enable
13952	version-loops-for-strides, loop-interchange, unrol-and-jam
13953	and tree-loop-distribution.
13954	* invoke.texi: Document newly enabled options.
13955
139562019-01-05  Jan Hubicka  <hubicka@ucw.cz>
13957
13958	* doc/invoke.texi (max-inline-insns-small): New parameters.
13959	* ipa-inline.c (want_early_inline_function_p): simplify.
13960	(want_inline_small_function_p): Fix pasto from previous patch;
13961	use max-inline-insns-small bound.
13962	* params.def (max-inline-insns-small): New param.
13963	* ipa-fnsummary.c (analyze_function_body): Initialize time/size
13964	variables correctly.
13965
139662019-01-05  Jan Hubicka  <hubicka@ucw.cz>
13967
13968	* doc/invoke.texi: Document max-inline-insns-size,
13969	uninlined-function-insns, uninlined-function-time,
13970	uninlined-thunk-insns and uninlined-thunk-time.
13971	* params.def: Add max-inline-insns-size,
13972	uninlined-function-insns, uninlined-function-time,
13973	uninlined-thunk-insns and uninlined-thunk-time.
13974	* ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
13975	new parameters.
13976	* ipa-inline.c (can_inline_edge_by_limits_p,
13977	want_inline_small_function_p): Use new parameters.
13978
139792019-01-05  Jan Hubicka  <hubicka@ucw.cz>
13980
13981	* ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
13982
139832019-01-05  Jakub Jelinek  <jakub@redhat.com>
13984
13985	PR middle-end/82564
13986	PR target/88620
13987	* expr.c (expand_assignment): For calls returning VLA structures
13988	if to_rtx is not a MEM, force it into a stack temporary.
13989
13990	PR debug/88635
13991	* dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
13992	SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
13993	Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
13994	subexpressions of both operands.
13995	(mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
13996	subrtxes are CONSTANT_P.
13997	* config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
13998	2018-11-09 changes.
13999
140002019-01-04  Jan Hubicka  <hubicka@ucw.cz>
14001
14002	* params.def (hot-bb-count-ws-permille): Set to 990.
14003
140042019-01-04  Martin Sebor  <msebor@redhat.com>
14005
14006	PR c/88546
14007	* attribs.c (decls_mismatched_attributes): Avoid warning for attribute
14008	leaf.
14009
140102019-01-04  Martin Sebor  <msebor@redhat.com>
14011
14012	PR c/88363
14013	* doc/extend.texi (attribute alloc_align, alloc_size): Update.
14014
140152019-01-04  Jakub Jelinek  <jakub@redhat.com>
14016
14017	* gdbinit.in: Turn off pagination for the skip commands, restore
14018	it to previous state afterwards.
14019
140202019-01-04  Jakub Jelinek  <jakub@redhat.com>
14021
14022	PR target/88594
14023	* config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
14024	of GET_MODE (opN) as modes of the libcall arguments.
14025
140262019-01-04  Jan Beulich  <jbeulich@suse.com>
14027
14028	* config/i386/sse.md
14029	(<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
14030	<avx512>_cmp<mode>3<mask_scalar_merge_name>,
14031	<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
14032	<avx512>_ucmp<mode>3<mask_scalar_merge_name>,
14033	avx512f_vmcmp<mode>3<round_saeonly_name>,
14034	avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
14035	avx512f_maskcmp<mode>3,
14036	<avx512>_cvt<ssemodesuffix>2mask<mode>,
14037	<avx512>_cvt<ssemodesuffix>2mask<mode>,
14038	*<avx512>_cvtmask2<ssemodesuffix><mode>,
14039	*<avx512>_cvtmask2<ssemodesuffix><mode>,
14040	<avx512>_eq<mode>3<mask_scalar_merge_name>_1,
14041	<avx512>_eq<mode>3<mask_scalar_merge_name>_1,
14042	<avx512>_gt<mode>3<mask_scalar_merge_name>,
14043	<avx512>_gt<mode>3<mask_scalar_merge_name>,
14044	<avx512>_testm<mode>3<mask_scalar_merge_name>,
14045	<avx512>_testnm<mode>3<mask_scalar_merge_name>,
14046	*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
14047	*<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
14048	*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
14049	*<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
14050	avx512cd_maskb_vec_dup<mode>,
14051	avx512cd_maskw_vec_dup<mode>,
14052	avx512dq_fpclass<mode><mask_scalar_merge_name>,
14053	avx512dq_vmfpclass<mode>,
14054	avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
14055	instead of =Yk.
14056
140572019-01-03  Martin Sebor  <msebor@redhat.com>
14058
14059	PR tree-optimization/88659
14060	* calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
14061
140622019-01-03  Aaron Sawdey  <acsawdey@linux.ibm.com>
14063
14064	* config/rs6000/rs6000-string.c (expand_block_move): Don't use
14065	unaligned vsx and avoid lxvd2x/stxvd2x.
14066	(gen_lvx_v4si_move): New function.
14067
140682019-01-03  Tom de Vries  <tdevries@suse.de>
14069
14070	* config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
14071	(init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
14072	function.
14073	* config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
14074
140752019-01-03  Tom de Vries  <tdevries@suse.de>
14076
14077	* config/nvptx/nvptx.c (struct offload_attrs): New.
14078	(populate_offload_attrs): New function.  Factor mask extraction out of
14079	nvptx_reorg.  Add extraction of dimensions.
14080	(nvptx_reorg): Use populate_offload_attrs.
14081
140822019-01-03  Tom de Vries  <tdevries@suse.de>
14083
14084	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
14085	cases for oacc_min_dims_p and routine_p.  Add asserts for
14086	oacc_default_dims_p and offload_region_p.
14087
140882019-01-03  Tom de Vries  <tdevries@suse.de>
14089
14090	* config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
14091	factored out of ...
14092	(nvptx_goacc_validate_dims): ... here.
14093
140942019-01-03  Jan Hubicka  <hubicka@ucw.cz>
14095
14096	PR tree-optimization/85574
14097	* tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
14098	structure.
14099	(struct ssa_equip_hash_traits): Declare.
14100	(val_ssa_equiv): Use custom hash traits using operand_equal_p.
14101
141022019-01-03  Jakub Jelinek  <jakub@redhat.com>
14103
14104	PR debug/88644
14105	* dwarf2out.c (modified_type_die): If type is equal to sizetype,
14106	change it to qualified_type.
14107
141082019-01-03  Jan Hubicka  <hubicka@ucw.cz>
14109
14110	* ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
14111	(ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
14112
141132019-01-02  Martin Sebor  <msebor@redhat.com>
14114	    Jeff Law  <law@redhat.com>
14115
14116	* gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
14117	(get_range_strlen_tree): Update appropriately.
14118	(get_range_strlen)
14119	* gimple-fold.h (get_range_strlen): Drop unused last argument.
14120
14121	* gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
14122	rather than set_range_info.
14123	* tree-ssa-strlen.c (set_strlen_range): Extracted from
14124	maybe_set_strlen_range.  Handle potentially boundary crossing
14125	cases more conservatively.
14126	(maybe_set_strlen_range): Parts refactored into set_strlen_range.
14127	Call set_strlen_range.
14128	* tree-ssa-strlen.h (set_strlen_range): Add prototype.
14129
14130	PR middle-end/88663
14131	* gimple-fold.c (get_range_strlen): Update prototype to no longer
14132	need the flexp argument.
14133	(get_range_strlen_tree): Drop flexp argument.  Drop flexp argument
14134	from calls to get_range_strlen.  Update comments.  Just update
14135	VAL for an unterminated const char array and let the reset of the
14136	code handle it normally.  No longer try to set *flexp.  Adjust
14137	return value.
14138	(get_range_strlen): Update for the new get_range_strlen API.
14139	(get_maxval_strlen): Similarly.
14140	(gimple_fold_builtin_strlen): Handle update meaning of return value
14141	from get_range_strlen.
14142	* gimple-ssa-sprintf.c (get_string_length): Update for the new
14143	get_range_strlen API.
14144
141452019-01-02  Jan Hubicka  <hubicka@ucw.cz>
14146
14147	PR lto/88130
14148	* varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
14149	false at WPA time when body was removed.
14150
141512019-01-02  Martin Liska  <mliska@suse.cz>
14152
14153	PR tree-optimization/88650
14154	* predict.c (set_even_probabilities): Calculate probability
14155	remainer only when really used.
14156
141572019-01-02  Richard Biener  <rguenther@suse.de>
14158
14159	PR middle-end/88651
14160	* tree-data-ref.c (analyze_subscript_affine_affine): Use
14161	widest_ints when mangling max_stmt_execution results.
14162
141632019-01-02  Richard Biener  <rguenther@suse.de>
14164
14165	PR tree-optimization/88621
14166	* tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
14167	bitfields when canoncalizing.
14168
141692019-01-02  Richard Biener  <rguenther@suse.de>
14170
14171	PR target/87545
14172	* config/i386/x86-tune-costs.h (intel_cost): Adjust
14173	cost of cheap SSE instruction.
14174
141752019-01-02  Richard Biener  <rguenther@suse.de>
14176
14177	PR ipa/85574
14178	* ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
14179	* ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
14180	function.
14181	(sem_item_optimizer::do_congruence_step_f): Sort the congruence
14182	set after UIDs before splitting them.
14183
141842019-01-01  Martin Sebor  <msebor@redhat.com>
14185	    Jeff Law  <law@redhat.com>
14186
14187	* gimple-fold.c (get_range_strlen_tree): Record if the computed
14188	length is optimistic.  If it is, then arrange to compute the
14189	conservative length as well.
14190
14191	* gimple-fold.h (get_range_strlen): Update prototype.
14192	* builtins.c (check_access): Update call to get_range_strlen to use
14193	c_strlen_data pointer.   Change various variable accesses to instead
14194	pull data from the c_strlen_data structure.
14195	(check_strncat_sizes, expand_builtin_strncat): Likewise.
14196	* calls.c (maybe_warn_nonstring_arg): Likewise.
14197	* tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise.  Reset
14198	minimum length if maximum lengh is unknown.
14199	* gimple-ssa-sprintf.c (get_string_length): Likewise.  Drop code
14200	that used c_strlen, it's no longer needed.  Restructure slightly.
14201	(format_string): Set unlikely range appropriately.
14202	* gimple-fold.c (get_range_strlen): Update comments.  Fix minor
14203	formatting issues.
14204	(get_range_strlen):  Accept c_strlen_data pointer for external
14205	call sites as well.  Pass through to call to internal get_range_strlen.
14206	Adjust minlen, maxlen and maxbound as needed.
14207	(get_maxval_strlen): Update comments.
14208	(gimple_fold_builtin_strlen):  Update call to get_range_strlen
14209	to use c_strlen_data pointer.  Change variable accesses to instead
14210	use c_strlen_data data members.
14211
14212	* gimple-fold.c (get_range_strlen): Update prototype.
14213	(get_range_strlen_tree): Update prototype.  Drop minlen/maxlen
14214	local variables.  Use pdata to return information to caller.
14215	Update calls to get_range_strlen.  Update pdata->maxbound.
14216	(get_range_strlen -- static version): Similarly.
14217	(get_range_strlen -- extern version): Update for internal
14218	get_range_strlen API change.  Convert to external data format.
14219	(get_maxval_strlen): Similarly.
14220
142212019-01-01  Jan Hubicka  <hubicka@ucw.cz>
14222
14223	* coverage.c (get_coverage_counts): Use current_function_decl.
14224	* profile.c (read_thunk_profile): New function.
14225	(branch_prob): Add THUNK parameter.
14226	* tree-profile.c (tree_profiling): Handle thunks.
14227	* value-prof.c (init_node_map): Handle thunks.
14228	* value-prof.h (branch_prob): Upate prototype.
14229	(read_thunk_profile): Declare.
14230
142312019-01-01  Jakub Jelinek  <jakub@redhat.com>
14232
14233	Update copyright years.
14234
14235	* gcc.c (process_command): Update copyright notice dates.
14236	* gcov-dump.c (print_version): Ditto.
14237	* gcov.c (print_version): Ditto.
14238	* gcov-tool.c (print_version): Ditto.
14239	* gengtype.c (create_file): Ditto.
14240	* doc/cpp.texi: Bump @copying's copyright year.
14241	* doc/cppinternals.texi: Ditto.
14242	* doc/gcc.texi: Ditto.
14243	* doc/gccint.texi: Ditto.
14244	* doc/gcov.texi: Ditto.
14245	* doc/install.texi: Ditto.
14246	* doc/invoke.texi: Ditto.
14247
14248Copyright (C) 2019 Free Software Foundation, Inc.
14249
14250Copying and distribution of this file, with or without modification,
14251are permitted in any medium without royalty provided the copyright
14252notice and this notice are preserved.
14253