1 2019-01-22 Alan Modra <amodra@gmail.com>
4 * config/rs6000/predicates.md (unspec_tls): Ensure GOT reg
5 stays a reg. Allow a const_int.
6 * config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare.
7 * config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define.
8 (IS_NOMARK_TLSGETADDR): Define.
9 * config/rs6000/rs6000.c (edit_tls_call_insn): Delete.
10 (rs6000_output_tlsargs): New function.
11 (rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS
12 __tls_get_addr call takes an arg.
13 (rs6000_call_sysv): Generate sysv4 secure plt call pattern here..
14 * config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here,
16 (call_value_nonlocal_sysv): ..or here, delete split.
17 (tls_gdld_nomark): Delete.
18 (call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2
19 predicate. Call rs6000_output_tlsargs. Adjust length to suit.
20 (call_value_nonlocal_sysv): Likewise.
21 (call_value_nonlocal_sysv_secure): Likewise.
22 (call_value_nonlocal_aix): Likewise.
23 (call_value_indirect_aix): Likewise.
24 (call_value_indirect_elfv2): Likewise.
25 (call_value_local32, call_value_local64): Disable for no-mark tls.
26 (call_value_local_aix): Likewise.
28 2019-01-21 Uroš Bizjak <ubizjak@gmail.com>
31 * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32,
32 case IX86_BUILTIN_BEXTRI64]: Sanitize operands.
34 2019-01-21 Michael Ploujnikov <michael.ploujnikov@oracle.com>
36 * hash-map-tests.c (test_map_of_strings_to_int): Show how to use
37 string contents as hash_map keys.
39 2019-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
42 * c-warn.c (check_alignment_of_packed_member): Add a boolean parameter
43 for rvalue context. Handle rvalues correctly. Use min_align_of_type
44 instead of TYPE_ALIGN.
45 (check_address_or_pointer_of_packed_member): Handle rvalues coorrectly.
46 Use min_align_of_type instead of TYPE_ALIGN_UNIT. Check for NULL
47 pointer from TYPE_STUB_DECL.
49 2019-01-21 Richard Biener <rguenther@suse.de>
51 PR tree-optimization/88934
52 * tree-vect-slp.c (vect_mask_constant_operand_p): Always look
53 at the possibly non-constant operand.
54 (vect_get_constant_vectors): Adjust.
56 2019-01-21 H.J. Lu <hongjiu.lu@intel.com>
59 * config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED.
60 * config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED
61 instead of _X86INTRIN_H_INCLUDED.
62 * onfig/i386/clwbintrin.h: Likewise.
63 * config/i386/pkuintrin.h: Likewise.
64 * config/i386/prfchwintrin.h: Likewise.
65 * config/i386/rdseedintrin.h: Likewise.
66 * config/i386/wbnoinvdintrin.h: Likewise.
67 * config/i386/xsavecintrin.h: Likewise.
68 * config/i386/xsavesintrin.h: Likewise.
69 * config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check.
70 * config/i386/xsaveintrin.h: Likewise.
71 * config/i386/xsaveoptintrin.h: Likewise.
72 * config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>,
73 <prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>,
74 <xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>,
75 <clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>,
76 <wbnoinvdintrin.h> and <pkuintrin.h> to ...
77 * config/i386/immintrin.h: Here.
79 2019-01-20 Martin Jambor <mjambor@suse.cz>
82 * ipa-prop.h (struct ipa_func_body_info): Replaced field aa_walked
84 * cgraph.h (ipa_polymorphic_call_context::get_dynamic_type): Add
85 aa_walk_budget_p parameter.
86 * ipa-fnsummary.c (unmodified_parm_1): New parameter fbi. Limit AA
87 walk. Updated all callers.
88 (unmodified_parm): New parameter fbi, pass it to unmodified_parm_1.
89 (eliminated_by_inlining_prob): New parameter fbi, pass it on to
91 (will_be_nonconstant_expr_predicate): New parameter fbi, removed
92 parameter info. Extract info from fbi. Pass fbi to recursive calls
93 and to unmodified_parm.
94 (phi_result_unknown_predicate): New parameter fbi, removed parameter
95 info, updated call to will_be_nonconstant_expr_predicate.
96 (param_change_prob): New parameter fbi, limit AA walking.
97 (analyze_function_body): Initialize aa_walk_budget in fbi. Update
98 calls to various above functions.
99 * ipa-polymorphic-call.c (get_dynamic_type): Add aa_walk_budget_p
100 parameter. Use it to limit AA walking.
101 * ipa-prop.c (detect_type_change_from_memory_writes): New parameter
103 (detect_type_change): New parameter fbi, pass it on to
104 detect_type_change_from_memory_writes.
105 (detect_type_change_ssa): Likewise.
106 (aa_overwalked): Removed.
107 (parm_preserved_before_stmt_p): Assume fbi is never NULL, stream line
108 accordingly, adjust to the neew AA limiting scheme.
109 (parm_ref_data_preserved_p): Likewise.
110 (ipa_compute_jump_functions_for_edge): Adjust call to
112 (ipa_analyze_call_uses): Likewise.
113 (ipa_analyze_virtual_call_uses): Pass fbi to detect_type_change_ssa.
114 (ipa_analyze_node): Initialize aa_walk_budget.
115 (ipcp_transform_function): Likewise.
116 * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): Update call
119 2019-01-19 Jakub Jelinek <jakub@redhat.com>
121 * config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move
122 outside of #if CHECKING_P code.
124 2019-01-19 Richard Sandiford <richard.sandiford@arm.com>
126 * gimple-loop-versioning.cc (loop_versioning::dump_inner_likelihood):
127 New function, split out from...
128 (loop_versioning::analyze_stride): ...here.
129 (loop_versioning::find_per_loop_multiplication): Use gassign.
130 (loop_versioning::analyze_term_using_scevs): Return a success code.
131 (loop_versioning::analyze_arbitrary_term): New function.
132 (loop_versioning::analyze_address_fragment): Use
133 analyze_arbitrary_term if all else fails.
135 2019-01-18 Segher Boessenkool <segher@kernel.crashing.org>
138 * config/rs6000/rs6000.md (*movsi_from_df): Allow only register
141 2019-01-18 Richard Biener <rguenther@suse.de>
143 PR tree-optimization/88903
144 * tree-vect-stmts.c (vectorizable_shift): Verify we see all
145 scalar stmts a SLP shift amount is composed of when detecting
148 2019-01-18 Richard Earnshaw <rearnsha@arm.com>
151 * config/arm/arm-cpus.in (mp): New feature.
153 (fgroup ARMv7ve): Add mp and sec features.
154 (arch armv7-a): Add options to allow mp and sec extensions.
155 (cpu generic-armv7-a): Add options to allow mp and sec extensions.
156 (cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec
157 extenstions to the base architecture.
158 (cpu cortex-a8): Add sec extension to the base architecture.
159 (cpu marvell-pj4): Add mp and sec extensions to the base architecture.
160 * config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch
161 variants down to the base v7-a varaint.
162 * config/arm/t-multilib (v7_a_arch_variants): New variable.
163 * doc/invoke.texi (ARM Options): Add +mp and +sec to the list
164 of permitted extensions for -march=armv7-a and for
165 -mcpu=generic-armv7-a.
167 2019-01-18 Martin Liska <mliska@suse.cz>
169 * params.def: Fix comment.
170 * tree-profile.c (gimple_init_gcov_profiler): Bump function
172 (gimple_gen_ic_func_profiler): Likewise.
174 2019-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
176 * config/aarch64/aarch64-opts.h (enum stack_protector_guard): New
177 * config/aarch64/aarch64.c (aarch64_override_options_internal): Handle
178 and put in error checks for stack protector guard options.
179 (aarch64_stack_protect_guard): New.
180 (TARGET_STACK_PROTECT_GUARD): Define.
181 * config/aarch64/aarch64.md (UNSPEC_SSP_SYSREG): New.
182 (reg_stack_protect_address<mode>): New.
183 (stack_protect_set): Adjust for SSP_GLOBAL.
184 (stack_protect_test): Likewise.
185 * config/aarch64/aarch64.opt (-mstack-protector-guard-reg): New.
186 (-mstack-protector-guard): Likewise.
187 (-mstack-protector-guard-offset): Likewise.
189 2019-01-18 Jakub Jelinek <jakub@redhat.com>
191 PR tree-optimization/86214
192 * tree-inline.h (struct copy_body_data): Add
193 add_clobbers_to_eh_landing_pads member.
194 * tree-inline.c (add_clobbers_to_eh_landing_pad): New function.
195 (copy_edges_for_bb): Call it if EH edge destination is <
196 id->add_clobbers_to_eh_landing_pads. Fix a comment typo.
197 (expand_call_inline): Set id->add_clobbers_to_eh_landing_pads
198 if flag_stack_reuse != SR_NONE and clear it afterwards.
200 2019-01-18 Christophe Lyon <christophe.lyon@linaro.org>
203 * doc/install.texi (with-multilib-list): Document for aarch64.
205 2019-01-18 Jakub Jelinek <jakub@redhat.com>
208 * config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace
209 (("..."))) with ("...").
211 2019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
213 * doc/extend.texi (Built-in Functions for Memory Model Aware
214 Atomic Operations): Document atomic fetch and nand.
216 2019-01-18 Martin Liska <mliska@suse.cz>
217 Richard Biener <rguenther@suse.de>
220 * cgraph.h (create_version_clone_with_body): Add new argument
222 * cgraphclones.c (cgraph_node::create_version_clone): Add
223 DECL_ATTRIBUTES to a newly created decl. And call
224 valid_attribute_p so that proper cl_target_optimization_node
225 is set for the newly created declaration.
226 * multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES
228 (expand_target_clones): Do not call valid_attribute_p, it must
230 * tree-inline.c (copy_decl_for_dup_finish): Reset mode for
233 2019-01-17 Jakub Jelinek <jakub@redhat.com>
236 * config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace
237 (("..."))) with ("..."). Use arch=armv8.2-a+sha3 instead of
238 arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics.
240 2019-01-17 Martin Sebor <msebor@redhat.com>
243 * gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range):
244 Handle anti-ranges the same as no range at all.
246 2018-01-17 Steve Ellcey <sellcey@cavium.com>
248 * config/aarch64/aarch64.c (cgraph.h): New include.
249 (intl.h): New include.
250 (supported_simd_type): New function.
251 (currently_supported_simd_type): Ditto.
252 (aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto.
253 (aarch64_simd_clone_adjust): Ditto.
254 (aarch64_simd_clone_usable): Ditto.
255 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro.
256 (TARGET_SIMD_CLONE_ADJUST): Ditto.
257 (TARGET_SIMD_CLONE_USABLE): Ditto.
258 * config/i386/i386.c (ix86_simd_clone_adjust): Add definition check.
259 * omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust
262 2019-01-17 Martin Sebor <msebor@redhat.com>
264 PR tree-optimization/88800
265 * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking
266 NO_WARNING bit here. Avoid folding out-of-bounds calls.
267 * gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove
268 redundant argument. Add new argument and issue diagnostics under
269 its control. Detect out-of-bounds access even with warnings
271 (check_bounds_or_overlap): Change return type. Add argument.
272 (wrestrict_dom_walker::check_call): Adjust.
273 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument.
274 * tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in
275 check_bounds_or_overlap's return value.
276 (handle_builtin_stxncpy): Same.
277 (handle_builtin_strcat): Same.
279 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
280 Kwok Cheung Yeung <kcy@codesourcery.com>
281 Julian Brown <julian@codesourcery.com>
282 Tom de Vries <tom@codesourcery.com>
284 * doc/sourcebuild.texi: Document dg-add-options sqrt_insn.
286 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
288 * doc/sourcebuild.texi: Document dg-require-effective-target
289 llvm_binutils and offload_gcn.
291 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
292 Kwok Cheung Yeung <kcy@codesourcery.com>
293 Julian Brown <julian@codesourcery.com>
294 Tom de Vries <tom@codesourcery.com>
296 * doc/sourcebuild.texi: Document dg-required-effective-target
299 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
300 Kwok Cheung Yeung <kcy@codesourcery.com>
301 Julian Brown <julian@codesourcery.com>
302 Tom de Vries <tom@codesourcery.com>
303 Jan Hubicka <hubicka@ucw.cz>
304 Martin Jambor <mjambor@suse.cz>
306 * config.gcc: Add amdgcn*-*-amdhsa configuration.
307 * configure.ac: Check for dlopen.
308 * configure: Regenerate.
310 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
311 Kwok Cheung Yeung <kcy@codesourcery.com>
312 Julian Brown <julian@codesourcery.com>
313 Tom de Vries <tom@codesourcery.com>
314 Jan Hubicka <hubicka@ucw.cz>
315 Martin Jambor <mjambor@suse.cz>
317 * common/config/gcn/gcn-common.c: New file.
318 * config/gcn/driver-gcn.c: New file.
319 * config/gcn/gcn-builtins.def: New file.
320 * config/gcn/gcn-hsa.h: New file.
321 * config/gcn/gcn-modes.def: New file.
322 * config/gcn/gcn-opts.h: New file.
323 * config/gcn/gcn-passes.def: New file.
324 * config/gcn/gcn-protos.h: New file.
325 * config/gcn/gcn-run.c: New file.
326 * config/gcn/gcn-tree.c: New file.
327 * config/gcn/gcn.c: New file.
328 * config/gcn/gcn.h: New file.
329 * config/gcn/gcn.opt: New file.
330 * config/gcn/t-gcn-hsa: New file.
332 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
333 Kwok Cheung Yeung <kcy@codesourcery.com>
334 Julian Brown <julian@codesourcery.com>
335 Tom de Vries <tom@codesourcery.com>
336 Jan Hubicka <hubicka@ucw.cz>
337 Martin Jambor <mjambor@suse.cz>
339 * config/gcn/constraints.md: New file.
340 * config/gcn/gcn-valu.md: New file.
341 * config/gcn/gcn.md: New file.
342 * config/gcn/predicates.md: New file.
344 2019-01-17 Eric Botcazou <ebotcazou@adacore.com>
346 * gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace
347 flag_non_call_exceptions with cfun->can_throw_non_call_exceptions.
348 (stmt_uses_0_or_null_in_undefined_way): Likewise.
349 * tree-ssa-alias.c (same_addr_size_stores_p): Likewise.
351 2019-01-17 Tamar Christina <tamar.christina@arm.com>
354 * config/aarch64/aarch64.md (STACK_CLASH_SVE_CFA_REGNUM): New.
355 * config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space): Use
356 it and document registers.
358 2019-01-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
360 * config/aarch64/aarch64.c (ares_tunings): Define.
361 * config/aarch64/aarch64-cores.def (ares): Use the above.
363 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
367 2018-11-06 Wei Xiao <wei3.xiao@intel.com>
369 * config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics.
370 (_mm512_fixupimm_round_pd): Update parameters and builtin.
371 (_mm512_maskz_fixupimm_round_pd): Ditto.
372 (_mm512_fixupimm_round_ps): Ditto.
373 (_mm512_maskz_fixupimm_round_ps): Ditto.
374 (_mm_fixupimm_round_sd): Ditto.
375 (_mm_maskz_fixupimm_round_sd): Ditto.
376 (_mm_fixupimm_round_ss): Ditto.
377 (_mm_maskz_fixupimm_round_ss): Ditto.
378 (_mm512_fixupimm_pd): Ditto.
379 (_mm512_maskz_fixupimm_pd): Ditto.
380 (_mm512_fixupimm_ps): Ditto.
381 (_mm512_maskz_fixupimm_ps): Ditto.
382 (_mm_fixupimm_sd): Ditto.
383 (_mm_maskz_fixupimm_sd): Ditto.
384 (_mm_fixupimm_ss): Ditto.
385 (_mm_maskz_fixupimm_ss): Ditto.
386 (_mm512_mask_fixupimm_round_pd): Update builtin.
387 (_mm512_mask_fixupimm_round_ps): Ditto.
388 (_mm_mask_fixupimm_round_sd): Ditto.
389 (_mm_mask_fixupimm_round_ss): Ditto.
390 (_mm512_mask_fixupimm_pd): Ditto.
391 (_mm512_mask_fixupimm_ps): Ditto.
392 (_mm_mask_fixupimm_sd): Ditto.
393 (_mm_mask_fixupimm_ss): Ditto.
394 * config/i386/avx512vlintrin.h:
395 (_mm256_fixupimm_pd): Update parameters and builtin.
396 (_mm256_maskz_fixupimm_pd): Ditto.
397 (_mm256_fixupimm_ps): Ditto.
398 (_mm256_maskz_fixupimm_ps): Ditto.
399 (_mm_fixupimm_pd): Ditto.
400 (_mm_maskz_fixupimm_pd): Ditto.
401 (_mm_fixupimm_ps): Ditto.
402 (_mm_maskz_fixupimm_ps): Ditto.
403 (_mm256_mask_fixupimm_pd): Update builtin.
404 (_mm256_mask_fixupimm_ps): Ditto.
405 (_mm_mask_fixupimm_pd): Ditto.
406 (_mm_mask_fixupimm_ps): Ditto.
407 * config/i386/i386-builtin-types.def: Add new types and remove useless ones.
408 * config/i386/i386-builtin.def: Update builtin definitions.
409 * config/i386/i386.c: Handle new builtin types and remove useless ones.
410 * config/i386/sse.md: Update VFIXUPIMM* patterns.
411 (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
412 (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
413 (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Update.
414 (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
415 (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
416 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Update.
417 * config/i386/subst.md:
418 (round_saeonly_sd_mask_operand4): Add new subst_attr.
419 (round_saeonly_sd_mask_op4): Ditto.
420 (round_saeonly_expand_operand5): Ditto.
421 (round_saeonly_expand): Update.
423 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
427 2018-11-12 Wei Xiao <wei3.xiao@intel.com>
429 * config/i386/sse.md: Combine VFIXUPIMM* patterns
430 (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
431 (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
432 (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Remove.
433 (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
434 (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
435 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Remove.
437 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
441 2018-12-15 Jakub Jelinek <jakub@redhat.com>
444 * config/i386/sse.md (UNSPEC_SFIXUPIMM): New unspec enumerator.
445 (avx512f_sfixupimm<mode><mask_name><round_saeonly_name>): Use it
446 instead of UNSPEC_FIXUPIMM.
448 2019-01-17 Richard Biener <rguenther@suse.de>
451 * dwarf2out.c (want_pubnames): Never generate pubnames sections
452 and friends for the LTO part of debug info.
454 2019-01-17 Jakub Jelinek <jakub@redhat.com>
456 PR tree-optimization/86214
457 * cfgexpand.c (add_stack_var_conflict): Don't add any conflicts
460 PR rtl-optimization/88870
461 * dce.c (deletable_insn_p): Never delete const/pure calls that can
462 throw if we can't alter the cfg or delete dead exceptions.
463 (mark_insn): Don't call find_call_stack_args for such calls.
465 2019-01-17 Kewen Lin <linkw@gcc.gnu.org>
467 * doc/extend.texi: Add four new prototypes for vec_ld and seven new
468 prototypes for vec_st.
469 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries
470 for scalar address type variants of altivec_vec_ld/altivec_vec_st,
471 mainly on signed/unsigned long long and double.
473 2019-01-16 David Malcolm <dmalcolm@redhat.com>
476 * combine.c (delete_noop_moves): Convert to "bool" return,
477 returning true if any edges are eliminated.
478 (combine_instructions): Also return true if delete_noop_moves
481 2019-01-16 Tamar Christina <tamar.christina@arm.com>
483 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use
484 correct max nunits for endian swap.
485 (aarch64_expand_fcmla_builtin): Correct subreg code.
486 * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
487 aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>): Correct
490 2019-01-16 Uroš Bizjak <ubizjak@gmail.com>
492 * config/alpha/alpha.c (alpha_gimplify_va_arg):
493 Handle split indirect COMPLEX_TYPE arguments.
495 2019-01-16 Richard Earnshaw <rearnsha@arm.com>
498 * config/aarch64/aarch64-modes.def: Add comment about how the carry
499 bit is set by add and compare.
500 (CC_ADC): New CC_MODE.
501 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables
502 to cache the code and mode of X. Adjust the shape of a CC_Cmode
503 comparison. Add detection for CC_ADCmode.
504 (aarch64_get_condition_code_1): Update code support for CC_Cmode. Add
506 * config/aarch64/aarch64.md (uaddv<mode>4): Use LTU with CCmode.
507 (uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU.
508 (add<mode>3_compareC_cconly_imm): Delete. Merge into...
509 (add<mode>3_compareC_cconly): ... this. Restructure the comparison
510 to eliminate the need for zero-extending the operands.
511 (add<mode>3_compareC_imm): Delete. Merge into ...
512 (add<mode>3_compareC): ... this. Restructure the comparison to
513 eliminate the need for zero-extending the operands.
514 (add<mode>3_carryin): Use LTU for the overflow detection.
515 (add<mode>3_carryinC): Use CC_ADCmode for the result of the carry out.
516 Reexpress comparison for overflow.
517 (add<mode>3_carryinC_zero): Update for change to add<mode>3_carryinC.
518 (add<mode>3_carryinC): Likewise.
519 (add<mode>3_carryinV): Use LTU for carry between partials.
520 * config/aarch64/predicates.md (aarch64_carry_operation): Update
521 handling of CC_Cmode and add CC_ADCmode.
522 (aarch64_borrow_operation): Likewise.
524 2019-01-16 Tamar Christina <tamar.christina@arm.com>
526 * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode.
527 * config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise.
528 * config/arm/neon.md (neon_vcmla_lane<rot><mode>, neon_vcmla_laneq<rot><mode>,
529 neon_vcmlaq_lane<rot><mode>): Remove endianness conversion.
531 2019-01-16 Martin Liska <mliska@suse.cz>
533 * Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR
535 * config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as
537 * gcc.c (add_sysrooted_hdrs_prefix): New function.
538 (path_prefix_reset): Move up in the source file.
539 (find_fortran_preinclude_file): Make complex search for the
540 fortran header files.
542 2019-01-15 Nikhil Benesch <nikhil.benesch@gmail.com>
544 * godump.c (go_output_typedef): When outputting a typedef, refer
545 to the underlying type by its name and not its structure.
547 2019-01-15 David Malcolm <dmalcolm@redhat.com>
550 * tree.c (build_function_type): Assert that arg_types is not
553 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
556 * doc/extend.texi: Document that listing the stack pointer in the
557 clobber list of an asm is a deprecated feature.
558 * common.opt (Wdeprecated): Moved from c-family/c.opt.
559 * cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated
560 warning instead of an error for clobbers of the stack pointer.
561 Add a note explaining why.
563 2019-01-15 Richard Biener <rguenther@suse.de>
566 * dwarf2out.c (gen_member_die): Do not generate inheritance
569 2019-01-15 Richard Biener <rguenther@suse.de>
571 PR tree-optimization/88855
572 * tree-if-conv.c (combine_blocks): Collect
573 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.
575 2019-01-15 Tom de Vries <tdevries@suse.de>
578 * config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
579 lhs == NULL_TREE for gang-level reduction.
581 2019-01-15 Richard Biener <rguenther@suse.de>
582 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
585 * ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
586 return true if SSA_NAME is already marked in visited bitmap.
587 (malloc_candidate_p): Pass visited to malloc_candidate_p_1.
589 2019-01-15 Jakub Jelinek <jakub@redhat.com>
591 PR tree-optimization/88775
592 * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize
593 equal == 0 equality pointer comparisons some more if compared in
594 integral types and either one points to an automatic var and the
595 other to a global, or we can prove at least one points to the middle
596 or both point to start or both point to end.
598 2019-01-14 Andi Kleen <ak@linux.intel.com>
600 * Makefile.in: Lower autofdo sampling rate by 10x.
601 * Makefile.tpl: Dito.
603 2019-01-14 Tom Honermann <tom@honermann.net>
605 * defaults.h: Define CHAR8_TYPE.
607 2019-01-14 Martin Sebor <msebor@redhat.com>
610 * doc/extend.texi (Darwin Format Checks): Clarify.
612 2019-01-14 Richard Biener <rguenther@suse.de>
614 * genmatch.c (dt_simplify::gen_1): Change dumping dependent on
615 whether we are in (simplify ...) or (match ...) context.
617 2019-01-14 Jakub Jelinek <jakub@redhat.com>
619 PR rtl-optimization/88796
620 * emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field.
621 * cfgexpand.c (stack_protect_prologue): Initialize
622 crtl->stack_protect_guard_decl.
623 * function.c (stack_protect_epilogue): Use it instead of calling
624 targetm.stack_protect_guard again.
625 * dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from
626 MEMs with MEM_EXPR equal to crtl->stack_protect_guard or
627 crtl->stack_protect_guard_decl.
628 * config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE
629 on the returned MEM_EXPR.
631 2019-01-12 Tom de Vries <tdevries@suse.de>
633 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
634 vector length using -fopenacc-dim.
636 2019-01-12 Tom de Vries <tdevries@suse.de>
638 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
639 lengths into account.
641 2019-01-12 Svante Signell <svante.signell@gmail.com>
643 * config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
644 (TARGET_CAN_SPLIT_STACK): Define.
645 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
647 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
649 * params.def (inline-unit-growth): Set to 40.
651 2019-01-12 Jakub Jelinek <jakub@redhat.com>
653 * tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
655 2019-01-12 Tom de Vries <tdevries@suse.de>
657 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
658 region calling vector-partitionable routine, set default_vector_length
661 2019-01-12 Tom de Vries <tdevries@suse.de>
663 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
664 variable default_vector_length.
666 2019-01-12 Tom de Vries <tdevries@suse.de>
669 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
670 from oacc_default_dims, as oacc_validate_dims would do it, and apply
673 2019-01-12 Tom de Vries <tdevries@suse.de>
675 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
676 (nvptx_goacc_validate_dims): Add used parameter.
677 * doc/tm.texi: Regenerate.
678 * omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
679 argument to call to targetm.goacc.validate_dims.
680 (default_goacc_validate_dims): Add used
682 * target.def (validate_dims): Add used parameter in DEFHOOK.
683 * targhooks.h (default_goacc_validate_dims): Add used parameter.
685 2019-01-11 Jakub Jelinek <jakub@redhat.com>
689 * tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds
691 * tree-inline.c (remap_type_1): Formatting fix. If TYPE_MAX_VALUE of
692 ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with
693 a dummy "omp dummy var" variable if id->adjust_array_error_bounds.
694 * omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds.
696 2019-01-11 Vladimir Makarov <vmakarov@redhat.com>
698 PR rtl-optimization/87305
700 (setup_live_pseudos_and_spill_after_risky_transforms): Add code
701 for little endian pseudos used as paradoxical subreg.
703 2019-01-11 Jakub Jelinek <jakub@redhat.com>
705 PR tree-optimization/88693
706 * tree-ssa-strlen.c (get_min_string_length): Don't set *full_string_p
707 for STRING_CSTs that don't contain any NUL characters in the first
708 TREE_STRING_LENGTH bytes.
710 2019-01-11 Alan Modra <amodra@gmail.com>
714 * genattrtab.c (min_fn): Don't translate values.
715 (min_attr_value): Return INT_MAX when the value can't be calculated.
716 Return minimum among any values that can be calculated.
717 (max_attr_value): Adjust.
719 2019-01-11 Jakub Jelinek <jakub@redhat.com>
721 * Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H).
723 2019-01-11 Steve Ellcey <sellcey@marvell.com>
725 * config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
726 (aarch64_hard_regno_call_part_clobbered): Add insn argument.
727 (aarch64_return_call_with_max_clobbers): New function.
728 (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New macro.
729 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Add insn
731 * config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Ditto.
732 * config/mips/mips.c (mips_hard_regno_call_part_clobbered): Ditto.
733 * config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered): Ditto.
734 * config/s390/s390.c (s390_hard_regno_call_part_clobbered): Ditto.
735 * cselib.c (cselib_process_insn): Add argument to
736 targetm.hard_regno_call_part_clobbered call.
737 * ira-conflicts.c (ira_build_conflicts): Ditto.
738 * ira-costs.c (ira_tune_allocno_costs): Ditto.
739 * lra-constraints.c (inherit_reload_reg): Ditto.
740 * lra-int.h (struct lra_reg): Add call_insn field, remove call_p field.
741 * lra-lives.c (check_pseudos_live_through_calls): Add call_insn
742 argument. Call targetm.return_call_with_max_clobbers.
743 Add argument to targetm.hard_regno_call_part_clobbered call.
744 (calls_have_same_clobbers_p): New function.
745 (process_bb_lives): Add call_insn and last_call_insn variables.
746 Pass call_insn to check_pseudos_live_through_calls.
747 Modify if stmt to check targetm.return_call_with_max_clobbers.
748 Update setting of flush variable.
749 (lra_create_live_ranges_1): Set call_insn to NULL instead of call_p
751 * lra.c (initialize_lra_reg_info_element): Set call_insn to NULL.
752 * regcprop.c (copyprop_hardreg_forward_1): Add argument to
753 targetm.hard_regno_call_part_clobbered call.
754 * reginfo.c (choose_hard_reg_mode): Ditto.
755 * regrename.c (check_new_reg_p): Ditto.
756 * reload.c (find_equiv_reg): Ditto.
757 * reload1.c (emit_reload_insns): Ditto.
758 * sched-deps.c (deps_analyze_insn): Ditto.
759 * sel-sched.c (init_regs_for_mode): Ditto.
760 (mark_unavailable_hard_regs): Ditto.
761 * targhooks.c (default_dwarf_frame_reg_mode): Ditto.
762 * target.def (hard_regno_call_part_clobbered): Add insn argument.
763 (return_call_with_max_clobbers): New target function.
764 * doc/tm.texi: Regenerate.
765 * doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New hook.
766 * hooks.c (hook_bool_uint_mode_false): Change to
767 hook_bool_insn_uint_mode_false.
768 * hooks.h (hook_bool_uint_mode_false): Ditto.
770 2019-01-11 Steve Ellcey <sellcey@marvell.com>
772 * config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
773 (aarch64_remove_extra_call_preserved_regs): New function.
774 (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro.
775 * doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook.
776 * doc/tm.texi: Regenerate.
777 * final.c (get_call_reg_set_usage): Call new hook.
778 * target.def (remove_extra_call_preserved_regs): New hook.
779 * targhooks.c (default_remove_extra_call_preserved_regs): New function.
780 * targhooks.h (default_remove_extra_call_preserved_regs): New function.
782 2019-01-11 Jakub Jelinek <jakub@redhat.com>
785 * passes.c (finish_optimization_passes): Call print_combine_total_stats
786 inside of pass_combine_1 dump rather than pass_profile_1.
788 2019-01-11 Tom de Vries <tdevries@suse.de>
790 * config/nvptx/nvptx.c (PTX_CTA_NUM_BARRIERS, PTX_PER_CTA_BARRIER)
791 (PTX_NUM_PER_CTA_BARRIER, PTX_FIRST_PER_WORKER_BARRIER)
792 (PTX_NUM_PER_WORKER_BARRIERS): Define.
793 (nvptx_apply_dim_limits): Prevent vector_length 64 and
796 2019-01-11 Tom de Vries <tdevries@suse.de>
798 * config/nvptx/nvptx.c (PTX_CTA_SIZE): Move up.
800 2019-01-11 Jan Beulich <jbeulich@suse.com>
802 * config/i386/i386.md (rex64suffix): Add L suffix for SI.
803 * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>32<round_name>,
804 sse2_cvtsi2sd): Add {l}.
805 (sse2_cvtsi2sdq<round_name>): Make q conditional upon AT&T
808 2019-01-10 Jakub Jelinek <jakub@redhat.com>
811 * config/i386/sse.md (float<floatunssuffix>v2div2sf2): Turn into
813 (*float<floatunssuffix>v2div2sf2): New define_insn.
814 (float<floatunssuffix>v2div2sf2_mask): Turn into define_expand.
815 (*float<floatunssuffix>v2div2sf2_mask): New define_insn.
816 (*float<floatunssuffix>v2div2sf2_mask_1): Replace
817 subrtxes (const_vector:V2SF [(const_int 0) (const_int 0)]) with
818 match_operands with "const0_operand" "C".
820 2019-01-10 Tamar Christina <tamar.christina@arm.com>
822 * config/aarch64/aarch64-builtins.c
823 (aarch64_init_builtins): Move aarch64_init_fcmla_laneq_builtins...
824 (aarch64_init_simd_builtins): ...Here
826 2019-01-10 Vladimir Makarov <vmakarov@redhat.com>
828 PR rtl-optimization/87305
830 (setup_live_pseudos_and_spill_after_risky_transforms): Check
831 allocation for big endian pseudos used as paradoxical subregs and
832 spill them if it is wrong.
833 * lra-constraints.c (lra_constraints): Add a comment.
835 2019-01-10 Richard Biener <rguenther@suse.de>
837 PR tree-optimization/88792
838 * tree-ssa-pre.c (get_representative_for): Do not return a
841 2019-01-10 Jakub Jelinek <jakub@redhat.com>
845 * function.c (assign_stack_local_1): Revert the 2018-11-21 changes.
846 (assign_parm_setup_block): Do the argument slot realignment here
849 2019-01-10 Stefan Agner <stefan@agner.ch>
852 * config/arm/arm.c (arm_option_override_internal): Force
853 opts->x_inline_asm_unified to true only if TARGET_THUMB2_P.
855 2019-01-10 Jakub Jelinek <jakub@redhat.com>
858 * attribs.c (handle_dll_attribute): Clear TREE_STATIC after setting
861 2019-01-10 Tamar Christina <tamar.christina@arm.com>
863 * config/arm/arm-builtins.c
864 (enum arm_type_qualifiers): Add qualifier_lane_pair_index.
865 (MAC_LANE_PAIR_QUALIFIERS): New.
866 (arm_expand_builtin_args): Use it.
867 (arm_expand_builtin_1): Likewise.
868 * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): New.
869 * config/arm/arm.c (neon_vcmla_lane_prepare_operands): New.
870 * config/arm/arm-c.c (arm_cpu_builtins): Add __ARM_FEATURE_COMPLEX.
871 * config/arm/arm_neon.h:
872 (vcadd_rot90_f16): New.
873 (vcaddq_rot90_f16): New.
874 (vcadd_rot270_f16): New.
875 (vcaddq_rot270_f16): New.
878 (vcmla_lane_f16): New.
879 (vcmla_laneq_f16): New.
880 (vcmlaq_lane_f16): New.
881 (vcmlaq_laneq_f16): New.
882 (vcmla_rot90_f16): New.
883 (vcmlaq_rot90_f16): New.
884 (vcmla_rot90_lane_f16): New.
885 (vcmla_rot90_laneq_f16): New.
886 (vcmlaq_rot90_lane_f16): New.
887 (vcmlaq_rot90_laneq_f16): New.
888 (vcmla_rot180_f16): New.
889 (vcmlaq_rot180_f16): New.
890 (vcmla_rot180_lane_f16): New.
891 (vcmla_rot180_laneq_f16): New.
892 (vcmlaq_rot180_lane_f16): New.
893 (vcmlaq_rot180_laneq_f16): New.
894 (vcmla_rot270_f16): New.
895 (vcmlaq_rot270_f16): New.
896 (vcmla_rot270_lane_f16): New.
897 (vcmla_rot270_laneq_f16): New.
898 (vcmlaq_rot270_lane_f16): New.
899 (vcmlaq_rot270_laneq_f16): New.
900 (vcadd_rot90_f32): New.
901 (vcaddq_rot90_f32): New.
902 (vcadd_rot270_f32): New.
903 (vcaddq_rot270_f32): New.
906 (vcmla_lane_f32): New.
907 (vcmla_laneq_f32): New.
908 (vcmlaq_lane_f32): New.
909 (vcmlaq_laneq_f32): New.
910 (vcmla_rot90_f32): New.
911 (vcmlaq_rot90_f32): New.
912 (vcmla_rot90_lane_f32): New.
913 (vcmla_rot90_laneq_f32): New.
914 (vcmlaq_rot90_lane_f32): New.
915 (vcmlaq_rot90_laneq_f32): New.
916 (vcmla_rot180_f32): New.
917 (vcmlaq_rot180_f32): New.
918 (vcmla_rot180_lane_f32): New.
919 (vcmla_rot180_laneq_f32): New.
920 (vcmlaq_rot180_lane_f32): New.
921 (vcmlaq_rot180_laneq_f32): New.
922 (vcmla_rot270_f32): New.
923 (vcmlaq_rot270_f32): New.
924 (vcmla_rot270_lane_f32): New.
925 (vcmla_rot270_laneq_f32): New.
926 (vcmlaq_rot270_lane_f32): New.
927 (vcmlaq_rot270_laneq_f32): New.
928 * config/arm/arm_neon_builtins.def (vcadd90, vcadd270, vcmla0, vcmla90,
929 vcmla180, vcmla270, vcmla_lane0, vcmla_lane90, vcmla_lane180, vcmla_lane270,
930 vcmla_laneq0, vcmla_laneq90, vcmla_laneq180, vcmla_laneq270,
931 vcmlaq_lane0, vcmlaq_lane90, vcmlaq_lane180, vcmlaq_lane270): New.
932 * config/arm/neon.md (neon_vcmla_lane<rot><mode>,
933 neon_vcmla_laneq<rot><mode>, neon_vcmlaq_lane<rot><mode>): New.
934 * config/arm/arm.c (arm_arch8_3, arm_arch8_4): New.
935 * config/arm/arm.h (TARGET_COMPLEX, arm_arch8_3, arm_arch8_4): New.
936 (arm_option_reconfigure_globals): Use them.
937 * config/arm/iterators.md (VDF, VQ_HSF): New.
939 (VF_constraint, rot, rotsplit1, rotsplit2): Add V4HF and V8HF.
940 * config/arm/neon.md (neon_vcadd<rot><mode>, neon_vcmla<rot><mode>): New.
941 * config/arm/unspecs.md (UNSPEC_VCADD90, UNSPEC_VCADD270,
942 UNSPEC_VCMLA, UNSPEC_VCMLA90, UNSPEC_VCMLA180, UNSPEC_VCMLA270): New.
944 2019-01-10 Tamar Christina <tamar.christina@arm.com>
946 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers): Add qualifier_lane_pair_index.
947 (emit-rtl.h): Include.
948 (TYPES_QUADOP_LANE_PAIR): New.
949 (aarch64_simd_expand_args): Use it.
950 (aarch64_simd_expand_builtin): Likewise.
951 (AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_laneq_builtin_datum): New.
952 (FCMLA_LANEQ_BUILTIN, AARCH64_SIMD_FCMLA_LANEQ_BUILTIN_BASE,
953 AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_lane_builtin_data,
954 aarch64_init_fcmla_laneq_builtins, aarch64_expand_fcmla_builtin): New.
955 (aarch64_init_builtins): Add aarch64_init_fcmla_laneq_builtins.
956 (aarch64_expand_buildin): Add AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V2SF,
957 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V2SF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V2SF,
958 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ2700_V2SF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V4HF,
959 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V4HF, AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V4HF,
960 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ270_V4HF.
961 * config/aarch64/iterators.md (FCMLA_maybe_lane): New.
962 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add __ARM_FEATURE_COMPLEX.
963 * config/aarch64/aarch64-simd-builtins.def (fcadd90, fcadd270, fcmla0, fcmla90,
964 fcmla180, fcmla270, fcmla_lane0, fcmla_lane90, fcmla_lane180, fcmla_lane270,
965 fcmla_laneq0, fcmla_laneq90, fcmla_laneq180, fcmla_laneq270,
966 fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180, fcmlaq_lane270): New.
967 * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
968 aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>,aarch64_fcadd<rot><mode>,
969 aarch64_fcmla<rot><mode>): New.
970 * config/aarch64/arm_neon.h:
971 (vcadd_rot90_f16): New.
972 (vcaddq_rot90_f16): New.
973 (vcadd_rot270_f16): New.
974 (vcaddq_rot270_f16): New.
977 (vcmla_lane_f16): New.
978 (vcmla_laneq_f16): New.
979 (vcmlaq_lane_f16): New.
980 (vcmlaq_rot90_lane_f16): New.
981 (vcmla_rot90_laneq_f16): New.
982 (vcmla_rot90_lane_f16): New.
983 (vcmlaq_rot90_f16): New.
984 (vcmla_rot90_f16): New.
985 (vcmlaq_laneq_f16): New.
986 (vcmla_rot180_laneq_f16): New.
987 (vcmla_rot180_lane_f16): New.
988 (vcmlaq_rot180_f16): New.
989 (vcmla_rot180_f16): New.
990 (vcmlaq_rot90_laneq_f16): New.
991 (vcmlaq_rot270_laneq_f16): New.
992 (vcmlaq_rot270_lane_f16): New.
993 (vcmla_rot270_laneq_f16): New.
994 (vcmlaq_rot270_f16): New.
995 (vcmla_rot270_f16): New.
996 (vcmlaq_rot180_laneq_f16): New.
997 (vcmlaq_rot180_lane_f16): New.
998 (vcmla_rot270_lane_f16): New.
999 (vcadd_rot90_f32): New.
1000 (vcaddq_rot90_f32): New.
1001 (vcaddq_rot90_f64): New.
1002 (vcadd_rot270_f32): New.
1003 (vcaddq_rot270_f32): New.
1004 (vcaddq_rot270_f64): New.
1008 (vcmla_lane_f32): New.
1009 (vcmla_laneq_f32): New.
1010 (vcmlaq_lane_f32): New.
1011 (vcmlaq_laneq_f32): New.
1012 (vcmla_rot90_f32): New.
1013 (vcmlaq_rot90_f32): New.
1014 (vcmlaq_rot90_f64): New.
1015 (vcmla_rot90_lane_f32): New.
1016 (vcmla_rot90_laneq_f32): New.
1017 (vcmlaq_rot90_lane_f32): New.
1018 (vcmlaq_rot90_laneq_f32): New.
1019 (vcmla_rot180_f32): New.
1020 (vcmlaq_rot180_f32): New.
1021 (vcmlaq_rot180_f64): New.
1022 (vcmla_rot180_lane_f32): New.
1023 (vcmla_rot180_laneq_f32): New.
1024 (vcmlaq_rot180_lane_f32): New.
1025 (vcmlaq_rot180_laneq_f32): New.
1026 (vcmla_rot270_f32): New.
1027 (vcmlaq_rot270_f32): New.
1028 (vcmlaq_rot270_f64): New.
1029 (vcmla_rot270_lane_f32): New.
1030 (vcmla_rot270_laneq_f32): New.
1031 (vcmlaq_rot270_lane_f32): New.
1032 (vcmlaq_rot270_laneq_f32): New.
1033 * config/aarch64/aarch64.h (TARGET_COMPLEX): New.
1034 * config/aarch64/iterators.md (UNSPEC_FCADD90, UNSPEC_FCADD270,
1035 UNSPEC_FCMLA, UNSPEC_FCMLA90, UNSPEC_FCMLA180, UNSPEC_FCMLA270): New.
1036 (FCADD, FCMLA): New.
1038 * config/arm/types.md (neon_fcadd, neon_fcmla): New.
1040 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
1044 * config/pa/pa.c: Change "can not" to "cannot".
1045 * gimple-ssa-evrp-analyze.c: Likewise.
1046 * ipa-icf.c: Likewise.
1047 * ipa-polymorphic-call.c: Likewise.
1048 * ipa-pure-const.c: Likewise.
1049 * lra-constraints.c: Likewise.
1050 * lra-remat.c: Likewise.
1051 * reload1.c: Likewise.
1052 * reorg.c: Likewise.
1053 * tree-ssa-uninit.c: Likewise.
1055 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
1059 * Makefile.in: Mechanically replace "can not" with "cannot".
1060 * alias.c: Likewise.
1061 * builtins.c: Likewise.
1062 * calls.c: Likewise.
1063 * cgraph.c: Likewise.
1064 * cgraph.h: Likewise.
1065 * cgraphclones.c: Likewise.
1066 * cgraphunit.c: Likewise.
1067 * combine-stack-adj.c: Likewise.
1068 * combine.c: Likewise.
1069 * common/config/i386/i386-common.c: Likewise.
1070 * config/aarch64/aarch64.c: Likewise.
1071 * config/alpha/sync.md: Likewise.
1072 * config/arc/arc.c: Likewise.
1073 * config/arc/predicates.md: Likewise.
1074 * config/arm/arm-c.c: Likewise.
1075 * config/arm/arm.c: Likewise.
1076 * config/arm/arm.h: Likewise.
1077 * config/arm/arm.md: Likewise.
1078 * config/arm/cortex-r4f.md: Likewise.
1079 * config/csky/csky.c: Likewise.
1080 * config/csky/csky.h: Likewise.
1081 * config/darwin-f.c: Likewise.
1082 * config/epiphany/epiphany.md: Likewise.
1083 * config/i386/i386.c: Likewise.
1084 * config/i386/sol2.h: Likewise.
1085 * config/m68k/m68k.c: Likewise.
1086 * config/mcore/mcore.h: Likewise.
1087 * config/microblaze/microblaze.md: Likewise.
1088 * config/mips/20kc.md: Likewise.
1089 * config/mips/sb1.md: Likewise.
1090 * config/nds32/nds32.c: Likewise.
1091 * config/nds32/predicates.md: Likewise.
1092 * config/pa/pa.c: Likewise.
1093 * config/rs6000/e300c2c3.md: Likewise.
1094 * config/rs6000/rs6000.c: Likewise.
1095 * config/s390/s390.h: Likewise.
1096 * config/sh/sh.c: Likewise.
1097 * config/sh/sh.md: Likewise.
1098 * config/spu/vmx2spu.h: Likewise.
1099 * cprop.c: Likewise.
1100 * dbxout.c: Likewise.
1101 * df-scan.c: Likewise.
1102 * doc/cfg.texi: Likewise.
1103 * doc/extend.texi: Likewise.
1104 * doc/fragments.texi: Likewise.
1105 * doc/gty.texi: Likewise.
1106 * doc/invoke.texi: Likewise.
1107 * doc/lto.texi: Likewise.
1108 * doc/md.texi: Likewise.
1109 * doc/objc.texi: Likewise.
1110 * doc/rtl.texi: Likewise.
1111 * doc/tm.texi: Likewise.
1113 * emit-rtl.c: Likewise.
1114 * emit-rtl.h: Likewise.
1115 * except.c: Likewise.
1116 * expmed.c: Likewise.
1118 * fold-const.c: Likewise.
1119 * genautomata.c: Likewise.
1120 * gimple-fold.c: Likewise.
1121 * hard-reg-set.h: Likewise.
1122 * ifcvt.c: Likewise.
1123 * ipa-comdats.c: Likewise.
1124 * ipa-cp.c: Likewise.
1125 * ipa-devirt.c: Likewise.
1126 * ipa-fnsummary.c: Likewise.
1127 * ipa-icf.c: Likewise.
1128 * ipa-inline-transform.c: Likewise.
1129 * ipa-inline.c: Likewise.
1130 * ipa-polymorphic-call.c: Likewise.
1131 * ipa-profile.c: Likewise.
1132 * ipa-prop.c: Likewise.
1133 * ipa-pure-const.c: Likewise.
1134 * ipa-reference.c: Likewise.
1135 * ipa-split.c: Likewise.
1136 * ipa-visibility.c: Likewise.
1138 * ira-build.c: Likewise.
1139 * ira-color.c: Likewise.
1140 * ira-conflicts.c: Likewise.
1141 * ira-costs.c: Likewise.
1142 * ira-int.h: Likewise.
1143 * ira-lives.c: Likewise.
1146 * loop-invariant.c: Likewise.
1147 * loop-unroll.c: Likewise.
1148 * lower-subreg.c: Likewise.
1149 * lra-assigns.c: Likewise.
1150 * lra-constraints.c: Likewise.
1151 * lra-eliminations.c: Likewise.
1152 * lra-lives.c: Likewise.
1153 * lra-remat.c: Likewise.
1154 * lra-spills.c: Likewise.
1156 * lto-cgraph.c: Likewise.
1157 * lto-streamer-out.c: Likewise.
1158 * postreload-gcse.c: Likewise.
1159 * predict.c: Likewise.
1160 * profile-count.h: Likewise.
1161 * profile.c: Likewise.
1162 * recog.c: Likewise.
1164 * reload.c: Likewise.
1165 * reload1.c: Likewise.
1166 * reorg.c: Likewise.
1167 * resource.c: Likewise.
1168 * rtl.def: Likewise.
1170 * rtlanal.c: Likewise.
1171 * sched-deps.c: Likewise.
1172 * sched-ebb.c: Likewise.
1173 * sched-rgn.c: Likewise.
1174 * sel-sched-ir.c: Likewise.
1175 * sel-sched.c: Likewise.
1176 * shrink-wrap.c: Likewise.
1177 * simplify-rtx.c: Likewise.
1178 * symtab.c: Likewise.
1179 * target.def: Likewise.
1180 * toplev.c: Likewise.
1181 * tree-call-cdce.c: Likewise.
1182 * tree-cfg.c: Likewise.
1183 * tree-complex.c: Likewise.
1184 * tree-core.h: Likewise.
1185 * tree-eh.c: Likewise.
1186 * tree-inline.c: Likewise.
1187 * tree-loop-distribution.c: Likewise.
1188 * tree-nrv.c: Likewise.
1189 * tree-profile.c: Likewise.
1190 * tree-sra.c: Likewise.
1191 * tree-ssa-alias.c: Likewise.
1192 * tree-ssa-dce.c: Likewise.
1193 * tree-ssa-dom.c: Likewise.
1194 * tree-ssa-forwprop.c: Likewise.
1195 * tree-ssa-loop-im.c: Likewise.
1196 * tree-ssa-loop-ivcanon.c: Likewise.
1197 * tree-ssa-loop-ivopts.c: Likewise.
1198 * tree-ssa-loop-niter.c: Likewise.
1199 * tree-ssa-phionlycprop.c: Likewise.
1200 * tree-ssa-phiopt.c: Likewise.
1201 * tree-ssa-propagate.c: Likewise.
1202 * tree-ssa-threadedge.c: Likewise.
1203 * tree-ssa-threadupdate.c: Likewise.
1204 * tree-ssa-uninit.c: Likewise.
1205 * tree-ssanames.c: Likewise.
1206 * tree-streamer-out.c: Likewise.
1209 * vr-values.c: Likewise.
1211 2019-01-09 Uroš Bizjak <ubizjak@gmail.com>
1213 * config/i386/i386-protos.h (ix86_expand_xorsign): New prototype.
1214 (ix86_split_xorsign): Ditto.
1215 * config/i386/i386.c (ix86_expand_xorsign): New function.
1216 (ix86_split_xorsign): Ditto.
1217 * config/i386/i386.md (UNSPEC_XORSIGN): New unspec.
1218 (xorsign<mode>3): New expander.
1219 (xorsign<mode>3_1): New insn_and_split pattern.
1220 * config/i386/sse.md (xorsign<mode>3): New expander.
1222 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
1224 * config/sparc/sparc.md (*tablejump_sp32): Merge into...
1225 (*tablejump_sp64): Likewise.
1226 (*tablejump<P:mode>): ...this.
1227 (*call_address_sp32): Merge into...
1228 (*call_address_sp64): Likewise.
1229 (*call_address<P:mode>): ...this.
1230 (*call_symbolic_sp32): Merge into...
1231 (*call_symbolic_sp64): Likewise.
1232 (*call_symbolic<P:mode>): ...this.
1233 (call_value): Remove constraint and add predicate.
1234 (*call_value_address_sp32): Merge into...
1235 (*call_value_address_sp64): Likewise.
1236 (*call_value_address<P:mode>): ...this.
1237 (*call_value_symbolic_sp32): Merge into...
1238 (*call_value_symbolic_sp64): Likewise.
1239 (*call_value_symbolic<P:mode>): ...this.
1240 (*sibcall_symbolic_sp32): Merge into...
1241 (*sibcall_symbolic_sp64): Likewise.
1242 (*sibcall_symbolic<P:mode>): ...this.
1243 (sibcall_value): Remove constraint and add predicate.
1244 (*sibcall_value_symbolic_sp32): Merge into...
1245 (*sibcall_value_symbolic_sp64): Likewise.
1246 (*sibcall_value_symbolic<P:mode>): ...this.
1247 (window_save): Minor tweak.
1248 (*branch_sp32): Merge into...
1249 (*branch_sp64): Likewise.
1250 (*branch<P:mode>): ...this.
1252 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
1253 James Clarke <jrtc27@jrtc27.com>
1256 * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode
1257 consistently in TLS address generation and adjust code to the renaming
1258 of patterns. Mark calls to __tls_get_addr as const.
1259 * config/sparc/sparc.md (tgd_hi22): Turn into...
1260 (tgd_hi22<P:mode>): ...this and use Pmode throughout.
1261 (tgd_lo10): Turn into...
1262 (tgd_lo10<P:mode>): ...this and use Pmode throughout.
1263 (tgd_add32): Merge into...
1264 (tgd_add64): Likewise.
1265 (tgd_add<P:mode>): ...this and use Pmode throughout.
1266 (tldm_hi22): Turn into...
1267 (tldm_hi22<P:mode>): ...this and use Pmode throughout.
1268 (tldm_lo10): Turn into...
1269 (tldm_lo10<P:mode>): ...this and use Pmode throughout.
1270 (tldm_add32): Merge into...
1271 (tldm_add64): Likewise.
1272 (tldm_add<P:mode>): ...this and use Pmode throughout.
1273 (tldm_call32): Merge into...
1274 (tldm_call64): Likewise.
1275 (tldm_call<P:mode>): ...this and use Pmode throughout.
1276 (tldo_hix22): Turn into...
1277 (tldo_hix22<P:mode>): ...this and use Pmode throughout.
1278 (tldo_lox10): Turn into...
1279 (tldo_lox10<P:mode>): ...this and use Pmode throughout.
1280 (tldo_add32): Merge into...
1281 (tldo_add64): Likewise.
1282 (tldo_add<P:mode>): ...this and use Pmode throughout.
1283 (tie_hi22): Turn into...
1284 (tie_hi22<P:mode>): ...this and use Pmode throughout.
1285 (tie_lo10): Turn into...
1286 (tie_lo10<P:mode>): ...this and use Pmode throughout.
1287 (tie_ld64): Use DImode throughout.
1288 (tie_add32): Merge into...
1289 (tie_add64): Likewise.
1290 (tie_add<P:mode>): ...this and use Pmode throughout.
1291 (tle_hix22_sp32): Merge into...
1292 (tle_hix22_sp64): Likewise.
1293 (tle_hix22<P:mode>): ...this and use Pmode throughout.
1294 (tle_lox22_sp32): Merge into...
1295 (tle_lox22_sp64): Likewise.
1296 (tle_lox22<P:mode>): ...this and use Pmode throughout.
1297 (*tldo_ldub_sp32): Merge into...
1298 (*tldo_ldub_sp64): Likewise.
1299 (*tldo_ldub<P:mode>): ...this and use Pmode throughout.
1300 (*tldo_ldub1_sp32): Merge into...
1301 (*tldo_ldub1_sp64): Likewise.
1302 (*tldo_ldub1<P:mode>): ...this and use Pmode throughout.
1303 (*tldo_ldub2_sp32): Merge into...
1304 (*tldo_ldub2_sp64): Likewise.
1305 (*tldo_ldub2<P:mode>): ...this and use Pmode throughout.
1306 (*tldo_ldsb1_sp32): Merge into...
1307 (*tldo_ldsb1_sp64): Likewise.
1308 (*tldo_ldsb1<P:mode>): ...this and use Pmode throughout.
1309 (*tldo_ldsb2_sp32): Merge into...
1310 (*tldo_ldsb2_sp64): Likewise.
1311 (*tldo_ldsb2<P:mode>): ...this and use Pmode throughout.
1312 (*tldo_ldub3_sp64): Use DImode throughout.
1313 (*tldo_ldsb3_sp64): Likewise.
1314 (*tldo_lduh_sp32): Merge into...
1315 (*tldo_lduh_sp64): Likewise.
1316 (*tldo_lduh<P:mode>): ...this and use Pmode throughout.
1317 (*tldo_lduh1_sp32): Merge into...
1318 (*tldo_lduh1_sp64): Likewise.
1319 (*tldo_lduh1<P:mode>): ...this and use Pmode throughout.
1320 (*tldo_ldsh1_sp32): Merge into...
1321 (*tldo_ldsh1_sp64): Likewise.
1322 (*tldo_ldsh1<P:mode>): ...this and use Pmode throughout.
1323 (*tldo_lduh2_sp64): Use DImode throughout.
1324 (*tldo_ldsh2_sp64): Likewise.
1325 (*tldo_lduw_sp32): Merge into...
1326 (*tldo_lduw_sp64): Likewise.
1327 (*tldo_lduw<P:mode>): ...this and use Pmode throughout.
1328 (*tldo_lduw1_sp64): Use DImode throughout.
1329 (*tldo_ldsw1_sp64): Likewise.
1330 (*tldo_ldx_sp64): Likewise.
1331 (*tldo_stb_sp32): Merge into...
1332 (*tldo_stb_sp64): Likewise.
1333 (*tldo_stb<P:mode>): ...this and use Pmode throughout.
1334 (*tldo_sth_sp32): Merge into...
1335 (*tldo_sth_sp64): Likewise.
1336 (*tldo_sth<P:mode>): ...this and use Pmode throughout.
1337 (*tldo_stw_sp32): Merge into...
1338 (*tldo_stw_sp64): Likewise.
1339 (*tldo_stw<P:mode>): ...this and use Pmode throughout.
1340 (*tldo_stx_sp64): Use DImode throughout.
1342 2018-01-09 Sudakshina Das <sudi.das@arm.com>
1344 * config/aarch64/aarch64.c (aarch64_override_options): Add case to
1345 check configure option to set BTI and Return Address Signing.
1346 * configure.ac: Add --enable-standard-branch-protection and
1347 --disable-standard-branch-protection.
1348 * configure: Regenerated.
1349 * doc/install.texi: Document the same.
1351 2018-01-09 Sudakshina Das <sudi.das@arm.com>
1352 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1354 * config.gcc (aarch64*-*-*): Add aarch64-bti-insert.o.
1355 * config/aarch64/aarch64.h: Update comment for TRAMPOLINE_SIZE.
1356 * config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Update
1358 * config/aarch64/aarch64-bti-insert.c: New file.
1359 * config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Insert bti
1361 * config/aarch64/aarch64-protos.h (make_pass_insert_bti): Declare the
1363 * config/aarch64/aarch64.md (unspecv): Add UNSPECV_BTI_NOARG,
1364 UNSPECV_BTI_C, UNSPECV_BTI_J and UNSPECV_BTI_JC.
1365 (bti_noarg, bti_j, bti_c, bti_jc): New define_insns.
1366 * config/aarch64/t-aarch64: Add rule for aarch64-bti-insert.o.
1368 2018-01-09 Sudakshina Das <sudi.das@arm.com>
1370 * config/aarch64/aarch64-protos.h (aarch64_bti_enabled): Declare.
1371 * config/aarch64/aarch64.c (aarch64_handle_no_branch_protection):
1372 Disable bti for -mbranch-protection=none.
1373 (aarch64_handle_standard_branch_protection): Enable bti for
1374 -mbranch-protection=standard.
1375 (aarch64_handle_bti_protection): Enable bti for "bti" in the string to
1376 -mbranch-protection.
1377 (aarch64_bti_enabled): Check if bti is enabled.
1378 * config/aarch64/aarch64.opt: Declare target variable.
1379 * doc/invoke.texi: Add bti to the -mbranch-protection documentation.
1381 2018-01-09 Sudakshina Das <sudi.das@arm.com>
1383 * config/aarch64/aarch64.c (aarch64_expand_prologue): Use new
1384 epilogue/prologue scratch registers EP0_REGNUM and EP1_REGNUM.
1385 (aarch64_expand_epilogue): Likewise.
1386 (aarch64_output_mi_thunk): Likewise
1387 * config/aarch64/aarch64.h (REG_CLASS_CONTENTS): Change
1388 TAILCALL_ADDR_REGS to x16 and x17.
1389 * config/aarch64/aarch64.md: Define EP0_REGNUM and EP1_REGNUM.
1391 2018-01-09 Sudakshina Das <sudi.das@arm.com>
1393 * config/aarch64/aarch64-option-extensions.def: Define
1394 AARCH64_OPT_EXTENSION for memtag, rng, sb, ssbs and predres.
1395 * gcc/config/aarch64/aarch64.h (AARCH64_FL_RNG): New.
1396 (AARCH64_FL_MEMTAG, ARCH64_FL_SB, AARCH64_FL_SSBS): New.
1397 (AARCH64_FL_PREDRES): New.
1398 (AARCH64_FL_FOR_ARCH8_5): Add AARCH64_FL_SB, AARCH64_FL_SSBS and
1399 AARCH64_FL_PREDRES by default.
1400 * gcc/doc/invoke.texi: Document rng, memtag, sb, ssbs and predres.
1402 2018-01-09 Sudakshina Das <sudi.das@arm.com>
1404 * config/aarch64/aarch64-arches.def: Define AARCH64_ARCH for
1406 * gcc/config/aarch64/aarch64.h (AARCH64_FL_V8_5): New.
1407 (AARCH64_FL_FOR_ARCH8_5, AARCH64_ISA_V8_5): New.
1408 * gcc/doc/invoke.texi: Document ARMv8.5-A.
1410 2019-01-09 Alejandro Martinez <alejandro.martinezvicente@arm.com>
1412 * config/aarch64/aarch64-sve.md (copysign<mode>3): New define_expand.
1413 (xorsign<mode>3): Likewise.
1415 2019-01-09 Jelinek <jakub@redhat.com>
1418 * tree.c (initializer_each_zero_or_onep) <case VECTOR_CST>: Use
1419 vector_cst_elt instead of VECTOR_CST_ENCODED_ELT.
1421 PR rtl-optimization/88331
1422 * function.c (assign_stack_local_1): Don't set dynamic_align_addr if
1423 not currently_expanding_to_rtl.
1425 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
1427 * doc/invoke.texi (-Os): Remove trailing spaces.
1428 (-finline-functions): Remove reference to -O2.
1430 2019-01-08 Jakub Jelinek <jakub@redhat.com>
1432 PR rtl-optimization/79593
1433 * config/i386/i386.md (reg = mem; mem = reg): New define_peephole2.
1435 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
1436 UNSPEC_FUSION_GPR to its argument. Formatting fixes.
1438 2019-01-08 Eric Botcazou <ebotcazou@adacore.com>
1441 * config/sparc/sparc.c (function_arg_slotno): Set *PPREGNO & *PPADDING
1445 * config/sparc/sparc.c (sparc_delegitimize_address): Deal with naked
1446 UNSPECs and UNSPEC_MOVE_GOTDATA specifically.
1448 2019-01-08 H.J. Lu <hongjiu.lu@intel.com>
1451 * config/i386/i386.c (ix86_avx_u128_mode_exit): Call
1452 ix86_avx_u128_mode_entry.
1454 2019-01-08 Martin Liska <mliska@suse.cz>
1456 PR tree-optimization/88753
1457 * tree-switch-conversion.c (switch_conversion::build_one_array):
1458 Come up with local variable constructor. Convert first to
1459 type of constructor values.
1461 2019-01-08 Richard Biener <rguenther@suse.de>
1463 PR tree-optimization/86554
1464 * tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim,
1465 rpo_avail): Move earlier.
1466 (visit_nary_op): When value-numbering to expressions
1467 with different overflow behavior make sure there's an
1468 available expression on the path.
1470 2019-01-08 Sam Tebbs <sam.tebbs@arm.com>
1472 * config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX,
1473 aarch64_parse_branch_protection,
1474 struct aarch64_branch_protect_type,
1475 aarch64_handle_no_branch_protection,
1476 aarch64_handle_standard_branch_protection,
1477 aarch64_validate_mbranch_protection,
1478 aarch64_handle_pac_ret_protection,
1479 aarch64_handle_attr_branch_protection,
1480 accepted_branch_protection_string,
1481 aarch64_pac_ret_subtypes,
1482 aarch64_branch_protect_types,
1483 aarch64_handle_pac_ret_leaf): Define.
1484 (aarch64_override_options_after_change_1, aarch64_override_options):
1485 Add check for accepted_branch_protection_string.
1486 (aarch64_option_save): Save accepted_branch_protection_string.
1487 (aarch64_option_restore): Save accepted_branch_protection_string.
1488 * config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection.
1489 * config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate
1490 msign-return-address.
1491 * doc/invoke.texi: Add mbranch-protection.
1493 2019-01-08 Alan Modra <amodra@gmail.com>
1496 * genattrtab.c (max_attr_value, min_attr_value, or_attr_value):
1497 Delete "unknownp" parameter. Adjust callers. Handle
1498 CONST_INT, PLUS, MINUS, and MULT.
1499 (attr_value_aligned): Renamed from or_attr_value.
1500 (min_attr_value): Return INT_MIN for unhandled rtl case..
1501 (min_fn): ..and translate to INT_MAX here.
1502 (write_length_unit_log): Modify to cope without "unknown".
1503 (write_attr_value): Handle IF_THEN_ELSE.
1505 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
1507 * tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
1508 optimization for masked stores.
1510 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
1513 * tree-vect-loop.c (get_initial_defs_for_reduction): Pass the
1514 output vector directly to duplicate_and_interleave instead of
1515 going through a temporary. Postpone insertion of ctor_seq to
1516 the end of the loop.
1518 2019-01-07 Richard Earnshaw <rearnsha@arm.com>
1521 * config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter
1522 unsigned_p. Handle signed and unsigned overflow correction as
1524 * config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update
1526 * config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand
1528 (add<mode>3_compareV_imm): Make this callable for expanding.
1529 (subv<GPI:mode>4): Use register_operand for operand 1. Use
1530 aarch64_plus_operand for operand 2.
1531 (subv<GPI:mode>_insn): New insn pattern.
1532 (subv<GPI:mode>_imm): Likewise.
1533 (negv<GPI:mode>3): New expand pattern.
1534 (negv<GPI:mode>_insn): New insn pattern.
1535 (negv<GPI:mode>_cmp_only): Likewise.
1536 (cmpv<GPI:mode>_insn): Likewise.
1537 (subvti4): Use register_operand for operand 1. Update call to
1538 aarch64_expand_subvti.
1539 (usubvti4): Likewise.
1540 (negvti3): New expand pattern.
1541 (negdi_carryout): New insn pattern.
1542 (negvdi_carryinV): New insn pattern.
1543 (sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous
1544 version the named version.
1545 (peepholes to convert to sub<mode3>_compare1_imm): Adjust order of
1547 (usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn
1549 (usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn
1551 (sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete.
1552 (sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete.
1553 (sub<mode>3_carryinCV): Delete.
1554 (sub<GPI:mode>3_carryinV): New expand pattern.
1555 sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns.
1557 2019-01-07 Richard Biener <rguenther@suse.de>
1559 * tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor
1560 of tree_operand_hash.
1562 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
1564 PR tree-optimization/88598
1565 * tree.h (single_nonzero_element): Declare.
1566 * tree.c (single_nonzero_element): New function.
1567 * match.pd: Fold certain reductions of X & CST to X[I] & CST[I]
1568 if I is the only nonzero element of CST.
1570 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
1572 PR tree-optimization/88598
1573 * tree.h (initializer_each_zero_or_onep): Declare.
1574 * tree.c (initializer_each_zero_or_onep): New function.
1575 (signed_or_unsigned_type_for): Handle float types too.
1576 (unsigned_type_for, signed_type_for): Update comments accordingly.
1577 * match.pd: Fold x * { 0 or 1, 0 or 1, ...} to
1578 x & { 0 or -1, 0 or -1, ... }.
1580 2019-01-07 Jonathan Wakely <jwakely@redhat.com>
1582 * doc/install.texi: Replace references to x86_64-unknown-linux-gnu
1583 with x86_64-pc-linux-gnu.
1585 2019-01-07 Tom de Vries <tdevries@suse.de>
1588 * config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
1590 (nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
1593 2019-01-07 Jakub Jelinek <jakub@redhat.com>
1595 * config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
1596 V_256_512 iterator instead of V_512 and TARGET_AVX instead of
1597 TARGET_AVX512F as condition.
1600 * dwarf2out.c (const_ok_for_output_1): Remove redundant call to
1601 const_not_ok_for_debug_p target hook.
1602 (mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1
1603 on UNSPEC and subexpressions thereof if all subexpressions of the
1604 UNSPEC are CONSTANT_P.
1606 PR tree-optimization/88676
1607 * tree-ssa-phiopt.c (two_value_replacement): New function.
1608 (tree_ssa_phiopt_worker): Call it.
1611 * cfgexpand.c (expand_stack_vars): Only align prev_offset to
1612 ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
1615 * tree-vect-generic.c: Include insn-config.h and recog.h.
1616 (expand_vector_piecewise): Add defaulted ret_type argument,
1617 if non-NULL, use that in preference to type for the result type.
1618 (expand_vector_parallel): Formatting fix.
1619 (do_vec_conversion, do_vec_narrowing_conversion,
1620 expand_vector_conversion): New functions.
1621 (expand_vector_operations_1): Call expand_vector_conversion
1622 for VEC_CONVERT ifn calls.
1623 * internal-fn.def (VEC_CONVERT): New internal function.
1624 * internal-fn.c (expand_VEC_CONVERT): New function.
1625 * fold-const-call.c (fold_const_vec_convert): New function.
1626 (fold_const_call): Use it for CFN_VEC_CONVERT.
1627 * doc/extend.texi (__builtin_convertvector): Document.
1629 2019-01-07 Tom de Vries <tdevries@suse.de>
1631 * config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
1632 * config/nvptx/nvptx.c (vector_red_size, vector_red_align,
1633 vector_red_partition, vector_red_sym): New global variables.
1634 (nvptx_option_override): Initialize vector_red_sym.
1635 (nvptx_declare_function_name): Restore red_partition register.
1636 (nvptx_file_end): Emit code to declare the vector reduction variables.
1637 (nvptx_output_red_partition): New function.
1638 (nvptx_expand_shared_addr): Add vector argument. Use it to handle
1639 large vector reductions.
1640 (enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
1641 (nvptx_init_builtins): Add VECTOR_ADDR.
1642 (nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
1643 Handle nvptx_expand_shared_addr.
1644 (nvptx_get_shared_red_addr): Add vector argument and handle large
1646 (nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
1648 (nvptx_goacc_reduction_init): Likewise.
1649 (nvptx_goacc_reduction_fini): Likewise.
1650 (nvptx_goacc_reduction_teardown): Likewise.
1651 (nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
1652 init,fini,teardown}.
1653 (nvptx_init_axis_predicate): Initialize vector_red_partition.
1654 (nvptx_set_current_function): Init vector_red_partition.
1655 * config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
1656 (nvptx_red_partition): New insn.
1657 * config/nvptx/nvptx.h (struct machine_function): Add red_partition.
1659 2019-01-07 Tom de Vries <tdevries@suse.de>
1662 * config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
1665 2019-01-07 Tom de Vries <tdevries@suse.de>
1667 * config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
1668 (nvptx_option_override): Init oacc_bcast_partition.
1669 (nvptx_init_oacc_workers): New function.
1670 (nvptx_declare_function_name): Call nvptx_init_oacc_workers.
1671 (nvptx_needs_shared_bcast): New function.
1672 (nvptx_find_par): Generalize to enable vectors to use shared-memory
1674 (nvptx_shared_propagate): Initialize vector bcast partition and
1675 synchronization state.
1676 (nvptx_single): Generalize to enable vectors to use shared-memory
1678 (nvptx_process_pars): Likewise.
1679 (nvptx_set_current_function): Initialize oacc_broadcast_partition.
1680 * config/nvptx/nvptx.h (struct machine_function): Add
1681 bcast_partition and sync_bar members.
1683 2019-01-07 Tom de Vries <tdevries@suse.de>
1685 * config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
1686 (nvptx_apply_dim_limits): New function.
1687 (nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
1690 2019-01-07 Tom de Vries <tdevries@suse.de>
1692 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
1693 as late as possible.
1695 2019-01-07 Tom de Vries <tdevries@suse.de>
1697 * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
1698 (PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
1699 (nvptx_goacc_validate_dims_1, nvptx_dim_limit)
1700 (nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
1701 PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
1703 2019-01-07 Tom de Vries <tdevries@suse.de>
1705 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
1707 2019-01-07 Tom de Vries <tdevries@suse.de>
1709 * omp-offload.c (oacc_get_min_dim): New function.
1710 * omp-offload.h (oacc_get_min_dim): Declare.
1712 2018-12-26 Mateusz B <mateuszb@poczta.onet.pl>
1715 * config/i386/i386.c (function_value_ms_64): Return small sturct in
1716 AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
1718 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
1722 2017-05-22 Jan Hubicka <hubicka@ucw.cz>
1724 * ipa-inline.c (edge_badness): Use inlined_time instead of
1725 inline_summaries->get.
1727 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
1729 * opts.c (enable_fdo_optimizations): Enable
1730 version-loops-for-strides, loop-interchange, unrol-and-jam
1731 and tree-loop-distribution.
1732 * invoke.texi: Document newly enabled options.
1734 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
1736 * doc/invoke.texi (max-inline-insns-small): New parameters.
1737 * ipa-inline.c (want_early_inline_function_p): simplify.
1738 (want_inline_small_function_p): Fix pasto from previous patch;
1739 use max-inline-insns-small bound.
1740 * params.def (max-inline-insns-small): New param.
1741 * ipa-fnsummary.c (analyze_function_body): Initialize time/size
1742 variables correctly.
1744 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
1746 * doc/invoke.texi: Document max-inline-insns-size,
1747 uninlined-function-insns, uninlined-function-time,
1748 uninlined-thunk-insns and uninlined-thunk-time.
1749 * params.def: Add max-inline-insns-size,
1750 uninlined-function-insns, uninlined-function-time,
1751 uninlined-thunk-insns and uninlined-thunk-time.
1752 * ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
1754 * ipa-inline.c (can_inline_edge_by_limits_p,
1755 want_inline_small_function_p): Use new parameters.
1757 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
1759 * ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
1761 2019-01-05 Jakub Jelinek <jakub@redhat.com>
1765 * expr.c (expand_assignment): For calls returning VLA structures
1766 if to_rtx is not a MEM, force it into a stack temporary.
1769 * dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
1770 SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
1771 Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
1772 subexpressions of both operands.
1773 (mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
1774 subrtxes are CONSTANT_P.
1775 * config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
1778 2019-01-04 Jan Hubicka <hubicka@ucw.cz>
1780 * params.def (hot-bb-count-ws-permille): Set to 990.
1782 2019-01-04 Martin Sebor <msebor@redhat.com>
1785 * attribs.c (decls_mismatched_attributes): Avoid warning for attribute
1788 2019-01-04 Martin Sebor <msebor@redhat.com>
1791 * doc/extend.texi (attribute alloc_align, alloc_size): Update.
1793 2019-01-04 Jakub Jelinek <jakub@redhat.com>
1795 * gdbinit.in: Turn off pagination for the skip commands, restore
1796 it to previous state afterwards.
1798 2019-01-04 Sam Tebbs <sam.tebbs@arm.com>
1801 * gcc.target/aarch64/combine_bfxil.c: Change scan-assembler-times bfxil
1804 2019-01-04 Jakub Jelinek <jakub@redhat.com>
1807 * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
1808 of GET_MODE (opN) as modes of the libcall arguments.
1810 2019-01-04 Jan Beulich <jbeulich@suse.com>
1812 * config/i386/sse.md
1813 (<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
1814 <avx512>_cmp<mode>3<mask_scalar_merge_name>,
1815 <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
1816 <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
1817 avx512f_vmcmp<mode>3<round_saeonly_name>,
1818 avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
1819 avx512f_maskcmp<mode>3,
1820 <avx512>_cvt<ssemodesuffix>2mask<mode>,
1821 <avx512>_cvt<ssemodesuffix>2mask<mode>,
1822 *<avx512>_cvtmask2<ssemodesuffix><mode>,
1823 *<avx512>_cvtmask2<ssemodesuffix><mode>,
1824 <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
1825 <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
1826 <avx512>_gt<mode>3<mask_scalar_merge_name>,
1827 <avx512>_gt<mode>3<mask_scalar_merge_name>,
1828 <avx512>_testm<mode>3<mask_scalar_merge_name>,
1829 <avx512>_testnm<mode>3<mask_scalar_merge_name>,
1830 *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
1831 *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
1832 *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
1833 *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
1834 avx512cd_maskb_vec_dup<mode>,
1835 avx512cd_maskw_vec_dup<mode>,
1836 avx512dq_fpclass<mode><mask_scalar_merge_name>,
1837 avx512dq_vmfpclass<mode>,
1838 avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
1841 2019-01-03 Martin Sebor <msebor@redhat.com>
1843 PR tree-optimization/88659
1844 * calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
1846 2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com>
1848 * config/rs6000/rs6000-string.c (expand_block_move): Don't use
1849 unaligned vsx and avoid lxvd2x/stxvd2x.
1850 (gen_lvx_v4si_move): New function.
1852 2019-01-03 Tom de Vries <tdevries@suse.de>
1854 * config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
1855 (init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
1857 * config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
1859 2019-01-03 Tom de Vries <tdevries@suse.de>
1861 * config/nvptx/nvptx.c (struct offload_attrs): New.
1862 (populate_offload_attrs): New function. Factor mask extraction out of
1863 nvptx_reorg. Add extraction of dimensions.
1864 (nvptx_reorg): Use populate_offload_attrs.
1866 2019-01-03 Tom de Vries <tdevries@suse.de>
1868 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
1869 cases for oacc_min_dims_p and routine_p. Add asserts for
1870 oacc_default_dims_p and offload_region_p.
1872 2019-01-03 Tom de Vries <tdevries@suse.de>
1874 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
1876 (nvptx_goacc_validate_dims): ... here.
1878 2019-01-03 Jan Hubicka <hubicka@ucw.cz>
1880 PR tree-optimization/85574
1881 * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
1883 (struct ssa_equip_hash_traits): Declare.
1884 (val_ssa_equiv): Use custom hash traits using operand_equal_p.
1886 2019-01-03 Jakub Jelinek <jakub@redhat.com>
1889 * dwarf2out.c (modified_type_die): If type is equal to sizetype,
1890 change it to qualified_type.
1892 2019-01-03 Jan Hubicka <hubicka@ucw.cz>
1894 * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
1895 (ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
1897 2019-01-02 Martin Sebor <msebor@redhat.com>
1898 Jeff Law <law@redhat.com>
1900 * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
1901 (get_range_strlen_tree): Update appropriately.
1903 * gimple-fold.h (get_range_strlen): Drop unused last argument.
1905 * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
1906 rather than set_range_info.
1907 * tree-ssa-strlen.c (set_strlen_range): Extracted from
1908 maybe_set_strlen_range. Handle potentially boundary crossing
1909 cases more conservatively.
1910 (maybe_set_strlen_range): Parts refactored into set_strlen_range.
1911 Call set_strlen_range.
1912 * tree-ssa-strlen.h (set_strlen_range): Add prototype.
1915 * gimple-fold.c (get_range_strlen): Update prototype to no longer
1916 need the flexp argument.
1917 (get_range_strlen_tree): Drop flexp argument. Drop flexp argument
1918 from calls to get_range_strlen. Update comments. Just update
1919 VAL for an unterminated const char array and let the reset of the
1920 code handle it normally. No longer try to set *flexp. Adjust
1922 (get_range_strlen): Update for the new get_range_strlen API.
1923 (get_maxval_strlen): Similarly.
1924 (gimple_fold_builtin_strlen): Handle update meaning of return value
1925 from get_range_strlen.
1926 * gimple-ssa-sprintf.c (get_string_length): Update for the new
1927 get_range_strlen API.
1929 2019-01-02 Jan Hubicka <hubicka@ucw.cz>
1932 * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
1933 false at WPA time when body was removed.
1935 2019-01-02 Martin Liska <mliska@suse.cz>
1937 PR tree-optimization/88650
1938 * predict.c (set_even_probabilities): Calculate probability
1939 remainer only when really used.
1941 2019-01-02 Richard Biener <rguenther@suse.de>
1944 * tree-data-ref.c (analyze_subscript_affine_affine): Use
1945 widest_ints when mangling max_stmt_execution results.
1947 2019-01-02 Richard Biener <rguenther@suse.de>
1949 PR tree-optimization/88621
1950 * tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
1951 bitfields when canoncalizing.
1953 2019-01-02 Richard Biener <rguenther@suse.de>
1956 * config/i386/x86-tune-costs.h (intel_cost): Adjust
1957 cost of cheap SSE instruction.
1959 2019-01-02 Richard Biener <rguenther@suse.de>
1962 * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
1963 * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
1965 (sem_item_optimizer::do_congruence_step_f): Sort the congruence
1966 set after UIDs before splitting them.
1968 2019-01-01 Martin Sebor <msebor@redhat.com>
1969 Jeff Law <law@redhat.com>
1971 * gimple-fold.c (get_range_strlen_tree): Record if the computed
1972 length is optimistic. If it is, then arrange to compute the
1973 conservative length as well.
1975 * gimple-fold.h (get_range_strlen): Update prototype.
1976 * builtins.c (check_access): Update call to get_range_strlen to use
1977 c_strlen_data pointer. Change various variable accesses to instead
1978 pull data from the c_strlen_data structure.
1979 (check_strncat_sizes, expand_builtin_strncat): Likewise.
1980 * calls.c (maybe_warn_nonstring_arg): Likewise.
1981 * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset
1982 minimum length if maximum lengh is unknown.
1983 * gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code
1984 that used c_strlen, it's no longer needed. Restructure slightly.
1985 (format_string): Set unlikely range appropriately.
1986 * gimple-fold.c (get_range_strlen): Update comments. Fix minor
1988 (get_range_strlen): Accept c_strlen_data pointer for external
1989 call sites as well. Pass through to call to internal get_range_strlen.
1990 Adjust minlen, maxlen and maxbound as needed.
1991 (get_maxval_strlen): Update comments.
1992 (gimple_fold_builtin_strlen): Update call to get_range_strlen
1993 to use c_strlen_data pointer. Change variable accesses to instead
1994 use c_strlen_data data members.
1996 * gimple-fold.c (get_range_strlen): Update prototype.
1997 (get_range_strlen_tree): Update prototype. Drop minlen/maxlen
1998 local variables. Use pdata to return information to caller.
1999 Update calls to get_range_strlen. Update pdata->maxbound.
2000 (get_range_strlen -- static version): Similarly.
2001 (get_range_strlen -- extern version): Update for internal
2002 get_range_strlen API change. Convert to external data format.
2003 (get_maxval_strlen): Similarly.
2005 2019-01-01 Jan Hubicka <hubicka@ucw.cz>
2007 * coverage.c (get_coverage_counts): Use current_function_decl.
2008 * profile.c (read_thunk_profile): New function.
2009 (branch_prob): Add THUNK parameter.
2010 * tree-profile.c (tree_profiling): Handle thunks.
2011 * value-prof.c (init_node_map): Handle thunks.
2012 * value-prof.h (branch_prob): Upate prototype.
2013 (read_thunk_profile): Declare.
2015 2019-01-01 Jakub Jelinek <jakub@redhat.com>
2017 Update copyright years.
2019 * gcc.c (process_command): Update copyright notice dates.
2020 * gcov-dump.c (print_version): Ditto.
2021 * gcov.c (print_version): Ditto.
2022 * gcov-tool.c (print_version): Ditto.
2023 * gengtype.c (create_file): Ditto.
2024 * doc/cpp.texi: Bump @copying's copyright year.
2025 * doc/cppinternals.texi: Ditto.
2026 * doc/gcc.texi: Ditto.
2027 * doc/gccint.texi: Ditto.
2028 * doc/gcov.texi: Ditto.
2029 * doc/install.texi: Ditto.
2030 * doc/invoke.texi: Ditto.
2032 Copyright (C) 2019 Free Software Foundation, Inc.
2034 Copying and distribution of this file, with or without modification,
2035 are permitted in any medium without royalty provided the copyright
2036 notice and this notice are preserved.