In <https://gcc.gnu.org/ml/gcc-patches/2019-05/msg01417.html>...
[gcc.git] / gcc / ChangeLog
1 2019-05-22 Hans-Peter Nilsson <hp@axis.com>
2
3 * function.c (assign_parm_setup_block): Raise alignment of
4 stacked parameter only for STRICT_ALIGNMENT targets.
5
6 2019-05-21 Segher Boessenkool <segher@kernel.crashing.org>
7
8 * config/rs6000/constraints.md (define_register_constraint "wz"):
9 Delete.
10 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
11 RS6000_CONSTRAINT_wz.
12 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
13 (rs6000_init_hard_regno_mode_ok): Adjust.
14 * config/rs6000/rs6000.md: Replace "wz" constraint by "d" with "p7".
15 * doc/md.texi (Machine Constraints): Adjust.
16
17 2019-05-21 Segher Boessenkool <segher@kernel.crashing.org>
18
19 * config/rs6000/constraints.md (define_register_constraint "wl"):
20 Delete.
21 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
22 RS6000_CONSTRAINT_wl.
23 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
24 (rs6000_init_hard_regno_mode_ok): Adjust.
25 * config/rs6000/rs6000.md: Replace "wl" constraint by "d" with "p6".
26 * doc/md.texi (Machine Constraints): Adjust.
27
28 2019-05-21 Segher Boessenkool <segher@kernel.crashing.org>
29
30 * config/rs6000/constraints.md (define_register_constraint "wm"):
31 Delete.
32 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
33 RS6000_CONSTRAINT_wm.
34 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
35 (rs6000_init_hard_regno_mode_ok): Adjust.
36 * config/rs6000/vsx.md: Replace "wm" constraint by "wa" with "p8v".
37 * doc/md.texi (Machine Constraints): Adjust.
38
39 2019-05-21 Segher Boessenkool <segher@kernel.crashing.org>
40
41 * config/rs6000/constraints.md (define_register_constraint "wk"):
42 Delete.
43 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
44 RS6000_CONSTRAINT_wk.
45 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
46 (rs6000_init_hard_regno_mode_ok): Adjust.
47 * config/rs6000/rs6000.md: Replace "wk" constraint by "ws" with "p8v".
48 * doc/md.texi (Machine Constraints): Adjust.
49
50 2019-05-21 Segher Boessenkool <segher@kernel.crashing.org>
51
52 * config/rs6000/constraints.md (define_register_constraint "wj"):
53 Delete.
54 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
55 RS6000_CONSTRAINT_wj.
56 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
57 (rs6000_init_hard_regno_mode_ok): Adjust.
58 * config/rs6000/rs6000.md: Replace "wj" constraint by "wi" with "p8v".
59 (VS_64dm): Delete.
60 * config/rs6000/vsx.md: Ditto.
61 * doc/md.texi (Machine Constraints): Adjust.
62
63 2019-05-21 Segher Boessenkool <segher@kernel.crashing.org>
64
65 * config/rs6000/constraints.md (define_register_constraint "wh"):
66 Delete.
67 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
68 RS6000_CONSTRAINT_wh.
69 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
70 (rs6000_init_hard_regno_mode_ok): Adjust.
71 * config/rs6000/rs6000.md: Replace "wh" constraint by "wa" with "p8v".
72 * doc/md.texi (Machine Constraints): Adjust.
73
74 2019-05-21 Uroš Bizjak <ubizjak@gmail.com>
75
76 PR target/90547
77 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
78 Avoid calling gen_lowpart with CONST operand.
79
80 2019-05-21 Alexandre Oliva <aoliva@redhat.com>
81
82 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add
83 field template_last_to_copy.
84 (ssa_create_duplicates): Set it, and use it. Attempt to
85 preserve more debug stmts.
86
87 2019-05-21 Uroš Bizjak <ubizjak@gmail.com>
88
89 * config/i386/sse.md (VF1_AVX2): New mode iterator.
90 (signbit<mode>2): New expander
91
92 2019-05-21 James Clarke <jrtc27@jrtc27.com>
93
94 PR bootstrap/87338
95 * dwarf2out.c (dwarf2out_inline_entry): Use ASM_OUTPUT_DEBUG_LABEL
96 instead of ASM_GENERATE_INTERNAL_LABEL and ASM_OUTPUT_LABEL.
97
98 2019-05-21 Uroš Bizjak <ubizjak@gmail.com>
99
100 * config/i386/cpuid.h (__cpuid): For 32bit targets, zero
101 %ebx and %ecx bafore calling cpuid with leaf 1 or
102 non-constant leaf argument.
103
104 2019-05-21 Alan Modra <amodra@gmail.com>
105
106 PR target/90545
107 * config/rs6000/rs6000.c (rs6000_register_move_cost): Increase
108 power9 direct move cost.
109 * testsuite/gcc.target/powerpc/fold-vec-splats-floatdouble.c:
110 Correct comments and rename functions to suit parameters.
111
112 2019-05-21 Richard Biener <rguenther@suse.de>
113
114 PR middle-end/90510
115 * fold-const.c (fold_read_from_vector): New function.
116 * fold-const.h (fold_read_from_vector): Declare.
117 * match.pd (VEC_PERM_EXPR): Build BIT_INSERT_EXPRs for
118 single-element insert permutations. Canonicalize selector
119 further and fix issue with last commit.
120
121 2019-05-21 Vladislav Ivanishin <vlad@ispras.ru>
122
123 * tree-cfg.h (split_critical_edges): Add for_edge_insertion_p
124 parameter with default value false to declaration.
125 (split_edges_for_insertion): New inline function. Wrapper for
126 split_critical_edges with for_edge_insertion_p = true.
127 * tree-cfg.c (split_critical_edges): Don't split non-critical
128 edges if for_edge_insertion_p is false. Fix whitespace.
129 * tree-ssa-pre.c (pass_pre::execute): Call
130 split_edges_for_insertion instead of split_critical_edges.
131 * gcc/tree-ssa-tail-merge.c (tail_merge_optimize): Ditto.
132 * gcc/tree-ssa-sink.c (pass_sink_code::execute): Ditto.
133 (pass_data_sink_code): Update function name in the comment.
134
135 2019-05-21 Vladislav Ivanishin <vlad@ispras.ru>
136
137 * tree-ssa-uninit.c (value_sat_pred_p): This new function is a wrapper
138 around is_value_included_in that knows how to handle BIT_AND_EXPR.
139 (is_pred_expr_subset_of): Use the new function. Handle more cases where
140 code1 == EQ_EXPR and where code1 == BIT_AND_EXPR and thus fix some false
141 positives.
142
143 2019-05-21 Martin Liska <mliska@suse.cz>
144
145 * config/rs6000/driver-rs6000.c (elf_platform): Do not use
146 an extra newline.
147 * config/rs6000/rs6000-c.c (rs6000_pragma_longcal): Wrap pragma in %<%>.
148 (altivec_resolve_overloaded_builtin): Likewise for vec_lvsl and
149 vec_lvsr.
150 * config/rs6000/rs6000.c (rs6000_option_override_internal):
151 Quote a C type.
152 (rs6000_function_arg): Likewise.
153 (rs6000_expand_set_fpscr_drn_builtin): Remove trailing dot.
154 (rs6000_expand_ternop_builtin): Use interval syntax.
155 (get_element_number): Likewise.
156 (altivec_expand_builtin): Likewise.
157 (rs6000_get_function_versions_dispatcher): Quote target_clones.
158
159 Fix test-suite.
160
161 2019-05-20 Jakub Jelinek <jakub@redhat.com>
162
163 PR c++/59813
164 PR target/90418
165 * function.h (struct function): Add calls_eh_return member.
166 * gimplify.c (gimplify_call_expr): Set cfun->calls_eh_return when
167 gimplifying __builtin_eh_return call.
168 * tree-inline.c (initialize_cfun): Copy calls_eh_return from src_cfun
169 to cfun.
170 (expand_call_inline): Or in src_cfun->calls_eh_return into
171 dst_cfun->calls_eh_return.
172 * tree-tailcall.c (suitable_for_tail_call_opt_p): Return false if
173 cfun->calls_eh_return.
174 * lto-streamer-in.c (input_struct_function_base): Read calls_eh_return.
175 * lto-streamer-out.c (output_struct_function_base): Write
176 calls_eh_return.
177
178 2019-05-20 Marc Glisse <marc.glisse@inria.fr>
179
180 PR rtl-optimization/43147
181 * config/i386/i386.c (ix86_gimple_fold_builtin): Handle
182 IX86_BUILTIN_SHUFPD.
183
184 2019-05-20 Jan Hubicka <hubicka@ucw.cz>
185
186 * tree-ssa-alias.c (refs_may_alias_p_2): Break out from ...
187 (refs_may_alias_p_1): ... here; update stats.
188 (refs_may_alias_p): Do not update stats here.
189
190 2019-05-20 Richard Biener <rguenther@suse.de>
191
192 * tree-ssa-structalias.c (find_func_aliases): POINTER_DIFF_EXPR
193 doesn't produce pointers.
194 {TRUNC,CEIL,FLOOR,ROUND,EXACT}_{DIV,MOD}_EXPR points to what
195 the first operand points to.
196
197 2019-05-20 Jan Hubicka <hubicka@ucw.cz>
198
199 * tree-ssa-alias.c (compare_sizes): New function.
200 (sompare_type_sizes): New function
201 (aliasing_component_refs_p): Use it.
202 (indirect_ref_may_alias_decl_p): Likewise.
203
204 2019-05-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
205
206 * config/i386/sol2.h (CC1_SPEC): Reject -mx32.
207
208 2019-05-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
209
210 * config/sol2.h (LIBTSAN_EARLY_SPEC): Remove : after %e.
211 (LIBLSAN_EARLY_SPEC): Likewise.
212 * config/i386/sol2.h (ASAN_REJECT_SPEC): Likewise.
213
214 2019-05-20 Martin Liska <mliska@suse.cz>
215
216 * config/i386/i386.c (ix86_libc_has_fast_function):
217 Add ATTRIBUTE_UNUSED for the argument.
218
219 2019-05-20 Richard Biener <rguenther@suse.de>
220
221 * gimple-match-head.c: Include vec-perm-indices.h.
222 * generic-match-head.c: Likewise.
223 * fold-const.h (fold_vec_perm): Declare when vec-perm-indices.h
224 is included.
225 * fold-const.c (fold_vec_perm): Export.
226 (fold_ternary_loc): Move non-constant folding of VEC_PERM_EXPR...
227 (match.pd): ...here.
228
229 2019-05-20 Jakub Jelinek <jakub@redhat.com>
230
231 * cfgloop.h (struct loop): Add simdlen member.
232 * cfgloopmanip.c (copy_loop_info): Copy simdlen as well.
233 * omp-expand.c (expand_omp_simd): Set it if simdlen clause is present.
234 * tree-vect-loop.c (vect_analyze_loop): Pass loop->simdlen != 0
235 as new argument to autovectorize_vector_sizes target hook. If
236 loop->simdlen, pick up vector size where the vectorization factor
237 is equal to loop->simd, and if there is none, fall back to the first
238 successful one.
239 (vect_transform_loop): Adjust autovectorize_vector_sizes target hook
240 caller.
241 * omp-low.c (omp_clause_aligned_alignment): Likewise.
242 * omp-general.c (omp_max_vf): Likewise.
243 * optabs-query.c (can_vec_mask_load_store_p): Likewise.
244 * tree-vect-slp.c (vect_slp_bb): Likewise.
245 * target.def (autovectorize_vector_sizes): Add ALL argument and
246 document it.
247 * doc/tm.texi: Adjust documentation.
248 * targhooks.c (default_autovectorize_vector_sizes): Add bool argument.
249 * targhooks.h (default_autovectorize_vector_sizes): Likewise.
250 * config/aarch64/aarch64.c (aarch64_autovectorize_vector_sizes): Add
251 bool argument.
252 * config/arc/arc.c (arc_autovectorize_vector_sizes): Likewise.
253 * config/arm/arm.c (arm_autovectorize_vector_sizes): Likewise.
254 * config/mips/mips.c (mips_autovectorize_vector_sizes): Likewise.
255 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Likewise. If
256 true and TARGET_AVX512F or TARGET_AVX, push 3 or 2 sizes even if
257 preferred vector size is not 512-bit or 256-bit, just put those
258 unpreferred ones last.
259
260 2019-05-20 Martin Liska <mliska@suse.cz>
261
262 * targhooks.c (default_libc_has_fast_function): New function.
263 * targhooks.h (default_libc_has_fast_function): Likewise.
264
265 2019-05-20 Martin Liska <mliska@suse.cz>
266
267 PR middle-end/90263
268 * builtins.c (expand_builtin_memory_copy_args): When having a
269 target with fast mempcpy implementation do now use memcpy.
270 * config/i386/i386.c (ix86_libc_has_fast_function): New.
271 (TARGET_LIBC_HAS_FAST_FUNCTION): Likewise.
272 * doc/tm.texi: Likewise.
273 * doc/tm.texi.in: Likewise.
274 * target.def:
275 * expr.c (emit_block_move_hints): Add 2 new arguments.
276 * expr.h (emit_block_move_hints): Bail out when libcall
277 to memcpy would be used.
278
279 2019-05-20 Martin Liska <mliska@suse.cz>
280
281 * profile-count.c: Add vertical spacing in order
282 to separate functions.
283 * profile-count.h: Likewise.
284
285 2019-05-20 Martin Liska <mliska@suse.cz>
286
287 * profile-count.h: Do not use full qualified
288 names if possible.
289 * profile-count.c (profile_count::to_frequency): Likewise.
290
291 2019-05-20 Martin Liska <mliska@suse.cz>
292
293 * profile-count.h (enum profile_quality): Use capital letters
294 for enum value names. Use the adjusted names.
295 * profile-count.c: Use the adjusted names.
296
297 2019-05-19 Segher Boessenkool <segher@kernel.crashing.org>
298
299 * config/rs6000/constraints.md (define_register_constraint "wH"):
300 Delete.
301 (define_register_constraint "wI"): Delete.
302 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
303 RS6000_CONSTRAINT_wH and RS6000_CONSTRAINT_wI.
304 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
305 (rs6000_init_hard_regno_mode_ok): Adjust.
306 * config/rs6000/rs6000.md: Replace "wH" and "wI" constraints by "v"
307 resp. "d", or with "wa" as appropriate, all with "p8v".
308 * config/rs6000/vsx.md: Ditto.
309 * doc/md.texi (Machine Constraints): Adjust.
310
311 2019-05-19 Segher Boessenkool <segher@kernel.crashing.org>
312
313 * config/rs6000/constraints.md (define_register_constraint "wy"):
314 Delete.
315 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
316 RS6000_CONSTRAINT_wy.
317 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
318 (rs6000_init_hard_regno_mode_ok): Adjust.
319 * config/rs6000/rs6000.md: Replace "wy" constraint by "wa" with "p8v".
320 Use "<Fisa>" as "isa" in all alternatives that use "<Fv2>".
321 (define_mode_attr Fisa): New.
322 * config/rs6000/vsx.md: Replace "wy" constraint by "wa" with "p8v".
323 * doc/md.texi (Machine Constraints): Adjust.
324
325 2019-05-19 Segher Boessenkool <segher@kernel.crashing.org>
326
327 * config/rs6000/constraints.md (define_register_constraint "wu"):
328 Delete.
329 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
330 RS6000_CONSTRAINT_wu.
331 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
332 (rs6000_init_hard_regno_mode_ok): Adjust.
333 * config/rs6000/rs6000.md: Replace "wu" constraint by "v" or "wa",
334 both with "p8v".
335 (define_mode_attr Fa): Delete.
336 * config/rs6000/vsx.md: Ditto.
337 * doc/md.texi (Machine Constraints): Adjust.
338
339 2019-05-19 Segher Boessenkool <segher@kernel.crashing.org>
340
341 * config/rs6000/constraints.md (define_register_constraint "wJ"):
342 Delete.
343 (define_register_constraint "wK"): Delete.
344 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
345 RS6000_CONSTRAINT_wJ and RS6000_CONSTRAINT_wK.
346 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
347 (rs6000_init_hard_regno_mode_ok): Adjust.
348 * config/rs6000/rs6000.md: Replace "wJ" constraint by "wI" with "p9v".
349 Replace "wK" constraint by "wH" with "p9v".
350 * config/rs6000/vsx.md: Ditto.
351 * doc/md.texi (Machine Constraints): Adjust.
352
353 2019-05-19 Segher Boessenkool <segher@kernel.crashing.org>
354
355 * config/rs6000/constraints.md (define_register_constraint "wb"):
356 Delete.
357 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
358 RS6000_CONSTRAINT_wb.
359 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
360 (rs6000_init_hard_regno_mode_ok): Adjust.
361 * config/rs6000/rs6000.md: Replace "wb" constraint by "v" with "p9v".
362 * config/rs6000/vsx.md: Ditto.
363 * doc/md.texi (Machine Constraints): Adjust.
364
365 2019-05-19 Segher Boessenkool <segher@kernel.crashing.org>
366
367 * config/rs6000/constraints.md (define_register_constraint "wo"):
368 Delete.
369 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete
370 RS6000_CONSTRAINT_wo.
371 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust.
372 (rs6000_init_hard_regno_mode_ok): Adjust.
373 * config/rs6000/rs6000.md: Replace "wo" constraint by "wa" with "p9v".
374 * config/rs6000/altivec.md: Ditto.
375 * doc/md.texi (Machine Constraints): Adjust.
376
377 2019-05-18 Iain Sandoe <iain@sandoe.co.uk>
378
379 * config/darwin-c.c (darwin_register_objc_includes): Do not
380 prepend the sysroot when building gnu-runtime header search
381 paths.
382
383 2019-05-18 Iain Sandoe <iain@sandoe.co.uk>
384
385 * config/darwin.c (darwin_file_end): Use switch_to_section ()
386 instead of direct output of the asm.
387
388 2019-05-17 Segher Boessenkool <segher@kernel.crashing.org>
389
390 * config/rs6000/rs6000.c (restore_saved_cr): Change a boolean
391 argument to be type bool (was int before).
392 (rs6000_emit_epilogue): Simplify some code. Declare some variables
393 at first use. Use type bool for some variables. Fix a theoretical
394 eh_return bug for svr4.
395
396 2019-05-17 Segher Boessenkool <segher@kernel.crashing.org>
397
398 * config/rs6000/rs6000.md (isa): New attribute.
399 (enabled): New attribute.
400
401 2019-05-17 Max Filippov <jcmvbkbc@gmail.com>
402
403 * config/aarch64/aarch64.c (aarch64_output_mi_thunk): Call
404 assemble_start_function and assemble_end_function.
405
406 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
407
408 PR middle-end/89433
409 * omp-general.c (oacc_verify_routine_clauses): Change formal
410 parameters. Add checking if already marked with an OpenACC
411 'routine' directive. Adjust all users.
412
413 PR middle-end/89433
414 * omp-general.c (oacc_build_routine_dims): Move some of its
415 processing into...
416 (oacc_verify_routine_clauses): ... this new function.
417 * omp-general.h (oacc_verify_routine_clauses): New prototype.
418
419 2019-05-17 Iain Sandoe <iain@sandoe.co.uk>
420
421 * config/rs6000/rs6000.c (machopic_output_stub): Adjust the
422 formating of picbase labels to match other ports.
423
424 2019-05-17 Iain Sandoe <iain@sandoe.co.uk>
425
426 * config/rs6000/rs6000.c (macho_branch_islands): Fix bad indent
427 in the generated code.
428
429 2019-05-16 Martin Sebor <msebor@redhat.com>
430
431 * builtins.c (expand_builtin_atomic_always_lock_free): Quote
432 identifiers, keywords, operators, and types in diagnostics. Correct
433 quoting, spelling, and sentence capitalization issues.
434 (expand_builtin_atomic_is_lock_free): Same.
435 (fold_builtin_next_arg): Same.
436 * cfgexpand.c (expand_one_var): Same.
437 (tree_conflicts_with_clobbers_p): Same.
438 (expand_asm_stmt): Same.
439 (verify_loop_structure): Same.
440 * cgraphunit.c (process_function_and_variable_attributes): Same.
441 * collect-utils.c (collect_execute): Same.
442 * collect2.c (maybe_run_lto_and_relink): Same.
443 (is_lto_object_file): Same.
444 (scan_prog_file): Same.
445 * convert.c (convert_to_real_1): Same.
446 * dwarf2out.c (dwarf2out_begin_prologue): Same.
447 * except.c (verify_eh_tree): Same.
448 * gcc.c (execute): Same.
449 (eval_spec_function): Same.
450 (run_attempt): Same.
451 (driver::set_up_specs): Same.
452 (compare_debug_auxbase_opt_spec_function): Same.
453 * gcov-tool.c (unlink_gcda_file): Same.
454 (do_merge): Same.
455 (do_rewrite): Same.
456 * gcse.c (gcse_or_cprop_is_too_expensive): Same.
457 * gimplify.c (gimplify_asm_expr): Same.
458 (gimplify_adjust_omp_clauses): Same.
459 * hsa-gen.c (gen_hsa_addr_insns): Same.
460 (gen_hsa_insns_for_load): Same.
461 (gen_hsa_cmp_insn_from_gimple): Same.
462 (gen_hsa_insns_for_operation_assignment): Same.
463 (gen_get_level): Same.
464 (gen_hsa_alloca): Same.
465 (omp_simple_builtin::generate): Same.
466 (gen_hsa_atomic_for_builtin): Same.
467 (gen_hsa_insns_for_call): Same.
468 * input.c (dump_location_info): Same.
469 * ipa-devirt.c (compare_virtual_tables): Same.
470 * ira.c (ira_setup_eliminable_regset): Same.
471 * lra-assigns.c (lra_assign): Same.
472 * lra-constraints.c (lra_constraints): Same.
473 * lto-streamer-in.c (lto_input_mode_table): Same.
474 * lto-wrapper.c (get_options_from_collect_gcc_options): Same.
475 (merge_and_complain): Same.
476 (compile_offload_image): Same.
477 (compile_images_for_offload_targets): Same.
478 (debug_objcopy): Same.
479 (run_gcc): Same.
480 (main): Same.
481 * opts.c (print_specific_help): Same.
482 (parse_no_sanitize_attribute): Same.
483 (print_help): Same.
484 (handle_param): Same.
485 * plugin.c (add_new_plugin): Same.
486 (parse_plugin_arg_opt): Same.
487 (try_init_one_plugin): Same.
488 * print-rtl.c (debug_bb_n_slim): Quote identifiers, keywords,
489 operators, and types in diagnostics. Correct quoting and spelling
490 issues.
491 * read-rtl-function.c (parse_edge_flag_token): Same.
492 (function_reader::parse_enum_value): Same.
493 * reg-stack.c (check_asm_stack_operands): Same.
494 * regcprop.c (validate_value_data): Same.
495 * sched-rgn.c (make_pass_sched_fusion): Same.
496 * stmt.c (check_unique_operand_names): Same.
497 * targhooks.c (default_target_option_pragma_parse): Same.
498 * tlink.c (recompile_files): Same.
499 * toplev.c (process_options): Same.
500 (do_compile): Same.
501 * trans-mem.c (diagnose_tm_1): Same.
502 (ipa_tm_scan_irr_block): Same.
503 (ipa_tm_diagnose_transaction): Same.
504 * tree-cfg.c (verify_address): Same. Use get_tree_code_name to
505 format a tree code name in a diagnostic.
506 (verify_types_in_gimple_min_lval): Same.
507 (verify_types_in_gimple_reference): Same.
508 (verify_gimple_call): Same.
509 (verify_gimple_assign_unary): Same.
510 (verify_gimple_assign_binary): Same.
511 (verify_gimple_assign_ternary): Same.
512 (verify_gimple_assign_single): Same.
513 (verify_gimple_switch): Same.
514 (verify_gimple_label): Same.
515 (verify_gimple_phi): Same.
516 (verify_gimple_in_seq): Same.
517 (verify_eh_throw_stmt_node): Same.
518 (collect_subblocks): Same.
519 (gimple_verify_flow_info): Same.
520 (do_warn_unused_result): Same.
521 * tree-inline.c (expand_call_inline): Same.
522 * tree-into-ssa.c (update_ssa): Same.
523 * tree.c (tree_int_cst_elt_check_failed): Same.
524 (tree_vec_elt_check_failed): Same.
525 (omp_clause_operand_check_failed): Same.
526 (verify_type_variant): Same.
527 (verify_type): Same.
528 * value-prof.c (verify_histograms): Same.
529 * varasm.c (assemble_start_function): Same.
530
531 2019-05-16 Martin Sebor <msebor@redhat.com>
532
533 * config/i386/i386-expand.c (get_element_number): Quote keywords
534 and other internal names in diagnostics. Adjust other diagnostic
535 formatting issues noted by -Wformat-diag.
536 * config/i386/i386-features.c
537 (ix86_mangle_function_version_assembler_name): Same.
538 * config/i386/i386-options.c (ix86_handle_abi_attribute): Same.
539 * config/i386/i386.c (ix86_function_type_abi): Same.
540 (ix86_function_ms_hook_prologue): Same.
541 (classify_argument): Same.
542 (ix86_expand_prologue): Same.
543 (ix86_md_asm_adjust): Same.
544 (ix86_memmodel_check): Same.
545
546 2019-05-17 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
547
548 * config/mips/mips.c (mips_dwarf_frame_reg_mode): Replace
549 TARGET_FLOAT64 with !TARGET_FLOAT32, thus handling both fp64
550 and fpxx modes.
551
552 2019-05-17 H.J. Lu <hongjiu.lu@intel.com>
553
554 PR target/90497
555 * config/i386/i386-expand.c (ix86_expand_builtin): Enable MMX
556 intrinsics without SSE/SSE2/SSSE3.
557 * config/i386/mmx.md (mmx_uavgv8qi3): Restore TARGET_3DNOW
558 check.
559 (*mmx_uavgv8qi3): Likewise.
560
561 2019-05-17 Richard Biener <rguenther@suse.de>
562
563 * gimple-pretty-print.c (dump_ternary_rhs): Handle dumping
564 VEC_PERM_EXPR as __VEC_PERM with -gimple.
565
566 2019-05-17 Andreas Krebbel <krebbel@linux.ibm.com>
567
568 * config/s390/s390-builtins.def (s390_vec_sldw_*): Use the
569 vec_sldw insn pattern.
570
571 2019-05-17 Richard Biener <rguenther@suse.de>
572
573 * ccmp.c (expand_ccmp_expr_1): Do not use gimple_assign_rhs_to_tree.
574
575 2019-05-17 Martin Liska <mliska@suse.cz>
576
577 PR driver/90496
578 * toplev.c (output_stack_usage): With LTO and sanitizer it
579 happens that a global ctor (_GLOBAL__sub_I_00099_0_main)
580 has no file location.
581
582 2019-05-16 Jakub Jelinek <jakub@redhat.com>
583
584 PR c++/90484
585 * tree-ssa-scopedtables.c (equal_mem_array_ref_p): Don't assert that
586 sz0 is equal to sz1, instead return false in that case.
587
588 * omp-low.c (lower_rec_input_clauses): If OMP_CLAUSE_IF
589 has non-constant expression, force sctx.lane and use two
590 argument IFN_GOMP_SIMD_LANE instead of single argument.
591 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Don't DCE
592 two argument IFN_GOMP_SIMD_LANE without lhs.
593 * tree-vectorizer.h (struct _loop_vec_info): Add simd_if_cond
594 member.
595 (LOOP_VINFO_SIMD_IF_COND, LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND):
596 Define.
597 (LOOP_REQUIRES_VERSIONING): Or in
598 LOOP_REQUIRES_VERSIONING_FOR_SIMD_IF_COND.
599 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
600 simd_if_cond.
601 (vect_analyze_loop_2): Punt if LOOP_VINFO_SIMD_IF_COND is constant 0.
602 * tree-vect-loop-manip.c (vect_loop_versioning): Add runtime check
603 from simd if clause if needed.
604
605 2019-05-16 Richard Biener <rguenther@suse.de>
606
607 * tree-affine.c (expr_to_aff_combination): New function split
608 out from...
609 (tree_to_aff_combination): ... here.
610 (aff_combination_expand): Avoid building a GENERIC tree.
611
612 2019-05-16 Max Filippov <jcmvbkbc@gmail.com>
613
614 * cgraphunit.c (cgraph_node::expand_thunk): Remove
615 assemble_start_function and assemble_end_function calls.
616 * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Call
617 assemble_start_function and assemble_end_function.
618 * config/arc/arc.c (arc_output_mi_thunk): Likewise.
619 * config/arm/arm.c (arm_output_mi_thunk): Likewise.
620 * config/bfin/bfin.c (bfin_output_mi_thunk): Likewise.
621 * config/c6x/c6x.c (c6x_output_mi_thunk): Likewise.
622 * config/cris/cris.c (cris_asm_output_mi_thunk): Likewise.
623 * config/csky/csky.c (csky_output_mi_thunk): Likewise.
624 * config/epiphany/epiphany.c (epiphany_output_mi_thunk): Likewise.
625 * config/frv/frv.c (frv_asm_output_mi_thunk): Likewise.
626 * config/i386/i386.c (x86_output_mi_thunk): Likewise.
627 * config/ia64/ia64.c (ia64_output_mi_thunk): Likewise.
628 * config/m68k/m68k.c (m68k_output_mi_thunk): Likewise.
629 * config/microblaze/microblaze.c (microblaze_asm_output_mi_thunk):
630 Likewise.
631 * config/mips/mips.c (mips_output_mi_thunk): Likewise.
632 * config/mmix/mmix.c (mmix_asm_output_mi_thunk): Likewise.
633 * config/mn10300/mn10300.c (mn10300_asm_output_mi_thunk): Likewise.
634 * config/nds32/nds32.c (nds32_asm_output_mi_thunk): Likewise.
635 * config/nios2/nios2.c (nios2_asm_output_mi_thunk): Likewise.
636 * config/or1k/or1k.c (or1k_output_mi_thunk): Likewise.
637 * config/pa/pa.c (pa_asm_output_mi_thunk): Likewise.
638 * config/riscv/riscv.c (riscv_output_mi_thunk): Likewise.
639 * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
640 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
641 * config/sh/sh.c (sh_output_mi_thunk): Likewise.
642 * config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
643 * config/spu/spu.c (spu_output_mi_thunk): Likewise.
644 * config/stormy16/stormy16.c (xstormy16_asm_output_mi_thunk):
645 Likewise.
646 * config/tilegx/tilegx.c (tilegx_output_mi_thunk): Likewise.
647 * config/tilepro/tilepro.c (tilepro_asm_output_mi_thunk): Likewise.
648 * config/vax/vax.c (vax_output_mi_thunk): Likewise.
649
650 2019-05-16 Jan Hubicka <hubicka@ucw.cz>
651
652 * tree-ssa-alias.c (alias_stats): Add
653 aliasing_component_refs_p_may_alias and
654 aliasing_component_refs_p_no_alias.
655 (dump_alias_stats): Print aliasing_component_refs_p stats.
656 (aliasing_component_refs_p): Update stats.
657
658 2019-05-16 Martin Liska <mliska@suse.cz>
659
660 PR lto/90500
661 * multiple_target.c (expand_target_clones): Do not allow
662 target_clones being used with a symbol that is an alias.
663
664 2019-05-16 Vladislav Ivanishin <vlad@ispras.ru>
665
666 PR tree-optimization/90394
667 * tree-ssa-uninit.c (is_pred_expr_subset_of): Potentially give false
668 positives rather than ICE for cases where (code2 == NE_EXPR
669 && code1 == BIT_AND_EXPR).
670
671 2019-05-16 Jakub Jelinek <jakub@redhat.com>
672
673 PR fortran/90329
674 * tree-core.h (struct tree_decl_common): Document
675 decl_nonshareable_flag for PARM_DECLs.
676 * tree.h (DECL_HIDDEN_STRING_LENGTH): Define.
677 * calls.c (expand_call): Don't try tail call if caller
678 has any DECL_HIDDEN_STRING_LENGTH PARM_DECLs that are or might be
679 passed on the stack and callee needs to pass any arguments on the
680 stack.
681 * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
682 else if instead of series of mutually exclusive ifs. Handle
683 DECL_HIDDEN_STRING_LENGTH for PARM_DECLs.
684 * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
685
686 * lto-streamer.h (LTO_major_version): Bump to 9.
687
688 2019-05-16 Jun Ma <JunMa@linux.alibaba.com>
689
690 PR tree-optimization/90106
691 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): Add
692 new parameter as new internal function call, also move it to new
693 basic block.
694 (use_internal_fn): Pass internal function call to
695 shrink_wrap_one_built_in_call_with_conds.
696
697 2019-05-15 Jakub Jelinek <jakub@redhat.com>
698
699 * omp-low.c (lower_rec_input_clauses): For if (0) or simdlen (1) set
700 max_vf to 1.
701 * omp-expand.c (expand_omp_simd): For if (0) or simdlen (1) clear
702 safelen_int and set loop->dont_vectorize.
703
704 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
705
706 PR target/89021
707 * config/i386/i386-builtin.def: Enable MMX intrinsics with
708 SSE/SSE2/SSSE3.
709 * config/i386/i386-builtins.c (ix86_init_mmx_sse_builtins):
710 Likewise.
711 * config/i386/i386-expand.c (ix86_expand_builtin): Allow
712 SSE/SSE2/SSSE3 to emulate MMX intrinsics with TARGET_MMX_WITH_SSE.
713 * config/i386/mmintrin.h: Only require SSE2 if __MMX_WITH_SSE__
714 is defined.
715
716 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
717
718 PR target/89021
719 * config/i386/mmx.md (*vec_dupv2sf): Changed to
720 define_insn_and_split to support SSE emulation.
721 (*vec_extractv2sf_0): Likewise.
722 (*vec_extractv2sf_1): Likewise.
723 (*vec_extractv2si_0): Likewise.
724 (*vec_extractv2si_1): Likewise.
725 (*vec_extractv2si_zext_mem): Likewise.
726 (vec_setv2sf): Also allow TARGET_MMX_WITH_SSE.
727 (vec_extractv2sf_1 splitter): Likewise.
728 (vec_extractv2sfsf): Likewise.
729 (vec_setv2si): Likewise.
730 (vec_extractv2si_1 splitter): Likewise.
731 (vec_extractv2sisi): Likewise.
732 (vec_setv4hi): Likewise.
733 (vec_extractv4hihi): Likewise.
734 (vec_setv8qi): Likewise.
735 (vec_extractv8qiqi): Likewise.
736 (vec_extractv2sfsf): Also allow TARGET_MMX_WITH_SSE. Pass
737 TARGET_MMX_WITH_SSE ix86_expand_vector_extract.
738 (vec_extractv2sisi): Likewise.
739 (vec_extractv4hihi): Likewise.
740 (vec_extractv8qiqi): Likewise.
741 (vec_initv2sfsf): Also allow TARGET_MMX_WITH_SSE. Pass
742 TARGET_MMX_WITH_SSE to ix86_expand_vector_init.
743 (vec_initv2sisi): Likewise.
744 (vec_initv4hihi): Likewise.
745 (vec_initv8qiqi): Likewise.
746 (vec_setv2si): Also allow TARGET_MMX_WITH_SSE. Pass
747 TARGET_MMX_WITH_SSE to ix86_expand_vector_set.
748 (vec_setv4hi): Likewise.
749 (vec_setv8qi): Likewise.
750
751 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
752
753 PR target/89021
754 * config/i386/mmx.md (MMXMODE:mov<mode>): Also allow
755 TARGET_MMX_WITH_SSE.
756 (MMXMODE:*mov<mode>_internal): Likewise.
757 (MMXMODE:movmisalign<mode>): Likewise.
758
759 2019-05-15 Uroš Bizjak <ubizjak@gmail.com>
760
761 PR target/89021
762 * config/i386/i386.md (*zero_extendsidi2): Add mmx_isa attribute.
763 * config/i386/sse.md (sse2_cvtpi2pd): Ditto.
764 (sse2_cvtpd2pi): Ditto.
765 (sse2_cvttpd2pi): Ditto.
766 (*vec_concatv2sf_sse4_1): Ditto.
767 (*vec_concatv2sf_sse): Ditto.
768 (*vec_concatv2si_sse4_1): Ditto.
769 (*vec_concatv2si): Ditto.
770 (*vec_concatv4si_0): Ditto.
771 (*vec_concatv2di_0): Ditto.
772
773 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
774
775 PR target/89021
776 * config/i386/sse.md (abs<mode>2): Add SSE emulation.
777
778 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
779
780 PR target/89021
781 * config/i386/sse.md (ssse3_palignrdi): Changed to
782 define_insn_and_split to support SSE emulation.
783
784 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
785
786 PR target/89021
787 * config/i386/sse.md (ssse3_psign<mode>3): Add SSE emulation.
788
789 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
790
791 PR target/89021
792 * config/i386/sse.md (ssse3_pshufbv8qi3): Changed to
793 define_insn_and_split. Also allow TARGET_MMX_WITH_SSE. Add
794 SSE emulation.
795
796 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
797
798 PR target/89021
799 * config/i386/sse.md (ssse3_pmulhrswv4hi3): Require TARGET_MMX
800 or TARGET_MMX_WITH_SSE.
801 (*ssse3_pmulhrswv4hi3): Add SSE emulation.
802
803 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
804
805 PR target/89021
806 * config/i386/sse.md (ssse3_pmaddubsw): Add SSE emulation.
807
808 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
809
810 PR target/89021
811 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>dv2si3):
812 Changed to define_insn_and_split to support SSE emulation.
813
814 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
815
816 PR target/89021
817 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
818 Changed to define_insn_and_split to support SSE emulation.
819
820 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
821
822 PR target/89021
823 * config/i386/mmx.md (mmx_<emms>): Renamed to ...
824 (*mmx_<emms>): This.
825 (mmx_<emms>): New expander.
826
827 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
828
829 PR target/89021
830 * config/i386/mmx.md (sse2_umulv1siv1di3): Add SSE emulation
831 support.
832 (*sse2_umulv1siv1di3): Add SSE2 emulation.
833
834 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
835
836 PR target/89021
837 * config/i386/mmx.md (sse_movntq): Add SSE2 emulation.
838
839 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
840
841 PR target/89021
842 * config/i386/mmx.md (mmx_psadbw): Add SSE emulation.
843
844 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
845
846 PR target/89021
847 * config/i386/mmx.md (mmx_uavgv4hi3): Also check TARGET_MMX and
848 TARGET_MMX_WITH_SSE.
849 (*mmx_uavgv4hi3): Add SSE emulation.
850
851 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
852
853 PR target/89021
854 * config/i386/mmx.md (mmx_uavgv8qi3): Also check TARGET_MMX
855 and TARGET_MMX_WITH_SSE.
856 (*mmx_uavgv8qi3): Add SSE emulation.
857
858 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
859
860 PR target/89021
861 * config/i386/xmmintrin.h: Emulate MMX maskmovq with SSE2
862 maskmovdqu for __MMX_WITH_SSE__.
863
864 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
865
866 PR target/89021
867 * config/i386/mmx.md (mmx_umulv4hi3_highpart): Also check
868 TARGET_MMX and TARGET_MMX_WITH_SSE.
869 (*mmx_umulv4hi3_highpart): Add SSE emulation.
870
871 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
872
873 PR target/89021
874 * config/i386/mmx.md (mmx_pmovmskb): Changed to
875 define_insn_and_split to support SSE emulation.
876
877 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
878
879 PR target/89021
880 * config/i386/mmx.md (mmx_<code>v4hi3): Also check TARGET_MMX
881 and TARGET_MMX_WITH_SSE.
882 (mmx_<code>v8qi3): Likewise.
883 (smaxmin:<code>v4hi3): New.
884 (umaxmin:<code>v8qi3): Likewise.
885 (smaxmin:*mmx_<code>v4hi3): Add SSE emulation.
886 (umaxmin:*mmx_<code>v8qi3): Likewise.
887
888 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
889
890 PR target/89021
891 * config/i386/mmx.md (mmx_pinsrw): Also check TARGET_MMX and
892 TARGET_MMX_WITH_SSE.
893 (*mmx_pinsrw): Add SSE emulation.
894
895 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
896
897 PR target/89021
898 * config/i386/mmx.md (mmx_pextrw): Add SSE emulation.
899
900 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
901
902 PR target/89021
903 * config/i386/sse.md (sse_cvtpi2ps): Changed to
904 define_insn_and_split. Also allow TARGET_MMX_WITH_SSE. Add
905 SSE emulation.
906
907 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
908
909 PR target/89021
910 * config/i386/sse.md (sse_cvtps2pi): Add SSE emulation.
911 (sse_cvttps2pi): Likewise.
912
913 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
914
915 PR target/89021
916 * config/i386/mmx.md (mmx_pshufw): Also check TARGET_MMX and
917 TARGET_MMX_WITH_SSE.
918 (mmx_pshufw_1): Add SSE emulation.
919 (*vec_dupv4hi): Changed to define_insn_and_split and also allow
920 TARGET_MMX_WITH_SSE to support SSE emulation.
921
922 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
923
924 PR target/89021
925 * config/i386/constraints.md (Yw): New constraint.
926 * config/i386/mmx.md (*vec_dupv2si): Changed to
927 define_insn_and_split and also allow TARGET_MMX_WITH_SSE to
928 support SSE emulation.
929
930 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
931
932 PR target/89021
933 * config/i386/mmx.md (mmx_eq<mode>3): Also allow
934 TARGET_MMX_WITH_SSE.
935 (*mmx_eq<mode>3): Also allow TARGET_MMX_WITH_SSE. Add SSE
936 support.
937 (mmx_gt<mode>3): Likewise.
938
939 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
940
941 PR target/89021
942 * config/i386/mmx.md (mmx_andnot<mode>3): Also allow
943 TARGET_MMX_WITH_SSE. Add SSE support.
944
945 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
946
947 PR target/89021
948 * config/i386/mmx.md (any_logic:mmx_<code><mode>3): Also allow
949 TARGET_MMX_WITH_SSE.
950 (any_logic:<code><mode>3): New.
951 (any_logic:*mmx_<code><mode>3): Also allow TARGET_MMX_WITH_SSE.
952 Add SSE support.
953
954 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
955
956 PR target/89021
957 * config/i386/mmx.md (mmx_ashr<mode>3): Also allow
958 TARGET_MMX_WITH_SSE. Add SSE emulation.
959 (mmx_<shift_insn><mode>3): Likewise.
960 (ashr<mode>3): New.
961 (<shift_insn><mode>3): Likewise.
962
963 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
964
965 PR target/89021
966 * config/i386/mmx.md (mmx_pmaddwd): Also allow TARGET_MMX_WITH_SSE.
967 (*mmx_pmaddwd): Also allow TARGET_MMX_WITH_SSE. Add SSE support.
968
969 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
970
971 PR target/89021
972 * config/i386/mmx.md (mmx_smulv4hi3_highpart): Also allow
973 TARGET_MMX_WITH_SSE.
974 (*mmx_smulv4hi3_highpart): Also allow TARGET_MMX_WITH_SSE. Add
975 SSE support.
976
977 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
978
979 PR target/89021
980 * config/i386/mmx.md (mmx_mulv4hi3): Also allow
981 TARGET_MMX_WITH_SSE.
982 (mulv4hi3): New.
983 (*mmx_mulv4hi3): Also allow TARGET_MMX_WITH_SSE. Add SSE
984 support.
985
986 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
987
988 PR target/89021
989 * config/i386/mmx.md (MMXMODEI8): Require TARGET_SSE2 for V1DI.
990 (plusminus:mmx_<plusminus_insn><mode>3): Check
991 TARGET_MMX_WITH_SSE.
992 (sat_plusminus:mmx_<plusminus_insn><mode>3): Likewise.
993 (<plusminus_insn><mode>3): New.
994 (*mmx_<plusminus_insn><mode>3): Add SSE emulation.
995 (*mmx_<plusminus_insn><mode>3): Likewise.
996
997 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
998
999 PR target/89021
1000 * config/i386/i386-expand.c (ix86_split_mmx_punpck): New function.
1001 * config/i386/i386-protos.h (ix86_split_mmx_punpck): New
1002 prototype.
1003 * config/i386/mmx.m (mmx_punpckhbw): Changed to
1004 define_insn_and_split to support SSE emulation.
1005 (mmx_punpcklbw): Likewise.
1006 (mmx_punpckhwd): Likewise.
1007 (mmx_punpcklwd): Likewise.
1008 (mmx_punpckhdq): Likewise.
1009 (mmx_punpckldq): Likewise.
1010
1011 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
1012 Uros Bizjak <ubizjak@gmail.com>
1013
1014 PR target/89021
1015 * config/i386/i386-expand.c (ix86_move_vector_high_sse_to_mmx):
1016 New function.
1017 (ix86_split_mmx_pack): Likewise.
1018 * config/i386/i386-protos.h (ix86_move_vector_high_sse_to_mmx):
1019 New prototype.
1020 (ix86_split_mmx_pack): Likewise.
1021 * config/i386/i386.md (mmx_isa): New.
1022 (enabled): Also check mmx_isa.
1023 * config/i386/mmx.md (any_s_truncate): New code iterator.
1024 (s_trunsuffix): New code attr.
1025 (mmx_packsswb): Removed.
1026 (mmx_packssdw): Likewise.
1027 (mmx_packuswb): Likewise.
1028 (mmx_pack<s_trunsuffix>swb): New define_insn_and_split to emulate
1029 MMX packsswb/packuswb with SSE2.
1030 (mmx_packssdw): Likewise.
1031 * config/i386/predicates.md (register_mmxmem_operand): New.
1032
1033 2019-05-15 H.J. Lu <hongjiu.lu@intel.com>
1034
1035 PR target/89021
1036 * config/i386/i386-c.c (ix86_target_macros_internal): Define
1037 __MMX_WITH_SSE__ for TARGET_MMX_WITH_SSE.
1038 * config/i386/i386.c (ix86_set_reg_reg_cost): Add support for
1039 TARGET_MMX_WITH_SSE with VALID_MMX_REG_MODE.
1040 (ix86_vector_mode_supported_p): Likewise.
1041 * config/i386/i386.h (TARGET_MMX_WITH_SSE): New.
1042
1043 2019-05-15 Martin Liska <mliska@suse.cz>
1044
1045 PR middle-end/90478
1046 * tree-switch-conversion.c (jump_table_cluster::can_be_handled):
1047 Check for overflow.
1048
1049 2019-05-15 Richard Biener <rguenther@suse.de>
1050
1051 * tree-into-ssa.c (pass_build_ssa::execute): Run
1052 update_address_taken before going into SSA.
1053
1054 2019-05-15 Richard Biener <rguenther@suse.de>
1055
1056 * tree-pretty-print.c (dump_generic_node): Dump BIT_FIELD_REF
1057 as __BIT_FIELD_REF with type with -gimple.
1058
1059 2019-05-15 Vladislav Ivanishin <vlad@ispras.ru>
1060
1061 * tree-ssa-uninit.c (is_value_included_in): Remove is_unsigned and merge
1062 semantically equivalent branches (left over after prior refactorings).
1063
1064 2019-05-15 Richard Biener <rguenther@suse.de>
1065
1066 PR tree-optimization/88828
1067 * tree-ssa-forwprop.c (simplify_vector_constructor): Fix
1068 bogus check.
1069
1070 2019-05-14 Richard Biener <rguenther@suse.de>
1071
1072 * tree-pretty-print.c (dump_generic_node): Dump VIEW_CONVERT_EXPR
1073 as __VIEW_CONVERT with -gimple.
1074
1075 2019-05-12 Iain Sandoe <iain@sandoe.co.uk>
1076
1077 PR target/82920
1078 * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for
1079 Darwin.
1080
1081 2019-05-14 Segher Boessenkool <segher@kernel.crashing.org>
1082
1083 * config/rs6000/rs6000.md (eh_set_lr_<mode>): Merge with following
1084 define_split to become a define_insn_and_split.
1085
1086 2019-05-14 Segher Boessenkool <segher@kernel.crashing.org>
1087
1088 * config/rs6000/rs6000-protos.h (rs6000_emit_epilogue): Change
1089 arguments.
1090 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Change arguments.
1091 * config/rs6000/rs6000.md (epilogue_type): New define_enum.
1092 (sibcall_epilogue): Adjust.
1093 (epilogue): Adjust.
1094
1095 2019-05-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1096
1097 * config.gcc: Move *-*-solaris2.10* from obsolete configurations
1098 to unsupported ones.
1099 Simplify x86_64-*-solaris2.1[0-9]* to x86_64-*-solaris2*.
1100 * config.host: Likewise.
1101 * config/i386/sol2.h (ASM_COMMENT_START): Remove.
1102 * config/sparc/driver-sparc.c (host_detect_local_cpu) [__sun__ &&
1103 __svr4__]: Remove "brand" fallback.
1104 [!KSTAT_DATA_STRING]: Remove.
1105 * configure.ac (gcc_cv_ld_hidden): Simplify *-*-solaris2.1[0-9]*
1106 to *-*-solaris2*.
1107 (comdat_group): Likewise.
1108 (set_have_as_tls): Likewise.
1109 (gcc_cv_target_dl_iterate_phdr): Likewise.
1110 (gcc_cv_as_shf_merge): Remove Solaris 10/x86 workaround.
1111 (gcc_cv_ld_aligned_shf_merge): Remove Solaris 10/SPARC workaround.
1112 * configure: Regenerate.
1113 * doc/install.texi: Simplify Solaris target triplets.
1114 (Specific, i?86-*-solaris2*): Remove Solaris 10 references.
1115 (Specific, *-*-solaris2*): Document Solaris 10 removal.
1116 Remove Solaris 10 references.
1117 Remove obsolete Solaris bug reference.
1118 (Specific, sparc-sun-solaris2.10): Remove.
1119
1120 2019-05-14 Uroš Bizjak <ubizjak@gmail.com>
1121
1122 * config/i386/i386.md (any_div): New code iterator.
1123 (paired_mod): New code attribute.
1124 (sgnprefix): Handle DIV and UDIV RTXes.
1125 (u): Ditto.
1126 (<u>divmod<mode>4): Macroize expander from divmod<mode>4
1127 and udivmod<mode>4 patterns using any_div code iterator.
1128 (divmod splitters): Macroize splitters using any_div code iterator.
1129 (*udivmodsi4_pow2_zext_1): Use exactl_log2 in insn condition.
1130 (*udivmodsi4_pow2_zext_2): Ditto.
1131 (*<u>divmod<mode>4_noext): Macroize insn from *divmod<mode>4_noext
1132 and *udivmod<mode>4_noext patterns using any_div code iterator.
1133 (*<u>divmod<mode>4_noext_zext_1): Macroize insn from
1134 *divmod<mode>4_noext_zext_1 and *udivmod<mode>4_noext_zext_1
1135 patterns using any_div code iterator.
1136 (*<u>divmod<mode>4_noext_zext_2): Macroize insn from
1137 *divmod<mode>4_noext_zext_2 and *udivmod<mode>4_noext_zext_2
1138 patterns using any_div code iterator.
1139 (<u>divmodhiqi3): Macroize insn from divmodhiqi3 and
1140 udivmodhiqi3 patterns using any_extend code iterator.
1141
1142 2019-05-14 Richard Biener <rguenther@suse.de>
1143 H.J. Lu <hongjiu.lu@intel.com>
1144
1145 PR tree-optimization/88828
1146 * tree-ssa-forwprop.c (simplify_vector_constructor): Handle
1147 permuting in a single non-constant element not extracted
1148 from a vector.
1149
1150 2019-05-14 Przemyslaw Wirkus <przemyslaw.wirkus@arm.com>
1151
1152 * internal-fn.def (SIGNBIT): New.
1153 * config/aarch64/aarch64-simd.md (signbitv2sf2): New expand
1154 defined.
1155 (signbitv4sf2): Likewise.
1156
1157 2019-05-14 Chenghua Xu <paul.hua.gm@gmail.com>
1158
1159 PR target/90357
1160 * config/mips/mips.c (mips_split_move): Skip forward SRC into
1161 next insn when the SRC reg is dead.
1162
1163 2019-05-14 Bin Cheng <bin.cheng@linux.alibaba.com>
1164
1165 * gimple-ssa-strength-reduction.c (lookup_cand): Adjust index by 1.
1166 (alloc_cand_and_find_basis): Ditto.
1167 (backtrace_base_for_ref, create_mul_ssa_cand): Remove if-then-else.
1168 (create_mul_imm_cand, create_add_ssa_cand): Ditto.
1169 (create_add_imm_cand, slsr_process_cast): Ditto.
1170 (slsr_process_copy, replace_mult_candidate): Ditto.
1171 (replace_rhs_if_not_dup, replace_one_candidate): Ditto.
1172 (dump_cand_vec, analyze_candidates_and_replace): Skip NULL element.
1173 (pass_strength_reduction::execute): Init the first NULL element.
1174
1175 2019-05-13 Nathan Sidwell <nathan@acm.org>
1176
1177 * gcc.c (execute): Simplify cond-expr into if. Reformat comment.
1178 (run_attempt): Reformat line break.
1179
1180 2019-05-13 David Edelsohn <dje.gcc@gmail.com>
1181
1182 PR target/90418
1183 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Don't load EH
1184 data registers in sibcall epilogues.
1185 Don't add EH_RETURN_STACKADJ_RTX to sp in sibcall epilogues.
1186
1187 2019-05-13 Uroš Bizjak <ubizjak@gmail.com>
1188
1189 PR target/89221
1190 * configure.ac (--enable-frame-pointer):
1191 Disable by default for cygwin and mingw.
1192 * configure: Regenerate.
1193
1194 2019-05-13 Nathan Sidwell <nathan@acm.org>
1195
1196 * dwarf2out.c (breakout_comdat_types): Move comment to correct
1197 piece of code.
1198 (const_ok_for_output_1): Balance parens around #if/#else/#endif
1199 (gen_member_die): Move abstract origin check earlier. Only VARs
1200 can be static_inline_p. Simplify splicing control flow.
1201
1202 2019-05-13 Richard Biener <rguenther@suse.de>
1203
1204 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle
1205 VIEW_CONVERT_EXPR.
1206 (vect_build_slp_tree_1): Likewise.
1207
1208 2019-05-13 Richard Biener <rguenther@suse.de>
1209
1210 PR tree-optimization/90402
1211 * tree-if-conv.c (tree_if_conversion): Value number only
1212 the loop body by making the latch an exit of the region
1213 as well.
1214 * tree-ssa-sccvn.c (process_bb): Add flag whether to skip
1215 processing PHIs.
1216 (do_rpo_vn): Deal with multiple edges into the entry block
1217 that are not backedges inside the region by skipping PHIs
1218 of the entry block.
1219
1220 2019-05-13 Richard Biener <rguenther@suse.de>
1221
1222 PR tree-optimization/90316
1223 * tree-ssa-pre.c (insert_aux): Fold into ...
1224 (insert): ... this function. Use a RPO walk to reduce the
1225 number of required iterations.
1226
1227 2019-05-13 Martin Liska <mliska@suse.cz>
1228
1229 PR tree-optimization/90416
1230 * tree-vect-stmts.c (vect_check_load_store_mask): Concatenate
1231 string instead of passing the second part as va_arg argument.
1232
1233 2019-05-13 Martin Liska <mliska@suse.cz>
1234
1235 PR gcov-profile/90380
1236 * gcov.c (handle_cycle): Do not support zero cycle count,
1237 it should not be possible.
1238 (path_contains_zero_cycle_arc): New function.
1239 (circuit): Ignore zero cycle arc counts.
1240
1241 2019-05-13 Martin Liska <mliska@suse.cz>
1242
1243 PR gcov-profile/90380
1244 * gcov.c (enum loop_type): Remove the enum and
1245 the operator.
1246 (handle_cycle): Assert that we should not reach
1247 a negative count.
1248 (circuit): Use loop_found instead of a tri-state loop_type.
1249 (get_cycles_count): Do not handle NEGATIVE_LOOP as it can't
1250 happen.
1251
1252 2019-05-12 Iain Sandoe <iain@sandoe.co.uk>
1253
1254 PR target/82920
1255 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New.
1256 (ix86_output_indirect_branch_via_reg): Use output mechanism
1257 accounting for __USER_LABEL_PREFIX__.
1258 (ix86_output_indirect_branch_via_push): Likewise.
1259 (ix86_output_function_return): Likewise.
1260 (ix86_output_indirect_function_return): Likewise.
1261
1262 2019-05-12 Richard Sandiford <richard.sandiford@arm.com>
1263
1264 * doc/md.texi: Document use of code attributes in rtx patterns.
1265 * read-md.h (rtx_reader::rtx_alloc_for_name): New member function.
1266 * read-rtl.c (find_code): Split out search loops into...
1267 (maybe_find_code): ...this new function.
1268 (check_code_iterator): Make the error message more informative.
1269 (check_code_attribute): New function.
1270 (rtx_reader::rtx_alloc_for_name): Likewise.
1271 (rtx_reader::read_rtx_code): Use rtx_alloc_for_name.
1272 * config/aarch64/predicates.md (aarch64_smin, aarch64_umin): Delete.
1273 * config/aarch64/aarch64-simd.md (*aarch64_<su>abd<mode>_3): Use
1274 <max_opp> directly as an rtx code instead of via a match_operator.
1275 * config/aarch64/aarch64-sve.md (aarch64_<su>abd<mode>_3): Likewise.
1276 (<su>abd<mode>_3): Update accordingly.
1277
1278 2019-05-12 Iain Sandoe <iain@sandoe.co.uk>
1279
1280 * config/rs6000/rs6000.c (debug_stack_info): When -mdebug=stack
1281 is given, print the state of the EH "save world" computation for
1282 Darwin.
1283
1284 2019-05-11 Jakub Jelinek <jakub@redhat.com>
1285
1286 PR c++/59813
1287 * config/aarch64/aarch64.c (aarch64_expand_epilogue): Don't add
1288 EH_RETURN_STACKADJ_RTX to sp in sibcall epilogues.
1289
1290 2019-05-11 Uroš Bizjak <ubizjak@gmail.com>
1291
1292 * config/i386/i386.md (floatdi<X87MODEF:mode>2_i387_with_xmm):
1293 Use pinsrd for TARGET_SSE4_1.
1294 * config/i386/sse.md (movdi_to_sse): Ditto.
1295
1296 2019-05-10 Richard Biener <rguenther@suse.de>
1297
1298 * tree-ssa-sccvn.c (visit_reference_op_call): Initialize value-id.
1299 (do_rpo_vn): Initialize next_value_id.
1300
1301 2019-05-10 Martin Liska <mliska@suse.cz>
1302
1303 * params.def (PARAM_GIMPLE_FE_COMPUTED_HOT_BB_THRESHOLD):
1304 Fix plural form.
1305
1306 2019-05-10 Jakub Jelinek <jakub@redhat.com>
1307
1308 PR tree-optimization/90385
1309 * tree-parloops.c (try_create_reduction_list): Punt on non-SSA_NAME
1310 arguments of the exit phis.
1311
1312 PR c++/90383
1313 * tree-inline.h (struct copy_body_data): Add do_not_fold member.
1314 * tree-inline.c (remap_gimple_op_r): Avoid folding expressions if
1315 id->do_not_fold.
1316 (copy_tree_body_r): Likewise.
1317 (copy_fn): Set id.do_not_fold to true.
1318
1319 2019-05-10 Martin Liska <mliska@suse.cz>
1320
1321 * config/i386/i386-expand.c (ix86_expand_floorceildf_32):
1322 Reapply changes from r269790.
1323
1324 2019-05-10 Martin Liska <mliska@suse.cz>
1325
1326 PR middle-end/90340
1327 * doc/invoke.texi: New params.
1328 * params.def (PARAM_JUMP_TABLE_MAX_GROWTH_RATIO_FOR_SIZE): New.
1329 (PARAM_JUMP_TABLE_MAX_GROWTH_RATIO_FOR_SPEED): Likewise.
1330 * tree-switch-conversion.c (jump_table_cluster::can_be_handled):
1331 Use it.
1332 * tree-switch-conversion.h (struct jump_table_cluster):
1333 Likewise.
1334
1335 2019-05-09 Segher Boessenkool <segher@kernel.crashing.org>
1336
1337 * combine.c (combine_simplify_rtx): Don't make IF_THEN_ELSE RTL.
1338
1339 2019-05-09 Bill Schmidt <wschmidt@linux.ibm.com>
1340
1341 * doc/loop.texi: Remove reference to FOR_EACH_LOOP_BREAK.
1342
1343 2019-05-09 Alexander Monakov <amonakov@ispras.ru>
1344
1345 PR rtl-optimization/88879
1346 * sel-sched.c (sel_target_adjust_priority): Remove assert.
1347
1348 2019-05-09 Richard Earnshaw <rearnsha@arm.com>
1349
1350 PR target/90405
1351 * config/arm/arm.c (callee_saved_reg_p): Move before
1352 thumb_find_work_register.
1353 (thumb1_prologue_unused_call_clobbered_lo_regs): Move before
1354 thumb_find_work_register. Only call df_get_live_out once.
1355 (thumb1_epilogue_unused_call_clobbered_lo_regs): Likewise.
1356 (thumb_find_work_register): Use
1357 thumb1_prologue_unused_call_clobbered_lo_regs instead of ad hoc
1358 algorithms to locate a spare call clobbered reg.
1359
1360 2019-05-09 Martin Liska <mliska@suse.cz>
1361
1362 * gimple-pretty-print.c (dump_binary_rhs): Dump MIN_EXPR
1363 and MAX_EXPR in GIMPLE FE format.
1364
1365 2019-05-09 Martin Liska <mliska@suse.cz>
1366
1367 * tree-cfg.c (dump_function_to_file): Dump entry BB count.
1368 * gimple-pretty-print.c (dump_gimple_bb_header):
1369 Dump BB count.
1370 (pp_cfg_jump): Dump edge probability.
1371 * profile-count.c (profile_quality_as_string): Simplify
1372 with a static array.
1373 (parse_profile_quality): New function.
1374 (profile_count::dump): Simplify with a static array.
1375 (profile_count::from_gcov_type): Add new argument.
1376 * profile-count.h (parse_profile_quality): Likewise.
1377 * predict.h (set_hot_bb_threshold): New.
1378 * params.def (PARAM_GIMPLE_FE_COMPUTED_HOT_BB_THRESHOLD):
1379 New param.
1380 * predict.c (get_hot_bb_threshold): Set from the new param.
1381 (set_hot_bb_threshold): New.
1382
1383 2019-05-09 Richard Biener <rguenther@suse.de>
1384
1385 PR tree-optimization/90395
1386 * tree-ssa-forwprop.c (pass_forwprop::execute): Do not
1387 rewrite vector stores that throw internally.
1388
1389 2019-05-09 Thomas Schwinge <thomas@codesourcery.com>
1390
1391 * cif-code.def (CHKP): Remove.
1392
1393 PR target/89221
1394 * configure.ac (--enable-frame-pointer): Disable by default for
1395 GNU systems.
1396 * configure: Regenerate.
1397
1398 2019-05-09 Alan Modra <amodra@gmail.com>
1399
1400 PR target/89271
1401 * config/rs6000/rs6000.h (enum reg_class, REG_CLASS_NAMES),
1402 (REG_CLASS_CONTENTS): Add GEN_OR_VSX_REGS class.
1403 * config/rs6000/rs6000.c (rs6000_register_move_cost): Correct
1404 cost for general <-> vsx when direct moves are available.
1405 Cost union classes at minimal cost for any reg in the class.
1406 Correct calculation for moves between vsx, float, and altivec.
1407 Don't return a low cost for moves between special regs. Don't
1408 use hard coded register numbers.
1409 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define.
1410 (rs6000_ira_change_pseudo_allocno_class): New function.
1411 * config/rs6000/rs6000.md (movsi_internal1, mov<mode>_internal),
1412 (movdi_internal32, movdi_internal64): Remove '*' from vsx register
1413 alternatives.
1414 (movsi_internal1): Don't disparage vector alternatives.
1415 (mov<mode>_internal): Likewise, excepting alternative that
1416 will be split.
1417 * config/rs6000/vsx.md (vsx_splat_<mode>_reg): Don't disparage
1418 we <- b alternative.
1419
1420 2019-05-08 Jakub Jelinek <jakub@redhat.com>
1421
1422 PR c++/59813
1423 PR tree-optimization/89060
1424 * tree-ssa-live.h (live_vars_map): New typedef.
1425 (compute_live_vars, live_vars_at_stmt, destroy_live_vars): Declare.
1426 * tree-ssa-live.c: Include gimple-walk.h and cfganal.h.
1427 (struct compute_live_vars_data): New type.
1428 (compute_live_vars_visit, compute_live_vars_1, compute_live_vars,
1429 live_vars_at_stmt, destroy_live_vars): New functions.
1430 * tree-tailcall.c: Include tree-ssa-live.h.
1431 (live_vars, live_vars_vec): New global variables.
1432 (find_tail_calls): Perform variable life analysis before punting.
1433 (tree_optimize_tail_calls_1): Clean up live_vars and live_vars_vec.
1434 * tree-inline.h (struct copy_body_data): Add eh_landing_pad_dest
1435 member.
1436 * tree-inline.c (add_clobbers_to_eh_landing_pad): Remove BB argument.
1437 Perform variable life analysis to select variables that really need
1438 clobbers added.
1439 (copy_edges_for_bb): Don't call add_clobbers_to_eh_landing_pad here,
1440 instead set id->eh_landing_pad_dest and assert it is the same.
1441 (copy_cfg_body): Call it here if id->eh_landing_pad_dest is non-NULL.
1442
1443 2019-05-08 Mihail Ionescu <mihail.ionescu@arm.com>
1444 Richard Earnshaw <rearnsha@arm.com>
1445
1446 PR target/88167
1447 * config/arm/arm.c (thumb1_prologue_unused_call_clobbered_lo_regs): New
1448 function.
1449 (thumb1_epilogue_unused_call_clobbered_lo_regs): New function.
1450 (thumb1_compute_save_core_reg_mask): Don't force a spare work
1451 register if both the epilogue and prologue can use call-clobbered
1452 regs.
1453 (thumb1_unexpanded_epilogue): Use
1454 thumb1_epilogue_unused_call_clobbered_lo_regs. Reverse the logic for
1455 picking temporaries for restoring high regs to match that of the
1456 prologue where possible.
1457 (thumb1_expand_prologue): Add any usable call-clobbered low registers to
1458 the list of work registers. Detect if the return address is still live
1459 at the end of the prologue and avoid using it for a work register if so.
1460 If the return address is not live, add LR to the list of pushable regs
1461 after the first pass.
1462
1463 2019-05-08 Bin Cheng <bin.cheng@linux.alibaba.com>
1464
1465 PR tree-optimization/90078
1466 * tree-ssa-loop-ivopts.c (inttypes.h): Include new header file.
1467 (INFTY): Increase the value for infinite cost.
1468 (struct comp_cost): Promote type of members to int64_t.
1469 (infinite_cost): Don't set complexity in initialization.
1470 (comp_cost::operator +,-,+=,-+,/=,*=): Assert when cost computation
1471 overflows to infinite_cost.
1472 (adjust_setup_cost): Promote type of parameter and cost computation
1473 to int64_t.
1474 (struct ainc_cost_data, struct iv_ca): Promote type of member to
1475 int64_t.
1476 (get_scaled_computation_cost_at, determine_iv_cost): Promote type of
1477 cost computation to int64_t.
1478 (determine_group_iv_costs, iv_ca_dump, find_optimal_iv_set): Use
1479 int64_t's format specifier in dump.
1480
1481 2019-05-08 Bin Cheng <bin.cheng@linux.alibaba.com>
1482
1483 PR tree-optimization/90240
1484 * tree-ssa-loop-ivopts.c (get_scaled_computation_cost_at): Scale cost
1485 with respect to scaling factor pre-computed for each basic block.
1486 (try_improve_iv_set): Return bool if best_cost equals to iv_ca cost.
1487 (find_optimal_iv_set_1): Free iv_ca set if it has infinite_cost.
1488 (COST_SCALING_FACTOR_BOUND, determine_scaling_factor): New.
1489 (tree_ssa_iv_optimize_loop): Call determine_scaling_factor. Extend
1490 live range for array of loop's basic blocks. Cleanup aux field of
1491 loop's basic blocks.
1492
1493 2019-05-08 Jakub Jelinek <jakub@redhat.com>
1494
1495 PR tree-optimization/90356
1496 * match.pd ((X +/- 0.0) +/- 0.0): Optimize into X +/- 0.0 if possible.
1497
1498 2019-05-07 Wei Xiao <wei3.xiao@intel.com>
1499
1500 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512BF16_SET
1501 OPTION_MASK_ISA_AVX512BF16_UNSET, OPTION_MASK_ISA2_AVX512BW_UNSET): New.
1502 (OPTION_MASK_ISA2_AVX512F_UNSET): Add OPTION_MASK_ISA_AVX512BF16_UNSET.
1503 (ix86_handle_option): Handle -mavx512bf16.
1504 * config.gcc: Add avx512bf16vlintrin.h and avx512bf16intrin.h
1505 to extra_headers.
1506 * config/i386/avx512bf16vlintrin.h: New.
1507 * config/i386/avx512bf16intrin.h: New.
1508 * config/i386/cpuid.h (bit_AVX512BF16): New.
1509 * config/i386/driver-i386.c (host_detect_local_cpu): Detect BF16.
1510 * config/i386/i386-builtin-types.def: Add new types.
1511 * config/i386/i386-builtin.def: Add new builtins.
1512 * config/i386/i386-c.c (ix86_target_macros_internal): Define
1513 __AVX512BF16__.
1514 * config/i386/i386-option.c (ix86_target_string): Add -mavx512bf16.
1515 (ix86_option_override_internal): Handle BF16.
1516 (ix86_valid_target_attribute_inner_p): Ditto.
1517 * config/i386/i386-expand.c (ix86_expand_args_builtin): Ditto.
1518 * config/i386/i386-builtin.c (enum processor_features): Add
1519 F_AVX512BF16.
1520 (static const _isa_names_table isa_names_table): Ditto.
1521 * config/i386/i386.h (TARGET_AVX512BF16, TARGET_AVX512BF16_P): New.
1522 (PTA_AVX512BF16): Ditto.
1523 * config/i386/i386.opt: Add -mavx512bf16.
1524 * config/i386/immintrin.h: Include avx512bf16intrin.h
1525 and avx512bf16vlintrin.h.
1526 * config/i386/sse.md (avx512f_cvtne2ps2bf16_<mode><mask_name>,
1527 avx512f_cvtneps2bf16_<mode><mask_name>,
1528 avx512f_dpbf16ps_<mode><mask_half_name>): New define_insn patterns.
1529 * config/i386/subst.md (mask_half): Add new subst.
1530 * doc/invoke.texi: Document -mavx512bf16.
1531
1532 2019-05-07 Segher Boessenkool <segher@kernel.crashing.org>
1533
1534 * config/rs6000/rs6000-protos.h (rs6000_legitimize_reload_address_ptr):
1535 Delete declaration.
1536 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Delete.
1537 (rs6000_debug_legitimize_reload_address): Delete.
1538 (rs6000_legitimize_reload_address_ptr): Delete.
1539 (rs6000_option_override_internal): Adjust.
1540 (mem_operand_gpr): Adjust comment.
1541 (legitimate_lo_sum_address_p): Ditto.
1542 (rs6000_legitimize_reload_address): Delete.
1543 (rs6000_debug_legitimize_reload_address): Delete.
1544 * config/rs6000/rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Delete.
1545
1546 2019-05-07 Kelvin Nilsen <kelvin@gcc.gnu.org>
1547
1548 PR target/89765
1549 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1550 In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic
1551 to compute vector element selector for both constant and variable
1552 operands.
1553
1554 2019-05-07 Uroš Bizjak <ubizjak@gmail.com>
1555
1556 * config/i386/i386.md (cvt_mnemonic): New mode attribute.
1557 (ashr<mode>3_cvt): Merge insn pattern from ashrsi3_cvt and
1558 ashrdi3_cvt using SWI48 mode iterator.
1559
1560 2019-05-07 Alejandro Martinez <alejandro.martinezvicente@arm.com>
1561
1562 * config/aarch64/aarch64-sve.md (<su>abd<mode>_3): New define_expand.
1563 (aarch64_<su>abd<mode>_3): Likewise.
1564 (*aarch64_<su>abd<mode>_3): New define_insn.
1565 (<sur>sad<vsi2qi>): New define_expand.
1566 * config/aarch64/iterators.md: Added MAX_OPP attribute.
1567 * tree-vect-loop.c (use_mask_by_cond_expr_p): Add SAD_EXPR.
1568 (build_vect_cond_expr): Likewise.
1569
1570 2019-05-07 Uroš Bizjak <ubizjak@gmail.com>
1571
1572 * cfgexpand.c (asm_clobber_reg_is_valid): Reject
1573 clobbers outside of accessible_reg_set.
1574 * config/i386/i386.c (ix86_conditional_register_usage):
1575 Disable register sets by clearing corresponding bits in
1576 accessible_reg_set. Do not set corresponding bits in fixed_regs,
1577 call_used_regs and don't clear corresponding reg_names array members.
1578
1579 2019-05-07 Richard Biener <rguenther@suse.de>
1580
1581 * tree-vect-stmts.c (vect_is_simple_cond): When vectype is
1582 not specified still compute a comp_vectype for invariant
1583 compares.
1584
1585 2019-05-07 Richard Biener <rguenther@suse.de>
1586
1587 PR tree-optimization/90316
1588 * tree-ssa-pre.c (translate_vuse_through_block): When
1589 same_valid is NULL do not bother to search for a virtual
1590 PHI continuation.
1591 (phi_translate_1): When operands changed we cannot keep
1592 the same value-number so do not bother to ask whether
1593 that's possible from translate_vuse_through_block.
1594
1595 2019-05-07 Martin Liska <mliska@suse.cz>
1596
1597 * bitmap.c (bitmap_register): Come up with
1598 alloc_descriptor_max_uid and assign it for
1599 a new bitmap.
1600 (register_overhead): Use get_descriptor as
1601 a descriptor.
1602 (release_overhead): New.
1603 (bitmap_elem_to_freelist): Call it.
1604 (bitmap_elt_clear_from): Likewise.
1605 (bitmap_obstack_free): Likewise.
1606 (bitmap_move): Sensitively release memory.
1607 * bitmap.h (struct GTY): Add alloc_descriptor and padding.
1608 (bitmap_initialize): Initialize alloc_descriptor to zero.
1609 * tree-ssa-pre.c (do_hoist_insertion): Use bitmap_move.
1610
1611 2019-05-07 Richard Biener <rguenther@suse.de>
1612
1613 * tree-vect-slp.c (vect_build_slp_tree_2): Bump size whenever
1614 we build a SLP node. Remove max_size and limiting.
1615 (vect_analyze_slp_instance): Record and dump size of the SLP graph.
1616
1617 2019-05-07 Richard Biener <rguenther@suse.de>
1618
1619 PR tree-optimization/90316
1620 * tree-ssa-alias.h (get_continuation_for_phi): Take walking
1621 limit by reference.
1622 (walk_non_aliased_vuses): Take walking limit argument.
1623 * tree-ssa-alias.c (maybe_skip_until): Take limit and abort
1624 walking if it is reached instead of just counting.
1625 (get_continuation_for_phi): Likewise.
1626 (walk_non_aliased_vuses): Likewise, instead of leaving counter
1627 limiting to the callback.
1628 * tree-ssa-sccvn.c (vn_reference_lookup_2): Adjust.
1629 (vn_reference_lookup_3): Likewise.
1630 (vn_reference_lookup_pieces): Likewise.
1631 (vn_reference_lookup): Likewise.
1632 * tree-ssa-pre.c (translate_vuse_through_block): Limit walking.
1633 * tree-ssa-scopedtables.c (vuse_eq): Adjust.
1634 (avail_exprs_stack::lookup_avail_expr): Likewise.
1635
1636 2019-05-07 Jan Hubicka <hubicka@ucw.cz>
1637
1638 * tree-ssa-alias.c (aliasing_component_refs_p): Continue looking
1639 for comparaible types in the second direction even if first one
1640 hits incomparable type.
1641
1642 2019-05-07 Richard Biener <rguenther@suse.de>
1643
1644 PR lto/90369
1645 * lto-wrapper.c (debug_objcopy): Use the original filename
1646 including archive offset for the filename used for -save-temps.
1647
1648 2019-05-07 Li Jia He <helijia@linux.ibm.com>
1649
1650 * tree-ssa-phiopt.c (two_value_replacement): Fix a typo in parameter
1651 detection.
1652
1653 2019-05-06 Segher Boessenkool <segher@kernel.crashing.org>
1654
1655 * config/rs6000/rs6000.md (FIRST_ALTIVEC_REGNO, LAST_ALTIVEC_REGNO)
1656 (LR_REGNO, CTR_REGNO, CA_REGNO, ARG_POINTER_REGNUM, CR0_REGNO)
1657 (CR1_REGNO, CR2_REGNO, CR3_REGNO, CR4_REGNO, CR5_REGNO, CR6_REGNO)
1658 (CR7_REGNO, MAX_CR_REGNO, VRSAVE_REGNO, VSCR_REGNO)
1659 (FRAME_POINTER_REGNUM): Change numbering.
1660 * config/rs6000/rs6000.c (rs6000_reg_names): Adjust.
1661 (alt_reg_names): Adjust.
1662 (rs6000_conditional_register_usage): Don't mark hard register 64 as
1663 fixed.
1664 * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust.
1665 (DWARF_FRAME_REGISTERS): Delete.
1666 (DWARF2_FRAME_REG_OUT): Fix whitespace.
1667 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
1668 Adjust.
1669 (REG_ALLOC_ORDER): Adjust.
1670 (FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM): Adjust.
1671 (REG_CLASS_CONTENTS): Adjust.
1672 (RETURN_ADDR_RTX): Change comment.
1673 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Use ARG_POINTER_REGNUM
1674 instead of 67.
1675 (REGISTER_NAMES): Adjust.
1676 (ADDITIONAL_REGISTER_NAMES): Adjust.
1677 * config/rs6000/darwin.h (REGISTER_NAMES): Adjust.
1678
1679 2019-05-06 Segher Boessenkool <segher@kernel.crashing.org>
1680
1681 * config/rs6000/rs6000.md (TFHAR_REGNO, TFIAR_REGNO, TEXASR_REGNO):
1682 Delete.
1683 * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust.
1684 (DWARF_FRAME_REGISTERS): Adjust.
1685 (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
1686 Adjust.
1687 (REG_ALLOC_ORDER): Adjust.
1688 (enum reg_class): Delete SPR_REGS.
1689 (REG_CLASS_NAMES): Delete SPR_REGS.
1690 (REG_CLASS_CONTENTS): Delete SPR_REGS. Adjust for deleted TM regs.
1691 (REGISTER_NAMES): Adjust.
1692 (ADDITIONAL_REGISTER_NAMES): Adjust.
1693 * config/rs6000/darwin.h (REGISTER_NAMES): Adjust.
1694 * config/rs6000/htm.md (htm_mfspr_<mode>, htm_mtspr_<mode>): Adjust.
1695 * config/rs6000/predicates.md (htm_spr_reg_operand): Delete.
1696 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Adjust.
1697 (htm_spr_regno): Delete.
1698 (htm_expand_builtin): Adjust: the HTM builtins now have one fewer
1699 argument.
1700 (rs6000_dbx_register_number): Adjust.
1701
1702 2019-05-06 Segher Boessenkool <segher@kernel.crashing.org>
1703
1704 * config/rs6000/rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): Delete.
1705
1706 2019-05-06 Segher Boessenkool <segher@kernel.crashing.org>
1707
1708 * config/rs6000/rs6000.c (rs6000_dbx_register_number): Handle
1709 FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM, and 64 (which was MQ).
1710
1711 2019-05-06 Jakub Jelinek <jakub@redhat.com>
1712
1713 PR tree-optimization/88709
1714 PR tree-optimization/90271
1715 * params.def (PARAM_STORE_MERGING_MAX_SIZE): New parameter.
1716 * gimple-ssa-store-merging.c (encode_tree_to_bitpos): Handle
1717 non-clobber CONSTRUCTORs with no elts. Remove useless tmp_int
1718 variable.
1719 (imm_store_chain_info::coalesce_immediate_stores): Punt if the size
1720 of the store merging group is larger than
1721 PARAM_STORE_MERGING_MAX_SIZE parameter.
1722 (split_group): Add bzero_first argument. If set, always emit first
1723 the first store which must be = {} of the whole area and then for the
1724 rest of the stores consider all zero bytes as paddings.
1725 (imm_store_chain_info::output_merged_store): Check if first store
1726 is = {} of the whole area and if yes, determine which setting of
1727 bzero_first for split_group gives smaller number of stores. Adjust
1728 split_group callers.
1729 (lhs_valid_for_store_merging_p): Allow decls.
1730 (rhs_valid_for_store_merging_p): Allow non-clobber CONTRUCTORs with
1731 no elts.
1732 (pass_store_merging::process_store): Likewise.
1733
1734 2019-05-06 Kelvin Nilsen <kelvin@gcc.gnu.org>
1735
1736 PR target/89424
1737 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
1738 handling of V1TImode.
1739
1740 2019-05-06 Uroš Bizjak <ubizjak@gmail.com>
1741
1742 PR target/89221
1743 * config.gcc (i[34567]86-*-*, x86_64-*-*): Move tests for enable_cld
1744 and enable_frame_pointer ...
1745 * configure.ac: ... here. Update help strings for
1746 --enable-frame-pointer.
1747 * configure: Regenerate.
1748 * config/i386/i386-options.c (ix86_option_override_internal): Remove
1749 USE_X86_64_FRAME_POINTER define, use USE_IX86_FRAME_POINTER instead.
1750 * config/i386/sol2.h (USE_IX86_FRAME_POINTER): Remove.
1751 (USE_X86_64_FRAME_POINTER): Ditto.
1752
1753 2019-05-06 Martin Liska <mliska@suse.cz>
1754
1755 * config.gcc: Append to target_gtfiles and fix indentation.
1756
1757 2019-05-06 Richard Biener <rguenther@suse.de>
1758
1759 PR tree-optimization/90358
1760 * tree-vect-stmts.c (get_group_load_store_type): Properly
1761 detect unused upper half of load.
1762 (vectorizable_load): Likewise.
1763
1764 2019-05-06 Richard Biener <rguenther@suse.de>
1765
1766 PR tree-optimization/88828
1767 * tree-ssa-forwprop.c (get_bit_field_ref_def): Split out from...
1768 (simplify_vector_constructor): ...here. Handle constants in
1769 the constructor.
1770
1771 2019-05-06 Richard Biener <rguenther@suse.de>
1772
1773 PR tree-optimization/90328
1774 * tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest.
1775 * tree-data-ref.c (dr_may_alias_p): Check whether the clique
1776 is valid in the loop nest before using it.
1777 (initialize_data_dependence_relation): Adjust.
1778 * graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing
1779 loop as loop-nest to dr_may_alias_p.
1780
1781 2019-05-06 Richard Biener <rguenther@suse.de>
1782
1783 * dwarf2out.c (mem_loc_descriptor): Initialize int_mode.
1784
1785 2019-05-06 Richard Biener <rguenther@suse.de>
1786
1787 PR tree-optimization/90316
1788 * tree-ssa-alias.c (maybe_skip_until): Pass in target BB,
1789 compute target on demand.
1790 (get_continuation_for_phi): Remove code walking stmts to
1791 get to a target virtual operand which could end up being
1792 quadratic.
1793
1794 2019-05-06 Martin Liska <mliska@suse.cz>
1795
1796 PR sanitizer/90312
1797 * config/i386/i386-options.c (ix86_option_override_internal): Error only
1798 when -mabi is selected to a non-default version.
1799
1800 2019-05-06 Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
1801 Martin Liska <mliska@suse.cz>
1802
1803 * Makefile.in: Add lto-dump.texi.
1804 * cgraph.h: Add new functions get_visibility_string and
1805 get_symtab_type_string.
1806 * doc/gcc.texi: Include lto-dump section.
1807 * doc/lto-dump.texi: New file.
1808 * dumpfile.c (dump_switch_p_1): Use parse_dump_option.
1809 (parse_dump_option): Factor out this function.
1810 * dumpfile.h (enum dump_flag): Add new value TDF_ERROR.
1811 (parse_dump_option): Export the function.
1812 * symtab.c (symtab_node::get_visibility_string): New function.
1813 (symtab_node::get_symtab_type_string): Likewise.
1814
1815 2019-05-06 Martin Liska <mliska@suse.cz>
1816
1817 * config/i386/i386-builtins.c: New file.
1818 * config/i386/i386-builtins.h: New file.
1819 * config/i386/i386-expand.c: New file.
1820 * config/i386/i386-expand.h: New file.
1821 * config/i386/i386-features.c: New file.
1822 * config/i386/i386-features.h: New file.
1823 * config/i386/i386-options.c: New file.
1824 * config/i386/i386-options.h: New file.
1825 * config.gcc: Add new files into extra_objs and
1826 target_gtfiles.
1827 * config/i386/i386.c: Split content of the file
1828 into newly introduced files.
1829 * config/i386/i386.h: Declare common variables
1830 and macros.
1831 * config/i386/t-i386: Define dependencies for new files.
1832
1833 >>>>>>> .r270937
1834 2019-05-03 Richard Earnshaw <rearnsha@arm.com>
1835
1836 PR target/89400
1837 * config/arm/arm.md (unaligned_loadsi): Add variant for thumb1.
1838 Restrict 'all' variant to 32-bit configurations.
1839 (unaligned_loadhiu): Likewise.
1840 (unaligned_storehi): Likewise.
1841 (unaligned_storesi): Likewise.
1842 (unaligned_loadhis): Disable when compiling for thumb1.
1843
1844 2019-05-03 Marc Glisse <marc.glisse@inria.fr>
1845
1846 PR tree-optimization/90269
1847 * tree-loop-distribution.c (find_seed_stmts_for_distribution):
1848 Ignore clobbers.
1849
1850 2019-05-03 Martin Liska <mliska@suse.cz>
1851
1852 * hash-map.h: Add is_empty function.
1853 * hash-set.h: Likewise.
1854 * hash-table.h: Likewise.
1855 * dwarf2out.c (dwarf2out_finish): Use is_empty instead of
1856 elements () == 0 (and similar usages).
1857 * gimple-ssa-store-merging.c (pass_store_merging::terminate_and_process_all_chains): Likewise.
1858 * gimplify.c (gimplify_bind_expr): Likewise.
1859 (gimplify_switch_expr): Likewise.
1860 * hash-map-tests.c (test_map_of_strings_to_int): Likewise.
1861 * ipa-icf.c (sem_item_optimizer::remove_symtab_node): Likewise.
1862 * postreload-gcse.c (dump_hash_table): Likewise.
1863 (gcse_after_reload_main): Likewise.
1864 * predict.c (combine_predictions_for_bb): Likewise.
1865 * tree-parloops.c (reduction_phi): Likewise.
1866 (separate_decls_in_region): Likewise.
1867 (transform_to_exit_first_loop): Likewise.
1868 (gen_parallel_loop): Likewise.
1869 (gather_scalar_reductions): Likewise.
1870 (try_create_reduction_list): Likewise.
1871 * var-tracking.c (dump_vars): Likewise.
1872 (emit_notes_for_changes): Likewise.
1873 (vt_emit_notes): Likewise.
1874
1875 2019-05-03 Richard Biener <rguenther@suse.de>
1876
1877 PR tree-optimization/90316
1878 * tree-ssa-pre.c (pass_pre::execute): Re-compute DOM fast queries
1879 before running VN.
1880
1881 2019-05-03 Richard Biener <rguenther@suse.de>
1882
1883 * tree-vect-stmts.c (get_group_load_store_type): Avoid
1884 peeling for gaps by loading only lower halves of vectors
1885 if possible.
1886 (vectorizable_load): Likewise.
1887
1888 2019-05-03 Richard Biener <rguenther@suse.de>
1889
1890 PR middle-end/89518
1891 * match.pd: Add pattern to optimize (A / B) * B + (A % B) to A.
1892
1893 2019-05-03 Richard Biener <rguenther@suse.de>
1894
1895 PR middle-end/87314
1896 * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)):
1897 Handle STRING_CST vs DECL or STRING_CST.
1898
1899 2019-05-03 Richard Biener <rguenther@suse.de>
1900
1901 PR tree-optimization/88963
1902 * tree-ssa-forwprop.c (pass_forwprop::execute): Rewrite
1903 vector loads feeding only BIT_FIELD_REFs to component
1904 loads. Rewrite stores fed by CONSTRUCTORs to component
1905 stores.
1906
1907 2019-05-03 Jakub Jelinek <jakub@redhat.com>
1908
1909 * opts.h (finish_options): Remove lang_mask argument.
1910 (print_help, help_option_argument): Declare.
1911 * opts.c (print_help): Remove forward declaration, no longer static.
1912 (finish_options): Remove lang_mask argument, don't call print_help
1913 here.
1914 * opts-global.c (decode_options): Adjust finish_option caller, call
1915 print_help here.
1916
1917 PR tree-optimization/90303
1918 * ipa-devirt.c (obj_type_ref_class, get_odr_type): Don't use
1919 TYPE_CANONICAL for TYPE_STRUCTURAL_EQUALITY_P types in !in_lto_p mode.
1920
1921 2019-05-03 Richard Biener <rguenther@suse.de>
1922
1923 PR tree-optimization/89698
1924 * gimple-fold.c (canonicalize_constructor_val): Early out
1925 for constants, handle unfolded INTEGER_CSTs as they appear in
1926 C++ virtual table ctors.
1927
1928 2019-05-03 Richard Biener <rguenther@suse.de>
1929
1930 * passes.c (execute_function_todo): Remove dead code.
1931
1932 2019-05-02 Segher Boessenkool <segher@kernel.crashing.org>
1933
1934 * config/rs6000/rs6000.c (rs6000_dbx_register_number): Do not use
1935 the internal register number, for any "real" register.
1936
1937 2019-05-02 Segher Boessenkool <segher@kernel.crashing.org>
1938
1939 * config/rs6000/rs6000.c (rs6000_dbx_register_number): Return the
1940 correct numbers for TFHAR, TFIAR, TEXASR.
1941
1942 2019-05-02 Richard Biener <rguenther@suse.de>
1943
1944 PR tree-optimization/89653
1945 * tree-ssa-loop.c (pass_data_tree_loop_init): Execute
1946 update-address-taken before the pass.
1947 * passes.def (pass_tree_loop_init): Put comment before it.
1948
1949 2019-05-02 Richard Biener <rguenther@suse.de>
1950
1951 PR tree-optimization/89509
1952 * tree-ssa-structalias.c (compute_dependence_clique): Look
1953 at the first subvar when determining whether it is restrict.
1954
1955 2019-05-02 Richard Biener <rguenther@suse.de>
1956
1957 PR tree-optimization/90273
1958 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Eliminate
1959 useless debug stmts.
1960
1961 2019-05-02 Alejandro Martinez <alejandro.martinezvicente@arm.com>
1962
1963 * config/aarch64/aarch64-sve.md (<sur>dot_prod<vsi2qi>): Taken from SVE
1964 ACLE branch.
1965 * config/aarch64/iterators.md: Copied Vetype_fourth, VSI2QI and vsi2qi from
1966 SVE ACLE branch.
1967 * tree-vect-loop.c (use_mask_by_cond_expr_p): New function to check if a
1968 VEC_COND_EXPR be inserted to emulate a conditional internal function.
1969 (build_vect_cond_expr): Emit the VEC_COND_EXPR.
1970 (vectorizable_reduction): Use the functions above to vectorize in a
1971 fully masked loop codes that don't have a conditional internal
1972 function.
1973
1974 2019-05-02 Martin Liska <mliska@suse.cz>
1975
1976 * cgraphclones.c: Call valid_attribute_p with 1 for
1977 target_clone.
1978 * config/i386/i386-c.c (ix86_pragma_target_parse): Use 0 as
1979 it's for target attribute.
1980 * config/i386/i386-protos.h (ix86_valid_target_attribute_tree):
1981 Add new boolean argument.
1982 * config/i386/i386.c (ix86_valid_target_attribute_inner_p):
1983 Likewise.
1984 (ix86_valid_target_attribute_tree): Pass target_clone_attr
1985 to ix86_valid_target_attribute_inner_p.
1986 (ix86_valid_target_attribute_p): Pass flags argument to
1987 ix86_valid_target_attribute_inner_p.
1988 (get_builtin_code_for_version): Use 0 as it's target attribute.
1989
1990 2019-05-02 Martin Liska <mliska@suse.cz>
1991
1992 * gcc.c (process_command): Add dummy file only
1993 if n_infiles == 0.
1994 * opts-global.c (decode_options): Pass lang_mask.
1995 * opts.c (print_help): New function.
1996 (finish_options): Print --help if help_option_argument
1997 is set.
1998 (common_handle_option): Factor out content of OPT__help_
1999 into print_help.
2000 * opts.h (finish_options): Add new argument.
2001
2002 2019-05-02 Martin Liska <mliska@suse.cz>
2003
2004 PR target/88809
2005 * config/i386/i386.c (ix86_expand_strlen): Use strlen call.
2006 With -minline-all-stringops use inline expansion using 4B loop.
2007 * doc/invoke.texi: Document the change of
2008 -minline-all-stringops.
2009
2010 2019-05-01 Jeff Law <law@redhat.com>
2011
2012 PR tree-optimization/88797
2013 * gimple-ssa-split-paths (is_feasible_trace): Reject cases where the
2014 PHI feeds a conditional on the RHS of an assignment.
2015
2016 2019-04-30 Andrew Waterman <andrew@sifive.com>
2017 Jim Wilson <jimw@sifive.com>
2018
2019 * config/riscv/constraints.md (L): New.
2020 * config/riscv/predicates.md (lui_operand): New.
2021 (sfb_alu_operand): New.
2022 * config/riscv/riscv-protos.h (riscv_expand_conditional_move): Declare.
2023 * config/riscv/riscv.c (riscv_expand_conditional_move): New.
2024 * config/riscv/riscv.h (TARGET_SFB_ALU): New.
2025 * config/riscv/risc.md (type): Add sfb_alu.
2026 (branch<mode>): Renamed from branch_order<mode>. Change predicate for
2027 operand 3 to reg_or_0_operand. In output string, change %3 to %z3.
2028 (branch_zero<mode>): Delete.
2029 (mov<mode>cc): New.
2030 (mov<GPR:mode><X:mode>cc): Likewise.
2031 * config/riscv/sifive-7.md (sifive_7_sfb_alu): New. Use in bypasses.
2032
2033 2019-04-30 Nathan Sidwell <nathan@acm.org>
2034
2035 * tree.h (MARK_TS_EXP): New.
2036
2037 2019-04-30 Martin Liska <mliska@suse.cz>
2038
2039 * opts.c (enable_warning_as_error): Provide hints
2040 for unknown options.
2041
2042 2019-04-30 Martin Liska <mliska@suse.cz>
2043
2044 PR debug/90288
2045 * doc/invoke.texi: Add missing dash for gas-locview-support
2046 and gno-as-locview-support.
2047
2048 2019-04-30 Jakub Jelinek <jakub@redhat.com>
2049
2050 PR target/89093
2051 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Don't skip
2052 whitespace at the start of target attribute string.
2053
2054 2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2055
2056 PR target/86538
2057 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
2058 Define __ARM_FEATURE_ATOMICS.
2059
2060 2019-04-30 Martin Liska <mliska@suse.cz>
2061
2062 * gimple-fold.c (gimple_fold_builtin_memory_op): Change endp
2063 into built_in_function enum. Remove code for endp == 2 and
2064 use BUILT_IN_* constants.
2065 (gimple_fold_builtin): Call the function with fcode.
2066
2067 2019-04-30 Martin Liska <mliska@suse.cz>
2068
2069 * config/i386/i386.c (ix86_builtin_reciprocal): Cast
2070 DECL_FUNCTION_CODE into ix86_builtins enum before
2071 the switch statement.
2072
2073 2019-04-30 Jakub Jelinek <jakub@redhat.com>
2074
2075 PR tree-optimization/89475
2076 * tree-ssa-ccp.c (evaluate_stmt): Handle BUILT_IN_BSWAP{16,32,64}
2077 calls.
2078
2079 2019-04-30 Martin Liska <mliska@suse.cz>
2080
2081 PR translation/90274
2082 * opts.c (print_filtered_help): Wrap string in _(...).
2083
2084 2019-04-30 Bin Cheng <bin.cheng@linux.alibaba.com>
2085
2086 PR tree-optimization/90240
2087 Revert:
2088 2019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com>
2089
2090 PR tree-optimization/90078
2091 * tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
2092 checks for infinite_cost overflow.
2093
2094 2019-04-29 Jeff Law <law@redhat.com>
2095
2096 * passes.def: Move -Wrestrict pass after copy propagation.
2097
2098 2019-04-29 Maya Rashish <coypu@sdf.org>
2099
2100 * config.gcc (default_gnu_indirect_function): Default to yes
2101 for arm*-*-netbsd*, i[34567]86-*-netbsd*, powerpc*-*-netbsd*,
2102 sparc*-*-netbsd*, x86_64-*-netbsd*.
2103
2104 2019-04-29 Vladislav Ivanishin <vlad@ispras.ru>
2105
2106 * tree-ssa-uninit.c (is_pred_expr_subset_of): Correctly handle cases
2107 where cond2 is NE_EXPR.
2108 (is_value_included_in): Update comment.
2109
2110 2019-04-29 Richard Biener <rguenther@suse.de>
2111
2112 PR tree-optimization/90278
2113 * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean
2114 EH on comparison simplification.
2115
2116 2019-04-29 Jason Merrill <jason@redhat.com>
2117
2118 PR c++/82081 - tail call optimization breaks noexcept
2119 * tree-tailcall.c (find_tail_calls): Don't turn a call from a
2120 nothrow function to a might-throw function into a tail call.
2121
2122 2019-04-29 Richard Sandiford <richard.sandiford@arm.com>
2123
2124 * tree-data-ref.h (data_dependence_relation::inner_loop): Delete.
2125 (DDR_INNER_LOOP): Likewise.
2126 * tree-data-ref.c (dump_data_dependence_relation): Update accordingly.
2127 (initialize_data_dependence_relation): Likewise.
2128 (insert_innermost_unit_dist_vector): Use 0 instead of DDR_INNER_LOOP.
2129
2130 2019-04-29 Jakub Jelinek <jakub@redhat.com>
2131
2132 PR rtl-optimization/90257
2133 * cfgrtl.c (flow_active_insn_p): Return true for USE of a function
2134 return value.
2135
2136 Revert the revert:
2137 2019-04-21 H.J. Lu <hongjiu.lu@intel.com>
2138
2139 PR target/90178
2140 Revert:
2141 2018-11-21 Uros Bizjak <ubizjak@gmail.com>
2142
2143 Revert the revert:
2144 2013-10-26 Vladimir Makarov <vmakarov@redhat.com>
2145
2146 Revert:
2147 2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
2148
2149 * lra-spills.c (lra_final_code_change): Remove useless move insns.
2150
2151 2019-04-29 Richard Biener <rguenther@suse.de>
2152
2153 * tree-ssa.c (insert_debug_temp_for_var_def): For {CLOBBER}
2154 rhs issue a reset.
2155
2156 2019-04-27 Iain Buclaw <ibuclaw@gdcproject.org>
2157
2158 * config/netbsd-d.c: Include memmodel.h. Remove unused tree.h,
2159 varasm.h, and netbsd-protos.h.
2160
2161 2019-04-27 Uroš Bizjak <ubizjak@gmail.com>
2162
2163 PR target/89261
2164 * config/i386/i386-protos.h (ix86_data_alignment): Change
2165 the second argument type to unsigned int.
2166 * config/i386/i386.c (ix86_data_alignment): Change "align"
2167 argument type to unsigned int.
2168
2169 2019-04-27 Martin Liska <mliska@suse.cz>
2170
2171 PR middle-end/90258
2172 * opt-suggestions.c (option_proposer::build_option_suggestions):
2173 When get_valid_option_values returns empty values, add the
2174 misspelling candidate.
2175
2176 2019-04-26 Jim Wilson <jimw@sifive.com>
2177
2178 * config/riscv/riscv-protos.h (riscv_move_integer): Add machine_mode
2179 parameter.
2180 * config/riscv/riscv.c (riscv_move_integer): New parameter orig_mode.
2181 Pass orig_mode to riscv_build_integer.
2182 (riscv_split_integer): Pass mode to riscv_move_integer.
2183 (riscv_legitimize_const_move): Likewise.
2184 (riscv_legitimize_move): For MEM dest and CONST_INT src case, new local
2185 promoted_mode. Replace force_reg call with code to load constant into
2186 promoted reg and then subreg it for the store.
2187 * config/riscv/riscv.md (low<mode>+1): Pass <GPR:MODE>mode to
2188 riscv_move_integer.
2189
2190 2018-04-26 Eugene Sharygin <eush@ispras.ru>
2191
2192 * gdbhooks.py: Fix UnicodeDecodeErrors when printing trees with
2193 corrupt codes.
2194
2195 2019-04-26 Richard Sandiford <richard.sandiford@arm.com>
2196
2197 * tree.h (TYPE_VECTOR_SUBPARTS, SET_TYPE_VECTOR_SUBPARTS): Add
2198 commentary about the encoding of precision.
2199
2200 2019-04-25 Andreas Tobler <andreast@gcc.gnu.org>
2201
2202 * config/i386/freebsd64.h: Add bits for 32-bit multilib support.
2203 * config/i386/t-freebsd64: New file.
2204 * config.gcc: Add the t-freebsd64 for multilib support.
2205
2206 2019-04-25 Uroš Bizjak <ubizjak@gmail.com>
2207
2208 * doc/extend.texi (vector_size): Add missing comma after @xref.
2209
2210 2019-04-25 Jakub Jelinek <jakub@redhat.com>
2211
2212 * BASE-VER: Set to 10.0.0.
2213
2214 2019-04-25 Richard Biener <rguenther@suse.de>
2215
2216 PR middle-end/89765
2217 * gimplify.c (gimplify_expr): Avoid turning a lvalue
2218 VIEW_CONVERT_EXPR into one operating on an rvalue.
2219
2220 2019-04-25 H.J. Lu <hongjiu.lu@intel.com>
2221
2222 PR target/89929
2223 * config/i386/i386.c (feature_priority): Moved to file scope.
2224 (processor_features): Likewise.
2225 (processor_model): Likewise.
2226 (_arch_names_table): Likewise.
2227 (arch_names_table): Likewise.
2228 (_feature_list): Removed.
2229 (feature_list): Likewise.
2230 (_isa_names_table): Moved to file scope. Add priority.
2231 (isa_names_table): Likewise.
2232 (get_builtin_code_for_version): Replace feature_list with
2233 isa_names_table. Update error message for P_ZERO priority.
2234
2235 2019-04-25 Richard Biener <rguenther@suse.de>
2236
2237 * tree-pass.h (make_pass_phi_only_cprop): Remove.
2238 * timevar.def (TV_TREE_PHI_CPROP): Likewise.
2239
2240 2019-04-24 Jeff Law <law@redhat.com>
2241
2242 PR tree-optimization/90037
2243 * Makefile.in (OBJS): Remove tree-ssa-phionlycprop.c
2244 * passes.def: Replace all instance of phi-only cprop with the
2245 lattice propagator. Move propagation pass from after erroneous
2246 path isolation to before erroneous path isolation.
2247 * tree-ssa-phionlycprop.c: Remove.
2248
2249 2019-04-24 Richard Biener <rguenther@suse.de>
2250
2251 PR middle-end/90213
2252 * gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication
2253 by size and BITS_PER_UNIT on poly-wide-ints.
2254
2255 2019-04-25 Richard Biener <rguenther@suse.de>
2256
2257 PR middle-end/90194
2258 * match.pd: Add pattern to simplify view-conversion of an
2259 empty constructor.
2260
2261 2019-04-24 Clement Chigot <clement.chigot@atos.net>
2262
2263 * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Disable
2264 OPTION_MASK_VSX and OPTION_MASK_ALTIVEC from rs6000_isa_flags
2265 for Go on 32 bit AIX.
2266 * config/rs6000/aix72.h: Likewise.
2267
2268 2019-04-24 Jakub Jelinek <jakub@redhat.com>
2269
2270 PR target/90193
2271 * rtl.c (classify_insn): Return JUMP_INSN for asm goto.
2272 * emit-rtl.c (try_split): Copy over REG_LABEL_TARGET.
2273
2274 2019-04-24 Andreas Krebbel <krebbel@linux.ibm.com>
2275
2276 PR target/89952
2277 * config/s390/s390.c (s390_restore_gprs_from_fprs): Restore GPRs
2278 from FPRs in reverse order. Generate REG_CFA_DEF_CFA note also
2279 for restored hard frame pointer.
2280 (s390_sched_dependencies_evaluation): Implement new target hook.
2281 (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New macro definition.
2282
2283 2019-04-24 Claudiu Zissulescu <claziss@sysnopsys.com>
2284
2285 * config/arc/arc-options.def: Fix typos and spelling mistakes.
2286 * config/arc/arc.c (arc_init): Cleanup warning message.
2287 (arc_override_options): Likewise.
2288
2289 2019-04-24 Jakub Jelinek <jakub@redhat.com>
2290
2291 PR target/90187
2292 * config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into
2293 a register if both if_true and if_false are MEMs.
2294
2295 PR tree-optimization/90208
2296 * tree-cfg.c (remove_bb): Move forced labels from removed bbs
2297 after labels of new_bb, not before them.
2298
2299 PR tree-optimization/90211
2300 * tree-parloops.c (try_create_reduction_list): Ignore phi arguments
2301 which are not SSA_NAMEs.
2302
2303 2018-04-23 Sudakshina Das <sudi.das@arm.com>
2304
2305 * config/aarch64/aarch64-linux.h (TARGET_ASM_FILE_END): Define for
2306 AArch64.
2307 (aarch64_file_end_indicate_exec_stack): Add gnu note section.
2308
2309 2019-04-23 Roman Zhuykov <zhroma@ispras.ru>
2310
2311 PR rtl-optimization/87979
2312 * modulo-sched.c (sms_schedule): Start ii value "mii" should
2313 not equal zero.
2314
2315 2019-04-23 Roman Zhuykov <zhroma@ispras.ru>
2316
2317 PR rtl-optimization/84032
2318 * modulo-sched.c (ps_insn_find_column): Change condition so that
2319 branch will always be the last insn in a row inside partial
2320 schedule.
2321
2322 2019-04-23 Richard Biener <rguenther@suse.de>
2323
2324 PR debug/90131
2325 * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Add
2326 dest_single_pred_p argument.
2327 (remove_forwarder_block): Adjust.
2328 (remove_forwarder_block_with_phi): Likewise.
2329
2330 2019-04-23 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2331 Bernd Edlinger <bernd.edlinger@hotmail.de>
2332 Jakub Jelinek <jakub@redhat.com>
2333
2334 PR target/89093
2335 * config/arm/arm.c (aapcs_vfp_is_call_or_return_candidate): Diagnose
2336 if used with general-regs-only.
2337 (arm_conditional_register_usage): Don't add non-general regs if
2338 general-regs-only.
2339 (arm_valid_target_attribute_rec): Handle general-regs-only.
2340 * config/arm/arm.h (TARGET_HARD_FLOAT): Return false if
2341 general-regs-only.
2342 (TARGET_HARD_FLOAT_SUB): Define.
2343 (TARGET_SOFT_FLOAT): Define as negation of TARGET_HARD_FLOAT_SUB.
2344 (TARGET_REALLY_IWMMXT): Add && !TARGET_GENERAL_REGS_ONLY.
2345 (TARGET_REALLY_IWMMXT2): Likewise.
2346 * config/arm/arm.opt: Add -mgeneral-regs-only.
2347 * doc/extend.texi: Document ARM general-regs-only target.
2348 * doc/invoke.texi: Document ARM -mgeneral-regs-only.
2349
2350 2019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com>
2351
2352 PR tree-optimization/90078
2353 * tree-ssa-loop-ivopts.c (comp_cost::operator +,-,+=,-+,/=,*=): Add
2354 checks for infinite_cost overflow.
2355
2356 2019-04-23 Bin Cheng <bin.cheng@linux.alibaba.com>
2357
2358 PR tree-optimization/90021
2359 * tree-chrec.c (evolution_function_is_univariate_p): New parameter
2360 and check univariate against it.
2361 * tree-chrec.h (evolution_function_is_univariate_p): New parameter.
2362 * tree-data-ref.c (add_other_self_distances): Pass new argument.
2363
2364 2019-04-21 H.J. Lu <hongjiu.lu@intel.com>
2365
2366 PR target/90178
2367 Revert:
2368 2018-11-21 Uros Bizjak <ubizjak@gmail.com>
2369
2370 Revert the revert:
2371 2013-10-26 Vladimir Makarov <vmakarov@redhat.com>
2372
2373 Revert:
2374 2013-10-25 Vladimir Makarov <vmakarov@redhat.com>
2375
2376 * lra-spills.c (lra_final_code_change): Remove useless move insns.
2377
2378 2019-04-21 Iain Sandoe <iain@sandoe.co.uk>
2379
2380 * config/rs6000/rs6000.md (group_end_nop): Emit insn register
2381 names using operand format, rather than hard-wired.
2382 (speculation_barrier): Likewise.
2383
2384 2019-04-19 Segher Boessenkool <segher@kernel.crashing.org>
2385
2386 PR tree-optimization/88055
2387 * tree-call-cdce.c (comparison_code_if_no_nans): New function.
2388 (gen_one_condition): Use it if !HONOR_NANS.
2389
2390 2019-04-19 Jakub Jelinek <jakub@redhat.com>
2391
2392 PR middle-end/90139
2393 * tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return
2394 assign_temp instead of gen_reg_rtx.
2395
2396 2019-04-19 Christophe Lyon <christophe.lyon@linaro.org>
2397
2398 PR translation/90118
2399 * config/aarch64/aarch64.c (aarch64_override_options_internal):
2400 Add missing space before %<.
2401
2402 2019-04-18 Peter Bergner <bergner@linux.ibm.com>
2403
2404 PR rtl-optimization/87871
2405 * ira-lives.c (make_object_dead): Don't add conflicts to
2406 TOTAL_CONFLICT_HARD_REGS for register ignore_reg_for_conflicts.
2407
2408 2019-04-18 Martin Sebor <msebor@redhat.com>
2409
2410 PR middle-end/89797
2411 * tree.h (TYPE_VECTOR_SUBPARTS): Use HOST_WIDE_INT_1U.
2412 * config/aarch64/aarch64.c (aarch64_simd_vector_alignment): Avoid
2413 assuming type size fits in SHWI.
2414
2415 2019-04-18 Jan Hubicka <hubicka@ucw.cz>
2416
2417 PR ipa/85051
2418 * ipa-inline.c (flatten_function): New parameter UPDATE.
2419 (ipa_inline, early_inliner): Use it.
2420
2421 2019-04-18 Richard Sandiford <richard.sandiford@arm.com>
2422
2423 * fold-const.c (int_const_binop): Return early on failure.
2424
2425 2019-04-18 Richard Sandiford <richard.sandiford@arm.com>
2426
2427 PR middle-end/85164
2428 * combine.c (force_int_to_mode): Cast the argument rather than
2429 the result of known_alignment.
2430 * rtlanal.c (rtx_addr_can_trap_p_1): Use known_subrange_p.
2431
2432 2019-04-18 Richard Biener <rguenther@suse.de>
2433
2434 PR debug/90131
2435 * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Split
2436 out from ...
2437 (remove_forwarder_block): ... here.
2438 (remove_forwarder_block_with_phi): Also move debug stmts here.
2439
2440 2019-04-18 Jakub Jelinek <jakub@redhat.com>
2441
2442 PR translation/79183
2443 * gimple-ssa-sprintf.c (format_directive): Use inform_n instead of
2444 inform where appropriate.
2445
2446 2019-04-18 Richard Biener <rguenther@suse.de>
2447
2448 * tree.c (get_qualified_type): Put found type variants at the
2449 head of the variant list.
2450
2451 2018-04-17 Segher Boessenkool <segher@kernel.crashing.org>
2452
2453 * config/rs6000/rs6000.c (rs6000_register_move_cost): Fix typo.
2454
2455 2019-04-17 Hongtao Liu <hongtao.liu@intel.com>
2456
2457 PR target/90125
2458 * config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd,
2459 _mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd,
2460 _mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd,
2461 _mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd,
2462 _mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3.
2463
2464 2019-04-17 Peter Bergner <bergner@linux.ibm.com>
2465
2466 * ira-conflicts.c (print_allocno_conflicts): Always print something,
2467 even for allocno's with no conflicts.
2468 (print_conflicts): Print an extra newline.
2469
2470 2019-04-17 Segher Boessenkool <segher@kernel.crashing.org>
2471
2472 * auto-inc-dec.c (attempt_change): Set the alignment of the
2473 temporary memory to that of the original.
2474
2475 2019-04-17 Joao Moreira <jmoreira@suse.de>
2476
2477 * targhooks.c (default_print_patchable_function_entry): Emit
2478 __patchable_function_entries section with writable flags to allow
2479 relocation resolution.
2480
2481 2019-04-17 Jonny Grant <jg@jguk.org>
2482
2483 * collect2.c (main): Change gcc.gnu.org URL to HTTPS.
2484
2485 2019-04-17 Jakub Jelinek <jakub@redhat.com>
2486
2487 PR middle-end/90095
2488 * internal-fn.c (expand_mul_overflow): Don't set SUBREG_PROMOTED_VAR_P
2489 on lowpart SUBREGs.
2490
2491 2019-04-17 Claudiu Zissulescu <claziss@synopsys.com>
2492
2493 * config/arc/arc.c (arc_init): Format diagnostic string.
2494 (arc_override_options): Likewise.
2495 (check_if_valid_regno_const): Likewise.
2496 (arc_reorg): Likewise.
2497
2498 2019-04-17 Segher Boessenkool <segher@kernel.crashing.org>
2499
2500 PR target/17108
2501 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Adjust pattern
2502 name.
2503 (rs6000_emit_allocate_stack_1): Simplify condition. Adjust pattern
2504 name.
2505 * config/rs6000/rs6000.md (bits): Add entries for SF and DF.
2506 (*movdi_update1): Use Pmode.
2507 (movdi_<mode>_update): Fix argument to avoiding_indexed_address_p.
2508 (movdi_<mode>_update_stack): Rename to ...
2509 (movdi_update_stack): ... this. Fix comment. Change condition. Don't
2510 use Pmode.
2511 (*movsi_update1): Use Pmode.
2512 (*movsi_update2): Use Pmode.
2513 (movsi_update): Rename to ...
2514 (movsi_<mode>_update): ... this. Use Pmode.
2515 (movsi_update_stack): Fix condition.
2516 (*movhi_update1): Use Pmode. Fix argument to
2517 avoiding_indexed_address_p.
2518 (*movhi_update2): Ditto.
2519 (*movhi_update3): Ditto.
2520 (*movhi_update4): Ditto.
2521 (*movqi_update1): Ditto.
2522 (*movqi_update2): Ditto.
2523 (*movqi_update3): Ditto.
2524 (*movsf_update1, *movdf_update1): Merge, rename to...
2525 (*mov<mode>_update1): This. Use Pmode. Fix argument to
2526 avoiding_indexed_address_p. Add "size" attribute.
2527 (*movsf_update2, *movdf_update2): Merge, rename to...
2528 (*mov<mode>_update2): This. Ditto.
2529 (*movsf_update3): Use Pmode. Fix argument to
2530 avoiding_indexed_address_p.
2531 (*movsf_update4): Ditto.
2532 (allocate_stack): Simplify condition. Adjust pattern names.
2533
2534 2019-04-17 Jakub Jelinek <jakub@redhat.com>
2535
2536 PR target/89093
2537 * config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip
2538 whitespace at the start of target attribute string.
2539
2540 2019-04-16 Pat Haugen <pthaugen@us.ibm.com>
2541
2542 PR target/84369
2543 * config/rs6000/power9.md: Add store forwarding bypass.
2544
2545 2019-04-16 Alexandre Oliva <aoliva@redhat.com>
2546
2547 PR debug/89528
2548 * valtrack.c (dead_debug_insert_temp): Reset debug references
2549 to the return value of a call being removed.
2550
2551 2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
2552
2553 * config/arc/arc-protos.h (arc_register_move_cost): Remove.
2554 * config/arc/arc.c (arc_register_move_cost): Re-purpose it to
2555 implement target hook.
2556 (arc_memory_move_cost): New function.
2557 (TARGET_REGISTER_MOVE_COST): Define.
2558 (TARGET_MEMORY_MOVE_COST): Likewise.
2559 * config/arc/arc.h (REGISTER_MOVE_COST): Remove.
2560 (MEMORY_MOVE_COST): Likewise.
2561
2562 2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
2563
2564 * config/arc/arc.md (sibcall_insn): Use Rcd constraint.
2565 (sibcall_value_insn): Likewise.
2566 * config/arc/constraints.md (Rs5): Remove.
2567
2568 2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
2569
2570 * config/arc/arc.c (arc_hard_regno_modes): Add two missing modes
2571 for last two fake registers.
2572 (arc_conditional_register_usage): Make sure fake frame and arg
2573 pointer regs are in general regs class.
2574 (FRAME_POINTER_MASK): Remove.
2575 (RETURN_ADDR_MASK): Remove.
2576 (arc_must_save_register): Use hard frame regnum.
2577 (frame_restore_reg): Use hard_frame_pointer_rtx.
2578 (arc_save_callee_saves): Likewise.
2579 (arc_restore_callee_saves): Likewise.
2580 (arc_save_callee_enter): Likewise.
2581 (arc_restore_callee_leave): Likewise.
2582 (arc_save_callee_milli): Likewise.
2583 (arc_eh_return_address_location): Likewise.
2584 (arc_check_multi): Use hard frame regnum.
2585 (arc_can_eliminate): Likewise.
2586 * config/arc/arc.h (FIXED_REGISTERS): Make FP register available
2587 for register allocator.
2588 (REG_CLASS_CONTENTS): Update GENERAL_REGS.
2589 (REGNO_OK_FOR_BASE_P): Consider FRAME_POINTER_REGNUM.
2590 (FRAME_POINTER_REGNUM): Change it to a fake register.
2591 (HARD_FRAME_POINTER_REGNUM): Defined.
2592 (ARG_POINTER_REGNUM): Change it to a new fake register.
2593 (ELIMINABLE_REGS): Update.
2594 (REGISTER_NAMES): Update names.
2595 * config/arc/arc.md (LP_START): Remove.
2596 (LP_END): Likewise.
2597 (shift_si3_loop): Update pattern.
2598
2599 2019-04-16 Claudiu Zissulescu <claziss@synopsys.com>
2600
2601 * config/arc/arc.c (arc_expand_prologue): Emit blockage regardless
2602 to avoid delay slot scheduling.
2603 (arc_must_save_register): Don't save SP.
2604 * config/arc/arc.md (stack_tie): Remove.
2605 (UNSPEC_ARC_STKTIE): Likewise.
2606
2607 2019-04-16 Kito Cheng <kito.cheng@gmail.com>
2608 Shiva Chen <shiva0217@gmail.com>
2609
2610 * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Fix wrong
2611 code gen with large shift amount.
2612
2613 2019-04-16 Chung-Ju Wu <jasonwucj@gmail.com>
2614
2615 * config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle
2616 subreg.
2617
2618 2019-04-16 Jakub Jelinek <jakub@redhat.com>
2619
2620 PR target/90096
2621 * config/i386/i386.c (ix86_target_string): Add ADD_ABI_P argument, only
2622 print -m64/-mx32/-m32 if it is true.
2623 (ix86_debug_options, ix86_function_specific_print): Pass true as
2624 ADD_ABI_P to ix86_target_string.
2625 (ix86_expand_builtin): Adjust ix86_target_string caller, pass true as
2626 ADD_ABI_P only if OPTION_MASK_ISA_64BIT is set in bisa and in that case
2627 or into it OPTION_MASK_ISA_ABI_64 or OPTION_MASK_ISA_ABI_X32.
2628
2629 PR rtl-optimization/90082
2630 * dce.c (can_delete_call): New function.
2631 (deletable_insn_p, mark_insn): Use it.
2632
2633 PR tree-optimization/90090
2634 * tree-ssa-math-opts.c (is_division_by): Ignore divisions that can
2635 throw internally.
2636 (is_division_by_square): Likewise. Formatting fix.
2637
2638 2019-04-16 Richard Biener <rguenther@suse.de>
2639
2640 PR tree-optimization/56049
2641 * tree-ssa-loop-im.c (mem_ref_hasher::equal): Elide alias-set
2642 equality check if alias-set zero will prevail.
2643
2644 2019-04-15 Jeff Law <law@redhat.com>
2645
2646 * config/microblaze/microblaze.c (microblaze_expand_block_move): Treat
2647 size and alignment as unsigned.
2648
2649 2019-04-15 Richard Biener <rguenther@suse.de>
2650
2651 PR debug/90074
2652 * tree-loop-distribution.c (destroy_loop): Preserve correct
2653 debug info.
2654
2655 2019-04-15 Richard Biener <rguenther@suse.de>
2656
2657 PR tree-optimization/90071
2658 * tree-ssa-reassoc.c (init_range_entry): Do not pick up
2659 abnormal operands from def stmts.
2660
2661 2019-04-15 Segher Boessenkool <segher@kernel.crashing.org>
2662
2663 PR rtl-optimization/89794
2664 * combine.c (count_auto_inc): New function.
2665 (try_combine): Count how many auto_inc expressions there were in the
2666 original instructions. Ensure we have the same number in the new
2667 instructions. Remove the code that tried to ensure auto_inc side
2668 effects on i1 and i0 are not lost.
2669
2670 2019-04-15 Richard Biener <rguenther@suse.de>
2671
2672 PR ipa/88936
2673 * tree.h (auto_var_p): Declare.
2674 * tree.c (auto_var_p): New function, split out from ...
2675 (auto_var_in_fn_p): ... here.
2676 * tree-ssa-structalias.c (struct variable_info): Add shadow_var_uid
2677 member.
2678 (new_var_info): Initialize it.
2679 (set_uids_in_ptset): Also set the shadow variable uid if required.
2680 (ipa_pta_execute): Postprocess points-to solutions assigning
2681 shadow variable uids for locals that may reach their containing
2682 function recursively.
2683 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Do not
2684 assert but instead check whether the points-to solution is
2685 a singleton.
2686
2687 2019-04-15 Martin Jambor <mjambor@suse.cz>
2688
2689 PR ipa/pr89693
2690 * cgraph.c (clone_of_p): Loop over clone chain for each step in
2691 the thunk chain.
2692
2693 2019-04-15 Monk Chiang <sh.chiang04@gmail.com>
2694
2695 * config.gcc (nds32*-*-linux*): Set gcc_cv_initfini_array to yes.
2696
2697 2019-04-15 Monk Chiang <sh.chiang04@gmail.com>
2698 Kito Cheng <kito.cheng@gmail.com>
2699 Shiva Chen <shiva0217@gmail.com>
2700
2701 * config/nds32/nds32-md-auxiliary.c
2702 (nds32_legitimize_pic_address): Use new PIC pattern.
2703 (nds32_legitimize_tls_address): Use new TLS pattern.
2704 (nds32_output_symrel): New.
2705 * config/nds32/nds32-protos.h (nds32_output_symrel): Declare.
2706 (nds32_alloc_relax_group_id): Ditto.
2707 * config/nds32/nds32-relax-opt.c (nds32_alloc_relax_group_id): New.
2708 (nds32_group_insns): Use nds32_alloc_relax_group_id instead of use
2709 relax_group_id.
2710 (nds32_group_tls_insn): Ditto.
2711 (nds32_group_float_insns): Ditto.
2712 * config/nds32/nds32.md (tls_le): New.
2713 (sym_got): Ditto.
2714
2715 2019-04-15 Chung-Ju Wu <jasonwucj@gmail.com>
2716
2717 * configure: Add nds32 target for dwarf2 debug_line checking.
2718 * configure.ac: Regenerated.
2719
2720 2019-04-14 Jan Hubicka <hubicka@ucw.cz>
2721
2722 PR lto/89358
2723 * ipa-devirt.c (skip_in_fields_list_p): New.
2724 (odr_types_equivalent_p): Use it.
2725
2726 2019-04-13 Jakub Jelinek <jakub@redhat.com>
2727
2728 PR target/89093
2729 * config/arm/arm.c (arm_valid_target_attribute_rec): Use strcmp
2730 instead of strncmp when checking for thumb and arm. Formatting fixes.
2731
2732 2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
2733
2734 * doc/install.texi: Document --with-target-system-zlib.
2735
2736 2019-04-12 Martin Sebor <msebor@redhat.com>
2737
2738 PR c/88383
2739 PR c/89288
2740 PR c/89798
2741 PR c/89797
2742 * targhooks.c (default_vector_alignment): Avoid assuming
2743 argument fits in SHWI.
2744 * tree.h (TYPE_VECTOR_SUBPARTS): Avoid sign overflow in
2745 a shift expression.
2746 * doc/extend.texi (__builtin_has_attribute): Add a clarifying note.
2747
2748 2019-04-12 Jakub Jelinek <jakub@redhat.com>
2749
2750 PR rtl-optimization/89965
2751 * dce.c: Include rtl-iter.h.
2752 (struct check_argument_load_data): New type.
2753 (check_argument_load): New function.
2754 (find_call_stack_args): Check for loads from stack slots still tracked
2755 in sp_bytes and punt if any is found.
2756
2757 * config/mips/loongson-mmiintrin.h: Fix up #error message.
2758
2759 2019-04-12 Jan Hubicka <hubicka@ucw.cz>
2760
2761 * params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter.
2762 * doc/invoke.texi (max-lto-streaming-paralellism): New --param.
2763
2764 2019-04-12 Martin Liska <mliska@suse.cz>
2765
2766 PR middle-end/89970
2767 * multiple_target.c (create_dispatcher_calls): Wrap ifunc
2768 in error message.
2769 (separate_attrs): Handle multiple 'default's.
2770 (expand_target_clones): Rework error handling code.
2771
2772 2019-04-12 Kelvin Nilsen <kelvin@gcc.gnu.org>
2773
2774 PR target/87532
2775 * config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Use inner
2776 mode of vector rather than mode of destination for move instruction.
2777 * config/rs6000/vsx.md (*vsx_extract_<mode>_<VS_scalar>mode_var):
2778 Use QI inner mode with V16QI vector mode.
2779
2780 2019-04-12 Jakub Jelinek <jakub@redhat.com>
2781
2782 PR target/52726
2783 * config/tilepro/tilepro.c (tilepro_print_operand): Use just
2784 "invalid %%t operand" in output_operand_lossage message.
2785
2786 2019-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
2787
2788 * config/s390/predicates.md (permute_pattern_operand): New
2789 predicate.
2790 * config/s390/vector.md ("*vec_splats_bswap_vec<mode>"): Add USE
2791 operand for the permute pattern.
2792 ("*vec_perm<mode>"): New insn definition.
2793 ("bswap<mode>"): Generate the permute pattern operand in the
2794 expander and perform the operand reloads for pre arch13 level
2795 already.
2796 ("*bswap<mode>_emu"): Rename to ...
2797 ("*bswap<mode>"): ... this. And make the splitter vxe2 only.
2798 * config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>"):
2799 Add the USE operand for the permute pattern.
2800 ("*vec_set_bswap_vec<mode>"): Likewise.
2801
2802 2019-04-12 Jakub Jelinek <jakub@redhat.com>
2803
2804 PR c/89946
2805 * varasm.c (assemble_start_function): Don't use tree_fits_uhwi_p
2806 and gcc_unreachable if it fails, just call tree_to_uhwi which
2807 verifies that too. Test TREE_CHAIN instead of list_length > 1.
2808 Start warning message with a lower-case letter. Formatting fixes.
2809
2810 PR rtl-optimization/90026
2811 * cfgcleanup.c (try_optimize_cfg): When removing empty bb with no
2812 successors, look for BARRIERs inside of the whole BB_FOOTER chain
2813 rather than just at the start of it. If e->src BB_FOOTER is not NULL
2814 in cfglayout mode, use emit_barrier_after_bb.
2815
2816 2018-04-11 Steve Ellcey <sellcey@marvell.com>
2817
2818 PR rtl-optimization/87763
2819 * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>4_noshift_alt):
2820 New Instruction.
2821
2822 2019-04-11 Tom de Vries <tdevries@suse.de>
2823
2824 * doc/extend.texi (@node Statement Exprs): Note variable shadowing at
2825 max macro using statement expression.
2826
2827 2019-04-11 David Edelsohn <dje.gcc@gmail.com>
2828
2829 * xcoffout.h (xcoff_private_rodata_section_name): Declare.
2830 * xcoffout.c (xcoff_private_rodata_section_name): Define.
2831 * config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create
2832 read_only_private_data_section using xcoff_private_rodata_section_name.
2833 (rs6000_xcoff_file_start): Generate xcoff_private_rodata_section_name.
2834
2835 2019-04-11 Christophe Lyon <christophe.lyon@linaro.org>
2836
2837 PR target/90016
2838 * config/aarch64/aarch64.opt (msve-vector-bits): Add missing final '.'.
2839
2840 2019-04-11 Jakub Jelinek <jakub@redhat.com>
2841
2842 PR rtl-optimization/89965
2843 * dce.c (sp_based_mem_offset): New function.
2844 (find_call_stack_args): Use sp_based_mem_offset.
2845
2846 2019-04-11 Jonathan Wakely <jwakely@redhat.com>
2847
2848 * doc/invoke.texi (Optimize Options): Clarify -flive-patching docs.
2849
2850 2019-04-11 Richard Biener <rguenther@suse.de>
2851
2852 PR tree-optimization/90020
2853 * tree-ssa-sccvn.c (vn_reference_may_trap): New function.
2854 * tree-ssa-sccvn.h (vn_reference_may_trap): Declare.
2855 * tree-ssa-pre.c (compute_avail): Use it to not put
2856 possibly trapping references after a call that might not
2857 return into EXP_GEN.
2858 * gcse.c (compute_hash_table_work): Do not elide
2859 marking a block containing a call if the call might not
2860 return.
2861
2862 2019-04-11 Richard Biener <rguenther@suse.de>
2863
2864 PR tree-optimization/90018
2865 * tree-vect-data-refs.c (vect_preserves_scalar_order_p):
2866 Test both SLP and interleaving variants.
2867
2868 2019-04-11 Robin Dapp <rdapp@linux.ibm.com>
2869
2870 * config/s390/8561.md: New file.
2871 * config/s390/driver-native.c (s390_host_detect_local_cpu):
2872 Add arch13 cpu model.
2873 * config/s390/s390-opts.h (enum processor_type): Likewise.
2874 * config/s390/s390.c (s390_get_sched_attrmask): Add arch13.
2875 (s390_get_unit_mask): Likewise.
2876 (s390_is_fpd): Likewise.
2877 (s390_is_fxd): Likewise.
2878 * config/s390/s390.h (s390_tune_attr): Likewise.
2879 * config/s390/s390.md: Include arch13 pipeline description.
2880 * config/s390/s390.opt: Add arch13.
2881
2882 2018-04-10 Steve Ellcey <sellcey@marvell.com>
2883
2884 PR rtl-optimization/87763
2885 * config/aarch64/aarch64-protos.h (aarch64_masks_and_shift_for_bfi_p):
2886 New prototype.
2887 * config/aarch64/aarch64.c (aarch64_masks_and_shift_for_bfi_p):
2888 New function.
2889 * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode>5_shift):
2890 New instruction.
2891 (*aarch64_bfi<GPI:mode>5_shift_alt): Ditto.
2892 (*aarch64_bfi<GPI:mode>4_noand): Ditto.
2893 (*aarch64_bfi<GPI:mode>4_noand_alt): Ditto.
2894 (*aarch64_bfi<GPI:mode>4_noshift): Ditto.
2895
2896 2019-04-10 Jonathan Wakely <jwakely@redhat.com>
2897
2898 * doc/invoke.texi (Optimize Options): Change "Nevertheless" to
2899 "Although" in -fipa-icf documentation.
2900
2901 * doc/invoke.texi (Debugging Options): Explicitly state the semantics
2902 of using multiple -g options.
2903
2904 2019-04-10 Martin Liska <mliska@suse.cz>
2905
2906 PR gcov-profile/89959
2907 * doc/gcov.texi: Make documentation of -x option
2908 more precise.
2909
2910 2019-04-10 Richard Biener <rguenther@suse.de>
2911
2912 * tree-vectorizer.h (_stmt_vec_info): Remove same_dr_stmt
2913 member.
2914 (DR_GROUP_SAME_DR_STMT): Remove.
2915 * tree-vect-stmts.c (vectorizable_load): Remove unreachable code.
2916 * tree-vect-data-refs.c (vect_analyze_group_access_1): Likewise,
2917 replace with assert.
2918 (vect_analyze_data_ref_accesses): Fix INTEGER_CST comparison.
2919 (vect_record_grouped_load_vectors): Remove unreachable code.
2920
2921 2019-04-10 Richard Earnshaw <rearnsha@arm.com>
2922
2923 PR target/90016
2924 * config/aarch64/aarch64.opt (msve-vector-bits): Remove redundant and
2925 obsolete reference to N.
2926
2927 2019-04-10 Jakub Jelinek <jakub@redhat.com>
2928
2929 PR middle-end/90025
2930 * expr.c (store_expr): Set properly size on the MEM passed to
2931 clear_storage.
2932
2933 PR c++/90010
2934 * gimple-ssa-sprintf.c (target_to_host): Fix handling of targstr
2935 with strlen in between hostsz-3 and hostsz-1 inclusive when no
2936 translation is needed, and when translation is needed, only append
2937 ... if the string length is hostsz or more bytes long. Avoid using
2938 strncpy or strcat.
2939
2940 2019-04-09 Matthew Malcomson <matthew.malcomson@arm.com>
2941
2942 PR target/90024
2943 * config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter.
2944 * config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint
2945 into three.
2946 * config/arm/neon.md (*neon_mov<mode>): Account for TImode and DImode
2947 differences directly.
2948 (*smax<mode>3_neon, vashl<mode>3, vashr<mode>3_imm): Use Dm constraint.
2949
2950 2019-04-09 Jakub Jelinek <jakub@redhat.com>
2951
2952 PR translation/90011
2953 * ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
2954 from diagnostics.
2955 * config/arm/freebsd.h (LINK_SPEC): Remove trailing space from -p
2956 diagnostics.
2957 * config/riscv/freebsd.h (LINK_SPEC): Likewise.
2958 * config/aarch64/aarch64-freebsd.h (FBSD_TARGET_LINK_SPEC): Likewise.
2959 * config/darwin.h (DRIVER_SELF_SPECS, ASM_FINAL_SPEC): Remove
2960 trailing space from -gsplit-dwarf diagnostics.
2961
2962 PR tree-optimization/89998
2963 * gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type
2964 instead of integer_type_node if possible, don't add ranges if return
2965 type is not compatible with int.
2966 * gimple-fold.c (gimple_fold_builtin_sprintf,
2967 gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded
2968 integer_type_node.
2969
2970 2019-04-09 Martin Liska <mliska@suse.cz>
2971
2972 * Makefile.in: Use GENERATOR_CFLAGS for all generators.
2973 * doc/install.texi: Document the new config.
2974
2975 2019-04-09 Richard Sandiford <richard.sandiford@arm.com>
2976
2977 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always
2978 use gimple_expr_type for load and store calls. Skip over the
2979 condition argument in a conditional internal function.
2980 Protect use of TREE_INT_CST_LOW.
2981
2982 2019-04-09 Jakub Jelinek <jakub@redhat.com>
2983
2984 PR target/90015
2985 * config/riscv/riscv.c (riscv_get_interrupt_type): Fix comment typo.
2986 (riscv_merge_decl_attributes): Fix typo in diagnostics. Remove
2987 trailing period from it too.
2988
2989 2019-04-08 wu yuan <wuyuan5@huawei.com>
2990
2991 * config/aarch64/aarch64-cores.def (tsv1100): Change scheduling model.
2992 * config/aarch64/aarch64.md : Add "tsv110.md"
2993 * config/aarch64/tsv110.md: New file.
2994
2995 2019-04-08 Richard Biener <rguenther@suse.de>
2996
2997 PR tree-optimization/90006
2998 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
2999 calls like lrint.
3000
3001 2019-04-08 Andrea Corallo <andrea.corallo@arm.com>
3002
3003 PR target/83033
3004 * config/aarch64/cortex-a57-fma-steering.c (fma_forest): Prohibit copy
3005 construction.
3006 (fma_root_node): Likewise.
3007 (func_fma_steering): Likewise.
3008
3009 2019-04-08 Jakub Jelinek <jakub@redhat.com>
3010
3011 PR rtl-optimization/89865
3012 * config/i386/i386.md: Add peepholes for z = x; x ^= y; x != z.
3013
3014 PR rtl-optimization/89865
3015 * config/i386/i386.md
3016 (SWI12 peephole for mem {+,-,&,|,^}= x; mem != 0): Fix up operand
3017 numbers not to clash with the additional operands[4].
3018 (peepholes for mem {+,-,&,|,^}= x; mem != 0): New peephole2s
3019 with extra register copy in the middle.
3020
3021 2019-04-08 Martin Liska <mliska@suse.cz>
3022
3023 PR gcov-profile/89961
3024 * doc/gcov.texi: Document data_file.
3025 * gcov.c (generate_results): Add data_info into JSON output.
3026
3027 2019-04-01 Bin Cheng <bin.cheng@linux.alibaba.com>
3028
3029 PR tree-optimization/89725
3030 * tree-chrec.c (chrec_contains_symbols): New parameter. Handle outer
3031 loop's chrec as invariant symbol.
3032 * tree-chrec.h (chrec_contains_symbols): New parameter.
3033 * tree-data-ref.c (analyze_miv_subscript): Pass new argument.
3034 (build_classic_dist_vector_1, add_other_self_distances): Bypass access
3035 function of loops not in DDR's loop_nest.
3036 * tree-data-ref.h (index_in_loop_nest): Add unreachable check.
3037
3038 2019-04-08 Chenghua Xu <paul.hua.gm@gmail.com>
3039
3040 PR target/89623
3041 * config/mips/mips.opt (LOONGSON_EXT2): Use Var instead of
3042 Mask.
3043
3044 2019-04-07 Uroš Bizjak <ubizjak@gmail.com>
3045
3046 PR target/89945
3047 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
3048 Avoid calling gen_lowpart with SYMBOL_REF and LABEL_REF operand.
3049
3050 2019-04-05 Joern Rennecke <joern.rennecke@embecosm.com>
3051
3052 * sched-deps.c (sched_macro_fuse_insns): Check return value of
3053 targetm.fixed_condition_code_regs.
3054
3055 2019-04-05 Richard Biener <rguenther@suse.de>
3056
3057 PR debug/89892
3058 PR debug/89905
3059 * tree-cfgcleanup.c (remove_forwarder_block): Always move
3060 debug bind stmts but reset them if they are not valid at the
3061 destination.
3062
3063 2019-04-05 Martin Liska <mliska@suse.cz>
3064
3065 PR translation/89936
3066 * collect-utils.c (collect_execute): Use %< and %>, or %qs in
3067 order to wrap keywords or arguments.
3068 * collect2.c (main): Likewise.
3069 (scan_prog_file): Likewise.
3070 (scan_libraries): Likewise.
3071 * common/config/riscv/riscv-common.c
3072 (riscv_subset_list::parsing_subset_version): Likewise.
3073 (riscv_subset_list::parse_std_ext): Likewise.
3074 * config/aarch64/aarch64.c (aarch64_override_options_internal):
3075 Likewise.
3076 * config/arm/arm.c (arm_option_override): Likewise.
3077 * config/cris/cris.c (cris_print_operand): Likewise.
3078 * config/darwin-c.c (darwin_pragma_options): Likewise.
3079 (darwin_pragma_unused): Likewise.
3080 (darwin_pragma_ms_struct): Likewise.
3081 * config/ft32/ft32.c (ft32_print_operand): Likewise.
3082 * config/i386/i386.c (print_reg): Likewise.
3083 (ix86_print_operand): Likewise.
3084 * config/i386/xm-djgpp.h: Likewise.
3085 * config/iq2000/iq2000.c (iq2000_print_operand): Likewise.
3086 * config/m32c/m32c.c (m32c_option_override): Likewise.
3087 * config/msp430/msp430.c (msp430_option_override): Likewise.
3088 * config/nds32/nds32.c (nds32_option_override): Likewise.
3089 * config/nvptx/mkoffload.c (main): Likewise.
3090 * config/rx/rx.c (rx_print_operand): Likewise.
3091 (valid_psw_flag): Likewise.
3092 * config/vms/vms-c.c (vms_pragma_member_alignment): Likewise.
3093 (vms_pragma_nomember_alignment): Likewise.
3094 (vms_pragma_extern_model): Likewise.
3095 * lto-wrapper.c (compile_offload_image): Likewise.
3096 * omp-offload.c (oacc_parse_default_dims): Likewise.
3097 * symtab.c (symtab_node::verify_base): Likewise.
3098 * tlink.c (recompile_files): Likewise.
3099 (start_tweaking): Likewise.
3100 * tree-profile.c (parse_profile_filter): Likewise.
3101
3102 2019-04-05 Richard Sandiford <richard.sandiford@arm.com>
3103
3104 PR tree-optimization/89956
3105 * tree-ssa-math-opts.c (convert_mult_to_fma): Protect against
3106 multiple negates of the same value.
3107
3108 2019-04-04 Martin Sebor <msebor@redhat.com>
3109
3110 PR middle-end/89957
3111 PR middle-end/89911
3112 * builtins.c (expand_builtin_strnlen): Make sure wi::ltu_p operands
3113 have the same precision since the function crashes otherwise.
3114 * calls.c (maybe_warn_nonstring_arg): Avoid assuming strnlen() call
3115 has non-zero arguments.
3116
3117 2019-04-04 Martin Sebor <msebor@redhat.com>
3118
3119 PR middle-end/89934
3120 * gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Bail
3121 out if the number of arguments is less than expected.
3122
3123 2019-04-04 Jeff Law <law@redhat.com>
3124
3125 PR rtl-optimization/89399
3126 * ree.c (combine_set_extension): Use single_set rather than
3127 digging into PATTERN for items on the candidate list.
3128 (combine_reaching_defs): Likewise.
3129
3130 2019-04-04 Richard Sandiford <richard.sandiford@arm.com>
3131
3132 PR rtl-optimization/46590
3133 * loop-invariant.c (find_defs): Move df_remove_problem and
3134 df_process_deferred_rescans to move_invariants.
3135 Move df_live_add_problem and df_live_set_all_dirty calls
3136 to move_invariants.
3137 (move_invariants): Likewise.
3138 (move_loop_invariants): Likewise, making the df_live calls
3139 conditional on -O. Remove the problem again if we added it
3140 locally.
3141
3142 2019-04-03 qing zhao <qing.zhao@oracle.com>
3143
3144 PR tree-optimization/89730
3145 * ipa-inline.c (can_inline_edge_p): Delete the checking for
3146 -flive-patching=inline-only-static.
3147 (can_inline_edge_by_limits_p): Add the checking for
3148 -flive-patching=inline-only-static and grant always_inline
3149 even when -flive-patching=inline-only-static is specified.
3150
3151 2019-04-03 Jeff Law <law@redhat.com>
3152
3153 PR rtl-optimization/81025
3154 * reorg.c (skip_consecutive_labels): Do not skip past a BARRIER.
3155
3156 2019-04-03 Richard Biener <rguenther@suse.de>
3157
3158 PR tree-optimization/84101
3159 * tree-vect-stmts.c: Include explow.h for hard_function_value,
3160 regs.h for hard_regno_nregs.
3161 (cfun_returns): New helper.
3162 (vect_model_store_cost): When vectorizing a store to a decl
3163 we return and the function ABI returns in a multi-reg location
3164 account for the possible spilling that will happen.
3165
3166 2019-04-03 Andreas Krebbel <krebbel@linux.ibm.com>
3167
3168 * config/s390/s390.c (s390_legitimate_address_p): Reject long
3169 displacement addresses for vector mode operands.
3170
3171 2019-04-03 Claudiu Zissulescu <claziss@synopsys.com>
3172
3173 * config/arc/arc.c (GMASK_LEN): Define.
3174 (arc_restore_callee_saves): Restore first blink when
3175 !optimize_size.
3176
3177 2019-04-03 Sudakshina Das <sudi.das@arm.com>
3178
3179 * doc/extend.texi: Add deprecated comment on sign-return-address
3180 function attribute and add mbranch-protection.
3181 * doc/invoke.texi: Add bti to the options for mbranch-protection.
3182
3183 2019-04-03 Richard Biener <rguenther@suse.de>
3184
3185 PR lto/89896
3186 * lto-wrapper.c (run_gcc): Avoid implicit rules making
3187 the all target phony.
3188
3189 2019-04-02 Uroš Bizjak <ubizjak@gmail.com>
3190
3191 PR target/89902
3192 PR target/89903
3193 * config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
3194 Return false for variable DImode shifts.
3195 (dimode_scalar_chain::compute_convert_gain): Do not handle
3196 register count operand in variable DImode shifts.
3197 (dimode_scalar_chain::make_vector_copies): Remove support to copy
3198 count argument of a variable shift instruction to a vector register.
3199 (dimode_scalar_chain::convert_reg): Remove support to convert
3200 count argument of a variable shift instruction.
3201
3202 2019-04-02 Andrey Belevantsev <abel@ispras.ru>
3203
3204 PR rtl-optimization/84206
3205 * sel-sched-ir.h (get_all_loop_exits): Avoid the outer loop when
3206 iterating over loop headers.
3207
3208 2019-04-02 Andrey Belevantsev <abel@ispras.ru>
3209
3210 PR rtl-optimization/85876
3211 * sel-sched.c (code_motion_path_driver): Avoid unwinding first_insn
3212 beyond the original fence.
3213
3214 2019-04-02 Ulrich Weigand <uweigand@de.ibm.com>
3215
3216 * config.gcc: Mark spu* targets as deprecated/obsolete.
3217
3218 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3219
3220 * config/s390/s390-builtin-types.def: New builtin function type
3221 definitions. Remove unused types.
3222 * config/s390/s390-builtins.def (s390_vcdgb, s390_vcdlgb)
3223 (s390_vcgdb, s390_vclgdb): Remove low-level builtin definitions.
3224 (s390_vec_float, s390_vec_signed, s390_vec_unsigned): New
3225 overloaded builtins.
3226 (s390_vcefb, s390_vcdgb, s390_vcelfb, s390_vcdlgb, s390_vcfeb)
3227 (s390_vcgdb, s390_vclfeb, s390_vclgdb): New low-level builtins.
3228 * config/s390/vecintrin.h (vec_float): New builtin macro definition.
3229 (vec_double, vec_signed, vec_unsigned): Define to use the new
3230 overloaded builtins.
3231 * config/s390/vx-builtins.md ("vec_double_s64", "vec_double_u64"):
3232 Remove expanders.
3233
3234 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3235
3236 * config/s390/s390-builtin-types.def: New builtin function type
3237 definitions.
3238 * config/s390/s390-builtins.def (s390_vec_search_string_cc)
3239 (s390_vec_search_string_until_zero_cc): New overloaded builtins.
3240 (s390_vstrsb, s390_vstrsh, s390_vstrsf, s390_vstrszb)
3241 (s390_vstrszh, s390_vstrszf): New low-level builtins.
3242 * config/s390/s390.md (UNSPEC_VEC_VSTRS, UNSPEC_VEC_VSTRSCC): New
3243 constant definitions.
3244 * config/s390/vecintrin.h (vec_search_string_cc)
3245 (vec_search_string_until_zero_cc): New builtin name definitions.
3246 * config/s390/vx-builtins.md ("vstrs<mode>", "vstrsz<mode>"): New
3247 expanders.
3248 ("vec_vstrs<mode>"): New insn definition.
3249
3250 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3251
3252 * config/s390/s390-builtin-types.def: Add new builtin function
3253 types.
3254 * config/s390/s390-builtins.def (s390_vec_sldb, s390_vec_srdb):
3255 New overloaded builtins.
3256 (s390_vec_sldb, s390_vec_srdb): New low-level builtins. and
3257 s390_vsrd.
3258 * config/s390/s390.md (UNSPEC_VEC_SLDB): Rename to ...
3259 (UNSPEC_VEC_SLDBYTE): ... this.
3260 (UNSPEC_VEC_SLDBIT, UNSPEC_VEC_SRDBIT): New constant definitions.
3261 * config/s390/vecintrin.h (vec_sldb, vec_srdb): New builtin name
3262 definitions.
3263 * config/s390/vx-builtins.md ("vec_sld<mode>", "vec_sldw<mode>"):
3264 Rename UNSPEC_VEC_SLDB to UNSPEC_VEC_SLDBYTE.
3265 ("vec_sldb<mode>", "vec_srdb<mode>"): New insn definitions.
3266
3267 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3268
3269 ("*vec_splats_bswap_vec<mode>", "*vec_splats_bswap_elem<mode>"):
3270 New insn definition.
3271 * config/s390/vx-builtins.md (V_HW_HSD): Move to ...
3272 * config/s390/vector.md (V_HW_HSD): ... here.
3273
3274 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3275
3276 * config/s390/vecintrin.h: Map vec_vster low-level builtins to vec_vler.
3277 * config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>")
3278 ("*vec_set_bswap_elem<mode>", "*vec_set_bswap_vec<mode>")
3279 ("*vec_extract_bswap_vec<mode>", "*vec_extract_bswap_elem<mode>"):
3280 New insn definitions.
3281
3282 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3283
3284 * config/s390/s390-builtin-types.def: Add new builtin function type.
3285 * config/s390/s390-builtins.def: Add overloaded builtin
3286 s390_vec_reve and low-level builtins for s390_vler and s390_vster.
3287 * config/s390/s390.md (UNSPEC_VEC_ELTSWAP): New constant definition.
3288 * config/s390/vecintrin.h (vec_reve): New builtin name definition.
3289 * config/s390/vx-builtins.md (V_HW_HSD): New mode iterator.
3290 ("eltswap<mode>"): New expander.
3291 ("*eltswapv16qi", "*eltswap<mode>", "*eltswap<mode>_emu"): New
3292 insn definitions.
3293
3294 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3295
3296 * config/s390/s390-builtin-types.def: Add new builtin function types.
3297 * config/s390/s390-builtins.def: Add overloaded builtin
3298 s390_vec_revb. Add low-level builtins for vlbr and vstbr
3299 instructions.
3300 * config/s390/vecintrin.h (vec_revb): New builtin name definition.
3301 * config/s390/vector.md (VT_HW_HSDT): New mode iterator.
3302 ("bswap<mode>"): New expander.
3303 ("*bswap<mode>", "*bswap<mode>_emu"): New insn definitions.
3304
3305 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3306
3307 * config/s390/s390-builtins.def (B_VXE2): New builtin flag definition.
3308 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Increment
3309 vector builtin version number in __VEC__.
3310
3311 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3312
3313 * config/s390/s390.md (VX_CONV_BFP, VX_CONV_INT): New mode
3314 iterators.
3315 (SFSI): New mode attribute.
3316 ("*fixuns_truncdfdi2_vx", "*fix_truncdfdi2_bfp_z13")
3317 ("*floatunsdidf2_z13", ): Add support for 32 bit conversions and
3318 rename to ...
3319 ("*fixuns_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_z13")
3320 ("*fix_trunc<VX_CONV_BFP:mode><VX_CONV_INT:mode>2_bfp_z13")
3321 ("*floatuns<VX_CONV_INT:mode><VX_CONV_BFP:mode>2_z13"): ... these.
3322 ("floatsi<mode>2"): Add wcefb instruction.
3323
3324 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3325
3326 * config/s390/s390.md ("xde"): Extend mode attribute to vector types.
3327 * config/s390/vector.md (VX_VEC_CONV_BFP, VX_VEC_CONV_INT): New
3328 mode iterators.
3329 ("floatv2div2df2", "floatunsv2div2df2", "fix_truncv2dfv2di2")
3330 ("fixuns_truncv2dfv2di2"): Enhance with mode iterator to also
3331 support 32 bit fp-int conversions. Rename to ...
3332 ("float<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2")
3333 ("floatuns<VX_VEC_CONV_INT:mode><VX_VEC_CONV_BFP:mode>2")
3334 ("fix_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2")
3335 ("fixuns_trunc<VX_VEC_CONV_BFP:mode><VX_VEC_CONV_INT:mode>2"):
3336 ... to these.
3337
3338 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3339
3340 * config/s390/s390.c (s390_rtx_costs): Do not add extra costs for
3341 if-then-else constructs if we can use the select instruction.
3342 * config/s390/s390.md ("*mov<mode>cc"): Add the new instructions.
3343
3344 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3345
3346 * config/s390/s390.md ("*popcountdi_arch13_cc")
3347 ("*popcountdi_arch13_cconly", "*popcountdi_arch13"): New insn
3348 definition.
3349 ("*popcount<mode>", "popcountdi2", "popcountsi2", "popcounthi2"):
3350 Append _z196 to make it ...
3351 ("*popcount<mode>_z196", "popcountdi2_z196", "popcountsi2_z196")
3352 ("popcounthi2_z196"): ... this.
3353 ("popcountdi2_z196"): Remove TARGET_64BIT from the insn condition.
3354 ("popcountdi2", "popcountsi2", "popcounthi2"): New expanders.
3355
3356 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3357
3358 * config/s390/s390.c (s390_canonicalize_comparison): Convert
3359 certain compares for arch13 in order to make use of the condition
3360 code result produced by the new instructions.
3361 (s390_rtx_costs): Adjust the costs for nnrk, nngrk, nork, nogrk,
3362 nxrk, and nxgrk instruction patterns.
3363 * config/s390/s390.md (ANDOR, bitops_name, inv_bitops_name)
3364 (inv_no): Add new code iterator together with some attributes.
3365 ("*andc_split_<mode>"): Disable splitter for arch13.
3366 ("*<ANDOR:bitops_name>c<GPR:mode>_cc")
3367 ("*<ANDOR:bitops_name>c<GPR:mode>_cconly")
3368 ("*<ANDOR:bitops_name>c<GPR:mode>")
3369 ("*n<ANDOR:inv_bitops_name><GPR:mode>_cc")
3370 ("*n<ANDOR:inv_bitops_name><mode>_cconly")
3371 ("*n<ANDOR:inv_bitops_name><mode>", "*nxor<GPR:mode>_cc")
3372 ("*nxor<mode>_cconly", "*nxor<mode>"): New insn definitions.
3373
3374 2019-04-02 Andreas Krebbel <krebbel@linux.ibm.com>
3375
3376 * common/config/s390/s390-common.c (processor_flags_table): New
3377 entry for arch13.
3378 * config.gcc: Support arch13 with the --with-arch= configure flag.
3379 * config/s390/driver-native.c (s390_host_detect_local_cpu):
3380 * config/s390/s390-opts.h (enum processor_type): Add PROCESSOR_ARCH13.
3381 * config/s390/s390.c (s390_get_sched_attrmask)
3382 (s390_get_unit_mask): Add PROCESSOR_ARCH13.
3383 * config/s390/s390.h (enum processor_flags): Add PF_VXE2 and PF_ARCH13.
3384 * config/s390/s390.md (TARGET_CPU_ARCH13, TARGET_CPU_ARCH13_P)
3385 (TARGET_CPU_VXE2, TARGET_CPU_VXE2_P, TARGET_ARCH13)
3386 (TARGET_ARCH13_P, TARGET_VXE2, TARGET_VXE2_P): New macro
3387 definitions.
3388 * config/s390/s390.opt: Support arch13 as processor type in
3389 command line options.
3390
3391 2019-04-02 Martin Liska <mliska@suse.cz>
3392
3393 PR translation/89912
3394 * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP):
3395 Fix param description of graphite-max-arrays-per-scop.
3396
3397 2019-04-02 Eric Botcazou <ebotcazou@adacore.com>
3398
3399 * config/sparc/linux64.h (ASAN_REJECT_SPEC): New macro.
3400 (ASAN_CC1_SPEC): Use it in 64-bit mode.
3401 * config/sparc/sol2.h (ASAN_REJECT_SPEC): Remove superfluous colon.
3402
3403 2019-04-01 Andrey Belevantsev <abel@ispras.ru>
3404
3405 PR rtl-optimization/85412
3406 * sel-sched.c (sel_sched_region): Assign reset_sched_cycles_p before
3407 sel_sched_region_1, not after.
3408
3409 2019-04-01 Andrey Belevantsev <abel@ispras.ru>
3410
3411 PR rtl-optimization/86928
3412 * sel-sched-ir.c (sel_redirect_edge_and_branch_force): Invoke
3413 compute_live if necessary.
3414 (sel_redirect_edge_and_branch): Likewise.
3415
3416 2019-04-01 Vladimir Makarov <vmakarov@redhat.com>
3417
3418 PR rtl-optimization/89865
3419 * ira-costs.c (process_bb_node_for_hard_reg_moves): Skip hard
3420 register if it is a part of small class.
3421
3422 2019-04-01 Andrey Belevantsev <abel@ispras.ru>
3423
3424 PR rtl-optimization/87273
3425 * sel-sched-ir.c (merge_fences): Remove assert.
3426
3427 2019-04-01 Richard Biener <rguenther@suse.de>
3428
3429 PR tree-optimization/46590
3430 * domwalk.h (dom_walker::dom_walker): Consolidate constructors.
3431 (dom_walker::m_reachability): Add in place of...
3432 (dom_walker::m_skip_unreachable_blocks): ...this.
3433 * domwalk.c (dom_walker::dom_walker): Consoliate constructors.
3434 Move complex initialization ...
3435 (dom_walker::walk): Here. Especially compute m_bb_to_rpo
3436 lazily and initialize edge flags on each invocation.
3437 (dom_walker::bb_reachable): Use m_reachability.
3438
3439 2019-04-01 Martin Liska <mliska@suse.cz>
3440
3441 PR driver/89861
3442 * opt-suggestions.c (option_proposer::build_option_suggestions):
3443 Add variant without any argument in order to provide better
3444 hints.
3445
3446 2019-04-01 Richard Biener <rguenther@suse.de>
3447
3448 PR c/71598
3449 * gimple.c: Include langhooks.h.
3450 (gimple_get_alias_set): Treat enumeral types as the underlying
3451 integer type.
3452
3453 2019-03-29 Kugan Vivekanandarajah <kuganv@linaro.org>
3454 Eric Botcazou <ebotcazou@adacore.com>
3455
3456 PR rtl-optimization/89862
3457 * rtl.h (word_register_operation_p): Exclude CONST_INT from operations
3458 that operates on the full registers for WORD_REGISTER_OPERATIONS
3459 architectures.
3460
3461 2019-03-29 Jim Wilson <jimw@sifive.com>
3462
3463 * common/config/riscv/riscv-common.c (riscv_parse_arch_string):
3464 Clear MASK_RVC and then set if C subset supported.
3465
3466 2019-03-29 Jakub Jelinek <jakub@redhat.com>
3467
3468 PR c/89872
3469 * gimplify.c (gimplify_compound_literal_expr): Don't optimize a
3470 non-addressable complit into its initializer if it is volatile.
3471
3472 2019-03-29 Roman Zhuykov <zhroma@ispras.ru>
3473
3474 * opts-common.c (integral_argument): Set errno properly in one case.
3475
3476 2019-03-29 Martin Liska <mliska@suse.cz>
3477
3478 * doc/invoke.texi: Remove -Wchkp from documentation.
3479
3480 2019-03-29 Martin Liska <mliska@suse.cz>
3481
3482 * dbgcnt.c (print_limit_reach): New function.
3483 (dbg_cnt): Use it.
3484
3485 2019-03-29 Martin Liska <mliska@suse.cz>
3486
3487 * dbgcnt.c (dbg_cnt_process_single_pair): Fix GNU coding style.
3488 (dbg_cnt_process_opt): Parse first tokens aas
3489 dbg_cnt_process_single_pair is also using strtok.
3490
3491 2019-03-29 Jakub Jelinek <jakub@redhat.com>
3492
3493 PR rtl-optimization/87485
3494 * function.c (expand_function_end): Move stack_protect_epilogue
3495 before loading of return value into hard register(s).
3496
3497 2019-03-28 Jakub Jelinek <jakub@redhat.com>
3498
3499 PR middle-end/89621
3500 * tree-inline.h (struct copy_body_data): Add
3501 dont_remap_vla_if_no_change flag.
3502 * tree-inline.c (remap_type_3, remap_type_2): New functions.
3503 (remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change
3504 and remap_type_2 returns false.
3505 * omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change.
3506 Move ctx->cb.adjust_array_error_bounds setting to the outermost ctx
3507 only from where it is copied to nested contexts.
3508
3509 2019-03-28 Uroš Bizjak <ubizjak@gmail.com>
3510
3511 PR target/89865
3512 * config/i386/i386.md (RMW operation with LEA peephole):
3513 Use LEAMODE mode attribute instead of SWI mode iterator for
3514 LEA pattern.
3515
3516 2019-03-28 Uroš Bizjak <ubizjak@gmail.com>
3517
3518 PR target/89848
3519 * config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
3520 Also process XEXP (src, 0) of a shift insn.
3521
3522 2019-03-28 David Malcolm <dmalcolm@redhat.com>
3523
3524 PR middle-end/89725
3525 * optinfo-emit-json.cc (optrecord_json_writer::optinfo_to_json):
3526 Use DECL_ASSEMBLER_NAME rather than get_fnname_from_decl.
3527
3528 2019-03-28 Jakub Jelinek <jakub@redhat.com>
3529
3530 * regcprop.c (copyprop_hardreg_forward_1): Remove redundant INSN_P
3531 test.
3532 (cprop_hardreg_bb, cprop_hardreg_debug): New functions.
3533 (pass_cprop_hardreg::execute): Use those. Don't repeat bb processing
3534 immediately after first one with df_analyze in between, but rather
3535 process all bbs, queueing ones that need second pass in a worklist,
3536 df_analyze, process queued debug insn changes and if second pass is
3537 needed, process bbs from worklist, df_analyze, process queued debug
3538 insns again.
3539
3540 * rtl.h (NONDEBUG_INSN_P): Define as NONJUMP_INSN_P or JUMP_P
3541 or CALL_P instead of INSN_P && !DEBUG_INSN_P.
3542 (INSN_P): Define using NONDEBUG_INSN_P or DEBUG_INSN_P.
3543
3544 2019-03-28 Jonathan Wakely <jwakely@redhat.com>
3545
3546 PR c/79022
3547 * gengtype.h (create_nested_ptr_option): Fix parameter names to match
3548 definition.
3549
3550 2019-03-27 Mateusz B <mateuszb@poczta.onet.pl>
3551
3552 PR target/85667
3553 * config/i386/i386.c (ix86_function_value_1): Call the newly added
3554 function for 32-bit MS_ABI.
3555 (function_value_ms_32): New function.
3556
3557 2019-03-27 Andrew Stubbs <ams@codesourcery.com>
3558
3559 * config/gcn/gcn.md (CC_SAVE_REG): New constant.
3560 (movdi): Call gen_movdi_symbol_save_scc.
3561 (gen_movdi_symbol_save_scc): New insn and split.
3562
3563 2019-03-27 Peter Bergner <bergner@linux.ibm.com>
3564
3565 PR rtl-optimization/89313
3566 * function.c (matching_constraint_num): New static function.
3567 (match_asm_constraints_1): Use it. Fixup white space and comment.
3568 Don't replace inputs with non-matching constraints which conflict
3569 with early clobber outputs.
3570
3571 2019-03-27 Jeff Law <law@redhat.com>
3572
3573
3574 PR rtl-optimization/87761
3575 PR rtl-optimization/89826
3576 * regcprop.c (copyprop_hardreg_forward_1): Move may_trap_p test
3577 slightly later.
3578 (pass_cprop_hardreg::execute): Call df_analyze after adding the
3579 note problem to get REG_DEAD/REG_UNUSED notes updated.
3580
3581 2019-03-27 Richard Biener <rguenther@suse.de>
3582
3583 PR tree-optimization/89463
3584 * tree-ssa-dce.c (remove_dead_stmt): Take output vector to
3585 queue edges to remove.
3586 (eliminate_unnecessary_stmts): Remove dead PHIs alongside
3587 dead stmts. Delay edge removal until PHIs are removed to
3588 make debug-stmt creation not confused by seemingly degenerate
3589 PHIs.
3590
3591 2019-03-27 Alan Modra <amodra@gmail.com>
3592
3593 * config/rs6000/rs6000.h: Rename NON_SPECIAL_REGS to GEN_OR_FLOAT_REGS
3594 throughout file.
3595 * config/rs6000/darwin.h: Likewise.
3596 * config/rs6000/rs6000.c: Likewise.
3597
3598 2019-03-27 Alan Modra <amodra@gmail.com>
3599
3600 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Always
3601 assign rs6000_hard_regno_mode_ok_p[m][r]. Formatting.
3602
3603 2019-03-26 Andrew Waterman <andrew@sifive.com>
3604 Jim Wilson <jimw@sifive.com>
3605
3606 * config/riscv/generic.md (generic_alu, generic_load, generic_store)
3607 (generic_xfer, generic_branch, generic_imul, generic_idivsi)
3608 (generic_idivdi, generic_fmul_single, generic_fmul_double)
3609 (generic_fdiv, generic_fsqrt): Add check for generic tune.
3610 (generic_alu): Add auipc to type list.
3611 * config/riscv/riscv-opts.h (enum riscv_microarchitecture_type): New.
3612 (riscv_microarchitecture): Declare.
3613 * config/riscv/riscv-protos.h (riscv_store_data_bypass_p): Declare.
3614 * config/riscv/riscv.c (struct riscv_cpu_info): Add microarchitecture
3615 field.
3616 (riscv_microarchitecture): New.
3617 (sifive_7_tune_info): New.
3618 (riscv_cpu_info_table): Add microarchitecture value for rocket and
3619 size. Add sifive-3-series, sifive-5-series, and sifive-7-series
3620 entries.
3621 (riscv_store_data_bypass_p): New.
3622 (riscv_option_override): Set riscv_microarchitecture from
3623 cpu->microarchitecture.
3624 * config/riscv/riscv.md: Include sifive-7.md.
3625 (type): Add auipc.
3626 (tune): New.
3627 (auipc<mode>): Change type to auipc.
3628 (restore_stack_nonlocal): New.
3629 * config/riscv/sifive-7.md: New.
3630 * doc/invoke.texi (RISC-V Options): Update mtune docs.
3631
3632 2019-03-26 Uroš Bizjak <ubizjak@gmail.com>
3633
3634 PR target/89827
3635 * config/i386/i386.c (dimode_scalar_chain::convert_reg):
3636 Also process XEXP (src, 0) of a shift insn.
3637
3638 2019-03-26 Richard Biener <rguenther@suse.de>
3639
3640 * tree-inline.c (remap_gimple_stmt): Cache gimple_block.
3641 (copy_debug_stmt): Likewise.
3642 (expand_call_inline): Likewise.
3643 (copy_bb): Avoid redundant lookup & set of gimple_block.
3644 * gimple-low.c (lower_gimple_return): Likewise.
3645 (lower_builtin_setjmp): Likewise.
3646
3647 2019-03-26 Jakub Jelinek <jakub@redhat.com>
3648
3649 * hash-table.h (hash_table::m_gather_mem_stats): If GATHER_STATISTICS
3650 is constant 0, turn into static const data member initialized to false.
3651 (hash_table::hash_table): Only initialize m_gather_mem_stats #if
3652 GATHER_STATISTICS. Add ATTRIBUTE_UNUSED to gather_mem_stats param.
3653
3654 2019-03-26 Jason Merrill <jason@redhat.com>
3655 Jakub Jelinek <jakub@redhat.com>
3656
3657 * mem-stats.h (mem_alloc_description::unregister_descriptor): New
3658 method.
3659 (mem_alloc_description::release_object_overhead): Fix comment typos.
3660 * hash-table.h (hash_table::~hash_table): Call
3661 release_instance_overhead only if m_entries is non-NULL, otherwise
3662 call unregister_descriptor.
3663
3664 2019-03-26 Bin Cheng <bin.cheng@linux.alibaba.com>
3665
3666 PR tree-optimization/81740
3667 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
3668 In case of outer loop vectorization, check for backward dependence
3669 at the inner loop if outer loop dependence is reversed.
3670
3671 2019-03-26 Alan Modra <amodra@gmail.com>
3672
3673 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Correct
3674 rs6000_vector_mem init. Correct wI and wJ comment.
3675
3676 2019-03-25 Alexander Monakov <amonakov@ispras.ru>
3677
3678 PR rtl-optimization/88347
3679 PR rtl-optimization/88423
3680 * sched-deps.c (sched_analyze_insn): Take into account that for
3681 tablejumps the barrier appears after a label and a jump_table_data.
3682
3683 2019-03-25 Martin Sebor <msebor@redhat.com>
3684
3685 PR c/89812
3686 * c-common.c (check_user_alignment): Rename local. Correct maximum
3687 alignment in diagnostic. Avoid assuming argument fits in SHWI,
3688 convert it to UHWI when it fits.
3689
3690 2019-03-25 Johan Karlsson <johan.karlsson@enea.com>
3691
3692 PR debug/86964
3693 * dwarf2out.c (premark_used_variables): New function.
3694 (prune_unused_types_walk): Do not mark not premarked external
3695 variables.
3696 (prune_unused_types): Call premark_used_variables.
3697
3698 2019-03-25 Vladimir Makarov <vmakarov@redhat.com>
3699
3700 PR rtl-optimization/89676
3701 * lra-constraints.c (curr_insn_transform): Do match reload for
3702 early clobbers when the match was successful only for different
3703 registers.
3704
3705 2019-03-25 Martin Sebor <msebor@redhat.com>
3706
3707 * doc/extend.texi (Common Type Attributes): Document vector_size.
3708 (Common Variable Attributes): Mention size constraint. Correct
3709 quoting and typos.
3710 (Vector Extensions): Use @dfn when defining bas type. Clarify
3711 base type and size constraints.
3712
3713 2019-03-25 Richard Biener <rguenther@suse.de>
3714
3715 PR tree-optimization/89789
3716 * tree-ssa-sccvn.c (set_ssa_val_to): Do not allow lattice
3717 changes from non-undefined back to undefined.
3718
3719 2019-03-25 Thomas Otto <thomas.otto@pdv-fs.de>
3720
3721 * dwarf2out.c (comp_dir_string): cached_wd could be set to both a
3722 heap string and a gc string, but since this variable is unknown to
3723 ggc the gc string might get reused and corrupted. Fixed by always
3724 using a heap string.
3725
3726 2019-03-25 Richard Biener <rguenther@suse.de>
3727
3728 PR tree-optimization/89779
3729 * tree-ssa-loop-ivopts.c (remove_unused_ivs): Return
3730 to remove IV defs, delay actual removal.
3731 (tree_ssa_iv_optimize_loop): Likewise. Avoid SCEV reset.
3732 (tree_ssa_iv_optimize): Remove eliminated IV defs at the
3733 very end, properly also reset loop control IV information.
3734
3735 2019-03-25 Richard Biener <rguenther@suse.de>
3736
3737 PR tree-optimization/89802
3738 * tree-ssa-math-opts.c (convert_mult_to_fma_1): Properly
3739 move EH data to folded stmt.
3740
3741 2019-03-25 Andreas Krebbel <krebbel@linux.ibm.com>
3742
3743 * config/s390/s390-builtin-types.def: Remove few unused types and
3744 fix sort order for others.
3745
3746 2019-03-25 Andreas Krebbel <krebbel@linux.ibm.com>
3747
3748 * config/s390/s390-c.c (s390_fn_types_compatible): Print the
3749 expected and found types with -mdebug during builtin matching.
3750
3751 2019-03-25 Richard Biener <rguenther@suse.de>
3752
3753 PR middle-end/89790
3754 * fold-const.c (operand_equal_p): Revert last change with
3755 updated comment.
3756
3757 2019-03-24 Segher Boessenkool <segher@kernel.crashing.org>
3758
3759 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add REG_EQUAL
3760 notes for the result of the __tls_get_addr calls.
3761 * config/rs6000/rs6000.md (unspec UNSPEC_TLS_GET_ADDR): New.
3762
3763 2019-03-24 Jeff Law <law@redhat.com>
3764
3765 * config/bfin/bfin.md (movpdi): Fix length for alternative 1.
3766
3767 PR rtl-optimization/87761
3768 * regcprop.c (copyprop_hardreg_forward_1): Check may_trap_p on SET,
3769 not INSN. Also check RTX_FRAME_RELATED_P. Queue insns for DF rescan
3770 as needed.
3771 (pass_cprop_hardreg::execute): Add df note problem and defer insn
3772 rescans. Reprocess blocks as needed, calling df_analyze before
3773 reprocessing. Always call df_analyze before fixing up debug bind
3774 insns.
3775
3776 2019-03-23 Segher Boessenkool <segher@kernel.crashing.org>
3777
3778 * config/rs6000/xmmintrin.h (_mm_movemask_pi8): Implement for 32-bit
3779 big endian.
3780
3781 2019-03-22 Andrew Pinski <apinski@marvell.com>
3782
3783 * config/aarch64/aarch64.md (zero_extendsidi2_aarch64): Fix type
3784 attrribute for uxtw.
3785
3786 2019-03-26 Jeff Law <law@redhat.com>
3787
3788 PR rtl-optimization/87761
3789 * config/mips/mips-protos.h (mips_split_move): Add new argument.
3790 (mips_emit_move_or_split): Pass NULL for INSN into mips_split_move.
3791 (mips_split_move): Accept new INSN argument. Try to forward SRC
3792 into the next instruction.
3793 (mips_split_move_insn): Pass INSN through to mips_split_move.
3794
3795 2019-03-22 Vladimir Makarov <vmakarov@redhat.com>
3796
3797 PR rtl-optimization/89676
3798 * lra-constraints.c (curr_insn_transform): Do match reload for
3799 early clobbers even if the match was successful.
3800
3801 2019-03-22 Jakub Jelinek <jakub@redhat.com>
3802
3803 PR c++/87481
3804 * doc/invoke.texi (-fconstexpr-ops-limit=): Document.
3805
3806 2019-03-22 Bill Schmidt <wschmidt@linux.ibm.com>
3807
3808 * config/rs6000/mmintrin.h (_mm_sub_pi32): Fix typo.
3809
3810 2019-03-22 Jakub Jelinek <jakub@redhat.com>
3811
3812 * config/i386/sse.md (<avx512>_fmadd_<mode>_mask3<round_name>,
3813 <avx512>_fmsub_<mode>_mask3<round_name>,
3814 <avx512>_fnmadd_<mode>_mask3<round_name>,
3815 <avx512>_fnmsub_<mode>_mask3<round_name>,
3816 avx512f_vmfmadd_<mode>_mask3<round_name>,
3817 avx512f_vmfmsub_<mode>_mask3<round_name>,
3818 *avx512f_vmfnmadd_<mode>_mask3<round_name>): Use <round_nimm_predicate>
3819 instead of register_operand and %v instead of v for match_operand 1.
3820 (avx512f_vmfnmsub_<mode>_mask3<round_name>): Rename to ...
3821 (*avx512f_vmfnmsub_<mode>_mask3<round_name>): ... this. Use
3822 <round_nimm_predicate> instead of register_operand and %v instead of v
3823 for match_operand 1.
3824
3825 * config/i386/sse.md (<avx512>_fmadd_<mode>_mask<round_name>,
3826 <avx512>_fmadd_<mode>_mask3<round_name>,
3827 <avx512>_fmsub_<mode>_mask<round_name>,
3828 <avx512>_fmsub_<mode>_mask3<round_name>,
3829 <avx512>_fnmadd_<mode>_mask<round_name>,
3830 <avx512>_fnmadd_<mode>_mask3<round_name>,
3831 <avx512>_fnmsub_<mode>_mask<round_name>,
3832 <avx512>_fnmsub_<mode>_mask3<round_name>,
3833 <avx512>_fmaddsub_<mode>_mask<round_name>,
3834 <avx512>_fmaddsub_<mode>_mask3<round_name>,
3835 <avx512>_fmsubadd_<mode>_mask<round_name>,
3836 <avx512>_fmsubadd_<mode>_mask3<round_name>): Use
3837 <round_nimm_predicate> instead of nonimmediate_operand.
3838 (fmai_vmfmadd_<mode><round_name>, fmai_vmfmsub_<mode><round_name>,
3839 fmai_vmfnmadd_<mode><round_name>, fmai_vmfnmsub_<mode><round_name>):
3840 Use register_operand instead of <round_nimm_predicate> for the
3841 operand that needs to match output.
3842 (*fmai_fmadd_<mode>, *fmai_fmsub_<mode>,
3843 *fmai_fnmadd_<mode><round_name>, *fmai_fnmsub_<mode><round_name>):
3844 Likewise. Formatting fixes.
3845
3846 PR target/89784
3847 * config/i386/i386.c (enum ix86_builtins): Remove
3848 IX86_BUILTIN_VFMSUBSD3_MASK3 and IX86_BUILTIN_VFMSUBSS3_MASK3.
3849 * config/i386/i386-builtin.def (__builtin_ia32_vfmaddsd3_mask,
3850 __builtin_ia32_vfmaddsd3_mask3, __builtin_ia32_vfmaddsd3_maskz,
3851 __builtin_ia32_vfmsubsd3_mask3, __builtin_ia32_vfmaddss3_mask,
3852 __builtin_ia32_vfmaddss3_mask3, __builtin_ia32_vfmaddss3_maskz,
3853 __builtin_ia32_vfmsubss3_mask3): New builtins.
3854 * config/i386/sse.md (avx512f_vmfmadd_<mode>_mask<round_name>,
3855 avx512f_vmfmadd_<mode>_mask3<round_name>,
3856 avx512f_vmfmadd_<mode>_maskz_1<round_name>,
3857 *avx512f_vmfmsub_<mode>_mask<round_name>,
3858 avx512f_vmfmsub_<mode>_mask3<round_name>,
3859 *avx512f_vmfmasub_<mode>_maskz_1<round_name>,
3860 *avx512f_vmfnmadd_<mode>_mask<round_name>,
3861 *avx512f_vmfnmadd_<mode>_mask3<round_name>,
3862 *avx512f_vmfnmadd_<mode>_maskz_1<round_name>,
3863 *avx512f_vmfnmsub_<mode>_mask<round_name>,
3864 avx512f_vmfnmsub_<mode>_mask3<round_name>,
3865 *avx512f_vmfnmsub_<mode>_maskz_1<round_name>): New define_insns.
3866 (avx512f_vmfmadd_<mode>_maskz<round_expand_name>): New define_expand.
3867 * config/i386/avx512fintrin.h (_mm_mask_fmadd_sd, _mm_mask_fmadd_ss,
3868 _mm_mask3_fmadd_sd, _mm_mask3_fmadd_ss, _mm_maskz_fmadd_sd,
3869 _mm_maskz_fmadd_ss, _mm_mask_fmsub_sd, _mm_mask_fmsub_ss,
3870 _mm_mask3_fmsub_sd, _mm_mask3_fmsub_ss, _mm_maskz_fmsub_sd,
3871 _mm_maskz_fmsub_ss, _mm_mask_fnmadd_sd, _mm_mask_fnmadd_ss,
3872 _mm_mask3_fnmadd_sd, _mm_mask3_fnmadd_ss, _mm_maskz_fnmadd_sd,
3873 _mm_maskz_fnmadd_ss, _mm_mask_fnmsub_sd, _mm_mask_fnmsub_ss,
3874 _mm_mask3_fnmsub_sd, _mm_mask3_fnmsub_ss, _mm_maskz_fnmsub_sd,
3875 _mm_maskz_fnmsub_ss, _mm_mask_fmadd_round_sd, _mm_mask_fmadd_round_ss,
3876 _mm_mask3_fmadd_round_sd, _mm_mask3_fmadd_round_ss,
3877 _mm_maskz_fmadd_round_sd, _mm_maskz_fmadd_round_ss,
3878 _mm_mask_fmsub_round_sd, _mm_mask_fmsub_round_ss,
3879 _mm_mask3_fmsub_round_sd, _mm_mask3_fmsub_round_ss,
3880 _mm_maskz_fmsub_round_sd, _mm_maskz_fmsub_round_ss,
3881 _mm_mask_fnmadd_round_sd, _mm_mask_fnmadd_round_ss,
3882 _mm_mask3_fnmadd_round_sd, _mm_mask3_fnmadd_round_ss,
3883 _mm_maskz_fnmadd_round_sd, _mm_maskz_fnmadd_round_ss,
3884 _mm_mask_fnmsub_round_sd, _mm_mask_fnmsub_round_ss,
3885 _mm_mask3_fnmsub_round_sd, _mm_mask3_fnmsub_round_ss,
3886 _mm_maskz_fnmsub_round_sd, _mm_maskz_fnmsub_round_ss): New intrinsics.
3887
3888 2019-03-21 Martin Sebor <msebor@redhat.com>
3889
3890 PR tree-optimization/89350
3891 * builtins.c (compute_objsize): Also ignore offsets whose upper
3892 bound is negative.
3893 * gimple-ssa-warn-restrict.c (builtin_memref): Add new member.
3894 (builtin_memref::builtin_memref): Initialize new member.
3895 Allow EXPR to be null.
3896 (builtin_memref::extend_offset_range): Replace local with a member.
3897 Avoid assuming pointer offsets are unsigned.
3898 (builtin_memref::set_base_and_offset): Determine base object
3899 before computing offset range.
3900 (builtin_access::builtin_access): Handle memset.
3901 (builtin_access::generic_overlap): Replace local with a member.
3902 (builtin_access::strcat_overlap): Same.
3903 (builtin_access::overlap): Same.
3904 (maybe_diag_overlap): Same.
3905 (maybe_diag_access_bounds): Same.
3906 (wrestrict_dom_walker::check_call): Handle memset.
3907 (check_bounds_or_overlap): Same.
3908
3909 2019-03-21 Jan Hubicka <hubicka@ucw.cz>
3910 Jakub Jelinek <jakub@redhat.com>
3911
3912 PR lto/89692
3913 * tree.c (fld_type_variant, fld_incomplete_type_of,
3914 fld_process_array_type): Call fld->pset.add and don't call
3915 add_tree_to_fld_list if it returns true.
3916 (free_lang_data_in_type): Similarly with self-recursive call. Purge
3917 non-marked types from TYPE_NEXT_VARIANT list.
3918 (find_decls_types_r): Call fld_worklist_push for TYPE_CANONICAL (t).
3919
3920 2019-03-21 Jakub Jelinek <jakub@redhat.com>
3921
3922 * hash-table.h (hash_table): Add Lazy template parameter defaulted
3923 to false, if true, don't alloc_entries during construction, but defer
3924 it to the first method that needs m_entries allocated.
3925 (hash_table::hash_table, hash_table::~hash_table,
3926 hash_table::alloc_entries, hash_table::find_empty_slot_for_expand,
3927 hash_table::too_empty_p, hash_table::expand, hash_table::empty_slow,
3928 hash_table::clear_slot, hash_table::traverse_noresize,
3929 hash_table::traverse, hash_table::iterator::slide): Adjust all methods.
3930 * hash-set.h (hash_set): Add Lazy template parameter defaulted to
3931 false.
3932 (hash_set::contains): If Lazy is true, use find_slot_with_hash with
3933 NO_INSERT instead of find_with_hash.
3934 (hash_set::traverse, hash_set::iterator, hash_set::iterator::m_iter,
3935 hash_set::m_table): Add Lazy to template params of hash_table.
3936 (gt_ggc_mx, gt_pch_nx): Use false as Lazy in hash_set template param.
3937 * attribs.c (test_attribute_exclusions): Likewise.
3938 * hash-set-tests.c (test_set_of_strings): Add iterator tests for
3939 hash_set. Add tests for hash_set with Lazy = true.
3940
3941 2019-03-21 Richard Biener <rguenther@suse.de>
3942
3943 PR tree-optimization/89779
3944 * tree.c (tree_nop_conversion): Consolidate and fix defensive
3945 checks with respect to released SSA names now having error_mark_node
3946 type.
3947 * fold-const.c (operand_equal_p): Likewise.
3948
3949 2019-03-20 Andreas Krebbel <krebbel@linux.ibm.com>
3950
3951 PR target/89775
3952 * config/s390/s390.c (global_not_special_regno_p): Move to make it
3953 available to ...
3954 (s390_optimize_register_info): Use global_not_special_regno_p to
3955 check for global regs.
3956
3957 2019-03-20 Jakub Jelinek <jakub@redhat.com>
3958
3959 PR target/89752
3960 * lra-constraints.c (process_alt_operands) <reg>: For BLKmode, don't
3961 update this_alternative nor this_alternative_set.
3962
3963 2019-03-19 Jim Wilson <jimw@sifive.com>
3964
3965 PR target/89411
3966 * config/riscv/riscv.c (riscv_valid_lo_sum_p): New arg x. New locals
3967 align, size, offset. Use them to handle a BLKmode reference. Update
3968 comment.
3969 (riscv_classify_address): Pass info->offset to riscv_valid_lo_sum_p.
3970
3971 2019-03-19 Jakub Jelinek <jakub@redhat.com>
3972
3973 PR rtl-optimization/89768
3974 * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode
3975 instead of GEN_INT.
3976 (unroll_loop_runtime_iterations): Likewise.
3977
3978 2019-03-19 Martin Sebor <msebor@redhat.com>
3979
3980 PR tree-optimization/89644
3981 * tree-ssa-strlen.c (handle_builtin_stxncpy): Use full_string_p
3982 rather than endptr as an indicator of nul-termination.
3983
3984 PR tree-optimization/89644
3985 * tree-ssa-strlen.c (handle_builtin_stxncpy): Consider unterminated
3986 arrays in determining sequence sizes in strncpy and stpncpy.
3987
3988 2019-03-19 Martin Liska <mliska@suse.cz>
3989
3990 PR middle-end/89737
3991 * predict.c (combine_predictions_for_bb): Empty likely_edges and
3992 unlikely_edges if there's an edge that belongs to both these sets.
3993
3994 2018-03-19 Segher Boessenkool <segher@kernel.crashing.org>
3995
3996 PR target/89746
3997 * config/rs6000/rs6000.md (fix_trunc<mode>si2_stfiwx): If we have a
3998 non-TARGET_MFCRF target, and the dest is memory but not 32-bit aligned,
3999 go via a stack temporary.
4000
4001 2019-03-19 Jakub Jelinek <jakub@redhat.com>
4002
4003 PR target/89378
4004 * config/mips/mips.c (mips_expand_vec_cond_expr): Use gen_lowpart
4005 instead of gen_rtx_SUBREG.
4006 * config/mips/mips-msa.md (vec_extract<mode><unitmode>): Likewise.
4007
4008 2019-03-19 Richard Biener <rguenther@suse.de>
4009
4010 PR debug/88389
4011 * opts.c (finish_options): Disable -gsplit-dwarf when doing LTO.
4012
4013 2019-03-19 Jan Hubicka <hubicka@ucw.cz>
4014
4015 PR lto/87809
4016 PR lto/89335
4017 * tree.c (free_lang_data_in_decl): Do not free context of C++
4018 destrutors.
4019
4020 2019-03-19 Jakub Jelinek <jakub@redhat.com>
4021
4022 PR target/89506
4023 * config/arm/arm.md (cmpsi2_addneg): Swap the alternatives and use
4024 subs for the first alternative except when operands[3] is 1.
4025
4026 PR target/89752
4027 * gimplify.c (gimplify_asm_expr): For output argument with
4028 TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise
4029 diagnose error.
4030
4031 2019-03-19 Eric Botcazou <ebotcazou@adacore.com>
4032
4033 PR rtl-optimization/89753
4034 * loop-unroll.c (decide_unroll_constant_iterations): Make guard for
4035 explicit unrolling factor even more robust.
4036
4037 2019-03-19 Jakub Jelinek <jakub@redhat.com>
4038
4039 PR target/89726
4040 * config/i386/i386.c (ix86_expand_floorceildf_32): In ceil
4041 compensation use x2 += 1 instead of x2 -= -1 and when honoring
4042 signed zeros, do another copysign after the compensation.
4043
4044 2019-03-18 Martin Sebor <msebor@redhat.com>
4045
4046 PR tree-optimization/89720
4047 * tree-vrp.c (vrp_prop::check_mem_ref): Treat range with max < min
4048 more conservatively, the same as anti-range.
4049
4050 2019-03-18 Richard Biener <rguenther@suse.de>
4051
4052 PR middle-end/88945
4053 * tree-ssanames.c (release_ssa_name_fn): For released SSA names
4054 use a TREE_TYPE of error_mark_node to avoid ICEs when dumping
4055 basic-blocks that are removed. Remove restoring SSA_NAME_VAR.
4056 * tree-outof-ssa.c (eliminate_useless_phis): Remove redundant checking.
4057
4058 2019-03-18 Andrew Stubbs <ams@codesourcery.com>
4059
4060 * config/gcn/gcn-run.c (struct output): Make next_output unsigned.
4061 Extend queue to 1024 entries.
4062 Add "consumed" field.
4063 (gomp_print_output): Remove print_index parameter.
4064 Add final parameter.
4065 Change limit to unsigned.
4066 Use consumed field to implement circular buffer.
4067 Detect interrupted print in final pass.
4068 Flush output at the end.
4069 (run): Update gomp_print_output usage.
4070 (main): Initialize kernargs->output_data.consumed.
4071
4072 2019-03-18 Richard Sandiford <richard.sandiford@arm.com>
4073
4074 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Fix the
4075 calculation of the minimum number of scalar iterations for
4076 fully-predicated loops.
4077
4078 2019-03-18 Martin Jambor <mjambor@suse.cz>
4079
4080 PR tree-optimization/89546
4081 * tree-sra.c (propagate_subaccesses_across_link): Requeue new_acc if
4082 any propagation to its children took place.
4083
4084 2019-03-18 Andrew Burgess <andrew.burgess@embecosm.com>
4085
4086 PR target/89627
4087 * config/riscv/riscv.c (riscv_pass_fpr_single): Add offset
4088 parameter, and make use of it.
4089 (riscv_get_arg_info): Pass offset to riscv_pass_fpr_single.
4090
4091 2019-03-18 Claudiu Zissulescu <claziss@synopsys.com>
4092
4093 * config/arc/arc.opt (mcode-density-frame): Get the inital value
4094 from TARGET_CODE_DENSITY_FRAME_DEFAULT.
4095 * config/arc/elf.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define.
4096 * config/arc/linux.h (TARGET_CODE_DENSITY_FRAME_DEFAULT): Define.
4097 * config/arc/arc.md (pop_multi_fp_blink): Adjust constraints to
4098 match what the ops is doing.
4099 (push_multi_fp_blink): Likewise.
4100 * config/arc/arc.c (arc_override_options): Enable enter/leave when
4101 compiling for size and elf target.
4102 (arc_save_callee_enter): Adjust note to match what enter/leave
4103 operation does.
4104
4105 2019-03-18 Claudiu Zissulescu <claziss@synopsys.com>
4106
4107 * config/arc/arc.md (tst_movb): Fix constraint.
4108
4109 2019-03-18 Claudiu Zissulescu <claziss@synopsys.com>
4110
4111 * config/arc/arc.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Define.
4112
4113 2019-03-18 Claudiu Zissulescu <claziss@synopsys.com>
4114
4115 * config/arc/arc-protos.h (arc_adjust_reg_alloc_order): Declare.
4116 * config/arc/arc.c (arc_conditional_register_usage): Remove all
4117 reg_alloc_order references.
4118 (size_alloc_order): Define.
4119 (arc_adjust_reg_alloc_order): New function.
4120 * config/arc/arc.h (REG_ALLOC_ORDER): Proper define the register
4121 order.
4122 (ADJUST_REG_ALLOC_ORDER): Define.
4123 (HONOR_REG_ALLOC_ORDER): Likewise.
4124
4125 2019-03-18 Richard Biener <rguenther@suse.de>
4126
4127 PR target/87561
4128 * config/i386/i386.c (ix86_add_stmt_cost): Pessimize strided
4129 loads and stores a bit more.
4130
4131 2019-03-18 Richard Biener <rguenther@suse.de>
4132
4133 PR target/87561
4134 * config/i386/i386.c (ix86_add_stmt_cost): Apply strided
4135 load pessimization to stores as well.
4136
4137 2019-03-18 Andrey Belevantsev <abel@ispras.ru>
4138
4139 PR middle-end/86979
4140 * sel-sched.c (compute_av_set_at_bb_end): When we have an ineligible
4141 successor, use NULL as its av set.
4142
4143 2019-03-15 Segher Boessenkool <segher@kernel.crashing.org>
4144
4145 PR rtl-optimization/89721
4146 * lra-constraints (invariant_p): Return false if side_effects_p holds.
4147
4148 2019-03-15 Kelvin Nilsen <kelvin@gcc.gnu.org>
4149
4150 PR target/87532
4151 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
4152 When handling vec_extract, use modular arithmetic to allow
4153 constant selectors greater than vector length.
4154 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Allow
4155 V1TImode vectors to have constant selector values greater than 0.
4156 Use modular arithmetic to compute vector index.
4157 (rs6000_split_vec_extract_var): Use modular arithmetic to compute
4158 index for in-memory vectors. Correct code generation for
4159 in-register vectors.
4160 (altivec_expand_vec_ext_builtin): Use modular arithmetic to
4161 compute index.
4162
4163 2019-03-15 Alexandre Oliva <aoliva@redhat.com>
4164
4165 PR c++/88534
4166 PR c++/88537
4167 * dwarf2out.c (generic_parameter_die): Follow DECL_INITIAL of
4168 VAR_DECL args.
4169
4170 2019-03-15 Jakub Jelinek <jakub@redhat.com>
4171
4172 PR c++/89709
4173 * tree.c (inchash::add_expr): Strip any location wrappers.
4174 * fold-const.c (operand_equal_p): Move stripping of location wrapper
4175 after hash verification.
4176
4177 PR debug/89704
4178 * dwarf2out.c (add_const_value_attribute): Return false for MINUS,
4179 SIGN_EXTEND and ZERO_EXTEND.
4180
4181 2019-03-14 Jason Merrill <jason@redhat.com>
4182 Jakub Jelinek <jakub@redhat.com>
4183
4184 * hash-table.h (remove_elt_with_hash): Return if slot is NULL rather
4185 than if is_empty (*slot).
4186 * hash-set-tests.c (test_set_of_strings): Add tests for addition of
4187 existing elt and for elt removal.
4188 * hash-map-tests.c (test_map_of_strings_to_int): Add test for removal
4189 of already removed elt.
4190
4191 2019-03-15 H.J. Lu <hongjiu.lu@intel.com>
4192
4193 PR target/89650
4194 * config/i386/i386.c (remove_partial_avx_dependency): Handle
4195 REG_EH_REGION note.
4196
4197 2019-03-14 Martin Liska <mliska@suse.cz>
4198
4199 PR other/89712
4200 * doc/invoke.texi: Remove -fdump-class-hierarchy option.
4201
4202 2019-03-14 Richard Biener <rguenther@suse.de>
4203
4204 PR target/89711
4205 * config/i386/i386.c (make_resolver_func): Properly set
4206 DECL_CONTEXT on the RESULT_DECL.
4207 * config/rs6000/rs6000.c (make_resolver_func): Likewise.
4208
4209 2019-03-14 Richard Biener <rguenther@suse.de>
4210
4211 * gimple-pretty-print.c: Include cfgloop.h.
4212 (dump_gimple_phi): Adjust.
4213 (dump_gimple_bb_header): Dump loop header for GIMPLE.
4214 (pp_cfg_jump): Adjust.
4215 (dump_implicit_edges): Dump fallthru to next block for GIMPLE as well.
4216 * tree-cfg.c (build_gimple_cfg): Remove lower_phi_internal_fn call.
4217 (lower_phi_internal_fn): Remove.
4218 (verify_gimple_call): Remove IFN_PHI special-casing.
4219 (dump_function_to_file): Dump IL state.
4220 * tree-into-ssa.c (rewrite_add_phi_arguments): Revert changes
4221 done to deal with PHI nodes being present in non-SSA state.
4222
4223 2019-03-14 Jakub Jelinek <jakub@redhat.com>
4224
4225 PR ipa/89684
4226 * multiple_target.c (create_dispatcher_calls): Change
4227 references_to_redirect from vector of ipa_ref * to vector of ipa_ref.
4228 In the node->iterate_referring loop, push *ref rather than ref, call
4229 ref->remove_reference () and always pass 0 to iterate_referring.
4230
4231 PR rtl-optimization/89679
4232 * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it
4233 would contain a paradoxical SUBREG.
4234
4235 2019-03-14 Richard Biener <rguenther@suse.de>
4236
4237 PR tree-optimization/89710
4238 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use
4239 safe_dyn_cast.
4240
4241 2019-03-14 Martin Liska <mliska@suse.cz>
4242
4243 * coverage.c (coverage_begin_function): Stream also
4244 end_column.
4245 * doc/gcov.texi: Document 2 new fields in JSON file. Improve
4246 documentation about function declaration location.
4247 * gcov-dump.c (tag_function): Print whole range
4248 of function declaration.
4249 * gcov.c (struct function_info): Add end_column field.
4250 (function_info::function_info): Initialize it.
4251 (output_json_intermediate_file): Output {start,end}_column
4252 fields.
4253 (read_graph_file): Read end_column.
4254
4255 2019-03-14 Richard Biener <rguenther@suse.de>
4256
4257 PR middle-end/89698
4258 * fold-const.c (operand_equal_p): For INDIRECT_REF check
4259 that the access types are similar.
4260
4261 2019-03-14 Jakub Jelinek <jakub@redhat.com>
4262
4263 PR tree-optimization/89703
4264 * tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types
4265 aren't compatible also with builtin_decl_explicit. Check pure
4266 or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}}
4267 and BUILT_IN_STPNCPY{,_CHK}.
4268
4269 2019-03-14 H.J. Lu <hongjiu.lu@intel.com>
4270
4271 PR target/89523
4272 * config/i386/i386.c (ix86_print_operand): Handle 'M' to add
4273 addr32 prefix to VSIB address for X32.
4274 * config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask): Prepend
4275 "%M2" to opcode.
4276 (*avx512pf_gatherpf<mode>df_mask): Likewise.
4277 (*avx512pf_scatterpf<mode>sf_mask): Likewise.
4278 (*avx512pf_scatterpf<mode>df_mask): Likewise.
4279 (*avx2_gathersi<mode>): Prepend "%M3" to opcode.
4280 (*avx2_gathersi<mode>_2): Prepend "%M2" to opcode.
4281 (*avx2_gatherdi<mode>): Prepend "%M3" to opcode.
4282 (*avx2_gatherdi<mode>_2): Prepend "%M2" to opcode.
4283 (*avx2_gatherdi<mode>_3): Prepend "%M3" to opcode.
4284 (*avx2_gatherdi<mode>_4): Prepend "%M2" to opcode.`
4285 (*avx512f_gathersi<mode>): Prepend "%M4" to opcode.
4286 (*avx512f_gathersi<mode>_2): Prepend "%M3" to opcode.
4287 (*avx512f_gatherdi<mode>): Prepend "%M4" to opcode.
4288 (*avx512f_gatherdi<mode>_2): Prepend "%M3" to opcode.
4289 (*avx512f_scattersi<mode>): Prepend "%M0" to opcode.
4290 (*avx512f_scatterdi<mode>): Likewise.
4291
4292 2019-03-13 Vladimir Makarov <vmakarov@redhat.com>
4293
4294 PR target/85860
4295 * lra-constraints.c (inherit_in_ebb): Update
4296 potential_reload_hard_regs along with live_hard_regs.
4297
4298 2019-03-13 Jakub Jelinek <jakub@redhat.com>
4299
4300 PR debug/89498
4301 * dwarf2out.c (size_of_die): For dw_val_class_view_list always use
4302 DWARF_OFFSET_SIZE.
4303 (value_format): For dw_val_class_view_list never use DW_FORM_loclistx.
4304
4305 2019-03-13 Martin Sebor <msebor@redhat.com>
4306
4307 PR tree-optimization/89662
4308 * tree-vrp.c (vrp_prop::check_mem_ref): Avoid assuming every type
4309 has a size.
4310
4311 2019-03-13 Richard Biener <rguenther@suse.de>
4312
4313 PR middle-end/89677
4314 * tree-scalar-evolution.c (simplify_peeled_chrec): Do not
4315 throw FP expressions at tree-affine.
4316
4317 2019-03-14 Richard Biener <rguenther@suse.de>
4318
4319 * tree-pretty-print.c (dump_generic_node): For -gimple properly
4320 dump negative integer constants using _Literal (type) -num.
4321
4322 2019-03-13 Jakub Jelinek <jakub@redhat.com>
4323
4324 * ipa-param-manipulation.h (struct ipa_parm_adjustment): Remove
4325 nonlocal_value member.
4326
4327 PR middle-end/88588
4328 * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args.
4329 (ipa_simd_modify_function_body): Handle PHIs.
4330
4331 2019-03-12 Robin Dapp <rdapp@linux.ibm.com>
4332
4333 * config/s390/s390.c (s390_option_override_internal): Use more
4334 aggressive inlining parameters.
4335
4336 2019-03-12 Robin Dapp <rdapp@linux.ibm.com>
4337
4338 * config/s390/3906.md: New file.
4339 * config/s390/s390.c (MAX_SCHED_UNITS): Increase.
4340 (LONGRUNNING_THRESHOLD): Remove.
4341 (MAX_SCHED_MIX_SCORE): Decrease.
4342 (MAX_SCHED_MIX_DISTANCE): Decrease.
4343 (s390_bb_fallthru_entry_likely): Assume fallthru for less than likely.
4344 (struct s390_sched_state): New struct to hold scheduling state.
4345 (S390_SCHED_STATE_NORMAL): Remove.
4346 (S390_SCHED_STATE_CRACKED): Remove.
4347 (S390_SCHED_ATTR_MASK_GROUPOFTWO): Add.
4348 (s390_get_sched_attrmask): Use new attribute.
4349 (s390_get_unit_mask): Use new units.
4350 (s390_is_fpd): New function.
4351 (s390_is_fxd): New function.
4352 (s390_is_longrunning): New function.
4353 (s390_sched_score): Use new functions.
4354 (s390_sched_reorder): Likewise.
4355 (s390_sched_variable_issue): Rework and use new functions.
4356 (s390_sched_init): Use new functions.
4357 * config/s390/s390.h (s390_tune_attr): Add z14.
4358 * config/s390/s390.md: Add z14.
4359
4360 2019-03-12 Robin Dapp <rdapp@linux.ibm.com>
4361
4362 * config/s390/2964.md: Update pipeline description.
4363 * config/s390/s390.c (MAX_SCHED_UNITS): Increase.
4364 (LONGRUNNING_THRESHOLD): Remove.
4365 (LATENCY_FACTOR): Remove.
4366 (s390_get_unit_mask): Add unit.
4367 (s390_sched_score): Use fxd/fpd.
4368 (s390_sched_variable_issue): Use fxd/fpd.
4369
4370 2019-03-12 Martin Liska <mliska@suse.cz>
4371
4372 * config/i386/i386.c: Reword an error message.
4373
4374 2019-03-12 Martin Jambor <mjambor@suse.cz>
4375
4376 * cgraph.c (cgraph_node::dump): Dump more info for former thunks,
4377 terminate with newline.
4378
4379 2019-03-12 Jakub Jelinek <jakub@redhat.com>
4380
4381 PR target/52726
4382 * config/s390/s390.md (tabort): Use %wd instead of
4383 HOST_WIDE_INT_PRINT_DEC in error message, reword to avoid two capital
4384 letters and periods.
4385 * config/tilepro/tilepro.c (tilepro_print_operand): Use %wd in
4386 output_operand_lossage instead of HOST_WIDE_INT_PRINT_DEC, replace
4387 's with %< and %>.
4388
4389 PR middle-end/89663
4390 * builtins.c (expand_builtin_int_roundingfn,
4391 expand_builtin_int_roundingfn_2): Return NULL_RTX instead of
4392 gcc_unreachable if validate_arglist fails.
4393
4394 2019-03-12 Richard Biener <rguenther@suse.de>
4395
4396 PR tree-optimization/89664
4397 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Properly
4398 free the occurance tree after the early out.
4399
4400 2019-03-11 Jakub Jelinek <jakub@redhat.com>
4401
4402 PR middle-end/89655
4403 PR bootstrap/89656
4404 * vr-values.c (vr_values::update_value_range): If
4405 old_vr->varying_p (), don't update it, make new_vr also VARYING
4406 and return false.
4407
4408 2019-03-11 Martin Liska <mliska@suse.cz>
4409
4410 * config/aarch64/aarch64.c (aarch64_override_options_internal):
4411 Fix double string quoting.
4412
4413 2019-03-11 Martin Liska <mliska@suse.cz>
4414
4415 * collect-utils.c (collect_wait): Wrap apostrophes
4416 in gcc internal format with %'.
4417 * collect2.c (main): Likewise.
4418 (scan_prog_file): Likewise.
4419 (scan_libraries): Likewise.
4420 * config/i386/i386.c (ix86_expand_call): Likewise.
4421 (ix86_handle_interrupt_attribute): Likewise.
4422 * config/nds32/nds32-intrinsic.c (nds32_expand_builtin_impl): Likewise.
4423 * config/nds32/nds32.c (nds32_insert_attributes): Likewise.
4424 * config/rl78/rl78.c (rl78_handle_saddr_attribute): Likewise.
4425 * lto-wrapper.c (find_crtoffloadtable): Likewise.
4426 * symtab.c (symtab_node::verify_base): Likewise.
4427 * tree-cfg.c (verify_gimple_label): Likewise.
4428 * tree.c (verify_type_variant): Likewise.
4429
4430 2019-03-11 Martin Liska <mliska@suse.cz>
4431
4432 * builtins.c (expand_builtin_thread_pointer): Wrap an option name
4433 in a string format message and fix GNU coding style.
4434 (expand_builtin_set_thread_pointer): Likewise.
4435 * common/config/aarch64/aarch64-common.c
4436 (aarch64_rewrite_selected_cpu): Likewise.
4437 * common/config/alpha/alpha-common.c (alpha_handle_option): Likewise.
4438 * common/config/arc/arc-common.c (arc_handle_option): Likewise.
4439 * common/config/arm/arm-common.c (arm_parse_fpu_option): Likewise.
4440 * common/config/bfin/bfin-common.c (bfin_handle_option): Likewise.
4441 * common/config/i386/i386-common.c (ix86_handle_option): Likewise.
4442 * common/config/ia64/ia64-common.c (ia64_handle_option): Likewise.
4443 * common/config/m68k/m68k-common.c (m68k_handle_option): Likewise.
4444 * common/config/msp430/msp430-common.c (msp430_handle_option): Likewise.
4445 * common/config/nds32/nds32-common.c (nds32_handle_option): Likewise.
4446 * common/config/powerpcspe/powerpcspe-common.c (rs6000_handle_option):
4447 Likewise.
4448 * common/config/riscv/riscv-common.c
4449 (riscv_subset_list::parsing_subset_version): Likewise.
4450 (riscv_subset_list::parse_std_ext): Likewise.
4451 (riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
4452 (riscv_subset_list::parse): Likewise.
4453 * common/config/rs6000/rs6000-common.c (rs6000_handle_option): Likewise.
4454 * config/aarch64/aarch64.c (aarch64_parse_one_option_token): Likewise.
4455 (aarch64_override_options_internal): Likewise.
4456 (aarch64_validate_mcpu): Likewise.
4457 (aarch64_validate_march): Likewise.
4458 (aarch64_validate_mtune): Likewise.
4459 (aarch64_override_options): Likewise.
4460 * config/alpha/alpha.c (alpha_option_override): Likewise.
4461 * config/arc/arc.c (arc_init): Likewise.
4462 (parse_mrgf_banked_regs_option): Likewise.
4463 (arc_override_options): Likewise.
4464 (arc_expand_builtin_aligned): Likewise.
4465 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Likewise.
4466 (arm_expand_builtin): Likewise.
4467 * config/arm/arm.c (arm_option_check_internal): Likewise.
4468 (arm_configure_build_target): Likewise.
4469 (arm_option_override): Likewise.
4470 (arm_options_perform_arch_sanity_checks): Likewise.
4471 (arm_handle_cmse_nonsecure_entry): Likewise.
4472 (arm_handle_cmse_nonsecure_call): Likewise.
4473 (arm_tls_referenced_p): Likewise.
4474 (thumb1_expand_prologue): Likewise.
4475 * config/avr/avr.c (avr_option_override): Likewise.
4476 * config/bfin/bfin.c (bfin_option_override): Likewise.
4477 * config/c6x/c6x.c (c6x_option_override): Likewise.
4478 * config/cr16/cr16.c (cr16_override_options): Likewise.
4479 * config/cris/cris.c (cris_option_override): Likewise.
4480 * config/csky/csky.c (csky_handle_isr_attribute): Likewise.
4481 * config/darwin-c.c (macosx_version_as_macro): Likewise.
4482 * config/darwin.c (darwin_override_options): Likewise.
4483 * config/frv/frv.c (frv_expand_builtin): Likewise.
4484 * config/h8300/h8300.c (h8300_option_override): Likewise.
4485 * config/i386/i386.c (parse_mtune_ctrl_str): Likewise.
4486 (ix86_option_override_internal): Likewise.
4487 (warn_once_call_ms2sysv_xlogues): Likewise.
4488 (ix86_expand_prologue): Likewise.
4489 (split_stack_prologue_scratch_regno): Likewise.
4490 (ix86_warn_parameter_passing_abi): Likewise.
4491 * config/ia64/ia64.c (fix_range): Likewise.
4492 * config/m68k/m68k.c (m68k_option_override): Likewise.
4493 * config/microblaze/microblaze.c (microblaze_option_override): Likewise.
4494 * config/mips/mips.c (mips_emit_probe_stack_range): Likewise.
4495 (mips_set_compression_mode): Likewise.
4496 * config/mmix/mmix.c (mmix_option_override): Likewise.
4497 * config/mn10300/mn10300.c (mn10300_option_override): Likewise.
4498 * config/msp430/msp430.c (msp430_option_override): Likewise.
4499 * config/nds32/nds32.c (nds32_option_override): Likewise.
4500 * config/nios2/nios2.c (nios2_custom_check_insns): Likewise.
4501 (nios2_option_override): Likewise.
4502 (nios2_expand_custom_builtin): Likewise.
4503 * config/nvptx/mkoffload.c (main): Likewise.
4504 * config/nvptx/nvptx.c (diagnose_openacc_conflict): Likewise.
4505 * config/pa/pa.c (fix_range): Likewise.
4506 (pa_option_override): Likewise.
4507 * config/riscv/riscv.c (riscv_parse_cpu): Likewise.
4508 (riscv_option_override): Likewise.
4509 * config/rl78/rl78.c (rl78_option_override): Likewise.
4510 * config/rs6000/aix61.h: Likewise.
4511 * config/rs6000/aix71.h: Likewise.
4512 * config/rs6000/aix72.h: Likewise.
4513 * config/rs6000/driver-rs6000.c (elf_platform): Likewise.
4514 * config/rs6000/freebsd64.h: Likewise.
4515 * config/rs6000/linux64.h: Likewise.
4516 * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise.
4517 (rs6000_expand_zeroop_builtin): Likewise.
4518 (rs6000_expand_mtfsb_builtin): Likewise.
4519 (rs6000_expand_set_fpscr_rn_builtin): Likewise.
4520 (rs6000_expand_set_fpscr_drn_builtin): Likewise.
4521 (rs6000_invalid_builtin): Likewise.
4522 (rs6000_expand_split_stack_prologue): Likewise.
4523 * config/rs6000/rtems.h: Likewise.
4524 * config/rx/rx.c (valid_psw_flag): Likewise.
4525 (rx_expand_builtin): Likewise.
4526 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Likewise.
4527 * config/s390/s390.c (s390_expand_builtin): Likewise.
4528 (s390_function_profiler): Likewise.
4529 (s390_option_override_internal): Likewise.
4530 (s390_option_override): Likewise.
4531 * config/sh/sh.c (sh_option_override): Likewise.
4532 (sh_builtin_saveregs): Likewise.
4533 (sh_fix_range): Likewise.
4534 * config/sh/vxworks.h: Likewise.
4535 * config/sparc/sparc.c (sparc_option_override): Likewise.
4536 * config/spu/spu.c (spu_option_override): Likewise.
4537 (fix_range): Likewise.
4538 * config/visium/visium.c (visium_option_override): Likewise.
4539 (visium_handle_interrupt_attr): Likewise.
4540 * config/xtensa/xtensa.c (xtensa_option_override): Likewise.
4541 * dbgcnt.c (dbg_cnt_set_limit_by_name): Likewise.
4542 (dbg_cnt_process_opt): Likewise.
4543 * dwarf2out.c (output_dwarf_version): Likewise.
4544 * except.c (expand_eh_return): Likewise.
4545 * gcc.c (defined): Likewise.
4546 (driver_handle_option): Likewise.
4547 (process_command): Likewise.
4548 (compare_files): Likewise.
4549 (driver::prepare_infiles): Likewise.
4550 (driver::do_spec_on_infiles): Likewise.
4551 (driver::maybe_run_linker): Likewise.
4552 * omp-offload.c (oacc_parse_default_dims): Likewise.
4553 * opts-global.c (handle_common_deferred_options): Likewise.
4554 * opts.c (parse_sanitizer_options): Likewise.
4555 (common_handle_option): Likewise.
4556 (enable_warning_as_error): Likewise.
4557 * passes.c (enable_disable_pass): Likewise.
4558 * plugin.c (parse_plugin_arg_opt): Likewise.
4559 (default_plugin_dir_name): Likewise.
4560 * targhooks.c (default_expand_builtin_saveregs): Likewise.
4561 (default_pch_valid_p): Likewise.
4562 * toplev.c (init_asm_output): Likewise.
4563 (process_options): Likewise.
4564 (toplev::run_self_tests): Likewise.
4565 * tree-cfg.c (verify_gimple_call): Likewise.
4566 * tree-inline.c (inline_forbidden_p_stmt): Likewise.
4567 (tree_inlinable_function_p): Likewise.
4568 * var-tracking.c (vt_find_locations): Likewise.
4569
4570 2019-03-11 Andreas Krebbel <krebbel@linux.ibm.com>
4571
4572 * config/s390/s390.c (s390_expand_builtin): Do the copy_to_reg not
4573 only on the else branch.
4574
4575 2019-03-11 Martin Liska <mliska@suse.cz>
4576
4577 * gcov.c (output_intermediate_json_line): Print function
4578 name of each line.
4579 (output_json_intermediate_file): Add new argument.
4580 * doc/gcov.texi: Document the change.
4581
4582 2019-03-11 Eric Botcazou <ebotcazou@adacore.com>
4583
4584 PR rtl-optimization/89588
4585 * loop-unroll.c (decide_unroll_constant_iterations): Make guard for
4586 explicit unrolling factor more robust.
4587
4588 2019-03-11 Richard Biener <rguenther@suse.de>
4589
4590 PR tree-optimization/89649
4591 * tree-vectorizer.h (vect_loop_versioning): Adjust prototype.
4592 * tree-vect-loop-manip.c (vect_do_peeling): Unset force_vectorize
4593 on the prolog and epilog loops.
4594 (vect_loop_versioning): Return copy of loop.
4595 * tree-vect-loop.c (vect_transform_loop): Unset force_vectorize
4596 on the non-vectorized version of the loop.
4597
4598 2019-03-10 Uroš Bizjak <ubizjak@gmail.com>
4599
4600 PR target/68924
4601 * config/i386/sse.md (*vec_extractv2di_0_sse):
4602 Add (=r,x) alternative and corresponding splitter.
4603
4604 2019-03-10 Martin Jambor <mjambor@suse.cz>
4605
4606 PR tree-optimization/85762
4607 PR tree-optimization/87008
4608 PR tree-optimization/85459
4609 * tree-sra.c (contains_vce_or_bfcref_p): New parameter, set the bool
4610 it points to if there is a type changing MEM_REF. Adjust all callers.
4611 (build_accesses_from_assign): Disable total scalarization if
4612 contains_vce_or_bfcref_p returns true through the new parameter, for
4613 both rhs and lhs.
4614
4615 2019-03-09 Jakub Jelinek <jakub@redhat.com>
4616
4617 PR c/88568
4618 * attribs.c (handle_dll_attribute): Don't clear TREE_STATIC for
4619 dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT.
4620
4621 PR target/79645
4622 * common.opt (fdiagnostics-show-labels,
4623 fdiagnostics-show-line-numbers, fdiagnostics-format=,
4624 fdiagnostics-minimum-margin-width=, fgnat-encodings=, gas-loc-support,
4625 gas-locview-support, ginline-points, ginternal-reset-location-views):
4626 Terminate description text with a dot.
4627 * config/microblaze/microblaze.opt (mxl-prefetch): Likewise.
4628 * config/mcore/mcore.opt (m210, m340): Likewise.
4629 * config/epiphany/epiphany.opt (mprefer-short-insn-regs, mcmove,
4630 mnops=): Start description text with a capital letter.
4631 * config/arc/arc.opt (msize-level=): Likewise.
4632 * config/sh/sh.opt (minline-ic_invalidate): Likewise.
4633 * config/rs6000/sysv4.opt (mno-toc, mtoc, mno-traceback, mshlib,
4634 mnewlib): Likewise.
4635 * config/ft32/ft32.opt (msim): Likewise.
4636 (mft32b, mcompress): Likewise. Terminate description text with a dot.
4637 (mnodiv, mnopm): Terminate description text with a dot.
4638 * config/c6x/c6x.opt (c6x_sdata): Terminate Enum description with
4639 a colon.
4640 * config/i386/i386.opt (prefer_vector_width, instrument_return):
4641 Likewise.
4642 * config/rx/rx.opt (nofpu): Remove trailing spaces from description
4643 text.
4644
4645 PR rtl-optimization/89634
4646 * cfgcleanup.c (thread_jump): Punt if registers mentioned in cond1
4647 are modified in BB_END (e->src) instruction.
4648
4649 2019-03-08 David Malcolm <dmalcolm@redhat.com>
4650
4651 PR target/79926
4652 * config/i386/i386.c (ix86_set_current_function): Make "sorry"
4653 messages more amenable to translation, and improve wording.
4654
4655 2019-03-08 Bill Schmidt <wschmidt@linux.ibm.com>
4656
4657 * config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild
4658 ud- and du-chains between phases.
4659
4660 2019-03-08 Richard Sandiford <richard.sandiford@arm.com>
4661
4662 PR debug/89631
4663 * dwarf2cfi.c (dwarf2out_frame_debug_expr): Use CONST_POLY_INT
4664 instead of POLY_INT_CST.
4665
4666 2019-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
4667
4668 * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE
4669 requirement.
4670
4671 2019-03-08 Uroš Bizjak <ubizjak@gmail.com>
4672
4673 PR target/68924
4674 PR target/78782
4675 PR target/87558
4676 * config/i386/emmintrin.h (_mm_loadu_si64): New intrinsic.
4677 (_mm_storeu_si64): Ditto.
4678
4679 2019-03-08 Martin Liska <mliska@suse.cz>
4680
4681 PR target/86952
4682 * config/i386/i386.c (ix86_option_override_internal): Disable
4683 jump tables when retpolines are used.
4684
4685 2019-03-08 Jan Hubicka <hubicka@ucw.cz>
4686
4687 PR go/63560
4688 * ipa-split.c (execute_split_functions): Do not split
4689 'noinline' or 'section' function.
4690
4691 2019-03-08 Jakub Jelinek <jakub@redhat.com>
4692
4693 PR target/79846
4694 * config/s390/s390.c (s390_const_operand_ok): Use %wu instead of
4695 HOST_WIDE_INT_PRINT_UNSIGNED and %wd instead of
4696 HOST_WIDE_INT_PRINT_DEC. Formatting fixes.
4697
4698 PR ipa/80000
4699 * ipa-devirt.c (compare_virtual_tables): Remove two trailing spaces
4700 from diagnostics. Formatting fixes.
4701
4702 PR target/85665
4703 * ipa-devirt.c (odr_types_equivalent_p): Fix grammar in
4704 warn_odr diagnostics.
4705
4706 PR other/80058
4707 * lra-constraints.c (process_alt_operands): Avoid one space before
4708 " at the end of line and another after " on another line in a string
4709 literal.
4710 * attribs.c (handle_dll_attribute): Likewise.
4711 * config/avr/avr-devices.c (avr_texinfo): Likewise.
4712
4713 * gimple-ssa-warn-alloca.c (pass_walloca::execute): Don't wrap
4714 warning_at or inform messages in G_() if there is no ?:.
4715
4716 PR tree-optimization/89550
4717 * builtins.c (c_strlen): Only set TREE_NO_WARNING if warning_at
4718 returned true. Formatting fixes.
4719 (expand_builtin_strnlen): Formatting fixes.
4720 * tree-vrp.c (vrp_prop::check_mem_ref): Only set TREE_NO_WARNING
4721 if warning_at returned true.
4722 * tree-cfg.c (pass_warn_function_return::execute): Likewise.
4723
4724 2019-03-08 Richard Biener <rguenther@suse.de>
4725
4726 PR middle-end/89578
4727 * cfgloop.h (struct loop): Add owned_clique field.
4728 * cfgloopmanip.c (copy_loop_info): Copy it.
4729 * tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique
4730 cliques.
4731 * tree-inline.c (copy_loops): Remap owned_clique.
4732 * lto-streamer-in.c (input_cfg): Stream owned_clique.
4733 * lto-streamer-out.c (output_cfg): Likewise.
4734
4735 2019-03-08 Jakub Jelinek <jakub@redhat.com>
4736
4737 PR target/80190
4738 * config/darwin.c: Include intl.h.
4739 (darwin_build_constant_cfstring): Improve i18n of diagnostics by not
4740 composing the message out of two separate parts.
4741
4742 2019-03-07 Jakub Jelinek <jakub@redhat.com>
4743
4744 PR target/80003
4745 * config/i386/i386.c (ix86_set_func_type): Make sure diagnostics
4746 doesn't start with a capital letter and doesn't end with a dot.
4747 (ix86_function_arg_boundary): Make sure diagnostics doesn't start
4748 with a capital letter.
4749 (ix86_mangle_function_version_assembler_name): Likewise.
4750 (ix86_generate_version_dispatcher_body): Likewise.
4751 (fold_builtin_cpu): Likewise.
4752 (get_builtin_code_for_version): Likewise. Remove extraneous space.
4753 (ix86_handle_interrupt_attribute): Make the diagnostics easier for
4754 translators, wrap full type name in %qs.
4755
4756 PR translation/79999
4757 * gimplify.c (gimplify_omp_ordered): Reword diagnostics to talk about
4758 depend clause with source (or sink) modifier.
4759 * omp-expand.c (expand_omp_ordered_sink): Likewise.
4760
4761 PR target/89602
4762 * config/i386/sse.md (avx512f_mov<ssescalarmodelower>_mask,
4763 *avx512f_load<mode>_mask, avx512f_store<mode>_mask): New define_insns.
4764 (avx512f_load<mode>_mask): New define_expand.
4765 * config/i386/i386-builtin.def (__builtin_ia32_loadsd_mask,
4766 __builtin_ia32_loadss_mask, __builtin_ia32_storesd_mask,
4767 __builtin_ia32_storess_mask, __builtin_ia32_movesd_mask,
4768 __builtin_ia32_movess_mask): New builtins.
4769 * config/i386/avx512fintrin.h (_mm_mask_load_ss, _mm_maskz_load_ss,
4770 _mm_mask_load_sd, _mm_maskz_load_sd, _mm_mask_move_ss,
4771 _mm_maskz_move_ss, _mm_mask_move_sd, _mm_maskz_move_sd,
4772 _mm_mask_store_ss, _mm_mask_store_sd): New intrinsics.
4773
4774 2019-03-07 Martin Jambor <mjambor@suse.cz>
4775
4776 PR lto/87525
4777 * ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit
4778 for extern inline functions.
4779
4780 2019-03-07 Martin Jambor <mjambor@suse.cz>
4781
4782 PR ipa/88235
4783 * cgraph.h (cgraph_node): New inline method former_thunk_p.
4784 * cgraph.c (cgraph_node::dump): Dump a note if node is a former thunk.
4785 (clone_of_p): Treat expanded thunks like thunks, be optimistic if they
4786 have multiple callees. At the end check if declarations match as
4787 opposed to cgraph_nodes.
4788
4789 2019-03-07 Martin Liska <mliska@suse.cz>
4790
4791 * cgraph.c (cgraph_node::verify_node): Verify with a neighbour
4792 which is equivalent to searching for this in clones chain.
4793 * symtab.c (symtab_node::verify_base): Similarly compare ASM
4794 names with a neighbour and special case first node in a chain.
4795
4796 2019-01-25 Jason Merrill <jason@redhat.com>
4797
4798 PR c++/80916 - spurious "static but not defined" warning.
4799 * gimple-fold.c (can_refer_decl_in_current_unit_p): Return false
4800 for an internal symbol with DECL_EXTERNAL.
4801
4802 2019-04-07 Richard Biener <rguenther@suse.de>
4803
4804 PR middle-end/89618
4805 * cfgloopmanip.c (copy_loop_info): Copy forgotten fields.
4806 * tree-inline.c (copy_loops): Simplify.
4807
4808 2019-03-07 Martin Liska <mliska@suse.cz>
4809
4810 * dwarf2out.c (add_AT_vms_delta): Revert function removal.
4811
4812 2019-03-07 Richard Biener <rguenther@suse.de>
4813
4814 PR tree-optimization/89595
4815 * tree-ssa-dom.c (dom_opt_dom_walker::optimize_stmt): Take
4816 stmt iterator as reference, take boolean output parameter to
4817 indicate whether the stmt was removed and thus the iterator
4818 already advanced.
4819 (dom_opt_dom_walker::before_dom_children): Re-iterate over
4820 stmts created by folding.
4821
4822 2019-03-07 Jakub Jelinek <jakub@redhat.com>
4823
4824 PR c++/89585
4825 * doc/extend.texi (Basic Asm): Document qualifiers are not allowed
4826 at toplevel.
4827
4828 2019-03-06 Peter Bergner <bergner@linux.ibm.com>
4829
4830 PR rtl-optimization/88845
4831 * config/rs6000/rs6000.c (rs6000_emit_move_si_sf_subreg): Enable during
4832 LRA.
4833 * lra.c (remove_scratches_1): New function.
4834 (remove_scratches): Use it.
4835 (lra_emit_move): Likewise.
4836
4837 2019-03-06 Claudiu Zissulescu <claziss@synopsys.com>
4838
4839 * config/arc/arc-c.def (__ARC_UNALIGNED__): Set it on
4840 unaligned_access variable.
4841 * config/arc/arc.c (arc_override_options): Set unaligned access
4842 default on for HS CPUs.
4843 * config/arc/arc.h (STRICT_ALIGNMENT): Fix logic.
4844
4845 2019-03-06 Martin Liska <mliska@suse.cz>
4846
4847 PR gcov-profile/89577
4848 * doc/gcov.texi: Prefer to use --coverage.
4849 * doc/sourcebuild.texi: Likewise.
4850
4851 2019-03-02 Jason Merrill <jason@redhat.com>
4852
4853 PR c++/86485 - -Wmaybe-unused with empty class ?:
4854 * gimplify.c (gimplify_cond_expr): Use INIT_EXPR.
4855
4856 2019-03-05 Jakub Jelinek <jakub@redhat.com>
4857
4858 PR target/89587
4859 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only
4860 if_multiarch.
4861
4862 PR middle-end/89590
4863 * builtins.c (maybe_emit_free_warning): Punt if free doesn't have
4864 exactly one argument.
4865
4866 2019-03-05 Jakub Jelinek <jakub@redhat.com>
4867 Richard Sandiford <richard.sandiford@arm.com>
4868
4869 PR tree-optimization/89570
4870 * match.pd (vec_cond into cond_op simplification): Don't use
4871 get_conditional_internal_fn, use as_internal_fn (cond_op).
4872
4873 2019-03-05 Wilco Dijkstra <wdijkstr@arm.com>
4874
4875 PR target/89222
4876 * config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem
4877 to decide when to split off a non-zero offset from a symbol.
4878 * config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets
4879 in function symbols.
4880
4881 2019-03-05 Richard Biener <rguenther@suse.de>
4882
4883 PR tree-optimization/89594
4884 * tree-if-conv.c (pass_if_conversion::execute): Handle
4885 case where .LOOP_VECTORIZED_FUNCTION was removed.
4886
4887 2019-03-05 Jakub Jelinek <jakub@redhat.com>
4888
4889 PR bootstrap/89560
4890 * fold-const.c (fold_checksum_tree): Don't use fixed size buffer,
4891 instead alloca it only when needed with the needed size.
4892
4893 PR tree-optimization/89570
4894 * match.pd (vec_cond into cond_op simplification): Guard with
4895 vectorized_internal_fn_supported_p test and #if GIMPLE.
4896
4897 PR tree-optimization/89566
4898 * gimple-ssa-sprintf.c (sprintf_dom_walker::handle_gimple_call):
4899 Set info.fncode to BUILT_IN_NONE if gimple_call_builtin_p failed.
4900 Punt if get_user_idx_format succeeds, but idx_format argument is
4901 not provided or doesn't have pointer type, or if idx_args is above
4902 number of provided arguments.
4903
4904 2019-03-04 Wilco Dijkstra <wdijkstr@arm.com>
4905
4906 PR tree-optimization/89437
4907 * match.pd: Use lt in sin(atan(x)) and cos(atan(x)) simplifications.
4908
4909 2019-03-04 Richard Biener <rguenther@suse.de>
4910
4911 PR middle-end/89572
4912 * tree-scalar-evolution.c: (get_loop_exit_condition): Use
4913 safe_dyn_cast.
4914
4915 2019-03-04 Bin Cheng <bin.cheng@linux.alibaba.com>
4916
4917 PR tree-optimization/89487
4918 * tree-loop-distribution.c (has_nonaddressable_dataref_p): New.
4919 (create_rdg_vertices): Compute has_nonaddressable_dataref_p.
4920 (distribute_loop): Don't do runtime alias check if there is non-
4921 addressable data reference.
4922 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p): Check if VAR_DECL
4923 is a register variable.
4924
4925 2019-03-02 Jakub Jelinek <jakub@redhat.com>
4926
4927 PR target/89506
4928 * config/arm/arm.md (cmpsi2_addneg): Use
4929 trunc_int_for_mode (-INTVAL (...), SImode) instead of -INTVAL (...).
4930 If operands[2] is 0 or INT_MIN, force use of subs.
4931 (*compare_scc splitter): Use gen_int_mode.
4932 (*negscc): Likewise.
4933 * config/arm/thumb2.md (*thumb2_negscc): Likewise.
4934
4935 2019-03-01 Kito Cheng <kito.cheng@gmail.com>
4936 Monk Chiang <sh.chiang04@gmail.com>
4937
4938 * common/config/riscv/riscv-common.c: Include sstream.
4939 (riscv_subset_list::to_string): New.
4940 (riscv_arch_str): Likewise.
4941 * config.gcc (riscv*-*-*): Handle --with-riscv-attribute=
4942 * config.in: Regen.
4943 * config/riscv/riscv-protos.h (riscv_arch_str): New.
4944 * config/riscv/riscv.c (INCLUDE_STRING): Defined.
4945 (riscv_emit_attribute): New.
4946 (riscv_file_start): Emit attribute if needed.
4947 (riscv_option_override): Init riscv_emit_attribute_p.
4948 * config/riscv/riscv.opt (mriscv-attribute): New option.
4949 * configure.ac (riscv*-*-*): Check binutils is supporting ELF
4950 * configure: Regen.
4951 * doc/install.texi: Document --with-riscv-attribute.
4952 * doc/invoke.texi: Document -mriscv-attribute.
4953
4954 * common/config/riscv/riscv-common.c:
4955 Include config/riscv/riscv-protos.h.
4956 (INCLUDE_STRING): Defined.
4957 (RISCV_DONT_CARE_VERSION): Defined.
4958 (riscv_subset_t): Declare.
4959 (riscv_subset_t::riscv_subset_t): New.
4960 (riscv_subset_list): Declare.
4961 (riscv_subset_list::riscv_subset_list): New.
4962 (riscv_subset_list::~riscv_subset_list): Likewise.
4963 (riscv_subset_list::parsing_subset_version): Likewise.
4964 (riscv_subset_list::parse_std_ext): Likewise.
4965 (riscv_subset_list::parse_sv_or_non_std_ext): Likewise.
4966 (riscv_subset_list::add): Likewise.
4967 (riscv_subset_list::lookup): Likewise.
4968 (riscv_subset_list::xlen): Likewise.
4969 (riscv_subset_list::parse): Likewise.
4970 (riscv_supported_std_ext): Likewise.
4971 (current_subset_list): Likewise.
4972 (riscv_parse_arch_string): Using riscv_subset_list::parse to
4973 parse.
4974
4975 2019-03-01 Segher Boessenkool <segher@kernel.crashing.org>
4976
4977 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
4978 rs6000_dejagnu_cpu_index is set, use that to override rs6000_cpu_index.
4979 * config/rs6000/rs6000.opt (mdejagnu-cpu=): New option.
4980
4981 2019-03-01 Alexander Monakov <amonakov@ispras.ru>
4982
4983 PR rtl-optimization/85899
4984 * haifa-sched.c (find_fallthru_edge_from): Relax assert to account for
4985 fallthru edges leading to the exit block.
4986
4987 2019-03-01 Tamar Christina <tamar.christina@arm.com>
4988
4989 PR target/89517
4990 * config/aarch64/aarch64-option-extensions.def (fp, simd, crypto, fp16,
4991 rdma, dotprod, sha2, sha3, sm4, fp16fml, sve): Collapse line.
4992
4993 2019-03-01 Richard Sandiford <richard.sandiford@arm.com>
4994
4995 PR tree-optimization/89535
4996 * tree-vect-stmts.c (vectorizable_call): Record the vector types
4997 for each operand. Calculate the fallback choice for mask operands
4998 and pass it to vect_get_vec_def_for_operand.
4999
5000 2019-03-01 Richard Biener <rguenther@suse.de>
5001
5002 PR middle-end/89541
5003 * tree-ssa-operands.c (add_stmt_operand): CONST_DECL may
5004 get virtual operands.
5005 (get_expr_operands): Handle CONST_DECL like other decls.
5006
5007 2019-03-01 Jakub Jelinek <jakub@redhat.com>
5008
5009 PR middle-end/89503
5010 * fold-const.c (fold_checksum_tree): Ignore TREE_NO_WARNING bit
5011 on DECL_P and EXPR_P.
5012
5013 2019-03-01 Richard Biener <rguenther@suse.de>
5014
5015 PR middle-end/89497
5016 * tree-cfgcleanup.h (cleanup_tree_cfg): Add SSA update flags
5017 argument, defaulted to zero.
5018 * passes.c (execute_function_todo): Pass down SSA update flags
5019 to cleanup_tree_cfg.
5020 * tree-cfgcleanup.c: Include tree-into-ssa.h and tree-cfgcleanup.h.
5021 (cleanup_tree_cfg_noloop): After cleanup_control_flow_pre update SSA
5022 form if requested.
5023 (cleanup_tree_cfg): Get and pass down SSA update flags.
5024
5025 2019-03-01 Jakub Jelinek <jakub@redhat.com>
5026
5027 PR bootstrap/89539
5028 * dwarf2out.c (output_comdat_type_unit): Add ATTRIBUTE_UNUSED to
5029 early_lto_debug argument.
5030
5031 2019-02-28 Eric Botcazou <ebotcazou@adacore.com>
5032
5033 PR tree-optimization/89536
5034 * tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_NOT_EXPR>: Test
5035 only whether bit #0 of the value is 0 instead of the entire value.
5036
5037 2019-02-28 Marek Polacek <polacek@redhat.com>
5038
5039 PR c++/87068 - missing diagnostic with fallthrough statement.
5040 * gimplify.c (expand_FALLTHROUGH_r): If IFN_FALLTHROUGH was found
5041 at the end of a seq, save its location to walk_stmt_info.
5042 (expand_FALLTHROUGH): Warn if IFN_FALLTHROUGH is at the end of
5043 a switch.
5044
5045 2019-02-28 Jan Hubicka <hubicka@ucw.cz>
5046
5047 PR lto/88585
5048 * tree.c (find_atomic_core_type): Move ahead in file.
5049 (check_base_type): Correctly compare alignments of atomic types.
5050
5051 2019-02-28 H.J. Lu <hongjiu.lu@intel.com>
5052
5053 PR target/89455
5054 * config/i386/i386.c (get_builtin_code_for_version): Identify
5055 Westmere from PCLMUL, instead of AES.
5056
5057 2019-02-28 Jakub Jelinek <jakub@redhat.com>
5058
5059 PR target/89434
5060 * config/arm/arm.md (*subsi3_carryin_compare_const): Use
5061 trunc_int_for_mode (-INTVAL (...), SImode), just instead of
5062 -UINTVAL (...).
5063
5064 2019-02-28 Tamar Christina <tamar.christina@arm.com>
5065
5066 PR target/88530
5067 * config/aarch64/aarch64-option-extensions.def: Document it.
5068 * config/aarch64/driver-aarch64.c (host_detect_local_cpu): Skip feature
5069 if empty hwcaps.
5070
5071 2019-02-28 Jakub Jelinek <jakub@redhat.com>
5072
5073 PR c/89520
5074 * convert.c (convert_to_real_1, convert_to_integer_1): Punt for
5075 builtins if they don't have a single scalar floating point argument.
5076 Formatting fixes.
5077
5078 2019-02-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
5079
5080 PR rtl-optimization/89490
5081 * varasm.c (get_block_for_section): Bail out for mergeable sections.
5082 (default_use_anchors_for_symbol_p, output_object_block): Assert the
5083 block section is not mergeable.
5084
5085 2019-02-27 Jakub Jelinek <jakub@redhat.com>
5086
5087 PR target/70341
5088 * config/arm/arm.md (arm_casesi_internal): New define_expand. Rename
5089 old define_insn to ...
5090 (*arm_casesi_internal): ... this. Add mode to LABEL_REFs.
5091 * config/arm/thumb2.md (thumb2_casesi_internal): New define_expand.
5092 Rename old define_insn to ...
5093 (*thumb2_casesi_internal): ... this. Add mode to LABEL_REFs.
5094 (thumb2_casesi_internal_pic): New define_expand. Rename old
5095 define_insn to ...
5096 (*thumb2_casesi_internal_pic): ... this. Add mode to LABEL_REFs.
5097 * config/aarch64/aarch64.md (casesi): Create the casesi_dispatch
5098 MEM manually here, set MEM_READONLY_P and MEM_NOTRAP_P on it.
5099
5100 2019-02-27 Richard Biener <rguenther@suse.de>
5101
5102 PR debug/88878
5103 * dwarf2out.c (use_debug_types): Disable when in_lto_p.
5104
5105 2019-02-27 Richard Biener <rguenther@suse.de>
5106
5107 * passes.c (should_skip_pass_p): Do not skip cgraph-edge
5108 building.
5109
5110 2019-02-27 Richard Biener <rguenther@suse.de>
5111
5112 PR debug/88878
5113 * dwarf2out.c (output_comdat_type_unit): Add early_lto_debug
5114 parameter, prefix section name with .gnu.debuglto_ if true.
5115 (dwarf2out_finish): Pass false to output_comdat_type_unit.
5116 (dwarf2out_early_finish): Pass true to output_comdat_type_unit.
5117
5118 2019-02-27 Richard Biener <rguenther@suse.de>
5119
5120 PR debug/89514
5121 * dwarf2out.c (size_of_die): Key on AT_ref (a)->comdat_type_p
5122 rather than on use_debug_types, doing what output_die does.
5123 (value_format): Likewise.
5124
5125 2019-02-27 Martin Jambor <mjambor@suse.cz>
5126 Martin Sebor <msebor@redhat.com>
5127
5128 * doc/invoke.texi (Warning Options): Reword description of
5129 -Wno-absolute-value.
5130
5131 2019-02-27 Jakub Jelinek <jakub@redhat.com>
5132
5133 PR tree-optimization/89280
5134 * tree-cfgcleanup.c (maybe_dead_abnormal_edge_p,
5135 builtin_setjmp_setup_bb): New functions.
5136 (cleanup_control_flow_pre): Ignore maybe_dead_abnormal_edge_p edges.
5137 When visiting __builtin_setjmp_setup block, queue in special
5138 setjmp_vec vector edges from .ABNORMAL_DISPATCHER to corresponding
5139 __builtin_setjmp_receiver. Remove .ABNORMAL_DISPATCHER basic blocks
5140 from visited after the loop if they don't have any visited successor
5141 blocks.
5142
5143 2018-02-26 Steve Ellcey <sellcey@marvell.com>
5144
5145 * config/aarch64/aarch64.c (aarch64_get_multilib_abi_name):
5146 New function.
5147 (TARGET_GET_MULTILIB_ABI_NAME): New macro.
5148
5149 2019-02-26 Jakub Jelinek <jakub@redhat.com>
5150
5151 PR c++/89507
5152 * tree.c (valid_constant_size_p): Deal with size INTEGER_CSTs
5153 with types other than sizetype/ssizetype.
5154
5155 2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
5156
5157 * config/sparc/sparc-opts.h (enum processor_type): Rename to...
5158 (enum sparc_processor_type): ...this.
5159 (enum sparc_code_model_type): New enumeration type.
5160 (enum sparc_memory_model_type): Tweak comments.
5161 * config/sparc/sparc.opt (mcpu): Adjust to above renaming.
5162 (mtune): Likewise.
5163 (mcmodel): Use sparc_code_model enumeration and variable.
5164 (sparc_code_model): New enumeration.
5165 (mdebug): Add Undocumented marker.
5166 * config/sparc/sparc.h (enum cmodel): Delete.
5167 (sparc_cmodel): Likewise.
5168 (TARGET_CM_MEDLOW): Adjust to above renaming.
5169 (TARGET_CM_MEDMID): Likewise.
5170 (TARGET_CM_MEDANY): Likewise.
5171 (TARGET_CM_EMBMEDANY): Likewise.
5172 * config/sparc/sparc.c (sparc_cmodel): Delete.
5173 (sparc_option_override): Remove string/value mapping support for the
5174 code model. Move code and memory model support to after the handling
5175 of target flags. Do private machine setup last.
5176 (sparc_emit_set_symbolic_const64): Use sparc_code_model.
5177 (sparc_legitimize_reload_address): Likewise.
5178 (sparc_output_mi_thunk): Likewise.
5179 * config/sparc/sparc.md (cpu): Adjust comment to above renaming.
5180
5181 2019-02-26 Jakub Jelinek <jakub@redhat.com>
5182
5183 PR tree-optimization/89500
5184 * tree-ssa-strlen.c (stridx_strlenloc): Adjust comment.
5185 (handle_builtin_strlen): Remove noncst_bound variable. Always
5186 optimize strnlen (x, 0) to 0. Optimize strnlen (x, cst) to
5187 cst if the first cst bytes starting at x are known to be non-zero,
5188 even if the string is not zero terminated. Don't try to modify
5189 *si for strnlen. Update strlen_to_stridx only for strlen or if
5190 we can prove strnlen returns the same value as strlen would.
5191
5192 2019-02-26 Martin Liska <mliska@suse.cz>
5193
5194 * alloc-pool.h (struct pool_usage): Remove extra
5195 print_dash_line.
5196 * bitmap.h (struct bitmap_usage): Likewise.
5197 * ggc-common.c (struct ggc_usage): Likewise.
5198 * mem-stats.h (struct mem_usage): Likewise.
5199 (mem_alloc_description::dump): Print dash lines
5200 here and repeat header at the end of a table report.
5201 It's then more readable.
5202 * tree-phinodes.c (phinodes_print_statistics): Make
5203 horizontal alignment.
5204 * tree-ssanames.c (ssanames_print_statistics): Likewise.
5205 * vec.c (struct vec_usage): Remove extra print_dash_line.
5206 * vec.h (vec_safe_grow_cleared): Pass PASS_MEM_STAT.
5207
5208 2019-02-26 Uroš Bizjak <ubizjak@gmail.com>
5209
5210 * doc/extend.texi (__builtin_object_size):
5211 Use @pxref instead of @xref inside parenthesis.
5212 (__builtin_has_attribute): Add missing comma after @xref.
5213 (__builtin_object_size): Ditto.
5214 * doc/md.texi (cond_*{mode}): Use @samp instead of @var around op1[i].
5215 * fortran/invoke.texi (-ffpe-trap): Use @var for every item
5216 in the list.
5217
5218 2019-02-26 Jeff Law <law@redhat.com>
5219
5220 PR rtl-optimization/87761
5221 * regcprop.c (copyprop_hardreg_forward_1): Use REG_UNUSED notes to
5222 detect obviously dead insns and delete them.
5223
5224 2019-02-26 Richard Biener <rguenther@suse.de>
5225
5226 PR tree-optimization/89505
5227 * tree-ssa-structalias.c (compute_dependence_clique): Make sure
5228 to handle restrict pointed-to vars with multiple subvars
5229 correctly.
5230
5231 2019-02-26 Richard Biener <rguenther@suse.de>
5232
5233 PR tree-optimization/89489
5234 * tree-parloops.c (create_loop_fn): Copy over last_clique.
5235
5236 2019-02-26 Eric Botcazou <ebotcazou@adacore.com>
5237
5238 * tree-ssa-dom.c (edge_info::derive_equivalences) <BIT_IOR_EXPR>: Fix
5239 and move around comment.
5240 <BIT_AND_EXPR>: Likewise.
5241 <BIT_NOT_EXPR>: Add specific handling for boolean types.
5242
5243 2019-02-26 Jakub Jelinek <jakub@redhat.com>
5244
5245 PR target/89474
5246 * config/i386/i386.c (remove_partial_avx_dependency): Call
5247 df_analyze etc. before creation of the v4sf_const0 pseudo, rather than
5248 after changing possibly many instructions to use that pseudo. Fix up
5249 insertion of v4sf_const0 setter at the start of bb.
5250
5251 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
5252
5253 PR c/80409
5254 * doc/extend.texi (Variadic Pointer Args): New section.
5255
5256 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
5257 Martin Sebor <msebor@gmail.com>
5258
5259 * common.opt (Wattribute-alias): Likewise.
5260 * doc/invoke.texi (Option Summary): List general form of
5261 -Wattribute-alias=. List positive form of -Wmissing-attributes.
5262 (-Wmissing-attributes): Invert entry, rewrite and correct default.
5263 Add cross-references.
5264 (-Wattribute-alias): Rewrite and correct default. Mention
5265 considered attributes (same as for -Wmissing-attributes).
5266
5267 2019-02-25 Paul A. Clarke <pc@us.ibm.com>
5268
5269 * config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Fix big endian.
5270 (_mm_cvtpd_ps): Likewise.
5271 (_mm_cvttpd_epi32): Likewise.
5272
5273 PR target/89338
5274 * config/rs6000/xmmintrin.h (_mm_cvtss_f32): Fix type mismatch.
5275 (_mm_cvt_ss2si): Fix type mismatch and 32-bit.
5276
5277 PR target/89339
5278 * config/rs6000/xmmintrin.h (_mm_movemask_pi8): Fix 32-bit.
5279
5280 2019-02-25 Tamar Christina <tamar.christina@arm.com>
5281
5282 PR target/88530
5283 * common/config/aarch64/aarch64-common.c
5284 (struct aarch64_option_extension): Add is_synthetic.
5285 (all_extensions): Use it.
5286 (TARGET_OPTION_INIT_STRUCT): Define hook.
5287 (struct gcc_targetm_common): Moved to end.
5288 (all_extensions_by_on): New.
5289 (opt_ext_cmp, typedef opt_ext): New.
5290 (aarch64_option_init_struct): New.
5291 (aarch64_contains_opt): New.
5292 (aarch64_get_extension_string_for_isa_flags): Output smallest set.
5293 * config/aarch64/aarch64-option-extensions.def
5294 (AARCH64_OPT_EXTENSION): Explicitly include AES and SHA2 in crypto.
5295 (fp, simd, crc, lse, fp16, rcpc, rdma, dotprod, aes, sha2, sha3,
5296 sm4, fp16fml, sve, profile, rng, memtag, sb, ssbs, predres):
5297 Set is_synthetic to false.
5298 (crypto): Set is_synthetic to true.
5299 * config/aarch64/driver-aarch64.c (AARCH64_OPT_EXTENSION): Add
5300 SYNTHETIC.
5301
5302 2019-02-25 Tamar Christina <tamar.christina@arm.com>
5303
5304 * config/arm/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
5305 vfmlal_high_u32, vfmlsl_high_u32, vfmlalq_low_u32, vfmlslq_low_u32,
5306 vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
5307 vfmlal_lane_high_u32, vfmlalq_laneq_low_u32, vfmlalq_lane_low_u32,
5308 vfmlal_laneq_low_u32, vfmlalq_laneq_high_u32, vfmlalq_lane_high_u32,
5309 vfmlal_laneq_high_u32, vfmlsl_lane_low_u32, vfmlsl_lane_high_u32,
5310 vfmlslq_laneq_low_u32, vfmlslq_lane_low_u32, vfmlsl_laneq_low_u32,
5311 vfmlslq_laneq_high_u32, vfmlslq_lane_high_u32, vfmlsl_laneq_high_u32):
5312 Rename ...
5313 (vfmlal_low_f16, vfmlsl_low_f16, vfmlal_high_f16, vfmlsl_high_f16,
5314 vfmlalq_low_f16, vfmlslq_low_f16, vfmlalq_high_f16, vfmlslq_high_f16,
5315 vfmlal_lane_low_f16, vfmlal_lane_high_f16, vfmlalq_laneq_low_f16,
5316 vfmlalq_lane_low_f16, vfmlal_laneq_low_f16, vfmlalq_laneq_high_f16,
5317 vfmlalq_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_lane_low_f16,
5318 vfmlsl_lane_high_f16, vfmlslq_laneq_low_f16, vfmlslq_lane_low_f16,
5319 vfmlsl_laneq_low_f16, vfmlslq_laneq_high_f16, vfmlslq_lane_high_f16,
5320 vfmlsl_laneq_high_f16): ... To this.
5321 * config/arm/neon.md: Update comments.
5322
5323 2019-02-25 Tamar Christina <tamar.christina@arm.com>
5324
5325 * config/aarch64/arm_neon.h (vfmlal_low_u32, vfmlsl_low_u32,
5326 vfmlalq_low_u32, vfmlslq_low_u32, vfmlal_high_u32, vfmlsl_high_u32,
5327 vfmlalq_high_u32, vfmlslq_high_u32, vfmlal_lane_low_u32,
5328 vfmlsl_lane_low_u32, vfmlal_laneq_low_u32, vfmlsl_laneq_low_u32,
5329 vfmlalq_lane_low_u32, vfmlslq_lane_low_u32, vfmlalq_laneq_low_u32,
5330 vfmlslq_laneq_low_u32, vfmlal_lane_high_u32, vfmlsl_lane_high_u32,
5331 vfmlal_laneq_high_u32, vfmlsl_laneq_high_u32, vfmlalq_lane_high_u32,
5332 vfmlslq_lane_high_u32, vfmlalq_laneq_high_u32, vfmlslq_laneq_high_u32):
5333 Rename ...
5334 (vfmlal_low_f16, vfmlsl_low_f16, vfmlalq_low_f16, vfmlslq_low_f16,
5335 vfmlal_high_f16, vfmlsl_high_f16, vfmlalq_high_f16, vfmlslq_high_f16,
5336 vfmlal_lane_low_f16, vfmlsl_lane_low_f16, vfmlal_laneq_low_f16,
5337 vfmlsl_laneq_low_f16, vfmlalq_lane_low_f16, vfmlslq_lane_low_f16,
5338 vfmlalq_laneq_low_f16, vfmlslq_laneq_low_f16, vfmlal_lane_high_f16,
5339 vfmlsl_lane_high_f16, vfmlal_laneq_high_f16, vfmlsl_laneq_high_f16,
5340 vfmlalq_lane_high_f16, vfmlslq_lane_high_f16, vfmlalq_laneq_high_f16,
5341 vfmlslq_laneq_high_f16): ... To this.
5342
5343 2019-02-25 Alexander Monakov <amonakov@ispras.ru>
5344
5345 PR rtl-optimization/86096
5346 * df-scan.c (df_mw_compare): Do not check mw_reg fields when
5347 comparing mw_order values.
5348
5349 2019-02-25 Jakub Jelinek <jakub@redhat.com>
5350
5351 PR target/89434
5352 * config/arm/arm.md (*subsi3_carryin_const): Use
5353 arm_neg_immediate_operand predicate instead of
5354 arm_not_immediate_operand, "L" constraint instead of "K" and
5355 print it using %n2 instead of %B2.
5356 (*subsi3_carryin_const0): New define_insn.
5357 (*subsi3_carryin_compare_const): Use const_int_I_operand predicate
5358 instead of arm_not_operand and "I" constraint instead of "K" and
5359 print it using %n3 instead of %B2. Instead of using match_dup 2 add
5360 another match_operand and in the condition check that it is negation
5361 of operands[2].
5362 (*subsi3_carryin_compare_const0): New define_ins.
5363 (*subdi_di_zesidi): Adjust to use *subsi3_carryin_const0 instead of
5364 *subsi3_carryin_const.
5365 (*arm_cmpdi_insn): Fix splitting into *subsi3_carryin_compare_const,
5366 split into *subsi3_carryin_compare_const0 if the highpart is zero.
5367
5368 PR target/89438
5369 * config/arm.vfp.md (*negdf2_vfp): Use
5370 gen_int_mode (0x80000000, SImode) instead of GEN_INT (0x80000000).
5371 * config/arm/neon.md (neon_copysignf<mode>): Likewise.
5372
5373 2019-02-24 Jakub Jelinek <jakub@redhat.com>
5374
5375 PR rtl-optimization/89445
5376 * simplify-rtx.c (simplify_ternary_operation): Don't use
5377 simplify_merge_mask on operands that may trap.
5378 * rtlanal.c (may_trap_p_1): Use FLOAT_MODE_P instead of
5379 SCALAR_FLOAT_MODE_P checks. For integral division by zero, if
5380 second operand is CONST_VECTOR, check if any element could be zero.
5381 Don't expect traps for VEC_{MERGE,SELECT,CONCAT,DUPLICATE} unless
5382 their operands can trap.
5383
5384 2019-02-23 Martin Sebor <msebor@redhat.com>
5385
5386 * gimple-ssa-sprintf.c (target_strtol): Rename...
5387 (target_strtohwi): ...to this. Handle values up to HOST_WIDE_INT_MAX.
5388 (parse_directive): Adjust to name change. Use HOST_WIDE_INT_MAX to
5389 check for range error.
5390
5391 2019-02-23 H.J. Lu <hongjiu.lu@intel.com>
5392
5393 PR driver/69471
5394 * opts-common.c (prune_options): Also prune joined switches
5395 with Negative and RejectNegative.
5396 * config/i386/i386.opt (march=): Add Negative(march=).
5397 (mtune=): Add Negative(mtune=).
5398 * doc/options.texi: Document Negative used together with Joined
5399 and RejectNegative.
5400
5401 2019-02-22 Martin Sebor <msebor@redhat.com>
5402
5403 * doc/extend.texi (Other Builtins): Add
5404 __builtin_is_constant_evaluated.
5405
5406 2019-02-22 Richard Biener <rguenther@suse.de>
5407
5408 PR tree-optimization/87609
5409 * tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques.
5410
5411 2019-02-22 Jeff Law <law@redhat.com>
5412
5413 PR rtl-optimization/87761
5414 * config/mips/mips.md: Add new combiner pattern to recognize
5415 a bitfield extraction using (ashiftrt (truncate (ashift (...)))).
5416
5417 2019-02-22 Matthew Malcomson <matthew.malcomson@arm.com>
5418
5419 PR target/89324
5420 * config/aarch64/aarch64.md: Use aarch64_general_reg predicate on
5421 destination register in peepholes generating patterns for ADDS/SUBS.
5422 (add<mode>3_compare0,
5423 *addsi3_compare0_uxtw, add<mode>3_compareC,
5424 add<mode>3_compareV_imm, add<mode>3_compareV,
5425 *adds_<optab><ALLX:mode>_<GPI:mode>,
5426 *subs_<optab><ALLX:mode>_<GPI:mode>,
5427 *adds_<optab><ALLX:mode>_shift_<GPI:mode>,
5428 *subs_<optab><ALLX:mode>_shift_<GPI:mode>,
5429 *adds_<optab><mode>_multp2, *subs_<optab><mode>_multp2,
5430 *sub<mode>3_compare0, *subsi3_compare0_uxtw,
5431 sub<mode>3_compare1): Allow stack pointer for source register.
5432 * config/aarch64/predicates.md (aarch64_general_reg): New predicate.
5433
5434 2019-02-22 Martin Sebor <msebor@redhat.com>
5435
5436 PR tree-optimization/88993
5437 PR tree-optimization/88853
5438 * gimple-ssa-sprintf.c (sprintf_dom_walker::call_info::is_file_func):
5439 New helper.
5440 (sprintf_dom_walker::call_info::is_string_func): New helper.
5441 (format_directive): Only issue "may exceed" 4095/INT_MAX warnings
5442 for formatted string functions.
5443 (sprintf_dom_walker::handle_gimple_call): Fix a typo in a comment.
5444
5445 2019-02-22 Martin Sebor <msebor@redhat.com>
5446
5447 PR c/89425
5448 * c-parser.c (sizeof_ptr_memacc_comptypes): Avoid warning in
5449 unreachable subexpressions.
5450
5451 2019-02-22 H.J. Lu <hongjiu.lu@intel.com>
5452 Hongtao Liu <hongtao.liu@intel.com>
5453 Sunil K Pandey <sunil.k.pandey@intel.com>
5454
5455 PR target/87007
5456 * config/i386/i386-passes.def: Add
5457 pass_remove_partial_avx_dependency.
5458 * config/i386/i386-protos.h
5459 (make_pass_remove_partial_avx_dependency): New.
5460 * config/i386/i386.c (make_pass_remove_partial_avx_dependency):
5461 New function.
5462 (pass_data_remove_partial_avx_dependency): New.
5463 (pass_remove_partial_avx_dependency): Likewise.
5464 (make_pass_remove_partial_avx_dependency): Likewise.
5465 * config/i386/i386.md (avx_partial_xmm_update): New attribute.
5466 (*extendsfdf2): Add avx_partial_xmm_update.
5467 (truncdfsf2): Likewise.
5468 (*float<SWI48:mode><MODEF:mode>2): Likewise.
5469 (SF/DF conversion splitters): Disabled for TARGET_AVX.
5470
5471 2019-02-22 Aldy Hernandez <aldyh@redhat.com>
5472
5473 PR middle-end/85598
5474 * gimple-ssa-sprintf.c (pass_sprintf_length::execute): Enable loop
5475 analysis for pass.
5476
5477 2019-02-22 Thiago Macieira <thiago.macieira@intel.com>
5478
5479 PR target/89444
5480 * config/i386/i386.h (PTA_WESTMERE): Remove PTA_AES.
5481 (PTA_SKYLAKE): Add PTA_AES.
5482 (PTA_GOLDMONT): Likewise.
5483
5484 2019-02-22 Sudakshina Das <sudi.das@arm.com>
5485
5486 * config/aarch64/aarch64.c (aarch64_output_mi_thunk): Add bti
5487 instruction if enabled.
5488 (aarch64_override_options): Remove reference to return address key.
5489
5490 2019-02-22 Richard Biener <rguenther@suse.de>
5491
5492 PR tree-optimization/89440
5493 * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove
5494 not necessary assert.
5495
5496 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
5497
5498 PR fortran/72741
5499 * omp-general.c (oacc_replace_fn_attrib): Mostly split out into...
5500 (oacc_replace_fn_attrib_attr): ... this new function.
5501 * omp-general.h (oacc_replace_fn_attrib_attr): New prototype.
5502 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Revert workaround.
5503
5504 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5505
5506 * config/arm/arm-cpus.in (ares): Rename to...
5507 (neoverse-n1): ... This. Add ares as alias.
5508 * config/arm/arm-tables.opt: Regenerate.
5509 * config/arm/arm-tune.md: Likewise.
5510 * doc/invoke.txt (ARM Options): Document neoverse-n1.
5511
5512 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5513
5514 * config/aarch64/aarch64-cores.def (neoverse-e1): Define.
5515 * config/aarch64/aarch64-tune.md: Regenerate.
5516 * doc/invoke.texi (AArch64 Options): Document neoverse-e1 -mcpu option.
5517
5518 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5519
5520 * config/aarch64/aarch64.c (ares_tunings): Rename to...
5521 (neoversen1_tunings): ... This.
5522 * config/aarch64/aarch64-cores.def (ares): Change tuning to the above.
5523 (neoverse-n1): New CPU.
5524 * config/aarch64/aarch64-tune.md: Regenerate.
5525 * doc/invoke.txt (AArch64 Options): Document neoverse-n1.
5526
5527 2019-02-22 Richard Biener <rguenther@suse.de>
5528
5529 PR middle-end/87609
5530 * cfghooks.h (dependence_hash): New typedef.
5531 (struct copy_bb_data): New type.
5532 (cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument.
5533 (duplicate_block): Likewise.
5534 * cfghooks.c (duplicate_block): Pass down copy_bb_data.
5535 (copy_bbs): Create and pass down copy_bb_data.
5536 * cfgrtl.c (cfg_layout_duplicate_bb): Adjust.
5537 (rtl_duplicate_bb): Likewise.
5538 * tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL
5539 remap dependence info.
5540
5541 2019-02-22 Richard Biener <rguenther@suse.de>
5542
5543 PR tree-optimization/87609
5544 * tree-core.h (tree_base): Document special clique values.
5545 * tree-inline.c (remap_dependence_clique): Do not use the
5546 special clique value of one.
5547 (maybe_set_dependence_info): Use clique one.
5548 (clear_dependence_clique): New callback.
5549 (compute_dependence_clique): Clear clique one from all refs
5550 before assigning it (again).
5551
5552 2019-02-21 Martin Sebor <msebor@redhat.com>
5553
5554 * doc/extend.texi (__clear_cache): Correct signature.
5555
5556 2019-02-21 Ian Lance Taylor <iant@golang.org>
5557
5558 PR go/89170
5559 * varasm.c (decode_addr_const): Call lookup_constant_def rather
5560 than output_constant_def.
5561 (add_constant_to_table): New static function.
5562 (output_constant_def): Call add_constant_to_table.
5563 (tree_output_constant_def): Likewise.
5564
5565 2019-02-21 Jakub Jelinek <jakub@redhat.com>
5566
5567 PR c++/89285
5568 * builtins.c (fold_builtin_arith_overflow): If first two args are
5569 INTEGER_CSTs, set intres and ovfres to constants rather than calls
5570 to ifn.
5571
5572 2019-02-21 H.J. Lu <hongjiu.lu@intel.com>
5573
5574 PR target/87412
5575 * config/i386/i386.c (ix86_set_indirect_branch_type): Issue an
5576 error for -mindirect-branch/-mfunction-return with incompatible
5577 -fcf-protection.
5578
5579 2019-02-21 Jakub Jelinek <jakub@redhat.com>
5580
5581 PR bootstrap/88714
5582 * constraints.md (q): Remove.
5583 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use rk constraint
5584 instead of q.
5585
5586 2019-02-21 Martin Jambor <mjambor@suse.cz>
5587
5588 PR hsa/89302
5589 * omp-general.c (omp_extract_for_data): Removed a duplicate call
5590 to omp_adjust_for_condition, moved NE_EXPR code_cond processing...
5591 (omp_adjust_for_condition): ...here. Added necessary parameters.
5592 * omp-general.h (omp_adjust_for_condition): Updated declaration.
5593 * omp-grid.c (grid_attempt_target_gridification): Adjust to pass
5594 proper values to new parameters of omp_adjust_for_condition.
5595
5596 2019-02-20 Jakub Jelinek <jakub@redhat.com>
5597
5598 PR middle-end/89412
5599 * expr.c (expand_assignment): If result is a MEM, use change_address
5600 instead of simplify_gen_subreg.
5601
5602 2019-02-20 Jakub Jelinek <jakub@redhat.com>
5603 David Malcolm <dmalcolm@redhat.com>
5604
5605 PR middle-end/89091
5606 * fold-const.c (decode_field_reference): Return NULL_TREE if
5607 lang_hooks.types.type_for_size returns NULL. Check it before
5608 overwriting *exp_. Use return NULL_TREE instead of return 0.
5609
5610 2019-02-20 Jakub Jelinek <jakub@redhat.com>
5611
5612 PR middle-end/88074
5613 PR middle-end/89415
5614 * toplev.c (do_compile): Double the emin/emax exponents to workaround
5615 buggy mpc_norm.
5616
5617 2019-02-20 Uroš Bizjak <ubizjak@gmail.com>
5618
5619 PR target/89397
5620 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check
5621 TARGET_SSE in addition to TARGET_SSE_MATH.
5622
5623 (ix86_excess_precision): Ditto.
5624 (ix86_float_exceptions_rounding_supported_p): Ditto.
5625 (use_rsqrt_p): Ditto.
5626 * config/i386/sse.md (rsqrt<mode>2): Ditto.
5627
5628 2019-02-20 David Malcolm <dmalcolm@redhat.com>
5629
5630 PR c/89410
5631 * diagnostic-show-locus.c (layout::calculate_line_spans): Use
5632 linenum_arith_t when determining if two adjacent line spans are
5633 close enough to merge.
5634 (diagnostic_show_locus): Use linenum_arith_t when iterating over
5635 lines within each line_span.
5636
5637 2019-02-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
5638
5639 PR target/86487
5640 * lra-constraints.c(uses_hard_regs_p): Fix handling of
5641 paradoxical SUBREGS.
5642
5643 2019-02-20 Li Jia He <helijia@linux.ibm.com>
5644
5645 PR target/88100
5646 * gcc/config/rs6000/rs6000.c (rs6000_gimple_fold_builtin)
5647 <case ALTIVEC_BUILTIN_VSPLTISB, ALTIVEC_BUILTIN_VSPLTISH,
5648 ALTIVEC_BUILTIN_VSPLTISW>: Don't convert the operand before
5649 range checking it.
5650
5651 2019-02-19 Jonathan Wakely <jwakely@redhat.com>
5652
5653 * config/gcn/gcn.c (print_operand): Fix typo.
5654
5655 2019-02-19 Richard Biener <rguenther@suse.de>
5656
5657 PR middle-end/88074
5658 * toplev.c (do_compile): Initialize mpfr's exponent range
5659 based on available float modes.
5660
5661 2019-02-19 Eric Botcazou <ebotcazou@adacore.com>
5662
5663 * rtlanal.c (get_initial_register_offset): Fall back to the estimate
5664 as long as the epilogue isn't completed.
5665
5666 2019-02-18 Martin Sebor <msebor@redhat.com>
5667
5668 * doc/cpp.texi (Conditional syntax): Add __has_attribute,
5669 __has_cpp_attribute, and __has_include.
5670
5671 2019-02-18 Martin Sebor <msebor@redhat.com>
5672
5673 * doc/invoke.texi (-Wreturn-type): Correct and expand.
5674
5675 2019-02-18 Martin Sebor <msebor@redhat.com>
5676
5677 PR middle-end/89294
5678 * tree.c (valid_constant_size_p): Avoid assuming size is a constant
5679 expression.
5680 * tree.h (cst_size_error): Add the cst_size_not_constant enumerator.
5681
5682 2019-02-18 Richard Biener <rguenther@suse.de>
5683
5684 PR tree-optimization/89296
5685 * tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
5686 of no-warning flag to cases that might emit the bogus warning.
5687
5688 2019-02-18 Jakub Jelinek <jakub@redhat.com>
5689
5690 PR bootstrap/88714
5691 * config/arm/arm.md (*arm_movdi, *movdf_soft_insn): Use "r" instead of
5692 "q" constraint.
5693 * config/arm/vfp.md (*movdi_vfp): Likewise.
5694 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use "r" instead of
5695 "q" constraint for operands[0].
5696
5697 PR target/89369
5698 * config/s390/s390.md (*r<noxa>sbg_<mode>_srl_bitmask,
5699 *r<noxa>sbg_<mode>_sll, *r<noxa>sbg_<mode>_srl): Don't construct
5700 pattern in a temporary buffer.
5701 (*r<noxa>sbg_sidi_srl): Likewise. Always use 32 as I3 rather
5702 than 64-operands[2].
5703
5704 PR target/89361
5705 * config/s390/s390.c (s390_indirect_branch_attrvalue,
5706 s390_indirect_branch_settings): Define unconditionally.
5707 (s390_set_current_function): Likewise, but guard the whole body except
5708 the s390_indirect_branch_settings call with
5709 #if S390_USE_TARGET_ATTRIBUTE.
5710 (TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally.
5711
5712 * config/s390/s390.md (*<risbg_n>_ior_and_sr_ze,
5713 *<risbg_n>_<mode>_ior_and_lshiftrt, *<risbg_n>_sidi_ior_and_lshiftrt):
5714 Use HOST_WIDE_INT_M1U instead of ~(0ULL).
5715 (*<risbg_n>_and_subregdi_rotr, *<risbg_n>_and_subregdi_rotl): Use
5716 HOST_WIDE_INT_1U instead of 1ULL.
5717 (*pre_z10_extzv<mode>, *pre_z10_extv<mode>): Change mask type from int
5718 to unsigned HOST_WIDE_INT, use HOST_WIDE_INT_1U instead of 1ul.
5719 (*insv<mode><clobbercc_or_nocc>_appendbitsleft,
5720 z = (x << c) | (y >> d) splitters): Use HOST_WIDE_INT_1U
5721 instead of 1UL.
5722 (*insv<mode>_mem_reg, *insvdi_mem_reghigh): Use HOST_WIDE_INT_1U
5723 instead of 1ul.
5724
5725 2019-02-18 Martin Jambor <mjambor@suse.cz>
5726
5727 PR tree-optimization/89209
5728 * tree-sra.c (create_access_replacement): New optional parameter
5729 reg_tree. Use it as a type if non-NULL and access type is not of
5730 a register type.
5731 (get_repl_default_def_ssa_name): New parameter REG_TYPE, pass it
5732 to create_access_replacement.
5733 (sra_modify_assign): Pass LHS type to get_repl_default_def_ssa_name.
5734 Check lacc is non-NULL before attempting to re-create it on the RHS.
5735
5736 2019-02-18 Martin Liska <mliska@suse.cz>
5737
5738 PR ipa/89306
5739 * cgraph.c (symbol_table::create_edge): Set m_summary_id to -1
5740 by default.
5741 (symbol_table::free_edge): Recycle m_summary_id.
5742 * cgraph.h (get_summary_id): New.
5743 (symbol_table::release_symbol): Set m_summary_id to -1
5744 by default.
5745 (symbol_table::allocate_cgraph_symbol): Recycle m_summary_id.
5746 * ipa-fnsummary.c (ipa_fn_summary_t): Switch from
5747 function_summary to fast_function_summary.
5748 * ipa-fnsummary.h (ipa_fn_summary_t): Likewise.
5749 * ipa-pure-const.c (class funct_state_summary_t):
5750 Switch from function_summary to fast_function_summary.
5751 * ipa-reference.c (class ipa_ref_var_info_summary_t): Likewise.
5752 (class ipa_ref_opt_summary_t): Switch from function_summary
5753 to fast_function_summary.
5754 * symbol-summary.h (class function_summary_base): New class
5755 that is created from base of former function_summary.
5756 (function_summary_base::unregister_hooks): New.
5757 (class function_summary): Inherit from function_summary_base.
5758 (class call_summary_base): New class
5759 that is created from base of former call_summary.
5760 (class call_summary): Inherit from call_summary_base.
5761 (struct is_same): New.
5762 (class fast_function_summary): New summary class.
5763 (class fast_call_summary): New summary class.
5764 * vec.h (vec_safe_grow_cleared): New function.
5765
5766 2019-02-18 Martin Liska <mliska@suse.cz>
5767
5768 * config/i386/i386.c (ix86_get_multilib_abi_name): New function.
5769 (TARGET_GET_MULTILIB_ABI_NAME): New macro defined.
5770 * doc/tm.texi: Document new target hook.
5771 * doc/tm.texi.in: Likewise.
5772 * target.def: Add new target macro.
5773 * gcc.c (find_fortran_preinclude_file): Do not search multilib
5774 suffixes.
5775
5776 2019-02-17 Alan Modra <amodra@gmail.com>
5777
5778 PR target/89271
5779 * config/rs6000/rs6000.md (<bd>_<mode> split): Check for an int
5780 output reg on add insn.
5781 (<bd>tf_<mode> split): Likewise. Match predicates with insn.
5782
5783 2019-02-16 H.J. Lu <hongjiu.lu@intel.com>
5784
5785 PR target/89372
5786 * config/i386/sse.md (ssedoublemode): Remove V4HI.
5787 (PMULHRSW): Likewise.
5788 (<ssse3_avx2>_pmulhrsw<mode>3): Require TARGET_SSSE3, not
5789 TARGET_AVX2.
5790 (ssse3_pmulhrswv4hi3): New expander.
5791
5792 2019-02-16 H.J. Lu <hongjiu.lu@intel.com>
5793
5794 * config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
5795 MMX. Add isa attribute.
5796
5797 2019-02-16 Jakub Jelinek <jakub@redhat.com>
5798
5799 PR rtl-optimization/66152
5800 * builtins.h (c_readstr): Declare.
5801 * builtins.c (c_readstr): Remove forward declaration. Add
5802 null_terminated_p argument, if false, read all bytes from the
5803 string instead of stopping after '\0'.
5804 * expr.c (string_cst_read_str): New function.
5805 (store_expr): Use string_cst_read_str instead of
5806 builtin_strncpy_read_str. Try to store by pieces the whole
5807 exp_len first, and only if that fails, split it up into
5808 store by pieces followed by clear_storage. Formatting fix.
5809
5810 * config/i386/i386.md (*movqi_internal): Remove static from
5811 buf variable. Use output_asm_insn (buf, operands); return "";
5812 instead of return buf;.
5813 * config/i386/sse.md (<sse>_andnot<mode>3<mask_name>,
5814 *<code><mode>3<mask_name>, *andnot<mode>3, *andnottf3, *<code><mode>3,
5815 *<code>tf3, <mask_codefor><code><mode>3<mask_name>): Likewise.
5816
5817 2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
5818
5819 * config/sparc/linux.h (ASAN_CC1_SPEC): Define.
5820 (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC and ASAN_CC1_SPEC.
5821 * config/sparc/linux64.h (ASAN_CC1_SPEC): Likewise.
5822 (CC1_SPEC): Likewise.
5823 * config/sparc/sparc.c (sparc_asan_shadow_offset): Adjust for 64-bit.
5824
5825 2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
5826
5827 * asan.c (asan_emit_stack_protection): Use full-sized mask to align
5828 the base address on 64-bit strict-alignment platforms.
5829
5830 2019-02-15 H.J. Lu <hongjiu.lu@intel.com>
5831
5832 * config/i386/i386.h (VALID_MMX_REG_MODE): Correct the misplaced ')'.
5833
5834 2019-02-15 Uroš Bizjak <ubizjak@gmail.com>
5835
5836 * config/i386/darwin.h (TARGET_FPMATH_DEFAULT_P): New define.
5837
5838 2019-02-15 Aaron Sawdey <acsawdey@linux.ibm.com>
5839
5840 PR rtl-optimization/88308
5841 * shrink-wrap.c (move_insn_for_shrink_wrap): Fix LABEL_NUSES counts
5842 on copied instruction.
5843
5844 2019-02-15 Eric Botcazou <ebotcazou@adacore.com>
5845
5846 * final.c (insn_current_reference_address): Replace test on JUMP_P
5847 with test on jump_to_label_p.
5848 * config/visium/visium-passes.def: New file.
5849 * config/visium/t-visium (PASSES_EXTRA): Define.
5850 * config/visium/visium-protos.h (make_pass_visium_reorg): Declare.
5851 * config/visium/visium.h (TRAMPOLINE_SIZE): Adjust.
5852 (TRAMPOLINE_ALIGNMENT): Define.
5853 * config/visium/visium.c (visium_option_override): Do not register
5854 the machine-specific reorg pass here.
5855 (visium_trampoline_init): Align the BRA insn on a 64-bit boundary
5856 for the GR6.
5857 (output_branch): Adjust threshold for long branch instruction.
5858 * config/visium/visium.md (cpu): Move around.
5859 (length): Adjust for the GR6.
5860
5861 2019-02-15 Richard Biener <rguenther@suse.de>
5862 Jakub Jelinek <jakub@redhat.com>
5863
5864 PR tree-optimization/89278
5865 * tree-loop-distribution.c: Include tree-eh.h.
5866 (generate_memset_builtin, generate_memcpy_builtin): Call
5867 rewrite_to_non_trapping_overflow on builtin->size before passing it
5868 to force_gimple_operand_gsi.
5869
5870 2019-02-15 Jakub Jelinek <jakub@redhat.com>
5871
5872 PR other/89342
5873 * optc-save-gen.awk: Handle optimize_fast like optimize_size or
5874 optimize_debug.
5875 * opth-gen.awk: Likewise.
5876
5877 2019-02-15 Uroš Bizjak <ubizjak@gmail.com>
5878
5879 * config/i386/i386.h (TARGET_SUBTARGET64_ISA_DEFAULT):
5880 Enable MMX, SSE and SSE2 by default.
5881 * config/i386/i386.c (ix86_option_override_internal): Do not
5882 explicitly set MMX, SSE and SSE2 flags for TARGET_64BIT here.
5883
5884 2019-02-14 Jakub Jelinek <jakub@redhat.com>
5885
5886 PR rtl-optimization/89354
5887 * combine.c (make_extraction): Punt if extraction_mode is narrower
5888 than len bits.
5889
5890 2019-02-14 Maya Rashish <coypu@sdf.org>
5891
5892 * config.gcc (*-*-netbsd*): Add netbsd-d.o.
5893 * config/netbsd-d.c: New file.
5894 * config/t-netbsd: Add netbsd-d.o
5895
5896 2018-02-14 Steve Ellcey <sellcey@marvell.com>
5897
5898 * config/aarch64/aarch64.c (aarch64_attribute_table): Change
5899 affects_type_identity to true for aarch64_vector_pcs.
5900 (aarch64_comp_type_attributes): New function.
5901 (TARGET_COMP_TYPE_ATTRIBUTES): New macro.
5902
5903 2019-02-14 Tamar Christina <tamar.christina@arm.com>
5904
5905 PR target/88850
5906 * config/arm/iterators.md (ANY64): Add V4HF.
5907
5908 2019-02-14 Martin Liska <mliska@suse.cz>
5909
5910 PR rtl-optimization/89242
5911 * dce.c (delete_unmarked_insns): Call free_dominance_info we
5912 process a transformation.
5913
5914 2019-02-14 Jakub Jelinek <jakub@redhat.com>
5915
5916 PR tree-optimization/89314
5917 * fold-const.c (fold_binary_loc): Cast strlen argument to
5918 const char * before dereferencing it. Formatting fixes.
5919
5920 PR middle-end/89284
5921 * passes.def: Swap pass_ubsan and pass_early_warn_uninitialized.
5922
5923 2019-02-13 Ian Lance Taylor <iant@golang.org>
5924
5925 * optc-save-gen.awk: Set var_opt_hash for initial optimizations
5926 and set current index for other optimizations.
5927
5928 2019-02-13 Uroš Bizjak <ubizjak@gmail.com>
5929
5930 * config/i386/sse.md (vec_set<VI4F_256_512:mode>_0): Use
5931 nonimmediate_operand as operand 2 predicate.
5932 (vec_set<VF2_512_256:mode>_0): Ditto.
5933 (vec_set<VI8_AVX_AVX512F:mode>_0): Ditto.
5934 (*vec_concatv2si): Remove alternative 2.
5935 (*vec_concatv4si_0): Use vm constraint for alternative 0.
5936 (*vec_concatv4si_0): Remove preferred_for_speed attribute.
5937 (vec_concatv2di): Split alternatives 4,5,6 to ...
5938 (*vec_concatv2di_0) ... new pattern.
5939
5940 2019-02-13 Wilco Dijkstra <wdijkstr@arm.com>
5941
5942 PR target/89190
5943 * config/arm/arm.c (ldm_stm_operation_p) Set
5944 addr_reg_in_reglist correctly for first register.
5945 (load_multiple_sequence): Remove dead base check.
5946 (gen_ldm_seq): Correctly set write_back for Thumb-1.
5947
5948 2019-02-13 Tamar Christina <tamar.christina@arm.com>
5949
5950 PR target/88847
5951 * config/aarch64/aarch64-sve.md (*pred_mov<mode>, pred_mov<mode>):
5952 Expose as @aarch64_pred_mov.
5953 * config/aarch64/aarch64.c (aarch64_classify_address):
5954 Use expand_insn which legitimizes operands.
5955
5956 2019-02-13 Martin Liska <mliska@suse.cz>
5957
5958 * builtins.h (expand_builtin_with_bounds): Remove declaration.
5959 * calls.c (struct arg_data): Remove special_slot, pointer_arg
5960 and pointer_offset fields.
5961 (initialize_argument_information): Remove usage of dead
5962 fields.
5963 * cgraph.h (struct cgraph_thunk_info): Remove
5964 add_pointer_bounds_args.
5965 * cgraphunit.c (cgraph_node::expand_thunk): Remove usage of dead
5966 fields.
5967 (cgraph_node::assemble_thunks_and_aliases): Remove usage of dead
5968 fields.
5969 * config/i386/i386.c (ix86_function_arg_advance): Remove
5970 unrelated comment.
5971 (struct builtin_isa): Remove leaf_p and nothrow_p fields.
5972 (def_builtin): Remove usage of dead
5973 fields.
5974 (ix86_add_new_builtins): Likewise.
5975 * ipa-fnsummary.c (compute_fn_summary): Likewise.
5976 * ipa-icf.c (sem_function::equals_wpa): Likewise.
5977 (sem_function::init): Likewise.
5978 (sem_variable::merge): Likewise.
5979 * ipa-visibility.c (function_and_variable_visibility): Likewise.
5980 * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
5981 * lto-cgraph.c (lto_output_node): Likewise.
5982 (lto_output_varpool_node): Likewise.
5983 (input_node): Likewise.
5984 (input_varpool_node): Likewise.
5985 * lto-streamer-out.c (lto_output): Likewise.
5986 * tree-inline.c (expand_call_inline): Remove usage of
5987 assign_stmts.
5988 * tree-inline.h (struct copy_body_data): Likewise.
5989 * varpool.c (varpool_node::dump): Likewise.
5990
5991 2019-02-13 Jakub Jelinek <jakub@redhat.com>
5992
5993 PR middle-end/89303
5994 * tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var
5995 into pt->vars_contains_escaped_heap instead of setting
5996 pt->vars_contains_escaped_heap to it.
5997
5998 PR middle-end/89281
5999 * optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of
6000 INTVAL (size), compare it to GET_MODE_MASK instead of
6001 1 << GET_MODE_BITSIZE.
6002
6003 PR target/89290
6004 * config/i386/predicates.md (x86_64_immediate_operand): Allow
6005 TLS UNSPECs offsetted by signed 32-bit CONST_INT even with
6006 -mcmodel=large.
6007
6008 2019-02-13 Martin Liska <mliska@suse.cz>
6009
6010 PR lto/88858
6011 * cfgrtl.c (remove_barriers_from_footer): New function.
6012 (try_redirect_by_replacing_jump): Use it.
6013 (cfg_layout_redirect_edge_and_branch): Likewise.
6014
6015 2019-02-13 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
6016
6017 * config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be,
6018 vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines.
6019 * config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator.
6020 (crypto_vsbox_<mode>, crypto_<CR_insn>_<mode>): New define_insns.
6021 * config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1.
6022 (VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE):
6023 New BU_CRYPTO_2.
6024 * config/rs6000/rs6000.c (builtin_function_type)
6025 <CRYPTO_BUILTIN_VSBOX_BE, CRYPTO_BUILTIN_VCIPHER_BE,
6026 CRYPTO_BUILTIN_VCIPHERLAST_BE, CRYPTO_BUILTIN_VNCIPHER_BE,
6027 CRYPTO_BUILTIN_VNCIPHERLAST_BE>: New switch options.
6028 * doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be,
6029 vec_ncipher_be, vec_ncipherlast_be): New builtin functions.
6030
6031 2019-02-12 Pat Haugen <pthaugen@us.ibm.com>
6032
6033 * doc/invoke.texi (RS/6000 and PowerPC Options): Remove duplicate
6034 -maltivec. Delete -maltivec=be and -maltivec=le documentation.
6035
6036 2019-02-12 H.J. Lu <hongjiu.lu@intel.com>
6037
6038 PR target/89229
6039 * config/i386/i386.md (*movoi_internal_avx): Revert revision
6040 268678 and revision 268657.
6041 (*movti_internal): Likewise.
6042
6043 2019-02-12 Ilya Leoshkevich <iii@linux.ibm.com>
6044
6045 PR target/89233
6046 * config/s390/s390.c (s390_decompose_address): Update comment.
6047 (s390_check_qrst_address): Reject invalid address forms after
6048 LRA.
6049
6050 2019-02-12 Martin Liska <mliska@suse.cz>
6051
6052 PR lto/88876
6053 * ipa-pure-const.c (propagate_pure_const): Revert hunk as
6054 we need default values of funct_state for a function that
6055 is not optimized.
6056
6057 2019-02-12 Eric Botcazou <ebotcazou@adacore.com>
6058
6059 * asan.c (asan_expand_mark_ifn): Take into account the alignment of
6060 the object to pick the size of stores on strict-alignment platforms.
6061
6062 * config/sparc/sparc.md (*movsi_insn): Minor tweak.
6063 (*movdi_insn_sp32): Likewise.
6064 (*movdi_insn_sp64): Likewise.
6065
6066 2019-02-12 Jan Hubicka <hubicka@ucw.cz>
6067
6068 PR lto/88677
6069 * cgraphunit.c (analyze_functions): Clear READONLY flag for external
6070 types that needs constructiong.
6071 * tree.h (may_be_aliased): Do not check TYPE_NEEDS_CONSTRUCTING.
6072
6073 2019-02-12 Richard Biener <rguenther@suse.de>
6074
6075 PR tree-optimization/89253
6076 * tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can
6077 duplicate the loop.
6078
6079 2019-02-11 David Malcolm <dmalcolm@redhat.com>
6080
6081 PR lto/88147
6082 * input.c (selftest::test_line_offset_overflow): New selftest.
6083 (selftest::input_c_tests): Call it.
6084
6085 2019-02-11 Martin Sebor <msebor@redhat.com>
6086
6087 PR tree-optimization/88771
6088 * gimple-ssa-warn-restrict.c (pass_wrestrict::gate): Also enable
6089 when -Wstringop-overflow is set.
6090 (builtin_memref::builtin_memref): Adjust excessive upper bound
6091 only when lower bound is not excessive.
6092 (maybe_diag_overlap): Detect and diagnose excessive bounds via
6093 -Wstringop-ovefflow.
6094 (maybe_diag_offset_bounds): Rename...
6095 (maybe_diag_access_bounds): ...to this.
6096 (check_bounds_or_overlap): Adjust for name change above.
6097
6098 2019-02-11 Martin Sebor <msebor@redhat.com>
6099
6100 PR c++/87996
6101 * builtins.c (max_object_size): Move from here...
6102 * builtins.h (max_object_size): ...and here...
6103 * tree.c (max_object_size): ...to here...
6104 * tree.h (max_object_size): ...and here.
6105
6106 2019-02-11 Bill Schmidt <wschmidt@linux.ibm.com>
6107
6108 * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Shift-right
6109 and shift-left vector built-ins need to include a TRUNC_MOD_EXPR
6110 for correct semantics.
6111
6112 2019-02-11 Alan Modra <amodra@gmail.com>
6113
6114 * doc/invoke.texi (man page RS/6000 and PowerPC Options): Mention
6115 -mlongcall and -mpltseq.
6116 (RS/6000 and PowerPC Options <-mlongcall>): Mention inline PLT calls.
6117 (RS/6000 and PowerPC Options <-mpltseq>): Document.
6118 * config/rs6000/rs6000.h (TARGET_PLTSEQ): Define.
6119 * config/rs6000/sysv4.opt (mpltseq): New option.
6120 * config/rs6000/sysv4.h (TARGET_PLTSEQ): Redefine.
6121 (SUBTARGET_OVERRIDE_OPTIONS): Error if given -mpltseq when assembler
6122 support is lacking. Don't allow -mpltseq with -mbss-plt.
6123 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Warn if
6124 -mpltseq given for ELFv1.
6125 * config/rs6000/rs6000.c (rs6000_call_aix): Comment on UNSPEC_PLTSEQ.
6126 Only use UNSPEC_PLTSEQ for inline PLT calls.
6127 (rs6000_call_sysv, rs6000_sibcall_sysv): Expand comments. Only
6128 use UNSPEC_PLTSEQ for inline PLT calls.
6129 (rs6000_indirect_call_template_1, rs6000_longcall_ref),
6130 (rs6000_call_aix, rs6000_call_sysv, rs6000_sibcall_sysv): Replace
6131 uses of HAVE_AS_PLTSEQ with TARGET_PLTSEQ, simplifying.
6132 * config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
6133 (pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
6134 (pltseq_mtctr_<mode>): Likewise.
6135
6136 2019-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6137
6138 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Use 8-byte strings with
6139 Solaris ld.
6140 * configure: Regenerate.
6141
6142 2019-02-11 Jakub Jelinek <jakub@redhat.com>
6143
6144 PR bootstrap/88714
6145 * config/arm/ldrdstrd.md (*arm_ldrd, *arm_strd): Use q constraint
6146 instead of r.
6147
6148 2019-02-11 Hans-Peter Nilsson <hp@axis.com>
6149
6150 * function.c (assign_parm_setup_block): Use the stored
6151 size, not the passed size, when allocating stack-space,
6152 also for a parameter with alignment larger than
6153 MAX_SUPPORTED_STACK_ALIGNMENT.
6154
6155 2019-02-11 Martin Liska <mliska@suse.cz>
6156
6157 PR ipa/89009
6158 * ipa-cp.c (build_toporder_info): Remove usage of a param.
6159 * ipa-inline.c (inline_small_functions): Likewise.
6160 * ipa-pure-const.c (propagate_pure_const): Likewise.
6161 (propagate_nothrow): Likewise.
6162 * ipa-reference.c (propagate): Likewise.
6163 * ipa-utils.c (struct searchc_env): Remove unused field.
6164 (searchc): Always search across AVAIL_INTERPOSABLE.
6165 (ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as
6166 the only called IPA pure const can properly not propagate
6167 across interposable boundary.
6168 * ipa-utils.h (ipa_reduced_postorder): Remove param.
6169
6170 2019-02-11 Chung-Ju Wu <jasonwucj@gmail.com>
6171
6172 * config/nds32/nds32.md (call_internal, call_value_internal,
6173 sibcall_internal, sibcall_value_internal): Use SImode for mem rtx.
6174
6175 2019-02-11 Hans-Peter Nilsson <hp@axis.com>
6176
6177 * config/cris/cris.c (cris_preferred_minimum_alignment): Fix name
6178 typo.
6179
6180 2019-02-10 H.J. Lu <hongjiu.lu@intel.com>
6181
6182 * config/i386/constraints.md (Yd): Replace AVX512BW with AVX512DQ
6183 in comments
6184
6185 2019-02-10 Chung-Ju Wu <jasonwucj@gmail.com>
6186
6187 * config.gcc (with_nds32_lib): Set default --with-nds32-lib correctly.
6188
6189 2019-02-10 Jakub Jelinek <jakub@redhat.com>
6190
6191 PR tree-optimization/89268
6192 * tree-if-conv.c (version_loop_for_if_conversion): Push to preds only
6193 if preds is non-NULL.
6194
6195 2019-02-09 Jan Hubicka <hubicka@ucw.cz>
6196
6197 PR lto/89272
6198 * tree.c (fld_simplified_type_name): Also keep TYPE_DECL for
6199 polymorphic types.
6200
6201 2019-02-10 Monk Chiang <sh.chiang04@gmail.com>
6202
6203 * config/nds32/nds32.md (trap): New pattern.
6204
6205 2019-02-10 Monk Chiang <sh.chiang04@gmail.com>
6206
6207 * config/nds32/nds32.c (nds32_dwarf_register_span): Refine register
6208 dwarf span.
6209
6210 2019-02-10 Chung-Ju Wu <jasonwucj@gmail.com>
6211
6212 * config/nds32/nds32-md-auxiliary.c (nds32_spilt_doubleword): Support
6213 to split POST_INC.
6214
6215 2019-02-09 Jan Hubicka <hubicka@ucw.cz>
6216
6217 * ipa-visibility.c (localize_node): Also do not localize
6218 LDPR_PREVAILING_DEF_IRONLY_EXP.
6219
6220 2019-02-09 Jan Hubicka <hubicka@ucw.cz>
6221
6222 PR lto/87957
6223 * tree.c (fld_simplified_type_name): Use DECL_ASSEMBLER_NAME_SET_P
6224 instead of type_with_linkage.
6225
6226 2019-02-09 Jan Hubicka <hubicka@ucw.cz>
6227
6228 PR ipa/88755
6229 * params.def (uninlined-function-insns, uninlined-function-time,
6230 uninlined-thunk-insns, uninlined-thunk-time): Add artificial upper
6231 bound so we don't get overflows.
6232
6233 2019-02-09 Aaron Sawdey <acsawdey@linux.ibm.com>
6234
6235 * config/rs6000/rs6000-string.c (expand_compare_loop,
6236 expand_block_compare): Insert REG_BR_PROB notes in inline expansion of
6237 memcmp/strncmp.
6238
6239 2019-02-09 Jakub Jelinek <jakub@redhat.com>
6240
6241 PR middle-end/89246
6242 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
6243 If !node->definition and TYPE_ARG_TYPES is non-NULL, use
6244 TYPE_ARG_TYPES instead of DECL_ARGUMENTS.
6245
6246 2019-02-09 Alan Modra <amodra@gmail.com>
6247
6248 PR target/88343
6249 * config/rs6000/rs6000.c (save_reg_p): Correct calls_eh_return
6250 case. Match logic in rs6000_emit_prologue emitting pic_offset_table
6251 setup.
6252
6253 2019-02-08 Vladimir Makarov <vmakarov@redhat.com>
6254
6255 PR middle-end/88560
6256 * lra-constraints.c (process_alt_operands): Don't increase reject
6257 for memory when offset memory is required.
6258
6259 2019-02-08 Robin Dapp <rdapp@linux.ibm.com>
6260
6261 * config/s390/vector.md: Implement vector copysign.
6262
6263 2019-02-08 H.J. Lu <hongjiu.lu@intel.com>
6264
6265 * expr.c (expand_constructor): Correct indentations.
6266
6267 2019-02-08 Richard Biener <rguenther@suse.de>
6268
6269 PR tree-optimization/89247
6270 * tree-if-conv.c: Include tree-cfgcleanup.h.
6271 (version_loop_for_if_conversion): Record LOOP_VECTORIZED call.
6272 (tree_if_conversion): Pass through predicate vector.
6273 (pass_if_conversion::execute): Do CFG cleanup and SSA update
6274 inline, see if any if-converted loops we refrece in
6275 LOOP_VECTORIZED calls vanished and fixup.
6276 * tree-if-conv.h (tree_if_conversion): Adjust prototype.
6277
6278 2019-02-08 Ilya Leoshkevich <iii@linux.ibm.com>
6279
6280 * config/s390/constraints.md (jdd): New constraint.
6281
6282 2019-02-08 H.J. Lu <hongjiu.lu@intel.com>
6283
6284 PR target/89229
6285 * config/i386/i386.md (*movoi_internal_avx): Set mode to XI for
6286 upper 16 vector registers without TARGET_AVX512VL.
6287 (*movti_internal): Likewise.
6288
6289 2019-02-08 Jakub Jelinek <jakub@redhat.com>
6290
6291 PR rtl-optimization/89234
6292 * except.c (copy_reg_eh_region_note_forward): Return if note_or_insn
6293 is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P.
6294 (copy_reg_eh_region_note_backward): Likewise.
6295
6296 2019-02-08 Richard Biener <rguenther@suse.de>
6297
6298 PR middle-end/89223
6299 * tree-data-ref.c (initialize_matrix_A): Fail if constant
6300 doesn't fit in HWI.
6301 (analyze_subscript_affine_affine): Handle failure from
6302 initialize_matrix_A.
6303
6304 2019-02-08 Jakub Jelinek <jakub@redhat.com>
6305
6306 * cfganal.c (pre_and_rev_post_order_compute_fn): Use fn instead of
6307 cfun everywhere.
6308
6309 2019-02-07 David Malcolm <dmalcolm@redhat.com>
6310
6311 PR tree-optimization/86637
6312 PR tree-optimization/89235
6313 * tree-vect-loop.c (optimize_mask_stores): Add an
6314 auto_purge_vect_location sentinel to ensure that vect_location is
6315 purged on exit.
6316 * tree-vectorizer.c
6317 (auto_purge_vect_location::~auto_purge_vect_location): New dtor.
6318 (try_vectorize_loop_1): Add an auto_purge_vect_location sentinel
6319 to ensure that vect_location is purged on exit.
6320 (pass_slp_vectorize::execute): Likewise, replacing the manual
6321 reset.
6322 * tree-vectorizer.h (class auto_purge_vect_location): New class.
6323
6324 2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6325
6326 * config/aarch64/iterators.md (max_opp): New code_attr.
6327 (USMAX): New code iterator.
6328 * config/aarch64/predicates.md (aarch64_smin): New predicate.
6329 (aarch64_smax): Likewise.
6330 * config/aarch64/aarch64-simd.md (abd<mode>_3): Rename to...
6331 (*aarch64_<su>abd<mode>_3): ... Change RTL representation to
6332 MINUS (MAX MIN).
6333
6334 2019-02-07 H.J. Lu <hongjiu.lu@intel.com>
6335
6336 PR target/89229
6337 * config/i386/i386.md (*movoi_internal_avx): Set mode to OI
6338 for TARGET_AVX512VL.
6339 (*movti_internal): Set mode to TI for TARGET_AVX512VL.
6340
6341 2019-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
6342
6343 * config/s390/s390-builtin-types.def: Add new types.
6344 * config/s390/s390-builtins.def: (s390_vec_xl, s390_vec_xld2)
6345 (s390_vec_xlw4): Make the memory operand into a const pointer.
6346 (s390_vec_xld2, s390_vec_xlw4): Add a variant for single precision
6347 float.
6348 * config/s390/s390-c.c (s390_expand_overloaded_builtin): Generate
6349 a new vector type with the alignment of the scalar memory operand.
6350
6351 2019-02-07 Matthew Malcomson <matthew.malcomson@arm.com>
6352 Jakub Jelinek <jakub@redhat.com>
6353
6354 PR bootstrap/88714
6355 * config/arm/arm-protos.h (valid_operands_ldrd_strd,
6356 arm_count_ldrdstrd_insns): New declarations.
6357 * config/arm/arm.c (mem_ok_for_ldrd_strd): Remove broken handling of
6358 MINUS.
6359 (valid_operands_ldrd_strd): New function.
6360 (arm_count_ldrdstrd_insns): New function.
6361 * config/arm/ldrdstrd.md: Change peepholes to generate PARALLEL SImode
6362 sets instead of single DImode set and define new insns to match this.
6363
6364 2019-02-07 Tamar Christina <tamar.christina@arm.com>
6365
6366 * config/aarch64/aarch64-builtins.c (aarch64_fcmla_lane_builtin_data):
6367 Make it a C initializer.
6368
6369 2019-02-07 Tamar Christina <tamar.christina@arm.com>
6370
6371 PR/target 88850
6372 * config/arm/neon.md (*neon_mov<mode>): Add r -> r case.
6373
6374 2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6375
6376 * config/arm/neon.md (neon_<sup>dot<vsi2qi>):
6377 Use neon_dot<q> for type.
6378 (neon_<sup>dot_lane<vsi2qi>): Likewise.
6379
6380 2019-02-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6381
6382 * config/aarch64/aarch64-simd.md (aarch64_<sur>dot<vsi2qi>):
6383 Use neon_dot<q> for type.
6384 (aarch64_<sur>dot_lane<vsi2qi>): Likewise.
6385 (aarch64_<sur>dot_laneq<vsi2qi>): Likewise.
6386
6387 2019-02-06 Vladimir Makarov <vmakarov@redhat.com>
6388
6389 PR rtl-optimization/89225
6390 * lra-constaints.c (simplify_operand_subreg): Add subreg mode
6391 sizes check.
6392
6393 2019-02-06 Eric Botcazou <ebotcazou@adacore.com>
6394
6395 * config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage
6396 after restoring registers saved to allocate the frame on Windows.
6397
6398 2019-02-06 Richard Biener <rguenther@suse.de>
6399
6400 PR tree-optimization/89182
6401 * graphite.h (cached_scalar_evolution_in_region): Declare.
6402 * graphite.c (struct seir_cache_key): New.
6403 (struct sese_scev_hash): Likewise.
6404 (seir_cache): New global.
6405 (cached_scalar_evolution_in_region): New function.
6406 (graphite_transform_loops): Allocate and release seir_cache.
6407 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Use
6408 cached_scalar_evolution_in_region.
6409 * graphite-scop-detection.c (scop_detection::can_represent_loop):
6410 Simplify.
6411 (scop_detection::graphite_can_represent_expr: Use
6412 cached_scalar_evolution_in_region.
6413 (scop_detection::stmt_simple_for_scop_p): Likewise.
6414 (find_params_in_bb): Likewise.
6415 (gather_bbs::before_dom_children): Likewise.
6416 * graphite-sese-to-poly.c (create_pw_aff_from_tree): Likewise.
6417 (add_loop_constraints): Likewise.
6418
6419 2019-02-06 Jakub Jelinek <jakub@redhat.com>
6420
6421 PR middle-end/89210
6422 * fold-const-call.c (fold_const_vec_convert): Pass true as last
6423 operand to new_unary_operation only if both element types are integral
6424 and it isn't a widening conversion. Return NULL_TREE if
6425 new_unary_operation failed.
6426
6427 2019-02-05 Andreas Krebbel <krebbel@linux.ibm.com>
6428
6429 PR target/88856
6430 * config/s390/s390.md: Remove load and test FP splitter.
6431
6432 2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com>
6433
6434 PR target/89112
6435 * config/rs6000/rs6000-string.c (do_ifelse, expand_cmp_vec_sequence,
6436 expand_compare_loop, expand_block_compare_gpr,
6437 expand_strncmp_align_check, expand_strncmp_gpr_sequence): Insert
6438 REG_BR_PROB notes in inline expansion of memcmp/strncmp. Add
6439 #include "profile-count.h" and "predict.h" for types and functions
6440 needed to work with REG_BR_PROB notes.
6441
6442 2019-02-05 Aaron Sawdey <acsawdey@linux.ibm.com>
6443
6444 PR target/89112
6445 * config/rs6000/rs6000.md (<bd>tf_<mode>): Generate a local label
6446 for the long branch case.
6447
6448 2019-02-05 Jakub Jelinek <jakub@redhat.com>
6449
6450 PR target/89188
6451 * dce.c (delete_unmarked_insns): Don't remove no-op moves if they
6452 can throw, non-call exceptions are enabled and we can't delete
6453 dead exceptions or alter cfg. Set must_clean if
6454 delete_insn_and_edges returns true, don't set it blindly for calls.
6455 Assert that delete_unreachable_blocks is called only if can_alter_cfg.
6456
6457 PR rtl-optimization/89195
6458 * combine.c (make_extraction): For MEMs, don't extract bytes outside
6459 of the original MEM.
6460
6461 2019-02-05 Martin Liska <mliska@suse.cz>
6462
6463 PR gcov-profile/89000
6464 * gcov.c (function_summary): Remove argument.
6465 (file_summary): New function.
6466 (print_usage): Replace tabs with spaces.
6467 (generate_results): Use new function file_summary.
6468
6469 2019-02-05 Jakub Jelinek <jakub@redhat.com>
6470
6471 PR target/89186
6472 * optabs.c (prepare_cmp_insn): Pass x and y to
6473 emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).
6474
6475 2019-02-05 Richard Biener <rguenther@suse.de>
6476
6477 PR middle-end/89150
6478 * bitmap.h (struct bitmap_obstack): Do not mark GTY.
6479 (struct bitmap_element): Drop chain_prev so we properly recurse on
6480 the prev member, supporting tree views.
6481 (struct bitmap_head): GTY skip the obstack member.
6482
6483 2019-02-04 Alexander Monakov <amonakov@ispras.ru>
6484
6485 PR c/88698
6486 * doc/extend.texi (Vector Extensions): Add an example of using vector
6487 types together with x86 intrinsics.
6488
6489 2019-02-04 Alan Modra <amodra@gmail.com>
6490
6491 * config/rs6000/rs6000.c (rs6000_indirect_call_template_1): Increase
6492 str[] size to 160, and comment.
6493
6494 2019-02-04 Alan Modra <amodra@gmail.com>
6495
6496 * config/rs6000/rs6000.c (rs6000_indirect_call_template_1),
6497 (rs6000_pltseq_template): Guard output of TLS markers with
6498 TARGET_TLS_MARKERS.
6499 (rs6000_longcall_ref, rs6000_call_aix, rs6000_call_sysv),
6500 (rs6000_sibcall_sysv): Ignore TARGET_TLS_MARKERS when deciding
6501 to use inline PLT sequences.
6502 * config/rs6000/rs6000.md (pltseq_tocsave_<mode>),
6503 (pltseq_plt16_ha_<mode>, pltseq_plt16_lo_<mode>),
6504 (pltseq_mtctr_<mode>): Don't test TARGET_TLS_MARKERS in predicate.
6505
6506 2019-02-04 Martin Liska <mliska@suse.cz>
6507
6508 PR ipa/88985
6509 * ipa-fnsummary.c (estimate_edge_devirt_benefit): Bail
6510 out when ipa_fn_summaries does not contain entry for callee.
6511
6512 2019-02-04 Eric Botcazou <ebotcazou@adacore.com>
6513
6514 * config/sparc/sparc.h: Remove superfluous blank lines.
6515 * config/sparc/sparc.c (global_offset_table_rtx): Rename into...
6516 (got_register_rtx): ...this.
6517 (sparc_got): Adjust to above renaming.
6518 (sparc_tls_got): Likewise.
6519 (sparc_delegitimize_address): Likewise.
6520 (sparc_output_mi_thunk): Likewise.
6521 (sparc_init_pic_reg): Likewise.
6522 (save_local_or_in_reg_p): Fix test on the GOT register.
6523 (USE_HIDDEN_LINKONCE): Move around.
6524 (get_pc_thunk_name): Likewise.
6525 (gen_load_pcrel_sym): Likewise.
6526 (load_got_register): Likewise.
6527
6528 2019-02-04 Kito Cheng <kito.cheng@gmail.com>
6529
6530 * config/nds32/linux.h (GLIBC_DYNAMIC_LINKER): Define the naming rule
6531 of the dynamic linker: "ld-linux-nds32[le|be][f].so.1".
6532
6533 2019-02-04 Chung-Ju Wu <jasonwucj@gmail.com>
6534
6535 * config/nds32/nds32.c (nds32_legitimate_address_p): Add TLS model
6536 into consideration.
6537
6538 2019-02-04 Chung-Ju Wu <jasonwucj@gmail.com>
6539
6540 * config.gcc (with_nds32_lib, glibc):
6541 Remove TARGET_DEFAULT_TLSDESC_TRAMPOLINE=0 setting.
6542 * config/nds32/linux.h (TARGET_DEFAULT_TLSDESC_TRAMPOLINE): Delete.
6543 (NDS32_TLSDESC_TRAMPOLINE_SPEC): Delete.
6544
6545 2019-02-03 Uroš Bizjak <ubizjak@gmail.com>
6546
6547 PR target/89071
6548 * config/i386/i386.md (*sqrt<mode>2_sse): Add (v,0) alternative.
6549 Do not prefer (v,v) alternative for non-AVX targets and (m,v)
6550 alternative for speed when TARGET_SSE_PARTIAL_REG_DEPENDENCY is set.
6551 (*rcpsf2_sse): Ditto.
6552 (*rsqrtsf2_sse): Ditto.
6553 (sse4_1_round<mode<2): Ditto.
6554
6555 2019-02-03 Richard Biener <rguenther@suse.de>
6556
6557 PR debug/87295
6558 * dwarf2out.c (copy_ancestor_tree): Register non-stubs as
6559 orig.
6560
6561 2019-02-02 Jakub Jelinek <jakub@redhat.com>
6562
6563 PR middle-end/87887
6564 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
6565 Punt with warning on aggregate return or argument types. Ignore
6566 type/mode checking for uniform arguments.
6567
6568 2019-02-01 Segher Boessenkool <segher@kernel.crashing.org>
6569
6570 * combine.c (try_combine): Do not print "Can't combine" messages unless
6571 printing failed combination attempts.
6572
6573 2019-02-01 Martin Jambor <mjambor@suse.cz>
6574
6575 PR hsa/87863
6576 * omp-grid.c (grid_mark_variable_segment): Set assembler name of group
6577 segment and global segment variables before making them static.
6578
6579 2019-02-01 Martin Jambor <mjambor@suse.cz>
6580
6581 * omp-grid.c (grid_target_follows_gridifiable_pattern): Guard two
6582 missed optimization dump with dump_enabled_p.
6583
6584 2019-02-01 Richard Biener <rguenther@suse.de>
6585
6586 PR middle-end/88597
6587 * tree-scalar-evolution.c (analyze_scalar_evolution): Set up
6588 the instantiate cache.
6589 (instantiate_scev_binary): Elide second operand procesing
6590 if equal to the first.
6591 * tree-chrec.c (chrec_contains_symbols): Add visited set.
6592 (chrec_contains_undetermined): Likewise.
6593 (tree_contains_chrecs): Likewise.
6594
6595 2019-02-01 Jan Hubicka <hubicka@ucw.cz>
6596
6597 * parms.def (MAX_INLINE_INSNS_SINGLE): Reduce from 400 to 200.
6598
6599 2019-02-01 Jakub Jelinek <jakub@redhat.com>
6600
6601 PR tree-optimization/89143
6602 * wide-int-range.h (wide_int_range_absu): Declare.
6603 * wide-int-range.cc (wide_int_range_absu): New function.
6604 * tree-vrp.c (extract_range_from_unary_expr): Handle ABSU_EXPR.
6605
6606 PR tree-optimization/88107
6607 * tree-cfg.c (find_outermost_region_in_block): Add ALL argument,
6608 instead of assertion that eh_region_outermost is non-NULL, if it
6609 is NULL, set *ALL to true and return NULL.
6610 (move_sese_region_to_fn): Adjust caller, if all is set, call
6611 duplicate_eh_regions with NULL region.
6612
6613 2019-02-01 Richard Biener <rguenth@suse.de>
6614
6615 PR rtl-optimization/88593
6616 * mode-switching.c (optimize_mode_switching): Free dominators before
6617 calling cleanup_cfg.
6618
6619 2019-02-01 Bin Cheng <bin.cheng@linux.alibaba.com>
6620
6621 PR tree-optimization/88932
6622 * tree-predcom.c (try_combine_chains): Get loop bbs in dom order.
6623
6624 2019-01-31 Jakub Jelinek <jakub@redhat.com>
6625
6626 PR middle-end/89137
6627 * omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid
6628 bogus clang warning.
6629
6630 2019-01-31 Uroš Bizjak <ubizjak@gmail.com>
6631
6632 PR target/89071
6633 * config/i386/i386.md (*extendsfdf2): Split out reg->reg
6634 alternative to avoid partial SSE register stall for TARGET_AVX.
6635 (truncdfsf2): Ditto.
6636 (sse4_1_round<mode>2): Ditto.
6637
6638 2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com>
6639
6640 PR tree-optimization/89008
6641 * gimple-ssa-strength-reduction.c (slsr_process_mul): Don't
6642 process anything of the form X * 0.
6643
6644 2019-01-31 Richard Biener <rguenther@suse.de>
6645
6646 PR tree-optimization/89135
6647 * tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks
6648 with abnormal preds.
6649
6650 2019-01-31 Jakub Jelinek <jakub@redhat.com>
6651
6652 PR sanitizer/89124
6653 * ipa-inline.c (sanitize_attrs_match_for_inline_p): Allow inlining
6654 always_inline callees into no_sanitize_address callers.
6655
6656 2019-01-31 Richard Biener <rguenther@suse.de>
6657
6658 PR rtl-optimization/89115
6659 * lra.c (lra_rtx_hash): Properly hash CONST_INT values.
6660
6661 2019-01-30 Martin Sebor <msebor@redhat.com>
6662
6663 PR other/89106
6664 * doc/extend.texi (cast to a union): Correct and expand.
6665
6666 2019-01-30 Vladimir Makarov <vmakarov@redhat.com>
6667
6668 PR rtl-optimization/87246
6669 * lra-constraints.c (simplify_operand_subreg): Reload memory
6670 in subreg if the address became invalid.
6671
6672 2019-01-30 Bill Schmidt <wschmidt@linux.ibm.com>
6673
6674 PR target/87064
6675 * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v4sf_scalar):
6676 Disable for little-endian.
6677
6678 2019-01-30 Richard Biener <rguenther@suse.de>
6679
6680 PR rtl-optimization/89115
6681 * opts.c (default_options_optimization): Reduce
6682 PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1.
6683 Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative
6684 to the default.
6685
6686 2019-01-30 Kelvin Nilsen <kelvin@gcc.gnu.org>
6687
6688 * config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin):
6689 Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT. Coerce result to
6690 type of vector element when vec_extract is implemented by direct
6691 move.
6692
6693 2019-01-30 Thomas Schwinge <thomas@codesourcery.com>
6694
6695 * doc/invoke.texi (C Language Options): List "-fopenacc-dim".
6696
6697 2019-01-30 Richard Biener <rguenther@suse.de>
6698
6699 PR tree-optimization/89111
6700 * tree-ssa-loop-im.c (gather_mem_refs_stmt): Restrict
6701 canonicalization to appropriately sized access types.
6702
6703 2019-01-30 Jakub Jelinek <jakub@redhat.com>
6704
6705 PR c++/89105
6706 * config/i386/i386.c (ix86_warn_parameter_passing_abi): Don't warn
6707 for arguments to functions that are TU-local and shouldn't be
6708 referenced by assembly.
6709
6710 2019-01-30 Ulrich Drepper <drepper@redhat.com>
6711
6712 * dumpfile.c (opt_info_switch_p_1): Ignore '-' if it appears
6713 after '='.
6714
6715 2019-01-29 Martin Sebor <msebor@redhat.com>
6716
6717 PR c/88956
6718 * gimple-fold.c (fold_array_ctor_reference): Avoid zero-length arrays.
6719
6720 2019-01-29 Jakub Jelinek <jakub@redhat.com>
6721
6722 PR c++/66676
6723 PR ipa/89104
6724 * omp-simd-clone.c (simd_clone_clauses_extract)
6725 <case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL
6726 OMP_CLAUSE_ALIGNED_ALIGNMENT.
6727
6728 2019-01-29 Vineet Gupta <vgupta@synopsys.com>
6729
6730 * config.gcc: Force .init_array for ARC.
6731
6732 2019-01-29 Richard Biener <rguenther@suse.de>
6733
6734 PR debug/87295
6735 * dwarf2out.c (collect_skeleton_dies): New helper.
6736 (copy_decls_for_unworthy_types): Call it.
6737 (build_abbrev_table): Assert we do not try to replace
6738 DW_AT_signature refs with local refs.
6739
6740 2019-01-28 Jakub Jelinek <jakub@redhat.com>
6741
6742 PR middle-end/89002
6743 * gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
6744 for lastprivate/linear IV, push gimplify context around gimplify_assign
6745 and, if it needed any temporaries, pop it into a gimple bind around the
6746 sequence.
6747
6748 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
6749
6750 * common.opt (-Wattribute-alias): Remove "no-" from name.
6751 Make -Wattribute-alias command line option and
6752 #pragma GCC diagnostic ignored "-Wattribute-alias" work again.
6753
6754 2019-01-28 Jakub Jelinek <jakub@redhat.com>
6755
6756 PR target/89073
6757 * doc/invoke.texi (-mclwb, -mprfchw, -mrdpid, -mrdseed, -msgx,
6758 -madx, -mhle, -mavx5124fmaps, -mavx512vnni, -mavx5124vnniw): Document
6759 x86 ISA options.
6760 (bmi2): Add missing @opindex.
6761 * doc/extend.texi (x86 target attribute): Move fma4, lwp, ssse3
6762 options alphabetically. Add missing 3dnow, 3dnowa, adx, avx, avx2,
6763 avx5124fmaps, avx5124vnniw, avx512bitalg, avx512bw, avx512cd,
6764 avx512dq, avx512er, avx512f, avx512ifma, avx512pf, avx512vbmi,
6765 avx512vbmi2, avx512vl, avx512vnni, avx512vpopcntdq, bmi, bmi2,
6766 cldemote, clflushopt, clwb, clzero, crc32, cx16, f16c, fma, fsgsbase,
6767 fxsr, gfni, hle, lzcnt, movbe, movdir64b, movdiri, mwaitx, pconfig,
6768 pku, prefetchwt1, prfchw, ptwrite, rdpid, rdrnd, rdseed, rtm, sahf,
6769 sgx, sha, shstk, tbm, vaes, vpclmulqdq, waitpkg, wbnoinvd, xsave,
6770 xsavec, xsaveopt and xsaves options.
6771
6772 2019-01-28 Richard Biener <rguenther@suse.de>
6773
6774 PR debug/89076
6775 * dwarf2out.c (gen_subprogram_die): Remove leftover from MPX
6776 support removal.
6777
6778 2019-01-28 Richard Biener <rguenther@suse.de>
6779
6780 PR tree-optimization/88739
6781 * tree-cfg.c (verify_types_in_gimple_reference): Verify
6782 BIT_FIELD_REFs only are applied to mode-precision operands
6783 when they are integral.
6784 (verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR.
6785 * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating
6786 BIT_FIELD_REFs of non-mode-precision integral operands.
6787
6788 2019-01-27 Jakub Jelinek <jakub@redhat.com>
6789
6790 PR target/87214
6791 * config/i386/sse.md
6792 (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>,
6793 avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the
6794 first constants in pairs are multiples of 2. Formatting fixes.
6795 (avx512vl_shuf_<shuffletype>32x4_1<mask_name>,
6796 avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the
6797 first constants in each quadruple are multiples of 4. Formatting fixes.
6798
6799 2019-01-26 Martin Jambor <mjambor@suse.cz>
6800
6801 PR ipa/88933
6802 * tree-inline.c: Include tree-cfgcleanup.h.
6803 (delete_unreachable_blocks_update_callgraph): Move...
6804 * tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
6805 ...here, make externally visible, make second argument bool, adjust
6806 all callers.
6807 * tree-cfgcleanup.c: Include cgraph.h.
6808 * tree-cfgcleanup.h (delete_unreachable_blocks_update_callgraph):
6809 Declare.
6810 * ipa-prop.c: Include tree-cfgcleanup.h.
6811 (ipcp_transform_function): Call
6812 delete_unreachable_blocks_update_callgraph instead of cleaning uo CFG.
6813
6814 2019-01-25 Vladimir Makarov <vmakarov@redhat.com>
6815
6816 PR rtl-optimization/88846
6817 * ira.c (process_set_for_memref_referenced_p): New.
6818 (memref_referenced_p): Add new param. Use
6819 process_set_for_memref_referenced_p. Add new switch cases.
6820 (memref_used_between_p): Pass new arg to memref_referenced_p.
6821
6822 2019-01-25 Richard Earnshaw <rearnsha@arm.com>
6823
6824 PR target/88469
6825 * config/aarch64/aarch64.c (aarch64_function_arg_alignment): Add new
6826 argument ABI_BREAK. Set to true if the calculated alignment has
6827 changed in gcc-9. Check bit-fields for their base type alignment.
6828 (aarch64_layout_arg): Warn if argument passing has changed in gcc-9.
6829 (aarch64_function_arg_boundary): Likewise.
6830 (aarch64_gimplify_va_arg_expr): Likewise.
6831
6832 2019-01-25 Richard Sandiford <richard.sandiford@arm.com>
6833
6834 PR middle-end/89037
6835 * varasm.c (output_constructor_bitfield): Use wi::extract_uhwi
6836 instead of accessing TREE_INT_CST_ELT directly.
6837
6838 2019-01-25 Christophe Lyon <christophe.lyon@linaro.org>
6839
6840 * doc/sourcebuild.texi (Environment attributes): Add fenv and
6841 fenv_exceptions description.
6842
6843 2019-01-25 Wilco Dijkstra <wdijkstr@arm.com>
6844
6845 PR rtl-optimization/87763
6846 * config/aarch64/aarch64.c (aarch64_select_cc_mode):
6847 Allow SUBREG when matching CC_NZmode compare.
6848
6849 2019-01-25 Richard Biener <rguenther@suse.de>
6850
6851 PR tree-optimization/89049
6852 * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost):
6853 Look at the pattern stmt to determine if the stmt is vectorized.
6854
6855 2019-01-25 Richard Sandiford <richard.sandiford@arm.com>
6856
6857 * config/aarch64/aarch64-sve.md (*pred_mov<mode>)
6858 (pred_mov<mode>): Handle all-register forms using both a new
6859 alternative and a split.
6860
6861 2019-01-25 Richard Biener <rguenther@suse.de>
6862
6863 PR tree-optimization/86865
6864 * graphite-scop-detection.c (scop_detection::can_represent_loop):
6865 Reject non-do-while loops.
6866
6867 2019-01-24 Peter Bergner <bergner@linux.ibm.com>
6868
6869 * config/rs6000/altivec.md (build_vector_mask_for_load): Use MEM_P.
6870 * config/rs6000/constraints.md (Q constraint): Use REG_P.
6871 * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Use SYMBOL_REF_P.
6872 * config/rs6000/freebsd64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use
6873 SYMBOL_REF_P, CONST_INT_P and CONST_DOUBLE_P.
6874 * config/rs6000/linux64.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
6875 * config/rs6000/predicates.md (altivec_register_operand, vint_operand,
6876 vsx_register_operand, vsx_reg_sfsubreg_ok, vfloat_operand,
6877 vlogical_operand, gpc_reg_operand, int_reg_operand,
6878 int_reg_operand_not_pseudo): Use SUBREG_P and HARD_REGISTER_P.
6879 (ca_operand, base_reg_operand, htm_spr_reg_operand, cc_reg_operand,
6880 cc_reg_not_cr0_operand, input_operand): Use SUBREG_P.
6881 (save_world_operation, restore_world_operation, lmw_operation,
6882 stmw_operation): Use MEM_P and REG_P.
6883 (tie_operand): Use MEM_P.
6884 (vrsave_operation, crsave_operation): Use REG_P.
6885 (mfcr_operation, mtcrf_operation): Use REG_P and CONST_INT_P.
6886 (fpr_reg_operand): Use SUBREG_P and HARD_REGISTER_NUM_P.
6887 (quad_int_reg_operand): Use HARD_REGISTER_NUM_P.
6888 (call_operand): Use HARD_REGISTER_P.
6889 (indexed_or_indirect_operand, altivec_indexed_or_indirect_operand):
6890 Use CONST_INT_P.
6891 (lwa_operand): Use SUBREG_P, REG_P and CONST_INT_P.
6892 * config/rs6000/rs6000-p8swap.c (insn_is_load_p, insn_is_store_p,
6893 quad_aligned_load_p, replace_swapped_aligned_store,
6894 recombine_lvx_pattern, replace_swapped_aligned_load,
6895 recombine_stvx_pattern): Use MEM_P.
6896 (const_load_sequence_p, adjust_vperm, replace_swapped_load_constant):
6897 Use MEM_P and SYMBOL_REF_P.
6898 (rtx_is_swappable_p): Use REG_P and CONST_INT_P.
6899 (insn_is_swappable_p): Use REG_P and MEM_P.
6900 (insn_is_swap_p, (alignment_mask): Use CONST_INT_P.
6901 * config/rs6000/rs6000-string.c (expand_block_clear, expand_block_move):
6902 Use CONST_INT_P.
6903 * config/rs6000/rs6000.c (rs6000_secondary_reload, rs6000_emit_cmove):
6904 Use CONST_DOUBLE_P.
6905 (rs6000_output_move_128bit): Use CONST_DOUBLE_P, CONST_INT_P and
6906 CONST_WIDE_INT_P.
6907 (rs6000_legitimize_address): Use CONST_DOUBLE_P, CONST_INT_P,
6908 CONST_WIDE_INT_P, REG_P and SYMBOL_REF_P.
6909 (rs6000_emit_move): Use CONST_DOUBLE_P, CONST_INT_P, HARD_REGISTER_P,
6910 HARD_REGISTER_NUM_P, MEM_P, REG_P, SUBREG_P, SYMBOL_REF_P and
6911 reg_or_subregno:
6912 (output_toc): Use CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P.
6913 (easy_altivec_constant, rs6000_legitimate_offset_address_p,
6914 rs6000_mode_dependent_address, rs6000_expand_mtfsf_builtin,
6915 rs6000_expand_set_fpscr_rn_builtin, rs6000_expand_set_fpscr_drn_builtin,
6916 rs6000_expand_unop_builtin, INT_P, rs6000_generate_compare,
6917 rs6000_machopic_legitimize_pic_address, rs6000_split_logical_inner,
6918 rs6000_split_logical_di): Use CONST_INT_P.
6919 (rs6000_legitimize_reload_address): Use CONST_INT_P, HARD_REGISTER_P,
6920 REG_P and SYMBOL_REF_P.
6921 (setup_incoming_varargs, rs6000_rtx_costs): Use CONST_INT_P and MEM_P.
6922 (print_operand): Use CONST_INT_P, MEM_P and REG_P.
6923 (virtual_stack_registers_memory_p, rs6000_legitimate_address_p,
6924 mems_ok_for_quad_peep): Use CONST_INT_P and REG_P.
6925 (rs6000_secondary_reload_memory): Use CONST_INT_P and SUBREG_P.
6926 (small_data_operand, print_operand_address): Use CONST_INT_P and
6927 SYMBOL_REF_P.
6928 (split_stack_arg_pointer_used_p): Use HARD_REGISTER_P.
6929 (rs6000_init_hard_regno_mode_ok, direct_move_p):
6930 Use HARD_REGISTER_NUM_P.
6931 (rs6000_secondary_reload_gpr): Use HARD_REGISTER_NUM_P and MEM_P.
6932 (rs6000_secondary_reload_class): Use HARD_REGISTER_NUM_P, REG_P,
6933 SUBREG_P and SYMBOL_REF_P.
6934 (register_to_reg_type, rs6000_secondary_reload_inner): Use SUBREG_P
6935 and HARD_REGISTER_NUM_P.
6936 (rs6000_adjust_vec_address): Use HARD_REGISTER_NUM_P and
6937 reg_or_subregno.
6938 (rs6000_adjust_cost, find_mem_ref): Use MEM_P.
6939 (macho_lo_sum_memory_operand, rs6000_eliminate_indexed_memrefs): Use
6940 MEM_P and REG_P.
6941 (legitimate_indirect_address_p, legitimate_lo_sum_address_p,
6942 registers_ok_for_quad_peep, rs6000_output_function_epilogue,
6943 find_addr_reg): Use REG_P.
6944 (altivec_expand_vec_perm_const): Use REG_P and SUBREG_P.
6945 (rs6000_emit_le_vsx_move): Use SUBREG_P.
6946 (offsettable_ok_by_alignment, constant_pool_expr_p,
6947 legitimate_small_data_p, rs6000_output_dwarf_dtprel,
6948 rs6000_delegitimize_address, rs6000_const_not_ok_for_debug_p,
6949 rs6000_cannot_force_const_mem, rs6000_output_addr_const_extra,
6950 rs6000_assemble_integer, create_TOC_reference,
6951 rs6000_emit_allocate_stack, rs6000_xcoff_encode_section_info,
6952 rs6000_call_aix, rs6000_call_aix): Use SYMBOL_REF_P.
6953 (rs6000_split_vec_extract_var): Use reg_or_subregno.
6954 * config/rs6000/rtems.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Use
6955 CONST_DOUBLE_P, CONST_INT_P and SYMBOL_REF_P.
6956 * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
6957 * config/rs6000/xcoff.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
6958 * config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Use SYMBOL_REF_P.
6959 (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Use HARD_REGISTER_NUM_P.
6960 (INT_REG_OK_FOR_INDEX_P, INT_REG_OK_FOR_BASE_P): Use HARD_REGISTER_P.
6961 (CONSTANT_ADDRESS_P): Use CONST_INT_P and SYMBOL_REF_P.
6962 * config/rs6000/rs6000.md (define_expands strlensi, mod<mode>3
6963 and cbranch<mode>4): Use CONST_INT_P.
6964 (multiple define_splits): Use REG_P and SUBREG_P.
6965 (define_expands call, call_value): Use MEM_P.
6966 (define_expands sibcall, sibcall_value): Use CONST_INT_P and MEM_P.
6967 (define insn *mtcrfsi): Use CONST_INT_P and REG_P.
6968 * config/rs6000/vsx.md (*vsx_le_perm_load_<mode>,
6969 *vsx_le_perm_load_v8hi, *vsx_le_perm_load_v16qi): Use HARD_REGISTER_P
6970 and HARD_REGISTER_NUM_P.
6971 (multiple define_splits): Use HARD_REGISTER_NUM_P.
6972
6973 2019-01-24 Uroš Bizjak <ubizjak@gmail.com>
6974
6975 PR rtl-optimization/88948
6976 * rtl.h (prepare_copy_insn): New prototype.
6977 * gcse.c (prepare_copy_insn): New function, split out from
6978 process_insert_insn.
6979 (process_insert_insn): Use prepare_copy_insn.
6980 * store-motion.c (replace_store_insn): Use prepare_copy_insn
6981 instead of gen_move_insn.
6982
6983 2019-01-24 Jakub Jelinek <jakub@redhat.com>
6984
6985 PR debug/89006
6986 * config/i386/i386.c (ix86_pic_register_p): Return true for
6987 UNSPEC_SET_GOT too.
6988
6989 PR tree-optimization/88964
6990 * gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Also
6991 punt if HONOR_SNANS (chrec).
6992
6993 PR middle-end/89015
6994 * tree-nested.c (convert_nonlocal_reference_stmt,
6995 convert_local_reference_stmt, convert_tramp_reference_stmt,
6996 convert_gimple_call) <case GIMPLE_OMP_TEAMS>: Treat
6997 gimple_omp_teams_host teams stmts like GIMPLE_OMP_PARALLEL
6998 or GIMPLE_OMP_TASK.
6999
7000 PR tree-optimization/89027
7001 * tree-inline.c (add_clobbers_to_eh_landing_pad): Don't add clobbers
7002 for "omp simd array" variables.
7003
7004 2019-01-24 Richard Earnshaw <rearnsha@arm.com>
7005
7006 PR target/88469
7007 * profile-count.h (profile_count): On ARM systems using GCC 6/7/8
7008 force the alignment of m_val.
7009
7010 2019-01-24 Richard Biener <rguenther@suse.de>
7011
7012 PR lto/87187
7013 * tree-streamer-out.c (write_ts_decl_common_tree_pointers):
7014 When in "legacy" debug mode make sure to reset self-origins.
7015
7016 2019-01-24 Martin Liska <mliska@suse.cz>
7017
7018 PR gcov-profile/88994
7019 * gcov-io.c (mangle_path): Do not allocate a bigger buffer,
7020 result will be always smaller or equal to the original.
7021 * gcov.c (mangle_name): Fix else branch where we should
7022 also copy to PTR and shift the pointer.
7023
7024 2019-01-24 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
7025
7026 * tree-ssa-dom.c (test_for_singularity): Fix a comment typo.
7027 * vr-values.c (find_case_label_ranges): Fix a comment typo.
7028
7029 2019-01-23 Bin Cheng <bin.cheng@arm.com>
7030 Steve Ellcey <sellcey@marvell.com>
7031
7032 PR target/85711
7033 * recog.c (address_operand): Return false on wrong mode for address.
7034 (constrain_operands): Check for mode with 'p' constraint.
7035
7036 2019-01-23 Uroš Bizjak <ubizjak@gmail.com>
7037
7038 PR target/88998
7039 * config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives.
7040 Disparage MMX alternative.
7041 (sse2_cvtpd2pi): Ditto.
7042 (sse2_cvttpd2pi): Ditto.
7043
7044 2019-01-23 David Malcolm <dmalcolm@redhat.com>
7045
7046 PR driver/89014
7047 * config/aarch64/driver-aarch64.c (host_detect_local_cpu): Fix
7048 use-after-free of the result of
7049 aarch64_get_extension_string_for_isa_flags.
7050
7051 2019-01-23 Jakub Jelinek <jakub@redhat.com>
7052
7053 PR c/44715
7054 * doc/extend.texi: Document break and continue behavior in
7055 statement expressions.
7056
7057 2019-01-23 Richard Biener <rguenther@suse.de>
7058
7059 PR tree-optimization/89008
7060 * tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do
7061 not leave another stray operand.
7062
7063 2019-01-23 Jakub Jelinek <jakub@redhat.com>
7064
7065 * BASE-VER: Bump to 9.0.1.
7066
7067 2019-01-23 Eric Botcazou <ebotcazou@adacore.com>
7068
7069 * cgraphunit.c (cgraph_node::expand_thunk): When expanding a GIMPLE
7070 thunk that returns by reference, use the type of the return object
7071 of the thunk instead of that of the alias to build the dereference.
7072
7073 2019-01-23 Vineet Gupta <vgupta@synopsys.com>
7074
7075 * config/arc/atomic.md: Add operand to DMB instruction.
7076
7077 2019-01-23 Jakub Jelinek <jakub@redhat.com>
7078
7079 PR tree-optimization/88964
7080 * gimple-loop-interchange.cc (loop_cand::analyze_induction_var): Use
7081 build_zero_cst instead of build_int_cst. Return false for loop
7082 invariants which honor signed zeros.
7083
7084 2019-01-22 Segher Boessenkool <segher@kernel.crashing.org>
7085
7086 * doc/invoke.texi (-fsplit-paths): This is enabled by default at -O3.
7087
7088 2019-01-22 Jakub Jelinek <jakub@redhat.com>
7089
7090 PR target/88965
7091 * config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h.
7092 (rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy
7093 is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first.
7094
7095 PR middle-end/88968
7096 * gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with
7097 non-integral DECL_BIT_FIELD_REPRESENTATIVEs.
7098
7099 PR target/87064
7100 * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
7101 Disable for little endian.
7102
7103 2019-01-22 Richard Earnshaw <rearnsha@arm.com>
7104
7105 PR target/88469
7106 * config/arm/arm.c (arm_needs_double_word_align): Check
7107 DECL_BIT_FIELD_TYPE.
7108
7109 2019-01-22 Hongtao Liu <hongtao.liu@intel.com>
7110 H.J. Lu <hongjiu.lu@intel.com>
7111
7112 PR target/88909
7113 * config/i386/i386-builtin.def: Add mask2 to all builtin
7114 initializations. Merge ARGS2 and SPECIAL_ARGS2 into ARGS and
7115 SPECIAL_ARGS.
7116 * config/i386/i386.c (BDESC): Add mask2 to the definition.
7117 (BDESC_FIRST): Likewise.
7118 (define_builtin): Add an argument for mask2. Updated to handle
7119 both ix86_isa_flags and ix86_isa_flags2.
7120 (define_builtin_const): Likewise.
7121 (define_builtin_pure): Likewise.
7122 (define_builtin2): Deleted.
7123 (define_builtin_const2): Likewise.
7124 (builtin_description): Add a member, mask2.
7125 (bdesc_*): Add mask2 to builtin initializations.
7126 (ix86_init_mmx_sse_builtins): Update calls to def_builtin,
7127 def_builtin_const and def_builtin_pure. Remove SPECIAL_ARGS2
7128 support.
7129 (ix86_get_builtin_func_type): Remove SPECIAL_ARGS2 support.
7130
7131 2019-01-22 H.J. Lu <hongjiu.lu@intel.com>
7132
7133 PR target/88954
7134 * config/i386/i386.c (ix86_force_load_from_GOT_p): Also check
7135 noplt attribute.
7136
7137 2019-01-22 Richard Earnshaw <rearnsha@arm.com>
7138
7139 PR target/88469
7140 * config/arm/arm.c (arm_needs_doubleword_align): Return 2 if a record's
7141 alignment is dominated by a bitfield with 64-bit aligned base type.
7142 (arm_function_arg): Emit a warning if the alignment has changed since
7143 earlier GCC releases.
7144 (arm_function_arg_boundary): Likewise.
7145 (arm_setup_incoming_varargs): Likewise.
7146
7147 2019-01-22 Richard Biener <rguenther@suse.de>
7148
7149 PR tree-optimization/88862
7150 * graphite-scop-detection.c
7151 (scop_detection::graphite_can_represent_scev): Reject ADDR_EXPR.
7152
7153 2019-01-22 Andrew Stubbs <ams@codesourcery.com>
7154
7155 * doc/extend.tex (AMD GCN Function Attributes): New section.
7156 * doc/install.texi (amdgcn-unknown-amdhsa): New instructions.
7157 * doc/invoke.texi (AMD GCN Options): New section.
7158 * doc/md.texi (Constraints for Particular Machines): Add AMD GCN.
7159
7160 2019-01-22 Eric Botcazou <ebotcazou@adacore.com>
7161
7162 * config/sparc/sparc.c (parc_delegitimize_address): Recognize the GOT
7163 register and decoded HIGH/LO_SUM combinations for labels in PIC mode.
7164
7165 2019-01-22 Jakub Jelinek <jakub@redhat.com>
7166
7167 PR tree-optimization/88044
7168 * tree-ssa-loop-niter.c (number_of_iterations_cond): If condition
7169 is false in the first iteration, but !every_iteration, return false
7170 instead of true with niter->niter zero.
7171
7172 PR rtl-optimization/88904
7173 * cfgcleanup.c (thread_jump): Verify cond2 doesn't mention
7174 any nonequal registers before processing BB_END (b).
7175
7176 PR target/88905
7177 * optabs.c (add_equal_note): Add op0_mode argument, use it instead of
7178 GET_MODE (op0).
7179 (expand_binop_directly, expand_doubleword_clz,
7180 expand_doubleword_popcount, expand_ctz, expand_ffs,
7181 expand_unop_direct, maybe_emit_unop_insn): Adjust callers.
7182
7183 PR rtl-optimization/49429
7184 PR target/49454
7185 PR rtl-optimization/86334
7186 PR target/88906
7187 * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
7188 addressable from here...
7189 (emit_block_op_via_libcall): ... to here.
7190
7191 2019-01-22 Richard Biener <rguenther@suse.de>
7192
7193 * tree-vect-loop.c (vect_analyze_loop_operations): Use
7194 auto_vec for cost vector to fix memleak.
7195 (vectorize_fold_left_reduction): Properly gather SLP defs.
7196 (vectorizable_comparison): Do not swap operands to properly
7197 gather SLP defs.
7198
7199 2019-01-22 Alan Modra <amodra@gmail.com>
7200
7201 PR target/88614
7202 * config/rs6000/predicates.md (unspec_tls): Ensure GOT reg
7203 stays a reg. Allow a const_int.
7204 * config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare.
7205 * config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define.
7206 (IS_NOMARK_TLSGETADDR): Define.
7207 * config/rs6000/rs6000.c (edit_tls_call_insn): Delete.
7208 (rs6000_output_tlsargs): New function.
7209 (rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS
7210 __tls_get_addr call takes an arg.
7211 (rs6000_call_sysv): Generate sysv4 secure plt call pattern here..
7212 * config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here,
7213 delete split..
7214 (call_value_nonlocal_sysv): ..or here, delete split.
7215 (tls_gdld_nomark): Delete.
7216 (call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2
7217 predicate. Call rs6000_output_tlsargs. Adjust length to suit.
7218 (call_value_nonlocal_sysv): Likewise.
7219 (call_value_nonlocal_sysv_secure): Likewise.
7220 (call_value_nonlocal_aix): Likewise.
7221 (call_value_indirect_aix): Likewise.
7222 (call_value_indirect_elfv2): Likewise.
7223 (call_value_local32, call_value_local64): Disable for no-mark tls.
7224 (call_value_local_aix): Likewise.
7225
7226 2019-01-21 Uroš Bizjak <ubizjak@gmail.com>
7227
7228 PR target/88938
7229 * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32,
7230 case IX86_BUILTIN_BEXTRI64]: Sanitize operands.
7231
7232 2019-01-21 Michael Ploujnikov <michael.ploujnikov@oracle.com>
7233
7234 * hash-map-tests.c (test_map_of_strings_to_int): Show how to use
7235 string contents as hash_map keys.
7236
7237 2019-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
7238
7239 PR c/88928
7240 * c-warn.c (check_alignment_of_packed_member): Add a boolean parameter
7241 for rvalue context. Handle rvalues correctly. Use min_align_of_type
7242 instead of TYPE_ALIGN.
7243 (check_address_or_pointer_of_packed_member): Handle rvalues coorrectly.
7244 Use min_align_of_type instead of TYPE_ALIGN_UNIT. Check for NULL
7245 pointer from TYPE_STUB_DECL.
7246
7247 2019-01-21 Richard Biener <rguenther@suse.de>
7248
7249 PR tree-optimization/88934
7250 * tree-vect-slp.c (vect_mask_constant_operand_p): Always look
7251 at the possibly non-constant operand.
7252 (vect_get_constant_vectors): Adjust.
7253
7254 2019-01-21 H.J. Lu <hongjiu.lu@intel.com>
7255
7256 PR target/71659
7257 * config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED.
7258 * config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED
7259 instead of _X86INTRIN_H_INCLUDED.
7260 * onfig/i386/clwbintrin.h: Likewise.
7261 * config/i386/pkuintrin.h: Likewise.
7262 * config/i386/prfchwintrin.h: Likewise.
7263 * config/i386/rdseedintrin.h: Likewise.
7264 * config/i386/wbnoinvdintrin.h: Likewise.
7265 * config/i386/xsavecintrin.h: Likewise.
7266 * config/i386/xsavesintrin.h: Likewise.
7267 * config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check.
7268 * config/i386/xsaveintrin.h: Likewise.
7269 * config/i386/xsaveoptintrin.h: Likewise.
7270 * config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>,
7271 <prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>,
7272 <xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>,
7273 <clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>,
7274 <wbnoinvdintrin.h> and <pkuintrin.h> to ...
7275 * config/i386/immintrin.h: Here.
7276
7277 2019-01-20 Martin Jambor <mjambor@suse.cz>
7278
7279 PR ipa/87615
7280 * ipa-prop.h (struct ipa_func_body_info): Replaced field aa_walked
7281 with aa_walk_budget.
7282 * cgraph.h (ipa_polymorphic_call_context::get_dynamic_type): Add
7283 aa_walk_budget_p parameter.
7284 * ipa-fnsummary.c (unmodified_parm_1): New parameter fbi. Limit AA
7285 walk. Updated all callers.
7286 (unmodified_parm): New parameter fbi, pass it to unmodified_parm_1.
7287 (eliminated_by_inlining_prob): New parameter fbi, pass it on to
7288 unmodified_parm.
7289 (will_be_nonconstant_expr_predicate): New parameter fbi, removed
7290 parameter info. Extract info from fbi. Pass fbi to recursive calls
7291 and to unmodified_parm.
7292 (phi_result_unknown_predicate): New parameter fbi, removed parameter
7293 info, updated call to will_be_nonconstant_expr_predicate.
7294 (param_change_prob): New parameter fbi, limit AA walking.
7295 (analyze_function_body): Initialize aa_walk_budget in fbi. Update
7296 calls to various above functions.
7297 * ipa-polymorphic-call.c (get_dynamic_type): Add aa_walk_budget_p
7298 parameter. Use it to limit AA walking.
7299 * ipa-prop.c (detect_type_change_from_memory_writes): New parameter
7300 fbi, limit AA walk.
7301 (detect_type_change): New parameter fbi, pass it on to
7302 detect_type_change_from_memory_writes.
7303 (detect_type_change_ssa): Likewise.
7304 (aa_overwalked): Removed.
7305 (parm_preserved_before_stmt_p): Assume fbi is never NULL, stream line
7306 accordingly, adjust to the neew AA limiting scheme.
7307 (parm_ref_data_preserved_p): Likewise.
7308 (ipa_compute_jump_functions_for_edge): Adjust call to
7309 get_dynamic_type.
7310 (ipa_analyze_call_uses): Likewise.
7311 (ipa_analyze_virtual_call_uses): Pass fbi to detect_type_change_ssa.
7312 (ipa_analyze_node): Initialize aa_walk_budget.
7313 (ipcp_transform_function): Likewise.
7314 * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt): Update call
7315 to get_dynamic_type.
7316
7317 2019-01-19 Jakub Jelinek <jakub@redhat.com>
7318
7319 * config/aarch64/aarch64.c (aarch64_stack_protect_guard): Move
7320 outside of #if CHECKING_P code.
7321
7322 2019-01-19 Richard Sandiford <richard.sandiford@arm.com>
7323
7324 * gimple-loop-versioning.cc (loop_versioning::dump_inner_likelihood):
7325 New function, split out from...
7326 (loop_versioning::analyze_stride): ...here.
7327 (loop_versioning::find_per_loop_multiplication): Use gassign.
7328 (loop_versioning::analyze_term_using_scevs): Return a success code.
7329 (loop_versioning::analyze_arbitrary_term): New function.
7330 (loop_versioning::analyze_address_fragment): Use
7331 analyze_arbitrary_term if all else fails.
7332
7333 2019-01-18 Segher Boessenkool <segher@kernel.crashing.org>
7334
7335 PR target/88892
7336 * config/rs6000/rs6000.md (*movsi_from_df): Allow only register
7337 operands.
7338
7339 2019-01-18 Richard Biener <rguenther@suse.de>
7340
7341 PR tree-optimization/88903
7342 * tree-vect-stmts.c (vectorizable_shift): Verify we see all
7343 scalar stmts a SLP shift amount is composed of when detecting
7344 shifts by scalars.
7345
7346 2019-01-18 Richard Earnshaw <rearnsha@arm.com>
7347
7348 PR target/88799
7349 * config/arm/arm-cpus.in (mp): New feature.
7350 (sec): New feature.
7351 (fgroup ARMv7ve): Add mp and sec features.
7352 (arch armv7-a): Add options to allow mp and sec extensions.
7353 (cpu generic-armv7-a): Add options to allow mp and sec extensions.
7354 (cpu cortex-a5, cpu cortex-7, cpu cortex-a9): Add mp and sec
7355 extenstions to the base architecture.
7356 (cpu cortex-a8): Add sec extension to the base architecture.
7357 (cpu marvell-pj4): Add mp and sec extensions to the base architecture.
7358 * config/arm/t-aprofile (MULTILIB_MATCHES): Map all armv7-a arch
7359 variants down to the base v7-a varaint.
7360 * config/arm/t-multilib (v7_a_arch_variants): New variable.
7361 * doc/invoke.texi (ARM Options): Add +mp and +sec to the list
7362 of permitted extensions for -march=armv7-a and for
7363 -mcpu=generic-armv7-a.
7364
7365 2019-01-18 Martin Liska <mliska@suse.cz>
7366
7367 * params.def: Fix comment.
7368 * tree-profile.c (gimple_init_gcov_profiler): Bump function
7369 name.
7370 (gimple_gen_ic_func_profiler): Likewise.
7371
7372 2019-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7373
7374 * config/aarch64/aarch64-opts.h (enum stack_protector_guard): New
7375 * config/aarch64/aarch64.c (aarch64_override_options_internal): Handle
7376 and put in error checks for stack protector guard options.
7377 (aarch64_stack_protect_guard): New.
7378 (TARGET_STACK_PROTECT_GUARD): Define.
7379 * config/aarch64/aarch64.md (UNSPEC_SSP_SYSREG): New.
7380 (reg_stack_protect_address<mode>): New.
7381 (stack_protect_set): Adjust for SSP_GLOBAL.
7382 (stack_protect_test): Likewise.
7383 * config/aarch64/aarch64.opt (-mstack-protector-guard-reg): New.
7384 (-mstack-protector-guard): Likewise.
7385 (-mstack-protector-guard-offset): Likewise.
7386
7387 2019-01-18 Jakub Jelinek <jakub@redhat.com>
7388
7389 PR tree-optimization/86214
7390 * tree-inline.h (struct copy_body_data): Add
7391 add_clobbers_to_eh_landing_pads member.
7392 * tree-inline.c (add_clobbers_to_eh_landing_pad): New function.
7393 (copy_edges_for_bb): Call it if EH edge destination is <
7394 id->add_clobbers_to_eh_landing_pads. Fix a comment typo.
7395 (expand_call_inline): Set id->add_clobbers_to_eh_landing_pads
7396 if flag_stack_reuse != SR_NONE and clear it afterwards.
7397
7398 2019-01-18 Christophe Lyon <christophe.lyon@linaro.org>
7399
7400 PR target/85596
7401 * doc/install.texi (with-multilib-list): Document for aarch64.
7402
7403 2019-01-18 Jakub Jelinek <jakub@redhat.com>
7404
7405 PR target/88734
7406 * config/arm/arm_neon.h: Fix #pragma GCC target syntax - replace
7407 (("..."))) with ("...").
7408
7409 2019-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
7410
7411 * doc/extend.texi (Built-in Functions for Memory Model Aware
7412 Atomic Operations): Document atomic fetch and nand.
7413
7414 2019-01-18 Martin Liska <mliska@suse.cz>
7415 Richard Biener <rguenther@suse.de>
7416
7417 PR middle-end/88587
7418 * cgraph.h (create_version_clone_with_body): Add new argument
7419 with attributes.
7420 * cgraphclones.c (cgraph_node::create_version_clone): Add
7421 DECL_ATTRIBUTES to a newly created decl. And call
7422 valid_attribute_p so that proper cl_target_optimization_node
7423 is set for the newly created declaration.
7424 * multiple_target.c (create_target_clone): Set DECL_ATTRIBUTES
7425 for declaration.
7426 (expand_target_clones): Do not call valid_attribute_p, it must
7427 be already done.
7428 * tree-inline.c (copy_decl_for_dup_finish): Reset mode for
7429 vector types.
7430
7431 2019-01-17 Jakub Jelinek <jakub@redhat.com>
7432
7433 PR target/88734
7434 * config/aarch64/arm_neon.h: Fix #pragma GCC target syntax - replace
7435 (("..."))) with ("..."). Use arch=armv8.2-a+sha3 instead of
7436 arch=armv8.2-a+crypto for vsha512hq_u64 etc. intrinsics.
7437
7438 2019-01-17 Martin Sebor <msebor@redhat.com>
7439
7440 PR middle-end/88273
7441 * gimple-ssa-warn-restrict.c (builtin_memref::extend_offset_range):
7442 Handle anti-ranges the same as no range at all.
7443
7444 2018-01-17 Steve Ellcey <sellcey@cavium.com>
7445
7446 * config/aarch64/aarch64.c (cgraph.h): New include.
7447 (intl.h): New include.
7448 (supported_simd_type): New function.
7449 (currently_supported_simd_type): Ditto.
7450 (aarch64_simd_clone_compute_vecsize_and_simdlen): Ditto.
7451 (aarch64_simd_clone_adjust): Ditto.
7452 (aarch64_simd_clone_usable): Ditto.
7453 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New macro.
7454 (TARGET_SIMD_CLONE_ADJUST): Ditto.
7455 (TARGET_SIMD_CLONE_USABLE): Ditto.
7456 * config/i386/i386.c (ix86_simd_clone_adjust): Add definition check.
7457 * omp-simd-clone.c (expand_simd_clones): Add targetm.simd_clone.adjust
7458 call.
7459
7460 2019-01-17 Martin Sebor <msebor@redhat.com>
7461
7462 PR tree-optimization/88800
7463 * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid checking
7464 NO_WARNING bit here. Avoid folding out-of-bounds calls.
7465 * gimple-ssa-warn-restrict.c (maybe_diag_offset_bounds): Remove
7466 redundant argument. Add new argument and issue diagnostics under
7467 its control. Detect out-of-bounds access even with warnings
7468 disabled.
7469 (check_bounds_or_overlap): Change return type. Add argument.
7470 (wrestrict_dom_walker::check_call): Adjust.
7471 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Add argument.
7472 * tree-ssa-strlen.c (handle_builtin_strcpy): Adjust to change in
7473 check_bounds_or_overlap's return value.
7474 (handle_builtin_stxncpy): Same.
7475 (handle_builtin_strcat): Same.
7476
7477 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
7478 Kwok Cheung Yeung <kcy@codesourcery.com>
7479 Julian Brown <julian@codesourcery.com>
7480 Tom de Vries <tom@codesourcery.com>
7481
7482 * doc/sourcebuild.texi: Document dg-add-options sqrt_insn.
7483
7484 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
7485
7486 * doc/sourcebuild.texi: Document dg-require-effective-target
7487 llvm_binutils and offload_gcn.
7488
7489 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
7490 Kwok Cheung Yeung <kcy@codesourcery.com>
7491 Julian Brown <julian@codesourcery.com>
7492 Tom de Vries <tom@codesourcery.com>
7493
7494 * doc/sourcebuild.texi: Document dg-required-effective-target
7495 exceptions.
7496
7497 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
7498 Kwok Cheung Yeung <kcy@codesourcery.com>
7499 Julian Brown <julian@codesourcery.com>
7500 Tom de Vries <tom@codesourcery.com>
7501 Jan Hubicka <hubicka@ucw.cz>
7502 Martin Jambor <mjambor@suse.cz>
7503
7504 * config.gcc: Add amdgcn*-*-amdhsa configuration.
7505 * configure.ac: Check for dlopen.
7506 * configure: Regenerate.
7507
7508 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
7509 Kwok Cheung Yeung <kcy@codesourcery.com>
7510 Julian Brown <julian@codesourcery.com>
7511 Tom de Vries <tom@codesourcery.com>
7512 Jan Hubicka <hubicka@ucw.cz>
7513 Martin Jambor <mjambor@suse.cz>
7514
7515 * common/config/gcn/gcn-common.c: New file.
7516 * config/gcn/driver-gcn.c: New file.
7517 * config/gcn/gcn-builtins.def: New file.
7518 * config/gcn/gcn-hsa.h: New file.
7519 * config/gcn/gcn-modes.def: New file.
7520 * config/gcn/gcn-opts.h: New file.
7521 * config/gcn/gcn-passes.def: New file.
7522 * config/gcn/gcn-protos.h: New file.
7523 * config/gcn/gcn-run.c: New file.
7524 * config/gcn/gcn-tree.c: New file.
7525 * config/gcn/gcn.c: New file.
7526 * config/gcn/gcn.h: New file.
7527 * config/gcn/gcn.opt: New file.
7528 * config/gcn/t-gcn-hsa: New file.
7529
7530 2019-01-17 Andrew Stubbs <ams@codesourcery.com>
7531 Kwok Cheung Yeung <kcy@codesourcery.com>
7532 Julian Brown <julian@codesourcery.com>
7533 Tom de Vries <tom@codesourcery.com>
7534 Jan Hubicka <hubicka@ucw.cz>
7535 Martin Jambor <mjambor@suse.cz>
7536
7537 * config/gcn/constraints.md: New file.
7538 * config/gcn/gcn-valu.md: New file.
7539 * config/gcn/gcn.md: New file.
7540 * config/gcn/predicates.md: New file.
7541
7542 2019-01-17 Eric Botcazou <ebotcazou@adacore.com>
7543
7544 * gimple-ssa-isolate-paths.c (stmt_uses_name_in_undefined_way): Replace
7545 flag_non_call_exceptions with cfun->can_throw_non_call_exceptions.
7546 (stmt_uses_0_or_null_in_undefined_way): Likewise.
7547 * tree-ssa-alias.c (same_addr_size_stores_p): Likewise.
7548
7549 2019-01-17 Tamar Christina <tamar.christina@arm.com>
7550
7551 PR target/88851
7552 * config/aarch64/aarch64.md (STACK_CLASH_SVE_CFA_REGNUM): New.
7553 * config/aarch64/aarch64.c (aarch64_allocate_and_probe_stack_space): Use
7554 it and document registers.
7555
7556 2019-01-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7557
7558 * config/aarch64/aarch64.c (ares_tunings): Define.
7559 * config/aarch64/aarch64-cores.def (ares): Use the above.
7560
7561 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
7562
7563 PR target/88794
7564 Revert:
7565 2018-11-06 Wei Xiao <wei3.xiao@intel.com>
7566
7567 * config/i386/avx512fintrin.h: Update VFIXUPIMM* intrinsics.
7568 (_mm512_fixupimm_round_pd): Update parameters and builtin.
7569 (_mm512_maskz_fixupimm_round_pd): Ditto.
7570 (_mm512_fixupimm_round_ps): Ditto.
7571 (_mm512_maskz_fixupimm_round_ps): Ditto.
7572 (_mm_fixupimm_round_sd): Ditto.
7573 (_mm_maskz_fixupimm_round_sd): Ditto.
7574 (_mm_fixupimm_round_ss): Ditto.
7575 (_mm_maskz_fixupimm_round_ss): Ditto.
7576 (_mm512_fixupimm_pd): Ditto.
7577 (_mm512_maskz_fixupimm_pd): Ditto.
7578 (_mm512_fixupimm_ps): Ditto.
7579 (_mm512_maskz_fixupimm_ps): Ditto.
7580 (_mm_fixupimm_sd): Ditto.
7581 (_mm_maskz_fixupimm_sd): Ditto.
7582 (_mm_fixupimm_ss): Ditto.
7583 (_mm_maskz_fixupimm_ss): Ditto.
7584 (_mm512_mask_fixupimm_round_pd): Update builtin.
7585 (_mm512_mask_fixupimm_round_ps): Ditto.
7586 (_mm_mask_fixupimm_round_sd): Ditto.
7587 (_mm_mask_fixupimm_round_ss): Ditto.
7588 (_mm512_mask_fixupimm_pd): Ditto.
7589 (_mm512_mask_fixupimm_ps): Ditto.
7590 (_mm_mask_fixupimm_sd): Ditto.
7591 (_mm_mask_fixupimm_ss): Ditto.
7592 * config/i386/avx512vlintrin.h:
7593 (_mm256_fixupimm_pd): Update parameters and builtin.
7594 (_mm256_maskz_fixupimm_pd): Ditto.
7595 (_mm256_fixupimm_ps): Ditto.
7596 (_mm256_maskz_fixupimm_ps): Ditto.
7597 (_mm_fixupimm_pd): Ditto.
7598 (_mm_maskz_fixupimm_pd): Ditto.
7599 (_mm_fixupimm_ps): Ditto.
7600 (_mm_maskz_fixupimm_ps): Ditto.
7601 (_mm256_mask_fixupimm_pd): Update builtin.
7602 (_mm256_mask_fixupimm_ps): Ditto.
7603 (_mm_mask_fixupimm_pd): Ditto.
7604 (_mm_mask_fixupimm_ps): Ditto.
7605 * config/i386/i386-builtin-types.def: Add new types and remove useless ones.
7606 * config/i386/i386-builtin.def: Update builtin definitions.
7607 * config/i386/i386.c: Handle new builtin types and remove useless ones.
7608 * config/i386/sse.md: Update VFIXUPIMM* patterns.
7609 (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
7610 (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
7611 (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Update.
7612 (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
7613 (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
7614 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Update.
7615 * config/i386/subst.md:
7616 (round_saeonly_sd_mask_operand4): Add new subst_attr.
7617 (round_saeonly_sd_mask_op4): Ditto.
7618 (round_saeonly_expand_operand5): Ditto.
7619 (round_saeonly_expand): Update.
7620
7621 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
7622
7623 PR target/88794
7624 Revert:
7625 2018-11-12 Wei Xiao <wei3.xiao@intel.com>
7626
7627 * config/i386/sse.md: Combine VFIXUPIMM* patterns
7628 (<avx512>_fixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
7629 (<avx512>_fixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
7630 (<avx512>_fixupimm<mode>_mask<round_saeonly_name>): Remove.
7631 (avx512f_sfixupimm<mode>_maskz<round_saeonly_expand_name>): Update.
7632 (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>): Update.
7633 (avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Remove.
7634
7635 2019-01-17 Wei Xiao <wei3.xiao@intel.com>
7636
7637 PR target/88794
7638 Revert:
7639 2018-12-15 Jakub Jelinek <jakub@redhat.com>
7640
7641 PR target/88489
7642 * config/i386/sse.md (UNSPEC_SFIXUPIMM): New unspec enumerator.
7643 (avx512f_sfixupimm<mode><mask_name><round_saeonly_name>): Use it
7644 instead of UNSPEC_FIXUPIMM.
7645
7646 2019-01-17 Richard Biener <rguenther@suse.de>
7647
7648 PR lto/86736
7649 * dwarf2out.c (want_pubnames): Never generate pubnames sections
7650 and friends for the LTO part of debug info.
7651
7652 2019-01-17 Jakub Jelinek <jakub@redhat.com>
7653
7654 PR tree-optimization/86214
7655 * cfgexpand.c (add_stack_var_conflict): Don't add any conflicts
7656 if x == y.
7657
7658 PR rtl-optimization/88870
7659 * dce.c (deletable_insn_p): Never delete const/pure calls that can
7660 throw if we can't alter the cfg or delete dead exceptions.
7661 (mark_insn): Don't call find_call_stack_args for such calls.
7662
7663 2019-01-17 Kewen Lin <linkw@gcc.gnu.org>
7664
7665 * doc/extend.texi: Add four new prototypes for vec_ld and seven new
7666 prototypes for vec_st.
7667 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries
7668 for scalar address type variants of altivec_vec_ld/altivec_vec_st,
7669 mainly on signed/unsigned long long and double.
7670
7671 2019-01-16 David Malcolm <dmalcolm@redhat.com>
7672
7673 PR target/88861
7674 * combine.c (delete_noop_moves): Convert to "bool" return,
7675 returning true if any edges are eliminated.
7676 (combine_instructions): Also return true if delete_noop_moves
7677 returns true.
7678
7679 2019-01-16 Tamar Christina <tamar.christina@arm.com>
7680
7681 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Use
7682 correct max nunits for endian swap.
7683 (aarch64_expand_fcmla_builtin): Correct subreg code.
7684 * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
7685 aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>): Correct
7686 lane endianness.
7687
7688 2019-01-16 Uroš Bizjak <ubizjak@gmail.com>
7689
7690 * config/alpha/alpha.c (alpha_gimplify_va_arg):
7691 Handle split indirect COMPLEX_TYPE arguments.
7692
7693 2019-01-16 Richard Earnshaw <rearnsha@arm.com>
7694
7695 PR target/86891
7696 * config/aarch64/aarch64-modes.def: Add comment about how the carry
7697 bit is set by add and compare.
7698 (CC_ADC): New CC_MODE.
7699 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Use variables
7700 to cache the code and mode of X. Adjust the shape of a CC_Cmode
7701 comparison. Add detection for CC_ADCmode.
7702 (aarch64_get_condition_code_1): Update code support for CC_Cmode. Add
7703 CC_ADCmode.
7704 * config/aarch64/aarch64.md (uaddv<mode>4): Use LTU with CCmode.
7705 (uaddvti4): Comparison result is in CC_ADCmode and the condition is GEU.
7706 (add<mode>3_compareC_cconly_imm): Delete. Merge into...
7707 (add<mode>3_compareC_cconly): ... this. Restructure the comparison
7708 to eliminate the need for zero-extending the operands.
7709 (add<mode>3_compareC_imm): Delete. Merge into ...
7710 (add<mode>3_compareC): ... this. Restructure the comparison to
7711 eliminate the need for zero-extending the operands.
7712 (add<mode>3_carryin): Use LTU for the overflow detection.
7713 (add<mode>3_carryinC): Use CC_ADCmode for the result of the carry out.
7714 Reexpress comparison for overflow.
7715 (add<mode>3_carryinC_zero): Update for change to add<mode>3_carryinC.
7716 (add<mode>3_carryinC): Likewise.
7717 (add<mode>3_carryinV): Use LTU for carry between partials.
7718 * config/aarch64/predicates.md (aarch64_carry_operation): Update
7719 handling of CC_Cmode and add CC_ADCmode.
7720 (aarch64_borrow_operation): Likewise.
7721
7722 2019-01-16 Tamar Christina <tamar.christina@arm.com>
7723
7724 * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): Remove patternmode.
7725 * config/arm/arm.c (neon_vcmla_lane_prepare_operands): Likewise.
7726 * config/arm/neon.md (neon_vcmla_lane<rot><mode>, neon_vcmla_laneq<rot><mode>,
7727 neon_vcmlaq_lane<rot><mode>): Remove endianness conversion.
7728
7729 2019-01-16 Martin Liska <mliska@suse.cz>
7730
7731 * Makefile.in: Set TOOL_INCLUDE_DIR and NATIVE_SYSTEM_HEADER_DIR
7732 for GCC driver.
7733 * config/gnu-user.h (TARGET_F951_OPTIONS): Add 'finclude%s/' as
7734 a new argument.
7735 * gcc.c (add_sysrooted_hdrs_prefix): New function.
7736 (path_prefix_reset): Move up in the source file.
7737 (find_fortran_preinclude_file): Make complex search for the
7738 fortran header files.
7739
7740 2019-01-15 Nikhil Benesch <nikhil.benesch@gmail.com>
7741
7742 * godump.c (go_output_typedef): When outputting a typedef, refer
7743 to the underlying type by its name and not its structure.
7744
7745 2019-01-15 David Malcolm <dmalcolm@redhat.com>
7746
7747 PR c++/88795
7748 * tree.c (build_function_type): Assert that arg_types is not
7749 error_mark_node.
7750
7751 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
7752
7753 PR inline-asm/52813
7754 * doc/extend.texi: Document that listing the stack pointer in the
7755 clobber list of an asm is a deprecated feature.
7756 * common.opt (Wdeprecated): Moved from c-family/c.opt.
7757 * cfgexpand.c (asm_clobber_reg_is_valid): Issue a -Wdeprecated
7758 warning instead of an error for clobbers of the stack pointer.
7759 Add a note explaining why.
7760
7761 2019-01-15 Richard Biener <rguenther@suse.de>
7762
7763 PR debug/88046
7764 * dwarf2out.c (gen_member_die): Do not generate inheritance
7765 DIEs late.
7766
7767 2019-01-15 Richard Biener <rguenther@suse.de>
7768
7769 PR tree-optimization/88855
7770 * tree-if-conv.c (combine_blocks): Collect
7771 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from propagated out virtuals.
7772
7773 2019-01-15 Tom de Vries <tdevries@suse.de>
7774
7775 PR target/80547
7776 * config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
7777 lhs == NULL_TREE for gang-level reduction.
7778
7779 2019-01-15 Richard Biener <rguenther@suse.de>
7780 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
7781
7782 PR ipa/88788
7783 * ipa-pure-const.c (malloc_candidate_p_1): Add parameter visited and
7784 return true if SSA_NAME is already marked in visited bitmap.
7785 (malloc_candidate_p): Pass visited to malloc_candidate_p_1.
7786
7787 2019-01-15 Jakub Jelinek <jakub@redhat.com>
7788
7789 PR tree-optimization/88775
7790 * match.pd (cmp (convert1?@2 addr@0) (convert2? addr@1)): Optimize
7791 equal == 0 equality pointer comparisons some more if compared in
7792 integral types and either one points to an automatic var and the
7793 other to a global, or we can prove at least one points to the middle
7794 or both point to start or both point to end.
7795
7796 2019-01-14 Andi Kleen <ak@linux.intel.com>
7797
7798 * Makefile.in: Lower autofdo sampling rate by 10x.
7799 * Makefile.tpl: Dito.
7800
7801 2019-01-14 Tom Honermann <tom@honermann.net>
7802
7803 * defaults.h: Define CHAR8_TYPE.
7804
7805 2019-01-14 Martin Sebor <msebor@redhat.com>
7806
7807 PR target/88638
7808 * doc/extend.texi (Darwin Format Checks): Clarify.
7809
7810 2019-01-14 Richard Biener <rguenther@suse.de>
7811
7812 * genmatch.c (dt_simplify::gen_1): Change dumping dependent on
7813 whether we are in (simplify ...) or (match ...) context.
7814
7815 2019-01-14 Jakub Jelinek <jakub@redhat.com>
7816
7817 PR rtl-optimization/88796
7818 * emit-rtl.h (struct rtl_data): Add stack_protect_guard_decl field.
7819 * cfgexpand.c (stack_protect_prologue): Initialize
7820 crtl->stack_protect_guard_decl.
7821 * function.c (stack_protect_epilogue): Use it instead of calling
7822 targetm.stack_protect_guard again.
7823 * dse.c (check_mem_read_rtx): Ignore MEM_VOLATILE_P reads from
7824 MEMs with MEM_EXPR equal to crtl->stack_protect_guard or
7825 crtl->stack_protect_guard_decl.
7826 * config/i386/i386.c (ix86_stack_protect_guard): Set TREE_THIS_VOLATILE
7827 on the returned MEM_EXPR.
7828
7829 2019-01-12 Tom de Vries <tdevries@suse.de>
7830
7831 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Alow setting
7832 vector length using -fopenacc-dim.
7833
7834 2019-01-12 Tom de Vries <tdevries@suse.de>
7835
7836 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Take larger vector
7837 lengths into account.
7838
7839 2019-01-12 Svante Signell <svante.signell@gmail.com>
7840
7841 * config/i386/gnu.h (TARGET_THREAD_SSP_OFFSET): Define.
7842 (TARGET_CAN_SPLIT_STACK): Define.
7843 (TARGET_THREAD_SPLIT_STACK_OFFSET): Define.
7844
7845 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
7846
7847 * params.def (inline-unit-growth): Set to 40.
7848
7849 2019-01-12 Jakub Jelinek <jakub@redhat.com>
7850
7851 * tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo.
7852
7853 2019-01-12 Tom de Vries <tdevries@suse.de>
7854
7855 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): In offloading
7856 region calling vector-partitionable routine, set default_vector_length
7857 to WARP_SIZE.
7858
7859 2019-01-12 Tom de Vries <tdevries@suse.de>
7860
7861 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add an use new
7862 variable default_vector_length.
7863
7864 2019-01-12 Tom de Vries <tdevries@suse.de>
7865
7866 PR middle-end/88703
7867 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Apply defaults
7868 from oacc_default_dims, as oacc_validate_dims would do it, and apply
7869 dimensions limits.
7870
7871 2019-01-12 Tom de Vries <tdevries@suse.de>
7872
7873 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1)
7874 (nvptx_goacc_validate_dims): Add used parameter.
7875 * doc/tm.texi: Regenerate.
7876 * omp-offload.c (oacc_parse_default_dims, oacc_validate_dims): Add
7877 argument to call to targetm.goacc.validate_dims.
7878 (default_goacc_validate_dims): Add used
7879 parameter.
7880 * target.def (validate_dims): Add used parameter in DEFHOOK.
7881 * targhooks.h (default_goacc_validate_dims): Add used parameter.
7882
7883 2019-01-11 Jakub Jelinek <jakub@redhat.com>
7884
7885 PR middle-end/85956
7886 PR lto/88733
7887 * tree-inline.h (struct copy_body_data): Add adjust_array_error_bounds
7888 field.
7889 * tree-inline.c (remap_type_1): Formatting fix. If TYPE_MAX_VALUE of
7890 ARRAY_TYPE's TYPE_DOMAIN is newly error_mark_node, replace it with
7891 a dummy "omp dummy var" variable if id->adjust_array_error_bounds.
7892 * omp-low.c (new_omp_context): Set cb.adjust_array_error_bounds.
7893
7894 2019-01-11 Vladimir Makarov <vmakarov@redhat.com>
7895
7896 PR rtl-optimization/87305
7897 * lra-assigns.c
7898 (setup_live_pseudos_and_spill_after_risky_transforms): Add code
7899 for little endian pseudos used as paradoxical subreg.
7900
7901 2019-01-11 Jakub Jelinek <jakub@redhat.com>
7902
7903 PR tree-optimization/88693
7904 * tree-ssa-strlen.c (get_min_string_length): Don't set *full_string_p
7905 for STRING_CSTs that don't contain any NUL characters in the first
7906 TREE_STRING_LENGTH bytes.
7907
7908 2019-01-11 Alan Modra <amodra@gmail.com>
7909
7910 PR 88777
7911 PR 88614
7912 * genattrtab.c (min_fn): Don't translate values.
7913 (min_attr_value): Return INT_MAX when the value can't be calculated.
7914 Return minimum among any values that can be calculated.
7915 (max_attr_value): Adjust.
7916
7917 2019-01-11 Jakub Jelinek <jakub@redhat.com>
7918
7919 * Makefile.in (PLUGIN_HEADERS): Add $(INSN_ATTR_H).
7920
7921 2019-01-11 Steve Ellcey <sellcey@marvell.com>
7922
7923 * config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
7924 (aarch64_hard_regno_call_part_clobbered): Add insn argument.
7925 (aarch64_return_call_with_max_clobbers): New function.
7926 (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New macro.
7927 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Add insn
7928 argument.
7929 * config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Ditto.
7930 * config/mips/mips.c (mips_hard_regno_call_part_clobbered): Ditto.
7931 * config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered): Ditto.
7932 * config/s390/s390.c (s390_hard_regno_call_part_clobbered): Ditto.
7933 * cselib.c (cselib_process_insn): Add argument to
7934 targetm.hard_regno_call_part_clobbered call.
7935 * ira-conflicts.c (ira_build_conflicts): Ditto.
7936 * ira-costs.c (ira_tune_allocno_costs): Ditto.
7937 * lra-constraints.c (inherit_reload_reg): Ditto.
7938 * lra-int.h (struct lra_reg): Add call_insn field, remove call_p field.
7939 * lra-lives.c (check_pseudos_live_through_calls): Add call_insn
7940 argument. Call targetm.return_call_with_max_clobbers.
7941 Add argument to targetm.hard_regno_call_part_clobbered call.
7942 (calls_have_same_clobbers_p): New function.
7943 (process_bb_lives): Add call_insn and last_call_insn variables.
7944 Pass call_insn to check_pseudos_live_through_calls.
7945 Modify if stmt to check targetm.return_call_with_max_clobbers.
7946 Update setting of flush variable.
7947 (lra_create_live_ranges_1): Set call_insn to NULL instead of call_p
7948 to false.
7949 * lra.c (initialize_lra_reg_info_element): Set call_insn to NULL.
7950 * regcprop.c (copyprop_hardreg_forward_1): Add argument to
7951 targetm.hard_regno_call_part_clobbered call.
7952 * reginfo.c (choose_hard_reg_mode): Ditto.
7953 * regrename.c (check_new_reg_p): Ditto.
7954 * reload.c (find_equiv_reg): Ditto.
7955 * reload1.c (emit_reload_insns): Ditto.
7956 * sched-deps.c (deps_analyze_insn): Ditto.
7957 * sel-sched.c (init_regs_for_mode): Ditto.
7958 (mark_unavailable_hard_regs): Ditto.
7959 * targhooks.c (default_dwarf_frame_reg_mode): Ditto.
7960 * target.def (hard_regno_call_part_clobbered): Add insn argument.
7961 (return_call_with_max_clobbers): New target function.
7962 * doc/tm.texi: Regenerate.
7963 * doc/tm.texi.in (TARGET_RETURN_CALL_WITH_MAX_CLOBBERS): New hook.
7964 * hooks.c (hook_bool_uint_mode_false): Change to
7965 hook_bool_insn_uint_mode_false.
7966 * hooks.h (hook_bool_uint_mode_false): Ditto.
7967
7968 2019-01-11 Steve Ellcey <sellcey@marvell.com>
7969
7970 * config/aarch64/aarch64.c (aarch64_simd_call_p): New function.
7971 (aarch64_remove_extra_call_preserved_regs): New function.
7972 (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New macro.
7973 * doc/tm.texi.in (TARGET_REMOVE_EXTRA_CALL_PRESERVED_REGS): New hook.
7974 * doc/tm.texi: Regenerate.
7975 * final.c (get_call_reg_set_usage): Call new hook.
7976 * target.def (remove_extra_call_preserved_regs): New hook.
7977 * targhooks.c (default_remove_extra_call_preserved_regs): New function.
7978 * targhooks.h (default_remove_extra_call_preserved_regs): New function.
7979
7980 2019-01-11 Jakub Jelinek <jakub@redhat.com>
7981
7982 PR bootstrap/88714
7983 * passes.c (finish_optimization_passes): Call print_combine_total_stats
7984 inside of pass_combine_1 dump rather than pass_profile_1.
7985
7986 2019-01-11 Tom de Vries <tdevries@suse.de>
7987
7988 * config/nvptx/nvptx.c (PTX_CTA_NUM_BARRIERS, PTX_PER_CTA_BARRIER)
7989 (PTX_NUM_PER_CTA_BARRIER, PTX_FIRST_PER_WORKER_BARRIER)
7990 (PTX_NUM_PER_WORKER_BARRIERS): Define.
7991 (nvptx_apply_dim_limits): Prevent vector_length 64 and
7992 num_workers 16.
7993
7994 2019-01-11 Tom de Vries <tdevries@suse.de>
7995
7996 * config/nvptx/nvptx.c (PTX_CTA_SIZE): Move up.
7997
7998 2019-01-11 Jan Beulich <jbeulich@suse.com>
7999
8000 * config/i386/i386.md (rex64suffix): Add L suffix for SI.
8001 * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>32<round_name>,
8002 sse2_cvtsi2sd): Add {l}.
8003 (sse2_cvtsi2sdq<round_name>): Make q conditional upon AT&T
8004 syntax.
8005
8006 2019-01-10 Jakub Jelinek <jakub@redhat.com>
8007
8008 PR target/88785
8009 * config/i386/sse.md (float<floatunssuffix>v2div2sf2): Turn into
8010 define_expand.
8011 (*float<floatunssuffix>v2div2sf2): New define_insn.
8012 (float<floatunssuffix>v2div2sf2_mask): Turn into define_expand.
8013 (*float<floatunssuffix>v2div2sf2_mask): New define_insn.
8014 (*float<floatunssuffix>v2div2sf2_mask_1): Replace
8015 subrtxes (const_vector:V2SF [(const_int 0) (const_int 0)]) with
8016 match_operands with "const0_operand" "C".
8017
8018 2019-01-10 Tamar Christina <tamar.christina@arm.com>
8019
8020 * config/aarch64/aarch64-builtins.c
8021 (aarch64_init_builtins): Move aarch64_init_fcmla_laneq_builtins...
8022 (aarch64_init_simd_builtins): ...Here
8023
8024 2019-01-10 Vladimir Makarov <vmakarov@redhat.com>
8025
8026 PR rtl-optimization/87305
8027 * lra-assigns.c
8028 (setup_live_pseudos_and_spill_after_risky_transforms): Check
8029 allocation for big endian pseudos used as paradoxical subregs and
8030 spill them if it is wrong.
8031 * lra-constraints.c (lra_constraints): Add a comment.
8032
8033 2019-01-10 Richard Biener <rguenther@suse.de>
8034
8035 PR tree-optimization/88792
8036 * tree-ssa-pre.c (get_representative_for): Do not return a
8037 value-number here.
8038
8039 2019-01-10 Jakub Jelinek <jakub@redhat.com>
8040
8041 PR middle-end/84877
8042 PR bootstrap/88450
8043 * function.c (assign_stack_local_1): Revert the 2018-11-21 changes.
8044 (assign_parm_setup_block): Do the argument slot realignment here
8045 instead.
8046
8047 2019-01-10 Stefan Agner <stefan@agner.ch>
8048
8049 PR target/88648
8050 * config/arm/arm.c (arm_option_override_internal): Force
8051 opts->x_inline_asm_unified to true only if TARGET_THUMB2_P.
8052
8053 2019-01-10 Jakub Jelinek <jakub@redhat.com>
8054
8055 PR c/88568
8056 * attribs.c (handle_dll_attribute): Clear TREE_STATIC after setting
8057 DECL_EXTERNAL.
8058
8059 2019-01-10 Tamar Christina <tamar.christina@arm.com>
8060
8061 * config/arm/arm-builtins.c
8062 (enum arm_type_qualifiers): Add qualifier_lane_pair_index.
8063 (MAC_LANE_PAIR_QUALIFIERS): New.
8064 (arm_expand_builtin_args): Use it.
8065 (arm_expand_builtin_1): Likewise.
8066 * config/arm/arm-protos.h (neon_vcmla_lane_prepare_operands): New.
8067 * config/arm/arm.c (neon_vcmla_lane_prepare_operands): New.
8068 * config/arm/arm-c.c (arm_cpu_builtins): Add __ARM_FEATURE_COMPLEX.
8069 * config/arm/arm_neon.h:
8070 (vcadd_rot90_f16): New.
8071 (vcaddq_rot90_f16): New.
8072 (vcadd_rot270_f16): New.
8073 (vcaddq_rot270_f16): New.
8074 (vcmla_f16): New.
8075 (vcmlaq_f16): New.
8076 (vcmla_lane_f16): New.
8077 (vcmla_laneq_f16): New.
8078 (vcmlaq_lane_f16): New.
8079 (vcmlaq_laneq_f16): New.
8080 (vcmla_rot90_f16): New.
8081 (vcmlaq_rot90_f16): New.
8082 (vcmla_rot90_lane_f16): New.
8083 (vcmla_rot90_laneq_f16): New.
8084 (vcmlaq_rot90_lane_f16): New.
8085 (vcmlaq_rot90_laneq_f16): New.
8086 (vcmla_rot180_f16): New.
8087 (vcmlaq_rot180_f16): New.
8088 (vcmla_rot180_lane_f16): New.
8089 (vcmla_rot180_laneq_f16): New.
8090 (vcmlaq_rot180_lane_f16): New.
8091 (vcmlaq_rot180_laneq_f16): New.
8092 (vcmla_rot270_f16): New.
8093 (vcmlaq_rot270_f16): New.
8094 (vcmla_rot270_lane_f16): New.
8095 (vcmla_rot270_laneq_f16): New.
8096 (vcmlaq_rot270_lane_f16): New.
8097 (vcmlaq_rot270_laneq_f16): New.
8098 (vcadd_rot90_f32): New.
8099 (vcaddq_rot90_f32): New.
8100 (vcadd_rot270_f32): New.
8101 (vcaddq_rot270_f32): New.
8102 (vcmla_f32): New.
8103 (vcmlaq_f32): New.
8104 (vcmla_lane_f32): New.
8105 (vcmla_laneq_f32): New.
8106 (vcmlaq_lane_f32): New.
8107 (vcmlaq_laneq_f32): New.
8108 (vcmla_rot90_f32): New.
8109 (vcmlaq_rot90_f32): New.
8110 (vcmla_rot90_lane_f32): New.
8111 (vcmla_rot90_laneq_f32): New.
8112 (vcmlaq_rot90_lane_f32): New.
8113 (vcmlaq_rot90_laneq_f32): New.
8114 (vcmla_rot180_f32): New.
8115 (vcmlaq_rot180_f32): New.
8116 (vcmla_rot180_lane_f32): New.
8117 (vcmla_rot180_laneq_f32): New.
8118 (vcmlaq_rot180_lane_f32): New.
8119 (vcmlaq_rot180_laneq_f32): New.
8120 (vcmla_rot270_f32): New.
8121 (vcmlaq_rot270_f32): New.
8122 (vcmla_rot270_lane_f32): New.
8123 (vcmla_rot270_laneq_f32): New.
8124 (vcmlaq_rot270_lane_f32): New.
8125 (vcmlaq_rot270_laneq_f32): New.
8126 * config/arm/arm_neon_builtins.def (vcadd90, vcadd270, vcmla0, vcmla90,
8127 vcmla180, vcmla270, vcmla_lane0, vcmla_lane90, vcmla_lane180,
8128 vcmla_lane270, vcmla_laneq0, vcmla_laneq90, vcmla_laneq180,
8129 vcmla_laneq270, vcmlaq_lane0, vcmlaq_lane90, vcmlaq_lane180,
8130 vcmlaq_lane270): New.
8131 * config/arm/neon.md (neon_vcmla_lane<rot><mode>,
8132 neon_vcmla_laneq<rot><mode>, neon_vcmlaq_lane<rot><mode>): New.
8133 * config/arm/arm.c (arm_arch8_3, arm_arch8_4): New.
8134 * config/arm/arm.h (TARGET_COMPLEX, arm_arch8_3, arm_arch8_4): New.
8135 (arm_option_reconfigure_globals): Use them.
8136 * config/arm/iterators.md (VDF, VQ_HSF): New.
8137 (VCADD, VCMLA): New.
8138 (VF_constraint, rot, rotsplit1, rotsplit2): Add V4HF and V8HF.
8139 * config/arm/neon.md (neon_vcadd<rot><mode>, neon_vcmla<rot><mode>):
8140 New.
8141 * config/arm/unspecs.md (UNSPEC_VCADD90, UNSPEC_VCADD270,
8142 UNSPEC_VCMLA, UNSPEC_VCMLA90, UNSPEC_VCMLA180, UNSPEC_VCMLA270): New.
8143
8144 2019-01-10 Tamar Christina <tamar.christina@arm.com>
8145
8146 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
8147 Add qualifier_lane_pair_index.
8148 (emit-rtl.h): Include.
8149 (TYPES_QUADOP_LANE_PAIR): New.
8150 (aarch64_simd_expand_args): Use it.
8151 (aarch64_simd_expand_builtin): Likewise.
8152 (AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_laneq_builtin_datum):
8153 New.
8154 (FCMLA_LANEQ_BUILTIN, AARCH64_SIMD_FCMLA_LANEQ_BUILTIN_BASE,
8155 AARCH64_SIMD_FCMLA_LANEQ_BUILTINS, aarch64_fcmla_lane_builtin_data,
8156 aarch64_init_fcmla_laneq_builtins, aarch64_expand_fcmla_builtin): New.
8157 (aarch64_init_builtins): Add aarch64_init_fcmla_laneq_builtins.
8158 (aarch64_expand_buildin): Add AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V2SF,
8159 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V2SF,
8160 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V2SF,
8161 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ2700_V2SF,
8162 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ0_V4HF,
8163 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ90_V4HF,
8164 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ180_V4HF,
8165 AARCH64_SIMD_BUILTIN_FCMLA_LANEQ270_V4HF.
8166 * config/aarch64/iterators.md (FCMLA_maybe_lane): New.
8167 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
8168 Add __ARM_FEATURE_COMPLEX.
8169 * config/aarch64/aarch64-simd-builtins.def (fcadd90, fcadd270, fcmla0,
8170 fcmla90, fcmla180, fcmla270, fcmla_lane0, fcmla_lane90, fcmla_lane180,
8171 fcmla_lane270, fcmla_laneq0, fcmla_laneq90, fcmla_laneq180,
8172 fcmla_laneq270, fcmlaq_lane0, fcmlaq_lane90, fcmlaq_lane180,
8173 fcmlaq_lane270): New.
8174 * config/aarch64/aarch64-simd.md (aarch64_fcmla_lane<rot><mode>,
8175 aarch64_fcmla_laneq<rot>v4hf, aarch64_fcmlaq_lane<rot><mode>,
8176 aarch64_fcadd<rot><mode>, aarch64_fcmla<rot><mode>): New.
8177 * config/aarch64/arm_neon.h:
8178 (vcadd_rot90_f16): New.
8179 (vcaddq_rot90_f16): New.
8180 (vcadd_rot270_f16): New.
8181 (vcaddq_rot270_f16): New.
8182 (vcmla_f16): New.
8183 (vcmlaq_f16): New.
8184 (vcmla_lane_f16): New.
8185 (vcmla_laneq_f16): New.
8186 (vcmlaq_lane_f16): New.
8187 (vcmlaq_rot90_lane_f16): New.
8188 (vcmla_rot90_laneq_f16): New.
8189 (vcmla_rot90_lane_f16): New.
8190 (vcmlaq_rot90_f16): New.
8191 (vcmla_rot90_f16): New.
8192 (vcmlaq_laneq_f16): New.
8193 (vcmla_rot180_laneq_f16): New.
8194 (vcmla_rot180_lane_f16): New.
8195 (vcmlaq_rot180_f16): New.
8196 (vcmla_rot180_f16): New.
8197 (vcmlaq_rot90_laneq_f16): New.
8198 (vcmlaq_rot270_laneq_f16): New.
8199 (vcmlaq_rot270_lane_f16): New.
8200 (vcmla_rot270_laneq_f16): New.
8201 (vcmlaq_rot270_f16): New.
8202 (vcmla_rot270_f16): New.
8203 (vcmlaq_rot180_laneq_f16): New.
8204 (vcmlaq_rot180_lane_f16): New.
8205 (vcmla_rot270_lane_f16): New.
8206 (vcadd_rot90_f32): New.
8207 (vcaddq_rot90_f32): New.
8208 (vcaddq_rot90_f64): New.
8209 (vcadd_rot270_f32): New.
8210 (vcaddq_rot270_f32): New.
8211 (vcaddq_rot270_f64): New.
8212 (vcmla_f32): New.
8213 (vcmlaq_f32): New.
8214 (vcmlaq_f64): New.
8215 (vcmla_lane_f32): New.
8216 (vcmla_laneq_f32): New.
8217 (vcmlaq_lane_f32): New.
8218 (vcmlaq_laneq_f32): New.
8219 (vcmla_rot90_f32): New.
8220 (vcmlaq_rot90_f32): New.
8221 (vcmlaq_rot90_f64): New.
8222 (vcmla_rot90_lane_f32): New.
8223 (vcmla_rot90_laneq_f32): New.
8224 (vcmlaq_rot90_lane_f32): New.
8225 (vcmlaq_rot90_laneq_f32): New.
8226 (vcmla_rot180_f32): New.
8227 (vcmlaq_rot180_f32): New.
8228 (vcmlaq_rot180_f64): New.
8229 (vcmla_rot180_lane_f32): New.
8230 (vcmla_rot180_laneq_f32): New.
8231 (vcmlaq_rot180_lane_f32): New.
8232 (vcmlaq_rot180_laneq_f32): New.
8233 (vcmla_rot270_f32): New.
8234 (vcmlaq_rot270_f32): New.
8235 (vcmlaq_rot270_f64): New.
8236 (vcmla_rot270_lane_f32): New.
8237 (vcmla_rot270_laneq_f32): New.
8238 (vcmlaq_rot270_lane_f32): New.
8239 (vcmlaq_rot270_laneq_f32): New.
8240 * config/aarch64/aarch64.h (TARGET_COMPLEX): New.
8241 * config/aarch64/iterators.md (UNSPEC_FCADD90, UNSPEC_FCADD270,
8242 UNSPEC_FCMLA, UNSPEC_FCMLA90, UNSPEC_FCMLA180, UNSPEC_FCMLA270): New.
8243 (FCADD, FCMLA): New.
8244 (rot): New.
8245 * config/arm/types.md (neon_fcadd, neon_fcmla): New.
8246
8247 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
8248
8249 PR other/16615
8250
8251 * config/pa/pa.c: Change "can not" to "cannot".
8252 * gimple-ssa-evrp-analyze.c: Likewise.
8253 * ipa-icf.c: Likewise.
8254 * ipa-polymorphic-call.c: Likewise.
8255 * ipa-pure-const.c: Likewise.
8256 * lra-constraints.c: Likewise.
8257 * lra-remat.c: Likewise.
8258 * reload1.c: Likewise.
8259 * reorg.c: Likewise.
8260 * tree-ssa-uninit.c: Likewise.
8261
8262 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
8263
8264 PR other/16615
8265
8266 * Makefile.in: Mechanically replace "can not" with "cannot".
8267 * alias.c: Likewise.
8268 * builtins.c: Likewise.
8269 * calls.c: Likewise.
8270 * cgraph.c: Likewise.
8271 * cgraph.h: Likewise.
8272 * cgraphclones.c: Likewise.
8273 * cgraphunit.c: Likewise.
8274 * combine-stack-adj.c: Likewise.
8275 * combine.c: Likewise.
8276 * common/config/i386/i386-common.c: Likewise.
8277 * config/aarch64/aarch64.c: Likewise.
8278 * config/alpha/sync.md: Likewise.
8279 * config/arc/arc.c: Likewise.
8280 * config/arc/predicates.md: Likewise.
8281 * config/arm/arm-c.c: Likewise.
8282 * config/arm/arm.c: Likewise.
8283 * config/arm/arm.h: Likewise.
8284 * config/arm/arm.md: Likewise.
8285 * config/arm/cortex-r4f.md: Likewise.
8286 * config/csky/csky.c: Likewise.
8287 * config/csky/csky.h: Likewise.
8288 * config/darwin-f.c: Likewise.
8289 * config/epiphany/epiphany.md: Likewise.
8290 * config/i386/i386.c: Likewise.
8291 * config/i386/sol2.h: Likewise.
8292 * config/m68k/m68k.c: Likewise.
8293 * config/mcore/mcore.h: Likewise.
8294 * config/microblaze/microblaze.md: Likewise.
8295 * config/mips/20kc.md: Likewise.
8296 * config/mips/sb1.md: Likewise.
8297 * config/nds32/nds32.c: Likewise.
8298 * config/nds32/predicates.md: Likewise.
8299 * config/pa/pa.c: Likewise.
8300 * config/rs6000/e300c2c3.md: Likewise.
8301 * config/rs6000/rs6000.c: Likewise.
8302 * config/s390/s390.h: Likewise.
8303 * config/sh/sh.c: Likewise.
8304 * config/sh/sh.md: Likewise.
8305 * config/spu/vmx2spu.h: Likewise.
8306 * cprop.c: Likewise.
8307 * dbxout.c: Likewise.
8308 * df-scan.c: Likewise.
8309 * doc/cfg.texi: Likewise.
8310 * doc/extend.texi: Likewise.
8311 * doc/fragments.texi: Likewise.
8312 * doc/gty.texi: Likewise.
8313 * doc/invoke.texi: Likewise.
8314 * doc/lto.texi: Likewise.
8315 * doc/md.texi: Likewise.
8316 * doc/objc.texi: Likewise.
8317 * doc/rtl.texi: Likewise.
8318 * doc/tm.texi: Likewise.
8319 * dse.c: Likewise.
8320 * emit-rtl.c: Likewise.
8321 * emit-rtl.h: Likewise.
8322 * except.c: Likewise.
8323 * expmed.c: Likewise.
8324 * expr.c: Likewise.
8325 * fold-const.c: Likewise.
8326 * genautomata.c: Likewise.
8327 * gimple-fold.c: Likewise.
8328 * hard-reg-set.h: Likewise.
8329 * ifcvt.c: Likewise.
8330 * ipa-comdats.c: Likewise.
8331 * ipa-cp.c: Likewise.
8332 * ipa-devirt.c: Likewise.
8333 * ipa-fnsummary.c: Likewise.
8334 * ipa-icf.c: Likewise.
8335 * ipa-inline-transform.c: Likewise.
8336 * ipa-inline.c: Likewise.
8337 * ipa-polymorphic-call.c: Likewise.
8338 * ipa-profile.c: Likewise.
8339 * ipa-prop.c: Likewise.
8340 * ipa-pure-const.c: Likewise.
8341 * ipa-reference.c: Likewise.
8342 * ipa-split.c: Likewise.
8343 * ipa-visibility.c: Likewise.
8344 * ipa.c: Likewise.
8345 * ira-build.c: Likewise.
8346 * ira-color.c: Likewise.
8347 * ira-conflicts.c: Likewise.
8348 * ira-costs.c: Likewise.
8349 * ira-int.h: Likewise.
8350 * ira-lives.c: Likewise.
8351 * ira.c: Likewise.
8352 * ira.h: Likewise.
8353 * loop-invariant.c: Likewise.
8354 * loop-unroll.c: Likewise.
8355 * lower-subreg.c: Likewise.
8356 * lra-assigns.c: Likewise.
8357 * lra-constraints.c: Likewise.
8358 * lra-eliminations.c: Likewise.
8359 * lra-lives.c: Likewise.
8360 * lra-remat.c: Likewise.
8361 * lra-spills.c: Likewise.
8362 * lra.c: Likewise.
8363 * lto-cgraph.c: Likewise.
8364 * lto-streamer-out.c: Likewise.
8365 * postreload-gcse.c: Likewise.
8366 * predict.c: Likewise.
8367 * profile-count.h: Likewise.
8368 * profile.c: Likewise.
8369 * recog.c: Likewise.
8370 * ree.c: Likewise.
8371 * reload.c: Likewise.
8372 * reload1.c: Likewise.
8373 * reorg.c: Likewise.
8374 * resource.c: Likewise.
8375 * rtl.def: Likewise.
8376 * rtl.h: Likewise.
8377 * rtlanal.c: Likewise.
8378 * sched-deps.c: Likewise.
8379 * sched-ebb.c: Likewise.
8380 * sched-rgn.c: Likewise.
8381 * sel-sched-ir.c: Likewise.
8382 * sel-sched.c: Likewise.
8383 * shrink-wrap.c: Likewise.
8384 * simplify-rtx.c: Likewise.
8385 * symtab.c: Likewise.
8386 * target.def: Likewise.
8387 * toplev.c: Likewise.
8388 * tree-call-cdce.c: Likewise.
8389 * tree-cfg.c: Likewise.
8390 * tree-complex.c: Likewise.
8391 * tree-core.h: Likewise.
8392 * tree-eh.c: Likewise.
8393 * tree-inline.c: Likewise.
8394 * tree-loop-distribution.c: Likewise.
8395 * tree-nrv.c: Likewise.
8396 * tree-profile.c: Likewise.
8397 * tree-sra.c: Likewise.
8398 * tree-ssa-alias.c: Likewise.
8399 * tree-ssa-dce.c: Likewise.
8400 * tree-ssa-dom.c: Likewise.
8401 * tree-ssa-forwprop.c: Likewise.
8402 * tree-ssa-loop-im.c: Likewise.
8403 * tree-ssa-loop-ivcanon.c: Likewise.
8404 * tree-ssa-loop-ivopts.c: Likewise.
8405 * tree-ssa-loop-niter.c: Likewise.
8406 * tree-ssa-phionlycprop.c: Likewise.
8407 * tree-ssa-phiopt.c: Likewise.
8408 * tree-ssa-propagate.c: Likewise.
8409 * tree-ssa-threadedge.c: Likewise.
8410 * tree-ssa-threadupdate.c: Likewise.
8411 * tree-ssa-uninit.c: Likewise.
8412 * tree-ssanames.c: Likewise.
8413 * tree-streamer-out.c: Likewise.
8414 * tree.c: Likewise.
8415 * tree.h: Likewise.
8416 * vr-values.c: Likewise.
8417
8418 2019-01-09 Uroš Bizjak <ubizjak@gmail.com>
8419
8420 * config/i386/i386-protos.h (ix86_expand_xorsign): New prototype.
8421 (ix86_split_xorsign): Ditto.
8422 * config/i386/i386.c (ix86_expand_xorsign): New function.
8423 (ix86_split_xorsign): Ditto.
8424 * config/i386/i386.md (UNSPEC_XORSIGN): New unspec.
8425 (xorsign<mode>3): New expander.
8426 (xorsign<mode>3_1): New insn_and_split pattern.
8427 * config/i386/sse.md (xorsign<mode>3): New expander.
8428
8429 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
8430
8431 * config/sparc/sparc.md (*tablejump_sp32): Merge into...
8432 (*tablejump_sp64): Likewise.
8433 (*tablejump<P:mode>): ...this.
8434 (*call_address_sp32): Merge into...
8435 (*call_address_sp64): Likewise.
8436 (*call_address<P:mode>): ...this.
8437 (*call_symbolic_sp32): Merge into...
8438 (*call_symbolic_sp64): Likewise.
8439 (*call_symbolic<P:mode>): ...this.
8440 (call_value): Remove constraint and add predicate.
8441 (*call_value_address_sp32): Merge into...
8442 (*call_value_address_sp64): Likewise.
8443 (*call_value_address<P:mode>): ...this.
8444 (*call_value_symbolic_sp32): Merge into...
8445 (*call_value_symbolic_sp64): Likewise.
8446 (*call_value_symbolic<P:mode>): ...this.
8447 (*sibcall_symbolic_sp32): Merge into...
8448 (*sibcall_symbolic_sp64): Likewise.
8449 (*sibcall_symbolic<P:mode>): ...this.
8450 (sibcall_value): Remove constraint and add predicate.
8451 (*sibcall_value_symbolic_sp32): Merge into...
8452 (*sibcall_value_symbolic_sp64): Likewise.
8453 (*sibcall_value_symbolic<P:mode>): ...this.
8454 (window_save): Minor tweak.
8455 (*branch_sp32): Merge into...
8456 (*branch_sp64): Likewise.
8457 (*branch<P:mode>): ...this.
8458
8459 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
8460 James Clarke <jrtc27@jrtc27.com>
8461
8462 PR target/84010
8463 * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode
8464 consistently in TLS address generation and adjust code to the renaming
8465 of patterns. Mark calls to __tls_get_addr as const.
8466 * config/sparc/sparc.md (tgd_hi22): Turn into...
8467 (tgd_hi22<P:mode>): ...this and use Pmode throughout.
8468 (tgd_lo10): Turn into...
8469 (tgd_lo10<P:mode>): ...this and use Pmode throughout.
8470 (tgd_add32): Merge into...
8471 (tgd_add64): Likewise.
8472 (tgd_add<P:mode>): ...this and use Pmode throughout.
8473 (tldm_hi22): Turn into...
8474 (tldm_hi22<P:mode>): ...this and use Pmode throughout.
8475 (tldm_lo10): Turn into...
8476 (tldm_lo10<P:mode>): ...this and use Pmode throughout.
8477 (tldm_add32): Merge into...
8478 (tldm_add64): Likewise.
8479 (tldm_add<P:mode>): ...this and use Pmode throughout.
8480 (tldm_call32): Merge into...
8481 (tldm_call64): Likewise.
8482 (tldm_call<P:mode>): ...this and use Pmode throughout.
8483 (tldo_hix22): Turn into...
8484 (tldo_hix22<P:mode>): ...this and use Pmode throughout.
8485 (tldo_lox10): Turn into...
8486 (tldo_lox10<P:mode>): ...this and use Pmode throughout.
8487 (tldo_add32): Merge into...
8488 (tldo_add64): Likewise.
8489 (tldo_add<P:mode>): ...this and use Pmode throughout.
8490 (tie_hi22): Turn into...
8491 (tie_hi22<P:mode>): ...this and use Pmode throughout.
8492 (tie_lo10): Turn into...
8493 (tie_lo10<P:mode>): ...this and use Pmode throughout.
8494 (tie_ld64): Use DImode throughout.
8495 (tie_add32): Merge into...
8496 (tie_add64): Likewise.
8497 (tie_add<P:mode>): ...this and use Pmode throughout.
8498 (tle_hix22_sp32): Merge into...
8499 (tle_hix22_sp64): Likewise.
8500 (tle_hix22<P:mode>): ...this and use Pmode throughout.
8501 (tle_lox22_sp32): Merge into...
8502 (tle_lox22_sp64): Likewise.
8503 (tle_lox22<P:mode>): ...this and use Pmode throughout.
8504 (*tldo_ldub_sp32): Merge into...
8505 (*tldo_ldub_sp64): Likewise.
8506 (*tldo_ldub<P:mode>): ...this and use Pmode throughout.
8507 (*tldo_ldub1_sp32): Merge into...
8508 (*tldo_ldub1_sp64): Likewise.
8509 (*tldo_ldub1<P:mode>): ...this and use Pmode throughout.
8510 (*tldo_ldub2_sp32): Merge into...
8511 (*tldo_ldub2_sp64): Likewise.
8512 (*tldo_ldub2<P:mode>): ...this and use Pmode throughout.
8513 (*tldo_ldsb1_sp32): Merge into...
8514 (*tldo_ldsb1_sp64): Likewise.
8515 (*tldo_ldsb1<P:mode>): ...this and use Pmode throughout.
8516 (*tldo_ldsb2_sp32): Merge into...
8517 (*tldo_ldsb2_sp64): Likewise.
8518 (*tldo_ldsb2<P:mode>): ...this and use Pmode throughout.
8519 (*tldo_ldub3_sp64): Use DImode throughout.
8520 (*tldo_ldsb3_sp64): Likewise.
8521 (*tldo_lduh_sp32): Merge into...
8522 (*tldo_lduh_sp64): Likewise.
8523 (*tldo_lduh<P:mode>): ...this and use Pmode throughout.
8524 (*tldo_lduh1_sp32): Merge into...
8525 (*tldo_lduh1_sp64): Likewise.
8526 (*tldo_lduh1<P:mode>): ...this and use Pmode throughout.
8527 (*tldo_ldsh1_sp32): Merge into...
8528 (*tldo_ldsh1_sp64): Likewise.
8529 (*tldo_ldsh1<P:mode>): ...this and use Pmode throughout.
8530 (*tldo_lduh2_sp64): Use DImode throughout.
8531 (*tldo_ldsh2_sp64): Likewise.
8532 (*tldo_lduw_sp32): Merge into...
8533 (*tldo_lduw_sp64): Likewise.
8534 (*tldo_lduw<P:mode>): ...this and use Pmode throughout.
8535 (*tldo_lduw1_sp64): Use DImode throughout.
8536 (*tldo_ldsw1_sp64): Likewise.
8537 (*tldo_ldx_sp64): Likewise.
8538 (*tldo_stb_sp32): Merge into...
8539 (*tldo_stb_sp64): Likewise.
8540 (*tldo_stb<P:mode>): ...this and use Pmode throughout.
8541 (*tldo_sth_sp32): Merge into...
8542 (*tldo_sth_sp64): Likewise.
8543 (*tldo_sth<P:mode>): ...this and use Pmode throughout.
8544 (*tldo_stw_sp32): Merge into...
8545 (*tldo_stw_sp64): Likewise.
8546 (*tldo_stw<P:mode>): ...this and use Pmode throughout.
8547 (*tldo_stx_sp64): Use DImode throughout.
8548
8549 2018-01-09 Sudakshina Das <sudi.das@arm.com>
8550
8551 * config/aarch64/aarch64.c (aarch64_override_options): Add case to
8552 check configure option to set BTI and Return Address Signing.
8553 * configure.ac: Add --enable-standard-branch-protection and
8554 --disable-standard-branch-protection.
8555 * configure: Regenerated.
8556 * doc/install.texi: Document the same.
8557
8558 2018-01-09 Sudakshina Das <sudi.das@arm.com>
8559 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8560
8561 * config.gcc (aarch64*-*-*): Add aarch64-bti-insert.o.
8562 * config/aarch64/aarch64.h: Update comment for TRAMPOLINE_SIZE.
8563 * config/aarch64/aarch64.c (aarch64_asm_trampoline_template): Update
8564 if bti is enabled.
8565 * config/aarch64/aarch64-bti-insert.c: New file.
8566 * config/aarch64/aarch64-passes.def (INSERT_PASS_BEFORE): Insert bti
8567 pass.
8568 * config/aarch64/aarch64-protos.h (make_pass_insert_bti): Declare the
8569 new bti pass.
8570 * config/aarch64/aarch64.md (unspecv): Add UNSPECV_BTI_NOARG,
8571 UNSPECV_BTI_C, UNSPECV_BTI_J and UNSPECV_BTI_JC.
8572 (bti_noarg, bti_j, bti_c, bti_jc): New define_insns.
8573 * config/aarch64/t-aarch64: Add rule for aarch64-bti-insert.o.
8574
8575 2018-01-09 Sudakshina Das <sudi.das@arm.com>
8576
8577 * config/aarch64/aarch64-protos.h (aarch64_bti_enabled): Declare.
8578 * config/aarch64/aarch64.c (aarch64_handle_no_branch_protection):
8579 Disable bti for -mbranch-protection=none.
8580 (aarch64_handle_standard_branch_protection): Enable bti for
8581 -mbranch-protection=standard.
8582 (aarch64_handle_bti_protection): Enable bti for "bti" in the string to
8583 -mbranch-protection.
8584 (aarch64_bti_enabled): Check if bti is enabled.
8585 * config/aarch64/aarch64.opt: Declare target variable.
8586 * doc/invoke.texi: Add bti to the -mbranch-protection documentation.
8587
8588 2018-01-09 Sudakshina Das <sudi.das@arm.com>
8589
8590 * config/aarch64/aarch64.c (aarch64_expand_prologue): Use new
8591 epilogue/prologue scratch registers EP0_REGNUM and EP1_REGNUM.
8592 (aarch64_expand_epilogue): Likewise.
8593 (aarch64_output_mi_thunk): Likewise
8594 * config/aarch64/aarch64.h (REG_CLASS_CONTENTS): Change
8595 TAILCALL_ADDR_REGS to x16 and x17.
8596 * config/aarch64/aarch64.md: Define EP0_REGNUM and EP1_REGNUM.
8597
8598 2018-01-09 Sudakshina Das <sudi.das@arm.com>
8599
8600 * config/aarch64/aarch64-option-extensions.def: Define
8601 AARCH64_OPT_EXTENSION for memtag, rng, sb, ssbs and predres.
8602 * config/aarch64/aarch64.h (AARCH64_FL_RNG): New.
8603 (AARCH64_FL_MEMTAG, ARCH64_FL_SB, AARCH64_FL_SSBS): New.
8604 (AARCH64_FL_PREDRES): New.
8605 (AARCH64_FL_FOR_ARCH8_5): Add AARCH64_FL_SB, AARCH64_FL_SSBS and
8606 AARCH64_FL_PREDRES by default.
8607 * doc/invoke.texi: Document rng, memtag, sb, ssbs and predres.
8608
8609 2018-01-09 Sudakshina Das <sudi.das@arm.com>
8610
8611 * config/aarch64/aarch64-arches.def: Define AARCH64_ARCH for
8612 ARMv8.5-A.
8613 * config/aarch64/aarch64.h (AARCH64_FL_V8_5): New.
8614 (AARCH64_FL_FOR_ARCH8_5, AARCH64_ISA_V8_5): New.
8615 * doc/invoke.texi: Document ARMv8.5-A.
8616
8617 2019-01-09 Alejandro Martinez <alejandro.martinezvicente@arm.com>
8618
8619 * config/aarch64/aarch64-sve.md (copysign<mode>3): New define_expand.
8620 (xorsign<mode>3): Likewise.
8621
8622 2019-01-09 Jelinek <jakub@redhat.com>
8623
8624 PR middle-end/88758
8625 * tree.c (initializer_each_zero_or_onep) <case VECTOR_CST>: Use
8626 vector_cst_elt instead of VECTOR_CST_ENCODED_ELT.
8627
8628 PR rtl-optimization/88331
8629 * function.c (assign_stack_local_1): Don't set dynamic_align_addr if
8630 not currently_expanding_to_rtl.
8631
8632 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
8633
8634 * doc/invoke.texi (-Os): Remove trailing spaces.
8635 (-finline-functions): Remove reference to -O2.
8636
8637 2019-01-08 Jakub Jelinek <jakub@redhat.com>
8638
8639 PR rtl-optimization/79593
8640 * config/i386/i386.md (reg = mem; mem = reg): New define_peephole2.
8641
8642 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Delegitimize
8643 UNSPEC_FUSION_GPR to its argument. Formatting fixes.
8644
8645 2019-01-08 Eric Botcazou <ebotcazou@adacore.com>
8646
8647 PR bootstrap/88721
8648 * config/sparc/sparc.c (function_arg_slotno): Set *PPREGNO & *PPADDING
8649 to -1 on entry.
8650
8651 PR debug/88723
8652 * config/sparc/sparc.c (sparc_delegitimize_address): Deal with naked
8653 UNSPECs and UNSPEC_MOVE_GOTDATA specifically.
8654
8655 2019-01-08 H.J. Lu <hongjiu.lu@intel.com>
8656
8657 PR target/88717
8658 * config/i386/i386.c (ix86_avx_u128_mode_exit): Call
8659 ix86_avx_u128_mode_entry.
8660
8661 2019-01-08 Martin Liska <mliska@suse.cz>
8662
8663 PR tree-optimization/88753
8664 * tree-switch-conversion.c (switch_conversion::build_one_array):
8665 Come up with local variable constructor. Convert first to
8666 type of constructor values.
8667
8668 2019-01-08 Richard Biener <rguenther@suse.de>
8669
8670 PR tree-optimization/86554
8671 * tree-ssa-sccvn.c (eliminate_dom_walker, rpo_elim,
8672 rpo_avail): Move earlier.
8673 (visit_nary_op): When value-numbering to expressions
8674 with different overflow behavior make sure there's an
8675 available expression on the path.
8676
8677 2019-01-08 Sam Tebbs <sam.tebbs@arm.com>
8678
8679 * config/aarch64/aarch64.c (BRANCH_PROTECT_STR_MAX,
8680 aarch64_parse_branch_protection,
8681 struct aarch64_branch_protect_type,
8682 aarch64_handle_no_branch_protection,
8683 aarch64_handle_standard_branch_protection,
8684 aarch64_validate_mbranch_protection,
8685 aarch64_handle_pac_ret_protection,
8686 aarch64_handle_attr_branch_protection,
8687 accepted_branch_protection_string,
8688 aarch64_pac_ret_subtypes,
8689 aarch64_branch_protect_types,
8690 aarch64_handle_pac_ret_leaf): Define.
8691 (aarch64_override_options_after_change_1, aarch64_override_options):
8692 Add check for accepted_branch_protection_string.
8693 (aarch64_option_save): Save accepted_branch_protection_string.
8694 (aarch64_option_restore): Save accepted_branch_protection_string.
8695 * config/aarch64/aarch64.c (aarch64_attributes): Add branch-protection.
8696 * config/aarch64/aarch64.opt: Add mbranch-protection. Deprecate
8697 msign-return-address.
8698 * doc/invoke.texi: Add mbranch-protection.
8699
8700 2019-01-08 Alan Modra <amodra@gmail.com>
8701
8702 PR target/88614
8703 * genattrtab.c (max_attr_value, min_attr_value, or_attr_value):
8704 Delete "unknownp" parameter. Adjust callers. Handle
8705 CONST_INT, PLUS, MINUS, and MULT.
8706 (attr_value_aligned): Renamed from or_attr_value.
8707 (min_attr_value): Return INT_MIN for unhandled rtl case..
8708 (min_fn): ..and translate to INT_MAX here.
8709 (write_length_unit_log): Modify to cope without "unknown".
8710 (write_attr_value): Handle IF_THEN_ELSE.
8711
8712 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
8713
8714 * tree-vect-stmts.c (vectorizable_store): Don't use the dataref_offset
8715 optimization for masked stores.
8716
8717 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
8718
8719 PR middle-end/88567
8720 * tree-vect-loop.c (get_initial_defs_for_reduction): Pass the
8721 output vector directly to duplicate_and_interleave instead of
8722 going through a temporary. Postpone insertion of ctor_seq to
8723 the end of the loop.
8724
8725 2019-01-07 Richard Earnshaw <rearnsha@arm.com>
8726
8727 PR target/86891
8728 * config/aarch64/aarch64.c (aarch64_expand_subvti): New parameter
8729 unsigned_p. Handle signed and unsigned overflow correction as
8730 required.
8731 * config/aarch64/aarch64-protos.h (aarch64_expand_subvti): Update
8732 prototype.
8733 * config/aarch64/aarch64.md (addv<mode>4): Use aarch64_plus_operand
8734 for operand 2.
8735 (add<mode>3_compareV_imm): Make this callable for expanding.
8736 (subv<GPI:mode>4): Use register_operand for operand 1. Use
8737 aarch64_plus_operand for operand 2.
8738 (subv<GPI:mode>_insn): New insn pattern.
8739 (subv<GPI:mode>_imm): Likewise.
8740 (negv<GPI:mode>3): New expand pattern.
8741 (negv<GPI:mode>_insn): New insn pattern.
8742 (negv<GPI:mode>_cmp_only): Likewise.
8743 (cmpv<GPI:mode>_insn): Likewise.
8744 (subvti4): Use register_operand for operand 1. Update call to
8745 aarch64_expand_subvti.
8746 (usubvti4): Likewise.
8747 (negvti3): New expand pattern.
8748 (negdi_carryout): New insn pattern.
8749 (negvdi_carryinV): New insn pattern.
8750 (sub<mode3>_compare1_imm): Delete named insn pattern, make anonymous
8751 version the named version.
8752 (peepholes to convert to sub<mode3>_compare1_imm): Adjust order of
8753 operands.
8754 (usub<GPI:mode>3_carryinC, usub<GPI:mode>3_carryinC_z1): New insn
8755 patterns.
8756 (usub<GPI:mode>3_carryinC_z2, usub<GPI:mode>3_carryinC): New insn
8757 patterns.
8758 (sub<mode>3_carryinCV, sub<mode>3_carryinCV_z1_z2): Delete.
8759 (sub<mode>3_carryinCV_z1, sub<mode>3_carryinCV_z2): Delete.
8760 (sub<mode>3_carryinCV): Delete.
8761 (sub<GPI:mode>3_carryinV): New expand pattern.
8762 sub<mode>3_carryinV, sub<mode>3_carryinV_z2): New insn patterns.
8763
8764 2019-01-07 Richard Biener <rguenther@suse.de>
8765
8766 * tree-ssa-uncprop.c (ssa_equip_hash_traits): Remove in favor
8767 of tree_operand_hash.
8768
8769 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
8770
8771 PR tree-optimization/88598
8772 * tree.h (single_nonzero_element): Declare.
8773 * tree.c (single_nonzero_element): New function.
8774 * match.pd: Fold certain reductions of X & CST to X[I] & CST[I]
8775 if I is the only nonzero element of CST.
8776
8777 2019-01-07 Richard Sandiford <richard.sandiford@arm.com>
8778
8779 PR tree-optimization/88598
8780 * tree.h (initializer_each_zero_or_onep): Declare.
8781 * tree.c (initializer_each_zero_or_onep): New function.
8782 (signed_or_unsigned_type_for): Handle float types too.
8783 (unsigned_type_for, signed_type_for): Update comments accordingly.
8784 * match.pd: Fold x * { 0 or 1, 0 or 1, ...} to
8785 x & { 0 or -1, 0 or -1, ... }.
8786
8787 2019-01-07 Jonathan Wakely <jwakely@redhat.com>
8788
8789 * doc/install.texi: Replace references to x86_64-unknown-linux-gnu
8790 with x86_64-pc-linux-gnu.
8791
8792 2019-01-07 Tom de Vries <tdevries@suse.de>
8793
8794 PR target/85486
8795 * config/nvptx/nvptx.c (has_vector_partitionable_routine_calls_p): New
8796 function.
8797 (nvptx_goacc_validate_dims): Force vl32 if calling vector-partitionable
8798 routines.
8799
8800 2019-01-07 Jakub Jelinek <jakub@redhat.com>
8801
8802 * config/i386/sse.md (vec_extract<mode><ssehalfvecmodelower>): Use
8803 V_256_512 iterator instead of V_512 and TARGET_AVX instead of
8804 TARGET_AVX512F as condition.
8805
8806 PR debug/88723
8807 * dwarf2out.c (const_ok_for_output_1): Remove redundant call to
8808 const_not_ok_for_debug_p target hook.
8809 (mem_loc_descriptor) <case UNSPEC>: Only call const_ok_for_output_1
8810 on UNSPEC and subexpressions thereof if all subexpressions of the
8811 UNSPEC are CONSTANT_P.
8812
8813 PR tree-optimization/88676
8814 * tree-ssa-phiopt.c (two_value_replacement): New function.
8815 (tree_ssa_phiopt_worker): Call it.
8816
8817 PR sanitizer/88619
8818 * cfgexpand.c (expand_stack_vars): Only align prev_offset to
8819 ASAN_MIN_RED_ZONE_SIZE, not to maximum of that and alignb.
8820
8821 PR c++/85052
8822 * tree-vect-generic.c: Include insn-config.h and recog.h.
8823 (expand_vector_piecewise): Add defaulted ret_type argument,
8824 if non-NULL, use that in preference to type for the result type.
8825 (expand_vector_parallel): Formatting fix.
8826 (do_vec_conversion, do_vec_narrowing_conversion,
8827 expand_vector_conversion): New functions.
8828 (expand_vector_operations_1): Call expand_vector_conversion
8829 for VEC_CONVERT ifn calls.
8830 * internal-fn.def (VEC_CONVERT): New internal function.
8831 * internal-fn.c (expand_VEC_CONVERT): New function.
8832 * fold-const-call.c (fold_const_vec_convert): New function.
8833 (fold_const_call): Use it for CFN_VEC_CONVERT.
8834 * doc/extend.texi (__builtin_convertvector): Document.
8835
8836 2019-01-07 Tom de Vries <tdevries@suse.de>
8837
8838 * config/nvptx/nvptx-protos.h (nvptx_output_red_partition): Declare.
8839 * config/nvptx/nvptx.c (vector_red_size, vector_red_align,
8840 vector_red_partition, vector_red_sym): New global variables.
8841 (nvptx_option_override): Initialize vector_red_sym.
8842 (nvptx_declare_function_name): Restore red_partition register.
8843 (nvptx_file_end): Emit code to declare the vector reduction variables.
8844 (nvptx_output_red_partition): New function.
8845 (nvptx_expand_shared_addr): Add vector argument. Use it to handle
8846 large vector reductions.
8847 (enum nvptx_builtins): Add NVPTX_BUILTIN_VECTOR_ADDR.
8848 (nvptx_init_builtins): Add VECTOR_ADDR.
8849 (nvptx_expand_builtin): Update call to nvptx_expand_shared_addr.
8850 Handle nvptx_expand_shared_addr.
8851 (nvptx_get_shared_red_addr): Add vector argument and handle large
8852 vectors.
8853 (nvptx_goacc_reduction_setup): Add offload_attrs argument and handle
8854 large vectors.
8855 (nvptx_goacc_reduction_init): Likewise.
8856 (nvptx_goacc_reduction_fini): Likewise.
8857 (nvptx_goacc_reduction_teardown): Likewise.
8858 (nvptx_goacc_reduction): Update calls to nvptx_goacc_reduction_{setup,
8859 init,fini,teardown}.
8860 (nvptx_init_axis_predicate): Initialize vector_red_partition.
8861 (nvptx_set_current_function): Init vector_red_partition.
8862 * config/nvptx/nvptx.md (UNSPECV_RED_PART): New unspecv.
8863 (nvptx_red_partition): New insn.
8864 * config/nvptx/nvptx.h (struct machine_function): Add red_partition.
8865
8866 2019-01-07 Tom de Vries <tdevries@suse.de>
8867
8868 PR target/85381
8869 * config/nvptx/nvptx.c (nvptx_process_pars): Don't emit barriers for
8870 empty loops.
8871
8872 2019-01-07 Tom de Vries <tdevries@suse.de>
8873
8874 * config/nvptx/nvptx.c (oacc_bcast_partition): Declare.
8875 (nvptx_option_override): Init oacc_bcast_partition.
8876 (nvptx_init_oacc_workers): New function.
8877 (nvptx_declare_function_name): Call nvptx_init_oacc_workers.
8878 (nvptx_needs_shared_bcast): New function.
8879 (nvptx_find_par): Generalize to enable vectors to use shared-memory
8880 to propagate state.
8881 (nvptx_shared_propagate): Initialize vector bcast partition and
8882 synchronization state.
8883 (nvptx_single): Generalize to enable vectors to use shared-memory
8884 to propagate state.
8885 (nvptx_process_pars): Likewise.
8886 (nvptx_set_current_function): Initialize oacc_broadcast_partition.
8887 * config/nvptx/nvptx.h (struct machine_function): Add
8888 bcast_partition and sync_bar members.
8889
8890 2019-01-07 Tom de Vries <tdevries@suse.de>
8891
8892 * config/nvptx/nvptx.c (nvptx_welformed_vector_length_p)
8893 (nvptx_apply_dim_limits): New function.
8894 (nvptx_goacc_validate_dims_1): Allow PTX_MAX_VECTOR_LENGTH larger than
8895 PTX_WARP_SIZE.
8896
8897 2019-01-07 Tom de Vries <tdevries@suse.de>
8898
8899 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Move warnings to
8900 as late as possible.
8901
8902 2019-01-07 Tom de Vries <tdevries@suse.de>
8903
8904 * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH): Remove.
8905 (PTX_DEFAULT_VECTOR_LENGTH, PTX_MAX_VECTOR_LENGTH): Define.
8906 (nvptx_goacc_validate_dims_1, nvptx_dim_limit)
8907 (nvptx_goacc_reduction_fini): Use PTX_DEFAULT_VECTOR_LENGTH,
8908 PTX_MAX_VECTOR_LENGTH and PTX_WARP_SIZE instead of PTX_VECTOR_LENGTH.
8909
8910 2019-01-07 Tom de Vries <tdevries@suse.de>
8911
8912 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add asserts.
8913
8914 2019-01-07 Tom de Vries <tdevries@suse.de>
8915
8916 * omp-offload.c (oacc_get_min_dim): New function.
8917 * omp-offload.h (oacc_get_min_dim): Declare.
8918
8919 2018-12-26 Mateusz B <mateuszb@poczta.onet.pl>
8920
8921 PR target/88521
8922 * config/i386/i386.c (function_value_ms_64): Return small sturct in
8923 AX_REG and float/double in FIRST_SSE_REG for 4 or 8 byte modes.
8924
8925 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
8926
8927 PR tree-opt/86020
8928 Revert:
8929 2017-05-22 Jan Hubicka <hubicka@ucw.cz>
8930
8931 * ipa-inline.c (edge_badness): Use inlined_time instead of
8932 inline_summaries->get.
8933
8934 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
8935
8936 * opts.c (enable_fdo_optimizations): Enable
8937 version-loops-for-strides, loop-interchange, unrol-and-jam
8938 and tree-loop-distribution.
8939 * invoke.texi: Document newly enabled options.
8940
8941 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
8942
8943 * doc/invoke.texi (max-inline-insns-small): New parameters.
8944 * ipa-inline.c (want_early_inline_function_p): simplify.
8945 (want_inline_small_function_p): Fix pasto from previous patch;
8946 use max-inline-insns-small bound.
8947 * params.def (max-inline-insns-small): New param.
8948 * ipa-fnsummary.c (analyze_function_body): Initialize time/size
8949 variables correctly.
8950
8951 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
8952
8953 * doc/invoke.texi: Document max-inline-insns-size,
8954 uninlined-function-insns, uninlined-function-time,
8955 uninlined-thunk-insns and uninlined-thunk-time.
8956 * params.def: Add max-inline-insns-size,
8957 uninlined-function-insns, uninlined-function-time,
8958 uninlined-thunk-insns and uninlined-thunk-time.
8959 * ipa-fnsummary.c (compute_fn_summary, analyze_function_body): Use
8960 new parameters.
8961 * ipa-inline.c (can_inline_edge_by_limits_p,
8962 want_inline_small_function_p): Use new parameters.
8963
8964 2019-01-05 Jan Hubicka <hubicka@ucw.cz>
8965
8966 * ipa-fnsummary.c (analyze_function_body): Fix accounting of time.
8967
8968 2019-01-05 Jakub Jelinek <jakub@redhat.com>
8969
8970 PR middle-end/82564
8971 PR target/88620
8972 * expr.c (expand_assignment): For calls returning VLA structures
8973 if to_rtx is not a MEM, force it into a stack temporary.
8974
8975 PR debug/88635
8976 * dwarf2out.c (const_ok_for_output_1): Reject MINUS that contains
8977 SYMBOL_REF, CODE_LABEL or UNSPEC in subexpressions of second argument.
8978 Reject PLUS that contains SYMBOL_REF, CODE_LABEL or UNSPEC in
8979 subexpressions of both operands.
8980 (mem_loc_descriptor): Handle UNSPEC if target hook acks it and all the
8981 subrtxes are CONSTANT_P.
8982 * config/i386/i386.c (ix86_const_not_ok_for_debug_p): Revert
8983 2018-11-09 changes.
8984
8985 2019-01-04 Jan Hubicka <hubicka@ucw.cz>
8986
8987 * params.def (hot-bb-count-ws-permille): Set to 990.
8988
8989 2019-01-04 Martin Sebor <msebor@redhat.com>
8990
8991 PR c/88546
8992 * attribs.c (decls_mismatched_attributes): Avoid warning for attribute
8993 leaf.
8994
8995 2019-01-04 Martin Sebor <msebor@redhat.com>
8996
8997 PR c/88363
8998 * doc/extend.texi (attribute alloc_align, alloc_size): Update.
8999
9000 2019-01-04 Jakub Jelinek <jakub@redhat.com>
9001
9002 * gdbinit.in: Turn off pagination for the skip commands, restore
9003 it to previous state afterwards.
9004
9005 2019-01-04 Jakub Jelinek <jakub@redhat.com>
9006
9007 PR target/88594
9008 * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
9009 of GET_MODE (opN) as modes of the libcall arguments.
9010
9011 2019-01-04 Jan Beulich <jbeulich@suse.com>
9012
9013 * config/i386/sse.md
9014 (<avx512>_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>,
9015 <avx512>_cmp<mode>3<mask_scalar_merge_name>,
9016 <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
9017 <avx512>_ucmp<mode>3<mask_scalar_merge_name>,
9018 avx512f_vmcmp<mode>3<round_saeonly_name>,
9019 avx512f_vmcmp<mode>3_mask<round_saeonly_name>,
9020 avx512f_maskcmp<mode>3,
9021 <avx512>_cvt<ssemodesuffix>2mask<mode>,
9022 <avx512>_cvt<ssemodesuffix>2mask<mode>,
9023 *<avx512>_cvtmask2<ssemodesuffix><mode>,
9024 *<avx512>_cvtmask2<ssemodesuffix><mode>,
9025 <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
9026 <avx512>_eq<mode>3<mask_scalar_merge_name>_1,
9027 <avx512>_gt<mode>3<mask_scalar_merge_name>,
9028 <avx512>_gt<mode>3<mask_scalar_merge_name>,
9029 <avx512>_testm<mode>3<mask_scalar_merge_name>,
9030 <avx512>_testnm<mode>3<mask_scalar_merge_name>,
9031 *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext,
9032 *<avx512>_testm<VI1248_AVX512VLBW:mode>3_zext_mask,
9033 *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext,
9034 *<avx512>_testnm<VI1248_AVX512VLBW:mode>3_zext_mask,
9035 avx512cd_maskb_vec_dup<mode>,
9036 avx512cd_maskw_vec_dup<mode>,
9037 avx512dq_fpclass<mode><mask_scalar_merge_name>,
9038 avx512dq_vmfpclass<mode>,
9039 avx512vl_vpshufbitqmb<mode><mask_scalar_merge_name>): Use =k
9040 instead of =Yk.
9041
9042 2019-01-03 Martin Sebor <msebor@redhat.com>
9043
9044 PR tree-optimization/88659
9045 * calls.c (maybe_warn_nonstring_arg): Avoid assuming maxlen is set.
9046
9047 2019-01-03 Aaron Sawdey <acsawdey@linux.ibm.com>
9048
9049 * config/rs6000/rs6000-string.c (expand_block_move): Don't use
9050 unaligned vsx and avoid lxvd2x/stxvd2x.
9051 (gen_lvx_v4si_move): New function.
9052
9053 2019-01-03 Tom de Vries <tdevries@suse.de>
9054
9055 * config/nvptx/nvptx.c (MACH_VECTOR_LENGTH, MACH_MAX_WORKERS): Define.
9056 (init_axis_dim, nvptx_mach_max_workers, nvptx_mach_vector_length): New
9057 function.
9058 * config/nvptx/nvptx.h (struct machine_function): Add axis_dims.
9059
9060 2019-01-03 Tom de Vries <tdevries@suse.de>
9061
9062 * config/nvptx/nvptx.c (struct offload_attrs): New.
9063 (populate_offload_attrs): New function. Factor mask extraction out of
9064 nvptx_reorg. Add extraction of dimensions.
9065 (nvptx_reorg): Use populate_offload_attrs.
9066
9067 2019-01-03 Tom de Vries <tdevries@suse.de>
9068
9069 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): Add early-out
9070 cases for oacc_min_dims_p and routine_p. Add asserts for
9071 oacc_default_dims_p and offload_region_p.
9072
9073 2019-01-03 Tom de Vries <tdevries@suse.de>
9074
9075 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims_1): New function,
9076 factored out of ...
9077 (nvptx_goacc_validate_dims): ... here.
9078
9079 2019-01-03 Jan Hubicka <hubicka@ucw.cz>
9080
9081 PR tree-optimization/85574
9082 * tree-ssa-uncprop.c (struct equiv_hash_elt): Remove unused
9083 structure.
9084 (struct ssa_equip_hash_traits): Declare.
9085 (val_ssa_equiv): Use custom hash traits using operand_equal_p.
9086
9087 2019-01-03 Jakub Jelinek <jakub@redhat.com>
9088
9089 PR debug/88644
9090 * dwarf2out.c (modified_type_die): If type is equal to sizetype,
9091 change it to qualified_type.
9092
9093 2019-01-03 Jan Hubicka <hubicka@ucw.cz>
9094
9095 * ipa-utils.c (scale_ipa_profile_for_fn): Break out from ...
9096 (ipa_merge_profiles): ... here; do not ICE on thunks and aliases.
9097
9098 2019-01-02 Martin Sebor <msebor@redhat.com>
9099 Jeff Law <law@redhat.com>
9100
9101 * gimple-fold.c (strlen_range_kind): Remove SRK_LENRANGE_2.
9102 (get_range_strlen_tree): Update appropriately.
9103 (get_range_strlen)
9104 * gimple-fold.h (get_range_strlen): Drop unused last argument.
9105
9106 * gimple-fold.c (gimple_fold_builtin_strlen): Use set_strlen_range
9107 rather than set_range_info.
9108 * tree-ssa-strlen.c (set_strlen_range): Extracted from
9109 maybe_set_strlen_range. Handle potentially boundary crossing
9110 cases more conservatively.
9111 (maybe_set_strlen_range): Parts refactored into set_strlen_range.
9112 Call set_strlen_range.
9113 * tree-ssa-strlen.h (set_strlen_range): Add prototype.
9114
9115 PR middle-end/88663
9116 * gimple-fold.c (get_range_strlen): Update prototype to no longer
9117 need the flexp argument.
9118 (get_range_strlen_tree): Drop flexp argument. Drop flexp argument
9119 from calls to get_range_strlen. Update comments. Just update
9120 VAL for an unterminated const char array and let the reset of the
9121 code handle it normally. No longer try to set *flexp. Adjust
9122 return value.
9123 (get_range_strlen): Update for the new get_range_strlen API.
9124 (get_maxval_strlen): Similarly.
9125 (gimple_fold_builtin_strlen): Handle update meaning of return value
9126 from get_range_strlen.
9127 * gimple-ssa-sprintf.c (get_string_length): Update for the new
9128 get_range_strlen API.
9129
9130 2019-01-02 Jan Hubicka <hubicka@ucw.cz>
9131
9132 PR lto/88130
9133 * varpool.c (varpool_node::ctor_useable_for_folding_p): Also return
9134 false at WPA time when body was removed.
9135
9136 2019-01-02 Martin Liska <mliska@suse.cz>
9137
9138 PR tree-optimization/88650
9139 * predict.c (set_even_probabilities): Calculate probability
9140 remainer only when really used.
9141
9142 2019-01-02 Richard Biener <rguenther@suse.de>
9143
9144 PR middle-end/88651
9145 * tree-data-ref.c (analyze_subscript_affine_affine): Use
9146 widest_ints when mangling max_stmt_execution results.
9147
9148 2019-01-02 Richard Biener <rguenther@suse.de>
9149
9150 PR tree-optimization/88621
9151 * tree-ssa-loop-im.c (gather_mem_refs_stmt): Fix pastos, avoid
9152 bitfields when canoncalizing.
9153
9154 2019-01-02 Richard Biener <rguenther@suse.de>
9155
9156 PR target/87545
9157 * config/i386/x86-tune-costs.h (intel_cost): Adjust
9158 cost of cheap SSE instruction.
9159
9160 2019-01-02 Richard Biener <rguenther@suse.de>
9161
9162 PR ipa/85574
9163 * ipa-icf.h (sem_item_optimizer::sort_congruence_split): Declare.
9164 * ipa-icf.c (sem_item_optimizer::sort_congruence_split): New
9165 function.
9166 (sem_item_optimizer::do_congruence_step_f): Sort the congruence
9167 set after UIDs before splitting them.
9168
9169 2019-01-01 Martin Sebor <msebor@redhat.com>
9170 Jeff Law <law@redhat.com>
9171
9172 * gimple-fold.c (get_range_strlen_tree): Record if the computed
9173 length is optimistic. If it is, then arrange to compute the
9174 conservative length as well.
9175
9176 * gimple-fold.h (get_range_strlen): Update prototype.
9177 * builtins.c (check_access): Update call to get_range_strlen to use
9178 c_strlen_data pointer. Change various variable accesses to instead
9179 pull data from the c_strlen_data structure.
9180 (check_strncat_sizes, expand_builtin_strncat): Likewise.
9181 * calls.c (maybe_warn_nonstring_arg): Likewise.
9182 * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Likewise. Reset
9183 minimum length if maximum lengh is unknown.
9184 * gimple-ssa-sprintf.c (get_string_length): Likewise. Drop code
9185 that used c_strlen, it's no longer needed. Restructure slightly.
9186 (format_string): Set unlikely range appropriately.
9187 * gimple-fold.c (get_range_strlen): Update comments. Fix minor
9188 formatting issues.
9189 (get_range_strlen): Accept c_strlen_data pointer for external
9190 call sites as well. Pass through to call to internal get_range_strlen.
9191 Adjust minlen, maxlen and maxbound as needed.
9192 (get_maxval_strlen): Update comments.
9193 (gimple_fold_builtin_strlen): Update call to get_range_strlen
9194 to use c_strlen_data pointer. Change variable accesses to instead
9195 use c_strlen_data data members.
9196
9197 * gimple-fold.c (get_range_strlen): Update prototype.
9198 (get_range_strlen_tree): Update prototype. Drop minlen/maxlen
9199 local variables. Use pdata to return information to caller.
9200 Update calls to get_range_strlen. Update pdata->maxbound.
9201 (get_range_strlen -- static version): Similarly.
9202 (get_range_strlen -- extern version): Update for internal
9203 get_range_strlen API change. Convert to external data format.
9204 (get_maxval_strlen): Similarly.
9205
9206 2019-01-01 Jan Hubicka <hubicka@ucw.cz>
9207
9208 * coverage.c (get_coverage_counts): Use current_function_decl.
9209 * profile.c (read_thunk_profile): New function.
9210 (branch_prob): Add THUNK parameter.
9211 * tree-profile.c (tree_profiling): Handle thunks.
9212 * value-prof.c (init_node_map): Handle thunks.
9213 * value-prof.h (branch_prob): Upate prototype.
9214 (read_thunk_profile): Declare.
9215
9216 2019-01-01 Jakub Jelinek <jakub@redhat.com>
9217
9218 Update copyright years.
9219
9220 * gcc.c (process_command): Update copyright notice dates.
9221 * gcov-dump.c (print_version): Ditto.
9222 * gcov.c (print_version): Ditto.
9223 * gcov-tool.c (print_version): Ditto.
9224 * gengtype.c (create_file): Ditto.
9225 * doc/cpp.texi: Bump @copying's copyright year.
9226 * doc/cppinternals.texi: Ditto.
9227 * doc/gcc.texi: Ditto.
9228 * doc/gccint.texi: Ditto.
9229 * doc/gcov.texi: Ditto.
9230 * doc/install.texi: Ditto.
9231 * doc/invoke.texi: Ditto.
9232 \f
9233 Copyright (C) 2019 Free Software Foundation, Inc.
9234
9235 Copying and distribution of this file, with or without modification,
9236 are permitted in any medium without royalty provided the copyright
9237 notice and this notice are preserved.