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