[nvptx] Handle assignment to gang-level reduction variable
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2019-01-15  Tom de Vries  <tdevries@suse.de>
2
3         PR target/80547
4         * config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
5         lhs == NULL_TREE for gang-level reduction.
6
7 2019-01-15  Richard Biener  <rguenther@suse.de>
8             Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
9
10         PR ipa/88788
11         * ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
12         return true if SSA_NAME is already marked in visited bitmap.
13         (malloc_candidate_p): Pass visited to malloc_candidate_p_1.
14
15 2019-01-15  Jakub Jelinek  <jakub@redhat.com>
16
17         PR tree-optimization/88775
18         * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize
19         equal == 0 equality pointer comparisons some more if compared in
20         integral types and either one points to an automatic var and the
21         other to a global, or we can prove at least one points to the middle
22         or both point to start or both point to end.
23
24 2019-01-14  Andi Kleen  <ak@linux.intel.com>
25
26         * Makefile.in: Lower autofdo sampling rate by 10x.
27         * Makefile.tpl: Dito.
28
29 2019-01-14  Tom Honermann  <tom@honermann.net>
30
31         * defaults.h: Define CHAR8_TYPE.
32
33 2019-01-14  Martin Sebor  <msebor@redhat.com>
34
35         PR target/88638
36         * doc/extend.texi (Darwin Format Checks): Clarify.
37
38 2019-01-14  Richard Biener  <rguenther@suse.de>
39
40         * genmatch.c (dt_simplify::gen_1): Change dumping dependent on
41         whether we are in (simplify ...) or (match ...) context.
42
43 2019-01-14  Jakub Jelinek  <jakub@redhat.com>
44
45         PR rtl-optimization/88796
46         * emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field.
47         * cfgexpand.c (stack_protect_prologue): Initialize
48         crtl->stack_protect_guard_decl.
49         * function.c (stack_protect_epilogue): Use it instead of calling
50         targetm.stack_protect_guard again.
51         * dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from
52         MEMs with MEM_EXPR equal to crtl->stack_protect_guard or
53         crtl->stack_protect_guard_decl.
54         * config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE
55         on the returned MEM_EXPR.
56
57 2019-01-12  Tom de Vries  <tdevries@suse.de>
58
59         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
60         vector length using -fopenacc-dim.
61
62 2019-01-12  Tom de Vries  <tdevries@suse.de>
63
64         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
65         lengths into account.
66
67 2019-01-12  Svante Signell  <svante.signell@gmail.com>
68
69         * config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
70         (TARGET_CAN_SPLIT_STACK): Define.
71         (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
72
73 2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
74
75         * params.def (inline-unit-growth): Set to 40.
76
77 2019-01-12  Jakub Jelinek  <jakub@redhat.com>
78
79         * tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
80
81 2019-01-12  Tom de Vries  <tdevries@suse.de>
82
83         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
84         region calling vector-partitionable routine, set default_vector_length
85         to WARP_SIZE.
86
87 2019-01-12  Tom de Vries  <tdevries@suse.de>
88
89         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
90         variable default_vector_length.
91
92 2019-01-12  Tom de Vries  <tdevries@suse.de>
93
94         PR middle-end/88703
95         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
96         from oacc_default_dims, as oacc_validate_dims would do it, and apply
97         dimensions limits.
98
99 2019-01-12  Tom de Vries  <tdevries@suse.de>
100
101         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
102         (nvptx_goacc_validate_dims): Add used parameter.
103         * doc/tm.texi: Regenerate.
104         * omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
105         argument to call to targetm.goacc.validate_dims.
106         (default_goacc_validate_dims): Add used
107         parameter.
108         * target.def (validate_dims): Add used parameter in DEFHOOK.
109         * targhooks.h (default_goacc_validate_dims): Add used parameter.
110
111 2019-01-11  Jakub Jelinek  <jakub@redhat.com>
112
113         PR middle-end/85956
114         PR lto/88733
115         * tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds
116         field.
117         * tree-inline.c (remap_type_1): Formatting fix.  If TYPE_MAX_VALUE of
118         ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with
119         a dummy "omp dummy var" variable if id->adjust_array_error_bounds.
120         * omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds.
121
122 2019-01-11  Vladimir Makarov  <vmakarov@redhat.com>
123
124         PR rtl-optimization/87305
125         * lra-assigns.c
126         (setup_live_pseudos_and_spill_after_risky_transforms): Add code
127         for little endian pseudos used as paradoxical subreg.
128
129 2019-01-11  Jakub Jelinek  <jakub@redhat.com>
130
131         PR tree-optimization/88693
132         * tree-ssa-strlen.c (get_min_string_length): Don't set *full_string_p
133         for STRING_CSTs that don't contain any NUL characters in the first
134         TREE_STRING_LENGTH bytes.
135
136 2019-01-11  Alan Modra  <amodra@gmail.com>
137
138         PR 88777
139         PR 88614
140         * genattrtab.c (min_fn): Don't translate values.
141         (min_attr_value): Return INT_MAX when the value can't be calculated.
142         Return minimum among any values that can be calculated.
143         (max_attr_value): Adjust.
144
145 2019-01-11  Jakub Jelinek  <jakub@redhat.com>
146
147         * Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H).
148
149 2019-01-11  Steve Ellcey  <sellcey@marvell.com>
150
151         * config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
152         (aarch64_hard_regno_call_part_clobbered): Add insn argument.
153         (aarch64_return_call_with_max_clobbers): New function.
154         (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New macro.
155         * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Add insn
156         argument.
157         * config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Ditto.
158         * config/mips/mips.c (mips_hard_regno_call_part_clobbered): Ditto.
159         * config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered): Ditto.
160         * config/s390/s390.c (s390_hard_regno_call_part_clobbered): Ditto.
161         * cselib.c (cselib_process_insn): Add argument to
162         targetm.hard_regno_call_part_clobbered call.
163         * ira-conflicts.c (ira_build_conflicts): Ditto.
164         * ira-costs.c (ira_tune_allocno_costs): Ditto.
165         * lra-constraints.c (inherit_reload_reg): Ditto.
166         * lra-int.h (struct lra_reg): Add call_insn field, remove call_p field.
167         * lra-lives.c (check_pseudos_live_through_calls): Add call_insn
168         argument.  Call targetm.return_call_with_max_clobbers.
169         Add argument to targetm.hard_regno_call_part_clobbered call.
170         (calls_have_same_clobbers_p): New function.
171         (process_bb_lives): Add call_insn and last_call_insn variables.
172         Pass call_insn to check_pseudos_live_through_calls.
173         Modify if stmt to check targetm.return_call_with_max_clobbers.
174         Update setting of flush variable.
175         (lra_create_live_ranges_1): Set call_insn to NULL instead of call_p
176         to false.
177         * lra.c (initialize_lra_reg_info_element): Set call_insn to NULL.
178         * regcprop.c (copyprop_hardreg_forward_1): Add argument to
179         targetm.hard_regno_call_part_clobbered call.
180         * reginfo.c (choose_hard_reg_mode): Ditto.
181         * regrename.c (check_new_reg_p): Ditto.
182         * reload.c (find_equiv_reg): Ditto.
183         * reload1.c (emit_reload_insns): Ditto.
184         * sched-deps.c (deps_analyze_insn): Ditto.
185         * sel-sched.c (init_regs_for_mode): Ditto.
186         (mark_unavailable_hard_regs): Ditto.
187         * targhooks.c (default_dwarf_frame_reg_mode): Ditto.
188         * target.def (hard_regno_call_part_clobbered): Add insn argument.
189         (return_call_with_max_clobbers): New target function.
190         * doc/tm.texi: Regenerate.
191         * doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New hook.
192         * hooks.c (hook_bool_uint_mode_false): Change to
193         hook_bool_insn_uint_mode_false.
194         * hooks.h (hook_bool_uint_mode_false): Ditto.
195
196 2019-01-11  Steve Ellcey  <sellcey@marvell.com>
197
198         * config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
199         (aarch64_remove_extra_call_preserved_regs): New function.
200         (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro.
201         * doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook.
202         * doc/tm.texi: Regenerate.
203         * final.c (get_call_reg_set_usage): Call new hook.
204         * target.def (remove_extra_call_preserved_regs): New hook.
205         * targhooks.c (default_remove_extra_call_preserved_regs): New function.
206         * targhooks.h (default_remove_extra_call_preserved_regs): New function.
207
208 2019-01-11  Jakub Jelinek  <jakub@redhat.com>
209
210         PR bootstrap/88714
211         * passes.c (finish_optimization_passes): Call print_combine_total_stats
212         inside of pass_combine_1 dump rather than pass_profile_1.
213
214 2019-01-11  Tom de Vries  <tdevries@suse.de>
215
216         * config/nvptx/nvptx.c (PTX_CTA_NUM_BARRIERS, PTX_PER_CTA_BARRIER)
217         (PTX_NUM_PER_CTA_BARRIER, PTX_FIRST_PER_WORKER_BARRIER)
218         (PTX_NUM_PER_WORKER_BARRIERS): Define.
219         (nvptx_apply_dim_limits): Prevent vector_length 64 and
220         num_workers 16.
221
222 2019-01-11  Tom de Vries  <tdevries@suse.de>
223
224         * config/nvptx/nvptx.c (PTX_CTA_SIZE): Move up.
225
226 2019-01-11  Jan Beulich  <jbeulich@suse.com>
227
228         * config/i386/i386.md (rex64suffix): Add L suffix for SI.
229         * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>32<round_name>,
230         sse2_cvtsi2sd): Add {l}.
231         (sse2_cvtsi2sdq<round_name>): Make q conditional upon AT&T
232         syntax.
233
234 2019-01-10  Jakub Jelinek  <jakub@redhat.com>
235
236         PR target/88785
237         * config/i386/sse.md (float<floatunssuffix>v2div2sf2): Turn into
238         define_expand.
239         (*float<floatunssuffix>v2div2sf2): New define_insn.
240         (float<floatunssuffix>v2div2sf2_mask): Turn into define_expand.
241         (*float<floatunssuffix>v2div2sf2_mask): New define_insn.
242         (*float<floatunssuffix>v2div2sf2_mask_1): Replace
243         subrtxes (const_vector:V2SF [(const_int 0) (const_int 0)]) with
244         match_operands with "const0_operand" "C".
245
246 2019-01-10  Tamar Christina  <tamar.christina@arm.com>
247
248         * config/aarch64/aarch64-builtins.c
249         (aarch64_init_builtins): Move aarch64_init_fcmla_laneq_builtins...
250         (aarch64_init_simd_builtins): ...Here
251
252 2019-01-10  Vladimir Makarov  <vmakarov@redhat.com>
253
254         PR rtl-optimization/87305
255         * lra-assigns.c
256         (setup_live_pseudos_and_spill_after_risky_transforms): Check
257         allocation for big endian pseudos used as paradoxical subregs and
258         spill them if it is wrong.
259         * lra-constraints.c (lra_constraints): Add a comment.
260
261 2019-01-10  Richard Biener  <rguenther@suse.de>
262
263         PR tree-optimization/88792
264         * tree-ssa-pre.c (get_representative_for): Do not return a
265         value-number here.
266
267 2019-01-10  Jakub Jelinek  <jakub@redhat.com>
268
269         PR middle-end/84877
270         PR bootstrap/88450
271         * function.c (assign_stack_local_1): Revert the 2018-11-21 changes.
272         (assign_parm_setup_block): Do the argument slot realignment here
273         instead.
274
275 2019-01-10  Stefan Agner  <stefan@agner.ch>
276
277         PR target/88648
278         * config/arm/arm.c (arm_option_override_internal): Force
279         opts->x_inline_asm_unified to true only if TARGET_THUMB2_P.
280
281 2019-01-10  Jakub Jelinek  <jakub@redhat.com>
282
283         PR c/88568
284         * attribs.c (handle_dll_attribute): Clear TREE_STATIC after setting
285         DECL_EXTERNAL.
286
287 2019-01-10  Tamar Christina  <tamar.christina@arm.com>
288
289         * config/arm/arm-builtins.c
290         (enum arm_type_qualifiers): Add qualifier_lane_pair_index.
291         (MAC_LANE_PAIR_QUALIFIERS): New.
292         (arm_expand_builtin_args): Use it.
293         (arm_expand_builtin_1): Likewise.
294         * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): New.
295         * config/arm/arm.c (neon_vcmla_lane_prepare_operands): New.
296         * config/arm/arm-c.c (arm_cpu_builtins): Add __ARM_FEATURE_COMPLEX.
297         * config/arm/arm_neon.h:
298         (vcadd_rot90_f16): New.
299         (vcaddq_rot90_f16): New.
300         (vcadd_rot270_f16): New.
301         (vcaddq_rot270_f16): New.
302         (vcmla_f16): New.
303         (vcmlaq_f16): New.
304         (vcmla_lane_f16): New.
305         (vcmla_laneq_f16): New.
306         (vcmlaq_lane_f16): New.
307         (vcmlaq_laneq_f16): New.
308         (vcmla_rot90_f16): New.
309         (vcmlaq_rot90_f16): New.
310         (vcmla_rot90_lane_f16): New.
311         (vcmla_rot90_laneq_f16): New.
312         (vcmlaq_rot90_lane_f16): New.
313         (vcmlaq_rot90_laneq_f16): New.
314         (vcmla_rot180_f16): New.
315         (vcmlaq_rot180_f16): New.
316         (vcmla_rot180_lane_f16): New.
317         (vcmla_rot180_laneq_f16): New.
318         (vcmlaq_rot180_lane_f16): New.
319         (vcmlaq_rot180_laneq_f16): New.
320         (vcmla_rot270_f16): New.
321         (vcmlaq_rot270_f16): New.
322         (vcmla_rot270_lane_f16): New.
323         (vcmla_rot270_laneq_f16): New.
324         (vcmlaq_rot270_lane_f16): New.
325         (vcmlaq_rot270_laneq_f16): New.
326         (vcadd_rot90_f32): New.
327         (vcaddq_rot90_f32): New.
328         (vcadd_rot270_f32): New.
329         (vcaddq_rot270_f32): New.
330         (vcmla_f32): New.
331         (vcmlaq_f32): New.
332         (vcmla_lane_f32): New.
333         (vcmla_laneq_f32): New.
334         (vcmlaq_lane_f32): New.
335         (vcmlaq_laneq_f32): New.
336         (vcmla_rot90_f32): New.
337         (vcmlaq_rot90_f32): New.
338         (vcmla_rot90_lane_f32): New.
339         (vcmla_rot90_laneq_f32): New.
340         (vcmlaq_rot90_lane_f32): New.
341         (vcmlaq_rot90_laneq_f32): New.
342         (vcmla_rot180_f32): New.
343         (vcmlaq_rot180_f32): New.
344         (vcmla_rot180_lane_f32): New.
345         (vcmla_rot180_laneq_f32): New.
346         (vcmlaq_rot180_lane_f32): New.
347         (vcmlaq_rot180_laneq_f32): New.
348         (vcmla_rot270_f32): New.
349         (vcmlaq_rot270_f32): New.
350         (vcmla_rot270_lane_f32): New.
351         (vcmla_rot270_laneq_f32): New.
352         (vcmlaq_rot270_lane_f32): New.
353         (vcmlaq_rot270_laneq_f32): New.
354         * config/arm/arm_neon_builtins.def (vcadd90, vcadd270, vcmla0, vcmla90,
355         vcmla180, vcmla270, vcmla_lane0, vcmla_lane90, vcmla_lane180, vcmla_lane270,
356         vcmla_laneq0, vcmla_laneq90, vcmla_laneq180, vcmla_laneq270,
357         vcmlaq_lane0, vcmlaq_lane90, vcmlaq_lane180, vcmlaq_lane270): New.
358         * config/arm/neon.md (neon_vcmla_lane<rot><mode>,
359         neon_vcmla_laneq<rot><mode>, neon_vcmlaq_lane<rot><mode>): New.
360         * config/arm/arm.c (arm_arch8_3, arm_arch8_4): New.
361         * config/arm/arm.h (TARGET_COMPLEX, arm_arch8_3, arm_arch8_4): New.
362         (arm_option_reconfigure_globals): Use them.
363         * config/arm/iterators.md (VDF, VQ_HSF): New.
364         (VCADD, VCMLA): New.
365         (VF_constraint, rot, rotsplit1, rotsplit2): Add V4HF and V8HF.
366         * config/arm/neon.md (neon_vcadd<rot><mode>, neon_vcmla<rot><mode>): New.
367         * config/arm/unspecs.md (UNSPEC_VCADD90, UNSPEC_VCADD270,
368         UNSPEC_VCMLA, UNSPEC_VCMLA90, UNSPEC_VCMLA180, UNSPEC_VCMLA270): New.
369
370 2019-01-10  Tamar Christina  <tamar.christina@arm.com>
371
372         * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): Add qualifier_lane_pair_index.
373         (emit-rtl.h): Include.
374         (TYPES_QUADOP_LANE_PAIR): New.
375         (aarch64_simd_expand_args): Use it.
376         (aarch64_simd_expand_builtin): Likewise.
377         (AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_laneq_builtin_datum): New.
378         (FCMLA_LANEQ_BUILTIN, AARCH64_SIMD_FCMLA_LANEQ_BUILTIN_BASE,
379         AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_lane_builtin_data,
380         aarch64_init_fcmla_laneq_builtins, aarch64_expand_fcmla_builtin): New.
381         (aarch64_init_builtins): Add aarch64_init_fcmla_laneq_builtins.
382         (aarch64_expand_buildin): Add AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V2SF,
383         AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V2SF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V2SF,
384         AARCH64_SIMD_BUILTIN_FCMLA_LANEQ2700_V2SF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V4HF,
385         AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V4HF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V4HF,
386         AARCH64_SIMD_BUILTIN_FCMLA_LANEQ270_V4HF.
387         * config/aarch64/iterators.md (FCMLA_maybe_lane): New.
388         * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add __ARM_FEATURE_COMPLEX.
389         * config/aarch64/aarch64-simd-builtins.def (fcadd90, fcadd270, fcmla0, fcmla90,
390         fcmla180, fcmla270, fcmla_lane0, fcmla_lane90, fcmla_lane180, fcmla_lane270,
391         fcmla_laneq0, fcmla_laneq90, fcmla_laneq180, fcmla_laneq270,
392         fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180, fcmlaq_lane270): New.
393         * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
394         aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>,aarch64_fcadd<rot><mode>,
395         aarch64_fcmla<rot><mode>): New.
396         * config/aarch64/arm_neon.h:
397         (vcadd_rot90_f16): New.
398         (vcaddq_rot90_f16): New.
399         (vcadd_rot270_f16): New.
400         (vcaddq_rot270_f16): New.
401         (vcmla_f16): New.
402         (vcmlaq_f16): New.
403         (vcmla_lane_f16): New.
404         (vcmla_laneq_f16): New.
405         (vcmlaq_lane_f16): New.
406         (vcmlaq_rot90_lane_f16): New.
407         (vcmla_rot90_laneq_f16): New.
408         (vcmla_rot90_lane_f16): New.
409         (vcmlaq_rot90_f16): New.
410         (vcmla_rot90_f16): New.
411         (vcmlaq_laneq_f16): New.
412         (vcmla_rot180_laneq_f16): New.
413         (vcmla_rot180_lane_f16): New.
414         (vcmlaq_rot180_f16): New.
415         (vcmla_rot180_f16): New.
416         (vcmlaq_rot90_laneq_f16): New.
417         (vcmlaq_rot270_laneq_f16): New.
418         (vcmlaq_rot270_lane_f16): New.
419         (vcmla_rot270_laneq_f16): New.
420         (vcmlaq_rot270_f16): New.
421         (vcmla_rot270_f16): New.
422         (vcmlaq_rot180_laneq_f16): New.
423         (vcmlaq_rot180_lane_f16): New.
424         (vcmla_rot270_lane_f16): New.
425         (vcadd_rot90_f32): New.
426         (vcaddq_rot90_f32): New.
427         (vcaddq_rot90_f64): New.
428         (vcadd_rot270_f32): New.
429         (vcaddq_rot270_f32): New.
430         (vcaddq_rot270_f64): New.
431         (vcmla_f32): New.
432         (vcmlaq_f32): New.
433         (vcmlaq_f64): New.
434         (vcmla_lane_f32): New.
435         (vcmla_laneq_f32): New.
436         (vcmlaq_lane_f32): New.
437         (vcmlaq_laneq_f32): New.
438         (vcmla_rot90_f32): New.
439         (vcmlaq_rot90_f32): New.
440         (vcmlaq_rot90_f64): New.
441         (vcmla_rot90_lane_f32): New.
442         (vcmla_rot90_laneq_f32): New.
443         (vcmlaq_rot90_lane_f32): New.
444         (vcmlaq_rot90_laneq_f32): New.
445         (vcmla_rot180_f32): New.
446         (vcmlaq_rot180_f32): New.
447         (vcmlaq_rot180_f64): New.
448         (vcmla_rot180_lane_f32): New.
449         (vcmla_rot180_laneq_f32): New.
450         (vcmlaq_rot180_lane_f32): New.
451         (vcmlaq_rot180_laneq_f32): New.
452         (vcmla_rot270_f32): New.
453         (vcmlaq_rot270_f32): New.
454         (vcmlaq_rot270_f64): New.
455         (vcmla_rot270_lane_f32): New.
456         (vcmla_rot270_laneq_f32): New.
457         (vcmlaq_rot270_lane_f32): New.
458         (vcmlaq_rot270_laneq_f32): New.
459         * config/aarch64/aarch64.h (TARGET_COMPLEX): New.
460         * config/aarch64/iterators.md (UNSPEC_FCADD90, UNSPEC_FCADD270,
461         UNSPEC_FCMLA, UNSPEC_FCMLA90, UNSPEC_FCMLA180, UNSPEC_FCMLA270): New.
462         (FCADD, FCMLA): New.
463         (rot): New.
464         * config/arm/types.md (neon_fcadd, neon_fcmla): New.
465
466 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
467
468         PR other/16615
469
470         * config/pa/pa.c: Change "can not" to "cannot".
471         * gimple-ssa-evrp-analyze.c: Likewise.
472         * ipa-icf.c: Likewise.
473         * ipa-polymorphic-call.c: Likewise.
474         * ipa-pure-const.c: Likewise.
475         * lra-constraints.c: Likewise.
476         * lra-remat.c: Likewise.
477         * reload1.c: Likewise.
478         * reorg.c: Likewise.
479         * tree-ssa-uninit.c: Likewise.
480
481 2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>
482
483         PR other/16615
484
485         * Makefile.in: Mechanically replace "can not" with "cannot".
486         * alias.c: Likewise.
487         * builtins.c: Likewise.
488         * calls.c: Likewise.
489         * cgraph.c: Likewise.
490         * cgraph.h: Likewise.
491         * cgraphclones.c: Likewise.
492         * cgraphunit.c: Likewise.
493         * combine-stack-adj.c: Likewise.
494         * combine.c: Likewise.
495         * common/config/i386/i386-common.c: Likewise.
496         * config/aarch64/aarch64.c: Likewise.
497         * config/alpha/sync.md: Likewise.
498         * config/arc/arc.c: Likewise.
499         * config/arc/predicates.md: Likewise.
500         * config/arm/arm-c.c: Likewise.
501         * config/arm/arm.c: Likewise.
502         * config/arm/arm.h: Likewise.
503         * config/arm/arm.md: Likewise.
504         * config/arm/cortex-r4f.md: Likewise.
505         * config/csky/csky.c: Likewise.
506         * config/csky/csky.h: Likewise.
507         * config/darwin-f.c: Likewise.
508         * config/epiphany/epiphany.md: Likewise.
509         * config/i386/i386.c: Likewise.
510         * config/i386/sol2.h: Likewise.
511         * config/m68k/m68k.c: Likewise.
512         * config/mcore/mcore.h: Likewise.
513         * config/microblaze/microblaze.md: Likewise.
514         * config/mips/20kc.md: Likewise.
515         * config/mips/sb1.md: Likewise.
516         * config/nds32/nds32.c: Likewise.
517         * config/nds32/predicates.md: Likewise.
518         * config/pa/pa.c: Likewise.
519         * config/rs6000/e300c2c3.md: Likewise.
520         * config/rs6000/rs6000.c: Likewise.
521         * config/s390/s390.h: Likewise.
522         * config/sh/sh.c: Likewise.
523         * config/sh/sh.md: Likewise.
524         * config/spu/vmx2spu.h: Likewise.
525         * cprop.c: Likewise.
526         * dbxout.c: Likewise.
527         * df-scan.c: Likewise.
528         * doc/cfg.texi: Likewise.
529         * doc/extend.texi: Likewise.
530         * doc/fragments.texi: Likewise.
531         * doc/gty.texi: Likewise.
532         * doc/invoke.texi: Likewise.
533         * doc/lto.texi: Likewise.
534         * doc/md.texi: Likewise.
535         * doc/objc.texi: Likewise.
536         * doc/rtl.texi: Likewise.
537         * doc/tm.texi: Likewise.
538         * dse.c: Likewise.
539         * emit-rtl.c: Likewise.
540         * emit-rtl.h: Likewise.
541         * except.c: Likewise.
542         * expmed.c: Likewise.
543         * expr.c: Likewise.
544         * fold-const.c: Likewise.
545         * genautomata.c: Likewise.
546         * gimple-fold.c: Likewise.
547         * hard-reg-set.h: Likewise.
548         * ifcvt.c: Likewise.
549         * ipa-comdats.c: Likewise.
550         * ipa-cp.c: Likewise.
551         * ipa-devirt.c: Likewise.
552         * ipa-fnsummary.c: Likewise.
553         * ipa-icf.c: Likewise.
554         * ipa-inline-transform.c: Likewise.
555         * ipa-inline.c: Likewise.
556         * ipa-polymorphic-call.c: Likewise.
557         * ipa-profile.c: Likewise.
558         * ipa-prop.c: Likewise.
559         * ipa-pure-const.c: Likewise.
560         * ipa-reference.c: Likewise.
561         * ipa-split.c: Likewise.
562         * ipa-visibility.c: Likewise.
563         * ipa.c: Likewise.
564         * ira-build.c: Likewise.
565         * ira-color.c: Likewise.
566         * ira-conflicts.c: Likewise.
567         * ira-costs.c: Likewise.
568         * ira-int.h: Likewise.
569         * ira-lives.c: Likewise.
570         * ira.c: Likewise.
571         * ira.h: Likewise.
572         * loop-invariant.c: Likewise.
573         * loop-unroll.c: Likewise.
574         * lower-subreg.c: Likewise.
575         * lra-assigns.c: Likewise.
576         * lra-constraints.c: Likewise.
577         * lra-eliminations.c: Likewise.
578         * lra-lives.c: Likewise.
579         * lra-remat.c: Likewise.
580         * lra-spills.c: Likewise.
581         * lra.c: Likewise.
582         * lto-cgraph.c: Likewise.
583         * lto-streamer-out.c: Likewise.
584         * postreload-gcse.c: Likewise.
585         * predict.c: Likewise.
586         * profile-count.h: Likewise.
587         * profile.c: Likewise.
588         * recog.c: Likewise.
589         * ree.c: Likewise.
590         * reload.c: Likewise.
591         * reload1.c: Likewise.
592         * reorg.c: Likewise.
593         * resource.c: Likewise.
594         * rtl.def: Likewise.
595         * rtl.h: Likewise.
596         * rtlanal.c: Likewise.
597         * sched-deps.c: Likewise.
598         * sched-ebb.c: Likewise.
599         * sched-rgn.c: Likewise.
600         * sel-sched-ir.c: Likewise.
601         * sel-sched.c: Likewise.
602         * shrink-wrap.c: Likewise.
603         * simplify-rtx.c: Likewise.
604         * symtab.c: Likewise.
605         * target.def: Likewise.
606         * toplev.c: Likewise.
607         * tree-call-cdce.c: Likewise.
608         * tree-cfg.c: Likewise.
609         * tree-complex.c: Likewise.
610         * tree-core.h: Likewise.
611         * tree-eh.c: Likewise.
612         * tree-inline.c: Likewise.
613         * tree-loop-distribution.c: Likewise.
614         * tree-nrv.c: Likewise.
615         * tree-profile.c: Likewise.
616         * tree-sra.c: Likewise.
617         * tree-ssa-alias.c: Likewise.
618         * tree-ssa-dce.c: Likewise.
619         * tree-ssa-dom.c: Likewise.
620         * tree-ssa-forwprop.c: Likewise.
621         * tree-ssa-loop-im.c: Likewise.
622         * tree-ssa-loop-ivcanon.c: Likewise.
623         * tree-ssa-loop-ivopts.c: Likewise.
624         * tree-ssa-loop-niter.c: Likewise.
625         * tree-ssa-phionlycprop.c: Likewise.
626         * tree-ssa-phiopt.c: Likewise.
627         * tree-ssa-propagate.c: Likewise.
628         * tree-ssa-threadedge.c: Likewise.
629         * tree-ssa-threadupdate.c: Likewise.
630         * tree-ssa-uninit.c: Likewise.
631         * tree-ssanames.c: Likewise.
632         * tree-streamer-out.c: Likewise.
633         * tree.c: Likewise.
634         * tree.h: Likewise.
635         * vr-values.c: Likewise.
636
637 2019-01-09  UroÅ¡ Bizjak  <ubizjak@gmail.com>
638
639         * config/i386/i386-protos.h (ix86_expand_xorsign): New prototype.
640         (ix86_split_xorsign): Ditto.
641         * config/i386/i386.c (ix86_expand_xorsign): New function.
642         (ix86_split_xorsign): Ditto.
643         * config/i386/i386.md (UNSPEC_XORSIGN): New unspec.
644         (xorsign<mode>3): New expander.
645         (xorsign<mode>3_1): New insn_and_split pattern.
646         * config/i386/sse.md (xorsign<mode>3): New expander.
647
648 2019-01-09  Eric Botcazou  <ebotcazou@adacore.com>
649
650         * config/sparc/sparc.md (*tablejump_sp32): Merge into...
651         (*tablejump_sp64): Likewise.
652         (*tablejump<P:mode>): ...this.
653         (*call_address_sp32): Merge into...
654         (*call_address_sp64): Likewise.
655         (*call_address<P:mode>): ...this.
656         (*call_symbolic_sp32): Merge into...
657         (*call_symbolic_sp64): Likewise.
658         (*call_symbolic<P:mode>): ...this.
659         (call_value): Remove constraint and add predicate.
660         (*call_value_address_sp32): Merge into...
661         (*call_value_address_sp64): Likewise.
662         (*call_value_address<P:mode>): ...this.
663         (*call_value_symbolic_sp32): Merge into...
664         (*call_value_symbolic_sp64): Likewise.
665         (*call_value_symbolic<P:mode>): ...this.
666         (*sibcall_symbolic_sp32): Merge into...
667         (*sibcall_symbolic_sp64): Likewise.
668         (*sibcall_symbolic<P:mode>): ...this.
669         (sibcall_value): Remove constraint and add predicate.
670         (*sibcall_value_symbolic_sp32): Merge into...
671         (*sibcall_value_symbolic_sp64): Likewise.
672         (*sibcall_value_symbolic<P:mode>): ...this.
673         (window_save): Minor tweak.
674         (*branch_sp32): Merge into...
675         (*branch_sp64): Likewise.
676         (*branch<P:mode>): ...this.
677
678 2019-01-09  Eric Botcazou  <ebotcazou@adacore.com>
679             James Clarke  <jrtc27@jrtc27.com>
680
681         PR target/84010
682         * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode
683         consistently in TLS address generation and adjust code to the renaming
684         of patterns.  Mark calls to __tls_get_addr as const.
685         * config/sparc/sparc.md (tgd_hi22): Turn into...
686         (tgd_hi22<P:mode>): ...this and use Pmode throughout.
687         (tgd_lo10): Turn into...
688         (tgd_lo10<P:mode>): ...this and use Pmode throughout.
689         (tgd_add32): Merge into...
690         (tgd_add64): Likewise.
691         (tgd_add<P:mode>): ...this and use Pmode throughout.
692         (tldm_hi22): Turn into...
693         (tldm_hi22<P:mode>): ...this and use Pmode throughout.
694         (tldm_lo10): Turn into...
695         (tldm_lo10<P:mode>): ...this and use Pmode throughout.
696         (tldm_add32): Merge into...
697         (tldm_add64): Likewise.
698         (tldm_add<P:mode>): ...this and use Pmode throughout.
699         (tldm_call32): Merge into...
700         (tldm_call64): Likewise.
701         (tldm_call<P:mode>): ...this and use Pmode throughout.
702         (tldo_hix22): Turn into...
703         (tldo_hix22<P:mode>): ...this and use Pmode throughout.
704         (tldo_lox10): Turn into...
705         (tldo_lox10<P:mode>): ...this and use Pmode throughout.
706         (tldo_add32): Merge into...
707         (tldo_add64): Likewise.
708         (tldo_add<P:mode>): ...this and use Pmode throughout.
709         (tie_hi22): Turn into...
710         (tie_hi22<P:mode>): ...this and use Pmode throughout.
711         (tie_lo10): Turn into...
712         (tie_lo10<P:mode>): ...this and use Pmode throughout.
713         (tie_ld64): Use DImode throughout.
714         (tie_add32): Merge into...
715         (tie_add64): Likewise.
716         (tie_add<P:mode>): ...this and use Pmode throughout.
717         (tle_hix22_sp32): Merge into...
718         (tle_hix22_sp64): Likewise.
719         (tle_hix22<P:mode>): ...this and use Pmode throughout.
720         (tle_lox22_sp32): Merge into...
721         (tle_lox22_sp64): Likewise.
722         (tle_lox22<P:mode>): ...this and use Pmode throughout.
723         (*tldo_ldub_sp32): Merge into...
724         (*tldo_ldub_sp64): Likewise.
725         (*tldo_ldub<P:mode>): ...this and use Pmode throughout.
726         (*tldo_ldub1_sp32): Merge into...
727         (*tldo_ldub1_sp64): Likewise.
728         (*tldo_ldub1<P:mode>): ...this and use Pmode throughout.
729         (*tldo_ldub2_sp32): Merge into...
730         (*tldo_ldub2_sp64): Likewise.
731         (*tldo_ldub2<P:mode>): ...this and use Pmode throughout.
732         (*tldo_ldsb1_sp32): Merge into...
733         (*tldo_ldsb1_sp64): Likewise.
734         (*tldo_ldsb1<P:mode>): ...this and use Pmode throughout.
735         (*tldo_ldsb2_sp32): Merge into...
736         (*tldo_ldsb2_sp64): Likewise.
737         (*tldo_ldsb2<P:mode>): ...this and use Pmode throughout.
738         (*tldo_ldub3_sp64): Use DImode throughout.
739         (*tldo_ldsb3_sp64): Likewise.
740         (*tldo_lduh_sp32): Merge into...
741         (*tldo_lduh_sp64): Likewise.
742         (*tldo_lduh<P:mode>): ...this and use Pmode throughout.
743         (*tldo_lduh1_sp32): Merge into...
744         (*tldo_lduh1_sp64): Likewise.
745         (*tldo_lduh1<P:mode>): ...this and use Pmode throughout.
746         (*tldo_ldsh1_sp32): Merge into...
747         (*tldo_ldsh1_sp64): Likewise.
748         (*tldo_ldsh1<P:mode>): ...this and use Pmode throughout.
749         (*tldo_lduh2_sp64): Use DImode throughout.
750         (*tldo_ldsh2_sp64): Likewise.
751         (*tldo_lduw_sp32): Merge into...
752         (*tldo_lduw_sp64): Likewise.
753         (*tldo_lduw<P:mode>): ...this and use Pmode throughout.
754         (*tldo_lduw1_sp64): Use DImode throughout.
755         (*tldo_ldsw1_sp64): Likewise.
756         (*tldo_ldx_sp64): Likewise.
757         (*tldo_stb_sp32): Merge into...
758         (*tldo_stb_sp64): Likewise.
759         (*tldo_stb<P:mode>): ...this and use Pmode throughout.
760         (*tldo_sth_sp32): Merge into...
761         (*tldo_sth_sp64): Likewise.
762         (*tldo_sth<P:mode>): ...this and use Pmode throughout.
763         (*tldo_stw_sp32): Merge into...
764         (*tldo_stw_sp64): Likewise.
765         (*tldo_stw<P:mode>): ...this and use Pmode throughout.
766         (*tldo_stx_sp64): Use DImode throughout.
767
768 2018-01-09  Sudakshina Das  <sudi.das@arm.com>
769
770         * config/aarch64/aarch64.c (aarch64_override_options): Add case to
771         check configure option to set BTI and Return Address Signing.
772         * configure.ac: Add --enable-standard-branch-protection and
773         --disable-standard-branch-protection.
774         * configure: Regenerated.
775         * doc/install.texi: Document the same.
776
777 2018-01-09  Sudakshina Das  <sudi.das@arm.com>
778             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
779
780         * config.gcc (aarch64*-*-*): Add aarch64-bti-insert.o.
781         * config/aarch64/aarch64.h: Update comment for TRAMPOLINE_SIZE.
782         * config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Update
783         if bti is enabled.
784         * config/aarch64/aarch64-bti-insert.c: New file.
785         * config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Insert bti
786         pass.
787         * config/aarch64/aarch64-protos.h (make_pass_insert_bti): Declare the
788         new bti pass.
789         * config/aarch64/aarch64.md (unspecv): Add UNSPECV_BTI_NOARG,
790         UNSPECV_BTI_C, UNSPECV_BTI_J and UNSPECV_BTI_JC.
791         (bti_noarg, bti_j, bti_c, bti_jc): New define_insns.
792         * config/aarch64/t-aarch64: Add rule for aarch64-bti-insert.o.
793
794 2018-01-09  Sudakshina Das  <sudi.das@arm.com>
795
796         * config/aarch64/aarch64-protos.h (aarch64_bti_enabled): Declare.
797         * config/aarch64/aarch64.c (aarch64_handle_no_branch_protection):
798         Disable bti for -mbranch-protection=none.
799         (aarch64_handle_standard_branch_protection): Enable bti for
800         -mbranch-protection=standard.
801         (aarch64_handle_bti_protection): Enable bti for "bti" in the string to
802         -mbranch-protection.
803         (aarch64_bti_enabled): Check if bti is enabled.
804         * config/aarch64/aarch64.opt: Declare target variable.
805         * doc/invoke.texi: Add bti to the -mbranch-protection documentation.
806
807 2018-01-09  Sudakshina Das  <sudi.das@arm.com>
808
809         * config/aarch64/aarch64.c (aarch64_expand_prologue): Use new
810         epilogue/prologue scratch registers EP0_REGNUM and EP1_REGNUM.
811         (aarch64_expand_epilogue): Likewise.
812         (aarch64_output_mi_thunk): Likewise
813         * config/aarch64/aarch64.h (REG_CLASS_CONTENTS): Change
814         TAILCALL_ADDR_REGS to x16 and x17.
815         * config/aarch64/aarch64.md: Define EP0_REGNUM and EP1_REGNUM.
816
817 2018-01-09  Sudakshina Das  <sudi.das@arm.com>
818
819         * config/aarch64/aarch64-option-extensions.def: Define
820         AARCH64_OPT_EXTENSION for memtag, rng, sb, ssbs and predres.
821         * gcc/config/aarch64/aarch64.h (AARCH64_FL_RNG): New.
822         (AARCH64_FL_MEMTAG, ARCH64_FL_SB, AARCH64_FL_SSBS): New.
823         (AARCH64_FL_PREDRES): New.
824         (AARCH64_FL_FOR_ARCH8_5): Add AARCH64_FL_SB, AARCH64_FL_SSBS and
825         AARCH64_FL_PREDRES by default.
826         * gcc/doc/invoke.texi: Document rng, memtag, sb, ssbs and predres.
827
828 2018-01-09  Sudakshina Das  <sudi.das@arm.com>
829
830         * config/aarch64/aarch64-arches.def: Define AARCH64_ARCH for
831         ARMv8.5-A.
832         * gcc/config/aarch64/aarch64.h (AARCH64_FL_V8_5): New.
833         (AARCH64_FL_FOR_ARCH8_5, AARCH64_ISA_V8_5): New.
834         * gcc/doc/invoke.texi: Document ARMv8.5-A.
835
836 2019-01-09  Alejandro Martinez  <alejandro.martinezvicente@arm.com>
837
838         * config/aarch64/aarch64-sve.md (copysign<mode>3): New define_expand.
839         (xorsign<mode>3): Likewise.
840
841 2019-01-09  Jelinek  <jakub@redhat.com>
842
843         PR middle-end/88758
844         * tree.c (initializer_each_zero_or_onep) <case VECTOR_CST>: Use
845         vector_cst_elt instead of VECTOR_CST_ENCODED_ELT.
846
847         PR rtl-optimization/88331
848         * function.c (assign_stack_local_1): Don't set dynamic_align_addr if
849         not currently_expanding_to_rtl.
850
851 2019-01-09  Eric Botcazou  <ebotcazou@adacore.com>
852
853         * doc/invoke.texi (-Os): Remove trailing spaces.
854         (-finline-functions): Remove reference to -O2.
855
856 2019-01-08  Jakub Jelinek  <jakub@redhat.com>
857
858         PR rtl-optimization/79593
859         * config/i386/i386.md (reg = mem; mem = reg): New define_peephole2.
860
861         * config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
862         UNSPEC_FUSION_GPR to its argument.  Formatting fixes.
863
864 2019-01-08  Eric Botcazou  <ebotcazou@adacore.com>
865
866         PR bootstrap/88721
867         * config/sparc/sparc.c (function_arg_slotno): Set *PPREGNO & *PPADDING
868         to -1 on entry.
869
870         PR debug/88723
871         * config/sparc/sparc.c (sparc_delegitimize_address): Deal with naked
872         UNSPECs and UNSPEC_MOVE_GOTDATA specifically.
873
874 2019-01-08  H.J. Lu  <hongjiu.lu@intel.com>
875
876         PR target/88717
877         * config/i386/i386.c (ix86_avx_u128_mode_exit): Call
878         ix86_avx_u128_mode_entry.
879
880 2019-01-08  Martin Liska  <mliska@suse.cz>
881
882         PR tree-optimization/88753
883         * tree-switch-conversion.c (switch_conversion::build_one_array):
884         Come up with local variable constructor.  Convert first to
885         type of constructor values.
886
887 2019-01-08  Richard Biener  <rguenther@suse.de>
888
889         PR tree-optimization/86554
890         * tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim,
891         rpo_avail): Move earlier.
892         (visit_nary_op): When value-numbering to expressions
893         with different overflow behavior make sure there's an
894         available expression on the path.
895
896 2019-01-08  Sam Tebbs  <sam.tebbs@arm.com>
897
898         * config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX,
899         aarch64_parse_branch_protection,
900         struct aarch64_branch_protect_type,
901         aarch64_handle_no_branch_protection,
902         aarch64_handle_standard_branch_protection,
903         aarch64_validate_mbranch_protection,
904         aarch64_handle_pac_ret_protection,
905         aarch64_handle_attr_branch_protection,
906         accepted_branch_protection_string,
907         aarch64_pac_ret_subtypes,
908         aarch64_branch_protect_types,
909         aarch64_handle_pac_ret_leaf): Define.
910         (aarch64_override_options_after_change_1, aarch64_override_options):
911         Add check for accepted_branch_protection_string.
912         (aarch64_option_save): Save accepted_branch_protection_string.
913         (aarch64_option_restore): Save accepted_branch_protection_string.
914         * config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection.
915         * config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate
916         msign-return-address.
917         * doc/invoke.texi: Add mbranch-protection.
918
919 2019-01-08  Alan Modra  <amodra@gmail.com>
920
921         PR target/88614
922         * genattrtab.c (max_attr_value, min_attr_value, or_attr_value):
923         Delete "unknownp" parameter.  Adjust callers.  Handle
924         CONST_INT, PLUS, MINUS, and MULT.
925         (attr_value_aligned): Renamed from or_attr_value.
926         (min_attr_value): Return INT_MIN for unhandled rtl case..
927         (min_fn): ..and translate to INT_MAX here.
928         (write_length_unit_log): Modify to cope without "unknown".
929         (write_attr_value): Handle IF_THEN_ELSE.
930
931 2019-01-07  Richard Sandiford  <richard.sandiford@arm.com>
932
933         * tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
934         optimization for masked stores.
935
936 2019-01-07  Richard Sandiford  <richard.sandiford@arm.com>
937
938         PR middle-end/88567
939         * tree-vect-loop.c (get_initial_defs_for_reduction): Pass the
940         output vector directly to duplicate_and_interleave instead of
941         going through a temporary.  Postpone insertion of ctor_seq to
942         the end of the loop.
943
944 2019-01-07  Richard Earnshaw  <rearnsha@arm.com>
945
946         PR target/86891
947         * config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter
948         unsigned_p.  Handle signed and unsigned overflow correction as
949         required.
950         * config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update
951         prototype.
952         * config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand
953         for operand 2.
954         (add<mode>3_compareV_imm): Make this callable for expanding.
955         (subv<GPI:mode>4): Use register_operand for operand 1.  Use
956         aarch64_plus_operand for operand 2.
957         (subv<GPI:mode>_insn): New insn pattern.
958         (subv<GPI:mode>_imm): Likewise.
959         (negv<GPI:mode>3): New expand pattern.
960         (negv<GPI:mode>_insn): New insn pattern.
961         (negv<GPI:mode>_cmp_only): Likewise.
962         (cmpv<GPI:mode>_insn): Likewise.
963         (subvti4): Use register_operand for operand 1.  Update call to
964         aarch64_expand_subvti.
965         (usubvti4): Likewise.
966         (negvti3): New expand pattern.
967         (negdi_carryout): New insn pattern.
968         (negvdi_carryinV): New insn pattern.
969         (sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous
970         version the named version.
971         (peepholes to convert to sub<mode3>_compare1_imm): Adjust order of
972         operands.
973         (usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn
974         patterns.
975         (usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn
976         patterns.
977         (sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete.
978         (sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete.
979         (sub<mode>3_carryinCV): Delete.
980         (sub<GPI:mode>3_carryinV): New expand pattern.
981         sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns.
982
983 2019-01-07  Richard Biener  <rguenther@suse.de>
984
985         * tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor
986         of tree_operand_hash.
987
988 2019-01-07  Richard Sandiford  <richard.sandiford@arm.com>
989
990         PR tree-optimization/88598
991         * tree.h (single_nonzero_element): Declare.
992         * tree.c (single_nonzero_element): New function.
993         * match.pd: Fold certain reductions of X & CST to X[I] & CST[I]
994         if I is the only nonzero element of CST.
995
996 2019-01-07  Richard Sandiford  <richard.sandiford@arm.com>
997
998         PR tree-optimization/88598
999         * tree.h (initializer_each_zero_or_onep): Declare.
1000         * tree.c (initializer_each_zero_or_onep): New function.
1001         (signed_or_unsigned_type_for): Handle float types too.
1002         (unsigned_type_for, signed_type_for): Update comments accordingly.
1003         * match.pd: Fold x * { 0 or 1, 0 or 1, ...} to
1004         x & { 0 or -1, 0 or -1, ... }.
1005
1006 2019-01-07  Jonathan Wakely  <jwakely@redhat.com>
1007
1008         * doc/install.texi: Replace references to x86_64-unknown-linux-gnu
1009         with x86_64-pc-linux-gnu.
1010
1011 2019-01-07  Tom de Vries  <tdevries@suse.de>
1012
1013         PR target/85486
1014         * config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
1015         function.
1016         (nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
1017         routines.
1018
1019 2019-01-07  Jakub Jelinek  <jakub@redhat.com>
1020
1021         * config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
1022         V_256_512 iterator instead of V_512 and TARGET_AVX instead of
1023         TARGET_AVX512F as condition.
1024
1025         PR debug/88723
1026         * dwarf2out.c (const_ok_for_output_1): Remove redundant call to
1027         const_not_ok_for_debug_p target hook.
1028         (mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1
1029         on UNSPEC and subexpressions thereof if all subexpressions of the
1030         UNSPEC are CONSTANT_P.
1031
1032         PR tree-optimization/88676
1033         * tree-ssa-phiopt.c (two_value_replacement): New function.
1034         (tree_ssa_phiopt_worker): Call it.
1035
1036         PR sanitizer/88619
1037         * cfgexpand.c (expand_stack_vars): Only align prev_offset to
1038         ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
1039
1040         PR c++/85052
1041         * tree-vect-generic.c: Include insn-config.h and recog.h.
1042         (expand_vector_piecewise): Add defaulted ret_type argument,
1043         if non-NULL, use that in preference to type for the result type.
1044         (expand_vector_parallel): Formatting fix.
1045         (do_vec_conversion, do_vec_narrowing_conversion,
1046         expand_vector_conversion): New functions.
1047         (expand_vector_operations_1): Call expand_vector_conversion
1048         for VEC_CONVERT ifn calls.
1049         * internal-fn.def (VEC_CONVERT): New internal function.
1050         * internal-fn.c (expand_VEC_CONVERT): New function.
1051         * fold-const-call.c (fold_const_vec_convert): New function.
1052         (fold_const_call): Use it for CFN_VEC_CONVERT.
1053         * doc/extend.texi (__builtin_convertvector): Document.
1054
1055 2019-01-07  Tom de Vries  <tdevries@suse.de>
1056
1057         * config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
1058         * config/nvptx/nvptx.c (vector_red_size, vector_red_align,
1059         vector_red_partition, vector_red_sym): New global variables.
1060         (nvptx_option_override): Initialize vector_red_sym.
1061         (nvptx_declare_function_name): Restore red_partition register.
1062         (nvptx_file_end): Emit code to declare the vector reduction variables.
1063         (nvptx_output_red_partition): New function.
1064         (nvptx_expand_shared_addr): Add vector argument. Use it to handle
1065         large vector reductions.
1066         (enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
1067         (nvptx_init_builtins): Add VECTOR_ADDR.
1068         (nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
1069         Handle nvptx_expand_shared_addr.
1070         (nvptx_get_shared_red_addr): Add vector argument and handle large
1071         vectors.
1072         (nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
1073         large vectors.
1074         (nvptx_goacc_reduction_init): Likewise.
1075         (nvptx_goacc_reduction_fini): Likewise.
1076         (nvptx_goacc_reduction_teardown): Likewise.
1077         (nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
1078         init,fini,teardown}.
1079         (nvptx_init_axis_predicate): Initialize vector_red_partition.
1080         (nvptx_set_current_function): Init vector_red_partition.
1081         * config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
1082         (nvptx_red_partition): New insn.
1083         * config/nvptx/nvptx.h (struct machine_function): Add red_partition.
1084
1085 2019-01-07  Tom de Vries  <tdevries@suse.de>
1086
1087         PR target/85381
1088         * config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
1089         empty loops.
1090
1091 2019-01-07  Tom de Vries  <tdevries@suse.de>
1092
1093         * config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
1094         (nvptx_option_override): Init oacc_bcast_partition.
1095         (nvptx_init_oacc_workers): New function.
1096         (nvptx_declare_function_name): Call nvptx_init_oacc_workers.
1097         (nvptx_needs_shared_bcast): New function.
1098         (nvptx_find_par): Generalize to enable vectors to use shared-memory
1099         to propagate state.
1100         (nvptx_shared_propagate): Initialize vector bcast partition and
1101         synchronization state.
1102         (nvptx_single):  Generalize to enable vectors to use shared-memory
1103         to propagate state.
1104         (nvptx_process_pars): Likewise.
1105         (nvptx_set_current_function): Initialize oacc_broadcast_partition.
1106         * config/nvptx/nvptx.h (struct machine_function): Add
1107         bcast_partition and sync_bar members.
1108
1109 2019-01-07  Tom de Vries  <tdevries@suse.de>
1110
1111         * config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
1112         (nvptx_apply_dim_limits): New function.
1113         (nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
1114         PTX_WARP_SIZE.
1115
1116 2019-01-07  Tom de Vries  <tdevries@suse.de>
1117
1118         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
1119         as late as possible.
1120
1121 2019-01-07  Tom de Vries  <tdevries@suse.de>
1122
1123         * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
1124         (PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
1125         (nvptx_goacc_validate_dims_1, nvptx_dim_limit)
1126         (nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
1127         PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
1128
1129 2019-01-07  Tom de Vries  <tdevries@suse.de>
1130
1131         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
1132
1133 2019-01-07  Tom de Vries  <tdevries@suse.de>
1134
1135         * omp-offload.c (oacc_get_min_dim): New function.
1136         * omp-offload.h (oacc_get_min_dim): Declare.
1137
1138 2018-12-26  Mateusz B  <mateuszb@poczta.onet.pl>
1139
1140         PR target/88521
1141         * config/i386/i386.c (function_value_ms_64): Return small sturct in
1142         AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
1143
1144 2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
1145
1146         PR tree-opt/86020
1147         Revert:
1148         2017-05-22  Jan Hubicka  <hubicka@ucw.cz>
1149         
1150         * ipa-inline.c (edge_badness): Use inlined_time instead of
1151         inline_summaries->get.
1152
1153 2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
1154
1155         * opts.c (enable_fdo_optimizations): Enable
1156         version-loops-for-strides, loop-interchange, unrol-and-jam
1157         and tree-loop-distribution.
1158         * invoke.texi: Document newly enabled options.
1159
1160 2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
1161
1162         * doc/invoke.texi (max-inline-insns-small): New parameters.
1163         * ipa-inline.c (want_early_inline_function_p): simplify.
1164         (want_inline_small_function_p): Fix pasto from previous patch;
1165         use max-inline-insns-small bound.
1166         * params.def (max-inline-insns-small): New param.
1167         * ipa-fnsummary.c (analyze_function_body): Initialize time/size
1168         variables correctly.
1169
1170 2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
1171
1172         * doc/invoke.texi: Document max-inline-insns-size,
1173         uninlined-function-insns, uninlined-function-time,
1174         uninlined-thunk-insns and uninlined-thunk-time.
1175         * params.def: Add max-inline-insns-size,
1176         uninlined-function-insns, uninlined-function-time,
1177         uninlined-thunk-insns and uninlined-thunk-time.
1178         * ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
1179         new parameters.
1180         * ipa-inline.c (can_inline_edge_by_limits_p,
1181         want_inline_small_function_p): Use new parameters.
1182
1183 2019-01-05  Jan Hubicka  <hubicka@ucw.cz>
1184
1185         * ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
1186
1187 2019-01-05  Jakub Jelinek  <jakub@redhat.com>
1188
1189         PR middle-end/82564
1190         PR target/88620
1191         * expr.c (expand_assignment): For calls returning VLA structures
1192         if to_rtx is not a MEM, force it into a stack temporary.
1193
1194         PR debug/88635
1195         * dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
1196         SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
1197         Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
1198         subexpressions of both operands.
1199         (mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
1200         subrtxes are CONSTANT_P.
1201         * config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
1202         2018-11-09 changes.
1203
1204 2019-01-04  Jan Hubicka  <hubicka@ucw.cz>
1205
1206         * params.def (hot-bb-count-ws-permille): Set to 990.
1207
1208 2019-01-04  Martin Sebor  <msebor@redhat.com>
1209
1210         PR c/88546
1211         * attribs.c (decls_mismatched_attributes): Avoid warning for attribute
1212         leaf.
1213
1214 2019-01-04  Martin Sebor  <msebor@redhat.com>
1215
1216         PR c/88363
1217         * doc/extend.texi (attribute alloc_align, alloc_size): Update.
1218
1219 2019-01-04  Jakub Jelinek  <jakub@redhat.com>
1220
1221         * gdbinit.in: Turn off pagination for the skip commands, restore
1222         it to previous state afterwards.
1223
1224 2019-01-04  Sam Tebbs  <sam.tebbs@arm.com>
1225
1226         PR gcc/87763
1227         * gcc.target/aarch64/combine_bfxil.c: Change scan-assembler-times bfxil
1228         count to 18.
1229
1230 2019-01-04  Jakub Jelinek  <jakub@redhat.com>
1231
1232         PR target/88594
1233         * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
1234         of GET_MODE (opN) as modes of the libcall arguments.
1235
1236 2019-01-04  Jan Beulich  <jbeulich@suse.com>
1237
1238         * config/i386/sse.md
1239         (<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
1240         <avx512>_cmp<mode>3<mask_scalar_merge_name>,
1241         <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
1242         <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
1243         avx512f_vmcmp<mode>3<round_saeonly_name>,
1244         avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
1245         avx512f_maskcmp<mode>3,
1246         <avx512>_cvt<ssemodesuffix>2mask<mode>,
1247         <avx512>_cvt<ssemodesuffix>2mask<mode>,
1248         *<avx512>_cvtmask2<ssemodesuffix><mode>,
1249         *<avx512>_cvtmask2<ssemodesuffix><mode>,
1250         <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
1251         <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
1252         <avx512>_gt<mode>3<mask_scalar_merge_name>,
1253         <avx512>_gt<mode>3<mask_scalar_merge_name>,
1254         <avx512>_testm<mode>3<mask_scalar_merge_name>,
1255         <avx512>_testnm<mode>3<mask_scalar_merge_name>,
1256         *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
1257         *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
1258         *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
1259         *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
1260         avx512cd_maskb_vec_dup<mode>,
1261         avx512cd_maskw_vec_dup<mode>,
1262         avx512dq_fpclass<mode><mask_scalar_merge_name>,
1263         avx512dq_vmfpclass<mode>,
1264         avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
1265         instead of =Yk.
1266
1267 2019-01-03  Martin Sebor  <msebor@redhat.com>
1268
1269         PR tree-optimization/88659
1270         * calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
1271
1272 2019-01-03  Aaron Sawdey  <acsawdey@linux.ibm.com>
1273
1274         * config/rs6000/rs6000-string.c (expand_block_move): Don't use
1275         unaligned vsx and avoid lxvd2x/stxvd2x.
1276         (gen_lvx_v4si_move): New function.
1277
1278 2019-01-03  Tom de Vries  <tdevries@suse.de>
1279
1280         * config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
1281         (init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
1282         function.
1283         * config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
1284
1285 2019-01-03  Tom de Vries  <tdevries@suse.de>
1286
1287         * config/nvptx/nvptx.c (struct offload_attrs): New.
1288         (populate_offload_attrs): New function.  Factor mask extraction out of
1289         nvptx_reorg.  Add extraction of dimensions.
1290         (nvptx_reorg): Use populate_offload_attrs.
1291
1292 2019-01-03  Tom de Vries  <tdevries@suse.de>
1293
1294         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
1295         cases for oacc_min_dims_p and routine_p.  Add asserts for
1296         oacc_default_dims_p and offload_region_p.
1297
1298 2019-01-03  Tom de Vries  <tdevries@suse.de>
1299
1300         * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
1301         factored out of ...
1302         (nvptx_goacc_validate_dims): ... here.
1303
1304 2019-01-03  Jan Hubicka  <hubicka@ucw.cz>
1305
1306         PR tree-optimization/85574
1307         * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
1308         structure.
1309         (struct ssa_equip_hash_traits): Declare.
1310         (val_ssa_equiv): Use custom hash traits using operand_equal_p.
1311
1312 2019-01-03  Jakub Jelinek  <jakub@redhat.com>
1313
1314         PR debug/88644
1315         * dwarf2out.c (modified_type_die): If type is equal to sizetype,
1316         change it to qualified_type.
1317
1318 2019-01-03  Jan Hubicka  <hubicka@ucw.cz>
1319
1320         * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
1321         (ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
1322
1323 2019-01-02  Martin Sebor  <msebor@redhat.com>
1324             Jeff Law  <law@redhat.com>
1325
1326         * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
1327         (get_range_strlen_tree): Update appropriately.
1328         (get_range_strlen)
1329         * gimple-fold.h (get_range_strlen): Drop unused last argument.
1330
1331         * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
1332         rather than set_range_info.
1333         * tree-ssa-strlen.c (set_strlen_range): Extracted from
1334         maybe_set_strlen_range.  Handle potentially boundary crossing
1335         cases more conservatively.
1336         (maybe_set_strlen_range): Parts refactored into set_strlen_range.
1337         Call set_strlen_range.
1338         * tree-ssa-strlen.h (set_strlen_range): Add prototype.
1339
1340         PR middle-end/88663
1341         * gimple-fold.c (get_range_strlen): Update prototype to no longer
1342         need the flexp argument.
1343         (get_range_strlen_tree): Drop flexp argument.  Drop flexp argument
1344         from calls to get_range_strlen.  Update comments.  Just update
1345         VAL for an unterminated const char array and let the reset of the
1346         code handle it normally.  No longer try to set *flexp.  Adjust
1347         return value.
1348         (get_range_strlen): Update for the new get_range_strlen API.
1349         (get_maxval_strlen): Similarly.
1350         (gimple_fold_builtin_strlen): Handle update meaning of return value
1351         from get_range_strlen.
1352         * gimple-ssa-sprintf.c (get_string_length): Update for the new
1353         get_range_strlen API.
1354
1355 2019-01-02  Jan Hubicka  <hubicka@ucw.cz>
1356
1357         PR lto/88130
1358         * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
1359         false at WPA time when body was removed.
1360
1361 2019-01-02  Martin Liska  <mliska@suse.cz>
1362
1363         PR tree-optimization/88650
1364         * predict.c (set_even_probabilities): Calculate probability
1365         remainer only when really used.
1366
1367 2019-01-02  Richard Biener  <rguenther@suse.de>
1368
1369         PR middle-end/88651
1370         * tree-data-ref.c (analyze_subscript_affine_affine): Use
1371         widest_ints when mangling max_stmt_execution results.
1372
1373 2019-01-02  Richard Biener  <rguenther@suse.de>
1374
1375         PR tree-optimization/88621
1376         * tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
1377         bitfields when canoncalizing.
1378
1379 2019-01-02  Richard Biener  <rguenther@suse.de>
1380
1381         PR target/87545
1382         * config/i386/x86-tune-costs.h (intel_cost): Adjust
1383         cost of cheap SSE instruction.
1384
1385 2019-01-02  Richard Biener  <rguenther@suse.de>
1386
1387         PR ipa/85574
1388         * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
1389         * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
1390         function.
1391         (sem_item_optimizer::do_congruence_step_f): Sort the congruence
1392         set after UIDs before splitting them.
1393
1394 2019-01-01  Martin Sebor  <msebor@redhat.com>
1395             Jeff Law  <law@redhat.com>
1396
1397         * gimple-fold.c (get_range_strlen_tree): Record if the computed
1398         length is optimistic.  If it is, then arrange to compute the
1399         conservative length as well.
1400
1401         * gimple-fold.h (get_range_strlen): Update prototype.
1402         * builtins.c (check_access): Update call to get_range_strlen to use
1403         c_strlen_data pointer.   Change various variable accesses to instead
1404         pull data from the c_strlen_data structure.
1405         (check_strncat_sizes, expand_builtin_strncat): Likewise.
1406         * calls.c (maybe_warn_nonstring_arg): Likewise.
1407         * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise.  Reset
1408         minimum length if maximum lengh is unknown.
1409         * gimple-ssa-sprintf.c (get_string_length): Likewise.  Drop code
1410         that used c_strlen, it's no longer needed.  Restructure slightly.
1411         (format_string): Set unlikely range appropriately.
1412         * gimple-fold.c (get_range_strlen): Update comments.  Fix minor
1413         formatting issues.
1414         (get_range_strlen):  Accept c_strlen_data pointer for external
1415         call sites as well.  Pass through to call to internal get_range_strlen.
1416         Adjust minlen, maxlen and maxbound as needed.
1417         (get_maxval_strlen): Update comments.
1418         (gimple_fold_builtin_strlen):  Update call to get_range_strlen
1419         to use c_strlen_data pointer.  Change variable accesses to instead
1420         use c_strlen_data data members.
1421
1422         * gimple-fold.c (get_range_strlen): Update prototype.
1423         (get_range_strlen_tree): Update prototype.  Drop minlen/maxlen
1424         local variables.  Use pdata to return information to caller.
1425         Update calls to get_range_strlen.  Update pdata->maxbound.
1426         (get_range_strlen -- static version): Similarly.
1427         (get_range_strlen -- extern version): Update for internal
1428         get_range_strlen API change.  Convert to external data format.
1429         (get_maxval_strlen): Similarly.
1430
1431 2019-01-01  Jan Hubicka  <hubicka@ucw.cz>
1432
1433         * coverage.c (get_coverage_counts): Use current_function_decl.
1434         * profile.c (read_thunk_profile): New function.
1435         (branch_prob): Add THUNK parameter.
1436         * tree-profile.c (tree_profiling): Handle thunks.
1437         * value-prof.c (init_node_map): Handle thunks.
1438         * value-prof.h (branch_prob): Upate prototype.
1439         (read_thunk_profile): Declare.
1440
1441 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
1442
1443         Update copyright years.
1444
1445         * gcc.c (process_command): Update copyright notice dates.
1446         * gcov-dump.c (print_version): Ditto.
1447         * gcov.c (print_version): Ditto.
1448         * gcov-tool.c (print_version): Ditto.
1449         * gengtype.c (create_file): Ditto.
1450         * doc/cpp.texi: Bump @copying's copyright year.
1451         * doc/cppinternals.texi: Ditto.
1452         * doc/gcc.texi: Ditto.
1453         * doc/gccint.texi: Ditto.
1454         * doc/gcov.texi: Ditto.
1455         * doc/install.texi: Ditto.
1456         * doc/invoke.texi: Ditto.
1457 \f
1458 Copyright (C) 2019 Free Software Foundation, Inc.
1459
1460 Copying and distribution of this file, with or without modification,
1461 are permitted in any medium without royalty provided the copyright
1462 notice and this notice are preserved.