1 2019-02-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
3 PR rtl-optimization/89490
4 * varasm.c (get_block_for_section): Bail out for mergeable sections.
5 (default_use_anchors_for_symbol_p, output_object_block): Assert the
6 block section is not mergeable.
8 2019-02-27 Jakub Jelinek <jakub@redhat.com>
11 * config/arm/arm.md (arm_casesi_internal): New define_expand. Rename
12 old define_insn to ...
13 (*arm_casesi_internal): ... this. Add mode to LABEL_REFs.
14 * config/arm/thumb2.md (thumb2_casesi_internal): New define_expand.
15 Rename old define_insn to ...
16 (*thumb2_casesi_internal): ... this. Add mode to LABEL_REFs.
17 (thumb2_casesi_internal_pic): New define_expand. Rename old
19 (*thumb2_casesi_internal_pic): ... this. Add mode to LABEL_REFs.
20 * config/aarch64/aarch64.md (casesi): Create the casesi_dispatch
21 MEM manually here, set MEM_READONLY_P and MEM_NOTRAP_P on it.
23 2019-02-27 Richard Biener <rguenther@suse.de>
26 * dwarf2out.c (use_debug_types): Disable when in_lto_p.
28 2019-02-27 Richard Biener <rguenther@suse.de>
30 * passes.c (should_skip_pass_p): Do not skip cgraph-edge
33 2019-02-27 Richard Biener <rguenther@suse.de>
36 * dwarf2out.c (output_comdat_type_unit): Add early_lto_debug
37 parameter, prefix section name with .gnu.debuglto_ if true.
38 (dwarf2out_finish): Pass false to output_comdat_type_unit.
39 (dwarf2out_early_finish): Pass true to output_comdat_type_unit.
41 2019-02-27 Richard Biener <rguenther@suse.de>
44 * dwarf2out.c (size_of_die): Key on AT_ref (a)->comdat_type_p
45 rather than on use_debug_types, doing what output_die does.
46 (value_format): Likewise.
48 2019-02-27 Martin Jambor <mjambor@suse.cz>
49 Martin Sebor <msebor@redhat.com>
51 * doc/invoke.texi (Warning Options): Reword description of
54 2019-02-27 Jakub Jelinek <jakub@redhat.com>
56 PR tree-optimization/89280
57 * tree-cfgcleanup.c (maybe_dead_abnormal_edge_p,
58 builtin_setjmp_setup_bb): New functions.
59 (cleanup_control_flow_pre): Ignore maybe_dead_abnormal_edge_p edges.
60 When visiting __builtin_setjmp_setup block, queue in special
61 setjmp_vec vector edges from .ABNORMAL_DISPATCHER to corresponding
62 __builtin_setjmp_receiver. Remove .ABNORMAL_DISPATCHER basic blocks
63 from visited after the loop if they don't have any visited successor
66 2018-02-26 Steve Ellcey <sellcey@marvell.com>
68 * config/aarch64/aarch64.c (aarch64_get_multilib_abi_name):
70 (TARGET_GET_MULTILIB_ABI_NAME): New macro.
72 2019-02-26 Jakub Jelinek <jakub@redhat.com>
75 * tree.c (valid_constant_size_p): Deal with size INTEGER_CSTs
76 with types other than sizetype/ssizetype.
78 2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
80 * config/sparc/sparc-opts.h (enum processor_type): Rename to...
81 (enum sparc_processor_type): ...this.
82 (enum sparc_code_model_type): New enumeration type.
83 (enum sparc_memory_model_type): Tweak comments.
84 * config/sparc/sparc.opt (mcpu): Adjust to above renaming.
86 (mcmodel): Use sparc_code_model enumeration and variable.
87 (sparc_code_model): New enumeration.
88 (mdebug): Add Undocumented marker.
89 * config/sparc/sparc.h (enum cmodel): Delete.
90 (sparc_cmodel): Likewise.
91 (TARGET_CM_MEDLOW): Adjust to above renaming.
92 (TARGET_CM_MEDMID): Likewise.
93 (TARGET_CM_MEDANY): Likewise.
94 (TARGET_CM_EMBMEDANY): Likewise.
95 * config/sparc/sparc.c (sparc_cmodel): Delete.
96 (sparc_option_override): Remove string/value mapping support for the
97 code model. Move code and memory model support to after the handling
98 of target flags. Do private machine setup last.
99 (sparc_emit_set_symbolic_const64): Use sparc_code_model.
100 (sparc_legitimize_reload_address): Likewise.
101 (sparc_output_mi_thunk): Likewise.
102 * config/sparc/sparc.md (cpu): Adjust comment to above renaming.
104 2019-02-26 Jakub Jelinek <jakub@redhat.com>
106 PR tree-optimization/89500
107 * tree-ssa-strlen.c (stridx_strlenloc): Adjust comment.
108 (handle_builtin_strlen): Remove noncst_bound variable. Always
109 optimize strnlen (x, 0) to 0. Optimize strnlen (x, cst) to
110 cst if the first cst bytes starting at x are known to be non-zero,
111 even if the string is not zero terminated. Don't try to modify
112 *si for strnlen. Update strlen_to_stridx only for strlen or if
113 we can prove strnlen returns the same value as strlen would.
115 2019-02-26 Martin Liska <mliska@suse.cz>
117 * alloc-pool.h (struct pool_usage): Remove extra
119 * bitmap.h (struct bitmap_usage): Likewise.
120 * ggc-common.c (struct ggc_usage): Likewise.
121 * mem-stats.h (struct mem_usage): Likewise.
122 (mem_alloc_description::dump): Print dash lines
123 here and repeat header at the end of a table report.
124 It's then more readable.
125 * tree-phinodes.c (phinodes_print_statistics): Make
126 horizontal alignment.
127 * tree-ssanames.c (ssanames_print_statistics): Likewise.
128 * vec.c (struct vec_usage): Remove extra print_dash_line.
129 * vec.h (vec_safe_grow_cleared): Pass PASS_MEM_STAT.
131 2019-02-26 Uroš Bizjak <ubizjak@gmail.com>
133 * doc/extend.texi (__builtin_object_size):
134 Use @pxref instead of @xref inside parenthesis.
135 (__builtin_has_attribute): Add missing comma after @xref.
136 (__builtin_object_size): Ditto.
137 * doc/md.texi (cond_*{mode}): Use @samp instead of @var around op1[i].
138 * fortran/invoke.texi (-ffpe-trap): Use @var for every item
141 2019-02-26 Jeff Law <law@redhat.com>
143 PR rtl-optimization/87761
144 * regcprop.c (copyprop_hardreg_forward_1): Use REG_UNUSED notes to
145 detect obviously dead insns and delete them.
147 2019-02-26 Richard Biener <rguenther@suse.de>
149 PR tree-optimization/89505
150 * tree-ssa-structalias.c (compute_dependence_clique): Make sure
151 to handle restrict pointed-to vars with multiple subvars
154 2019-02-26 Richard Biener <rguenther@suse.de>
156 PR tree-optimization/89489
157 * tree-parloops.c (create_loop_fn): Copy over last_clique.
159 2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
161 * tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_IOR_EXPR>: Fix
162 and move around comment.
163 <BIT_AND_EXPR>: Likewise.
164 <BIT_NOT_EXPR>: Add specific handling for boolean types.
166 2019-02-26 Jakub Jelinek <jakub@redhat.com>
169 * config/i386/i386.c (remove_partial_avx_dependency): Call
170 df_analyze etc. before creation of the v4sf_const0 pseudo, rather than
171 after changing possibly many instructions to use that pseudo. Fix up
172 insertion of v4sf_const0 setter at the start of bb.
174 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
177 * doc/extend.texi (Variadic Pointer Args): New section.
179 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
180 Martin Sebor <msebor@gmail.com>
182 * common.opt (Wattribute-alias): Likewise.
183 * doc/invoke.texi (Option Summary): List general form of
184 -Wattribute-alias=. List positive form of -Wmissing-attributes.
185 (-Wmissing-attributes): Invert entry, rewrite and correct default.
186 Add cross-references.
187 (-Wattribute-alias): Rewrite and correct default. Mention
188 considered attributes (same as for -Wmissing-attributes).
190 2019-02-25 Paul A. Clarke <pc@us.ibm.com>
192 * config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Fix big endian.
193 (_mm_cvtpd_ps): Likewise.
194 (_mm_cvttpd_epi32): Likewise.
197 * config/rs6000/xmmintrin.h (_mm_cvtss_f32): Fix type mismatch.
198 (_mm_cvt_ss2si): Fix type mismatch and 32-bit.
201 * config/rs6000/xmmintrin.h (_mm_movemask_pi8): Fix 32-bit.
203 2019-02-25 Tamar Christina <tamar.christina@arm.com>
206 * common/config/aarch64/aarch64-common.c
207 (struct aarch64_option_extension): Add is_synthetic.
208 (all_extensions): Use it.
209 (TARGET_OPTION_INIT_STRUCT): Define hook.
210 (struct gcc_targetm_common): Moved to end.
211 (all_extensions_by_on): New.
212 (opt_ext_cmp, typedef opt_ext): New.
213 (aarch64_option_init_struct): New.
214 (aarch64_contains_opt): New.
215 (aarch64_get_extension_string_for_isa_flags): Output smallest set.
216 * config/aarch64/aarch64-option-extensions.def
217 (AARCH64_OPT_EXTENSION): Explicitly include AES and SHA2 in crypto.
218 (fp, simd, crc, lse, fp16, rcpc, rdma, dotprod, aes, sha2, sha3,
219 sm4, fp16fml, sve, profile, rng, memtag, sb, ssbs, predres):
220 Set is_synthetic to false.
221 (crypto): Set is_synthetic to true.
222 * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Add
225 2019-02-25 Tamar Christina <tamar.christina@arm.com>
227 * config/arm/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
228 vfmlal_high_u32, vfmlsl_high_u32, vfmlalq_low_u32, vfmlslq_low_u32,
229 vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
230 vfmlal_lane_high_u32, vfmlalq_laneq_low_u32, vfmlalq_lane_low_u32,
231 vfmlal_laneq_low_u32, vfmlalq_laneq_high_u32, vfmlalq_lane_high_u32,
232 vfmlal_laneq_high_u32, vfmlsl_lane_low_u32, vfmlsl_lane_high_u32,
233 vfmlslq_laneq_low_u32, vfmlslq_lane_low_u32, vfmlsl_laneq_low_u32,
234 vfmlslq_laneq_high_u32, vfmlslq_lane_high_u32, vfmlsl_laneq_high_u32):
236 (vfmlal_low_f16, vfmlsl_low_f16, vfmlal_high_f16, vfmlsl_high_f16,
237 vfmlalq_low_f16, vfmlslq_low_f16, vfmlalq_high_f16, vfmlslq_high_f16,
238 vfmlal_lane_low_f16, vfmlal_lane_high_f16, vfmlalq_laneq_low_f16,
239 vfmlalq_lane_low_f16, vfmlal_laneq_low_f16, vfmlalq_laneq_high_f16,
240 vfmlalq_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_lane_low_f16,
241 vfmlsl_lane_high_f16, vfmlslq_laneq_low_f16, vfmlslq_lane_low_f16,
242 vfmlsl_laneq_low_f16, vfmlslq_laneq_high_f16, vfmlslq_lane_high_f16,
243 vfmlsl_laneq_high_f16): ... To this.
244 * config/arm/neon.md: Update comments.
246 2019-02-25 Tamar Christina <tamar.christina@arm.com>
248 * config/aarch64/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
249 vfmlalq_low_u32, vfmlslq_low_u32, vfmlal_high_u32, vfmlsl_high_u32,
250 vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
251 vfmlsl_lane_low_u32, vfmlal_laneq_low_u32, vfmlsl_laneq_low_u32,
252 vfmlalq_lane_low_u32, vfmlslq_lane_low_u32, vfmlalq_laneq_low_u32,
253 vfmlslq_laneq_low_u32, vfmlal_lane_high_u32, vfmlsl_lane_high_u32,
254 vfmlal_laneq_high_u32, vfmlsl_laneq_high_u32, vfmlalq_lane_high_u32,
255 vfmlslq_lane_high_u32, vfmlalq_laneq_high_u32, vfmlslq_laneq_high_u32):
257 (vfmlal_low_f16, vfmlsl_low_f16, vfmlalq_low_f16, vfmlslq_low_f16,
258 vfmlal_high_f16, vfmlsl_high_f16, vfmlalq_high_f16, vfmlslq_high_f16,
259 vfmlal_lane_low_f16, vfmlsl_lane_low_f16, vfmlal_laneq_low_f16,
260 vfmlsl_laneq_low_f16, vfmlalq_lane_low_f16, vfmlslq_lane_low_f16,
261 vfmlalq_laneq_low_f16, vfmlslq_laneq_low_f16, vfmlal_lane_high_f16,
262 vfmlsl_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_laneq_high_f16,
263 vfmlalq_lane_high_f16, vfmlslq_lane_high_f16, vfmlalq_laneq_high_f16,
264 vfmlslq_laneq_high_f16): ... To this.
266 2019-02-25 Alexander Monakov <amonakov@ispras.ru>
268 PR rtl-optimization/86096
269 * df-scan.c (df_mw_compare): Do not check mw_reg fields when
270 comparing mw_order values.
272 2019-02-25 Jakub Jelinek <jakub@redhat.com>
275 * config/arm/arm.md (*subsi3_carryin_const): Use
276 arm_neg_immediate_operand predicate instead of
277 arm_not_immediate_operand, "L" constraint instead of "K" and
278 print it using %n2 instead of %B2.
279 (*subsi3_carryin_const0): New define_insn.
280 (*subsi3_carryin_compare_const): Use const_int_I_operand predicate
281 instead of arm_not_operand and "I" constraint instead of "K" and
282 print it using %n3 instead of %B2. Instead of using match_dup 2 add
283 another match_operand and in the condition check that it is negation
285 (*subsi3_carryin_compare_const0): New define_ins.
286 (*subdi_di_zesidi): Adjust to use *subsi3_carryin_const0 instead of
287 *subsi3_carryin_const.
288 (*arm_cmpdi_insn): Fix splitting into *subsi3_carryin_compare_const,
289 split into *subsi3_carryin_compare_const0 if the highpart is zero.
292 * config/arm.vfp.md (*negdf2_vfp): Use
293 gen_int_mode (0x80000000, SImode) instead of GEN_INT (0x80000000).
294 * config/arm/neon.md (neon_copysignf<mode>): Likewise.
296 2019-02-24 Jakub Jelinek <jakub@redhat.com>
298 PR rtl-optimization/89445
299 * simplify-rtx.c (simplify_ternary_operation): Don't use
300 simplify_merge_mask on operands that may trap.
301 * rtlanal.c (may_trap_p_1): Use FLOAT_MODE_P instead of
302 SCALAR_FLOAT_MODE_P checks. For integral division by zero, if
303 second operand is CONST_VECTOR, check if any element could be zero.
304 Don't expect traps for VEC_{MERGE,SELECT,CONCAT,DUPLICATE} unless
305 their operands can trap.
307 2019-02-23 Martin Sebor <msebor@redhat.com>
309 * gimple-ssa-sprintf.c (target_strtol): Rename...
310 (target_strtohwi): ...to this. Handle values up to HOST_WIDE_INT_MAX.
311 (parse_directive): Adjust to name change. Use HOST_WIDE_INT_MAX to
312 check for range error.
314 2019-02-23 H.J. Lu <hongjiu.lu@intel.com>
317 * opts-common.c (prune_options): Also prune joined switches
318 with Negative and RejectNegative.
319 * config/i386/i386.opt (march=): Add Negative(march=).
320 (mtune=): Add Negative(mtune=).
321 * doc/options.texi: Document Negative used together with Joined
324 2019-02-22 Martin Sebor <msebor@redhat.com>
326 * doc/extend.texi (Other Builtins): Add
327 __builtin_is_constant_evaluated.
329 2019-02-22 Richard Biener <rguenther@suse.de>
331 PR tree-optimization/87609
332 * tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques.
334 2019-02-22 Jeff Law <law@redhat.com>
336 PR rtl-optimization/87761
337 * config/mips/mips.md: Add new combiner pattern to recognize
338 a bitfield extraction using (ashiftrt (truncate (ashift (...)))).
340 2019-02-22 Matthew Malcomson <matthew.malcomson@arm.com>
343 * config/aarch64/aarch64.md: Use aarch64_general_reg predicate on
344 destination register in peepholes generating patterns for ADDS/SUBS.
345 (add<mode>3_compare0,
346 *addsi3_compare0_uxtw, add<mode>3_compareC,
347 add<mode>3_compareV_imm, add<mode>3_compareV,
348 *adds_<optab><ALLX:mode>_<GPI:mode>,
349 *subs_<optab><ALLX:mode>_<GPI:mode>,
350 *adds_<optab><ALLX:mode>_shift_<GPI:mode>,
351 *subs_<optab><ALLX:mode>_shift_<GPI:mode>,
352 *adds_<optab><mode>_multp2, *subs_<optab><mode>_multp2,
353 *sub<mode>3_compare0, *subsi3_compare0_uxtw,
354 sub<mode>3_compare1): Allow stack pointer for source register.
355 * config/aarch64/predicates.md (aarch64_general_reg): New predicate.
357 2019-02-22 Martin Sebor <msebor@redhat.com>
359 PR tree-optimization/88993
360 PR tree-optimization/88853
361 * gimple-ssa-sprintf.c (sprintf_dom_walker::call_info::is_file_func):
363 (sprintf_dom_walker::call_info::is_string_func): New helper.
364 (format_directive): Only issue "may exceed" 4095/INT_MAX warnings
365 for formatted string functions.
366 (sprintf_dom_walker::handle_gimple_call): Fix a typo in a comment.
368 2019-02-22 Martin Sebor <msebor@redhat.com>
371 * c-parser.c (sizeof_ptr_memacc_comptypes): Avoid warning in
372 unreachable subexpressions.
374 2019-02-22 H.J. Lu <hongjiu.lu@intel.com>
375 Hongtao Liu <hongtao.liu@intel.com>
376 Sunil K Pandey <sunil.k.pandey@intel.com>
379 * config/i386/i386-passes.def: Add
380 pass_remove_partial_avx_dependency.
381 * config/i386/i386-protos.h
382 (make_pass_remove_partial_avx_dependency): New.
383 * config/i386/i386.c (make_pass_remove_partial_avx_dependency):
385 (pass_data_remove_partial_avx_dependency): New.
386 (pass_remove_partial_avx_dependency): Likewise.
387 (make_pass_remove_partial_avx_dependency): Likewise.
388 * config/i386/i386.md (avx_partial_xmm_update): New attribute.
389 (*extendsfdf2): Add avx_partial_xmm_update.
390 (truncdfsf2): Likewise.
391 (*float<SWI48:mode><MODEF:mode>2): Likewise.
392 (SF/DF conversion splitters): Disabled for TARGET_AVX.
394 2019-02-22 Aldy Hernandez <aldyh@redhat.com>
397 * gimple-ssa-sprintf.c (pass_sprintf_length::execute): Enable loop
400 2019-02-22 Thiago Macieira <thiago.macieira@intel.com>
403 * config/i386/i386.h (PTA_WESTMERE): Remove PTA_AES.
404 (PTA_SKYLAKE): Add PTA_AES.
405 (PTA_GOLDMONT): Likewise.
407 2019-02-22 Sudakshina Das <sudi.das@arm.com>
409 * config/aarch64/aarch64.c (aarch64_output_mi_thunk): Add bti
410 instruction if enabled.
411 (aarch64_override_options): Remove reference to return address key.
413 2019-02-22 Richard Biener <rguenther@suse.de>
415 PR tree-optimization/89440
416 * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
417 not necessary assert.
419 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
422 * omp-general.c (oacc_replace_fn_attrib): Mostly split out into...
423 (oacc_replace_fn_attrib_attr): ... this new function.
424 * omp-general.h (oacc_replace_fn_attrib_attr): New prototype.
425 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Revert workaround.
427 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
429 * config/arm/arm-cpus.in (ares): Rename to...
430 (neoverse-n1): ... This. Add ares as alias.
431 * config/arm/arm-tables.opt: Regenerate.
432 * config/arm/arm-tune.md: Likewise.
433 * doc/invoke.txt (ARM Options): Document neoverse-n1.
435 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
437 * config/aarch64/aarch64-cores.def (neoverse-e1): Define.
438 * config/aarch64/aarch64-tune.md: Regenerate.
439 * doc/invoke.texi (AArch64 Options): Document neoverse-e1 -mcpu option.
441 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
443 * config/aarch64/aarch64.c (ares_tunings): Rename to...
444 (neoversen1_tunings): ... This.
445 * config/aarch64/aarch64-cores.def (ares): Change tuning to the above.
446 (neoverse-n1): New CPU.
447 * config/aarch64/aarch64-tune.md: Regenerate.
448 * doc/invoke.txt (AArch64 Options): Document neoverse-n1.
450 2019-02-22 Richard Biener <rguenther@suse.de>
453 * cfghooks.h (dependence_hash): New typedef.
454 (struct copy_bb_data): New type.
455 (cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument.
456 (duplicate_block): Likewise.
457 * cfghooks.c (duplicate_block): Pass down copy_bb_data.
458 (copy_bbs): Create and pass down copy_bb_data.
459 * cfgrtl.c (cfg_layout_duplicate_bb): Adjust.
460 (rtl_duplicate_bb): Likewise.
461 * tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL
462 remap dependence info.
464 2019-02-22 Richard Biener <rguenther@suse.de>
466 PR tree-optimization/87609
467 * tree-core.h (tree_base): Document special clique values.
468 * tree-inline.c (remap_dependence_clique): Do not use the
469 special clique value of one.
470 (maybe_set_dependence_info): Use clique one.
471 (clear_dependence_clique): New callback.
472 (compute_dependence_clique): Clear clique one from all refs
473 before assigning it (again).
475 2019-02-21 Martin Sebor <msebor@redhat.com>
477 * doc/extend.texi (__clear_cache): Correct signature.
479 2019-02-21 Ian Lance Taylor <iant@golang.org>
482 * varasm.c (decode_addr_const): Call lookup_constant_def rather
483 than output_constant_def.
484 (add_constant_to_table): New static function.
485 (output_constant_def): Call add_constant_to_table.
486 (tree_output_constant_def): Likewise.
488 2019-02-21 Jakub Jelinek <jakub@redhat.com>
491 * builtins.c (fold_builtin_arith_overflow): If first two args are
492 INTEGER_CSTs, set intres and ovfres to constants rather than calls
495 2019-02-21 H.J. Lu <hongjiu.lu@intel.com>
498 * config/i386/i386.c (ix86_set_indirect_branch_type): Issue an
499 error for -mindirect-branch/-mfunction-return with incompatible
502 2019-02-21 Jakub Jelinek <jakub@redhat.com>
505 * constraints.md (q): Remove.
506 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use rk constraint
509 2019-02-21 Martin Jambor <mjambor@suse.cz>
512 * omp-general.c (omp_extract_for_data): Removed a duplicate call
513 to omp_adjust_for_condition, moved NE_EXPR code_cond processing...
514 (omp_adjust_for_condition): ...here. Added necessary parameters.
515 * omp-general.h (omp_adjust_for_condition): Updated declaration.
516 * omp-grid.c (grid_attempt_target_gridification): Adjust to pass
517 proper values to new parameters of omp_adjust_for_condition.
519 2019-02-20 Jakub Jelinek <jakub@redhat.com>
522 * expr.c (expand_assignment): If result is a MEM, use change_address
523 instead of simplify_gen_subreg.
525 2019-02-20 Jakub Jelinek <jakub@redhat.com>
526 David Malcolm <dmalcolm@redhat.com>
529 * fold-const.c (decode_field_reference): Return NULL_TREE if
530 lang_hooks.types.type_for_size returns NULL. Check it before
531 overwriting *exp_. Use return NULL_TREE instead of return 0.
533 2019-02-20 Jakub Jelinek <jakub@redhat.com>
537 * toplev.c (do_compile): Double the emin/emax exponents to workaround
540 2019-02-20 Uroš Bizjak <ubizjak@gmail.com>
543 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check
544 TARGET_SSE in addition to TARGET_SSE_MATH.
546 (ix86_excess_precision): Ditto.
547 (ix86_float_exceptions_rounding_supported_p): Ditto.
548 (use_rsqrt_p): Ditto.
549 * config/i386/sse.md (rsqrt<mode>2): Ditto.
551 2019-02-20 David Malcolm <dmalcolm@redhat.com>
554 * diagnostic-show-locus.c (layout::calculate_line_spans): Use
555 linenum_arith_t when determining if two adjacent line spans are
556 close enough to merge.
557 (diagnostic_show_locus): Use linenum_arith_t when iterating over
558 lines within each line_span.
560 2019-02-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
563 * lra-constraints.c(uses_hard_regs_p): Fix handling of
566 2019-02-20 Li Jia He <helijia@linux.ibm.com>
569 * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin)
570 <case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH,
571 ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before
574 2019-02-19 Jonathan Wakely <jwakely@redhat.com>
576 * config/gcn/gcn.c (print_operand): Fix typo.
578 2019-02-19 Richard Biener <rguenther@suse.de>
581 * toplev.c (do_compile): Initialize mpfr's exponent range
582 based on available float modes.
584 2019-02-19 Eric Botcazou <ebotcazou@adacore.com>
586 * rtlanal.c (get_initial_register_offset): Fall back to the estimate
587 as long as the epilogue isn't completed.
589 2019-02-18 Martin Sebor <msebor@redhat.com>
591 * doc/cpp.texi (Conditional syntax): Add __has_attribute,
592 __has_cpp_attribute, and __has_include.
594 2019-02-18 Martin Sebor <msebor@redhat.com>
596 * doc/invoke.texi (-Wreturn-type): Correct and expand.
598 2019-02-18 Martin Sebor <msebor@redhat.com>
601 * tree.c (valid_constant_size_p): Avoid assuming size is a constant
603 * tree.h (cst_size_error): Add the cst_size_not_constant enumerator.
605 2019-02-18 Richard Biener <rguenther@suse.de>
607 PR tree-optimization/89296
608 * tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
609 of no-warning flag to cases that might emit the bogus warning.
611 2019-02-18 Jakub Jelinek <jakub@redhat.com>
614 * config/arm/arm.md (*arm_movdi, *movdf_soft_insn): Use "r" instead of
616 * config/arm/vfp.md (*movdi_vfp): Likewise.
617 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use "r" instead of
618 "q" constraint for operands[0].
621 * config/s390/s390.md (*r<noxa>sbg_<mode>_srl_bitmask,
622 *r<noxa>sbg_<mode>_sll, *r<noxa>sbg_<mode>_srl): Don't construct
623 pattern in a temporary buffer.
624 (*r<noxa>sbg_sidi_srl): Likewise. Always use 32 as I3 rather
628 * config/s390/s390.c (s390_indirect_branch_attrvalue,
629 s390_indirect_branch_settings): Define unconditionally.
630 (s390_set_current_function): Likewise, but guard the whole body except
631 the s390_indirect_branch_settings call with
632 #if S390_USE_TARGET_ATTRIBUTE.
633 (TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally.
635 * config/s390/s390.md (*<risbg_n>_ior_and_sr_ze,
636 *<risbg_n>_<mode>_ior_and_lshiftrt, *<risbg_n>_sidi_ior_and_lshiftrt):
637 Use HOST_WIDE_INT_M1U instead of ~(0ULL).
638 (*<risbg_n>_and_subregdi_rotr, *<risbg_n>_and_subregdi_rotl): Use
639 HOST_WIDE_INT_1U instead of 1ULL.
640 (*pre_z10_extzv<mode>, *pre_z10_extv<mode>): Change mask type from int
641 to unsigned HOST_WIDE_INT, use HOST_WIDE_INT_1U instead of 1ul.
642 (*insv<mode><clobbercc_or_nocc>_appendbitsleft,
643 z = (x << c) | (y >> d) splitters): Use HOST_WIDE_INT_1U
645 (*insv<mode>_mem_reg, *insvdi_mem_reghigh): Use HOST_WIDE_INT_1U
648 2019-02-18 Martin Jambor <mjambor@suse.cz>
650 PR tree-optimization/89209
651 * tree-sra.c (create_access_replacement): New optional parameter
652 reg_tree. Use it as a type if non-NULL and access type is not of
654 (get_repl_default_def_ssa_name): New parameter REG_TYPE, pass it
655 to create_access_replacement.
656 (sra_modify_assign): Pass LHS type to get_repl_default_def_ssa_name.
657 Check lacc is non-NULL before attempting to re-create it on the RHS.
659 2019-02-18 Martin Liska <mliska@suse.cz>
662 * cgraph.c (symbol_table::create_edge): Set m_summary_id to -1
664 (symbol_table::free_edge): Recycle m_summary_id.
665 * cgraph.h (get_summary_id): New.
666 (symbol_table::release_symbol): Set m_summary_id to -1
668 (symbol_table::allocate_cgraph_symbol): Recycle m_summary_id.
669 * ipa-fnsummary.c (ipa_fn_summary_t): Switch from
670 function_summary to fast_function_summary.
671 * ipa-fnsummary.h (ipa_fn_summary_t): Likewise.
672 * ipa-pure-const.c (class funct_state_summary_t):
673 Switch from function_summary to fast_function_summary.
674 * ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise.
675 (class ipa_ref_opt_summary_t): Switch from function_summary
676 to fast_function_summary.
677 * symbol-summary.h (class function_summary_base): New class
678 that is created from base of former function_summary.
679 (function_summary_base::unregister_hooks): New.
680 (class function_summary): Inherit from function_summary_base.
681 (class call_summary_base): New class
682 that is created from base of former call_summary.
683 (class call_summary): Inherit from call_summary_base.
684 (struct is_same): New.
685 (class fast_function_summary): New summary class.
686 (class fast_call_summary): New summary class.
687 * vec.h (vec_safe_grow_cleared): New function.
689 2019-02-18 Martin Liska <mliska@suse.cz>
691 * config/i386/i386.c (ix86_get_multilib_abi_name): New function.
692 (TARGET_GET_MULTILIB_ABI_NAME): New macro defined.
693 * doc/tm.texi: Document new target hook.
694 * doc/tm.texi.in: Likewise.
695 * target.def: Add new target macro.
696 * gcc.c (find_fortran_preinclude_file): Do not search multilib
699 2019-02-17 Alan Modra <amodra@gmail.com>
702 * config/rs6000/rs6000.md (<bd>_<mode> split): Check for an int
703 output reg on add insn.
704 (<bd>tf_<mode> split): Likewise. Match predicates with insn.
706 2019-02-16 H.J. Lu <hongjiu.lu@intel.com>
709 * config/i386/sse.md (ssedoublemode): Remove V4HI.
710 (PMULHRSW): Likewise.
711 (<ssse3_avx2>_pmulhrsw<mode>3): Require TARGET_SSSE3, not
713 (ssse3_pmulhrswv4hi3): New expander.
715 2019-02-16 H.J. Lu <hongjiu.lu@intel.com>
717 * config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
718 MMX. Add isa attribute.
720 2019-02-16 Jakub Jelinek <jakub@redhat.com>
722 PR rtl-optimization/66152
723 * builtins.h (c_readstr): Declare.
724 * builtins.c (c_readstr): Remove forward declaration. Add
725 null_terminated_p argument, if false, read all bytes from the
726 string instead of stopping after '\0'.
727 * expr.c (string_cst_read_str): New function.
728 (store_expr): Use string_cst_read_str instead of
729 builtin_strncpy_read_str. Try to store by pieces the whole
730 exp_len first, and only if that fails, split it up into
731 store by pieces followed by clear_storage. Formatting fix.
733 * config/i386/i386.md (*movqi_internal): Remove static from
734 buf variable. Use output_asm_insn (buf, operands); return "";
735 instead of return buf;.
736 * config/i386/sse.md (<sse>_andnot<mode>3<mask_name>,
737 *<code><mode>3<mask_name>, *andnot<mode>3, *andnottf3, *<code><mode>3,
738 *<code>tf3, <mask_codefor><code><mode>3<mask_name>): Likewise.
740 2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
742 * config/sparc/linux.h (ASAN_CC1_SPEC): Define.
743 (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC and ASAN_CC1_SPEC.
744 * config/sparc/linux64.h (ASAN_CC1_SPEC): Likewise.
745 (CC1_SPEC): Likewise.
746 * config/sparc/sparc.c (sparc_asan_shadow_offset): Adjust for 64-bit.
748 2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
750 * asan.c (asan_emit_stack_protection): Use full-sized mask to align
751 the base address on 64-bit strict-alignment platforms.
753 2019-02-15 H.J. Lu <hongjiu.lu@intel.com>
755 * config/i386/i386.h (VALID_MMX_REG_MODE): Correct the misplaced ')'.
757 2019-02-15 Uroš Bizjak <ubizjak@gmail.com>
759 * config/i386/darwin.h (TARGET_FPMATH_DEFAULT_P): New define.
761 2019-02-15 Aaron Sawdey <acsawdey@linux.ibm.com>
763 PR rtl-optimization/88308
764 * shrink-wrap.c (move_insn_for_shrink_wrap): Fix LABEL_NUSES counts
765 on copied instruction.
767 2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
769 * final.c (insn_current_reference_address): Replace test on JUMP_P
770 with test on jump_to_label_p.
771 * config/visium/visium-passes.def: New file.
772 * config/visium/t-visium (PASSES_EXTRA): Define.
773 * config/visium/visium-protos.h (make_pass_visium_reorg): Declare.
774 * config/visium/visium.h (TRAMPOLINE_SIZE): Adjust.
775 (TRAMPOLINE_ALIGNMENT): Define.
776 * config/visium/visium.c (visium_option_override): Do not register
777 the machine-specific reorg pass here.
778 (visium_trampoline_init): Align the BRA insn on a 64-bit boundary
780 (output_branch): Adjust threshold for long branch instruction.
781 * config/visium/visium.md (cpu): Move around.
782 (length): Adjust for the GR6.
784 2019-02-15 Richard Biener <rguenther@suse.de>
785 Jakub Jelinek <jakub@redhat.com>
787 PR tree-optimization/89278
788 * tree-loop-distribution.c: Include tree-eh.h.
789 (generate_memset_builtin, generate_memcpy_builtin): Call
790 rewrite_to_non_trapping_overflow on builtin->size before passing it
791 to force_gimple_operand_gsi.
793 2019-02-15 Jakub Jelinek <jakub@redhat.com>
796 * optc-save-gen.awk: Handle optimize_fast like optimize_size or
798 * opth-gen.awk: Likewise.
800 2019-02-15 Uroš Bizjak <ubizjak@gmail.com>
802 * config/i386/i386.h (TARGET_SUBTARGET64_ISA_DEFAULT):
803 Enable MMX, SSE and SSE2 by default.
804 * config/i386/i386.c (ix86_option_override_internal): Do not
805 explicitly set MMX, SSE and SSE2 flags for TARGET_64BIT here.
807 2019-02-14 Jakub Jelinek <jakub@redhat.com>
809 PR rtl-optimization/89354
810 * combine.c (make_extraction): Punt if extraction_mode is narrower
813 2019-02-14 Maya Rashish <coypu@sdf.org>
815 * config.gcc (*-*-netbsd*): Add netbsd-d.o.
816 * config/netbsd-d.c: New file.
817 * config/t-netbsd: Add netbsd-d.o
819 2018-02-14 Steve Ellcey <sellcey@marvell.com>
821 * config/aarch64/aarch64.c (aarch64_attribute_table): Change
822 affects_type_identity to true for aarch64_vector_pcs.
823 (aarch64_comp_type_attributes): New function.
824 (TARGET_COMP_TYPE_ATTRIBUTES): New macro.
826 2019-02-14 Tamar Christina <tamar.christina@arm.com>
829 * config/arm/iterators.md (ANY64): Add V4HF.
831 2019-02-14 Martin Liska <mliska@suse.cz>
833 PR rtl-optimization/89242
834 * dce.c (delete_unmarked_insns): Call free_dominance_info we
835 process a transformation.
837 2019-02-14 Jakub Jelinek <jakub@redhat.com>
839 PR tree-optimization/89314
840 * fold-const.c (fold_binary_loc): Cast strlen argument to
841 const char * before dereferencing it. Formatting fixes.
844 * passes.def: Swap pass_ubsan and pass_early_warn_uninitialized.
846 2019-02-13 Ian Lance Taylor <iant@golang.org>
848 * optc-save-gen.awk: Set var_opt_hash for initial optimizations
849 and set current index for other optimizations.
851 2019-02-13 Uroš Bizjak <ubizjak@gmail.com>
853 * config/i386/sse.md (vec_set<VI4F_256_512:mode>_0): Use
854 nonimmediate_operand as operand 2 predicate.
855 (vec_set<VF2_512_256:mode>_0): Ditto.
856 (vec_set<VI8_AVX_AVX512F:mode>_0): Ditto.
857 (*vec_concatv2si): Remove alternative 2.
858 (*vec_concatv4si_0): Use vm constraint for alternative 0.
859 (*vec_concatv4si_0): Remove preferred_for_speed attribute.
860 (vec_concatv2di): Split alternatives 4,5,6 to ...
861 (*vec_concatv2di_0) ... new pattern.
863 2019-02-13 Wilco Dijkstra <wdijkstr@arm.com>
866 * config/arm/arm.c (ldm_stm_operation_p) Set
867 addr_reg_in_reglist correctly for first register.
868 (load_multiple_sequence): Remove dead base check.
869 (gen_ldm_seq): Correctly set write_back for Thumb-1.
871 2019-02-13 Tamar Christina <tamar.christina@arm.com>
874 * config/aarch64/aarch64-sve.md (*pred_mov<mode>, pred_mov<mode>):
875 Expose as @aarch64_pred_mov.
876 * config/aarch64/aarch64.c (aarch64_classify_address):
877 Use expand_insn which legitimizes operands.
879 2019-02-13 Martin Liska <mliska@suse.cz>
881 * builtins.h (expand_builtin_with_bounds): Remove declaration.
882 * calls.c (struct arg_data): Remove special_slot, pointer_arg
883 and pointer_offset fields.
884 (initialize_argument_information): Remove usage of dead
886 * cgraph.h (struct cgraph_thunk_info): Remove
887 add_pointer_bounds_args.
888 * cgraphunit.c (cgraph_node::expand_thunk): Remove usage of dead
890 (cgraph_node::assemble_thunks_and_aliases): Remove usage of dead
892 * config/i386/i386.c (ix86_function_arg_advance): Remove
894 (struct builtin_isa): Remove leaf_p and nothrow_p fields.
895 (def_builtin): Remove usage of dead
897 (ix86_add_new_builtins): Likewise.
898 * ipa-fnsummary.c (compute_fn_summary): Likewise.
899 * ipa-icf.c (sem_function::equals_wpa): Likewise.
900 (sem_function::init): Likewise.
901 (sem_variable::merge): Likewise.
902 * ipa-visibility.c (function_and_variable_visibility): Likewise.
903 * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
904 * lto-cgraph.c (lto_output_node): Likewise.
905 (lto_output_varpool_node): Likewise.
906 (input_node): Likewise.
907 (input_varpool_node): Likewise.
908 * lto-streamer-out.c (lto_output): Likewise.
909 * tree-inline.c (expand_call_inline): Remove usage of
911 * tree-inline.h (struct copy_body_data): Likewise.
912 * varpool.c (varpool_node::dump): Likewise.
914 2019-02-13 Jakub Jelinek <jakub@redhat.com>
917 * tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var
918 into pt->vars_contains_escaped_heap instead of setting
919 pt->vars_contains_escaped_heap to it.
922 * optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of
923 INTVAL (size), compare it to GET_MODE_MASK instead of
924 1 << GET_MODE_BITSIZE.
927 * config/i386/predicates.md (x86_64_immediate_operand): Allow
928 TLS UNSPECs offsetted by signed 32-bit CONST_INT even with
931 2019-02-13 Martin Liska <mliska@suse.cz>
934 * cfgrtl.c (remove_barriers_from_footer): New function.
935 (try_redirect_by_replacing_jump): Use it.
936 (cfg_layout_redirect_edge_and_branch): Likewise.
938 2019-02-13 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
940 * config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be,
941 vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines.
942 * config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator.
943 (crypto_vsbox_<mode>, crypto_<CR_insn>_<mode>): New define_insns.
944 * config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1.
945 (VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE):
947 * config/rs6000/rs6000.c (builtin_function_type)
948 <CRYPTO_BUILTIN_VSBOX_BE, CRYPTO_BUILTIN_VCIPHER_BE,
949 CRYPTO_BUILTIN_VCIPHERLAST_BE, CRYPTO_BUILTIN_VNCIPHER_BE,
950 CRYPTO_BUILTIN_VNCIPHERLAST_BE>: New switch options.
951 * doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be,
952 vec_ncipher_be, vec_ncipherlast_be): New builtin functions.
954 2019-02-12 Pat Haugen <pthaugen@us.ibm.com>
956 * doc/invoke.texi (RS/6000 and PowerPC Options): Remove duplicate
957 -maltivec. Delete -maltivec=be and -maltivec=le documentation.
959 2019-02-12 H.J. Lu <hongjiu.lu@intel.com>
962 * config/i386/i386.md (*movoi_internal_avx): Revert revision
963 268678 and revision 268657.
964 (*movti_internal): Likewise.
966 2019-02-12 Ilya Leoshkevich <iii@linux.ibm.com>
969 * config/s390/s390.c (s390_decompose_address): Update comment.
970 (s390_check_qrst_address): Reject invalid address forms after
973 2019-02-12 Martin Liska <mliska@suse.cz>
976 * ipa-pure-const.c (propagate_pure_const): Revert hunk as
977 we need default values of funct_state for a function that
980 2019-02-12 Eric Botcazou <ebotcazou@adacore.com>
982 * asan.c (asan_expand_mark_ifn): Take into account the alignment of
983 the object to pick the size of stores on strict-alignment platforms.
985 * config/sparc/sparc.md (*movsi_insn): Minor tweak.
986 (*movdi_insn_sp32): Likewise.
987 (*movdi_insn_sp64): Likewise.
989 2019-02-12 Jan Hubicka <hubicka@ucw.cz>
992 * cgraphunit.c (analyze_functions): Clear READONLY flag for external
993 types that needs constructiong.
994 * tree.h (may_be_aliased): Do not check TYPE_NEEDS_CONSTRUCTING.
996 2019-02-12 Richard Biener <rguenther@suse.de>
998 PR tree-optimization/89253
999 * tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can
1002 2019-02-11 David Malcolm <dmalcolm@redhat.com>
1005 * input.c (selftest::test_line_offset_overflow): New selftest.
1006 (selftest::input_c_tests): Call it.
1008 2019-02-11 Martin Sebor <msebor@redhat.com>
1010 PR tree-optimization/88771
1011 * gimple-ssa-warn-restrict.c (pass_wrestrict::gate): Also enable
1012 when -Wstringop-overflow is set.
1013 (builtin_memref::builtin_memref): Adjust excessive upper bound
1014 only when lower bound is not excessive.
1015 (maybe_diag_overlap): Detect and diagnose excessive bounds via
1016 -Wstringop-ovefflow.
1017 (maybe_diag_offset_bounds): Rename...
1018 (maybe_diag_access_bounds): ...to this.
1019 (check_bounds_or_overlap): Adjust for name change above.
1021 2019-02-11 Martin Sebor <msebor@redhat.com>
1024 * builtins.c (max_object_size): Move from here...
1025 * builtins.h (max_object_size): ...and here...
1026 * tree.c (max_object_size): ...to here...
1027 * tree.h (max_object_size): ...and here.
1029 2019-02-11 Bill Schmidt <wschmidt@linux.ibm.com>
1031 * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Shift-right
1032 and shift-left vector built-ins need to include a TRUNC_MOD_EXPR
1033 for correct semantics.
1035 2019-02-11 Alan Modra <amodra@gmail.com>
1037 * doc/invoke.texi (man page RS/6000 and PowerPC Options): Mention
1038 -mlongcall and -mpltseq.
1039 (RS/6000 and PowerPC Options <-mlongcall>): Mention inline PLT calls.
1040 (RS/6000 and PowerPC Options <-mpltseq>): Document.
1041 * config/rs6000/rs6000.h (TARGET_PLTSEQ): Define.
1042 * config/rs6000/sysv4.opt (mpltseq): New option.
1043 * config/rs6000/sysv4.h (TARGET_PLTSEQ): Redefine.
1044 (SUBTARGET_OVERRIDE_OPTIONS): Error if given -mpltseq when assembler
1045 support is lacking. Don't allow -mpltseq with -mbss-plt.
1046 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Warn if
1047 -mpltseq given for ELFv1.
1048 * config/rs6000/rs6000.c (rs6000_call_aix): Comment on UNSPEC_PLTSEQ.
1049 Only use UNSPEC_PLTSEQ for inline PLT calls.
1050 (rs6000_call_sysv, rs6000_sibcall_sysv): Expand comments. Only
1051 use UNSPEC_PLTSEQ for inline PLT calls.
1052 (rs6000_indirect_call_template_1, rs6000_longcall_ref),
1053 (rs6000_call_aix, rs6000_call_sysv, rs6000_sibcall_sysv): Replace
1054 uses of HAVE_AS_PLTSEQ with TARGET_PLTSEQ, simplifying.
1055 * config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
1056 (pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
1057 (pltseq_mtctr_<mode>): Likewise.
1059 2019-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1061 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Use 8-byte strings with
1063 * configure: Regenerate.
1065 2019-02-11 Jakub Jelinek <jakub@redhat.com>
1068 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use q constraint
1071 2019-02-11 Hans-Peter Nilsson <hp@axis.com>
1073 * function.c (assign_parm_setup_block): Use the stored
1074 size, not the passed size, when allocating stack-space,
1075 also for a parameter with alignment larger than
1076 MAX_SUPPORTED_STACK_ALIGNMENT.
1078 2019-02-11 Martin Liska <mliska@suse.cz>
1081 * ipa-cp.c (build_toporder_info): Remove usage of a param.
1082 * ipa-inline.c (inline_small_functions): Likewise.
1083 * ipa-pure-const.c (propagate_pure_const): Likewise.
1084 (propagate_nothrow): Likewise.
1085 * ipa-reference.c (propagate): Likewise.
1086 * ipa-utils.c (struct searchc_env): Remove unused field.
1087 (searchc): Always search across AVAIL_INTERPOSABLE.
1088 (ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as
1089 the only called IPA pure const can properly not propagate
1090 across interposable boundary.
1091 * ipa-utils.h (ipa_reduced_postorder): Remove param.
1093 2019-02-11 Chung-Ju Wu <jasonwucj@gmail.com>
1095 * config/nds32/nds32.md (call_internal, call_value_internal,
1096 sibcall_internal, sibcall_value_internal): Use SImode for mem rtx.
1098 2019-02-11 Hans-Peter Nilsson <hp@axis.com>
1100 * config/cris/cris.c (cris_preferred_minimum_alignment): Fix name
1103 2019-02-10 H.J. Lu <hongjiu.lu@intel.com>
1105 * config/i386/constraints.md (Yd): Replace AVX512BW with AVX512DQ
1108 2019-02-10 Chung-Ju Wu <jasonwucj@gmail.com>
1110 * config.gcc (with_nds32_lib): Set default --with-nds32-lib correctly.
1112 2019-02-10 Jakub Jelinek <jakub@redhat.com>
1114 PR tree-optimization/89268
1115 * tree-if-conv.c (version_loop_for_if_conversion): Push to preds only
1116 if preds is non-NULL.
1118 2019-02-09 Jan Hubicka <hubicka@ucw.cz>
1121 * tree.c (fld_simplified_type_name): Also keep TYPE_DECL for
1124 2019-02-10 Monk Chiang <sh.chiang04@gmail.com>
1126 * config/nds32/nds32.md (trap): New pattern.
1128 2019-02-10 Monk Chiang <sh.chiang04@gmail.com>
1130 * config/nds32/nds32.c (nds32_dwarf_register_span): Refine register
1133 2019-02-10 Chung-Ju Wu <jasonwucj@gmail.com>
1135 * config/nds32/nds32-md-auxiliary.c (nds32_spilt_doubleword): Support
1138 2019-02-09 Jan Hubicka <hubicka@ucw.cz>
1140 * ipa-visibility.c (localize_node): Also do not localize
1141 LDPR_PREVAILING_DEF_IRONLY_EXP.
1143 2019-02-09 Jan Hubicka <hubicka@ucw.cz>
1146 * tree.c (fld_simplified_type_name): Use DECL_ASSEMBLER_NAME_SET_P
1147 instead of type_with_linkage.
1149 2019-02-09 Jan Hubicka <hubicka@ucw.cz>
1152 * params.def (uninlined-function-insns, uninlined-function-time,
1153 uninlined-thunk-insns, uninlined-thunk-time): Add artificial upper
1154 bound so we don't get overflows.
1156 2019-02-09 Aaron Sawdey <acsawdey@linux.ibm.com>
1158 * config/rs6000/rs6000-string.c (expand_compare_loop,
1159 expand_block_compare): Insert REG_BR_PROB notes in inline expansion of
1162 2019-02-09 Jakub Jelinek <jakub@redhat.com>
1165 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1166 If !node->definition and TYPE_ARG_TYPES is non-NULL, use
1167 TYPE_ARG_TYPES instead of DECL_ARGUMENTS.
1169 2019-02-09 Alan Modra <amodra@gmail.com>
1172 * config/rs6000/rs6000.c (save_reg_p): Correct calls_eh_return
1173 case. Match logic in rs6000_emit_prologue emitting pic_offset_table
1176 2019-02-08 Vladimir Makarov <vmakarov@redhat.com>
1179 * lra-constraints.c (process_alt_operands): Don't increase reject
1180 for memory when offset memory is required.
1182 2019-02-08 Robin Dapp <rdapp@linux.ibm.com>
1184 * config/s390/vector.md: Implement vector copysign.
1186 2019-02-08 H.J. Lu <hongjiu.lu@intel.com>
1188 * expr.c (expand_constructor): Correct indentations.
1190 2019-02-08 Richard Biener <rguenther@suse.de>
1192 PR tree-optimization/89247
1193 * tree-if-conv.c: Include tree-cfgcleanup.h.
1194 (version_loop_for_if_conversion): Record LOOP_VECTORIZED call.
1195 (tree_if_conversion): Pass through predicate vector.
1196 (pass_if_conversion::execute): Do CFG cleanup and SSA update
1197 inline, see if any if-converted loops we refrece in
1198 LOOP_VECTORIZED calls vanished and fixup.
1199 * tree-if-conv.h (tree_if_conversion): Adjust prototype.
1201 2019-02-08 Ilya Leoshkevich <iii@linux.ibm.com>
1203 * config/s390/constraints.md (jdd): New constraint.
1205 2019-02-08 H.J. Lu <hongjiu.lu@intel.com>
1208 * config/i386/i386.md (*movoi_internal_avx): Set mode to XI for
1209 upper 16 vector registers without TARGET_AVX512VL.
1210 (*movti_internal): Likewise.
1212 2019-02-08 Jakub Jelinek <jakub@redhat.com>
1214 PR rtl-optimization/89234
1215 * except.c (copy_reg_eh_region_note_forward): Return if note_or_insn
1216 is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P.
1217 (copy_reg_eh_region_note_backward): Likewise.
1219 2019-02-08 Richard Biener <rguenther@suse.de>
1222 * tree-data-ref.c (initialize_matrix_A): Fail if constant
1224 (analyze_subscript_affine_affine): Handle failure from
1225 initialize_matrix_A.
1227 2019-02-08 Jakub Jelinek <jakub@redhat.com>
1229 * cfganal.c (pre_and_rev_post_order_compute_fn): Use fn instead of
1232 2019-02-07 David Malcolm <dmalcolm@redhat.com>
1234 PR tree-optimization/86637
1235 PR tree-optimization/89235
1236 * tree-vect-loop.c (optimize_mask_stores): Add an
1237 auto_purge_vect_location sentinel to ensure that vect_location is
1240 (auto_purge_vect_location::~auto_purge_vect_location): New dtor.
1241 (try_vectorize_loop_1): Add an auto_purge_vect_location sentinel
1242 to ensure that vect_location is purged on exit.
1243 (pass_slp_vectorize::execute): Likewise, replacing the manual
1245 * tree-vectorizer.h (class auto_purge_vect_location): New class.
1247 2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1249 * config/aarch64/iterators.md (max_opp): New code_attr.
1250 (USMAX): New code iterator.
1251 * config/aarch64/predicates.md (aarch64_smin): New predicate.
1252 (aarch64_smax): Likewise.
1253 * config/aarch64/aarch64-simd.md (abd<mode>_3): Rename to...
1254 (*aarch64_<su>abd<mode>_3): ... Change RTL representation to
1257 2019-02-07 H.J. Lu <hongjiu.lu@intel.com>
1260 * config/i386/i386.md (*movoi_internal_avx): Set mode to OI
1261 for TARGET_AVX512VL.
1262 (*movti_internal): Set mode to TI for TARGET_AVX512VL.
1264 2019-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
1266 * config/s390/s390-builtin-types.def: Add new types.
1267 * config/s390/s390-builtins.def: (s390_vec_xl, s390_vec_xld2)
1268 (s390_vec_xlw4): Make the memory operand into a const pointer.
1269 (s390_vec_xld2, s390_vec_xlw4): Add a variant for single precision
1271 * config/s390/s390-c.c (s390_expand_overloaded_builtin): Generate
1272 a new vector type with the alignment of the scalar memory operand.
1274 2019-02-07 Matthew Malcomson <matthew.malcomson@arm.com>
1275 Jakub Jelinek <jakub@redhat.com>
1278 * config/arm/arm-protos.h (valid_operands_ldrd_strd,
1279 arm_count_ldrdstrd_insns): New declarations.
1280 * config/arm/arm.c (mem_ok_for_ldrd_strd): Remove broken handling of
1282 (valid_operands_ldrd_strd): New function.
1283 (arm_count_ldrdstrd_insns): New function.
1284 * config/arm/ldrdstrd.md: Change peepholes to generate PARALLEL SImode
1285 sets instead of single DImode set and define new insns to match this.
1287 2019-02-07 Tamar Christina <tamar.christina@arm.com>
1289 * config/aarch64/aarch64-builtins.c (aarch64_fcmla_lane_builtin_data):
1290 Make it a C initializer.
1292 2019-02-07 Tamar Christina <tamar.christina@arm.com>
1295 * config/arm/neon.md (*neon_mov<mode>): Add r -> r case.
1297 2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1299 * config/arm/neon.md (neon_<sup>dot<vsi2qi>):
1300 Use neon_dot<q> for type.
1301 (neon_<sup>dot_lane<vsi2qi>): Likewise.
1303 2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1305 * config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>):
1306 Use neon_dot<q> for type.
1307 (aarch64_<sur>dot_lane<vsi2qi>): Likewise.
1308 (aarch64_<sur>dot_laneq<vsi2qi>): Likewise.
1310 2019-02-06 Vladimir Makarov <vmakarov@redhat.com>
1312 PR rtl-optimization/89225
1313 * lra-constaints.c (simplify_operand_subreg): Add subreg mode
1316 2019-02-06 Eric Botcazou <ebotcazou@adacore.com>
1318 * config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage
1319 after restoring registers saved to allocate the frame on Windows.
1321 2019-02-06 Richard Biener <rguenther@suse.de>
1323 PR tree-optimization/89182
1324 * graphite.h (cached_scalar_evolution_in_region): Declare.
1325 * graphite.c (struct seir_cache_key): New.
1326 (struct sese_scev_hash): Likewise.
1327 (seir_cache): New global.
1328 (cached_scalar_evolution_in_region): New function.
1329 (graphite_transform_loops): Allocate and release seir_cache.
1330 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Use
1331 cached_scalar_evolution_in_region.
1332 * graphite-scop-detection.c (scop_detection::can_represent_loop):
1334 (scop_detection::graphite_can_represent_expr: Use
1335 cached_scalar_evolution_in_region.
1336 (scop_detection::stmt_simple_for_scop_p): Likewise.
1337 (find_params_in_bb): Likewise.
1338 (gather_bbs::before_dom_children): Likewise.
1339 * graphite-sese-to-poly.c (create_pw_aff_from_tree): Likewise.
1340 (add_loop_constraints): Likewise.
1342 2019-02-06 Jakub Jelinek <jakub@redhat.com>
1345 * fold-const-call.c (fold_const_vec_convert): Pass true as last
1346 operand to new_unary_operation only if both element types are integral
1347 and it isn't a widening conversion. Return NULL_TREE if
1348 new_unary_operation failed.
1350 2019-02-05 Andreas Krebbel <krebbel@linux.ibm.com>
1353 * config/s390/s390.md: Remove load and test FP splitter.
1355 2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com>
1358 * config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence,
1359 expand_compare_loop, expand_block_compare_gpr,
1360 expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert
1361 REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add
1362 #include "profile-count.h" and "predict.h" for types and functions
1363 needed to work with REG_BR_PROB notes.
1365 2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com>
1368 * config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
1369 for the long branch case.
1371 2019-02-05 Jakub Jelinek <jakub@redhat.com>
1374 * dce.c (delete_unmarked_insns): Don't remove no-op moves if they
1375 can throw, non-call exceptions are enabled and we can't delete
1376 dead exceptions or alter cfg. Set must_clean if
1377 delete_insn_and_edges returns true, don't set it blindly for calls.
1378 Assert that delete_unreachable_blocks is called only if can_alter_cfg.
1380 PR rtl-optimization/89195
1381 * combine.c (make_extraction): For MEMs, don't extract bytes outside
1382 of the original MEM.
1384 2019-02-05 Martin Liska <mliska@suse.cz>
1386 PR gcov-profile/89000
1387 * gcov.c (function_summary): Remove argument.
1388 (file_summary): New function.
1389 (print_usage): Replace tabs with spaces.
1390 (generate_results): Use new function file_summary.
1392 2019-02-05 Jakub Jelinek <jakub@redhat.com>
1395 * optabs.c (prepare_cmp_insn): Pass x and y to
1396 emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).
1398 2019-02-05 Richard Biener <rguenther@suse.de>
1401 * bitmap.h (struct bitmap_obstack): Do not mark GTY.
1402 (struct bitmap_element): Drop chain_prev so we properly recurse on
1403 the prev member, supporting tree views.
1404 (struct bitmap_head): GTY skip the obstack member.
1406 2019-02-04 Alexander Monakov <amonakov@ispras.ru>
1409 * doc/extend.texi (Vector Extensions): Add an example of using vector
1410 types together with x86 intrinsics.
1412 2019-02-04 Alan Modra <amodra@gmail.com>
1414 * config/rs6000/rs6000.c (rs6000_indirect_call_template_1): Increase
1415 str[] size to 160, and comment.
1417 2019-02-04 Alan Modra <amodra@gmail.com>
1419 * config/rs6000/rs6000.c (rs6000_indirect_call_template_1),
1420 (rs6000_pltseq_template): Guard output of TLS markers with
1422 (rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv),
1423 (rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding
1424 to use inline PLT sequences.
1425 * config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
1426 (pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
1427 (pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate.
1429 2019-02-04 Martin Liska <mliska@suse.cz>
1432 * ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
1433 out when ipa_fn_summaries does not contain entry for callee.
1435 2019-02-04 Eric Botcazou <ebotcazou@adacore.com>
1437 * config/sparc/sparc.h: Remove superfluous blank lines.
1438 * config/sparc/sparc.c (global_offset_table_rtx): Rename into...
1439 (got_register_rtx): ...this.
1440 (sparc_got): Adjust to above renaming.
1441 (sparc_tls_got): Likewise.
1442 (sparc_delegitimize_address): Likewise.
1443 (sparc_output_mi_thunk): Likewise.
1444 (sparc_init_pic_reg): Likewise.
1445 (save_local_or_in_reg_p): Fix test on the GOT register.
1446 (USE_HIDDEN_LINKONCE): Move around.
1447 (get_pc_thunk_name): Likewise.
1448 (gen_load_pcrel_sym): Likewise.
1449 (load_got_register): Likewise.
1451 2019-02-04 Kito Cheng <kito.cheng@gmail.com>
1453 * config/nds32/linux.h (GLIBC_DYNAMIC_LINKER): Define the naming rule
1454 of the dynamic linker: "ld-linux-nds32[le|be][f].so.1".
1456 2019-02-04 Chung-Ju Wu <jasonwucj@gmail.com>
1458 * config/nds32/nds32.c (nds32_legitimate_address_p): Add TLS model
1461 2019-02-04 Chung-Ju Wu <jasonwucj@gmail.com>
1463 * config.gcc (with_nds32_lib, glibc):
1464 Remove TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0 setting.
1465 * config/nds32/linux.h (TARGET_DEFAULT_TLSDESC_TRAMPOLINE): Delete.
1466 (NDS32_TLSDESC_TRAMPOLINE_SPEC): Delete.
1468 2019-02-03 Uroš Bizjak <ubizjak@gmail.com>
1471 * config/i386/i386.md (*sqrt<mode>2_sse): Add (v,0) alternative.
1472 Do not prefer (v,v) alternative for non-AVX targets and (m,v)
1473 alternative for speed when TARGET_SSE_PARTIAL_REG_DEPENDENCY is set.
1474 (*rcpsf2_sse): Ditto.
1475 (*rsqrtsf2_sse): Ditto.
1476 (sse4_1_round<mode<2): Ditto.
1478 2019-02-03 Richard Biener <rguenther@suse.de>
1481 * dwarf2out.c (copy_ancestor_tree): Register non-stubs as
1484 2019-02-02 Jakub Jelinek <jakub@redhat.com>
1487 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1488 Punt with warning on aggregate return or argument types. Ignore
1489 type/mode checking for uniform arguments.
1491 2019-02-01 Segher Boessenkool <segher@kernel.crashing.org>
1493 * combine.c (try_combine): Do not print "Can't combine" messages unless
1494 printing failed combination attempts.
1496 2019-02-01 Martin Jambor <mjambor@suse.cz>
1499 * omp-grid.c (grid_mark_variable_segment): Set assembler name of group
1500 segment and global segment variables before making them static.
1502 2019-02-01 Martin Jambor <mjambor@suse.cz>
1504 * omp-grid.c (grid_target_follows_gridifiable_pattern): Guard two
1505 missed optimization dump with dump_enabled_p.
1507 2019-02-01 Richard Biener <rguenther@suse.de>
1510 * tree-scalar-evolution.c (analyze_scalar_evolution): Set up
1511 the instantiate cache.
1512 (instantiate_scev_binary): Elide second operand procesing
1513 if equal to the first.
1514 * tree-chrec.c (chrec_contains_symbols): Add visited set.
1515 (chrec_contains_undetermined): Likewise.
1516 (tree_contains_chrecs): Likewise.
1518 2019-02-01 Jan Hubicka <hubicka@ucw.cz>
1520 * parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
1522 2019-02-01 Jakub Jelinek <jakub@redhat.com>
1524 PR tree-optimization/89143
1525 * wide-int-range.h (wide_int_range_absu): Declare.
1526 * wide-int-range.cc (wide_int_range_absu): New function.
1527 * tree-vrp.c (extract_range_from_unary_expr): Handle ABSU_EXPR.
1529 PR tree-optimization/88107
1530 * tree-cfg.c (find_outermost_region_in_block): Add ALL argument,
1531 instead of assertion that eh_region_outermost is non-NULL, if it
1532 is NULL, set *ALL to true and return NULL.
1533 (move_sese_region_to_fn): Adjust caller, if all is set, call
1534 duplicate_eh_regions with NULL region.
1536 2019-02-01 Richard Biener <rguenth@suse.de>
1538 PR rtl-optimization/88593
1539 * mode-switching.c (optimize_mode_switching): Free dominators before
1540 calling cleanup_cfg.
1542 2019-02-01 Bin Cheng <bin.cheng@linux.alibaba.com>
1544 PR tree-optimization/88932
1545 * tree-predcom.c (try_combine_chains): Get loop bbs in dom order.
1547 2019-01-31 Jakub Jelinek <jakub@redhat.com>
1550 * omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid
1551 bogus clang warning.
1553 2019-01-31 Uroš Bizjak <ubizjak@gmail.com>
1556 * config/i386/i386.md (*extendsfdf2): Split out reg->reg
1557 alternative to avoid partial SSE register stall for TARGET_AVX.
1558 (truncdfsf2): Ditto.
1559 (sse4_1_round<mode>2): Ditto.
1561 2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com>
1563 PR tree-optimization/89008
1564 * gimple-ssa-strength-reduction.c (slsr_process_mul): Don't
1565 process anything of the form X * 0.
1567 2019-01-31 Richard Biener <rguenther@suse.de>
1569 PR tree-optimization/89135
1570 * tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks
1571 with abnormal preds.
1573 2019-01-31 Jakub Jelinek <jakub@redhat.com>
1576 * ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining
1577 always_inline callees into no_sanitize_address callers.
1579 2019-01-31 Richard Biener <rguenther@suse.de>
1581 PR rtl-optimization/89115
1582 * lra.c (lra_rtx_hash): Properly hash CONST_INT values.
1584 2019-01-30 Martin Sebor <msebor@redhat.com>
1587 * doc/extend.texi (cast to a union): Correct and expand.
1589 2019-01-30 Vladimir Makarov <vmakarov@redhat.com>
1591 PR rtl-optimization/87246
1592 * lra-constraints.c (simplify_operand_subreg): Reload memory
1593 in subreg if the address became invalid.
1595 2019-01-30 Bill Schmidt <wschmidt@linux.ibm.com>
1598 * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v4sf_scalar):
1599 Disable for little-endian.
1601 2019-01-30 Richard Biener <rguenther@suse.de>
1603 PR rtl-optimization/89115
1604 * opts.c (default_options_optimization): Reduce
1605 PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1.
1606 Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative
1609 2019-01-30 Kelvin Nilsen <kelvin@gcc.gnu.org>
1611 * config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin):
1612 Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT. Coerce result to
1613 type of vector element when vec_extract is implemented by direct
1616 2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
1618 * doc/invoke.texi (C Language Options): List "-fopenacc-dim".
1620 2019-01-30 Richard Biener <rguenther@suse.de>
1622 PR tree-optimization/89111
1623 * tree-ssa-loop-im.c (gather_mem_refs_stmt): Restrict
1624 canonicalization to appropriately sized access types.
1626 2019-01-30 Jakub Jelinek <jakub@redhat.com>
1629 * config/i386/i386.c (ix86_warn_parameter_passing_abi): Don't warn
1630 for arguments to functions that are TU-local and shouldn't be
1631 referenced by assembly.
1633 2019-01-30 Ulrich Drepper <drepper@redhat.com>
1635 * dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears
1638 2019-01-29 Martin Sebor <msebor@redhat.com>
1641 * gimple-fold.c (fold_array_ctor_reference): Avoid zero-length arrays.
1643 2019-01-29 Jakub Jelinek <jakub@redhat.com>
1647 * omp-simd-clone.c (simd_clone_clauses_extract)
1648 <case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL
1649 OMP_CLAUSE_ALIGNED_ALIGNMENT.
1651 2019-01-29 Vineet Gupta <vgupta@synopsys.com>
1653 * config.gcc: Force .init_array for ARC.
1655 2019-01-29 Richard Biener <rguenther@suse.de>
1658 * dwarf2out.c (collect_skeleton_dies): New helper.
1659 (copy_decls_for_unworthy_types): Call it.
1660 (build_abbrev_table): Assert we do not try to replace
1661 DW_AT_signature refs with local refs.
1663 2019-01-28 Jakub Jelinek <jakub@redhat.com>
1666 * gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
1667 for lastprivate/linear IV, push gimplify context around gimplify_assign
1668 and, if it needed any temporaries, pop it into a gimple bind around the
1671 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1673 * common.opt (-Wattribute-alias): Remove "no-" from name.
1674 Make -Wattribute-alias command line option and
1675 #pragma GCC diagnostic ignored "-Wattribute-alias" work again.
1677 2019-01-28 Jakub Jelinek <jakub@redhat.com>
1680 * doc/invoke.texi (-mclwb, -mprfchw, -mrdpid, -mrdseed, -msgx,
1681 -madx, -mhle, -mavx5124fmaps, -mavx512vnni, -mavx5124vnniw): Document
1683 (bmi2): Add missing @opindex.
1684 * doc/extend.texi (x86 target attribute): Move fma4, lwp, ssse3
1685 options alphabetically. Add missing 3dnow, 3dnowa, adx, avx, avx2,
1686 avx5124fmaps, avx5124vnniw, avx512bitalg, avx512bw, avx512cd,
1687 avx512dq, avx512er, avx512f, avx512ifma, avx512pf, avx512vbmi,
1688 avx512vbmi2, avx512vl, avx512vnni, avx512vpopcntdq, bmi, bmi2,
1689 cldemote, clflushopt, clwb, clzero, crc32, cx16, f16c, fma, fsgsbase,
1690 fxsr, gfni, hle, lzcnt, movbe, movdir64b, movdiri, mwaitx, pconfig,
1691 pku, prefetchwt1, prfchw, ptwrite, rdpid, rdrnd, rdseed, rtm, sahf,
1692 sgx, sha, shstk, tbm, vaes, vpclmulqdq, waitpkg, wbnoinvd, xsave,
1693 xsavec, xsaveopt and xsaves options.
1695 2019-01-28 Richard Biener <rguenther@suse.de>
1698 * dwarf2out.c (gen_subprogram_die): Remove leftover from MPX
1701 2019-01-28 Richard Biener <rguenther@suse.de>
1703 PR tree-optimization/88739
1704 * tree-cfg.c (verify_types_in_gimple_reference): Verify
1705 BIT_FIELD_REFs only are applied to mode-precision operands
1706 when they are integral.
1707 (verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR.
1708 * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating
1709 BIT_FIELD_REFs of non-mode-precision integral operands.
1711 2019-01-27 Jakub Jelinek <jakub@redhat.com>
1714 * config/i386/sse.md
1715 (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>,
1716 avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the
1717 first constants in pairs are multiples of 2. Formatting fixes.
1718 (avx512vl_shuf_<shuffletype>32x4_1<mask_name>,
1719 avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the
1720 first constants in each quadruple are multiples of 4. Formatting fixes.
1722 2019-01-26 Martin Jambor <mjambor@suse.cz>
1725 * tree-inline.c: Include tree-cfgcleanup.h.
1726 (delete_unreachable_blocks_update_callgraph): Move...
1727 * tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
1728 ...here, make externally visible, make second argument bool, adjust
1730 * tree-cfgcleanup.c: Include cgraph.h.
1731 * tree-cfgcleanup.h (delete_unreachable_blocks_update_callgraph):
1733 * ipa-prop.c: Include tree-cfgcleanup.h.
1734 (ipcp_transform_function): Call
1735 delete_unreachable_blocks_update_callgraph instead of cleaning uo CFG.
1737 2019-01-25 Vladimir Makarov <vmakarov@redhat.com>
1739 PR rtl-optimization/88846
1740 * ira.c (process_set_for_memref_referenced_p): New.
1741 (memref_referenced_p): Add new param. Use
1742 process_set_for_memref_referenced_p. Add new switch cases.
1743 (memref_used_between_p): Pass new arg to memref_referenced_p.
1745 2019-01-25 Richard Earnshaw <rearnsha@arm.com>
1748 * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Add new
1749 argument ABI_BREAK. Set to true if the calculated alignment has
1750 changed in gcc-9. Check bit-fields for their base type alignment.
1751 (aarch64_layout_arg): Warn if argument passing has changed in gcc-9.
1752 (aarch64_function_arg_boundary): Likewise.
1753 (aarch64_gimplify_va_arg_expr): Likewise.
1755 2019-01-25 Richard Sandiford <richard.sandiford@arm.com>
1758 * varasm.c (output_constructor_bitfield): Use wi::extract_uhwi
1759 instead of accessing TREE_INT_CST_ELT directly.
1761 2019-01-25 Christophe Lyon <christophe.lyon@linaro.org>
1763 * doc/sourcebuild.texi (Environment attributes): Add fenv and
1764 fenv_exceptions description.
1766 2019-01-25 Wilco Dijkstra <wdijkstr@arm.com>
1768 PR rtl-optimization/87763
1769 * config/aarch64/aarch64.c (aarch64_select_cc_mode):
1770 Allow SUBREG when matching CC_NZmode compare.
1772 2019-01-25 Richard Biener <rguenther@suse.de>
1774 PR tree-optimization/89049
1775 * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
1776 Look at the pattern stmt to determine if the stmt is vectorized.
1778 2019-01-25 Richard Sandiford <richard.sandiford@arm.com>
1780 * config/aarch64/aarch64-sve.md (*pred_mov<mode>)
1781 (pred_mov<mode>): Handle all-register forms using both a new
1782 alternative and a split.
1784 2019-01-25 Richard Biener <rguenther@suse.de>
1786 PR tree-optimization/86865
1787 * graphite-scop-detection.c (scop_detection::can_represent_loop):
1788 Reject non-do-while loops.
1790 2019-01-24 Peter Bergner <bergner@linux.ibm.com>
1792 * config/rs6000/altivec.md (build_vector_mask_for_load): Use MEM_P.
1793 * config/rs6000/constraints.md (Q constraint): Use REG_P.
1794 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Use SYMBOL_REF_P.
1795 * config/rs6000/freebsd64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use
1796 SYMBOL_REF_P, CONST_INT_P and CONST_DOUBLE_P.
1797 * config/rs6000/linux64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
1798 * config/rs6000/predicates.md (altivec_register_operand, vint_operand,
1799 vsx_register_operand, vsx_reg_sfsubreg_ok, vfloat_operand,
1800 vlogical_operand, gpc_reg_operand, int_reg_operand,
1801 int_reg_operand_not_pseudo): Use SUBREG_P and HARD_REGISTER_P.
1802 (ca_operand, base_reg_operand, htm_spr_reg_operand, cc_reg_operand,
1803 cc_reg_not_cr0_operand, input_operand): Use SUBREG_P.
1804 (save_world_operation, restore_world_operation, lmw_operation,
1805 stmw_operation): Use MEM_P and REG_P.
1806 (tie_operand): Use MEM_P.
1807 (vrsave_operation, crsave_operation): Use REG_P.
1808 (mfcr_operation, mtcrf_operation): Use REG_P and CONST_INT_P.
1809 (fpr_reg_operand): Use SUBREG_P and HARD_REGISTER_NUM_P.
1810 (quad_int_reg_operand): Use HARD_REGISTER_NUM_P.
1811 (call_operand): Use HARD_REGISTER_P.
1812 (indexed_or_indirect_operand, altivec_indexed_or_indirect_operand):
1814 (lwa_operand): Use SUBREG_P, REG_P and CONST_INT_P.
1815 * config/rs6000/rs6000-p8swap.c (insn_is_load_p, insn_is_store_p,
1816 quad_aligned_load_p, replace_swapped_aligned_store,
1817 recombine_lvx_pattern, replace_swapped_aligned_load,
1818 recombine_stvx_pattern): Use MEM_P.
1819 (const_load_sequence_p, adjust_vperm, replace_swapped_load_constant):
1820 Use MEM_P and SYMBOL_REF_P.
1821 (rtx_is_swappable_p): Use REG_P and CONST_INT_P.
1822 (insn_is_swappable_p): Use REG_P and MEM_P.
1823 (insn_is_swap_p, (alignment_mask): Use CONST_INT_P.
1824 * config/rs6000/rs6000-string.c (expand_block_clear, expand_block_move):
1826 * config/rs6000/rs6000.c (rs6000_secondary_reload, rs6000_emit_cmove):
1828 (rs6000_output_move_128bit): Use CONST_DOUBLE_P, CONST_INT_P and
1830 (rs6000_legitimize_address): Use CONST_DOUBLE_P, CONST_INT_P,
1831 CONST_WIDE_INT_P, REG_P and SYMBOL_REF_P.
1832 (rs6000_emit_move): Use CONST_DOUBLE_P, CONST_INT_P, HARD_REGISTER_P,
1833 HARD_REGISTER_NUM_P, MEM_P, REG_P, SUBREG_P, SYMBOL_REF_P and
1835 (output_toc): Use CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P.
1836 (easy_altivec_constant, rs6000_legitimate_offset_address_p,
1837 rs6000_mode_dependent_address, rs6000_expand_mtfsf_builtin,
1838 rs6000_expand_set_fpscr_rn_builtin, rs6000_expand_set_fpscr_drn_builtin,
1839 rs6000_expand_unop_builtin, INT_P, rs6000_generate_compare,
1840 rs6000_machopic_legitimize_pic_address, rs6000_split_logical_inner,
1841 rs6000_split_logical_di): Use CONST_INT_P.
1842 (rs6000_legitimize_reload_address): Use CONST_INT_P, HARD_REGISTER_P,
1843 REG_P and SYMBOL_REF_P.
1844 (setup_incoming_varargs, rs6000_rtx_costs): Use CONST_INT_P and MEM_P.
1845 (print_operand): Use CONST_INT_P, MEM_P and REG_P.
1846 (virtual_stack_registers_memory_p, rs6000_legitimate_address_p,
1847 mems_ok_for_quad_peep): Use CONST_INT_P and REG_P.
1848 (rs6000_secondary_reload_memory): Use CONST_INT_P and SUBREG_P.
1849 (small_data_operand, print_operand_address): Use CONST_INT_P and
1851 (split_stack_arg_pointer_used_p): Use HARD_REGISTER_P.
1852 (rs6000_init_hard_regno_mode_ok, direct_move_p):
1853 Use HARD_REGISTER_NUM_P.
1854 (rs6000_secondary_reload_gpr): Use HARD_REGISTER_NUM_P and MEM_P.
1855 (rs6000_secondary_reload_class): Use HARD_REGISTER_NUM_P, REG_P,
1856 SUBREG_P and SYMBOL_REF_P.
1857 (register_to_reg_type, rs6000_secondary_reload_inner): Use SUBREG_P
1858 and HARD_REGISTER_NUM_P.
1859 (rs6000_adjust_vec_address): Use HARD_REGISTER_NUM_P and
1861 (rs6000_adjust_cost, find_mem_ref): Use MEM_P.
1862 (macho_lo_sum_memory_operand, rs6000_eliminate_indexed_memrefs): Use
1864 (legitimate_indirect_address_p, legitimate_lo_sum_address_p,
1865 registers_ok_for_quad_peep, rs6000_output_function_epilogue,
1866 find_addr_reg): Use REG_P.
1867 (altivec_expand_vec_perm_const): Use REG_P and SUBREG_P.
1868 (rs6000_emit_le_vsx_move): Use SUBREG_P.
1869 (offsettable_ok_by_alignment, constant_pool_expr_p,
1870 legitimate_small_data_p, rs6000_output_dwarf_dtprel,
1871 rs6000_delegitimize_address, rs6000_const_not_ok_for_debug_p,
1872 rs6000_cannot_force_const_mem, rs6000_output_addr_const_extra,
1873 rs6000_assemble_integer, create_TOC_reference,
1874 rs6000_emit_allocate_stack, rs6000_xcoff_encode_section_info,
1875 rs6000_call_aix, rs6000_call_aix): Use SYMBOL_REF_P.
1876 (rs6000_split_vec_extract_var): Use reg_or_subregno.
1877 * config/rs6000/rtems.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use
1878 CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P.
1879 * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
1880 * config/rs6000/xcoff.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
1881 * config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Use SYMBOL_REF_P.
1882 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Use HARD_REGISTER_NUM_P.
1883 (INT_REG_OK_FOR_INDEX_P, INT_REG_OK_FOR_BASE_P): Use HARD_REGISTER_P.
1884 (CONSTANT_ADDRESS_P): Use CONST_INT_P and SYMBOL_REF_P.
1885 * config/rs6000/rs6000.md (define_expands strlensi, mod<mode>3
1886 and cbranch<mode>4): Use CONST_INT_P.
1887 (multiple define_splits): Use REG_P and SUBREG_P.
1888 (define_expands call, call_value): Use MEM_P.
1889 (define_expands sibcall, sibcall_value): Use CONST_INT_P and MEM_P.
1890 (define insn *mtcrfsi): Use CONST_INT_P and REG_P.
1891 * config/rs6000/vsx.md (*vsx_le_perm_load_<mode>,
1892 *vsx_le_perm_load_v8hi, *vsx_le_perm_load_v16qi): Use HARD_REGISTER_P
1893 and HARD_REGISTER_NUM_P.
1894 (multiple define_splits): Use HARD_REGISTER_NUM_P.
1896 2019-01-24 Uroš Bizjak <ubizjak@gmail.com>
1898 PR rtl-optimization/88948
1899 * rtl.h (prepare_copy_insn): New prototype.
1900 * gcse.c (prepare_copy_insn): New function, split out from
1901 process_insert_insn.
1902 (process_insert_insn): Use prepare_copy_insn.
1903 * store-motion.c (replace_store_insn): Use prepare_copy_insn
1904 instead of gen_move_insn.
1906 2019-01-24 Jakub Jelinek <jakub@redhat.com>
1909 * config/i386/i386.c (ix86_pic_register_p): Return true for
1912 PR tree-optimization/88964
1913 * gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Also
1914 punt if HONOR_SNANS (chrec).
1917 * tree-nested.c (convert_nonlocal_reference_stmt,
1918 convert_local_reference_stmt, convert_tramp_reference_stmt,
1919 convert_gimple_call) <case GIMPLE_OMP_TEAMS>: Treat
1920 gimple_omp_teams_host teams stmts like GIMPLE_OMP_PARALLEL
1923 PR tree-optimization/89027
1924 * tree-inline.c (add_clobbers_to_eh_landing_pad): Don't add clobbers
1925 for "omp simd array" variables.
1927 2019-01-24 Richard Earnshaw <rearnsha@arm.com>
1930 * profile-count.h (profile_count): On ARM systems using GCC 6/7/8
1931 force the alignment of m_val.
1933 2019-01-24 Richard Biener <rguenther@suse.de>
1936 * tree-streamer-out.c (write_ts_decl_common_tree_pointers):
1937 When in "legacy" debug mode make sure to reset self-origins.
1939 2019-01-24 Martin Liska <mliska@suse.cz>
1941 PR gcov-profile/88994
1942 * gcov-io.c (mangle_path): Do not allocate a bigger buffer,
1943 result will be always smaller or equal to the original.
1944 * gcov.c (mangle_name): Fix else branch where we should
1945 also copy to PTR and shift the pointer.
1947 2019-01-24 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
1949 * tree-ssa-dom.c (test_for_singularity): Fix a comment typo.
1950 * vr-values.c (find_case_label_ranges): Fix a comment typo.
1952 2019-01-23 Bin Cheng <bin.cheng@arm.com>
1953 Steve Ellcey <sellcey@marvell.com>
1956 * recog.c (address_operand): Return false on wrong mode for address.
1957 (constrain_operands): Check for mode with 'p' constraint.
1959 2019-01-23 Uroš Bizjak <ubizjak@gmail.com>
1962 * config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives.
1963 Disparage MMX alternative.
1964 (sse2_cvtpd2pi): Ditto.
1965 (sse2_cvttpd2pi): Ditto.
1967 2019-01-23 David Malcolm <dmalcolm@redhat.com>
1970 * config/aarch64/driver-aarch64.c (host_detect_local_cpu): Fix
1971 use-after-free of the result of
1972 aarch64_get_extension_string_for_isa_flags.
1974 2019-01-23 Jakub Jelinek <jakub@redhat.com>
1977 * doc/extend.texi: Document break and continue behavior in
1978 statement expressions.
1980 2019-01-23 Richard Biener <rguenther@suse.de>
1982 PR tree-optimization/89008
1983 * tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do
1984 not leave another stray operand.
1986 2019-01-23 Jakub Jelinek <jakub@redhat.com>
1988 * BASE-VER: Bump to 9.0.1.
1990 2019-01-23 Eric Botcazou <ebotcazou@adacore.com>
1992 * cgraphunit.c (cgraph_node::expand_thunk): When expanding a GIMPLE
1993 thunk that returns by reference, use the type of the return object
1994 of the thunk instead of that of the alias to build the dereference.
1996 2019-01-23 Vineet Gupta <vgupta@synopsys.com>
1998 * config/arc/atomic.md: Add operand to DMB instruction.
2000 2019-01-23 Jakub Jelinek <jakub@redhat.com>
2002 PR tree-optimization/88964
2003 * gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Use
2004 build_zero_cst instead of build_int_cst. Return false for loop
2005 invariants which honor signed zeros.
2007 2019-01-22 Segher Boessenkool <segher@kernel.crashing.org>
2009 * doc/invoke.texi (-fsplit-paths): This is enabled by default at -O3.
2011 2019-01-22 Jakub Jelinek <jakub@redhat.com>
2014 * config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h.
2015 (rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy
2016 is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first.
2019 * gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with
2020 non-integral DECL_BIT_FIELD_REPRESENTATIVEs.
2023 * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
2024 Disable for little endian.
2026 2019-01-22 Richard Earnshaw <rearnsha@arm.com>
2029 * config/arm/arm.c (arm_needs_double_word_align): Check
2030 DECL_BIT_FIELD_TYPE.
2032 2019-01-22 Hongtao Liu <hongtao.liu@intel.com>
2033 H.J. Lu <hongjiu.lu@intel.com>
2036 * config/i386/i386-builtin.def: Add mask2 to all builtin
2037 initializations. Merge ARGS2 and SPECIAL_ARGS2 into ARGS and
2039 * config/i386/i386.c (BDESC): Add mask2 to the definition.
2040 (BDESC_FIRST): Likewise.
2041 (define_builtin): Add an argument for mask2. Updated to handle
2042 both ix86_isa_flags and ix86_isa_flags2.
2043 (define_builtin_const): Likewise.
2044 (define_builtin_pure): Likewise.
2045 (define_builtin2): Deleted.
2046 (define_builtin_const2): Likewise.
2047 (builtin_description): Add a member, mask2.
2048 (bdesc_*): Add mask2 to builtin initializations.
2049 (ix86_init_mmx_sse_builtins): Update calls to def_builtin,
2050 def_builtin_const and def_builtin_pure. Remove SPECIAL_ARGS2
2052 (ix86_get_builtin_func_type): Remove SPECIAL_ARGS2 support.
2054 2019-01-22 H.J. Lu <hongjiu.lu@intel.com>
2057 * config/i386/i386.c (ix86_force_load_from_GOT_p): Also check
2060 2019-01-22 Richard Earnshaw <rearnsha@arm.com>
2063 * config/arm/arm.c (arm_needs_doubleword_align): Return 2 if a record's
2064 alignment is dominated by a bitfield with 64-bit aligned base type.
2065 (arm_function_arg): Emit a warning if the alignment has changed since
2066 earlier GCC releases.
2067 (arm_function_arg_boundary): Likewise.
2068 (arm_setup_incoming_varargs): Likewise.
2070 2019-01-22 Richard Biener <rguenther@suse.de>
2072 PR tree-optimization/88862
2073 * graphite-scop-detection.c
2074 (scop_detection::graphite_can_represent_scev): Reject ADDR_EXPR.
2076 2019-01-22 Andrew Stubbs <ams@codesourcery.com>
2078 * doc/extend.tex (AMD GCN Function Attributes): New section.
2079 * doc/install.texi (amdgcn-unknown-amdhsa): New instructions.
2080 * doc/invoke.texi (AMD GCN Options): New section.
2081 * doc/md.texi (Constraints for Particular Machines): Add AMD GCN.
2083 2019-01-22 Eric Botcazou <ebotcazou@adacore.com>
2085 * config/sparc/sparc.c (parc_delegitimize_address): Recognize the GOT
2086 register and decoded HIGH/LO_SUM combinations for labels in PIC mode.
2088 2019-01-22 Jakub Jelinek <jakub@redhat.com>
2090 PR tree-optimization/88044
2091 * tree-ssa-loop-niter.c (number_of_iterations_cond): If condition
2092 is false in the first iteration, but !every_iteration, return false
2093 instead of true with niter->niter zero.
2095 PR rtl-optimization/88904
2096 * cfgcleanup.c (thread_jump): Verify cond2 doesn't mention
2097 any nonequal registers before processing BB_END (b).
2100 * optabs.c (add_equal_note): Add op0_mode argument, use it instead of
2102 (expand_binop_directly, expand_doubleword_clz,
2103 expand_doubleword_popcount, expand_ctz, expand_ffs,
2104 expand_unop_direct, maybe_emit_unop_insn): Adjust callers.
2106 PR rtl-optimization/49429
2108 PR rtl-optimization/86334
2110 * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
2111 addressable from here...
2112 (emit_block_op_via_libcall): ... to here.
2114 2019-01-22 Richard Biener <rguenther@suse.de>
2116 * tree-vect-loop.c (vect_analyze_loop_operations): Use
2117 auto_vec for cost vector to fix memleak.
2118 (vectorize_fold_left_reduction): Properly gather SLP defs.
2119 (vectorizable_comparison): Do not swap operands to properly
2122 2019-01-22 Alan Modra <amodra@gmail.com>
2125 * config/rs6000/predicates.md (unspec_tls): Ensure GOT reg
2126 stays a reg. Allow a const_int.
2127 * config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare.
2128 * config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define.
2129 (IS_NOMARK_TLSGETADDR): Define.
2130 * config/rs6000/rs6000.c (edit_tls_call_insn): Delete.
2131 (rs6000_output_tlsargs): New function.
2132 (rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS
2133 __tls_get_addr call takes an arg.
2134 (rs6000_call_sysv): Generate sysv4 secure plt call pattern here..
2135 * config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here,
2137 (call_value_nonlocal_sysv): ..or here, delete split.
2138 (tls_gdld_nomark): Delete.
2139 (call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2
2140 predicate. Call rs6000_output_tlsargs. Adjust length to suit.
2141 (call_value_nonlocal_sysv): Likewise.
2142 (call_value_nonlocal_sysv_secure): Likewise.
2143 (call_value_nonlocal_aix): Likewise.
2144 (call_value_indirect_aix): Likewise.
2145 (call_value_indirect_elfv2): Likewise.
2146 (call_value_local32, call_value_local64): Disable for no-mark tls.
2147 (call_value_local_aix): Likewise.
2149 2019-01-21 Uroš Bizjak <ubizjak@gmail.com>
2152 * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32,
2153 case IX86_BUILTIN_BEXTRI64]: Sanitize operands.
2155 2019-01-21 Michael Ploujnikov <michael.ploujnikov@oracle.com>
2157 * hash-map-tests.c (test_map_of_strings_to_int): Show how to use
2158 string contents as hash_map keys.
2160 2019-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2163 * c-warn.c (check_alignment_of_packed_member): Add a boolean parameter
2164 for rvalue context. Handle rvalues correctly. Use min_align_of_type
2165 instead of TYPE_ALIGN.
2166 (check_address_or_pointer_of_packed_member): Handle rvalues coorrectly.
2167 Use min_align_of_type instead of TYPE_ALIGN_UNIT. Check for NULL
2168 pointer from TYPE_STUB_DECL.
2170 2019-01-21 Richard Biener <rguenther@suse.de>
2172 PR tree-optimization/88934
2173 * tree-vect-slp.c (vect_mask_constant_operand_p): Always look
2174 at the possibly non-constant operand.
2175 (vect_get_constant_vectors): Adjust.
2177 2019-01-21 H.J. Lu <hongjiu.lu@intel.com>
2180 * config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED.
2181 * config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED
2182 instead of _X86INTRIN_H_INCLUDED.
2183 * onfig/i386/clwbintrin.h: Likewise.
2184 * config/i386/pkuintrin.h: Likewise.
2185 * config/i386/prfchwintrin.h: Likewise.
2186 * config/i386/rdseedintrin.h: Likewise.
2187 * config/i386/wbnoinvdintrin.h: Likewise.
2188 * config/i386/xsavecintrin.h: Likewise.
2189 * config/i386/xsavesintrin.h: Likewise.
2190 * config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check.
2191 * config/i386/xsaveintrin.h: Likewise.
2192 * config/i386/xsaveoptintrin.h: Likewise.
2193 * config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>,
2194 <prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>,
2195 <xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>,
2196 <clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>,
2197 <wbnoinvdintrin.h> and <pkuintrin.h> to ...
2198 * config/i386/immintrin.h: Here.
2200 2019-01-20 Martin Jambor <mjambor@suse.cz>
2203 * ipa-prop.h (struct ipa_func_body_info): Replaced field aa_walked
2204 with aa_walk_budget.
2205 * cgraph.h (ipa_polymorphic_call_context::get_dynamic_type): Add
2206 aa_walk_budget_p parameter.
2207 * ipa-fnsummary.c (unmodified_parm_1): New parameter fbi. Limit AA
2208 walk. Updated all callers.
2209 (unmodified_parm): New parameter fbi, pass it to unmodified_parm_1.
2210 (eliminated_by_inlining_prob): New parameter fbi, pass it on to
2212 (will_be_nonconstant_expr_predicate): New parameter fbi, removed
2213 parameter info. Extract info from fbi. Pass fbi to recursive calls
2214 and to unmodified_parm.
2215 (phi_result_unknown_predicate): New parameter fbi, removed parameter
2216 info, updated call to will_be_nonconstant_expr_predicate.
2217 (param_change_prob): New parameter fbi, limit AA walking.
2218 (analyze_function_body): Initialize aa_walk_budget in fbi. Update
2219 calls to various above functions.
2220 * ipa-polymorphic-call.c (get_dynamic_type): Add aa_walk_budget_p
2221 parameter. Use it to limit AA walking.
2222 * ipa-prop.c (detect_type_change_from_memory_writes): New parameter
2224 (detect_type_change): New parameter fbi, pass it on to
2225 detect_type_change_from_memory_writes.
2226 (detect_type_change_ssa): Likewise.
2227 (aa_overwalked): Removed.
2228 (parm_preserved_before_stmt_p): Assume fbi is never NULL, stream line
2229 accordingly, adjust to the neew AA limiting scheme.
2230 (parm_ref_data_preserved_p): Likewise.
2231 (ipa_compute_jump_functions_for_edge): Adjust call to
2233 (ipa_analyze_call_uses): Likewise.
2234 (ipa_analyze_virtual_call_uses): Pass fbi to detect_type_change_ssa.
2235 (ipa_analyze_node): Initialize aa_walk_budget.
2236 (ipcp_transform_function): Likewise.
2237 * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): Update call
2238 to get_dynamic_type.
2240 2019-01-19 Jakub Jelinek <jakub@redhat.com>
2242 * config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move
2243 outside of #if CHECKING_P code.
2245 2019-01-19 Richard Sandiford <richard.sandiford@arm.com>
2247 * gimple-loop-versioning.cc (loop_versioning::dump_inner_likelihood):
2248 New function, split out from...
2249 (loop_versioning::analyze_stride): ...here.
2250 (loop_versioning::find_per_loop_multiplication): Use gassign.
2251 (loop_versioning::analyze_term_using_scevs): Return a success code.
2252 (loop_versioning::analyze_arbitrary_term): New function.
2253 (loop_versioning::analyze_address_fragment): Use
2254 analyze_arbitrary_term if all else fails.
2256 2019-01-18 Segher Boessenkool <segher@kernel.crashing.org>
2259 * config/rs6000/rs6000.md (*movsi_from_df): Allow only register
2262 2019-01-18 Richard Biener <rguenther@suse.de>
2264 PR tree-optimization/88903
2265 * tree-vect-stmts.c (vectorizable_shift): Verify we see all
2266 scalar stmts a SLP shift amount is composed of when detecting
2269 2019-01-18 Richard Earnshaw <rearnsha@arm.com>
2272 * config/arm/arm-cpus.in (mp): New feature.
2274 (fgroup ARMv7ve): Add mp and sec features.
2275 (arch armv7-a): Add options to allow mp and sec extensions.
2276 (cpu generic-armv7-a): Add options to allow mp and sec extensions.
2277 (cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec
2278 extenstions to the base architecture.
2279 (cpu cortex-a8): Add sec extension to the base architecture.
2280 (cpu marvell-pj4): Add mp and sec extensions to the base architecture.
2281 * config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch
2282 variants down to the base v7-a varaint.
2283 * config/arm/t-multilib (v7_a_arch_variants): New variable.
2284 * doc/invoke.texi (ARM Options): Add +mp and +sec to the list
2285 of permitted extensions for -march=armv7-a and for
2286 -mcpu=generic-armv7-a.
2288 2019-01-18 Martin Liska <mliska@suse.cz>
2290 * params.def: Fix comment.
2291 * tree-profile.c (gimple_init_gcov_profiler): Bump function
2293 (gimple_gen_ic_func_profiler): Likewise.
2295 2019-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2297 * config/aarch64/aarch64-opts.h (enum stack_protector_guard): New
2298 * config/aarch64/aarch64.c (aarch64_override_options_internal): Handle
2299 and put in error checks for stack protector guard options.
2300 (aarch64_stack_protect_guard): New.
2301 (TARGET_STACK_PROTECT_GUARD): Define.
2302 * config/aarch64/aarch64.md (UNSPEC_SSP_SYSREG): New.
2303 (reg_stack_protect_address<mode>): New.
2304 (stack_protect_set): Adjust for SSP_GLOBAL.
2305 (stack_protect_test): Likewise.
2306 * config/aarch64/aarch64.opt (-mstack-protector-guard-reg): New.
2307 (-mstack-protector-guard): Likewise.
2308 (-mstack-protector-guard-offset): Likewise.
2310 2019-01-18 Jakub Jelinek <jakub@redhat.com>
2312 PR tree-optimization/86214
2313 * tree-inline.h (struct copy_body_data): Add
2314 add_clobbers_to_eh_landing_pads member.
2315 * tree-inline.c (add_clobbers_to_eh_landing_pad): New function.
2316 (copy_edges_for_bb): Call it if EH edge destination is <
2317 id->add_clobbers_to_eh_landing_pads. Fix a comment typo.
2318 (expand_call_inline): Set id->add_clobbers_to_eh_landing_pads
2319 if flag_stack_reuse != SR_NONE and clear it afterwards.
2321 2019-01-18 Christophe Lyon <christophe.lyon@linaro.org>
2324 * doc/install.texi (with-multilib-list): Document for aarch64.
2326 2019-01-18 Jakub Jelinek <jakub@redhat.com>
2329 * config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace
2330 (("..."))) with ("...").
2332 2019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
2334 * doc/extend.texi (Built-in Functions for Memory Model Aware
2335 Atomic Operations): Document atomic fetch and nand.
2337 2019-01-18 Martin Liska <mliska@suse.cz>
2338 Richard Biener <rguenther@suse.de>
2341 * cgraph.h (create_version_clone_with_body): Add new argument
2343 * cgraphclones.c (cgraph_node::create_version_clone): Add
2344 DECL_ATTRIBUTES to a newly created decl. And call
2345 valid_attribute_p so that proper cl_target_optimization_node
2346 is set for the newly created declaration.
2347 * multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES
2349 (expand_target_clones): Do not call valid_attribute_p, it must
2351 * tree-inline.c (copy_decl_for_dup_finish): Reset mode for
2354 2019-01-17 Jakub Jelinek <jakub@redhat.com>
2357 * config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace
2358 (("..."))) with ("..."). Use arch=armv8.2-a+sha3 instead of
2359 arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics.
2361 2019-01-17 Martin Sebor <msebor@redhat.com>
2364 * gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range):
2365 Handle anti-ranges the same as no range at all.
2367 2018-01-17 Steve Ellcey <sellcey@cavium.com>
2369 * config/aarch64/aarch64.c (cgraph.h): New include.
2370 (intl.h): New include.
2371 (supported_simd_type): New function.
2372 (currently_supported_simd_type): Ditto.
2373 (aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto.
2374 (aarch64_simd_clone_adjust): Ditto.
2375 (aarch64_simd_clone_usable): Ditto.
2376 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro.
2377 (TARGET_SIMD_CLONE_ADJUST): Ditto.
2378 (TARGET_SIMD_CLONE_USABLE): Ditto.
2379 * config/i386/i386.c (ix86_simd_clone_adjust): Add definition check.
2380 * omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust
2383 2019-01-17 Martin Sebor <msebor@redhat.com>
2385 PR tree-optimization/88800
2386 * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking
2387 NO_WARNING bit here. Avoid folding out-of-bounds calls.
2388 * gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove
2389 redundant argument. Add new argument and issue diagnostics under
2390 its control. Detect out-of-bounds access even with warnings
2392 (check_bounds_or_overlap): Change return type. Add argument.
2393 (wrestrict_dom_walker::check_call): Adjust.
2394 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument.
2395 * tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in
2396 check_bounds_or_overlap's return value.
2397 (handle_builtin_stxncpy): Same.
2398 (handle_builtin_strcat): Same.
2400 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
2401 Kwok Cheung Yeung <kcy@codesourcery.com>
2402 Julian Brown <julian@codesourcery.com>
2403 Tom de Vries <tom@codesourcery.com>
2405 * doc/sourcebuild.texi: Document dg-add-options sqrt_insn.
2407 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
2409 * doc/sourcebuild.texi: Document dg-require-effective-target
2410 llvm_binutils and offload_gcn.
2412 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
2413 Kwok Cheung Yeung <kcy@codesourcery.com>
2414 Julian Brown <julian@codesourcery.com>
2415 Tom de Vries <tom@codesourcery.com>
2417 * doc/sourcebuild.texi: Document dg-required-effective-target
2420 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
2421 Kwok Cheung Yeung <kcy@codesourcery.com>
2422 Julian Brown <julian@codesourcery.com>
2423 Tom de Vries <tom@codesourcery.com>
2424 Jan Hubicka <hubicka@ucw.cz>
2425 Martin Jambor <mjambor@suse.cz>
2427 * config.gcc: Add amdgcn*-*-amdhsa configuration.
2428 * configure.ac: Check for dlopen.
2429 * configure: Regenerate.
2431 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
2432 Kwok Cheung Yeung <kcy@codesourcery.com>
2433 Julian Brown <julian@codesourcery.com>
2434 Tom de Vries <tom@codesourcery.com>
2435 Jan Hubicka <hubicka@ucw.cz>
2436 Martin Jambor <mjambor@suse.cz>
2438 * common/config/gcn/gcn-common.c: New file.
2439 * config/gcn/driver-gcn.c: New file.
2440 * config/gcn/gcn-builtins.def: New file.
2441 * config/gcn/gcn-hsa.h: New file.
2442 * config/gcn/gcn-modes.def: New file.
2443 * config/gcn/gcn-opts.h: New file.
2444 * config/gcn/gcn-passes.def: New file.
2445 * config/gcn/gcn-protos.h: New file.
2446 * config/gcn/gcn-run.c: New file.
2447 * config/gcn/gcn-tree.c: New file.
2448 * config/gcn/gcn.c: New file.
2449 * config/gcn/gcn.h: New file.
2450 * config/gcn/gcn.opt: New file.
2451 * config/gcn/t-gcn-hsa: New file.
2453 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
2454 Kwok Cheung Yeung <kcy@codesourcery.com>
2455 Julian Brown <julian@codesourcery.com>
2456 Tom de Vries <tom@codesourcery.com>
2457 Jan Hubicka <hubicka@ucw.cz>
2458 Martin Jambor <mjambor@suse.cz>
2460 * config/gcn/constraints.md: New file.
2461 * config/gcn/gcn-valu.md: New file.
2462 * config/gcn/gcn.md: New file.
2463 * config/gcn/predicates.md: New file.
2465 2019-01-17 Eric Botcazou <ebotcazou@adacore.com>
2467 * gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace
2468 flag_non_call_exceptions with cfun->can_throw_non_call_exceptions.
2469 (stmt_uses_0_or_null_in_undefined_way): Likewise.
2470 * tree-ssa-alias.c (same_addr_size_stores_p): Likewise.
2472 2019-01-17 Tamar Christina <tamar.christina@arm.com>
2475 * config/aarch64/aarch64.md (STACK_CLASH_SVE_CFA_REGNUM): New.
2476 * config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space): Use
2477 it and document registers.
2479 2019-01-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2481 * config/aarch64/aarch64.c (ares_tunings): Define.
2482 * config/aarch64/aarch64-cores.def (ares): Use the above.
2484 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
2488 2018-11-06 Wei Xiao <wei3.xiao@intel.com>
2490 * config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics.
2491 (_mm512_fixupimm_round_pd): Update parameters and builtin.
2492 (_mm512_maskz_fixupimm_round_pd): Ditto.
2493 (_mm512_fixupimm_round_ps): Ditto.
2494 (_mm512_maskz_fixupimm_round_ps): Ditto.
2495 (_mm_fixupimm_round_sd): Ditto.
2496 (_mm_maskz_fixupimm_round_sd): Ditto.
2497 (_mm_fixupimm_round_ss): Ditto.
2498 (_mm_maskz_fixupimm_round_ss): Ditto.
2499 (_mm512_fixupimm_pd): Ditto.
2500 (_mm512_maskz_fixupimm_pd): Ditto.
2501 (_mm512_fixupimm_ps): Ditto.
2502 (_mm512_maskz_fixupimm_ps): Ditto.
2503 (_mm_fixupimm_sd): Ditto.
2504 (_mm_maskz_fixupimm_sd): Ditto.
2505 (_mm_fixupimm_ss): Ditto.
2506 (_mm_maskz_fixupimm_ss): Ditto.
2507 (_mm512_mask_fixupimm_round_pd): Update builtin.
2508 (_mm512_mask_fixupimm_round_ps): Ditto.
2509 (_mm_mask_fixupimm_round_sd): Ditto.
2510 (_mm_mask_fixupimm_round_ss): Ditto.
2511 (_mm512_mask_fixupimm_pd): Ditto.
2512 (_mm512_mask_fixupimm_ps): Ditto.
2513 (_mm_mask_fixupimm_sd): Ditto.
2514 (_mm_mask_fixupimm_ss): Ditto.
2515 * config/i386/avx512vlintrin.h:
2516 (_mm256_fixupimm_pd): Update parameters and builtin.
2517 (_mm256_maskz_fixupimm_pd): Ditto.
2518 (_mm256_fixupimm_ps): Ditto.
2519 (_mm256_maskz_fixupimm_ps): Ditto.
2520 (_mm_fixupimm_pd): Ditto.
2521 (_mm_maskz_fixupimm_pd): Ditto.
2522 (_mm_fixupimm_ps): Ditto.
2523 (_mm_maskz_fixupimm_ps): Ditto.
2524 (_mm256_mask_fixupimm_pd): Update builtin.
2525 (_mm256_mask_fixupimm_ps): Ditto.
2526 (_mm_mask_fixupimm_pd): Ditto.
2527 (_mm_mask_fixupimm_ps): Ditto.
2528 * config/i386/i386-builtin-types.def: Add new types and remove useless ones.
2529 * config/i386/i386-builtin.def: Update builtin definitions.
2530 * config/i386/i386.c: Handle new builtin types and remove useless ones.
2531 * config/i386/sse.md: Update VFIXUPIMM* patterns.
2532 (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
2533 (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
2534 (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Update.
2535 (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
2536 (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
2537 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Update.
2538 * config/i386/subst.md:
2539 (round_saeonly_sd_mask_operand4): Add new subst_attr.
2540 (round_saeonly_sd_mask_op4): Ditto.
2541 (round_saeonly_expand_operand5): Ditto.
2542 (round_saeonly_expand): Update.
2544 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
2548 2018-11-12 Wei Xiao <wei3.xiao@intel.com>
2550 * config/i386/sse.md: Combine VFIXUPIMM* patterns
2551 (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
2552 (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
2553 (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Remove.
2554 (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
2555 (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
2556 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Remove.
2558 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
2562 2018-12-15 Jakub Jelinek <jakub@redhat.com>
2565 * config/i386/sse.md (UNSPEC_SFIXUPIMM): New unspec enumerator.
2566 (avx512f_sfixupimm<mode><mask_name><round_saeonly_name>): Use it
2567 instead of UNSPEC_FIXUPIMM.
2569 2019-01-17 Richard Biener <rguenther@suse.de>
2572 * dwarf2out.c (want_pubnames): Never generate pubnames sections
2573 and friends for the LTO part of debug info.
2575 2019-01-17 Jakub Jelinek <jakub@redhat.com>
2577 PR tree-optimization/86214
2578 * cfgexpand.c (add_stack_var_conflict): Don't add any conflicts
2581 PR rtl-optimization/88870
2582 * dce.c (deletable_insn_p): Never delete const/pure calls that can
2583 throw if we can't alter the cfg or delete dead exceptions.
2584 (mark_insn): Don't call find_call_stack_args for such calls.
2586 2019-01-17 Kewen Lin <linkw@gcc.gnu.org>
2588 * doc/extend.texi: Add four new prototypes for vec_ld and seven new
2589 prototypes for vec_st.
2590 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries
2591 for scalar address type variants of altivec_vec_ld/altivec_vec_st,
2592 mainly on signed/unsigned long long and double.
2594 2019-01-16 David Malcolm <dmalcolm@redhat.com>
2597 * combine.c (delete_noop_moves): Convert to "bool" return,
2598 returning true if any edges are eliminated.
2599 (combine_instructions): Also return true if delete_noop_moves
2602 2019-01-16 Tamar Christina <tamar.christina@arm.com>
2604 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use
2605 correct max nunits for endian swap.
2606 (aarch64_expand_fcmla_builtin): Correct subreg code.
2607 * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
2608 aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>): Correct
2611 2019-01-16 Uroš Bizjak <ubizjak@gmail.com>
2613 * config/alpha/alpha.c (alpha_gimplify_va_arg):
2614 Handle split indirect COMPLEX_TYPE arguments.
2616 2019-01-16 Richard Earnshaw <rearnsha@arm.com>
2619 * config/aarch64/aarch64-modes.def: Add comment about how the carry
2620 bit is set by add and compare.
2621 (CC_ADC): New CC_MODE.
2622 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables
2623 to cache the code and mode of X. Adjust the shape of a CC_Cmode
2624 comparison. Add detection for CC_ADCmode.
2625 (aarch64_get_condition_code_1): Update code support for CC_Cmode. Add
2627 * config/aarch64/aarch64.md (uaddv<mode>4): Use LTU with CCmode.
2628 (uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU.
2629 (add<mode>3_compareC_cconly_imm): Delete. Merge into...
2630 (add<mode>3_compareC_cconly): ... this. Restructure the comparison
2631 to eliminate the need for zero-extending the operands.
2632 (add<mode>3_compareC_imm): Delete. Merge into ...
2633 (add<mode>3_compareC): ... this. Restructure the comparison to
2634 eliminate the need for zero-extending the operands.
2635 (add<mode>3_carryin): Use LTU for the overflow detection.
2636 (add<mode>3_carryinC): Use CC_ADCmode for the result of the carry out.
2637 Reexpress comparison for overflow.
2638 (add<mode>3_carryinC_zero): Update for change to add<mode>3_carryinC.
2639 (add<mode>3_carryinC): Likewise.
2640 (add<mode>3_carryinV): Use LTU for carry between partials.
2641 * config/aarch64/predicates.md (aarch64_carry_operation): Update
2642 handling of CC_Cmode and add CC_ADCmode.
2643 (aarch64_borrow_operation): Likewise.
2645 2019-01-16 Tamar Christina <tamar.christina@arm.com>
2647 * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode.
2648 * config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise.
2649 * config/arm/neon.md (neon_vcmla_lane<rot><mode>, neon_vcmla_laneq<rot><mode>,
2650 neon_vcmlaq_lane<rot><mode>): Remove endianness conversion.
2652 2019-01-16 Martin Liska <mliska@suse.cz>
2654 * Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR
2656 * config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as
2658 * gcc.c (add_sysrooted_hdrs_prefix): New function.
2659 (path_prefix_reset): Move up in the source file.
2660 (find_fortran_preinclude_file): Make complex search for the
2661 fortran header files.
2663 2019-01-15 Nikhil Benesch <nikhil.benesch@gmail.com>
2665 * godump.c (go_output_typedef): When outputting a typedef, refer
2666 to the underlying type by its name and not its structure.
2668 2019-01-15 David Malcolm <dmalcolm@redhat.com>
2671 * tree.c (build_function_type): Assert that arg_types is not
2674 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
2677 * doc/extend.texi: Document that listing the stack pointer in the
2678 clobber list of an asm is a deprecated feature.
2679 * common.opt (Wdeprecated): Moved from c-family/c.opt.
2680 * cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated
2681 warning instead of an error for clobbers of the stack pointer.
2682 Add a note explaining why.
2684 2019-01-15 Richard Biener <rguenther@suse.de>
2687 * dwarf2out.c (gen_member_die): Do not generate inheritance
2690 2019-01-15 Richard Biener <rguenther@suse.de>
2692 PR tree-optimization/88855
2693 * tree-if-conv.c (combine_blocks): Collect
2694 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.
2696 2019-01-15 Tom de Vries <tdevries@suse.de>
2699 * config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
2700 lhs == NULL_TREE for gang-level reduction.
2702 2019-01-15 Richard Biener <rguenther@suse.de>
2703 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2706 * ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
2707 return true if SSA_NAME is already marked in visited bitmap.
2708 (malloc_candidate_p): Pass visited to malloc_candidate_p_1.
2710 2019-01-15 Jakub Jelinek <jakub@redhat.com>
2712 PR tree-optimization/88775
2713 * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize
2714 equal == 0 equality pointer comparisons some more if compared in
2715 integral types and either one points to an automatic var and the
2716 other to a global, or we can prove at least one points to the middle
2717 or both point to start or both point to end.
2719 2019-01-14 Andi Kleen <ak@linux.intel.com>
2721 * Makefile.in: Lower autofdo sampling rate by 10x.
2722 * Makefile.tpl: Dito.
2724 2019-01-14 Tom Honermann <tom@honermann.net>
2726 * defaults.h: Define CHAR8_TYPE.
2728 2019-01-14 Martin Sebor <msebor@redhat.com>
2731 * doc/extend.texi (Darwin Format Checks): Clarify.
2733 2019-01-14 Richard Biener <rguenther@suse.de>
2735 * genmatch.c (dt_simplify::gen_1): Change dumping dependent on
2736 whether we are in (simplify ...) or (match ...) context.
2738 2019-01-14 Jakub Jelinek <jakub@redhat.com>
2740 PR rtl-optimization/88796
2741 * emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field.
2742 * cfgexpand.c (stack_protect_prologue): Initialize
2743 crtl->stack_protect_guard_decl.
2744 * function.c (stack_protect_epilogue): Use it instead of calling
2745 targetm.stack_protect_guard again.
2746 * dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from
2747 MEMs with MEM_EXPR equal to crtl->stack_protect_guard or
2748 crtl->stack_protect_guard_decl.
2749 * config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE
2750 on the returned MEM_EXPR.
2752 2019-01-12 Tom de Vries <tdevries@suse.de>
2754 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
2755 vector length using -fopenacc-dim.
2757 2019-01-12 Tom de Vries <tdevries@suse.de>
2759 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
2760 lengths into account.
2762 2019-01-12 Svante Signell <svante.signell@gmail.com>
2764 * config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
2765 (TARGET_CAN_SPLIT_STACK): Define.
2766 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
2768 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
2770 * params.def (inline-unit-growth): Set to 40.
2772 2019-01-12 Jakub Jelinek <jakub@redhat.com>
2774 * tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
2776 2019-01-12 Tom de Vries <tdevries@suse.de>
2778 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
2779 region calling vector-partitionable routine, set default_vector_length
2782 2019-01-12 Tom de Vries <tdevries@suse.de>
2784 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
2785 variable default_vector_length.
2787 2019-01-12 Tom de Vries <tdevries@suse.de>
2790 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
2791 from oacc_default_dims, as oacc_validate_dims would do it, and apply
2794 2019-01-12 Tom de Vries <tdevries@suse.de>
2796 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
2797 (nvptx_goacc_validate_dims): Add used parameter.
2798 * doc/tm.texi: Regenerate.
2799 * omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
2800 argument to call to targetm.goacc.validate_dims.
2801 (default_goacc_validate_dims): Add used
2803 * target.def (validate_dims): Add used parameter in DEFHOOK.
2804 * targhooks.h (default_goacc_validate_dims): Add used parameter.
2806 2019-01-11 Jakub Jelinek <jakub@redhat.com>
2810 * tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds
2812 * tree-inline.c (remap_type_1): Formatting fix. If TYPE_MAX_VALUE of
2813 ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with
2814 a dummy "omp dummy var" variable if id->adjust_array_error_bounds.
2815 * omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds.
2817 2019-01-11 Vladimir Makarov <vmakarov@redhat.com>
2819 PR rtl-optimization/87305
2821 (setup_live_pseudos_and_spill_after_risky_transforms): Add code
2822 for little endian pseudos used as paradoxical subreg.
2824 2019-01-11 Jakub Jelinek <jakub@redhat.com>
2826 PR tree-optimization/88693
2827 * tree-ssa-strlen.c (get_min_string_length): Don't set *full_string_p
2828 for STRING_CSTs that don't contain any NUL characters in the first
2829 TREE_STRING_LENGTH bytes.
2831 2019-01-11 Alan Modra <amodra@gmail.com>
2835 * genattrtab.c (min_fn): Don't translate values.
2836 (min_attr_value): Return INT_MAX when the value can't be calculated.
2837 Return minimum among any values that can be calculated.
2838 (max_attr_value): Adjust.
2840 2019-01-11 Jakub Jelinek <jakub@redhat.com>
2842 * Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H).
2844 2019-01-11 Steve Ellcey <sellcey@marvell.com>
2846 * config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
2847 (aarch64_hard_regno_call_part_clobbered): Add insn argument.
2848 (aarch64_return_call_with_max_clobbers): New function.
2849 (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New macro.
2850 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Add insn
2852 * config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Ditto.
2853 * config/mips/mips.c (mips_hard_regno_call_part_clobbered): Ditto.
2854 * config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered): Ditto.
2855 * config/s390/s390.c (s390_hard_regno_call_part_clobbered): Ditto.
2856 * cselib.c (cselib_process_insn): Add argument to
2857 targetm.hard_regno_call_part_clobbered call.
2858 * ira-conflicts.c (ira_build_conflicts): Ditto.
2859 * ira-costs.c (ira_tune_allocno_costs): Ditto.
2860 * lra-constraints.c (inherit_reload_reg): Ditto.
2861 * lra-int.h (struct lra_reg): Add call_insn field, remove call_p field.
2862 * lra-lives.c (check_pseudos_live_through_calls): Add call_insn
2863 argument. Call targetm.return_call_with_max_clobbers.
2864 Add argument to targetm.hard_regno_call_part_clobbered call.
2865 (calls_have_same_clobbers_p): New function.
2866 (process_bb_lives): Add call_insn and last_call_insn variables.
2867 Pass call_insn to check_pseudos_live_through_calls.
2868 Modify if stmt to check targetm.return_call_with_max_clobbers.
2869 Update setting of flush variable.
2870 (lra_create_live_ranges_1): Set call_insn to NULL instead of call_p
2872 * lra.c (initialize_lra_reg_info_element): Set call_insn to NULL.
2873 * regcprop.c (copyprop_hardreg_forward_1): Add argument to
2874 targetm.hard_regno_call_part_clobbered call.
2875 * reginfo.c (choose_hard_reg_mode): Ditto.
2876 * regrename.c (check_new_reg_p): Ditto.
2877 * reload.c (find_equiv_reg): Ditto.
2878 * reload1.c (emit_reload_insns): Ditto.
2879 * sched-deps.c (deps_analyze_insn): Ditto.
2880 * sel-sched.c (init_regs_for_mode): Ditto.
2881 (mark_unavailable_hard_regs): Ditto.
2882 * targhooks.c (default_dwarf_frame_reg_mode): Ditto.
2883 * target.def (hard_regno_call_part_clobbered): Add insn argument.
2884 (return_call_with_max_clobbers): New target function.
2885 * doc/tm.texi: Regenerate.
2886 * doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New hook.
2887 * hooks.c (hook_bool_uint_mode_false): Change to
2888 hook_bool_insn_uint_mode_false.
2889 * hooks.h (hook_bool_uint_mode_false): Ditto.
2891 2019-01-11 Steve Ellcey <sellcey@marvell.com>
2893 * config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
2894 (aarch64_remove_extra_call_preserved_regs): New function.
2895 (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro.
2896 * doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook.
2897 * doc/tm.texi: Regenerate.
2898 * final.c (get_call_reg_set_usage): Call new hook.
2899 * target.def (remove_extra_call_preserved_regs): New hook.
2900 * targhooks.c (default_remove_extra_call_preserved_regs): New function.
2901 * targhooks.h (default_remove_extra_call_preserved_regs): New function.
2903 2019-01-11 Jakub Jelinek <jakub@redhat.com>
2906 * passes.c (finish_optimization_passes): Call print_combine_total_stats
2907 inside of pass_combine_1 dump rather than pass_profile_1.
2909 2019-01-11 Tom de Vries <tdevries@suse.de>
2911 * config/nvptx/nvptx.c (PTX_CTA_NUM_BARRIERS, PTX_PER_CTA_BARRIER)
2912 (PTX_NUM_PER_CTA_BARRIER, PTX_FIRST_PER_WORKER_BARRIER)
2913 (PTX_NUM_PER_WORKER_BARRIERS): Define.
2914 (nvptx_apply_dim_limits): Prevent vector_length 64 and
2917 2019-01-11 Tom de Vries <tdevries@suse.de>
2919 * config/nvptx/nvptx.c (PTX_CTA_SIZE): Move up.
2921 2019-01-11 Jan Beulich <jbeulich@suse.com>
2923 * config/i386/i386.md (rex64suffix): Add L suffix for SI.
2924 * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>32<round_name>,
2925 sse2_cvtsi2sd): Add {l}.
2926 (sse2_cvtsi2sdq<round_name>): Make q conditional upon AT&T
2929 2019-01-10 Jakub Jelinek <jakub@redhat.com>
2932 * config/i386/sse.md (float<floatunssuffix>v2div2sf2): Turn into
2934 (*float<floatunssuffix>v2div2sf2): New define_insn.
2935 (float<floatunssuffix>v2div2sf2_mask): Turn into define_expand.
2936 (*float<floatunssuffix>v2div2sf2_mask): New define_insn.
2937 (*float<floatunssuffix>v2div2sf2_mask_1): Replace
2938 subrtxes (const_vector:V2SF [(const_int 0) (const_int 0)]) with
2939 match_operands with "const0_operand" "C".
2941 2019-01-10 Tamar Christina <tamar.christina@arm.com>
2943 * config/aarch64/aarch64-builtins.c
2944 (aarch64_init_builtins): Move aarch64_init_fcmla_laneq_builtins...
2945 (aarch64_init_simd_builtins): ...Here
2947 2019-01-10 Vladimir Makarov <vmakarov@redhat.com>
2949 PR rtl-optimization/87305
2951 (setup_live_pseudos_and_spill_after_risky_transforms): Check
2952 allocation for big endian pseudos used as paradoxical subregs and
2953 spill them if it is wrong.
2954 * lra-constraints.c (lra_constraints): Add a comment.
2956 2019-01-10 Richard Biener <rguenther@suse.de>
2958 PR tree-optimization/88792
2959 * tree-ssa-pre.c (get_representative_for): Do not return a
2962 2019-01-10 Jakub Jelinek <jakub@redhat.com>
2966 * function.c (assign_stack_local_1): Revert the 2018-11-21 changes.
2967 (assign_parm_setup_block): Do the argument slot realignment here
2970 2019-01-10 Stefan Agner <stefan@agner.ch>
2973 * config/arm/arm.c (arm_option_override_internal): Force
2974 opts->x_inline_asm_unified to true only if TARGET_THUMB2_P.
2976 2019-01-10 Jakub Jelinek <jakub@redhat.com>
2979 * attribs.c (handle_dll_attribute): Clear TREE_STATIC after setting
2982 2019-01-10 Tamar Christina <tamar.christina@arm.com>
2984 * config/arm/arm-builtins.c
2985 (enum arm_type_qualifiers): Add qualifier_lane_pair_index.
2986 (MAC_LANE_PAIR_QUALIFIERS): New.
2987 (arm_expand_builtin_args): Use it.
2988 (arm_expand_builtin_1): Likewise.
2989 * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): New.
2990 * config/arm/arm.c (neon_vcmla_lane_prepare_operands): New.
2991 * config/arm/arm-c.c (arm_cpu_builtins): Add __ARM_FEATURE_COMPLEX.
2992 * config/arm/arm_neon.h:
2993 (vcadd_rot90_f16): New.
2994 (vcaddq_rot90_f16): New.
2995 (vcadd_rot270_f16): New.
2996 (vcaddq_rot270_f16): New.
2999 (vcmla_lane_f16): New.
3000 (vcmla_laneq_f16): New.
3001 (vcmlaq_lane_f16): New.
3002 (vcmlaq_laneq_f16): New.
3003 (vcmla_rot90_f16): New.
3004 (vcmlaq_rot90_f16): New.
3005 (vcmla_rot90_lane_f16): New.
3006 (vcmla_rot90_laneq_f16): New.
3007 (vcmlaq_rot90_lane_f16): New.
3008 (vcmlaq_rot90_laneq_f16): New.
3009 (vcmla_rot180_f16): New.
3010 (vcmlaq_rot180_f16): New.
3011 (vcmla_rot180_lane_f16): New.
3012 (vcmla_rot180_laneq_f16): New.
3013 (vcmlaq_rot180_lane_f16): New.
3014 (vcmlaq_rot180_laneq_f16): New.
3015 (vcmla_rot270_f16): New.
3016 (vcmlaq_rot270_f16): New.
3017 (vcmla_rot270_lane_f16): New.
3018 (vcmla_rot270_laneq_f16): New.
3019 (vcmlaq_rot270_lane_f16): New.
3020 (vcmlaq_rot270_laneq_f16): New.
3021 (vcadd_rot90_f32): New.
3022 (vcaddq_rot90_f32): New.
3023 (vcadd_rot270_f32): New.
3024 (vcaddq_rot270_f32): New.
3027 (vcmla_lane_f32): New.
3028 (vcmla_laneq_f32): New.
3029 (vcmlaq_lane_f32): New.
3030 (vcmlaq_laneq_f32): New.
3031 (vcmla_rot90_f32): New.
3032 (vcmlaq_rot90_f32): New.
3033 (vcmla_rot90_lane_f32): New.
3034 (vcmla_rot90_laneq_f32): New.
3035 (vcmlaq_rot90_lane_f32): New.
3036 (vcmlaq_rot90_laneq_f32): New.
3037 (vcmla_rot180_f32): New.
3038 (vcmlaq_rot180_f32): New.
3039 (vcmla_rot180_lane_f32): New.
3040 (vcmla_rot180_laneq_f32): New.
3041 (vcmlaq_rot180_lane_f32): New.
3042 (vcmlaq_rot180_laneq_f32): New.
3043 (vcmla_rot270_f32): New.
3044 (vcmlaq_rot270_f32): New.
3045 (vcmla_rot270_lane_f32): New.
3046 (vcmla_rot270_laneq_f32): New.
3047 (vcmlaq_rot270_lane_f32): New.
3048 (vcmlaq_rot270_laneq_f32): New.
3049 * config/arm/arm_neon_builtins.def (vcadd90, vcadd270, vcmla0, vcmla90,
3050 vcmla180, vcmla270, vcmla_lane0, vcmla_lane90, vcmla_lane180, vcmla_lane270,
3051 vcmla_laneq0, vcmla_laneq90, vcmla_laneq180, vcmla_laneq270,
3052 vcmlaq_lane0, vcmlaq_lane90, vcmlaq_lane180, vcmlaq_lane270): New.
3053 * config/arm/neon.md (neon_vcmla_lane<rot><mode>,
3054 neon_vcmla_laneq<rot><mode>, neon_vcmlaq_lane<rot><mode>): New.
3055 * config/arm/arm.c (arm_arch8_3, arm_arch8_4): New.
3056 * config/arm/arm.h (TARGET_COMPLEX, arm_arch8_3, arm_arch8_4): New.
3057 (arm_option_reconfigure_globals): Use them.
3058 * config/arm/iterators.md (VDF, VQ_HSF): New.
3059 (VCADD, VCMLA): New.
3060 (VF_constraint, rot, rotsplit1, rotsplit2): Add V4HF and V8HF.
3061 * config/arm/neon.md (neon_vcadd<rot><mode>, neon_vcmla<rot><mode>): New.
3062 * config/arm/unspecs.md (UNSPEC_VCADD90, UNSPEC_VCADD270,
3063 UNSPEC_VCMLA, UNSPEC_VCMLA90, UNSPEC_VCMLA180, UNSPEC_VCMLA270): New.
3065 2019-01-10 Tamar Christina <tamar.christina@arm.com>
3067 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): Add qualifier_lane_pair_index.
3068 (emit-rtl.h): Include.
3069 (TYPES_QUADOP_LANE_PAIR): New.
3070 (aarch64_simd_expand_args): Use it.
3071 (aarch64_simd_expand_builtin): Likewise.
3072 (AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_laneq_builtin_datum): New.
3073 (FCMLA_LANEQ_BUILTIN, AARCH64_SIMD_FCMLA_LANEQ_BUILTIN_BASE,
3074 AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_lane_builtin_data,
3075 aarch64_init_fcmla_laneq_builtins, aarch64_expand_fcmla_builtin): New.
3076 (aarch64_init_builtins): Add aarch64_init_fcmla_laneq_builtins.
3077 (aarch64_expand_buildin): Add AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V2SF,
3078 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V2SF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V2SF,
3079 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ2700_V2SF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V4HF,
3080 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V4HF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V4HF,
3081 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ270_V4HF.
3082 * config/aarch64/iterators.md (FCMLA_maybe_lane): New.
3083 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add __ARM_FEATURE_COMPLEX.
3084 * config/aarch64/aarch64-simd-builtins.def (fcadd90, fcadd270, fcmla0, fcmla90,
3085 fcmla180, fcmla270, fcmla_lane0, fcmla_lane90, fcmla_lane180, fcmla_lane270,
3086 fcmla_laneq0, fcmla_laneq90, fcmla_laneq180, fcmla_laneq270,
3087 fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180, fcmlaq_lane270): New.
3088 * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
3089 aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>,aarch64_fcadd<rot><mode>,
3090 aarch64_fcmla<rot><mode>): New.
3091 * config/aarch64/arm_neon.h:
3092 (vcadd_rot90_f16): New.
3093 (vcaddq_rot90_f16): New.
3094 (vcadd_rot270_f16): New.
3095 (vcaddq_rot270_f16): New.
3098 (vcmla_lane_f16): New.
3099 (vcmla_laneq_f16): New.
3100 (vcmlaq_lane_f16): New.
3101 (vcmlaq_rot90_lane_f16): New.
3102 (vcmla_rot90_laneq_f16): New.
3103 (vcmla_rot90_lane_f16): New.
3104 (vcmlaq_rot90_f16): New.
3105 (vcmla_rot90_f16): New.
3106 (vcmlaq_laneq_f16): New.
3107 (vcmla_rot180_laneq_f16): New.
3108 (vcmla_rot180_lane_f16): New.
3109 (vcmlaq_rot180_f16): New.
3110 (vcmla_rot180_f16): New.
3111 (vcmlaq_rot90_laneq_f16): New.
3112 (vcmlaq_rot270_laneq_f16): New.
3113 (vcmlaq_rot270_lane_f16): New.
3114 (vcmla_rot270_laneq_f16): New.
3115 (vcmlaq_rot270_f16): New.
3116 (vcmla_rot270_f16): New.
3117 (vcmlaq_rot180_laneq_f16): New.
3118 (vcmlaq_rot180_lane_f16): New.
3119 (vcmla_rot270_lane_f16): New.
3120 (vcadd_rot90_f32): New.
3121 (vcaddq_rot90_f32): New.
3122 (vcaddq_rot90_f64): New.
3123 (vcadd_rot270_f32): New.
3124 (vcaddq_rot270_f32): New.
3125 (vcaddq_rot270_f64): New.
3129 (vcmla_lane_f32): New.
3130 (vcmla_laneq_f32): New.
3131 (vcmlaq_lane_f32): New.
3132 (vcmlaq_laneq_f32): New.
3133 (vcmla_rot90_f32): New.
3134 (vcmlaq_rot90_f32): New.
3135 (vcmlaq_rot90_f64): New.
3136 (vcmla_rot90_lane_f32): New.
3137 (vcmla_rot90_laneq_f32): New.
3138 (vcmlaq_rot90_lane_f32): New.
3139 (vcmlaq_rot90_laneq_f32): New.
3140 (vcmla_rot180_f32): New.
3141 (vcmlaq_rot180_f32): New.
3142 (vcmlaq_rot180_f64): New.
3143 (vcmla_rot180_lane_f32): New.
3144 (vcmla_rot180_laneq_f32): New.
3145 (vcmlaq_rot180_lane_f32): New.
3146 (vcmlaq_rot180_laneq_f32): New.
3147 (vcmla_rot270_f32): New.
3148 (vcmlaq_rot270_f32): New.
3149 (vcmlaq_rot270_f64): New.
3150 (vcmla_rot270_lane_f32): New.
3151 (vcmla_rot270_laneq_f32): New.
3152 (vcmlaq_rot270_lane_f32): New.
3153 (vcmlaq_rot270_laneq_f32): New.
3154 * config/aarch64/aarch64.h (TARGET_COMPLEX): New.
3155 * config/aarch64/iterators.md (UNSPEC_FCADD90, UNSPEC_FCADD270,
3156 UNSPEC_FCMLA, UNSPEC_FCMLA90, UNSPEC_FCMLA180, UNSPEC_FCMLA270): New.
3157 (FCADD, FCMLA): New.
3159 * config/arm/types.md (neon_fcadd, neon_fcmla): New.
3161 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
3165 * config/pa/pa.c: Change "can not" to "cannot".
3166 * gimple-ssa-evrp-analyze.c: Likewise.
3167 * ipa-icf.c: Likewise.
3168 * ipa-polymorphic-call.c: Likewise.
3169 * ipa-pure-const.c: Likewise.
3170 * lra-constraints.c: Likewise.
3171 * lra-remat.c: Likewise.
3172 * reload1.c: Likewise.
3173 * reorg.c: Likewise.
3174 * tree-ssa-uninit.c: Likewise.
3176 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
3180 * Makefile.in: Mechanically replace "can not" with "cannot".
3181 * alias.c: Likewise.
3182 * builtins.c: Likewise.
3183 * calls.c: Likewise.
3184 * cgraph.c: Likewise.
3185 * cgraph.h: Likewise.
3186 * cgraphclones.c: Likewise.
3187 * cgraphunit.c: Likewise.
3188 * combine-stack-adj.c: Likewise.
3189 * combine.c: Likewise.
3190 * common/config/i386/i386-common.c: Likewise.
3191 * config/aarch64/aarch64.c: Likewise.
3192 * config/alpha/sync.md: Likewise.
3193 * config/arc/arc.c: Likewise.
3194 * config/arc/predicates.md: Likewise.
3195 * config/arm/arm-c.c: Likewise.
3196 * config/arm/arm.c: Likewise.
3197 * config/arm/arm.h: Likewise.
3198 * config/arm/arm.md: Likewise.
3199 * config/arm/cortex-r4f.md: Likewise.
3200 * config/csky/csky.c: Likewise.
3201 * config/csky/csky.h: Likewise.
3202 * config/darwin-f.c: Likewise.
3203 * config/epiphany/epiphany.md: Likewise.
3204 * config/i386/i386.c: Likewise.
3205 * config/i386/sol2.h: Likewise.
3206 * config/m68k/m68k.c: Likewise.
3207 * config/mcore/mcore.h: Likewise.
3208 * config/microblaze/microblaze.md: Likewise.
3209 * config/mips/20kc.md: Likewise.
3210 * config/mips/sb1.md: Likewise.
3211 * config/nds32/nds32.c: Likewise.
3212 * config/nds32/predicates.md: Likewise.
3213 * config/pa/pa.c: Likewise.
3214 * config/rs6000/e300c2c3.md: Likewise.
3215 * config/rs6000/rs6000.c: Likewise.
3216 * config/s390/s390.h: Likewise.
3217 * config/sh/sh.c: Likewise.
3218 * config/sh/sh.md: Likewise.
3219 * config/spu/vmx2spu.h: Likewise.
3220 * cprop.c: Likewise.
3221 * dbxout.c: Likewise.
3222 * df-scan.c: Likewise.
3223 * doc/cfg.texi: Likewise.
3224 * doc/extend.texi: Likewise.
3225 * doc/fragments.texi: Likewise.
3226 * doc/gty.texi: Likewise.
3227 * doc/invoke.texi: Likewise.
3228 * doc/lto.texi: Likewise.
3229 * doc/md.texi: Likewise.
3230 * doc/objc.texi: Likewise.
3231 * doc/rtl.texi: Likewise.
3232 * doc/tm.texi: Likewise.
3234 * emit-rtl.c: Likewise.
3235 * emit-rtl.h: Likewise.
3236 * except.c: Likewise.
3237 * expmed.c: Likewise.
3239 * fold-const.c: Likewise.
3240 * genautomata.c: Likewise.
3241 * gimple-fold.c: Likewise.
3242 * hard-reg-set.h: Likewise.
3243 * ifcvt.c: Likewise.
3244 * ipa-comdats.c: Likewise.
3245 * ipa-cp.c: Likewise.
3246 * ipa-devirt.c: Likewise.
3247 * ipa-fnsummary.c: Likewise.
3248 * ipa-icf.c: Likewise.
3249 * ipa-inline-transform.c: Likewise.
3250 * ipa-inline.c: Likewise.
3251 * ipa-polymorphic-call.c: Likewise.
3252 * ipa-profile.c: Likewise.
3253 * ipa-prop.c: Likewise.
3254 * ipa-pure-const.c: Likewise.
3255 * ipa-reference.c: Likewise.
3256 * ipa-split.c: Likewise.
3257 * ipa-visibility.c: Likewise.
3259 * ira-build.c: Likewise.
3260 * ira-color.c: Likewise.
3261 * ira-conflicts.c: Likewise.
3262 * ira-costs.c: Likewise.
3263 * ira-int.h: Likewise.
3264 * ira-lives.c: Likewise.
3267 * loop-invariant.c: Likewise.
3268 * loop-unroll.c: Likewise.
3269 * lower-subreg.c: Likewise.
3270 * lra-assigns.c: Likewise.
3271 * lra-constraints.c: Likewise.
3272 * lra-eliminations.c: Likewise.
3273 * lra-lives.c: Likewise.
3274 * lra-remat.c: Likewise.
3275 * lra-spills.c: Likewise.
3277 * lto-cgraph.c: Likewise.
3278 * lto-streamer-out.c: Likewise.
3279 * postreload-gcse.c: Likewise.
3280 * predict.c: Likewise.
3281 * profile-count.h: Likewise.
3282 * profile.c: Likewise.
3283 * recog.c: Likewise.
3285 * reload.c: Likewise.
3286 * reload1.c: Likewise.
3287 * reorg.c: Likewise.
3288 * resource.c: Likewise.
3289 * rtl.def: Likewise.
3291 * rtlanal.c: Likewise.
3292 * sched-deps.c: Likewise.
3293 * sched-ebb.c: Likewise.
3294 * sched-rgn.c: Likewise.
3295 * sel-sched-ir.c: Likewise.
3296 * sel-sched.c: Likewise.
3297 * shrink-wrap.c: Likewise.
3298 * simplify-rtx.c: Likewise.
3299 * symtab.c: Likewise.
3300 * target.def: Likewise.
3301 * toplev.c: Likewise.
3302 * tree-call-cdce.c: Likewise.
3303 * tree-cfg.c: Likewise.
3304 * tree-complex.c: Likewise.
3305 * tree-core.h: Likewise.
3306 * tree-eh.c: Likewise.
3307 * tree-inline.c: Likewise.
3308 * tree-loop-distribution.c: Likewise.
3309 * tree-nrv.c: Likewise.
3310 * tree-profile.c: Likewise.
3311 * tree-sra.c: Likewise.
3312 * tree-ssa-alias.c: Likewise.
3313 * tree-ssa-dce.c: Likewise.
3314 * tree-ssa-dom.c: Likewise.
3315 * tree-ssa-forwprop.c: Likewise.
3316 * tree-ssa-loop-im.c: Likewise.
3317 * tree-ssa-loop-ivcanon.c: Likewise.
3318 * tree-ssa-loop-ivopts.c: Likewise.
3319 * tree-ssa-loop-niter.c: Likewise.
3320 * tree-ssa-phionlycprop.c: Likewise.
3321 * tree-ssa-phiopt.c: Likewise.
3322 * tree-ssa-propagate.c: Likewise.
3323 * tree-ssa-threadedge.c: Likewise.
3324 * tree-ssa-threadupdate.c: Likewise.
3325 * tree-ssa-uninit.c: Likewise.
3326 * tree-ssanames.c: Likewise.
3327 * tree-streamer-out.c: Likewise.
3330 * vr-values.c: Likewise.
3332 2019-01-09 Uroš Bizjak <ubizjak@gmail.com>
3334 * config/i386/i386-protos.h (ix86_expand_xorsign): New prototype.
3335 (ix86_split_xorsign): Ditto.
3336 * config/i386/i386.c (ix86_expand_xorsign): New function.
3337 (ix86_split_xorsign): Ditto.
3338 * config/i386/i386.md (UNSPEC_XORSIGN): New unspec.
3339 (xorsign<mode>3): New expander.
3340 (xorsign<mode>3_1): New insn_and_split pattern.
3341 * config/i386/sse.md (xorsign<mode>3): New expander.
3343 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
3345 * config/sparc/sparc.md (*tablejump_sp32): Merge into...
3346 (*tablejump_sp64): Likewise.
3347 (*tablejump<P:mode>): ...this.
3348 (*call_address_sp32): Merge into...
3349 (*call_address_sp64): Likewise.
3350 (*call_address<P:mode>): ...this.
3351 (*call_symbolic_sp32): Merge into...
3352 (*call_symbolic_sp64): Likewise.
3353 (*call_symbolic<P:mode>): ...this.
3354 (call_value): Remove constraint and add predicate.
3355 (*call_value_address_sp32): Merge into...
3356 (*call_value_address_sp64): Likewise.
3357 (*call_value_address<P:mode>): ...this.
3358 (*call_value_symbolic_sp32): Merge into...
3359 (*call_value_symbolic_sp64): Likewise.
3360 (*call_value_symbolic<P:mode>): ...this.
3361 (*sibcall_symbolic_sp32): Merge into...
3362 (*sibcall_symbolic_sp64): Likewise.
3363 (*sibcall_symbolic<P:mode>): ...this.
3364 (sibcall_value): Remove constraint and add predicate.
3365 (*sibcall_value_symbolic_sp32): Merge into...
3366 (*sibcall_value_symbolic_sp64): Likewise.
3367 (*sibcall_value_symbolic<P:mode>): ...this.
3368 (window_save): Minor tweak.
3369 (*branch_sp32): Merge into...
3370 (*branch_sp64): Likewise.
3371 (*branch<P:mode>): ...this.
3373 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
3374 James Clarke <jrtc27@jrtc27.com>
3377 * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode
3378 consistently in TLS address generation and adjust code to the renaming
3379 of patterns. Mark calls to __tls_get_addr as const.
3380 * config/sparc/sparc.md (tgd_hi22): Turn into...
3381 (tgd_hi22<P:mode>): ...this and use Pmode throughout.
3382 (tgd_lo10): Turn into...
3383 (tgd_lo10<P:mode>): ...this and use Pmode throughout.
3384 (tgd_add32): Merge into...
3385 (tgd_add64): Likewise.
3386 (tgd_add<P:mode>): ...this and use Pmode throughout.
3387 (tldm_hi22): Turn into...
3388 (tldm_hi22<P:mode>): ...this and use Pmode throughout.
3389 (tldm_lo10): Turn into...
3390 (tldm_lo10<P:mode>): ...this and use Pmode throughout.
3391 (tldm_add32): Merge into...
3392 (tldm_add64): Likewise.
3393 (tldm_add<P:mode>): ...this and use Pmode throughout.
3394 (tldm_call32): Merge into...
3395 (tldm_call64): Likewise.
3396 (tldm_call<P:mode>): ...this and use Pmode throughout.
3397 (tldo_hix22): Turn into...
3398 (tldo_hix22<P:mode>): ...this and use Pmode throughout.
3399 (tldo_lox10): Turn into...
3400 (tldo_lox10<P:mode>): ...this and use Pmode throughout.
3401 (tldo_add32): Merge into...
3402 (tldo_add64): Likewise.
3403 (tldo_add<P:mode>): ...this and use Pmode throughout.
3404 (tie_hi22): Turn into...
3405 (tie_hi22<P:mode>): ...this and use Pmode throughout.
3406 (tie_lo10): Turn into...
3407 (tie_lo10<P:mode>): ...this and use Pmode throughout.
3408 (tie_ld64): Use DImode throughout.
3409 (tie_add32): Merge into...
3410 (tie_add64): Likewise.
3411 (tie_add<P:mode>): ...this and use Pmode throughout.
3412 (tle_hix22_sp32): Merge into...
3413 (tle_hix22_sp64): Likewise.
3414 (tle_hix22<P:mode>): ...this and use Pmode throughout.
3415 (tle_lox22_sp32): Merge into...
3416 (tle_lox22_sp64): Likewise.
3417 (tle_lox22<P:mode>): ...this and use Pmode throughout.
3418 (*tldo_ldub_sp32): Merge into...
3419 (*tldo_ldub_sp64): Likewise.
3420 (*tldo_ldub<P:mode>): ...this and use Pmode throughout.
3421 (*tldo_ldub1_sp32): Merge into...
3422 (*tldo_ldub1_sp64): Likewise.
3423 (*tldo_ldub1<P:mode>): ...this and use Pmode throughout.
3424 (*tldo_ldub2_sp32): Merge into...
3425 (*tldo_ldub2_sp64): Likewise.
3426 (*tldo_ldub2<P:mode>): ...this and use Pmode throughout.
3427 (*tldo_ldsb1_sp32): Merge into...
3428 (*tldo_ldsb1_sp64): Likewise.
3429 (*tldo_ldsb1<P:mode>): ...this and use Pmode throughout.
3430 (*tldo_ldsb2_sp32): Merge into...
3431 (*tldo_ldsb2_sp64): Likewise.
3432 (*tldo_ldsb2<P:mode>): ...this and use Pmode throughout.
3433 (*tldo_ldub3_sp64): Use DImode throughout.
3434 (*tldo_ldsb3_sp64): Likewise.
3435 (*tldo_lduh_sp32): Merge into...
3436 (*tldo_lduh_sp64): Likewise.
3437 (*tldo_lduh<P:mode>): ...this and use Pmode throughout.
3438 (*tldo_lduh1_sp32): Merge into...
3439 (*tldo_lduh1_sp64): Likewise.
3440 (*tldo_lduh1<P:mode>): ...this and use Pmode throughout.
3441 (*tldo_ldsh1_sp32): Merge into...
3442 (*tldo_ldsh1_sp64): Likewise.
3443 (*tldo_ldsh1<P:mode>): ...this and use Pmode throughout.
3444 (*tldo_lduh2_sp64): Use DImode throughout.
3445 (*tldo_ldsh2_sp64): Likewise.
3446 (*tldo_lduw_sp32): Merge into...
3447 (*tldo_lduw_sp64): Likewise.
3448 (*tldo_lduw<P:mode>): ...this and use Pmode throughout.
3449 (*tldo_lduw1_sp64): Use DImode throughout.
3450 (*tldo_ldsw1_sp64): Likewise.
3451 (*tldo_ldx_sp64): Likewise.
3452 (*tldo_stb_sp32): Merge into...
3453 (*tldo_stb_sp64): Likewise.
3454 (*tldo_stb<P:mode>): ...this and use Pmode throughout.
3455 (*tldo_sth_sp32): Merge into...
3456 (*tldo_sth_sp64): Likewise.
3457 (*tldo_sth<P:mode>): ...this and use Pmode throughout.
3458 (*tldo_stw_sp32): Merge into...
3459 (*tldo_stw_sp64): Likewise.
3460 (*tldo_stw<P:mode>): ...this and use Pmode throughout.
3461 (*tldo_stx_sp64): Use DImode throughout.
3463 2018-01-09 Sudakshina Das <sudi.das@arm.com>
3465 * config/aarch64/aarch64.c (aarch64_override_options): Add case to
3466 check configure option to set BTI and Return Address Signing.
3467 * configure.ac: Add --enable-standard-branch-protection and
3468 --disable-standard-branch-protection.
3469 * configure: Regenerated.
3470 * doc/install.texi: Document the same.
3472 2018-01-09 Sudakshina Das <sudi.das@arm.com>
3473 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3475 * config.gcc (aarch64*-*-*): Add aarch64-bti-insert.o.
3476 * config/aarch64/aarch64.h: Update comment for TRAMPOLINE_SIZE.
3477 * config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Update
3479 * config/aarch64/aarch64-bti-insert.c: New file.
3480 * config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Insert bti
3482 * config/aarch64/aarch64-protos.h (make_pass_insert_bti): Declare the
3484 * config/aarch64/aarch64.md (unspecv): Add UNSPECV_BTI_NOARG,
3485 UNSPECV_BTI_C, UNSPECV_BTI_J and UNSPECV_BTI_JC.
3486 (bti_noarg, bti_j, bti_c, bti_jc): New define_insns.
3487 * config/aarch64/t-aarch64: Add rule for aarch64-bti-insert.o.
3489 2018-01-09 Sudakshina Das <sudi.das@arm.com>
3491 * config/aarch64/aarch64-protos.h (aarch64_bti_enabled): Declare.
3492 * config/aarch64/aarch64.c (aarch64_handle_no_branch_protection):
3493 Disable bti for -mbranch-protection=none.
3494 (aarch64_handle_standard_branch_protection): Enable bti for
3495 -mbranch-protection=standard.
3496 (aarch64_handle_bti_protection): Enable bti for "bti" in the string to
3497 -mbranch-protection.
3498 (aarch64_bti_enabled): Check if bti is enabled.
3499 * config/aarch64/aarch64.opt: Declare target variable.
3500 * doc/invoke.texi: Add bti to the -mbranch-protection documentation.
3502 2018-01-09 Sudakshina Das <sudi.das@arm.com>
3504 * config/aarch64/aarch64.c (aarch64_expand_prologue): Use new
3505 epilogue/prologue scratch registers EP0_REGNUM and EP1_REGNUM.
3506 (aarch64_expand_epilogue): Likewise.
3507 (aarch64_output_mi_thunk): Likewise
3508 * config/aarch64/aarch64.h (REG_CLASS_CONTENTS): Change
3509 TAILCALL_ADDR_REGS to x16 and x17.
3510 * config/aarch64/aarch64.md: Define EP0_REGNUM and EP1_REGNUM.
3512 2018-01-09 Sudakshina Das <sudi.das@arm.com>
3514 * config/aarch64/aarch64-option-extensions.def: Define
3515 AARCH64_OPT_EXTENSION for memtag, rng, sb, ssbs and predres.
3516 * config/aarch64/aarch64.h (AARCH64_FL_RNG): New.
3517 (AARCH64_FL_MEMTAG, ARCH64_FL_SB, AARCH64_FL_SSBS): New.
3518 (AARCH64_FL_PREDRES): New.
3519 (AARCH64_FL_FOR_ARCH8_5): Add AARCH64_FL_SB, AARCH64_FL_SSBS and
3520 AARCH64_FL_PREDRES by default.
3521 * doc/invoke.texi: Document rng, memtag, sb, ssbs and predres.
3523 2018-01-09 Sudakshina Das <sudi.das@arm.com>
3525 * config/aarch64/aarch64-arches.def: Define AARCH64_ARCH for
3527 * config/aarch64/aarch64.h (AARCH64_FL_V8_5): New.
3528 (AARCH64_FL_FOR_ARCH8_5, AARCH64_ISA_V8_5): New.
3529 * doc/invoke.texi: Document ARMv8.5-A.
3531 2019-01-09 Alejandro Martinez <alejandro.martinezvicente@arm.com>
3533 * config/aarch64/aarch64-sve.md (copysign<mode>3): New define_expand.
3534 (xorsign<mode>3): Likewise.
3536 2019-01-09 Jelinek <jakub@redhat.com>
3539 * tree.c (initializer_each_zero_or_onep) <case VECTOR_CST>: Use
3540 vector_cst_elt instead of VECTOR_CST_ENCODED_ELT.
3542 PR rtl-optimization/88331
3543 * function.c (assign_stack_local_1): Don't set dynamic_align_addr if
3544 not currently_expanding_to_rtl.
3546 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
3548 * doc/invoke.texi (-Os): Remove trailing spaces.
3549 (-finline-functions): Remove reference to -O2.
3551 2019-01-08 Jakub Jelinek <jakub@redhat.com>
3553 PR rtl-optimization/79593
3554 * config/i386/i386.md (reg = mem; mem = reg): New define_peephole2.
3556 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
3557 UNSPEC_FUSION_GPR to its argument. Formatting fixes.
3559 2019-01-08 Eric Botcazou <ebotcazou@adacore.com>
3562 * config/sparc/sparc.c (function_arg_slotno): Set *PPREGNO & *PPADDING
3566 * config/sparc/sparc.c (sparc_delegitimize_address): Deal with naked
3567 UNSPECs and UNSPEC_MOVE_GOTDATA specifically.
3569 2019-01-08 H.J. Lu <hongjiu.lu@intel.com>
3572 * config/i386/i386.c (ix86_avx_u128_mode_exit): Call
3573 ix86_avx_u128_mode_entry.
3575 2019-01-08 Martin Liska <mliska@suse.cz>
3577 PR tree-optimization/88753
3578 * tree-switch-conversion.c (switch_conversion::build_one_array):
3579 Come up with local variable constructor. Convert first to
3580 type of constructor values.
3582 2019-01-08 Richard Biener <rguenther@suse.de>
3584 PR tree-optimization/86554
3585 * tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim,
3586 rpo_avail): Move earlier.
3587 (visit_nary_op): When value-numbering to expressions
3588 with different overflow behavior make sure there's an
3589 available expression on the path.
3591 2019-01-08 Sam Tebbs <sam.tebbs@arm.com>
3593 * config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX,
3594 aarch64_parse_branch_protection,
3595 struct aarch64_branch_protect_type,
3596 aarch64_handle_no_branch_protection,
3597 aarch64_handle_standard_branch_protection,
3598 aarch64_validate_mbranch_protection,
3599 aarch64_handle_pac_ret_protection,
3600 aarch64_handle_attr_branch_protection,
3601 accepted_branch_protection_string,
3602 aarch64_pac_ret_subtypes,
3603 aarch64_branch_protect_types,
3604 aarch64_handle_pac_ret_leaf): Define.
3605 (aarch64_override_options_after_change_1, aarch64_override_options):
3606 Add check for accepted_branch_protection_string.
3607 (aarch64_option_save): Save accepted_branch_protection_string.
3608 (aarch64_option_restore): Save accepted_branch_protection_string.
3609 * config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection.
3610 * config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate
3611 msign-return-address.
3612 * doc/invoke.texi: Add mbranch-protection.
3614 2019-01-08 Alan Modra <amodra@gmail.com>
3617 * genattrtab.c (max_attr_value, min_attr_value, or_attr_value):
3618 Delete "unknownp" parameter. Adjust callers. Handle
3619 CONST_INT, PLUS, MINUS, and MULT.
3620 (attr_value_aligned): Renamed from or_attr_value.
3621 (min_attr_value): Return INT_MIN for unhandled rtl case..
3622 (min_fn): ..and translate to INT_MAX here.
3623 (write_length_unit_log): Modify to cope without "unknown".
3624 (write_attr_value): Handle IF_THEN_ELSE.
3626 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
3628 * tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
3629 optimization for masked stores.
3631 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
3634 * tree-vect-loop.c (get_initial_defs_for_reduction): Pass the
3635 output vector directly to duplicate_and_interleave instead of
3636 going through a temporary. Postpone insertion of ctor_seq to
3637 the end of the loop.
3639 2019-01-07 Richard Earnshaw <rearnsha@arm.com>
3642 * config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter
3643 unsigned_p. Handle signed and unsigned overflow correction as
3645 * config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update
3647 * config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand
3649 (add<mode>3_compareV_imm): Make this callable for expanding.
3650 (subv<GPI:mode>4): Use register_operand for operand 1. Use
3651 aarch64_plus_operand for operand 2.
3652 (subv<GPI:mode>_insn): New insn pattern.
3653 (subv<GPI:mode>_imm): Likewise.
3654 (negv<GPI:mode>3): New expand pattern.
3655 (negv<GPI:mode>_insn): New insn pattern.
3656 (negv<GPI:mode>_cmp_only): Likewise.
3657 (cmpv<GPI:mode>_insn): Likewise.
3658 (subvti4): Use register_operand for operand 1. Update call to
3659 aarch64_expand_subvti.
3660 (usubvti4): Likewise.
3661 (negvti3): New expand pattern.
3662 (negdi_carryout): New insn pattern.
3663 (negvdi_carryinV): New insn pattern.
3664 (sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous
3665 version the named version.
3666 (peepholes to convert to sub<mode3>_compare1_imm): Adjust order of
3668 (usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn
3670 (usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn
3672 (sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete.
3673 (sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete.
3674 (sub<mode>3_carryinCV): Delete.
3675 (sub<GPI:mode>3_carryinV): New expand pattern.
3676 sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns.
3678 2019-01-07 Richard Biener <rguenther@suse.de>
3680 * tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor
3681 of tree_operand_hash.
3683 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
3685 PR tree-optimization/88598
3686 * tree.h (single_nonzero_element): Declare.
3687 * tree.c (single_nonzero_element): New function.
3688 * match.pd: Fold certain reductions of X & CST to X[I] & CST[I]
3689 if I is the only nonzero element of CST.
3691 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
3693 PR tree-optimization/88598
3694 * tree.h (initializer_each_zero_or_onep): Declare.
3695 * tree.c (initializer_each_zero_or_onep): New function.
3696 (signed_or_unsigned_type_for): Handle float types too.
3697 (unsigned_type_for, signed_type_for): Update comments accordingly.
3698 * match.pd: Fold x * { 0 or 1, 0 or 1, ...} to
3699 x & { 0 or -1, 0 or -1, ... }.
3701 2019-01-07 Jonathan Wakely <jwakely@redhat.com>
3703 * doc/install.texi: Replace references to x86_64-unknown-linux-gnu
3704 with x86_64-pc-linux-gnu.
3706 2019-01-07 Tom de Vries <tdevries@suse.de>
3709 * config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
3711 (nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
3714 2019-01-07 Jakub Jelinek <jakub@redhat.com>
3716 * config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
3717 V_256_512 iterator instead of V_512 and TARGET_AVX instead of
3718 TARGET_AVX512F as condition.
3721 * dwarf2out.c (const_ok_for_output_1): Remove redundant call to
3722 const_not_ok_for_debug_p target hook.
3723 (mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1
3724 on UNSPEC and subexpressions thereof if all subexpressions of the
3725 UNSPEC are CONSTANT_P.
3727 PR tree-optimization/88676
3728 * tree-ssa-phiopt.c (two_value_replacement): New function.
3729 (tree_ssa_phiopt_worker): Call it.
3732 * cfgexpand.c (expand_stack_vars): Only align prev_offset to
3733 ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
3736 * tree-vect-generic.c: Include insn-config.h and recog.h.
3737 (expand_vector_piecewise): Add defaulted ret_type argument,
3738 if non-NULL, use that in preference to type for the result type.
3739 (expand_vector_parallel): Formatting fix.
3740 (do_vec_conversion, do_vec_narrowing_conversion,
3741 expand_vector_conversion): New functions.
3742 (expand_vector_operations_1): Call expand_vector_conversion
3743 for VEC_CONVERT ifn calls.
3744 * internal-fn.def (VEC_CONVERT): New internal function.
3745 * internal-fn.c (expand_VEC_CONVERT): New function.
3746 * fold-const-call.c (fold_const_vec_convert): New function.
3747 (fold_const_call): Use it for CFN_VEC_CONVERT.
3748 * doc/extend.texi (__builtin_convertvector): Document.
3750 2019-01-07 Tom de Vries <tdevries@suse.de>
3752 * config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
3753 * config/nvptx/nvptx.c (vector_red_size, vector_red_align,
3754 vector_red_partition, vector_red_sym): New global variables.
3755 (nvptx_option_override): Initialize vector_red_sym.
3756 (nvptx_declare_function_name): Restore red_partition register.
3757 (nvptx_file_end): Emit code to declare the vector reduction variables.
3758 (nvptx_output_red_partition): New function.
3759 (nvptx_expand_shared_addr): Add vector argument. Use it to handle
3760 large vector reductions.
3761 (enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
3762 (nvptx_init_builtins): Add VECTOR_ADDR.
3763 (nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
3764 Handle nvptx_expand_shared_addr.
3765 (nvptx_get_shared_red_addr): Add vector argument and handle large
3767 (nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
3769 (nvptx_goacc_reduction_init): Likewise.
3770 (nvptx_goacc_reduction_fini): Likewise.
3771 (nvptx_goacc_reduction_teardown): Likewise.
3772 (nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
3773 init,fini,teardown}.
3774 (nvptx_init_axis_predicate): Initialize vector_red_partition.
3775 (nvptx_set_current_function): Init vector_red_partition.
3776 * config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
3777 (nvptx_red_partition): New insn.
3778 * config/nvptx/nvptx.h (struct machine_function): Add red_partition.
3780 2019-01-07 Tom de Vries <tdevries@suse.de>
3783 * config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
3786 2019-01-07 Tom de Vries <tdevries@suse.de>
3788 * config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
3789 (nvptx_option_override): Init oacc_bcast_partition.
3790 (nvptx_init_oacc_workers): New function.
3791 (nvptx_declare_function_name): Call nvptx_init_oacc_workers.
3792 (nvptx_needs_shared_bcast): New function.
3793 (nvptx_find_par): Generalize to enable vectors to use shared-memory
3795 (nvptx_shared_propagate): Initialize vector bcast partition and
3796 synchronization state.
3797 (nvptx_single): Generalize to enable vectors to use shared-memory
3799 (nvptx_process_pars): Likewise.
3800 (nvptx_set_current_function): Initialize oacc_broadcast_partition.
3801 * config/nvptx/nvptx.h (struct machine_function): Add
3802 bcast_partition and sync_bar members.
3804 2019-01-07 Tom de Vries <tdevries@suse.de>
3806 * config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
3807 (nvptx_apply_dim_limits): New function.
3808 (nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
3811 2019-01-07 Tom de Vries <tdevries@suse.de>
3813 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
3814 as late as possible.
3816 2019-01-07 Tom de Vries <tdevries@suse.de>
3818 * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
3819 (PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
3820 (nvptx_goacc_validate_dims_1, nvptx_dim_limit)
3821 (nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
3822 PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
3824 2019-01-07 Tom de Vries <tdevries@suse.de>
3826 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
3828 2019-01-07 Tom de Vries <tdevries@suse.de>
3830 * omp-offload.c (oacc_get_min_dim): New function.
3831 * omp-offload.h (oacc_get_min_dim): Declare.
3833 2018-12-26 Mateusz B <mateuszb@poczta.onet.pl>
3836 * config/i386/i386.c (function_value_ms_64): Return small sturct in
3837 AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
3839 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
3843 2017-05-22 Jan Hubicka <hubicka@ucw.cz>
3845 * ipa-inline.c (edge_badness): Use inlined_time instead of
3846 inline_summaries->get.
3848 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
3850 * opts.c (enable_fdo_optimizations): Enable
3851 version-loops-for-strides, loop-interchange, unrol-and-jam
3852 and tree-loop-distribution.
3853 * invoke.texi: Document newly enabled options.
3855 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
3857 * doc/invoke.texi (max-inline-insns-small): New parameters.
3858 * ipa-inline.c (want_early_inline_function_p): simplify.
3859 (want_inline_small_function_p): Fix pasto from previous patch;
3860 use max-inline-insns-small bound.
3861 * params.def (max-inline-insns-small): New param.
3862 * ipa-fnsummary.c (analyze_function_body): Initialize time/size
3863 variables correctly.
3865 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
3867 * doc/invoke.texi: Document max-inline-insns-size,
3868 uninlined-function-insns, uninlined-function-time,
3869 uninlined-thunk-insns and uninlined-thunk-time.
3870 * params.def: Add max-inline-insns-size,
3871 uninlined-function-insns, uninlined-function-time,
3872 uninlined-thunk-insns and uninlined-thunk-time.
3873 * ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
3875 * ipa-inline.c (can_inline_edge_by_limits_p,
3876 want_inline_small_function_p): Use new parameters.
3878 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
3880 * ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
3882 2019-01-05 Jakub Jelinek <jakub@redhat.com>
3886 * expr.c (expand_assignment): For calls returning VLA structures
3887 if to_rtx is not a MEM, force it into a stack temporary.
3890 * dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
3891 SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
3892 Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
3893 subexpressions of both operands.
3894 (mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
3895 subrtxes are CONSTANT_P.
3896 * config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
3899 2019-01-04 Jan Hubicka <hubicka@ucw.cz>
3901 * params.def (hot-bb-count-ws-permille): Set to 990.
3903 2019-01-04 Martin Sebor <msebor@redhat.com>
3906 * attribs.c (decls_mismatched_attributes): Avoid warning for attribute
3909 2019-01-04 Martin Sebor <msebor@redhat.com>
3912 * doc/extend.texi (attribute alloc_align, alloc_size): Update.
3914 2019-01-04 Jakub Jelinek <jakub@redhat.com>
3916 * gdbinit.in: Turn off pagination for the skip commands, restore
3917 it to previous state afterwards.
3919 2019-01-04 Jakub Jelinek <jakub@redhat.com>
3922 * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
3923 of GET_MODE (opN) as modes of the libcall arguments.
3925 2019-01-04 Jan Beulich <jbeulich@suse.com>
3927 * config/i386/sse.md
3928 (<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
3929 <avx512>_cmp<mode>3<mask_scalar_merge_name>,
3930 <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
3931 <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
3932 avx512f_vmcmp<mode>3<round_saeonly_name>,
3933 avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
3934 avx512f_maskcmp<mode>3,
3935 <avx512>_cvt<ssemodesuffix>2mask<mode>,
3936 <avx512>_cvt<ssemodesuffix>2mask<mode>,
3937 *<avx512>_cvtmask2<ssemodesuffix><mode>,
3938 *<avx512>_cvtmask2<ssemodesuffix><mode>,
3939 <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
3940 <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
3941 <avx512>_gt<mode>3<mask_scalar_merge_name>,
3942 <avx512>_gt<mode>3<mask_scalar_merge_name>,
3943 <avx512>_testm<mode>3<mask_scalar_merge_name>,
3944 <avx512>_testnm<mode>3<mask_scalar_merge_name>,
3945 *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
3946 *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
3947 *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
3948 *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
3949 avx512cd_maskb_vec_dup<mode>,
3950 avx512cd_maskw_vec_dup<mode>,
3951 avx512dq_fpclass<mode><mask_scalar_merge_name>,
3952 avx512dq_vmfpclass<mode>,
3953 avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
3956 2019-01-03 Martin Sebor <msebor@redhat.com>
3958 PR tree-optimization/88659
3959 * calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
3961 2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com>
3963 * config/rs6000/rs6000-string.c (expand_block_move): Don't use
3964 unaligned vsx and avoid lxvd2x/stxvd2x.
3965 (gen_lvx_v4si_move): New function.
3967 2019-01-03 Tom de Vries <tdevries@suse.de>
3969 * config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
3970 (init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
3972 * config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
3974 2019-01-03 Tom de Vries <tdevries@suse.de>
3976 * config/nvptx/nvptx.c (struct offload_attrs): New.
3977 (populate_offload_attrs): New function. Factor mask extraction out of
3978 nvptx_reorg. Add extraction of dimensions.
3979 (nvptx_reorg): Use populate_offload_attrs.
3981 2019-01-03 Tom de Vries <tdevries@suse.de>
3983 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
3984 cases for oacc_min_dims_p and routine_p. Add asserts for
3985 oacc_default_dims_p and offload_region_p.
3987 2019-01-03 Tom de Vries <tdevries@suse.de>
3989 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
3991 (nvptx_goacc_validate_dims): ... here.
3993 2019-01-03 Jan Hubicka <hubicka@ucw.cz>
3995 PR tree-optimization/85574
3996 * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
3998 (struct ssa_equip_hash_traits): Declare.
3999 (val_ssa_equiv): Use custom hash traits using operand_equal_p.
4001 2019-01-03 Jakub Jelinek <jakub@redhat.com>
4004 * dwarf2out.c (modified_type_die): If type is equal to sizetype,
4005 change it to qualified_type.
4007 2019-01-03 Jan Hubicka <hubicka@ucw.cz>
4009 * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
4010 (ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
4012 2019-01-02 Martin Sebor <msebor@redhat.com>
4013 Jeff Law <law@redhat.com>
4015 * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
4016 (get_range_strlen_tree): Update appropriately.
4018 * gimple-fold.h (get_range_strlen): Drop unused last argument.
4020 * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
4021 rather than set_range_info.
4022 * tree-ssa-strlen.c (set_strlen_range): Extracted from
4023 maybe_set_strlen_range. Handle potentially boundary crossing
4024 cases more conservatively.
4025 (maybe_set_strlen_range): Parts refactored into set_strlen_range.
4026 Call set_strlen_range.
4027 * tree-ssa-strlen.h (set_strlen_range): Add prototype.
4030 * gimple-fold.c (get_range_strlen): Update prototype to no longer
4031 need the flexp argument.
4032 (get_range_strlen_tree): Drop flexp argument. Drop flexp argument
4033 from calls to get_range_strlen. Update comments. Just update
4034 VAL for an unterminated const char array and let the reset of the
4035 code handle it normally. No longer try to set *flexp. Adjust
4037 (get_range_strlen): Update for the new get_range_strlen API.
4038 (get_maxval_strlen): Similarly.
4039 (gimple_fold_builtin_strlen): Handle update meaning of return value
4040 from get_range_strlen.
4041 * gimple-ssa-sprintf.c (get_string_length): Update for the new
4042 get_range_strlen API.
4044 2019-01-02 Jan Hubicka <hubicka@ucw.cz>
4047 * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
4048 false at WPA time when body was removed.
4050 2019-01-02 Martin Liska <mliska@suse.cz>
4052 PR tree-optimization/88650
4053 * predict.c (set_even_probabilities): Calculate probability
4054 remainer only when really used.
4056 2019-01-02 Richard Biener <rguenther@suse.de>
4059 * tree-data-ref.c (analyze_subscript_affine_affine): Use
4060 widest_ints when mangling max_stmt_execution results.
4062 2019-01-02 Richard Biener <rguenther@suse.de>
4064 PR tree-optimization/88621
4065 * tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
4066 bitfields when canoncalizing.
4068 2019-01-02 Richard Biener <rguenther@suse.de>
4071 * config/i386/x86-tune-costs.h (intel_cost): Adjust
4072 cost of cheap SSE instruction.
4074 2019-01-02 Richard Biener <rguenther@suse.de>
4077 * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
4078 * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
4080 (sem_item_optimizer::do_congruence_step_f): Sort the congruence
4081 set after UIDs before splitting them.
4083 2019-01-01 Martin Sebor <msebor@redhat.com>
4084 Jeff Law <law@redhat.com>
4086 * gimple-fold.c (get_range_strlen_tree): Record if the computed
4087 length is optimistic. If it is, then arrange to compute the
4088 conservative length as well.
4090 * gimple-fold.h (get_range_strlen): Update prototype.
4091 * builtins.c (check_access): Update call to get_range_strlen to use
4092 c_strlen_data pointer. Change various variable accesses to instead
4093 pull data from the c_strlen_data structure.
4094 (check_strncat_sizes, expand_builtin_strncat): Likewise.
4095 * calls.c (maybe_warn_nonstring_arg): Likewise.
4096 * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset
4097 minimum length if maximum lengh is unknown.
4098 * gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code
4099 that used c_strlen, it's no longer needed. Restructure slightly.
4100 (format_string): Set unlikely range appropriately.
4101 * gimple-fold.c (get_range_strlen): Update comments. Fix minor
4103 (get_range_strlen): Accept c_strlen_data pointer for external
4104 call sites as well. Pass through to call to internal get_range_strlen.
4105 Adjust minlen, maxlen and maxbound as needed.
4106 (get_maxval_strlen): Update comments.
4107 (gimple_fold_builtin_strlen): Update call to get_range_strlen
4108 to use c_strlen_data pointer. Change variable accesses to instead
4109 use c_strlen_data data members.
4111 * gimple-fold.c (get_range_strlen): Update prototype.
4112 (get_range_strlen_tree): Update prototype. Drop minlen/maxlen
4113 local variables. Use pdata to return information to caller.
4114 Update calls to get_range_strlen. Update pdata->maxbound.
4115 (get_range_strlen -- static version): Similarly.
4116 (get_range_strlen -- extern version): Update for internal
4117 get_range_strlen API change. Convert to external data format.
4118 (get_maxval_strlen): Similarly.
4120 2019-01-01 Jan Hubicka <hubicka@ucw.cz>
4122 * coverage.c (get_coverage_counts): Use current_function_decl.
4123 * profile.c (read_thunk_profile): New function.
4124 (branch_prob): Add THUNK parameter.
4125 * tree-profile.c (tree_profiling): Handle thunks.
4126 * value-prof.c (init_node_map): Handle thunks.
4127 * value-prof.h (branch_prob): Upate prototype.
4128 (read_thunk_profile): Declare.
4130 2019-01-01 Jakub Jelinek <jakub@redhat.com>
4132 Update copyright years.
4134 * gcc.c (process_command): Update copyright notice dates.
4135 * gcov-dump.c (print_version): Ditto.
4136 * gcov.c (print_version): Ditto.
4137 * gcov-tool.c (print_version): Ditto.
4138 * gengtype.c (create_file): Ditto.
4139 * doc/cpp.texi: Bump @copying's copyright year.
4140 * doc/cppinternals.texi: Ditto.
4141 * doc/gcc.texi: Ditto.
4142 * doc/gccint.texi: Ditto.
4143 * doc/gcov.texi: Ditto.
4144 * doc/install.texi: Ditto.
4145 * doc/invoke.texi: Ditto.
4147 Copyright (C) 2019 Free Software Foundation, Inc.
4149 Copying and distribution of this file, with or without modification,
4150 are permitted in any medium without royalty provided the copyright
4151 notice and this notice are preserved.