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