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