configure.ac (SYSTEM_HEADER_DIR, [...]): Set correctly.
[gcc.git] / gcc / ChangeLog
1 2017-04-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
2
3 * configure.ac (SYSTEM_HEADER_DIR, BUILD_SYSTEM_HEADER_DIR,
4 target_header_dir): Set correctly.
5 * configure: Regenerated.
6 * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
7 (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
8 instead of SYSTEM_HEADER_DIR.
9
10 2017-04-28 Jan Hubicka <hubicka@ucw.cz>
11
12 * ipa-cp.c (perform_estimation_of_a_value): Turn time to sreal.
13 (estimate_local_effects): Likewise.
14 * ipa-inline.c (compute_inlined_call_time, want_inline_small_function_p,
15 edge_badness, inline_small_functions, dump_overall_stats): LIkewise.
16 * ipa-inline.h (edge_growth_cache_entry, estimate_time_after_inlining,
17 estimate_ipcp_clone_size_and_time, do_estimate_edge_time,
18 do_estimate_edge_time, estimate_edge_time): Likewise.
19 * ipa-inline-analysis.c (estimate_node_size_and_time,
20 estimate_ipcp_clone_size_and_time, do_estimate_edge_time): Likewise.
21 (estimate_time_after_inlining): Remove.
22
23 2017-04-28 Martin Liska <mliska@suse.cz>
24
25 * doc/gcov.texi: Enhance documentation of gcov.
26
27 2017-04-28 Martin Liska <mliska@suse.cz>
28
29 * doc/gcov.texi: Sort options in alphabetic order.
30 * doc/gcov-dump.texi: Likewise.
31 * doc/gcov-tool.texi: Likewise.
32 * gcov.c (print_usage): Likewise.
33 * gcov-dump.c (print_usage): Likewise.
34 * gcov-tool.c (print_merge_usage_message): Likewise.
35 (print_rewrite_usage_message): Likewise.
36 (print_overlap_usage_message): Likewise.
37
38 2017-04-28 Martin Liska <mliska@suse.cz>
39
40 PR gcov-profile/53915
41 * gcov.c (format_gcov): Print 'NAN %' when top > bottom.
42
43 2017-04-28 Martin Liska <mliska@suse.cz>
44
45 PR gcov-profile/79891
46 * gcov.c (add_line_counts): Assign BBs to lines just if the BB
47 is marked by compiler as living on a line.
48 (get_cycles_count): Remove usage of the union.
49 (output_intermediate_file): Likewise.
50 (find_source): Fix GNU coding style.
51 (accumulate_line_counts): Remove old non-all block mode.
52 (output_lines): Remove usage of the union.
53 * profile.c (output_location): Include all BBs, even if
54 belonging to a same line (and file) as a previous BB.
55
56 2017-04-28 Martin Liska <mliska@suse.cz>
57
58 * gcov.c (process_args): Handle new argument 'w'.
59 (read_graph_file): Assign ID to BBs.
60 (output_branch_count): Display BB # if verbose flag is set.
61 (output_lines): Likewise for arcs.
62 (print_usage): Add '--verbose' option help.
63 * doc/gcov.texi: Document --verbose (-w) option.
64
65 2017-04-28 Martin Liska <mliska@suse.cz>
66
67 * gcov.c (struct block_location_info): New struct.
68 (process_file): Fill up the new structure.
69 (read_graph_file): Replace usage of encoding by the newly added
70 struct.
71 (add_line_counts): Likewise.
72 (accumulate_line_counts): Remove usage of the union.
73 (function_info::function_info): New function.
74 (function_info::~function_info): Likewise.
75 (process_file): Call delete instead of release_function.
76 (release_function): Release the function.
77 (release_structures): Call delete instead of release_function.
78 (solve_flow_graph): Replace usage of num_blocks.
79 (find_exception_blocks): Likewise.
80 (output_lines): Fix GNU coding style.
81
82 2017-04-28 Martin Liska <mliska@suse.cz>
83
84 PR driver/56469
85 * coverage.c (coverage_remove_note_file): New function.
86 * coverage.h: Declare the function.
87 * toplev.c (finalize): Clean if an error has been seen.
88
89 2017-04-28 Martin Liska <mliska@suse.cz>
90
91 PR gcov-profile/80031
92 * gcov-dump.c (tag_blocks): Just print number of basic blocks.
93 * gcov-io.h (GCOV_TAG_BLOCKS_NUM): Remove unused macro.
94 * gcov.c (read_graph_file): Read just number of blocks.
95 * profile.c (branch_prob): Do not stream 0 flags per a basic
96 block.
97
98 2017-04-28 Martin Liska <mliska@suse.cz>
99
100 * gcov-dump.c (tag_*): Add new argument to declarations.
101 (dump_gcov_file): Likewise.
102 (tag_blocks): Add and use new argument depth.
103 (tag_arcs): Likewise.
104 (tag_lines): Likewise.
105 (tag_counters): Likewise.
106 (tag_summary): Likewise.
107 (dump_working_sets): Use depth to do a proper indentation.
108
109 2017-04-28 Jakub Jelinek <jakub@redhat.com>
110
111 PR bootstrap/80531
112 * cgraph.h (symtab_node::debug_symtab): No longer inline.
113 * symtab.c (symtab_node::debug_symtab): Move definition here.
114
115 2017-04-28 Richard Biener <rguenther@suse.de>
116
117 * lto-streamer.h (LTO_major_version): Bump to 7.
118
119 2017-04-28 Richard Biener <rguenther@suse.de>
120
121 * tree-vrp.c (assert_info): New struct.
122 (add_assert_info): New helper.
123 (register_edge_assert_for_2): Refactor to add asserts to a vector
124 of assert_info.
125 (register_edge_assert_for_1): Likewise.
126 (register_edge_assert_for): Likewise.
127 (finish_register_edge_assert_for): New helper actually registering
128 asserts where live on edge.
129 (find_conditional_asserts): Adjust.
130 (find_switch_asserts): Likewise.
131 (evrp_dom_walker::try_find_new_range): Generalize.
132 (evrp_dom_walker::before_dom_children): Use register_edge_assert_for.
133
134 2017-04-27 Marek Polacek <polacek@redhat.com>
135
136 PR sanitizer/80349
137 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Convert
138 arg10 and arg11 to itype.
139
140 2017-04-27 Jonathan Wakely <jwakely@redhat.com>
141
142 * doc/extend.texi (Object Size Checking): Improve grammar.
143
144 2017-04-27 Richard Earnshaw <rearnsha@arm.com>
145
146 PR target/80530
147 * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure
148 that the logic for permitting reciprocal estimates matches that
149 in use_rsqrt_p.
150
151 2017-04-27 Jakub Jelinek <jakub@redhat.com>
152
153 PR c++/80534
154 * tree.c (type_cache_hasher::equal): Only compare
155 TYPE_TYPELESS_STORAGE flag on non-aggregate element types.
156 (build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on
157 non-aggregate element types.
158 * tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details
159 about the flag on ARRAY_TYPEs in the comment, formatting fix.
160
161 2017-04-27 Richard Biener <rguenther@suse.de>
162
163 PR middle-end/80533
164 * emit-rtl.c (set_mem_attributes_minus_bitpos): When
165 stripping ARRAY_REFs from MEM_EXPR make sure we're not
166 keeping a reference to a trailing array.
167
168 2017-04-27 Richard Biener <rguenther@suse.de>
169
170 PR middle-end/80539
171 * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
172 being in loop-closed SSA form conservatively.
173 (chrec_fold_multiply_poly_poly): Likewise.
174
175 2017-04-27 Tamar Christina <tamar.christina@arm.com>
176
177 PR middle-end/79665
178 * expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR,
179 CEIL_MOD_EXPR, ROUND_MOD_EXPR cases.
180
181 2017-04-27 Jakub Jelinek <jakub@redhat.com>
182
183 PR target/77728
184 * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove.
185 (aarch64_function_arg_alignment): Return unsigned int again, but still
186 ignore TYPE_FIELDS chain decls other than FIELD_DECLs.
187 (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
188 Don't emit -Wpsabi note.
189 (aarch64_function_arg_boundary): Likewise.
190 (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
191 caller.
192
193 2017-04-26 Nathan Sidwell <nathan@acm.org>
194
195 * tree.h (crc32_unsigned_n): Declare.
196 (crc32_unsigned, crc32_unsigned): Make inline.
197 * tree.c (crc32_unsigned_bits): Replace with ...
198 (crc32_unsigned_n): ... this.
199 (crc32_unsigned, crc32_byte): Remove.
200 (crc32_string): Remove unnecessary braces.
201
202 2017-04-25 Jan Hubicka <hubicka@ucw.cz>
203
204 * ipa-cp.c (estimate_local_effects): Convert sreal to int.
205 * ipa-inline-analysis.c (MAX_TIME): Remove.
206 (account_size_time): Use sreal for time.
207 (dump_inline_summary): Update.
208 (estimate_function_body_sizes): Update.
209 (estimate_edge_size_and_time): Update.
210 (estimate_calls_size_and_time): Update.
211 (estimate_node_size_and_time): Update.
212 (inline_merge_summary): Update.
213 (inline_update_overall_summary): Update.
214 (estimate_time_after_inlining): Update.
215 (inline_read_section): Update.
216 (inline_write_summary): Update.
217 * ipa-inline.c (compute_uninlined_call_time): Update.
218 (compute_inlined_call_time): Update.
219 (recursive_inlining): Update.
220 (inline_small_functions): Update.
221 (dump_overall_stats): Update.
222 * ipa-inline.h: Include sreal.h.
223 (size_time_entry): Turn time to sreal.
224 (inline_summary): Turn self_time nad time to sreal.
225
226 2017-04-25 Jan Hubicka <hubicka@ucw.cz>
227
228 * sreal.c: Include backend.h, tree.h, gimple.h, cgraph.h and
229 data-streamer.h
230 (sreal::stream_out, sreal::stream_in): New.
231 * sreal.h (sreal::stream_out, sreal::stream_in): Declare.
232
233 2017-04-25 Jakub Jelinek <jakub@redhat.com>
234
235 * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
236 environment.
237
238 2017-04-25 Uros Bizjak <ubizjak@gmail.com>
239
240 PR target/70799
241 * config/i386/i386.c (dimode_scalar_to_vector_candidate_p):
242 Handle ASHIFTRT.
243 (dimode_scalar_chain::compute_convert_gain): Ditto.
244 (dimode_scalar_chain::make_vector_copies): Ditto.
245 (dimode_scalar_chain::convert_reg): Ditto.
246 (dimode_scalar_chain::convert_insn): Ditto.
247 * config/i386/sse.md (VI24_AVX512BW_1): Remove mode iterator.
248 (VI248_AVX512BW_1): New mode iterator.
249 (<mask_codefor>ashr<mode>3<mask_name>): Merge insn pattern with
250 <mask_codefor>ashrv2di3<mask_name> insn using VI248_AVX512BW_1
251 mode iterator.
252
253 2017-04-25 Martin Sebor <msebor@redhat.com>
254
255 PR tree-optimization/80497
256 * gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer
257 constants are representable in HOST_WIDE_INT.
258 (parse_directive): Ditto.
259
260 2017-04-25 Martin Sebor <msebor@redhat.com>
261
262 PR bootstrap/80486
263 * dominance.c (dom_info::m_n_basic_blocks): Change type to unsigned.
264 (new_zero_array): Adjust signature.
265 (dom_info::dom_init): Used unsigned rather that size_t.
266 (dom_info::dom_info): Same.
267
268 2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
269 Jakub Jelinek <jakub@redhat.com>
270
271 PR target/77728
272 * config/arm/arm.c: Include gimple.h.
273 (aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
274 returns negative, increment ncrn only if it returned positive.
275 (arm_needs_doubleword_align): Return int instead of bool,
276 ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
277 members, but if there is any such non-FIELD_DECL
278 > PARM_BOUNDARY aligned decl, return -1 instead of false.
279 (arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
280 returns negative, increment nregs only if it returned positive.
281 (arm_setup_incoming_varargs): Likewise.
282 (arm_function_arg_boundary): Emit -Wpsabi note if
283 arm_needs_doubleword_align returns negative, return
284 DOUBLEWORD_ALIGNMENT only if it returned positive.
285
286 2017-04-25 Marek Polacek <polacek@redhat.com>
287
288 PR sanitizer/80349
289 * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
290 first argument to type.
291
292 2017-04-25 Bill Seurer <seurer@linux.vnet.ibm.com>
293
294 PR target/80482
295 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change
296 type checks to test for compatibility instead of equality.
297
298 2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
299 Jakub Jelinek <jakub@redhat.com>
300
301 PR target/77728
302 * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New
303 type.
304 (aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment
305 struct. Ignore DECL_ALIGN of decls other than FIELD_DECL for
306 the alignment computation, but return their maximum in warn_alignment.
307 (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
308 Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment
309 is smaller.
310 (aarch64_function_arg_boundary): Likewise. Simplify using MIN/MAX.
311 (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
312 caller.
313
314 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
315
316 * config/arc/simdext.md (dmpyh): Fix typo.
317
318 2017-04-25 Richard Biener <rguenther@suse.de>
319
320 PR tree-optimization/80492
321 * alias.c (compare_base_decls): Handle registers with asm
322 specification conservatively.
323 * tree-ssa-alias.c (decl_refs_may_alias_p): Handle
324 compare_base_decls returning dont-know properly.
325
326 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
327
328 * config/arc/arc.c (LEGITIMATE_OFFSET_ADDRESS_P): Delete macro.
329 (legitimate_offset_address_p): New function.
330 (arc_legitimate_address_p): Use above function.
331
332 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
333
334 * config/arc/arc.c (arc_output_mi_thunk): Emit PIC calls.
335
336 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
337
338 * config/arc/arc.c (arc_conditional_register_usage): Use ACCL,
339 ACCH registers whenever they are available.
340
341 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
342
343 * config/arc/arc.c (arc_conditional_register_usage): Make D0, D1
344 double regs fix when not used.
345
346 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
347
348 * config/arc/arc.h (REGNO_OK_FOR_BASE_P): Consider also extension
349 core registers.
350 (REG_OK_FOR_INDEX_P_NONSTRICT): Likewise.
351 (REG_OK_FOR_BASE_P_NONSTRICT): Likewise.
352
353 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
354
355 * config/arc/arc.c (arc_output_addsi): Check for h-register class
356 when emitting short ADD instructions.
357
358 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com>
359
360 * config/arc/arc.md (cmpsi_cc_insn_mixed): Use 'h' register
361 constraint.
362 (cmpsi_cc_c_insn): Likewise.
363 (cbranchsi4_scratch): Compute proper instruction length using
364 compact_hreg_operand.
365 * config/arc/predicates.md (compact_hreg_operand): New predicate.
366
367 2017-04-25 Richard Biener <rguenther@suse.de>
368
369 PR middle-end/80509
370 * passes.c (pass_manager::pass_manager): Initialize
371 m_name_to_pass_map.
372
373 2017-04-25 Richard Biener <rguenther@suse.de>
374
375 PR tree-optimization/79201
376 * tree-ssa-sink.c (statement_sink_location): Handle calls.
377
378 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
379
380 PR target/80464
381 * config/s390/vector.md: Split MEM->GPR vector moves for
382 non-s_operand addresses.
383
384 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
385
386 PR target/79895
387 * config/s390/predicates.md (reload_const_wide_int_operand): New
388 predicate.
389 * config/s390/s390.md ("movti"): Remove d/P alternative.
390 ("movti_bigconst"): New pattern definition.
391
392 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
393
394 PR target/80080
395 * s390-protos.h (s390_expand_cs_hqi): Removed.
396 (s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes.
397 * config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer
398 modes as well as CCZ1mode and CCZmode.
399 (s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new
400 signature of s390_emit_compare_and_swap.
401 (s390_expand_cs_hqi): Likewise, make static.
402 (s390_expand_cs_tdsi): Generate an explicit compare before trying
403 compare-and-swap, in some cases.
404 (s390_expand_cs): Wrapper function.
405 (s390_expand_atomic_exchange_tdsi): New backend specific expander for
406 atomic_exchange.
407 (s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode.
408 * config/s390/s390.md ("atomic_compare_and_swap<mode>"): Merge the
409 patterns for small and large integers. Forbid symref memory operands.
410 Move expander to s390.c. Require cc register.
411 ("atomic_compare_and_swap<DGPR:mode><CCZZ1:mode>_internal")
412 ("*atomic_compare_and_swap<TDI:mode><CCZZ1:mode>_1")
413 ("*atomic_compare_and_swapdi<CCZZ1:mode>_2")
414 ("*atomic_compare_and_swapsi<CCZZ1:mode>_3"): Use s_operand to forbid
415 symref memory operands. Remove CC mode and call s390_match_ccmode
416 instead.
417 ("atomic_exchange<mode>"): Allow and implement all integer modes.
418
419 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
420
421 * config/s390/s390.md (define_peephole2): New peephole to help
422 combining the load-and-test pattern with volatile memory.
423
424 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
425
426 * config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal
427 with CCZmode for TARGET_Z196.
428
429 2017-04-25 Jakub Jelinek <jakub@redhat.com>
430
431 PR rtl-optimization/80501
432 * combine.c (make_compound_operation_int): Set subreg_code to SET
433 even for AND with mask of the sign bit of mode.
434
435 PR rtl-optimization/80500
436 * loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on
437 sum's initial value.
438
439 2017-04-25 Julian Brown <julian@codesourcery.com>
440 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
441
442 * config/aarch64/thunderx2t99.md (thunderx2t99_crc): New Reservation.
443
444 2017-04-25 Marc Glisse <marc.glisse@inria.fr>
445
446 * fold-const.c (tree_single_nonzero_warnv_p): Handle SSA_NAME.
447
448 2017-04-25 Julian Brown <julian@codesourcery.com>
449 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
450
451 * config/aarch64/thunderx2t99.md (thunderx2t99_aes): New Reservation.
452 (thunderx2t99_sha): New Reservation.
453
454 2017-04-25 Julian Brown <julian@codesourcery.com>
455 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
456
457 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Fix
458 type for 1-element load.
459
460 2017-04-24 Marc Glisse <marc.glisse@inria.fr>
461
462 * match.pd (X/[ex]C CMP Y/[ex]C): New transformation.
463
464 2017-04-24 Martin Jambor <mjambor@suse.cz>
465
466 PR tree-optimization/80293
467 * tree-sra.c (scalarizable_type_p): New parameter const_decl, make
468 char arrays not totally scalarizable if it is false.
469 (analyze_all_variable_accesses): Pass correct value in the new
470 parameter. Add a statistics counter.
471
472 2017-04-24 Jan Hubicka <hubicka@ucw.cz>
473
474 PR middle-end/79931
475 * ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
476
477 2017-04-24 Richard Biener <rguenther@suse.de>
478
479 PR tree-optimization/80494
480 * tree-scalar-evolution.c (analyze_scalar_evolution_1): Bail
481 out for complex types.
482
483 2017-04-24 Richard Biener <rguenther@suse.de>
484
485 * tree-ssa-sccvn.h (run_scc_vn): Adjust prototype.
486 * tree-ssa-sccvn.c (print_scc): Print SCC size.
487 (extract_and_process_scc_for_name): Never fail but drop SCC to varying.
488 (DFS): Adjust and never fail.
489 (sccvn_dom_walker::fail): Remove.
490 (sccvn_dom_walker::before_dom_children): Adjust.
491 (run_scc_vn): Likewise and never fail.
492 * tree-ssa-pre.c (pass_pre::execute): Adjust.
493 (pass_fre::execute): Likewise.
494
495 2017-04-24 Richard Biener <rguenther@suse.de>
496
497 PR tree-optimization/79725
498 * tree-ssa-sink.c (statement_sink_location): Return whether
499 failure reason was zero uses. Move that check later.
500 (sink_code_in_bb): Deal with zero uses by removing the stmt
501 if possible.
502
503 2017-04-24 Richard Biener <rguenther@suse.de>
504
505 PR c++/2972
506 * tree-ssa-uninit.c (warn_uninitialized_vars): Handle some
507 pointer-based references.
508
509 2017-04-24 Richard Biener <rguenther@suse.de>
510
511 PR bootstrap/79814
512 * pass_manager.h (pass_manager::operator new): Remove.
513 (pass_manager::operator delete): Likewise.
514 * passes.c (pass_manager::operator new): Remove.
515 (pass_manager::operator delete): Likewise.
516 (pass_manager::pass_manager): Zero individual pass members.
517
518 2017-04-23 Uros Bizjak <ubizjak@gmail.com>
519
520 PR target/70799
521 * config/i386/i386.c (dimode_scalar_to_vector_candidate_p)
522 <case ASHIFT, case LSHIFTRT>: Also consider variable shifts.
523 Check "XEXP (src, 1)" operand here.
524 <case PLUS, case MINUS, case IOR, case XOR, case AND>:
525 Check "XEXP (src, 1)" operand here.
526 (dimode_scalar_chain::make_vector_copies): Detect count register
527 of a shift instruction. Zero extend count register from QImode
528 to DImode to satisfy vector shift pattern count operand predicate.
529 Substitute vector shift count operand with a DImode copy.
530 (dimode_scalar_chain::convert_reg): Ditto, zero-extend from
531 vector register.
532
533 2017-04-21 Uros Bizjak <ubizjak@gmail.com>
534
535 * config/i386/i386.md (*extzvqi_mem_rex64): Move above *extzv<mode>.
536 Remove UNSPEC_NOREX_MEM tag. Update corresponding peephole2 pattern.
537 (*insvqi_1_mem_rex64): Move above insv<mode>_1. Remove
538 UNSPEC_NOREX_MEM tag. Update corresponding peephole2 pattern.
539 (UNSPEC_NOREX_MEM): Remove definition.
540
541 2017-04-21 Richard Biener <rguenther@suse.de>
542
543 PR tree-optimization/79547
544 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
545 Handle strlen, strcmp, strncmp, strcasecmp, strncasecmp, memcmp,
546 bcmp, strspn, strcspn, __builtin_object_size and __builtin_constant_p
547 without any constraints.
548
549 2017-04-21 Richard Biener <rguenther@suse.de>
550
551 PR tree-optimization/78847
552 * fold-const.c (split_tree): Handle POINTER_PLUS_EXPR.
553
554 2017-04-21 Richard Biener <rguenther@suse.de>
555
556 * tree.h (build_qualified_type): Annotate with CXX_MEM_STAT_INFO.
557 (build_distinct_type_copy): Likewise.
558 (build_variant_type_copy): Likewise.
559 * tree.c (build_qualified_type): Pass down mem-stat info.
560 (build_distinct_type_copy): Likewise.
561 (build_variant_type_copy): Likewise.
562
563 2017-04-21 Richard Biener <rguenther@suse.de>
564
565 PR tree-optimization/80237
566 * tree-ssa-pre.c (find_leader_in_sets): Add third set argument,
567 defaulted to NULL.
568 (phi_translate_1): Also allow a leader in AVAIL_OUT of pred
569 for a simplified result.
570
571 2016-04-21 Richard Biener <rguenther@suse.de>
572
573 * tree-ssa-loop-ivcanon.c (constant_after_peeling): Do not require
574 sth as strict as a simple_iv but a chrec without symbols and an
575 operand defined in the loop we are peeling (and not some subloop).
576 (propagate_constants_for_unrolling): Propagate all constants.
577
578 2017-04-20 Uros Bizjak <ubizjak@gmail.com>
579
580 PR target/79804
581 * config/i386/i386.c (print_reg): Remove assert for disalowed
582 regno values, call output_operand_lossage instead.
583
584 2017-04-20 Uros Bizjak <ubizjak@gmail.com>
585
586 PR target/78090
587 * config/i386/constraints.md (Yc): New register constraint.
588 * config/i386/i386.md (*float<SWI48:mode><MODEF:mode>2_mixed):
589 Use Yc constraint for alternative 2 of operand 0. Remove
590 preferred_for_speed attribute.
591
592 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
593
594 * omp-low.c (lower_lastprivate_clauses): Correct handling of linear and
595 lastprivate clauses in SIMT case.
596
597 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
598
599 * doc/invoke.texi (-Wextra-semi): Document new warning option.
600
601 2017-04-20 Richard Biener <rguenther@suse.de>
602
603 PR tree-optimization/57796
604 * tree-vect-stmts.c (vect_model_store_cost): Cost scatters
605 as N scalar stores.
606 (vect_model_load_cost): Cost gathers as N scalar loads.
607
608 2017-04-20 Richard Biener <rguenther@suse.de>
609
610 * ggc-page.c (ggc_allocated_p): Rename to ...
611 (safe_lookup_page_table_entry): ... this and return the lookup
612 result.
613 (gt_ggc_m_S): Use safe_lookup_page_table_entry.
614
615 2017-04-20 Richard Biener <rguenther@suse.de>
616
617 PR tree-optimization/80453
618 * tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
619 * tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
620 from the conditions.
621 (vn_phi_eq): Pass them down.
622 (vn_phi_lookup): Record them.
623 (vn_phi_insert): Likewise.
624
625 2017-04-20 Matthew Fortune <matthew.fortune@imgtec.com>
626
627 * config/mips/mips.c (mips_expand_vec_perm_const): Re-fix
628 uninitialized variable warning to avoid buffer overrun.
629
630 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
631
632 PR other/71250
633 * doc/invoke.texi (-Wmissing-field-initializers): Mention that warning
634 is suppressed for '{ 0 }' in C.
635
636 2017-04-20 Jakub Jelinek <jakub@redhat.com>
637
638 * BASE-VER: Set to 8.0.0.
639
640 2017-04-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
641
642 * config/arm/arm.c (arm_elf_asm_cdtor): Create non-default
643 priority .init_array and .fini_array section with SECTION_NOTYPE
644 flag.
645
646 2017-04-20 Jakub Jelinek <jakub@redhat.com>
647
648 PR middle-end/80423
649 * tree.h (build_array_type): Add typeless_storage default argument.
650 * tree.c (type_cache_hasher::equal): Also compare
651 TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
652 (build_array_type): Add typeless_storage argument, set
653 TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
654 recursive call.
655 (build_nonshared_array_type): Adjust build_array_type_1 caller.
656 (build_array_type): Likewise. Add typeless_storage argument.
657
658 2017-04-19 Eric Botcazou <ebotcazou@adacore.com>
659 Jakub Jelinek <jakub@redhat.com>
660
661 PR tree-optimization/80426
662 * tree-vrp.c (extract_range_from_binary_expr_1): For an additive
663 operation on symbolic operands, also compute the overflow for the
664 invariant part when the operation degenerates into a negation.
665
666 2017-04-19 Jakub Jelinek <jakub@redhat.com>
667
668 PR debug/80461
669 * dwarf2out.c (modified_type_die, gen_type_die_with_usage):
670 Check for t with zero TYPE_QUALS_NO_ADDR_SPACE.
671
672 PR debug/80436
673 * tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses.
674
675 2017-04-19 Georg-Johann Lay <avr@gjlay.de>
676
677 PR target/80462
678 * config/avr/avr.c (tree.h): Include it.
679 (cgraph.h): Include it.
680 (avr_encode_section_info): Don't warn for uninitialized progmem
681 variable if it's just an alias.
682
683 2017-04-19 Richard Biener <rguenther@suse.de>
684
685 PR ipa/65972
686 * auto-profile.c (afdo_vpt_for_early_inline): Update SSA
687 when needed by AutoPGO.
688
689 2017-04-19 Paulo J. Matos <paulo@matos-sorge.com>
690
691 PR lto/50345
692 * doc/lto.texi: Remove an extra 'that'.
693
694 2017-04-19 Segher Boessenkool <segher@kernel.crashing.org>
695
696 PR rtl-optimization/80429
697 * ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that
698 are only used in debug insns.
699
700 2017-04-19 Eric Botcazou <ebotcazou@adacore.com>
701 Vladimir Makarov <vmakarov@redhat.com>
702
703 * config/sparc/predicates.md (input_operand): Add comment. Return
704 true for any memory operand when LRA is in progress.
705 * config/sparc/sparc.c (sparc_expand_move): Minor formatting fix.
706
707 2017-04-18 Jeff Law <law@redhat.com>
708
709 PR target/74563
710 * mips.md ({return,simple_return}_internal): Do not overwrite
711 operands[0].
712
713 2017-04-18 Jakub Jelinek <jakub@redhat.com>
714
715 PR tree-optimization/80443
716 * tree-vrp.c (intersect_ranges): For signed 1-bit precision type,
717 instead of adding 1, subtract -1 and similarly instead of subtracting
718 1 add -1.
719
720 2017-04-18 Richard Sandiford <richard.sandiford@arm.com>
721
722 PR rtl-optimization/80357
723 * haifa-sched.c (tmp_bitmap): New variable.
724 (model_recompute): Handle duplicate use records.
725 (alloc_global_sched_pressure_data): Initialize tmp_bitmap.
726 (free_global_sched_pressure_data): Free it.
727
728 2017-04-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
729
730 Revert:
731 2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
732 * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
733 (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
734 instead of SYSTEM_HEADER_DIR.
735
736 2017-04-18 Jeff Law <law@redhat.com>
737
738 PR middle-end/80422
739 * cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have
740 predecessors after walking up the insn chain.
741
742 2017-04-18 Jakub Jelinek <jakub@redhat.com>
743
744 PR debug/80263
745 * dwarf2out.c (modified_type_die): Try harder not to emit internal
746 sizetype type into debug info.
747
748 2017-04-18 Michael Meissner <meissner@linux.vnet.ibm.com>
749
750 PR target/80099
751 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate
752 unneeded test for TARGET_UPPER_REGS_SF.
753 * config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise.
754
755 2017-04-18 Jakub Jelinek <jakub@redhat.com>
756
757 PR sanitizer/80444
758 * sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb
759 instead of gsi_after_labels.
760
761 2017-04-18 Jeff Law <law@redhat.com>
762
763 * regcprop.c (maybe_mode_change): Avoid creating copies of the
764 stack pointer.
765
766 Revert:
767 2017-04-13 Jeff Law <law@redhat.com>
768 * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
769 in operands[1] if it is a MEM and TARGET_MIPS16 is active.
770
771 2017-04-18 Georg-Johann Lay <avr@gjlay.de>
772
773 PR target/79453
774 * config/avr/avr.c (intl.h): Include it.
775 (avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _().
776
777 2017-04-18 Martin Liska <mliska@suse.cz>
778
779 PR gcov-profile/78783
780 * gcov-tool.c (gcov_output_files): Validate that destination
781 file is either removed by the tool or by a user.
782
783 2017-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
784 Guy Benyei <guybe@mellanox.com>
785
786 * config/arc/arc.c (arc_reorg): Move loop_end_id into a more local
787 block, and do not negate it, the stored id is already negative.
788
789 2017-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
790
791 * config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.
792
793 2017-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
794
795 PR target/80098
796 * config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define
797 masks of options that should be turned off if the VSX vector
798 options are turned off.
799 (OTHER_P8_VECTOR_MASKS): Likewise.
800 (OTHER_VSX_VECTOR_MASKS): Likewise.
801 * config/rs6000/rs6000.c (rs6000_option_override_internal): Call
802 rs6000_disable_incompatible_switches to validate no type switches
803 like -mvsx.
804 (rs6000_incompatible_switch): New function to disallow turning on
805 other vector options if -mno-vsx, -mno-power8-vector, or
806 -mno-power9-vector are specified.
807
808 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
809
810 * config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.
811
812 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
813
814 * config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
815 * config/arc/arc.c (arc_decl_pretend_args): Likewise.
816 * config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
817 (ARG_POINTER_CFA_OFFSET): Likewise.
818
819 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
820
821 * config/arc/arc.c (arc_mode_dependent_address_p): Relax
822 conditions to take advantage of various optimizations.
823
824 2017-04-13 Jeff Law <law@redhat.com>
825
826 * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
827 in operands[1] if it is a MEM and TARGET_MIPS16 is active.
828 (zero_extendsidi2_dext): Likewise.
829
830 2017-04-13 Jakub Jelinek <jakub@redhat.com>
831
832 PR sanitizer/80403
833 * fold-const.c (fold_ternary_loc): Revert
834 use op0 instead of fold_convert_loc (loc, type, arg0) part of
835 2017-04-12 change.
836
837 2017-04-13 Vladimir Makarov <vmakarov@redhat.com>
838
839 PR rtl-optimization/80343
840 * lra-remat.c (update_scratch_ops): Assign original hard reg to
841 new scratch pseudo.
842
843 2017-04-13 Denis Khalikov <d.khalikov@partner.samsung.com>
844
845 PR sanitizer/80414
846 * ubsan.c (ubsan_expand_bounds_ifn): Pass original index
847 to ubsan_encode_value.
848
849 2017-04-13 Jeff Law <law@redhat.com>
850
851 * reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs
852 appearing in DEBUG_INSNs.
853
854 2017-04-13 Martin Liska <mliska@suse.cz>
855
856 PR gcov-profile/80413
857 * gcov-io.c (gcov_write_string): Copy to buffer just when
858 allocated size is greater than zero.
859
860 2017-04-13 Jakub Jelinek <jakub@redhat.com>
861
862 PR debug/80321
863 * dwarf2out.c (decls_for_scope): Ignore declarations of
864 current_function_decl in BLOCK_NONLOCALIZED_VARS.
865
866 2017-04-12 Jan Hubicka <hubicka@ucw.cz>
867
868 PR lto/69953
869 * ipa-visibility.c (non_local_p): Fix typos.
870 (localize_node): When localizing symbol in same comdat group,
871 dissolve the group only when we know external symbols are going
872 to be privatized.
873 (function_and_variable_visibility): Do not localize DECL_EXTERNAL.
874
875 2017-04-12 Jakub Jelinek <jakub@redhat.com>
876
877 PR tree-optimization/79390
878 * optabs.c (emit_conditional_move): If the preferred op2/op3 operand
879 order does not result in usable sequence, retry with reversed operand
880 order.
881
882 PR sanitizer/80403
883 PR sanitizer/80404
884 PR sanitizer/80405
885 * fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument
886 to fold_build2_loc. Convert TREE_OPERAND (tem, 0) to type. Use
887 op0 instead of fold_convert_loc (loc, type, arg0).
888
889 2017-04-12 Jeff Law <law@redhat.com>
890
891 * genattrtab.c (write_eligible_delay): Verify DELAY_INSN still
892 has a delay slot in the generated code.
893
894 * config/cris/cris.md (cris_preferred_reload_class): Return
895 GENNONACR_REGS rather than GENERAL_REGS.
896
897 2017-04-12 Jakub Jelinek <jakub@redhat.com>
898
899 PR c/80163
900 * expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND
901 vs. ZERO_EXTEND based on signedness of treeop0's type rather than
902 signedness of the result type.
903
904 2017-04-12 Richard Biener <rguenther@suse.de>
905 Jeff Law <law@redhat.com>
906
907 PR tree-optimization/80359
908 * tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not
909 trim stores to TARGET_MEM_REFs.
910
911 2017-04-12 Richard Biener <rguenther@suse.de>
912
913 PR tree-optimization/79390
914 * gimple-ssa-split-paths.c (is_feasible_trace): Restrict
915 threading case even more.
916
917 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org>
918
919 PR target/80382
920 * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
921 for quad_address_p for TImode, instead of just not indexed_address.
922
923 2017-04-12 Richard Biener <rguenther@suse.de>
924 Bernd Edlinger <bernd.edlinger@hotmail.de>
925
926 PR middle-end/79671
927 * alias.c (component_uses_parent_alias_set_from): Handle
928 TYPE_TYPELESS_STORAGE.
929 (get_alias_set): Likewise.
930 * tree-core.h (tree_type_common): Add typeless_storage flag.
931 * tree.h (TYPE_TYPELESS_STORAGE): New macro.
932 * stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE
933 for types containing members with TYPE_TYPELESS_STORAGE.
934 (place_field): Likewise.
935 (layout_type): Likewise for ARRAY_TYPE.
936 * lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE.
937 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream
938 TYPE_TYPELESS_STORAGE.
939 * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
940
941 2017-04-12 Jakub Jelinek <jakub@redhat.com>
942
943 PR sanitizer/80349
944 * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
945 first argument to type.
946
947 2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
948
949 PR target/80376
950 PR target/80315
951 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
952 CONST0_RTX (mode) rather than const0_rtx where appropriate.
953 (rs6000_expand_binop_builtin): Likewise.
954 (rs6000_expand_ternop_builtin): Likewise; also add missing
955 vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
956 vshasigma built-ins.
957 * doc/extend.texi: Document that vec_xxpermdi's third argument
958 must be a constant.
959
960 2017-04-11 Uros Bizjak <ubizjak@gmail.com>
961
962 * config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
963 Use shift_const cost parameter when calculating gain of STV shifts.
964
965 2017-04-11 Vladimir Makarov <vmakarov@redhat.com>
966
967 PR rtl-optimization/70478
968 * lra-constraints.c (process_alt_operands): Check memory for
969 disfavoring memory insn operand.
970
971 2017-04-11 Jakub Jelinek <jakub@redhat.com>
972
973 PR middle-end/80100
974 * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform
975 left shift in unsigned HOST_WIDE_INT type.
976
977 PR rtl-optimization/80385
978 * simplify-rtx.c (simplify_unary_operation_1): Don't transform
979 (not (neg X)) into (plus X -1) for complex or non-integral modes.
980
981 PR libgomp/80394
982 * omp-low.c (scan_omp_task): Don't optimize away empty tasks
983 if they have any depend clauses.
984
985 2017-04-11 Martin Liska <mliska@suse.cz>
986
987 PR ipa/80212
988 * cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
989 * ipa-split.c (split_function): Create a local comdat symbol
990 if caller is in a comdat group.
991
992 2017-04-11 Martin Liska <mliska@suse.cz>
993
994 PR ipa/80212
995 * ipa-cp.c (determine_versionability): Handle calls_comdat_local
996 flags.
997
998 2017-04-11 Martin Sebor <msebor@redhat.com>
999
1000 PR middle-end/80364
1001 * gimple-ssa-sprintf.c (get_int_range): Remove second argument and
1002 always use the int type. Use INTEGRAL_TYPE_P() rather than testing
1003 for INTEGER_TYPE.
1004 (directive::set_width, directive::set_precision, format_character):
1005 Adjust.
1006 (parse_directive): Use INTEGRAL_TYPE_P() rather than testing for
1007 INTEGER_TYPE.
1008
1009 2017-04-11 Richard Earnshaw <rearnsha@arm.com>
1010
1011 PR target/80389
1012 * config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch
1013 conflict, set target->arch_name instead of target->cpu_name.
1014
1015 2017-04-11 Richard Biener <rguenther@suse.de>
1016
1017 PR tree-optimization/80374
1018 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use
1019 build_zero_cst, remove fold_convertible_p check again.
1020
1021 2017-04-11 Martin Liska <mliska@suse.cz>
1022
1023 PR sanitizer/70878
1024 * ubsan.c (instrument_object_size): Do not instrument register
1025 variables.
1026
1027 2017-04-11 Jakub Jelinek <jakub@redhat.com>
1028
1029 PR target/80381
1030 * config/i386/i386-builtin-types.def
1031 (V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT,
1032 V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT,
1033 V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT,
1034 V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT,
1035 V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT,
1036 V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT,
1037 V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT,
1038 V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT,
1039 V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT,
1040 V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT,
1041 V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT,
1042 V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT,
1043 V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT,
1044 V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT,
1045 V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT,
1046 V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT,
1047 V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT,
1048 V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases.
1049 * config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask,
1050 __builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
1051 __builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask,
1052 __builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
1053 __builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask,
1054 __builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
1055 __builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask,
1056 __builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask,
1057 __builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask,
1058 __builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask,
1059 __builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask,
1060 __builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask,
1061 __builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask,
1062 __builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask,
1063 __builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask,
1064 __builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask,
1065 __builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask,
1066 __builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask,
1067 __builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask,
1068 __builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask,
1069 __builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask,
1070 __builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask,
1071 __builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask,
1072 __builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask,
1073 __builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask,
1074 __builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask,
1075 __builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
1076 __builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type
1077 aliases.
1078 * config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count
1079 flag to second_arg_count, handle 4 argument function type _COUNT
1080 aliases, handle second_arg_count on second argument rather than last.
1081
1082 2017-04-10 Jeff Law <law@redhat.com>
1083
1084 PR tree-optimization/80374
1085 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
1086 record anything if we can not convert integer_zero_node to the
1087 desired type.
1088
1089 2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
1090
1091 PR target/80108
1092 * config/rs6000/rs6000.c (rs6000_option_override_internal):
1093 Enhance special handling given to the TARGET_P9_MINMAX option in
1094 relation to certain other options.
1095
1096 2017-04-10 Bin Cheng <bin.cheng@arm.com>
1097
1098 PR tree-optimization/80153
1099 * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and
1100 remove POINTER_PLUS_EXPR's base part directly, rather than through
1101 aff_tree.
1102
1103 2017-04-10 Richard Biener <rguenther@suse.de>
1104 Bin Cheng <bin.cheng@arm.com>
1105
1106 PR tree-optimization/80153
1107 * tree-affine.c (aff_combination_to_tree): Get base pointer from
1108 the first element of pointer type aff_tree. Build result expr in
1109 aff_tree's type.
1110 (add_elt_to_tree): Convert to type unconditionally. Remove other
1111 fold_convert calls.
1112 * tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types.
1113 (rewrite_use_nonlinear_expr): Check invariant using iv information.
1114
1115 2017-04-10 Richard Biener <rguenther@suse.de>
1116
1117 * tree-ssa-structalias.c (find_func_aliases): Properly handle
1118 asm inputs.
1119
1120 2017-04-10 Vladimir Makarov <vmakarov@redhat.com>
1121
1122 PR rtl-optimization/70478
1123 * lra-constraints.c (curr_small_class_check): New.
1124 (update_and_check_small_class_inputs): New.
1125 (process_alt_operands): Update curr_small_class_check. Disfavor
1126 alternative insn memory operands. Check available regs for small
1127 class operands.
1128
1129 2017-03-31 Matthew Fortune <matthew.fortune@imgtec.com>
1130
1131 PR target/80057
1132 * config/mips/mips.opt (-mvirt): Update description.
1133 * doc/invoke.texi (-mvirt): Likewise.
1134
1135 2017-04-10 Richard Biener <rguenther@suse.de>
1136
1137 PR middle-end/80362
1138 * fold-const.c (fold_binary_loc): Look at unstripped ops when
1139 looking for NEGATE_EXPR in -A / -B to A / B folding.
1140
1141 2017-04-10 Martin Liska <mliska@suse.cz>
1142
1143 PR gcov-profile/80224
1144 * gcov.c (print_usage): Fix usage string.
1145 (get_gcov_intermediate_filename): Remove.
1146 (output_gcov_file): Use both for normal and intermediate format.
1147 (generate_results): Do not initialize special file for
1148 intermediate format.
1149
1150 2017-04-10 Richard Biener <rguenther@suse.de>
1151
1152 PR tree-optimization/80304
1153 * tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse
1154 for safelen.
1155
1156 2017-04-10 Nathan Sidwell <nathan@acm.org>
1157
1158 PR target/79905
1159 * config/rs6000/rs6000.c (rs6000_vector_type): New.
1160 (rs6000_init_builtins): Use it.
1161
1162 2016-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1163
1164 * config/arm/arm.md (<mrc>): Add mode to SET source.
1165 (<mrrc>): Likewise.
1166
1167 2017-04-10 Richard Biener <rguenther@suse.de>
1168
1169 PR middle-end/80344
1170 * gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs.
1171
1172 2017-04-10 Jakub Jelinek <jakub@redhat.com>
1173
1174 PR target/80324
1175 * config/i386/avx512fintrin.h (_mm512_reduce_add_epi32,
1176 _mm512_reduce_mul_epi32, _mm512_reduce_and_epi32,
1177 _mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32,
1178 _mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32,
1179 _mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32,
1180 _mm512_reduce_max_epi32, _mm512_reduce_min_epu32,
1181 _mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32,
1182 _mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32,
1183 _mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps,
1184 _mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps,
1185 _mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps,
1186 _mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps,
1187 _mm512_reduce_add_epi64, _mm512_reduce_mul_epi64,
1188 _mm512_reduce_and_epi64, _mm512_reduce_or_epi64,
1189 _mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64,
1190 _mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64,
1191 _mm512_reduce_min_epi64, _mm512_reduce_max_epi64,
1192 _mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64,
1193 _mm512_reduce_min_epu64, _mm512_reduce_max_epu64,
1194 _mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64,
1195 _mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd,
1196 _mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd,
1197 _mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics.
1198
1199 2017-04-08 Vladimir Makarov <vmakarov@redhat.com>
1200
1201 PR rtl-optimization/70478
1202 * lra-constraints.c: Reverse the last patch.
1203
1204 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org>
1205
1206 * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
1207 Add comment for WCHAR_T.
1208
1209 2017-04-08 Martin Liska <mliska@suse.cz>
1210
1211 Revert:
1212 2017-04-07 Martin Liska <mliska@suse.cz>
1213
1214 PR ipa/80212
1215 * ipa-split.c (split_function): Add function part to a same comdat
1216 group.
1217
1218 2017-04-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
1219
1220 PR target/80358
1221 * config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.
1222
1223 2017-04-07 Pat Haugen <pthaugen@us.ibm.com>
1224
1225 * rs6000/rs6000.c (vec_load_pendulum): Rename...
1226 (vec_pairing): ...to this.
1227 (power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
1228 (rs6000_sched_init): Adjust for name change.
1229 (struct rs6000_sched_context): Likewise.
1230 (rs6000_init_sched_context): Likewise.
1231 (rs6000_set_sched_context): Likewise.
1232
1233 2017-04-07 Jakub Jelinek <jakub@redhat.com>
1234
1235 PR target/80322
1236 PR target/80323
1237 PR target/80325
1238 PR target/80326
1239 * config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New
1240 intrinsics.
1241 * config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int,
1242 _mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd,
1243 _mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise.
1244
1245 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org>
1246
1247 * config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE.
1248
1249 2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
1250
1251 PR rtl-optimization/70703
1252 * ira-color.c (update_conflict_hard_regno_costs): Use
1253 int64_t instead of HOST_WIDE_INT.
1254
1255 2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
1256
1257 PR rtl-optimization/70478
1258 * lra-constraints.c (process_alt_operands): Disfavor alternative
1259 insn memory operands.
1260
1261 2017-04-07 Jeff Law <law@redhat.com>
1262
1263 * config/iq2000/iq2000.c (final_prescan_insn): Do not separate a
1264 CALL and NOTE_INSN_CALL_ARG_LOCATION.
1265
1266 2017-04-07 Martin Liska <mliska@suse.cz>
1267
1268 PR target/79889
1269 * config/aarch64/aarch64.c (aarch64_process_target_attr):
1270 Show error message instead of an ICE.
1271
1272 2017-04-07 Martin Liska <mliska@suse.cz>
1273
1274 PR ipa/80212
1275 * ipa-split.c (split_function): Add function part to a same comdat
1276 group.
1277
1278 2017-04-07 Richard Biener <rguenther@suse.de>
1279
1280 PR middle-end/80341
1281 * tree.c (get_unwidened): Also handle ! for_type case for
1282 INTEGER_CSTs.
1283 * convert.c (do_narrow): Split out from ...
1284 (convert_to_integer_1): ... here. Do not pass final truncation
1285 type to get_unwidened for TRUNC_DIV_EXPR.
1286
1287 2017-04-07 Richard Biener <rguenther@suse.de>
1288
1289 * tree-affine.c (wide_int_ext_for_comb): Take type rather
1290 than aff_tree.
1291 (aff_combination_const): Adjust.
1292 (aff_combination_scale): Likewise.
1293 (aff_combination_add_elt): Likewise.
1294 (aff_combination_add_cst): Likewise.
1295 (aff_combination_convert): Likewise.
1296 (add_elt_to_tree): Likewise. Remove unused argument.
1297 (aff_combination_to_tree): Adjust calls to add_elt_to_tree.
1298
1299 2017-04-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
1300
1301 * config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
1302 definition.
1303 * config/arm/arm.c (arm_default_short_enums): Use
1304 ARM_DEFAULT_SHORT_ENUMS.
1305 * config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.
1306
1307 2017-04-06 Jakub Jelinek <jakub@redhat.com>
1308
1309 PR debug/80234
1310 * dwarf2out.c (gen_member_die): Handle C++17 inline static data
1311 members with redundant out-of-class redeclaration.
1312
1313 2017-04-06 Uros Bizjak <ubizjak@gmail.com>
1314
1315 PR target/80286
1316 * config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern.
1317 * config/i386/i386.md (*zero_extendsidi2):
1318 Add (?*x,*x) and (?*v,*v) alternatives.
1319
1320 2017-04-06 Uros Bizjak <ubizjak@gmail.com>
1321
1322 PR target/79733
1323 * config/i386/i386.c (ix86_expand_builtin)
1324 <case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand
1325 mode from insn data. Convert operands to insn operand mode.
1326 Copy operands that don't satisfy insn predicate to a register.
1327
1328 2017-04-06 Sam Thursfield <sam.thursfield@codethink.co.uk>
1329
1330 * config/rs6000/x-aix: Increase memory limit for genautomata on AIX.
1331 Update comments.
1332
1333 2017-04-06 Richard Biener <rguenther@suse.de>
1334
1335 PR tree-optimization/80334
1336 * tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
1337 preserve alignment of accesses.
1338
1339 2017-04-06 Richard Biener <rguenther@suse.de>
1340
1341 PR tree-optimization/80262
1342 * tree-sra.c (build_ref_for_offset): Preserve address-space
1343 information.
1344 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
1345 Drop useless address-space information on MEM_REF offsets.
1346
1347 2017-04-05 Andreas Schwab <schwab@linux-m68k.org>
1348
1349 * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type.
1350
1351 2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
1352
1353 PR rtl-optimization/70703
1354 * ira-color.c (update_conflict_hard_regno_costs): Use
1355 HOST_WIDE_INT instead of long.
1356
1357 2017-04-05 Uros Bizjak <ubizjak@gmail.com>
1358
1359 PR target/80298
1360 * config/i386/mmintrin.h: Add -msse target option when __SSE__ is
1361 not defined for x86_64 target. Add -mmmx target option when __SSE2__
1362 is not defined.
1363 * config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined
1364 for x86_64 target. Handle -m3dnowa option.
1365
1366 2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
1367
1368 PR rtl-optimization/70703
1369 * ira-color.c (update_costs_from_allocno): Use the smallest mode.
1370 (update_conflict_hard_regno_costs): Use long instead of unsigned
1371 arithmetic for cost calculation.
1372
1373 2017-04-05 Jakub Jelinek <jakub@redhat.com>
1374 Bernd Edlinger <bernd.edlinger@hotmail.de>
1375
1376 PR sanitizer/80308
1377 * asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value
1378 for big endian.
1379
1380 2017-04-05 Eric Botcazou <ebotcazou@adacore.com>
1381
1382 PR target/78002
1383 * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace
1384 ptr_mode with Pmode throughout.
1385 * config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename
1386 into probe_stack_range and use DImode.
1387
1388 2017-04-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
1389
1390 PR target/79890
1391 * config/s390/s390.c (s390_register_info_gprtofpr): Return if
1392 call_eh_return is true.
1393
1394 2017-04-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1395
1396 * config/s390/s390-c.c (s390_resolve_overloaded_builtin):
1397 Initialize last_match_fntype_index.
1398
1399 2017-04-05 Jakub Jelinek <jakub@redhat.com>
1400
1401 PR target/80310
1402 * tree-nvr.c: Include internal-fn.h.
1403 (pass_return_slot::execute): Ignore internal calls without
1404 direct optab.
1405
1406 2017-04-04 Jakub Jelinek <jakub@redhat.com>
1407 Richard Biener <rguenther@suse.de>
1408
1409 PR c++/80297
1410 * genmatch.c (capture::gen_transform): For GENERIC unshare_expr
1411 captures used multiple times, except for the last use.
1412 * generic-match-head.c: Include gimplify.h.
1413
1414 2017-04-04 Jakub Jelinek <jakub@redhat.com>
1415
1416 PR tree-optimization/79390
1417 * target.h (struct noce_if_info): Declare.
1418 * targhooks.h (default_noce_conversion_profitable_p): Declare.
1419 * target.def (noce_conversion_profitable_p): New target hook.
1420 * ifcvt.h (struct noce_if_info): New type, moved from ...
1421 * ifcvt.c (struct noce_if_info): ... here.
1422 (noce_conversion_profitable_p): Renamed to ...
1423 (default_noce_conversion_profitable_p): ... this. No longer
1424 static nor inline.
1425 (noce_try_store_flag_constants, noce_try_addcc,
1426 noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
1427 noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p
1428 instead of noce_conversion_profitable_p.
1429 * config/i386/i386.c: Include ifcvt.h.
1430 (ix86_option_override_internal): Don't override
1431 PARAM_MAX_RTL_IF_CONVERSION_INSNS default.
1432 (ix86_noce_conversion_profitable_p): New function.
1433 (TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine.
1434 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment.
1435 * doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add.
1436 * doc/tm.texi: Regenerated.
1437
1438 2017-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1439
1440 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar
1441 correction.
1442
1443 2017-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
1444
1445 PR target/80307
1446 * config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32
1447 instructions for small multiply cores.
1448
1449 2017-04-04 Jeff Law <law@redhat.com>
1450
1451 * config/mips/mips.c (mips_multi_add): Zero initialize the newly
1452 added member.
1453 (mips_expand_vec_perm_const): Initialize elements in orig_perm
1454 that are not set by the loop over the elements.
1455
1456 2017-04-04 Jakub Jelinek <jakub@redhat.com>
1457
1458 PR target/80286
1459 * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar
1460 int mode, convert_modes it to mode as unsigned, otherwise use
1461 lowpart_subreg to mode rather than SImode.
1462 * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>,
1463 ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>):
1464 Use DImode instead of SImode for the shift count operand.
1465 * config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3):
1466 Likewise.
1467
1468 2017-04-04 Richard Biener <rguenther@suse.de>
1469
1470 PR middle-end/80281
1471 * match.pd (A + (-B) -> A - B): Make sure to preserve unsigned
1472 arithmetic done for the negate or the plus. Simplify.
1473 (A - (-B) -> A + B): Likewise.
1474 * fold-const.c (split_tree): Make sure to not negate pointers.
1475
1476 2017-04-04 Segher Boessenkool <segher@kernel.crashing.org>
1477
1478 PR rtl-optimization/60818
1479 * simplify-rtx.c (simplify_binary_operation_1): Do not replace
1480 a compare of comparisons with the thing compared if this results
1481 in a different machine mode.
1482
1483 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
1484
1485 * alias.c (base_alias_check): Fix typo in comment.
1486 * cgraph.h (class ipa_polymorphic_call_context): Likewise.
1487 * cgraphunit.c (symbol_table::compile): Likewise.
1488 * collect2.c (maybe_run_lto_and_relink): Likewise.
1489 * config/arm/arm.c (arm_thumb1_mi_thunk): Likewise.
1490 * config/avr/avr-arch.h (avr_arch_info_t): Likewise.
1491 * config/avr/avr.c (avr_map_op_t): Likewise.
1492 * config/cr16/cr16.h (DATA_ALIGNMENT): Likewise.
1493 * config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise.
1494 * config/epiphany/epiphany.md (movcc): Likewise.
1495 * config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise.
1496 * config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue):
1497 Likewise.
1498 * config/mips/mips.c (mips_save_restore_reg): Likewise.
1499 * config/rx/rx.c (rx_is_restricted_memory_address): Likewise.
1500 * config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise.
1501 * config/sh/sh.c (sh_rtx_costs): Likewise.
1502 * fold-const.c (fold_truth_andor): Likewise.
1503 * genautomata.c (collapse_flag): Likewise.
1504 * gengtype.h (struct type::u::s): Likewise.
1505 * gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise.
1506 * input.c (FORMAT_AMOUNT): Likewise.
1507 * ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector)
1508 (known_aggs_to_agg_replacement_list): Likewise.
1509 * ipa-inline-analysis.c: Likewise.
1510 * ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise.
1511 * ipa-polymorphic-call.c
1512 (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
1513 * loop-unroll.c (analyze_insn_to_expand_var): Likewise.
1514 * lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos):
1515 Likewise.
1516 * modulo-sched.c (apply_reg_moves): Likewise.
1517 * omp-expand.c (build_omp_regions_1): Likewise.
1518 * trans-mem.c (struct tm_wrapper_hasher): Likewise.
1519 * tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise.
1520 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise.
1521 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
1522 * value-prof.c: Likewise.
1523 * var-tracking.c (val_reset): Likewise.
1524
1525 2017-04-03 Richard Biener <rguenther@suse.de>
1526
1527 PR tree-optimization/80275
1528 * fold-const.c (split_address_to_core_and_offset): Handle
1529 POINTER_PLUS_EXPR.
1530
1531 2017-04-03 Eric Botcazou <ebotcazou@adacore.com>
1532
1533 * tree-nested.c (get_descriptor_type): Make sure that the alignment of
1534 descriptors is at least equal to that of functions.
1535
1536 2017-04-02 Uros Bizjak <ubizjak@gmail.com>
1537
1538 * config/i386/sse.md (movdi_to_sse): Add missing DONE.
1539
1540 2017-04-02 Uros Bizjak <ubizjak@gmail.com>
1541
1542 PR target/80250
1543 * config/i386/sse.md (mov<IMOD4:mode>): Remove insn pattern.
1544 (mov<IMOD4:mode>): New expander.
1545 (*mov<IMOD4:mode>_internal): New insn and split pattern.
1546
1547 2017-03-31 Segher Boessenkool <segher@kernel.crashing.org>
1548
1549 PR rtl-optimization/79405
1550 * fwprop.c (propagations_left): New variable.
1551 (forward_propagate_into): Decrement it.
1552 (fwprop_init): Initialize it.
1553 (fw_prop): If the variable has reached zero, stop propagating.
1554 (fwprop_addr): Ditto.
1555
1556 2017-03-31 Jakub Jelinek <jakub@redhat.com>
1557
1558 PR debug/79255
1559 * dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is
1560 a FUNCTION_DECL, pass it as decl instead of origin to
1561 process_scope_var.
1562
1563 2017-03-31 Alexander Monakov <amonakov@ispras.ru>
1564
1565 * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Correct format
1566 string.
1567
1568 2017-03-31 Pat Haugen <pthaugen@us.ibm.com>
1569
1570 PR target/80107
1571 * config/rs6000/rs6000.md (extendhi<mode>2): Add test for
1572 TARGET_VSX_SMALL_INTEGER.
1573
1574 2017-03-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1575
1576 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
1577 reference to the OpenPOWER 64-Bit ELF V2 ABI Specification.
1578
1579 2017-03-31 Matthew Fortune <matthew.fortune@imgtec.com>
1580
1581 * config/mips/mips-msa.md (msa_vec_extract_<msafmt_f>): Update
1582 extraction from odd-numbered MSA register.
1583
1584 2017-03-31 Jakub Jelinek <jakub@redhat.com>
1585
1586 PR middle-end/80173
1587 * expmed.c (store_bit_field_1): Don't attempt to create
1588 a word subreg out of hard registers wider than word if they
1589 have HARD_REGNO_NREGS of 1 for their mode.
1590
1591 PR middle-end/80163
1592 * varasm.c (initializer_constant_valid_p_1): Disallow sign-extending
1593 conversions to integer types wider than word and pointer.
1594
1595 PR debug/80025
1596 * cselib.h (rtx_equal_for_cselib_1): Add depth argument.
1597 (rtx_equal_for_cselib_p): Pass 0 to it.
1598 * cselib.c (cselib_hasher::equal): Likewise.
1599 (rtx_equal_for_cselib_1): Add depth argument. If depth
1600 is 128, don't look up VALUE locs and punt. Increment
1601 depth in recursive calls when walking VALUE locs.
1602
1603 2017-03-31 Bernd Edlinger <bernd.edlinger@hotmail.de>
1604
1605 * gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
1606 (make_gcov_file_name): Use the canonical path name for generating
1607 the MD5 value.
1608 (read_line): Fix handling of files with ascii null bytes.
1609
1610 2017-03-30 Matthew Fortune <matthew.fortune@imgtec.com>
1611
1612 * config/mips/mips.c (mips_expand_vector_init): Create a const_vector
1613 to initialise a vector register instead
1614 of using a const_int.
1615
1616 2017-03-30 Jakub Jelinek <jakub@redhat.com>
1617
1618 PR translation/80189
1619 * gimplify.c (omp_default_clause): Use %qs instead of %s in
1620 diagnostic messages.
1621
1622 2017-03-30 Peter Bergner <bergner@vnet.ibm.com>
1623
1624 PR target/80246
1625 * config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0.
1626 (dfp_diex_<mode>): Update mode of operand 1.
1627 * doc/extend.texi (dxex, dxexq): Document change to return type.
1628 (diex, diexq): Document change to argument type.
1629
1630 2017-03-30 Martin Jambor <mjambor@suse.cz>
1631
1632 PR ipa/77333
1633 * cgraph.h (cgraph_build_function_type_skip_args): Declare.
1634 * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
1635 it reflects the signature changes performed at the callee side.
1636 * cgraphclones.c (build_function_type_skip_args): Make public, renamed
1637 to cgraph_build_function_type_skip_args.
1638 (build_function_decl_skip_args): Adjust call to the above function.
1639
1640 2017-03-30 Jakub Jelinek <jakub@redhat.com>
1641
1642 PR target/80206
1643 * config/i386/sse.md
1644 (<extract_type>_vextract<shuffletype><extract_suf>_mask): Use
1645 register as dest whenever it is a MEM not rtx_equal_p to the
1646 corresponding dup operand, and when forcing into reg move the
1647 reg into the memory afterwards.
1648 (<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask):
1649 Likewise. Use <ssehalfvecmode> instead of <ssequartermode>
1650 for the force_reg mode.
1651 (avx512vl_vextractf128<mode>): Use register as dest either
1652 always when a MEM, or when it is a MEM not rtx_equal_p to the
1653 corresponding dup operand, or even not when it is a CONST_VECTOR
1654 depending on the mode and lo vs. hi.
1655 (avx512dq_vextract<shuffletype>64x2_1_maskm): Remove extraneous
1656 parens.
1657 (avx512f_vextract<shuffletype>32x4_1_maskm): Likewise.
1658 (<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>):
1659 Likewise. Require that operands[2] is even.
1660 (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>):
1661 Remove extraneous parens. Require that operands[2] is a multiple
1662 of 4.
1663 (vec_extract_lo_<mode><mask_name>): Don't bother testing if
1664 operands[0] is a MEM if <mask_applied>, the predicates/constraints
1665 disallow memory then.
1666
1667 2017-03-30 Richard Biener <rguenther@suse.de>
1668
1669 PR tree-optimization/77498
1670 * tree-ssa-pre.c (phi_translate_1): Do not allow simplifications
1671 to non-constants over backedges.
1672
1673 2017-03-29 Segher Boessenkool <segher@kernel.crashing.org>
1674
1675 PR rtl-optimization/80233
1676 * combine.c (combine_instructions): Only take NONDEBUG_INSN_P insns
1677 as last_combined_insn. Do not test for BARRIER_P separately.
1678
1679 2017-03-29 Andreas Schwab <schwab@suse.de>
1680
1681 PR ada/80146
1682 * calls.c (prepare_call_address): Convert funexp to Pmode before
1683 copying to temp reg.
1684
1685 2017-03-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1686
1687 PR tree-optimization/80158
1688 * gimple-ssa-strength-reduction.c (replace_mult_candidate):
1689 Handle possible future case of more than one alternate
1690 interpretation.
1691 (replace_rhs_if_not_dup): Likewise.
1692 (replace_one_candidate): Likewise.
1693
1694 2017-03-28 Vladimir Makarov <vmakarov@redhat.com>
1695
1696 PR rtl-optimization/80193
1697 * ira.c (ira): Do not check allocation for LRA.
1698
1699 2017-03-28 Alexander Monakov <amonakov@ispras.ru>
1700
1701 * config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare.
1702 (nvptx_output_simt_exit): Declare.
1703 * config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use
1704 cfun->machine->unisimt_location. Handle NULL unisimt_predicate.
1705 (init_softstack_frame): Move initialization of crtl->is_leaf to...
1706 (nvptx_declare_function_name): ...here. Emit declaration of local
1707 memory space buffer for omp_simt_enter insn.
1708 (nvptx_output_unisimt_switch): New.
1709 (nvptx_output_softstack_switch): New.
1710 (nvptx_output_simt_enter): New.
1711 (nvptx_output_simt_exit): New.
1712 * config/nvptx/nvptx.h (struct machine_function): New fields
1713 has_simtreg, unisimt_location, simt_stack_size, simt_stack_align.
1714 * config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec.
1715 (UNSPECV_SIMT_EXIT): Ditto.
1716 (omp_simt_enter_insn): New insn.
1717 (omp_simt_enter): New expansion.
1718 (omp_simt_exit): New insn.
1719 * config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option.
1720
1721 * internal-fn.c (expand_GOMP_SIMT_ENTER): New.
1722 (expand_GOMP_SIMT_ENTER_ALLOC): New.
1723 (expand_GOMP_SIMT_EXIT): New.
1724 * internal-fn.def (GOMP_SIMT_ENTER): New internal function.
1725 (GOMP_SIMT_ENTER_ALLOC): Ditto.
1726 (GOMP_SIMT_EXIT): Ditto.
1727 * target-insns.def (omp_simt_enter): New insn.
1728 (omp_simt_exit): Ditto.
1729 * omp-low.c (struct omplow_simd_context): New fields simt_eargs,
1730 simt_dlist.
1731 (lower_rec_simd_input_clauses): Implement SIMT privatization.
1732 (lower_rec_input_clauses): Likewise.
1733 (lower_lastprivate_clauses): Handle SIMT privatization.
1734
1735 * omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h.
1736 (ompdevlow_adjust_simt_enter): New.
1737 (find_simtpriv_var_op): New.
1738 (execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER,
1739 IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT.
1740
1741 * tree-inline.h (struct copy_body_data): New field dst_simt_vars.
1742 * tree-inline.c (expand_call_inline): Handle SIMT privatization.
1743 (copy_decl_for_dup_finish): Ditto.
1744
1745 * tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER.
1746
1747 2017-03-28 Uros Bizjak <ubizjak@gmail.com>
1748
1749 PR target/53383
1750 * config/i386/i386.c (ix86_option_override_internal): Always
1751 allow -mpreferred-stack-boundary=3 for 64-bit targets.
1752
1753 2017-03-28 Bin Cheng <bin.cheng@arm.com>
1754
1755 * tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop.
1756
1757 2017-03-28 Bin Cheng <bin.cheng@arm.com>
1758
1759 * tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
1760 mark new edge's irreducible flag accordign to it.
1761 (vect_do_peeling): Check loop preheader edge's irreducible flag
1762 and pass it to function slpeel_add_loop_guard.
1763
1764 2017-03-28 Richard Sandiford <richard.sandiford@arm.com>
1765
1766 PR tree-optimization/80218
1767 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
1768 Update block frequencies and counts.
1769
1770 2017-03-28 Richard Biener <rguenther@suse.de>
1771
1772 PR tree-optimization/78644
1773 * tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
1774 of a simplification result we may not use it at all.
1775
1776 2017-03-28 Richard Biener <rguenther@suse.de>
1777
1778 PR ipa/80205
1779 * tree-inline.c (copy_phis_for_bb): Do not create PHI node
1780 without arguments, generate default definition of a SSA name.
1781
1782 2017-03-28 Richard Biener <rguenther@suse.de>
1783
1784 PR middle-end/80222
1785 * gimple-fold.c (gimple_fold_indirect_ref): Do not touch
1786 TYPE_REF_CAN_ALIAS_ALL references.
1787 * fold-const.c (fold_indirect_ref_1): Likewise.
1788
1789 2017-03-28 Martin Liska <mliska@suse.cz>
1790
1791 PR ipa/80104
1792 * cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
1793 thunk call as DECL_GIMPLE_REG_P when vector or complex type.
1794
1795 2017-03-28 Claudiu Zissulescu <claziss@synopsys.com>
1796 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
1797
1798 * config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec.
1799 (EXTRA_SPECS): Define.
1800 (SUBTARGET_EXTRA_SPECS): Likewise.
1801 (SUBTARGET_CPP_SPEC): Likewise.
1802 * config/arc/elf.h (EXTRA_SPECS): Renamed to
1803 SUBTARGET_EXTRA_SPECS.
1804 * config/arc/linux.h (SUBTARGET_CPP_SPEC): Define.
1805
1806 2017-03-28 Claudiu Zissulescu <claziss@synopsys.com>
1807
1808 * config/arc/simdext.md (vst64_insn): Update pattern.
1809 (vld32wh_insn): Likewise.
1810 (vld32wl_insn): Likewise.
1811 (vld64_insn): Likewise.
1812 (vld32_insn): Likewise.
1813
1814 2017-03-28 Marek Polacek <polacek@redhat.com>
1815
1816 PR sanitizer/80067
1817 * fold-const.c (fold_comparison): Use protected_set_expr_location
1818 instead of SET_EXPR_LOCATION.
1819
1820 2017-03-28 Markus Trippelsdorf <markus@trippelsdorf.de>
1821
1822 * tree.c (add_expr): Avoid name lookup warning.
1823
1824 2017-03-27 Jeff Law <law@redhat.com>
1825
1826 PR tree-optimization/80216
1827 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in
1828 function name. Limit recursion depth.
1829 (record_temporary_equivalences): Corresponding changes.
1830
1831 2017-03-27 Jonathan Wakely <jwakely@redhat.com>
1832
1833 * doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
1834 covered first.
1835
1836 2017-03-27 Jakub Jelinek <jakub@redhat.com>
1837
1838 PR target/80102
1839 * reg-notes.def (REG_CFA_NOTE): Define. Use it for CFA related
1840 notes.
1841 * cfgcleanup.c (reg_note_cfa_p): New array.
1842 (insns_have_identical_cfa_notes): New function.
1843 (old_insns_match_p): Don't cross-jump in between /f
1844 and non-/f instructions. If both i1 and i2 are frame related,
1845 verify all CFA notes, their order and content.
1846
1847 2017-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
1848
1849 PR target/78543
1850 * config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap
1851 HImode and SImode with zero extend to DImode to one insn.
1852 (bswap<mode>2_extenddi): Likewise.
1853 (bswapsi2_extenddi): Likewise.
1854 (bswaphi2_extendsi): Likewise.
1855 (bswaphi2): Combine bswap HImode and SImode into one insn.
1856 Separate memory insns from swapping register.
1857 (bswapsi2): Likewise.
1858 (bswap<mode>2): Likewise.
1859 (bswaphi2_internal): Delete, no longer used.
1860 (bswapsi2_internal): Likewise.
1861 (bswap<mode>2_load): Split bswap HImode/SImode into separate load,
1862 store, and gpr<-gpr swap insns.
1863 (bswap<mode>2_store): Likewise.
1864 (bswaphi2_reg): Register only splitter, combine with the splitter.
1865 (bswaphi2 splitter): Likewise.
1866 (bswapsi2_reg): Likewise.
1867 (bswapsi2 splitter): Likewise.
1868 (bswapdi2): If we have the LDBRX and STDBRX instructions, split
1869 the insns into load, store, and register/register insns.
1870 (bswapdi2_ldbrx): Likewise.
1871 (bswapdi2_load): Likewise.
1872 (bswapdi2_store): Likewise.
1873 (bswapdi2_reg): Likewise.
1874
1875 2017-03-27 Gunther Nikl <gnikl@users.sourceforge.net>
1876
1877 * system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case.
1878 (HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise.
1879
1880 2017-03-27 Kelvin Nilsen <kelvin@gcc.gnu.org>
1881
1882 PR target/80103
1883 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and
1884 add comments.
1885 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
1886 special handling for target option conflicts between dform
1887 options (-mpower9-dform, -mpower9-dform-vector,
1888 -mpower9-dform-scalar) and -mno-direct-move.
1889
1890 2017-03-27 Richard Biener <rguenther@suse.de>
1891
1892 PR tree-optimization/80181
1893 * tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
1894
1895 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
1896
1897 * config/arc/predicates.md (move_double_src_operand): Replace the
1898 call to move_double_src_operand with a call to address_operand.
1899
1900 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
1901
1902 * config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define.
1903 * config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise.
1904 * config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT.
1905
1906 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
1907
1908 * config/arc/predicates.md (long_immediate_loadstore_operand):
1909 Consider scaled addresses cases.
1910
1911 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
1912
1913 * config/arc/arc.c (arc_epilogue_uses): BLINK should be also
1914 restored when in interrupt.
1915 * config/arc/arc.md (simple_return): ARCv2 rtie instruction
1916 doesn't have delay slot.
1917
1918 2017-03-27 Richard Biener <rguenther@suse.de>
1919
1920 PR ipa/79776
1921 * tree-ssa-structalias.c (associate_varinfo_to_alias): Skip
1922 inlined thunk clones.
1923
1924 2017-03-27 Jakub Jelinek <jakub@redhat.com>
1925
1926 PR sanitizer/80168
1927 * asan.c (instrument_derefs): Copy over last operand from
1928 original COMPONENT_REF to the new COMPONENT_REF with
1929 DECL_BIT_FIELD_REPRESENTATIVE.
1930 * ubsan.c (instrument_object_size): Likewise.
1931
1932 2017-03-27 Richard Biener <rguenther@suse.de>
1933
1934 PR tree-optimization/80170
1935 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make
1936 sure DR/SCEV didnt fold in constants we do not see when looking
1937 at the reference base alignment.
1938
1939 2017-03-27 Richard Biener <rguenther@suse.de>
1940
1941 PR middle-end/80171
1942 * gimple-fold.c (fold_ctor_reference): Properly guard against
1943 NULL return value from canonicalize_constructor_val.
1944
1945 2017-03-25 Uros Bizjak <ubizjak@gmail.com>
1946
1947 PR target/80180
1948 * config/i386/i386.c (ix86_expand_builtin)
1949 <IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
1950 flags reg setting and flags reg using instructions.
1951 <IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg
1952 clobbering instructions to zero extend op2.
1953
1954 2017-03-25 Gerald Pfeifer <gerald@pfeifer.com>
1955
1956 * doc/install.texi (Configuration) <--with-aix-soname>:
1957 Update link to AIX ld.
1958
1959 2017-03-25 Bernd Schmidt <bschmidt@redhat.com>
1960
1961 PR rtl-optimization/80160
1962 PR rtl-optimization/80159
1963 * lra-assigns.c (must_not_spill_p): Tighten new test to also take
1964 reg_alternate_class into account.
1965
1966 2017-03-24 Vladimir Makarov <vmakarov@redhat.com>
1967
1968 PR target/80148
1969 * lra-assigns.c (assign_by_spills): Add spilled non-reload pseudos
1970 to consider in curr_insn_transform.
1971
1972 2017-03-24 Jakub Jelinek <jakub@redhat.com>
1973
1974 * genrecog.c (validate_pattern): Add VEC_SELECT validation.
1975 * genmodes.c (emit_min_insn_modes_c): Call emit_mode_nunits
1976 and emit_mode_inner.
1977
1978 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
1979
1980 * config/s390/s390-builtins.def: Add VXE builtins. Add a flags
1981 argument to the overloaded builtin variants. Use the new flag to
1982 deprecate certain builtin variants.
1983 * config/s390/s390-builtin-types.def: Add new builtin types.
1984 * config/s390/s390-builtins.h: Support new flags field for
1985 overloaded builtins.
1986 * config/s390/s390-c.c (OB_DEF_VAR): New flags field.
1987 (s390_macro_to_expand): Enable vector float data type.
1988 (s390_cpu_cpp_builtins_internal): Indicate support of the new
1989 builtins by incrementing the __VEC__ version number.
1990 (s390_expand_overloaded_builtin): Support expansion of vec_xl and
1991 vec_xst.
1992 (s390_resolve_overloaded_builtin): Emit error messages depending
1993 on the builtin flags.
1994 * config/s390/s390.c (s390_expand_builtin): Support additional
1995 flags argument. Change error message to match the messages
1996 emitted in s390-c.c.
1997 * config/s390/s390.md: New UNSPEC_* constants.
1998 (op_type): Add new instruction types.
1999 * config/s390/vecintrin.h: Add new builtins and test data class
2000 constants.
2001 * config/s390/vx-builtins.md (V_HW_32_64): Add V4SF.
2002 (V_HW_4, VEC_HW, VECF_HW): New mode iterators.
2003 (VEC_INEXACT, VEC_NOINEXACT): New constants.
2004 ("vec_splats<mode>", "vec_insert<mode>", "vec_promote<mode>")
2005 ("vec_insert_and_zero<mode>", "vec_mergeh<mode>")
2006 ("vec_mergel<mode>"): V_HW -> VEC_HW.
2007
2008 ("vlrlrv16qi", "vstrlrv16qi", "vbpermv16qi", "vec_msumv2di")
2009 ("vmslg", "*vftci<mode>_cconly", "vftci<mode>_intcconly")
2010 ("*vftci<mode>", "vftci<mode>_intcc", "vec_double_s64")
2011 ("vec_double_u64", "vfmin<mode>", "vfmax<mode>"): New definition.
2012
2013 ("and_av2df3", "and_cv2df3", "vec_andc_av2df3")
2014 ("vec_andc_cv2df3", "xor_av2df3", "xor_cv2df3", "vec_nor_av2df3")
2015 ("vec_nor_cv2df3", "ior_av2df3", "ior_cv2df3", "vec_nabs")
2016 ("*vftcidb", "*vftcidb_cconly", "vftcidb"): Remove definition.
2017
2018 ("vec_all_<fpcmpcc:code>v2df", "vec_any_<fpcmpcc:code>v2df")
2019 ("vec_scatter_elementv4si_DI", "vec_cmp<fpcmp:code>v2df")
2020 ("vec_di_to_df_s64", "vec_di_to_df_u64", "vec_df_to_di_u64")
2021 ("vfidb", "*vldeb", "*vledb", "*vec_cmp<insn_cmp>v2df_cconly")
2022 ("vec_cmpeqv2df_cc", "vec_cmpeqv2df_cc", "vec_cmphv2df_cc")
2023 ("vec_cmphev2df_cc", "*vec_cmpeqv2df_cc")
2024 ("*vec_cmphv2df_cc", "*vec_cmphev2df_cc"): Enable new modes as ...
2025
2026 ("vec_all_<fpcmpcc:code><mode>", "vec_any_<fpcmpcc:code><mode>")
2027 ("vec_scatter_element<V_HW_4:mode>_DI")
2028 ("vec_cmp<fpcmp:code><mode>", "vcdgb", "vcdlgb", "vclgdb")
2029 ("vec_fpint<mode>", "vflls")
2030 ("vflrd", "*vec_cmp<insn_cmp><mode>_cconly", "vec_cmpeq<mode>_cc")
2031 ("vec_cmpeq<mode>_cc", "vec_cmph<mode>_cc", "vec_cmphe<mode>_cc")
2032 ("*vec_cmpeq<mode>_cc", "*vec_cmph<mode>_cc")
2033 ("*vec_cmphe<mode>_cc"): ... these.
2034
2035 ("vec_ctd_s64", "vec_ctsl", "vec_ctul", "vec_st2f"): Use rounding
2036 mode constant instead of magic value.
2037
2038 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2039
2040 * config/s390/s390.c (s390_expand_vec_compare): Support other
2041 vector floating point modes than just V2DF.
2042 (s390_expand_vcond): Likewise.
2043 (s390_hard_regno_mode_ok): Allow SFmode values in VRs.
2044 (s390_cannot_change_mode_class): Prevent mode changes between TF
2045 and V1TF in vector registers.
2046 * config/s390/s390.md (DF, SF): New mode attributes.
2047 ("*cmp<mode>_ccs", "add<mode>3", "sub<mode>3", "mul<mode>3")
2048 ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2"): Add
2049 SFmode support for VRs.
2050 * config/s390/vector.md (V_HW, V_HW2, VT_HW, ti*, nonvec): Add new
2051 vector fp modes.
2052 (VFT, VF_HW): New mode iterators.
2053 (vw, sdx): New mode attributes.
2054 ("addv2df3", "subv2df3", "mulv2df3", "divv2df3", "sqrtv2df2")
2055 ("fmav2df4","fmsv2df4", "negv2df2", "absv2df2", "*negabsv2df2")
2056 ("smaxv2df3", "sminv2df3", "*vec_cmp<VFCMP_HW_OP:code>v2df_nocc")
2057 ("vec_cmpuneqv2df", "vec_cmpltgtv2df", "vec_orderedv2df")
2058 ("vec_unorderedv2df"): Adjust the v2df only patterns to support
2059 also the new vector floating point modes. Renaming to ...
2060
2061 ("add<mode>3", "sub<mode>3", "mul<mode>3", "div<mode>3")
2062 ("sqrt<mode>2", "fma<mode>4", "fms<mode>4", "neg<mode>2")
2063 ("abs<mode>2", "negabs<mode>2", "smax<mode>3")
2064 ("smin<mode>3", "*vec_cmp<VFCMP_HW_OP:code><mode>_nocc")
2065 ("vec_cmpuneq<mode>", "vec_cmpltgt<mode>", "vec_ordered<mode>")
2066 ("vec_unordered<mode>"): ... these.
2067
2068 ("neg_fma<mode>4", "neg_fms<mode>4", "*smax<mode>3_vxe")
2069 ("*smin<mode>3_vxe", "*sminv2df3_vx", "*vec_extendv4sf")
2070 ("*vec_extendv2df"): New insn definitions.
2071
2072 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2073
2074 * config/s390/s390.md ("*adddi3_sign", "*subdi3_sign", "mulditi3")
2075 ("mulditi3_2", "*muldi3_sign"): New patterns.
2076 ("muldi3", "*muldi3", "mulsi3", "*mulsi3"): Add an expander and
2077 rename the pattern definition.
2078
2079 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2080
2081 * config/s390/s390.md ("indirect_jump"): Turn insn definition into
2082 expander.
2083 ("*indirect_jump", "*indirect2_jump"): New pattern definitions.
2084
2085 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2086
2087 * config/s390/s390.c (s390_expand_vec_init): Use vllezl
2088 instruction if possible.
2089 * config/s390/vector.md (vec_halfnumelts): New mode
2090 attribute.
2091 ("*vec_vllezlf<mode>"): New pattern.
2092
2093 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2094
2095 * config/s390/vector.md ("popcountv16qi2", "popcountv8hi2")
2096 ("popcountv4si2", "popcountv2di2"): Rename to ...
2097 ("popcount<mode>2", "popcountv8hi2_vx", "popcountv4si2_vx")
2098 ("popcountv2di2_vx"): ... these and add !TARGET_VXE to the
2099 condition.
2100 ("popcount<mode>2_vxe"): New pattern.
2101
2102 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2103
2104 * common/config/s390/s390-common.c (processor_flags_table): Add
2105 arch12.
2106 * config.gcc: Add arch12.
2107 * config/s390/driver-native.c (s390_host_detect_local_cpu):
2108 Default to arch12 for unknown CPU model numbers.
2109 * config/s390/s390-builtins.def: Add B_VXE builtin flag.
2110 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Adjust
2111 PROCESSOR_max sanity check.
2112 * config/s390/s390-opts.h (enum processor_type): Add
2113 PROCESSOR_ARCH12.
2114 * config/s390/s390.c (processor_table): Add arch12.
2115 (s390_expand_builtin): Add check for B_VXE flag.
2116 (s390_issue_rate): Add PROCESSOR_ARCH12.
2117 (s390_get_sched_attrmask): Likewise.
2118 (s390_get_unit_mask): Likewise.
2119 (s390_sched_score): Enable z13 scheduling for arch12.
2120 (s390_sched_reorder): Likewise.
2121 (s390_sched_variable_issue): Likewise.
2122 * config/s390/s390.h (enum processor_flags): Add PF_ARCH12 and
2123 PF_VXE.
2124 (s390_tune_attr): Use z13 scheduling also for arch12.
2125 (TARGET_CPU_ARCH12, TARGET_CPU_ARCH12_P, TARGET_CPU_VXE)
2126 (TARGET_CPU_VXE_P, TARGET_ARCH12, TARGET_ARCH12_P, TARGET_VXE)
2127 (TARGET_VXE_P): New macros.
2128 * config/s390/s390.md: Add arch12 to cpu attribute. Add arch12
2129 and vxe to cpu_facility. Add arch12 and vxe to enabled attribute.
2130 * config/s390/s390.opt: Add arch12 as processor_type.
2131
2132 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2133
2134 * config/s390/s390.md
2135 ("fixuns_truncdddi2", "fixuns_trunctddi2")
2136 ("fixuns_trunc<BFP:mode><GPR:mode>2"): Merge into ...
2137 ("fixuns_trunc<FP:mode><GPR:mode>2"): New expander.
2138
2139 ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2"):
2140 Rename expanders to ...
2141
2142 ("fixuns_trunc<BFP:mode><GPR:mode>2_emu")
2143 ("fixuns_truncdddi2_emu"): ... these.
2144
2145 ("fixuns_trunc<mode>si2_emu"): New expander.
2146
2147 ("*fixuns_truncdfdi2_z13"): Rename to ...
2148 ("*fixuns_truncdfdi2_vx"): ... this.
2149
2150 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2151
2152 * config/s390/2964.md: Remove the single element vector compare
2153 instructions which are no longer used.
2154 * config/s390/s390.c (s390_select_ccmode): Remove handling of
2155 vector CCmodes.
2156 (s390_canonicalize_comparison): Remove handling of DFmode
2157 compares.
2158 (s390_expand_vec_compare_scalar): Remove function.
2159 (s390_emit_compare): Don't call s390_expand_vec_compare_scalar.
2160 * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly"): Remove
2161 pattern.
2162 ("*cmp<mode>_ccs"): Add wfcdb instruction.
2163
2164 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2165
2166 * config/s390/s390.md ("mov<mode>_64dfp" DD_DF): Use vleig for loading a
2167 FP zero.
2168 ("*mov<mode>_64" DD_DF): Remove the vector instructions. These
2169 will anyway by matched by mov<mode>_64dfp.
2170
2171 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2172
2173 * config/s390/s390.md ("mov<mode>" SD_SF): Change vleg/vsteg to
2174 vlef/vstef. Add missing operand to vleif.
2175
2176 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2177
2178 * config/s390/s390.c (s390_expand_vec_init): Enable vector load
2179 pair for all vector types with 64 bit elements.
2180 * config/s390/vx-builtins.md (V_HW_64): Move mode iterator to ...
2181 * config/s390/vector.md (V_HW_64): ... here.
2182 (V_128_NOSINGLE): New mode iterator.
2183 ("vec_init<V_HW:mode>"): Use V_128 as mode iterator.
2184 ("*vec_splat<mode>"): Use V_128_NOSINGLE mode iterator.
2185 ("*vec_tf_to_v1tf", "*vec_ti_to_v1ti"): New pattern definitions.
2186 ("*vec_load_pairv2di"): Change to ...
2187 ("*vec_load_pair<mode>"): ... this one.
2188
2189 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2190
2191 * config/s390/constraints.md: Add comments.
2192 (jKK): Reject element sizes > 8 bytes.
2193 * config/s390/s390.c (s390_split_ok_p): Enable splitting also for
2194 s_operands.
2195 * config/s390/s390.md: Add the s_operand checks formerly in
2196 s390_split_ok_p to various splitters where they are still
2197 required.
2198 * config/s390/vector.md ("mov<mode>" V_128): Add GPR alternatives
2199 for 128 bit vectors. Plus two splitters.
2200
2201 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2202
2203 * config/s390/s390.md: Rename the cpu facilty vec to vx throughout
2204 the file.
2205
2206 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2207
2208 PR target/79893
2209 * config/s390/s390-c.c (s390_adjust_builtin_arglist): Issue an
2210 error if the boundary argument is not constant.
2211
2212 2017-03-24 Jakub Jelinek <jakub@redhat.com>
2213
2214 PR rtl-optimization/80112
2215 * loop-doloop.c (doloop_condition_get): Don't check condition
2216 if cmp isn't SET with IF_THEN_ELSE src.
2217
2218 2017-03-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2219
2220 PR tree-optimization/80158
2221 * gimple-ssa-strength-reduction.c (replace_mult_candidate): When
2222 replacing a candidate statement, also replace it for the
2223 candidate's alternate interpretation.
2224 (replace_rhs_if_not_dup): Likewise.
2225 (replace_one_candidate): Likewise.
2226
2227 2017-03-24 Richard Biener <rguenther@suse.de>
2228
2229 PR tree-optimization/80167
2230 * graphite-isl-ast-to-gimple.c
2231 (translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs
2232 properly.
2233 (translate_isl_ast_to_gimple::get_rename): Likewise.
2234
2235 2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
2236
2237 * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
2238 handling of certain combinations of target options, including the
2239 combinations -mpower8-vector vs. -mno-vsx, -mpower9-vector vs.
2240 -mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector.
2241
2242 2017-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2243
2244 PR target/71436
2245 * config/arm/arm.md (*load_multiple): Add reload_completed to
2246 matching condition.
2247
2248 2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2249 Richard Biener <rguenth@suse.de>
2250
2251 PR tree-optimization/79908
2252 PR tree-optimization/80136
2253 * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
2254 been cast away, gimplify_and_add suffices.
2255
2256 2017-03-23 Markus Trippelsdorf <markus@trippelsdorf.de>
2257
2258 * tree-vrp.c (identify_jump_threads): Delete avail_exprs.
2259
2260 2017-03-23 Richard Biener <rguenther@suse.de>
2261
2262 PR tree-optimization/80032
2263 * gimplify.c (gimple_push_cleanup): Forced unconditional
2264 cleanups still have to go to the conditional_cleanups
2265 sequence.
2266
2267 2017-03-22 Jakub Jelinek <jakub@redhat.com>
2268
2269 PR tree-optimization/80072
2270 * tree-ssa-reassoc.c (struct operand_entry): Change id field type
2271 to unsigned int.
2272 (next_operand_entry_id): Change type to unsigned int.
2273 (sort_by_operand_rank): Make sure to return the right return value
2274 even if unsigned fields are bigger than INT_MAX.
2275 (struct oecount): Change cnt and id type to unsigned int.
2276 (oecount_hasher::equal): Formatting fix.
2277 (oecount_cmp): Make sure to return the right return value
2278 even if unsigned fields are bigger than INT_MAX.
2279 (undistribute_ops_list): Change next_oecount_id type to unsigned int.
2280
2281 PR c++/80129
2282 * gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
2283 TREE_READONLY on result if writing it more than once.
2284
2285 PR sanitizer/80110
2286 * doc/invoke.texi (-fsanitize=thread): Document that with
2287 -fnon-call-exceptions atomics are not able to throw
2288 exceptions.
2289
2290 PR sanitizer/80110
2291 * tsan.c: Include tree-eh.h.
2292 (instrument_builtin_call): Call maybe_clean_eh_stmt or
2293 maybe_clean_or_replace_eh_stmt where needed.
2294 (instrument_memory_accesses): Add cfg_changed argument.
2295 Call gimple_purge_dead_eh_edges on each block and set *cfg_changed
2296 if it returned true.
2297 (tsan_pass): Adjust caller. Return TODO_cleanup_cfg if cfg_changed.
2298
2299 PR rtl-optimization/63191
2300 * config/i386/i386.c (ix86_delegitimize_address): Turn into small
2301 wrapper function, moved the whole old content into ...
2302 (ix86_delegitimize_address_1): ... this. New inline function.
2303 (ix86_find_base_term): Use ix86_delegitimize_address_1 with
2304 true as last argument instead of ix86_delegitimize_address.
2305
2306 2017-03-22 Wilco Dijkstra <wdijkstr@arm.com>
2307
2308 * config/aarch64/aarch64.c (generic_branch_cost): Copy
2309 cortexa57_branch_cost.
2310
2311 2017-03-22 Wilco Dijkstra <wdijkstr@arm.com>
2312
2313 * config/aarch64/aarch64.c (generic_tunings): Add AES fusion.
2314
2315 2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
2316
2317 PR target/80123
2318 * doc/md.texi (Constraints): Document wA constraint.
2319 * config/rs6000/constraints.md (wA): New.
2320 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
2321 (rs6000_init_hard_regno_mode_ok): Init wA constraint.
2322 * config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
2323 * config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.
2324
2325 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2326
2327 PR c++/80029
2328 * gimplify.c (is_oacc_declared): New function.
2329 (oacc_default_clause): Use it to set default flags for acc declared
2330 variables inside parallel regions.
2331 (gimplify_scan_omp_clauses): Strip firstprivate pointers for acc
2332 declared variables.
2333 (gimplify_oacc_declare): Gimplify the declare clauses. Add the
2334 declare attribute to any decl as necessary.
2335
2336 2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
2337
2338 PR target/80082
2339 * config/arm/arm-isa.h (isa_bit_lpae): New feature bit.
2340 (ISA_ARMv7ve): Add isa_bit_lpae to the definition.
2341 * config/arm/arm-protos.h (arm_arch7ve): Rename into ...
2342 (arm_arch_lpae): This.
2343 * config/arm/arm.c (arm_arch7ve): Rename into ...
2344 (arm_arch_lpae): This. Define it in term of isa_bit_lpae.
2345 * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
2346 arm_arch_lpae.
2347
2348 2017-03-22 Martin Liska <mliska@suse.cz>
2349
2350 PR target/79906
2351 * config/rs6000/rs6000.c (rs6000_inner_target_options): Show
2352 error message instead of an ICE.
2353
2354 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2355
2356 * doc/extend.texi (6.11 Additional Floating Types): Revise.
2357
2358 2017-03-21 Kelvin Nilsen <kelvin@gcc.gnu.org>
2359
2360 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
2361 comments.
2362 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
2363 comments.
2364
2365 2017-03-21 Martin Sebor <msebor@redhat.com>
2366
2367 * doc/extend.texi: Use "cannot" instead of "can't."
2368 * doc/hostconfig.texi: Same.
2369 * doc/install.texi: Same.
2370 * doc/invoke.texi: Same.
2371 * doc/loop.texi: Same.
2372 * doc/md.texi: Same.
2373 * doc/objc.texi: Same.
2374 * doc/rtl.texi: Same.
2375 * doc/tm.texi: Same.
2376 * doc/tm.texi.in: Same.
2377 * doc/trouble.texi: Same.
2378
2379 2017-03-21 Alexandre Oliva <aoliva@redhat.com>
2380
2381 PR debug/63238
2382 * dwarf2out.c (struct checksum_attributes): Add at_alignment.
2383 (collect_checksum_attributes): Set it.
2384 (die_checksum_ordered): Use it.
2385
2386 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2387
2388 PR tree-optimization/79908
2389 * tree-stdarg.c (expand_ifn_va_arg_1): Revert the following
2390 change: For a VA_ARG whose LHS has been cast away, use
2391 force_gimple_operand to construct the side effects.
2392
2393 2017-03-21 David Malcolm <dmalcolm@redhat.com>
2394
2395 PR translation/80001
2396 * omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics
2397 more amenable to translation.
2398 (oacc_loop_auto_partitions): Likewise.
2399
2400 2017-03-21 Marek Polacek <polacek@redhat.com>
2401 Martin Sebor <msebor@redhat.com>
2402
2403 PR tree-optimization/80109
2404 * gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info
2405 on INTEGRAL_TYPE_P.
2406
2407 2017-03-21 Jakub Jelinek <jakub@redhat.com>
2408 Segher Boessenkool <segher@kernel.crashing.org>
2409
2410 PR target/80125
2411 * combine.c (can_combine_p): Revert the 2017-03-20 change, only
2412 check reg_used_between_p between insn and one of succ or succ2
2413 depending on if succ is artificial insn not inserted into insn
2414 stream.
2415
2416 2017-03-21 Martin Liska <mliska@suse.cz>
2417
2418 PR gcov-profile/80081
2419 * Makefile.in: Add gcov-dump and fix installation of gcov-tool.
2420 * doc/gcc.texi: Include gcov-dump stuff.
2421 * doc/gcov-dump.texi: New file.
2422
2423 2017-03-21 Toma Tabacu <toma.tabacu@imgtec.com>
2424
2425 PR rtl-optimization/79150
2426 * config/mips/mips.c (mips_block_move_loop): Emit a NOP after the
2427 conditional jump, if the jump is the last insn of the loop.
2428
2429 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2430 Richard Biener <rguenth@suse.de>
2431
2432 PR tree-optimization/79908
2433 * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
2434 been cast away, use force_gimple_operand to construct the side
2435 effects.
2436
2437 2017-03-21 Martin Liska <mliska@suse.cz>
2438
2439 PR libfortran/79956
2440 * simplify-rtx.c (simplify_immed_subreg): Initialize a variable
2441 to NULL.
2442
2443 2017-03-21 Brad Spengler <spender@grsecurity.net>
2444
2445 PR plugins/80094
2446 * plugin.c (htab_hash_plugin): New function.
2447 (add_new_plugin): Use it and adjust.
2448 (parse_plugin_arg_opt): Adjust.
2449 (init_one_plugin): Likewise.
2450
2451 2017-03-21 Richard Biener <rguenther@suse.de>
2452
2453 PR tree-optimization/80032
2454 * gimplify.c (gimple_push_cleanup): Add force_uncond parameter,
2455 if set force the cleanup to happen unconditionally.
2456 (gimplify_target_expr): Push inserted clobbers with force_uncond
2457 to avoid them being removed by control-dependent DCE.
2458
2459 2017-03-21 Richard Biener <rguenther@suse.de>
2460
2461 PR tree-optimization/80122
2462 * tree-inline.c (copy_bb): Do not expans va-arg packs or
2463 va_arg_pack_len when the inlined call stmt requires pack
2464 expansion itself.
2465 * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
2466
2467 2017-03-21 Jakub Jelinek <jakub@redhat.com>
2468
2469 PR sanitizer/78158
2470 * tsan.c (instrument_builtin_call): If the memory model argument
2471 is not a constant, assume it is valid.
2472
2473 PR c/67338
2474 * fold-const.c (round_up_loc): Negate divisor in unsigned type to
2475 avoid UB.
2476
2477 2017-03-20 Segher Boessenkool <segher@kernel.crashing.org>
2478
2479 PR rtl-optimization/79910
2480 * combine.c (can_combine_p): Do not allow combining an I0 or I1
2481 if its dest is used by an insn before I2 (other than the combined
2482 insns themselves, which are properly handled already).
2483
2484 2017-03-20 Segher Boessenkool <segher@kernel.crashing.org>
2485
2486 Revert:
2487 2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
2488
2489 * combine.c (record_used_regs): New static function.
2490 (try_combine): Handle situations where there is an additional
2491 instruction between I2 and I3 which needs to have a LOG_LINK
2492 updated.
2493
2494 Revert:
2495 2017-03-17 Jim Wilson <jim.wilson@linaro.org>
2496
2497 * combine.c (try_combine): Delete redundant i1 test. Call
2498 prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
2499
2500 2017-03-20 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
2501
2502 PR target/80083
2503 * config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for
2504 alternatives 13/14.
2505
2506 2017-03-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2507
2508 PR tree-optimization/80054
2509 * gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail
2510 the optimization if a PHI or any of its arguments is not dominated
2511 by the candidate's basis. Use gphi* rather than gimple* as
2512 appropriate.
2513 (replace_profitable_candidates): Clean up a gimple* variable that
2514 should be a gphi* variable.
2515
2516 2017-03-20 Martin Sebor <msebor@redhat.com>
2517
2518 PR c++/52477
2519 * doc/extend.texi (attribute constructor): Document present limitation.
2520
2521 2017-03-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
2522
2523 PR target/79963
2524 * config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and
2525 __POWER9_VECTOR__ #ifdef control, change template definition to
2526 use Power9-specific built-in function.
2527 (vec_any_eq): Likewise.
2528 * config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used
2529 to control outcomes from this test.
2530 (vector_ae_<mode>p): For VEC_F modes, likewise.
2531
2532 2017-03-20 Ian Lance Taylor <iant@google.com>
2533
2534 * config/i386/i386.c (ix86_function_regparm): Save an extra
2535 register for -fsplit-stack with DECL_STATIC_CHAIN.
2536
2537 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com>
2538
2539 PR target/79912
2540 * config/riscv/riscv.c (riscv_preferred_reload_class): Remove.
2541 (TARGET_PREFERRED_RELOAD_CLASS): Likewise.
2542
2543 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com>
2544
2545 * config/riscv/riscv.c (riscv_print_operand): Use "fence
2546 iorw,ow".
2547 * config/riscv/sync.mc (mem_thread_fence_1): Use "fence
2548 iorw,iorw".
2549
2550 2017-03-20 Marek Polacek <polacek@redhat.com>
2551
2552 PR sanitizer/80063
2553 * asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0).
2554
2555 2017-03-20 Richard Biener <rguenther@suse.de>
2556
2557 PR tree-optimization/80113
2558 * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
2559 allocate extra SSA name for PHI def.
2560 (add_close_phis_to_outer_loops): Likewise.
2561 (add_close_phis_to_merge_points): Likewise.
2562 (copy_loop_close_phi_args): Likewise.
2563 (copy_cond_phi_nodes): Likewise.
2564
2565 2017-03-20 Martin Liska <mliska@suse.cz>
2566
2567 PR middle-end/79753
2568 * tree-chkp.c (chkp_build_returned_bound): Do not build
2569 returned bounds for a LHS that's not a BOUNDED_P type.
2570
2571 2017-03-20 Martin Liska <mliska@suse.cz>
2572
2573 PR target/79769
2574 PR target/79770
2575 * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
2576 COMPLEX_CST and VECTOR_CST.
2577
2578 2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2579
2580 PR target/78857
2581 * config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the
2582 target operand. A new splitter adds the clobber statement in case
2583 the target operand is dead anyway.
2584
2585 2017-03-19 Gerald Pfeifer <gerald@pfeifer.com>
2586
2587 * doc/install.texi (Specific) <sparc-*-linux*>: No longer refer
2588 to age-old versions of binutils and glibc.
2589
2590 2017-03-18 Segher Boessenkool <segher@kernel.crashing.org>
2591
2592 * doc/contrib.texi (Contributors): Remove duplicate entry for myself.
2593
2594 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
2595
2596 * doc/contrib.texi (Contributors): Add Segher Boessenkool.
2597
2598 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
2599
2600 * doc/install.texi (Specific) <arm-*-eabi>: Remove old
2601 requirement for binutils 2.13.
2602
2603 2017-03-17 Jim Wilson <jim.wilson@linaro.org>
2604
2605 * combine.c (try_combine): Delete redundant i1 test. Call
2606 prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
2607
2608 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com
2609
2610 * doc/install.texi (Specific) <riscv32-*-elf>: Add riscv32-*-elf,
2611 riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of
2612 contents.
2613 <riscv64-*-elf>: Re-arrange section
2614 <riscv32-*-elf>: Add a note about requiring binutils 2.28.
2615 <riscv32-*-linux>: Likewise.
2616 <riscv64-*-elf>: Likewise
2617 <riscv64-*-linux>: Likewise.
2618
2619 2017-03-17 Richard Earnshaw <rearnsha@arm.com>
2620
2621 PR target/80052
2622 * aarch64.opt(verbose-cost-dump): Fix typo.
2623
2624 2017-03-17 Pat Haugen <pthaugen@us.ibm.com>
2625
2626 PR target/79951
2627 * config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
2628 for VECTOR_UNIT_VSX_P (<MODE>mode) too.
2629
2630 2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
2631
2632 * reload.c (find_reloads): When reloading a nonoffsettable address,
2633 use RELOAD_OTHER for it and its address reloads.
2634
2635 PR rtl-optimization/79910
2636 * combine.c (record_used_regs): New static function.
2637 (try_combine): Handle situations where there is an additional
2638 instruction between I2 and I3 which needs to have a LOG_LINK
2639 updated.
2640
2641 2017-03-17 Jeff Law <law@redhat.com>
2642
2643 PR tree-optimization/71437
2644 * tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the
2645 conditional in the hash table first.
2646 (vrp_dom_walker::before_dom_children): Extract condition from
2647 ASSERT_EXPR. Record condition, its inverion and any implied
2648 conditions as well.
2649
2650 2017-03-17 Marek Polacek <polacek@redhat.com>
2651 Markus Trippelsdorf <markus@trippelsdorf.de>
2652
2653 PR tree-optimization/80079
2654 * gimple-ssa-store-merging.c (class pass_store_merging): Initialize
2655 m_stores_head.
2656
2657 2017-03-17 Richard Biener <rguenther@suse.de>
2658
2659 PR middle-end/80075
2660 * tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns.
2661 Properly verify the LHS before the RHS possibly claims to be
2662 handled.
2663 (stmt_could_throw_p): Hande gimple conds fully here. Clobbers
2664 do not throw.
2665
2666 2017-03-17 Martin Jambor <mjambor@suse.cz>
2667
2668 * doc/invoke.texi (Option Options): Include -fipa-vrp in the list.
2669 (List of -O2 options): Likewise.
2670 (-fipa-bit-cp): Replace "ipa" with "interprocedural."
2671 (-fipa-vrp) New.
2672
2673 2017-03-17 Tom de Vries <tom@codesourcery.com>
2674
2675 * gcov-dump.c (print_usage): Print bug_report_url.
2676
2677 2017-03-17 Richard Biener <rguenther@suse.de>
2678
2679 PR middle-end/80050
2680 * genmatch.c (parser::next): Remove pointless check for CPP_EOF.
2681 (parser::peek): Likewise.
2682
2683 2017-03-17 Richard Biener <rguenther@suse.de>
2684
2685 PR tree-optimization/80048
2686 * sese.c (free_sese_info): Properly release rename_map and
2687 copied_bb_map elements.
2688
2689 2017-03-16 Alexandre Oliva <aoliva@redhat.com>
2690
2691 * gimple-ssa-store-merging.c (struct imm_store_chain_info):
2692 Add linked-list forward and backlinks. Insert on
2693 construction, remove on destruction.
2694 (class pass_store_merging): Add m_stores_head field.
2695 (pass_store_merging::terminate_and_process_all_chains):
2696 Iterate over m_stores_head list.
2697 (pass_store_merging::terminate_all_aliasing_chains):
2698 Likewise.
2699 (pass_store_merging::execute): Check for debug stmts first.
2700 Push new chains onto the m_stores_head stack.
2701
2702 2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com>
2703
2704 PR target/71294
2705 * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
2706 SPLAT operation on ISA 2.07 64-bit systems that have direct move,
2707 but no MTVSRDD support, by doing MTVSRD and XXPERMDI.
2708
2709 2017-03-16 Jeff Law <law@redhat.com>
2710
2711 PR tree-optimization/71437
2712 * tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
2713 member function. Implementation moved into after_dom_children
2714 member function and into the threader's thread_outgoing_edges
2715 function.
2716 (dom_opt_dom_walker::after_dom_children): Simplify by moving
2717 some code into new thread_outgoing_edges.
2718 * tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
2719 definition. Simplify marker handling (do it here). Assume we always
2720 have the available expression and the const/copies tables.
2721 (thread_outgoing_edges): New function extracted from tree-ssa-dom.c
2722 and tree-vrp.c
2723 * tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
2724 * tree-vrp.c (equiv_stack): No longer file scoped.
2725 (vrp_dom_walker): New class.
2726 (vrp_dom_walker::before_dom_children): New member function.
2727 (vrp_dom_walker::after_dom_children): Likewise.
2728 (identify_jump_threads): Setup domwalker. Use it rather than
2729 walking edges in a random order by hand. Simplify setup/finalization.
2730 (finalize_jump_threads): Remove.
2731 (vrp_finalize): Do not call identify_jump_threads here.
2732 (execute_vrp): Do it here instead and call thread_through_all_blocks
2733 here too.
2734
2735 PR tree-optimization/71437
2736 * tree-ssa-dom.c (pfn_simplify): Add basic_block argument. All
2737 callers changed.
2738 (simplify_stmt_for_jump_threading): Add basic_block argument. All
2739 callers changed.
2740 (lhs_of_dominating_assert): Moved from here into tree-vrp.c.
2741 (dom_opt_dom_walker::thread_across_edge): Remove
2742 handle_dominating_asserts argument. All callers changed.
2743 (record_temporary_equivalences_from_stmts_at_dest): Corresponding
2744 changes. Remove calls to lhs_of_dominating_assert. Other
2745 uses of handle_dominating_asserts turn into unconditional code
2746 (simplify_control_stmt_condition_1): Likewise.
2747 (simplify_control_stmt_condition): Likewise.
2748 (thread_through_normal_block, thread_across_edge): Likewise.
2749 * tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
2750 * tree-vrp.c (lhs_of_dominating_assert): Move here. Return original
2751 object if it is not an SSA_NAME.
2752 (simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
2753 before calling into the VRP specific simplifiers.
2754 (identify_jump_threads): Remove handle_dominating_asserts
2755 argument.
2756
2757 2017-03-16 Jakub Jelinek <jakub@redhat.com>
2758
2759 PR fortran/79886
2760 * tree-diagnostic.c (default_tree_printer): No longer static.
2761 * tree-diagnostic.h (default_tree_printer): New prototype.
2762
2763 2017-03-16 Tamar Christina <tamar.christina@arm.com>
2764
2765 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
2766 Change ins into fmov.
2767
2768 2017-03-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2769
2770 * config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
2771 * config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
2772 Use h_con constraint for operand 1.
2773 (*aarch64_fnma4_elt_from_dup<mode>): Likewise.
2774 (*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.
2775
2776 2017-03-15 Jeff Law <law@redhat.com>
2777
2778 PR tree-optimization/71437
2779 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
2780 (record_temporary_equivalences): Use it.
2781
2782 PR tree-optimization/71437
2783 * tree-ssa-dom.c (struct cond_equivalence): Moved from here into
2784 tree-ssa-scopedtables.
2785 (lookup_avail_expr, build_and_record_new_cond): Likewise.
2786 (record_conditions, record_cond, vuse_eq): Likewise.
2787 (record_edge_info): Adjust to API tweak of record_conditions.
2788 (simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
2789 (record_temporary_equivalences, optimize_stmt): Likewise.
2790 (eliminate_redundant_computations): Likewise.
2791 (record_equivalences_from_stmt): Likewise.
2792 * tree-ssa-scopedtables.c: Include options.h and params.h.
2793 (vuse_eq): New function, moved from tree-ssa-dom.c
2794 (build_and_record_new_cond): Likewise.
2795 (record_conditions): Likewise. Accept vector of conditions rather
2796 than edge_equivalence structure for first argument.
2797 for the first argument.
2798 (avail_exprs_stack::lookup_avail_expr): New member function, moved
2799 from tree-ssa-dom.c.
2800 (avail_exprs_stack::record_cond): Likewise.
2801 * tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
2802 from tree-ssa-dom.c.
2803 (avail_exprs_stack): Add new member functions lookup_avail_expr
2804 and record_cond.
2805 (record_conditions): Declare.
2806
2807 2017-03-15 Vladimir Makarov <vmakarov@redhat.com>
2808
2809 PR target/80017
2810 * lra-constraints.c (process_alt_operands): Increase reject for
2811 reloading an input/output operand.
2812
2813 2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com>
2814
2815 PR target/79038
2816 * config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
2817 insns to convert from signed/unsigned char/short to IEEE 128-bit
2818 floating point.
2819 (floatuns<QHI:mode><IEEE128:mode>2): Likewise.
2820
2821 2017-03-15 Uros Bizjak <ubizjak@gmail.com>
2822
2823 PR target/80019
2824 * config/i386/i386.c (ix86_vector_duplicate_value): Create
2825 subreg of inner mode for values already in registers.
2826
2827 2017-03-15 Bernd Schmidt <bschmidt@redhat.com>
2828
2829 * config/c6x/c6x.c (hwloop_optimize): Handle case where the old
2830 iteration reg is used after the loop.
2831
2832 2017-03-14 Martin Sebor <msebor@redhat.com>
2833
2834 PR tree-optimization/79800
2835 * gimple-ssa-sprintf.c (format_floating: Add argument. Handle
2836 precision in negative-positive range.
2837 (format_floating): Call non-const overload with adjusted precision.
2838
2839 2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
2840
2841 PR target/79947
2842 * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
2843 -mpowerpc-gfxopt.
2844
2845 2017-03-14 Martin Sebor <msebor@redhat.com>
2846
2847 PR middle-end/80020
2848 * builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
2849 * builtins.def (aligned_alloc): Use it.
2850
2851 PR c/79936
2852 * Makefile.in (GTFILES): Add calls.c.
2853 * calls.c: Include "gt-calls.h".
2854
2855 2017-03-14 Bernd Schmidt <bschmidt@redhat.com>
2856
2857 PR rtl-optimization/79728
2858 * regs.h (struct target_regs): New field
2859 x_contains_allocatable_regs_of_mode.
2860 (contains_allocatable_regs_of_mode): New macro.
2861 * reginfo.c (init_reg_sets_1): Initialize it, and change
2862 contains_reg_of_mode so it includes global regs as well.
2863 * reload.c (push_reload): Use contains_allocatable_regs_of_mode
2864 rather than contains_regs_of_mode.
2865
2866 2017-03-14 Martin Liska <mliska@suse.cz>
2867
2868 * doc/invoke.texi: Document options that can't be combined with
2869 -fcheck-pointer-bounds.
2870
2871 2017-03-14 Martin Liska <mliska@suse.cz>
2872
2873 PR middle-end/79831
2874 * doc/invoke.texi (-Wchkp): Document the option.
2875
2876 2017-03-14 Martin Liska <mliska@suse.cz>
2877
2878 * Makefile.in: Install gcov-dump.
2879
2880 2017-03-14 Martin Liska <mliska@suse.cz>
2881
2882 * multiple_target.c (expand_target_clones): Bail out for
2883 an invalid attribute.
2884
2885 2017-03-14 Richard Biener <rguenther@suse.de>
2886
2887 * alias.c (struct alias_set_entry): Pack properly.
2888 * cfgloop.h (struct loop): Likewise.
2889 * cse.c (struct set): Likewise.
2890 * ipa-utils.c (struct searchc_env): Likewise.
2891 * loop-invariant.c (struct invariant): Likewise.
2892 * lra-remat.c (struct cand): Likewise.
2893 * recog.c (struct change_t): Likewise.
2894 * rtl.h (struct address_info): Likewise.
2895 * symbol-summary.h (function_summary): Likewise.
2896 * tree-loop-distribution.c (struct partition): Likewise.
2897 * tree-object-size.c (struct object_size_info): Likewise.
2898 * tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
2899 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
2900 * tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
2901 * tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
2902 * tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
2903 * tree-vectorizer.h (struct _loop_vec_info): Likewise.
2904 (struct _stmt_vec_info): Likewise.
2905
2906 2017-03-14 Martin Liska <mliska@suse.cz>
2907
2908 PR target/79892
2909 * multiple_target.c (create_dispatcher_calls): Check that
2910 a target can create a function dispatcher.
2911
2912 2017-03-14 Martin Liska <mliska@suse.cz>
2913
2914 PR lto/66295
2915 * multiple_target.c (expand_target_clones): Drop local.local
2916 flag for default implementation.
2917
2918 2017-03-14 Richard Biener <rguenther@suse.de>
2919
2920 PR tree-optimization/80030
2921 * tree-vect-stmts.c (vectorizable_store): Plug memleak.
2922
2923 2017-03-13 Kito Cheng <kito.cheng@gmail.com>
2924
2925 * config/riscv/riscv.c (riscv_emit_float_compare>: Use
2926 gcc_fallthrough() instead of __attribute__((fallthrough));
2927
2928 2017-03-13 Gerald Pfeifer <gerald@pfeifer.com>
2929
2930 * doc/gcc.texi: Remove "up" link to (DIR).
2931 * doc/gccint.texi: Ditto.
2932
2933 2017-03-13 Gerald Pfeifer <gerald@pfeifer.com>
2934
2935 * doc/install.texi (Specific) <avr>: Remove reference to
2936 binutils 2.13.
2937
2938 2017-03-13 Jeff Law <law@redhat.com>
2939
2940 * config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
2941 attribute rather than comments.
2942
2943 * config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to
2944 match_scratch operand is highest.
2945
2946 2017-03-13 Martin Liska <mliska@suse.cz>
2947
2948 PR middle-end/78339
2949 * ipa-pure-const.c (warn_function_noreturn): If the declarations
2950 is a CHKP clone, use original declaration.
2951
2952 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
2953
2954 * config/arc/arc.c (arc_init): Use multiplier whenever we have it.
2955 (arc_conditional_register_usage): Use a different allocation order
2956 when optimizing for size.
2957 * common/config/arc/arc-common.c (arc_option_optimization_table):
2958 Section anchors default on when optimizing for size.
2959
2960 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
2961
2962 * config/arc/arc.md (*tst_bitfield_tst): Fix pattern.
2963
2964 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
2965
2966 * config/arc/arc.c (arc_output_addsi): Emit code density adds.
2967 * config/arc/arc.md (cpu_facility): Add cd variant.
2968 (*movqi_insn): Add code density variant.
2969 (*movhi_insn): Likewise.
2970 (*movqi_insn): Likewise.
2971 (*addsi3_mixed): Likewise.
2972 (subsi3_insn): Likewise.
2973
2974 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
2975
2976 * config/arc/arc.md (movsi_cond_exec): Update constraint.
2977
2978 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
2979
2980 * config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
2981 expressions with MINUS and UNARY ops.
2982
2983 2017-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2984
2985 PR target/79911
2986 * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3):
2987 Rename to...
2988 (vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch
2989 between vec_select and vector argument.
2990 (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to...
2991 (vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise.
2992 (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to...
2993 (vec_sel_widen_usum_lo<mode><V_half>3): ... This.
2994 (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to...
2995 (vec_sel_widen_usum_hi<mode><V_half>3): ... This.
2996
2997 2017-03-13 Richard Biener <rguenther@suse.de>
2998
2999 PR other/79991
3000 * params.def (vect-max-peeling-for-alignment): Fix typo.
3001
3002 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
3003
3004 * doc/install.texi (Specific) <mips-*-*>: Remove description of
3005 issue that only occurred with binutils below 2.18.
3006
3007 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
3008
3009 * doc/install.texi (Specific) <cris-axis-elf>: No longer
3010 refer to binutils 2.11/2.12 minimum.
3011
3012 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
3013
3014 * doc/install.texi (Specific) <powerpc-*-*>: Remove link to
3015 ftp.kernel.org and simplify binutils requirement.
3016
3017 2017-03-11 Gerald Pfeifer <gerald@pfeifer.com>
3018
3019 * doc/invoke.texi (Warning Options): Fix spelling of link-time
3020 optimization.
3021 (Optimize Options): Ditto. Also remove redundancy.
3022
3023 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3024
3025 PR translation/79848
3026 * ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to
3027 "%qs".
3028 * ipa-pure-const.c (suggest_attribute): Likewise. Convert _
3029 to G_ to avoid double translation.
3030
3031 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3032
3033 PR translation/79923
3034 * auto-profile.c (get_combined_location): Convert leading
3035 character of diagnostics to lower case and remove trailing period.
3036 (read_profile): Likewise for various diagnostics.
3037 * config/arm/arm.c (arm_option_override): Remove trailing period
3038 from various diagnostics.
3039 * config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise.
3040 (msp430_expand_delay_cycles): Likewise.
3041
3042 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3043
3044 PR target/79925
3045 * config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the
3046 full command-line argument, rather than just "str".
3047 (aarch64_validate_march): Likewise.
3048 (aarch64_validate_mtune): Likewise.
3049
3050 2017-03-10 Bernd Schmidt <bschmidt@redhat.com>
3051
3052 PR rtl-optimization/78911
3053 * lra-assigns.c (must_not_spill_p): New function.
3054 (spill_for): Use it.
3055
3056 2017-03-10 Jakub Jelinek <jakub@redhat.com>
3057
3058 PR tree-optimization/79981
3059 * tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of
3060 ATOMIC_COMPARE_EXCHANGE ifn result.
3061 (stmt_interesting_for_vrp, vrp_visit_stmt): Handle
3062 IFN_ATOMIC_COMPARE_EXCHANGE.
3063
3064 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3065
3066 PR driver/79875
3067 * opts.c (parse_sanitizer_options): Add missing question mark to
3068 "did you mean" message.
3069
3070 2017-03-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3071
3072 * config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned
3073 built-in.
3074 (VMULEUH_UNS): Likewise.
3075 (VMULOUB_UNS): Likewise.
3076 (VMULOUH_UNS): Likewise.
3077 * config/rs6000/rs6000.c (builtin_function_type): Remove
3078 references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS.
3079
3080 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3081
3082 PR bootstrap/79952
3083 * read-rtl-function.c (function_reader::read_rtx_operand): Update
3084 x with result of extra_parsing_for_operand_code_0.
3085 (function_reader::extra_parsing_for_operand_code_0): Convert
3086 return type from void to rtx, returning x. When reading
3087 SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the
3088 larger size containing struct block_symbol.
3089
3090 2017-03-10 Segher Boessenkool <segher@kernel.crashing.org>
3091
3092 * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
3093 -mfloat128-hardware without -m64.
3094
3095 2017-03-10 Will Schmidt <will_schmidt@vnet.ibm.com>
3096
3097 PR target/79941
3098 * config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB]
3099 entries to the case statement that marks unsigned arguments to
3100 overloaded functions.
3101
3102 2017-03-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
3103
3104 * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
3105 two typographic errors in the handling of TARGET_UPPER_REGS_DI.
3106
3107 2017-03-10 Pat Haugen <pthaugen@us.ibm.com>
3108
3109 PR target/79907
3110 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
3111 TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
3112
3113 2017-03-10 Martin Liska <mliska@suse.cz>
3114
3115 PR target/65705
3116 PR target/69804
3117 * toplev.c (process_options): Enable MPX with LSAN and UBSAN.
3118 * tree-chkp.c (chkp_walk_pointer_assignments): Verify that
3119 FIELD != NULL.
3120
3121 2017-03-10 Olivier Hainque <hainque@adacore.com>
3122
3123 * tree-switch-conversion (array_value_type): Start by resetting
3124 candidate type to it's main variant.
3125
3126 2017-03-10 Jakub Jelinek <jakub@redhat.com>
3127
3128 PR rtl-optimization/79909
3129 * combine.c (try_combine): Use simplify_replace_rtx on individual
3130 CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
3131 of the whole CALL_INSN_FUNCTION_USAGE.
3132
3133 PR tree-optimization/79972
3134 * gimple-ssa-warn-alloca.c (alloca_call_type): Only call
3135 get_range_info on SSA_NAMEs. Formatting fixes.
3136
3137 2017-03-10 Richard Biener <rguenther@suse.de>
3138 Jakub Jelinek <jakub@redhat.com>
3139
3140 PR tree-optimization/77975
3141 * tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
3142 edge to be constant.
3143 (get_val_for): For constant x return it. Formatting fix.
3144 (loop_niter_by_eval): Avoid pointless looping if the next iteration
3145 would use the same bases as the current one.
3146
3147 2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3148
3149 * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
3150 instead of vec_select for V1TImode.
3151 * conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
3152 longer needed.
3153 (VSX_LE_128): Add V1TI to this mode iterator.
3154 (*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
3155 (*vsx_le_perm_store_<mode>): Likewise.
3156 (pre-reload splitter for VSX stores): Likewise.
3157 (post-reload splitter for VSX stores): Likewise.
3158 (*vsx_xxpermdi2_le_<mode>): Likewise.
3159 (*vsx_lxvd2x2_le_<mode>): Likewise.
3160 (*vsx_stxvd2x2_le_<mode>): Likewise.
3161
3162 2017-03-09 Michael Eager <eager@eagercon.com>
3163
3164 Correct failures with --enable-checking=yes,rtl.
3165
3166 * config/microblaze/microblaze.c (microblaze_expand_shift):
3167 Replace GET_CODE test with CONST_INT_P and INTVAL test with
3168 test for const0_rtx.
3169 * config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone,
3170 lshrsi3_byone): Replace INTVAL with test for const1_rtx.
3171
3172 2017-03-09 Richard Biener <rguenther@suse.de>
3173
3174 PR tree-optimization/79977
3175 * graphite-scop-detection.c (scop_detection::merge_sese):
3176 Handle the case of extra exits to blocks dominating the entry.
3177
3178 2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com>
3179
3180 * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
3181 Document rdynamic.
3182
3183 2017-03-09 Vladimir Makarov <vmakarov@redhat.com>
3184
3185 PR rtl-optimization/79949
3186 * lra-constraints.c (process_alt_operands): Check memory when
3187 trying to predict a cycle. Print about the overall increase.
3188
3189 2017-03-09 Richard Biener <rguenther@suse.de>
3190
3191 PR middle-end/79971
3192 * gimple-expr.c (useless_type_conversion_p): Preserve
3193 TYPE_SATURATING for fixed-point types.
3194
3195 2017-03-09 Richard Biener <rguenther@suse.de>
3196
3197 PR ipa/79970
3198 * ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
3199 alignment of BLKmode params.
3200
3201 2017-03-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3202
3203 PR target/79913
3204 * config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator.
3205 (VALL_NO_V2Q): Likewise.
3206 (VDQF_DF): Delete.
3207 * config/aarch64/aarch64-simd.md
3208 (aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q
3209 iterator.
3210 (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use
3211 VALL_NO_V2Q mode iterator.
3212 (*aarch64_vgetfmulx<mode>): Use VDQF iterator.
3213
3214 2017-03-09 Martin Liska <mliska@suse.cz>
3215
3216 PR tree-optimization/79631
3217 * tree-chkp-opt.c (chkp_is_constant_addr): Call
3218 tree_int_cst_sign_bit just for INTEGER constants.
3219
3220 2017-03-09 Martin Liska <mliska@suse.cz>
3221
3222 PR target/65705
3223 PR target/69804
3224 * toplev.c (process_options): Disable -fcheck-pointer-bounds with
3225 sanitizers.
3226
3227 2017-03-09 Marek Polacek <polacek@redhat.com>
3228
3229 PR c++/79672
3230 * tree.c (inchash::add_expr): Handle TREE_VEC.
3231
3232 2017-03-09 Martin Liska <mliska@suse.cz>
3233
3234 PR ipa/79764
3235 (chkp_narrow_size_and_offset): New function.
3236 (chkp_parse_array_and_component_ref): Support BIT_FIELD_REF.
3237 (void chkp_parse_bit_field_ref): New function.
3238 (chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF.
3239 (chkp_process_stmt): Use chkp_parse_bit_field_ref.
3240
3241 2017-03-09 Martin Liska <mliska@suse.cz>
3242
3243 PR ipa/79761
3244 * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
3245 (chkp_find_bounds_1): Remove gcc_unreachable.
3246
3247 2017-03-09 Jakub Jelinek <jakub@redhat.com>
3248
3249 PR sanitizer/79944
3250 * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
3251 BUILT_IN_SYNC*, determine the access type from the size suffix and
3252 always build a MEM_REF with that type. Handle forgotten
3253 BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.
3254
3255 PR target/79932
3256 * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
3257 _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
3258 _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
3259 _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
3260 _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
3261 _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
3262 _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
3263 _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
3264 _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
3265 _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
3266 _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
3267 _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
3268 _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
3269 _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
3270 _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
3271 _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
3272 _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
3273 _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
3274 _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
3275 _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
3276 _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
3277 _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
3278 _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
3279 _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
3280 _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
3281 _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
3282 _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
3283 _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
3284 _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
3285 _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
3286 definitions outside of __OPTIMIZE__ guarded section.
3287
3288 PR target/79932
3289 * config/i386/avx512bwintrin.h (_mm512_packs_epi32,
3290 _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
3291 _mm512_packus_epi32, _mm512_maskz_packus_epi32,
3292 _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
3293 guarded section.
3294
3295 2017-03-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3296
3297 * config/s390/vx-builtins.md ("vfee<mode>", "vfeez<mode>")
3298 ("vfenez<mode>"): Add missing constraints.
3299
3300 2017-03-08 Martin Sebor <msebor@redhat.com>
3301
3302 PR target/79928
3303 * config/nds32/nds32.c (nds32_option_override):
3304 Fix misspelled diagnostic.
3305
3306 2017-03-08 Jakub Jelinek <jakub@redhat.com>
3307
3308 PR c/79940
3309 * gimplify.c (gimplify_omp_for): Replace index var in outer
3310 taskloop statement with an artificial variable and add
3311 OMP_CLAUSE_PRIVATE clause for it.
3312
3313 2017-03-08 Richard Biener <rguenther@suse.de>
3314
3315 PR tree-optimization/79955
3316 * tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
3317 for accesses that are completely outside of the variable.
3318
3319 2017-03-08 Andrew Haley <aph@redhat.com>
3320
3321 PR tree-optimization/79943
3322 * tree-ssa-loop-split.c (compute_new_first_bound): When
3323 calculating the new upper bound, (END-BEG) should be added, not
3324 subtracted.
3325
3326 2017-03-08 Jakub Jelinek <jakub@redhat.com>
3327
3328 * config/avr/avr.md (setmemhi): Make sure match_dup
3329 operand number comes before match_scratch.
3330
3331 2017-03-08 Richard Biener <rguenther@suse.de>
3332
3333 PR tree-optimization/79920
3334 * tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline
3335 with ncopies == 1 to ...
3336 (vect_transform_slp_perm_load): ... here. Properly compute
3337 all element loads by iterating VF times over the group. Do
3338 not handle ncopies (computed in a broken way) in
3339 vect_create_mask_and_perm.
3340
3341 2017-03-08 Jakub Jelinek <jakub@redhat.com>
3342
3343 PR sanitizer/79904
3344 * internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1
3345 is a uniform vector, use uniform_vector_p return value instead of
3346 building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type.
3347
3348 2017-03-07 Marek Polacek <polacek@redhat.com>
3349
3350 PR middle-end/79809
3351 * gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT.
3352 (alloca_call_type): Likewise.
3353
3354 2017-03-07 Martin Liska <mliska@suse.cz>
3355
3356 * gcov.c (process_args): Put comment to correct location.
3357
3358 2017-03-07 Martin Liska <mliska@suse.cz>
3359
3360 PR middle-end/68270
3361 * tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref.
3362 Use array_at_struct_end_p instead of DECL_CHAIN (field).
3363 (chkp_narrow_bounds_for_field): Likewise.
3364 (chkp_parse_array_and_component_ref): Pass one more argument to
3365 call.
3366
3367 2017-03-07 Richard Biener <rguenther@suse.de>
3368
3369 * tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
3370 preheaders.
3371
3372 2017-03-07 Segher Boessenkool <segher@kernel.crashing.org>
3373
3374 * config/i386/i386.c (ix86_local_alignment): Align most aggregates
3375 of 16 bytes and more to 16 bytes, not those of 16 bits and more.
3376
3377 2017-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3378
3379 PR c/79855
3380 * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop
3381 to end of description.
3382 (PARAM_MAX_STORES_TO_MERGE): Likewise.
3383
3384 2017-03-07 Jakub Jelinek <jakub@redhat.com>
3385
3386 PR rtl-optimization/79901
3387 * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
3388 ...
3389 (*avx512f_<code><mode>3<mask_name>): ... this.
3390 (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
3391 iterator instead of VI8_AVX2_AVX512BW.
3392
3393 PR rtl-optimization/79901
3394 * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
3395 min/max expander, expand it using expand_vec_cond_expr.
3396
3397 PR sanitizer/79897
3398 * ubsan.c (ubsan_encode_value): Call mark_addressable on the
3399 temporary.
3400
3401 2017-03-06 Jakub Jelinek <jakub@redhat.com>
3402
3403 PR c++/79821
3404 * dwarf2out.h (dw_vec_const): Change array type from unsigned char *
3405 to void * for PCH reasons.
3406 * dwarf2out.c (output_loc_operands, output_die): Cast
3407 v.val_vec.array to unsigned char *.
3408
3409 2017-03-06 John David Anglin <danglin@gcc.gnu.org>
3410
3411 PR target/77850
3412 * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
3413 vector types.
3414
3415 2017-03-06 Vladimir Makarov <vmakarov@redhat.com>
3416
3417 PR rtl-optimization/79571
3418 * lra-constraints.c (process_alt_operands): Calculate static
3419 reject and subtract it from overall when only addresses will be
3420 reloaded.
3421
3422 2017-03-06 Julia Koval <julia.koval@intel.com>
3423
3424 PR target/79793
3425 * config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set
3426 incoming stack boundary to 128 for 64-bit targets.
3427
3428 2017-03-06 Richard Biener <rguenther@suse.de>
3429
3430 PR tree-optimization/79894
3431 * tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
3432 to NULL after folding it.
3433
3434 2017-03-06 Richard Biener <rguenther@suse.de>
3435
3436 PR tree-optimization/79824
3437 * tree-vect-stmts.c (get_group_load_store_type): Fix alignment
3438 check disabling peeling for gaps.
3439
3440 2017-03-06 Toma Tabacu <toma.tabacu@imgtec.com>
3441
3442 * doc/sourcebuild.texi (Effective-Target Keywords, Environment
3443 attributes): Document gettimeofday.
3444
3445 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
3446
3447 * config/s390/s390.c (s390_option_override_internal): Set
3448 PARAM_MIN_VECT_LOOP_BOUND
3449
3450 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
3451
3452 * config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
3453 * config/s390/s390.md: Likewise.
3454
3455 2017-03-06 Jakub Jelinek <jakub@redhat.com>
3456
3457 PR target/79812
3458 * config/i386/sse.md (VI8F_256_512): Remove mode iterator.
3459 (<avx2_avx512>_perm<mode>): Rename to ...
3460 (avx2_perm<mode>): ... this. Use VI8F_256 iterator instead
3461 of VI8F_256_512.
3462 (<avx512>_perm<mode>_mask): Rename to ...
3463 (avx512vl_perm<mode>_mask): ... this. Use VI8F_256 iterator instead
3464 of VI8F_256_512.
3465 (<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
3466 (avx2_perm<mode>_1<mask_name): ... this. Use VI8F_256 iterator
3467 instead of VI8F_256_512.
3468 (avx512f_perm<mode>): New define_expand.
3469 (avx512f_perm<mode>_mask): Likewise.
3470 (avx512f_perm<mode>_1<mask_name>): New define_insn.
3471 (<avx512>_vec_dup<mode>_1): Fix up vec_select mode.
3472
3473 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
3474
3475 * config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
3476 msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
3477 if_then_else.
3478 (smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.
3479
3480 2017-03-06 Martin Liska <mliska@suse.cz>
3481
3482 PR sanitize/79783
3483 * asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
3484 when having a SSA NAME w/o VAR_DECL assigned to it.
3485
3486 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
3487
3488 * config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
3489 msa_dpsub_<su>_d): Fix MODE for vec_select.
3490
3491 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
3492
3493 * config/mips/mips.c (mips_gen_const_int_vector): Change type of last
3494 argument.
3495 * config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
3496
3497 2017-03-06 Richard Biener <rguenther@suse.de>
3498
3499 * lto-streamer.c (lto_check_version): Use %qs in diagnostics.
3500 * plugin.c (register_plugin_info): Likewise.
3501 * tree-chkp.c (chkp_make_static_const_bounds): Likewise.
3502
3503 2017-03-05 Jakub Jelinek <jakub@redhat.com>
3504
3505 * config/i386/sse.md (sse_storehps, sse_storelps,
3506 avx_<castmode><avxsizesuffix>_<castmode>,
3507 avx512f_<castmode><avxsizesuffix>_<castmode>,
3508 avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
3509 in condition that at least one operand is not a MEM.
3510
3511 2017-03-03 Jakub Jelinek <jakub@redhat.com>
3512
3513 PR middle-end/79805
3514 * internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET,
3515 ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove
3516 ECF_NOTHROW.
3517 * gimple-fold.c (fold_builtin_atomic_compare_exchange): Set
3518 gimple_call_nothrow_p flag based on whether original builtin can throw.
3519 If it can, emit following stmts on the fallthrough edge.
3520 * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except
3521 don't create new bb if inserting just debug stmts on the edge, try to
3522 insert them on the fallthru bb or just reset debug stmts.
3523
3524 2017-03-03 Segher Boesssenkool <segher@kernel.crashing.org>
3525
3526 PR target/43763
3527 * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and
3528 restore recog_data (including the operand rtxes inside it) around
3529 the call to get_insn_template.
3530
3531 2017-03-03 Martin Sebor <msebor@redhat.com>
3532
3533 PR tree-optimization/79699
3534 * context.c (context::~context): Free MPFR caches to avoid
3535 a memory leak on program exit.
3536
3537 2017-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3538
3539 * config/aarch64/aarch64.c (aarch64_float_const_representable_p):
3540 Use wide_int::ulow () instead of .elt (0).
3541
3542 2017-03-03 Uros Bizjak <ubizjak@gmail.com>
3543
3544 * config/i386/i386.md (*pushtf): Change *roF constraint to *roC.
3545 (*pushxf): Limit oF constraint to 32bit targets and add oC
3546 constraint for 64bit targets.
3547 (pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment.
3548 (*pushdf): Change rmF constraint to rmC.
3549
3550 2017-03-03 Martin Liska <mliska@suse.cz>
3551
3552 * tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute):
3553 Remove unused variable.
3554
3555 2017-03-03 Jakub Jelinek <jakub@redhat.com>
3556
3557 PR target/79807
3558 * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
3559 is a memory operand, increase num_memory.
3560 (ix86_expand_args_builtin): Likewise.
3561
3562 2017-03-03 Jan Hubicka <jh@suse.cz>
3563
3564 PR lto/79760
3565 * ipa-devirt.c (maybe_record_node): Properly handle
3566 __cxa_pure_virtual visibility.
3567
3568 2017-03-03 Martin Liska <mliska@suse.cz>
3569
3570 PR tree-optimization/79803
3571 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
3572 assert.
3573 (pass_loop_prefetch::execute): Disabled optimization if an
3574 assumption about L1 cache size is not met.
3575
3576 2017-03-03 Martin Liska <mliska@suse.cz>
3577
3578 PR rtl-optimization/79574
3579 * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
3580 (hash_scan_set): Likewise.
3581 (dump_hash_table): Likewise.
3582 (hoist_code): Likewise.
3583
3584 2017-03-03 Richard Biener <rguenther@suse.de>
3585
3586 * fixed-value.c (fixed_from_string): Restore use of elt (1)
3587 in place of uhigh ().
3588 (fixed_convert_from_real): Likewise.
3589
3590 2017-03-03 Uros Bizjak <ubizjak@gmail.com>
3591
3592 PR target/79514
3593 * config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.
3594
3595 2017-03-03 Richard Biener <rguenther@suse.de>
3596
3597 PR middle-end/79818
3598 * match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing
3599 TYPE_OVERFLOW_UNDEFINED check.
3600
3601 2017-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3602
3603 * config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
3604 numbers.
3605 (vector_ae_<mode>_p): Likewise.
3606 (vector_nez_<mode>_p): Likewise.
3607 (vector_ne_v2di_p): Likewise.
3608 (vector_ae_v2di_p): Likewise.
3609 (vector_ne_<mode>_p): Likewise.
3610 * config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
3611 numbers.
3612 (vsx_tsqrt<mode>2_fe): Likewise.
3613
3614 2017-03-02 Uros Bizjak <ubizjak@gmail.com>
3615
3616 PR target/79514
3617 * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
3618
3619 2017-03-02 Jakub Jelinek <jakub@redhat.com>
3620
3621 PR rtl-optimization/79780
3622 * cprop.c (one_cprop_pass): When second and further conditional trap
3623 in a single basic block is turned into an unconditional trap, turn it
3624 into a deleted note to avoid RTL verification failures.
3625
3626 2017-03-02 Richard Biener <rguenther@suse.de>
3627
3628 * fold-const.c (const_binop): Use ulow () instead of elt (0).
3629
3630 2017-03-02 Richard Biener <rguenther@suse.de>
3631
3632 PR tree-optimization/79345
3633 PR c++/42000
3634 * tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
3635 param and abort the walk, returning -1 if it is hit.
3636 (walk_aliased_vdefs): Take a limit param and pass it on.
3637 * tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
3638 defaulting to 0 and return a signed int.
3639 * tree-ssa-uninit.c (struct check_defs_data): New struct.
3640 (check_defs): New helper.
3641 (warn_uninitialized_vars): Use walk_aliased_vdefs to warn
3642 about uninitialized memory.
3643 * fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
3644 bogus uninitialized warning.
3645 (fixed_convert_from_real): Likewise.
3646
3647 2017-03-02 Bin Cheng <bin.cheng@arm.com>
3648
3649 PR tree-optimization/66768
3650 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
3651 iv_use if base object can't be determined.
3652
3653 2017-03-02 Jakub Jelinek <jakub@redhat.com>
3654
3655 PR tree-optimization/79345
3656 * gensupport.h (struct pattern_stats): Add min_scratch_opno field.
3657 * gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it.
3658 (get_pattern_stats): Initialize it.
3659 * genemit.c (gen_expand): Verify match_scratch numbers come after
3660 match_operand/match_dup numbers.
3661 * config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and
3662 match_scratch numbers.
3663 * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>):
3664 Likewise.
3665 * config/s390/s390.md (trunctdsd2): Likewise.
3666
3667 2017-03-02 Richard Biener <rguenther@suse.de>
3668
3669 * wide-int.h (wide_int_storage::operator=): Implement in terms
3670 of wi::copy.
3671
3672 2017-03-02 Richard Biener <rguenther@suse.de>
3673
3674 PR tree-optimization/79777
3675 * tree-ssa-pre.c (eliminate_insert): Give up if we simplify
3676 the to insert expression to sth existing.
3677
3678 2017-03-01 Martin Sebor <msebor@redhat.com>
3679
3680 PR middle-end/79692
3681 * gimple-ssa-sprintf.c
3682 (directive::known_width_and_precision): New function.
3683 (format_integer): Use it.
3684 (get_mpfr_format_length): Consider the full range of precision
3685 when computing %g output with the # flag. Set the likely byte
3686 count to 3 rather than 1 when precision is indeterminate.
3687 (format_floating): Correct the lower bound of precision.
3688
3689 2017-03-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3690
3691 * doc/invoke.texi: Document default code model for 64-bit Linux.
3692
3693 2017-03-01 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
3694
3695 PR target/79752
3696 * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
3697 udiv rather than div since input pattern is unsigned.
3698
3699 2017-03-01 Uros Bizjak <ubizjak@gmail.com>
3700
3701 * config/i386/i386.c (print_reg): Warn for values of
3702 unsupported size in integer register.
3703
3704 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
3705
3706 PR target/79439
3707 * config/rs6000/predicates.md (current_file_function_operand): Do
3708 not allow self calls to be local if the function is replaceable.
3709
3710 2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
3711
3712 PR target/79395
3713 * config/rs6000/altivec.h (vec_ctz and others): Change the
3714 preprocessor macro that controls conditional compilation from
3715 _ARCH_PWR9 to __POWER9_VECTOR__.
3716 (vec_all_ne): Change parameterization of __altivec_scalar_pred
3717 macro expansion under preprocessor #ifdef __POWER9_VECTOR__
3718 control (instead of _ARCH_PWR9 control) so that template
3719 definition uses power9-specific function.
3720 (vec_any_eq): Likewise.
3721 (vec_all_ne): Change macro definition to use a power9-specific
3722 expansion under #ifdef __POWER9_VECTOR__ control (instead of
3723 _ARCH_PWR9 control).
3724 (vec_any_eq) Likewise.
3725 * config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2
3726 expansion for CMPNEF to remove support for xvcmpnesp instruction.
3727 (CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove
3728 support for xvcmpnedp instruction.
3729 (VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2
3730 macro expansion so that Power9 implementation of vec_all_ne does
3731 not use the AltiVec predicate framework.
3732 (VCMPNEH_P): Likewise.
3733 (VCMPNEW_P): Likewise.
3734 (VCMPNED_P): Likewise.
3735 (VCMPNEFP_P): Likewise.
3736 (VCMPNEDP_P): Likewise.
3737 (VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change
3738 implementation of vec_any_eq to not use AltiVec predicate
3739 framework.
3740 (VCMPAEH_P): Likewise.
3741 (VCMPAEW_P): Likewise.
3742 (VCMPAED_P): Likewise.
3743 (VCMPAEFP_P): Likewise.
3744 (VCMPAEDP_P): Likewise.
3745 (VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with
3746 BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does
3747 not use the AltiVec predicate framework.
3748 (VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation
3749 of vec_any_eq to not use AltiVec predicate framework.
3750 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
3751 support for predefined __POWER9_VECTOR__ macro to indicate that
3752 Power9 instruction selection is enabled.
3753 (altivec_overloaded_builtins): Remove extraneous
3754 ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded
3755 function argument types RS6000_BTI_bool_V16QI and
3756 RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE
3757 entry for overloaded function argument types RS6000_BTI_bool_V4SI
3758 andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove
3759 two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to
3760 P9V_BUILTIN_CMPNEF to force use of instructions not specific to
3761 Power9 for implementations of vec_cmpne. Change the signature for
3762 all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function
3763 (representing vec_all_ne) to remove the previously described first
3764 argument of type RS6000_BTI_INTSI, as this was an artifact of
3765 reliance on the AltiVec predicate framework, which is no longer
3766 used in the implementation of these functions. Add
3767 P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq
3768 function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries
3769 since, unlike the AltiVec predicate framework implementation, we
3770 do not share function descriptors between vec_alle and vec_anyeq.
3771 (altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the
3772 set of modes that receive special treatment even when
3773 TARGET_P9_VECTOR is true. The special treatment emits code that
3774 does not depend on Power9 instructions.
3775 * config/rs6000/vector.md (vector_ne_<mode>_p): Change this
3776 define_expand to not rely on AltiVec predicate framework.
3777 (vector_ae_<mode>p): New define_expand to represent vec_any_eq
3778 function.
3779 (vector_ne_v2di_p): Change this define_expand to not rely on
3780 AltiVec predicate framework.
3781 (vector_ae_v2di_p): New define_expand to represent vec_any_eq
3782 function.
3783 (vector_ne_<mode>_p): Change this define_expand to not rely on
3784 AltiVec predicate framework.
3785 (vector_ae_<mode>p): New define_expand to represent vec_any_eq
3786 function.
3787 * config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I
3788 (V16QI, V8HI, V4SI), correct a typo in the code emitted for this
3789 define_insn pattern.
3790 (*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this
3791 define_insn pattern because the xvcmpne<VSs>. instruction is not
3792 supported.
3793 (vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs>
3794 instruction is not supported.
3795
3796 2017-03-01 Jakub Jelinek <jakub@redhat.com>
3797
3798 * config/nvptx/nvptx.c: Include intl.h.
3799
3800 2017-03-01 Martin Jambor <mjambor@suse.cz>
3801
3802 PR lto/78140
3803 * ipa-prop.h (ipa_bits): Removed field known.
3804 (ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr
3805 to pointers. Adjusted their comments to warn about their sharing.
3806 (ipcp_transformation_summary): Change bits to a vector of pointers.
3807 (ipa_check_create_edge_args): Moved to ipa-prop.c, declare.
3808 (ipa_get_ipa_bits_for_value): Declare.
3809 * tree-vrp.h (value_range): Mark as GTY((for_user)).
3810 * ipa-prop.c (ipa_bit_ggc_hash_traits): New.
3811 (ipa_bits_hash_table): Likewise.
3812 (ipa_vr_ggc_hash_traits): Likewise.
3813 (ipa_vr_hash_table): Likewise.
3814 (ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr
3815 being pointers and vr_known being removed.
3816 (ipa_set_jf_unknown): Likewise.
3817 (ipa_get_ipa_bits_for_value): New function.
3818 (ipa_set_jfunc_bits): Likewise.
3819 (ipa_get_value_range): New overloaded functions.
3820 (ipa_set_jfunc_vr): Likewise.
3821 (ipa_compute_jump_functions_for_edge): Use the above functions to
3822 construct bits and vr parts of jump functions.
3823 (ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate
3824 ipa_bits_hash_table and ipa_vr_hash_table if they do not already
3825 exist.
3826 (ipcp_grow_transformations_if_necessary): Also allocate
3827 ipa_bits_hash_table and ipa_vr_hash_table if they do not already
3828 exist.
3829 (ipa_node_params_t::duplicate): Do not copy bits, just pointers to
3830 them. Fix too long lines.
3831 (ipa_write_jump_function): Adjust for bits and m_vr being pointers and
3832 vr_known being removed.
3833 (ipa_read_jump_function): Use new setter functions to construct bits
3834 and vr parts of jump functions or set them to NULL.
3835 (write_ipcp_transformation_info): Adjust for bits being pointers.
3836 (read_ipcp_transformation_info): Likewise.
3837 (ipcp_update_bits): Likewise. Fix excessively long lines a trailing
3838 space.
3839 Include gt-ipa-prop.h.
3840 * ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits
3841 being pointers.
3842 (ipcp_store_bits_results): Likewise.
3843 (propagate_vr_across_jump_function): Adjust for m_vr being a pointer.
3844 Do not write to existing jump functions but use a temporary instead.
3845
3846 2017-03-01 Jakub Jelinek <jakub@redhat.com>
3847
3848 PR c++/79681
3849 * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
3850 attempt to use its first operand as BIT_FIELD_REF base.
3851
3852 2017-03-01 Richard Biener <rguenther@suse.de>
3853
3854 PR middle-end/79721
3855 * tree-chrec.c (chrec_evaluate): Perform computation of Newtons
3856 interpolating formula in wrapping arithmetic.
3857 (chrec_apply): Convert chrec_evaluate return value to wanted type.
3858
3859 2017-03-01 Jakub Jelinek <jakub@redhat.com>
3860
3861 PR tree-optimization/79734
3862 * tree-vect-generic.c (expand_vector_condition): Optimize
3863 AVX512 vector boolean VEC_COND_EXPRs into bitwise operations.
3864 Handle VEC_COND_EXPR where comparison has different inner width from
3865 type's inner width.
3866
3867 2017-02-28 Sandra Loosemore <sandra@codesourcery.com>
3868
3869 * doc/invoke.texi (ARC Options): Copy-edit to fix punctuation,
3870 markup, and similar issues. Remove @opindex entries for things
3871 that aren't options. Add missing -mmpy-option entries.
3872
3873 2017-02-28 Jakub Jelinek <jakub@redhat.com>
3874
3875 PR tree-optimization/79737
3876 * gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is
3877 a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear
3878 tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1
3879 instead of byte_size. Formatting fix.
3880 (shift_bytes_in_array_right): Formatting fix.
3881
3882 2017-02-28 Eric Botcazou <ebotcazou@adacore.com>
3883
3884 PR target/79749
3885 * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
3886 condition on optimize for the leaf function test.
3887
3888 2017-02-28 Martin Liska <mliska@suse.cz>
3889
3890 PR lto/79625
3891 * read-rtl-function.c (function_reader::handle_unknown_directive):
3892 Bail out when one uses -flto.
3893
3894 2017-02-28 Martin Liska <mliska@suse.cz>
3895
3896 * common.opt: Replace space with tabular for options of <number>
3897 type.
3898 * config/i386/i386.opt: Show <number> value for
3899 -mlarge-data-threshold.
3900 * opts.c (print_filtered_help): Do not display number in hexadecimal
3901 format.
3902
3903 2017-02-28 Martin Liska <mliska@suse.cz>
3904
3905 * common.opt: Fix --help=option -Q for options which are of
3906 an enum type.
3907
3908 2017-02-28 Uros Bizjak <ubizjak@gmail.com>
3909
3910 * config/i386/i386.c (print_reg): Error out for values
3911 of 8-bit size in invalid integer register.
3912
3913 2017-02-28 Martin Sebor <msebor@redhat.com>
3914
3915 PR tree-optimization/79691
3916 * passes.def (pass_all_optimizations_g): Enable pass_sprintf_length.
3917
3918 2017-02-28 Jakub Jelinek <jakub@redhat.com>
3919
3920 PR target/79729
3921 * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
3922 gcc_unreachable with output_operand_lossage.
3923
3924 2017-02-28 Richard Biener <rguenther@suse.de>
3925
3926 PR tree-optimization/79740
3927 * tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant
3928 inserts.
3929 (visit_nary_op): Insert the nary into the hashtable if we
3930 pattern-matched sth.
3931 * tree-ssa-pre.c (eliminate_insert): Robustify.
3932
3933 2017-02-28 Richard Biener <rguenther@suse.de>
3934
3935 PR middle-end/79731
3936 * fold-const.c (decode_field_reference): Reject out-of-bound
3937 accesses.
3938
3939 2017-02-28 Jakub Jelinek <jakub@redhat.com>
3940
3941 * config/i386/i386.c: Include intl.h.
3942 (ix86_option_override_internal): Use cond ? G_("...") : G_("...")
3943 instead of just cond ? "..." : "...".
3944 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise.
3945 * coverage.c (read_counts_file): Likewise.
3946 * omp-offload.c: Include intl.h.
3947 (oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead
3948 of just cond ? "..." : "...".
3949 * gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead
3950 of just cond ? "..." : "...".
3951
3952 2017-02-28 Richard Earnshaw <rearnsha@arm.com>
3953
3954 PR target/79742
3955 * config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for'
3956 entry, if present.
3957 * config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct
3958 'tune for' CPU name.
3959 * config/arm/arm-cpu-data.h: Regenerated.
3960
3961 2017-02-28 Richard Biener <rguenther@suse.de>
3962
3963 PR tree-optimization/79732
3964 * tree-inline.c (expand_call_inline): Do not shadow var.
3965
3966 2017-02-28 Richard Biener <rguenther@suse.de>
3967
3968 PR tree-optimization/79723
3969 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve
3970 address-space properly.
3971
3972 2017-02-28 Thomas Schwinge <thomas@codesourcery.com>
3973
3974 * doc/optinfo.texi (Optimization groups): Fix option used for
3975 OPTGROUP_ALL.
3976 * doc/invoke.texi (-fopt-info): Document "omp".
3977 * dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
3978 (OPTGROUP_ALL): Add OPTGROUP_OMP.
3979 * hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
3980 * ipa-hsa.c (pass_data_ipa_hsa): Likewise.
3981 * omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.
3982
3983 * dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP. Adjust
3984 all users.
3985 * dumpfile.c (optgroup_options): Instead of "openmp", associate
3986 OPTGROUP_OMP with "omp".
3987
3988 2017-02-27 Pat Haugen <pthaugen@us.ibm.com>
3989
3990 PR target/79544
3991 * config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD
3992 for arithmetic shift of unsigned V2DI.
3993
3994 2017-02-27 Claudiu Zissulescu <claziss@synopsys.com>
3995
3996 * config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and
3997 arc/linux.h headers.
3998 * config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove.
3999 (LINK_SPEC): Likewise.
4000 (ARC_TLS_EXTRA_START_SPEC): Likewise.
4001 (EXTRA_SPECS): Likewise.
4002 (STARTFILE_SPEC): Likewise.
4003 (ENDFILE_SPEC): Likewise.
4004 (LIB_SPEC): Likewise.
4005 (TARGET_SDATA_DEFAULT): Likewise.
4006 (TARGET_MMEDIUM_CALLS_DEFAULT): Likewise.
4007 (MULTILIB_DEFAULTS): Likewise.
4008 (DWARF2_UNWIND_INFO): Likewise.
4009 * config/arc/big.h: New file.
4010 * config/arc/elf.h: Likewise.
4011 * config/arc/linux.h: Likewise.
4012 * config/arc/t-uClibc: Remove.
4013
4014 2017-02-27 Bin Cheng <bin.cheng@arm.com>
4015
4016 PR tree-optimization/77536
4017 * tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function.
4018 (tree_transform_and_unroll_loop): Use above function to compute the
4019 estimated niter of unrolled loop and use it when scaling profile.
4020 Also use count info rather than frequency if it's non-zero.
4021 * tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration.
4022 * tree-vect-loop.c (scale_profile_for_vect_loop): New function.
4023 (vect_transform_loop): Call above function.
4024
4025 2017-02-27 Richard Biener <rguenther@suse.de>
4026
4027 PR tree-optimization/45397
4028 * tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR.
4029 * tree-ssa-sccvn.c (valueized_wider_op): New helper.
4030 (visit_nary_op): Add pattern matching for CSEing sign-changed
4031 or truncated operations with wider ones.
4032
4033 2017-02-27 Richard Biener <rguenther@suse.de>
4034
4035 PR tree-optimization/79690
4036 * tree-vect-stmts.c (vectorizable_store): Use vector type
4037 built from the DR with address-space.
4038
4039 2017-02-26 Gerald Pfeifer <gerald@pfeifer.com>
4040
4041 * doc/invoke.texi (Optimize Options): Refine the description
4042 of asan-use-after-return.
4043
4044 2017-02-25 Alan Modra <amodra@gmail.com>
4045
4046 PR rtl-optimization/79584
4047 * lra-constraints.c (base_to_reg): Reload ad->base, the entire
4048 base, not ad->base_term, the reg within base. Remove assertion
4049 that ad->base == ad->base_term. Replace gen_int_mode using
4050 bogus mode with const0_rtx.
4051
4052 2017-02-25 Jakub Jelinek <jakub@redhat.com>
4053
4054 PR middle-end/79396
4055 * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
4056 FMA_EXPR like tcc_binary or tcc_unary.
4057
4058 * tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
4059
4060 PR debug/77589
4061 * dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value
4062 bitfield.
4063 (size_of_loc_descr): Handle DW_OP_GNU_variable_value.
4064 (output_loc_operands): Handle DW_OP_call_ref and
4065 DW_OP_GNU_variable_value.
4066 (struct variable_value_struct): New type.
4067 (struct variable_value_hasher): Likewise.
4068 (variable_value_hash): New variable.
4069 (string_types): Remove.
4070 (copy_loc_descr): New function.
4071 (add_loc_descr_to_each): Clarify comment. Use copy_loc_descr.
4072 (prepend_loc_descr_to_each): New function.
4073 (add_loc_list): Fix comment typo. Use prepend_loc_descr_to_each
4074 instead of add_loc_descr_to_each if the first argument is single
4075 location list and the second has multiple.
4076 (resolve_args_picking_1): Handle DW_OP_GNU_variable_value.
4077 (loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value
4078 when looking for variable value which doesn't have other location info.
4079 (loc_list_from_tree): Formatting fix.
4080 (gen_array_type_die): Simplify DW_AT_string_length handling.
4081 (adjust_string_types): Remove.
4082 (gen_subprogram_die): Don't call adjust_string_types nor test/set
4083 string_types. Call resolve_variable_values.
4084 (prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value.
4085 (resolve_addr_in_expr): Likewise. Add A argument.
4086 (copy_deref_exprloc): Remove deref argument. Adjust for the
4087 original expression being DW_OP_GNU_variable_value with optionally
4088 DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref
4089 optionally after it.
4090 (optimize_string_length): Rework for DW_OP_GNU_variable_value.
4091 (resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr
4092 callers. Set remove_AT_byte_size if removing DW_AT_string_length.
4093 (variable_value_hasher::hash, variable_value_hasher::equal): New
4094 methods.
4095 (resolve_variable_value_in_expr, resolve_variable_value,
4096 resolve_variable_values, note_variable_value_in_expr,
4097 note_variable_value): New functions.
4098 (dwarf2out_early_finish): Call note_variable_value on all toplevel
4099 DIEs.
4100
4101 2017-02-24 Jakub Jelinek <jakub@redhat.com>
4102
4103 PR c/79677
4104 * opts.h (handle_generated_option): Add GENERATED_P argument.
4105 * opts-common.c (handle_option): Adjust function comment.
4106 (handle_generated_option): Add GENERATED_P argument, pass it to
4107 handle_option.
4108 (control_warning_option): Pass false to handle_generated_option
4109 GENERATED_P.
4110 * opts.c (maybe_default_option): Pass true to handle_generated_option
4111 GENERATED_P.
4112 * optc-gen.awk: Likewise.
4113
4114 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
4115
4116 * config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of
4117 a REG, look at the REG it is a SUBREG of.
4118 (splitter for cmpeqsi_t): Ditto.
4119
4120 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
4121
4122 * config/pa/pa.c (pa_combine_instructions): Do not share RTL. Make
4123 the special USEs with the pattern of the insn, not the insn itself.
4124
4125 2017-02-24 Matthew Fortune <matthew.fortune@imgtec.com>
4126
4127 PR target/79473
4128 * doc/invoke.texi: Document -mload-store-pairs.
4129
4130 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
4131 Sandra Loosemore <sandra@codesourcery.com>
4132
4133 * config/nios2/nios2.c (nios2_simple_const_p): Returns false if the
4134 argument isn't a CONST_INT.
4135 (nios2_alternate_compare_const): Assert op is a CONST_INT.
4136 (nios2_valid_compare_const_p): Assert op is a CONST_INT.
4137 (nios2_validate_compare): Bypass alternate compare logic if *op2
4138 is not a CONST_INT.
4139 (ldstwm_operation_p): Return false if first_base is not a REG or
4140 if first_offset is not a CONST_INT.
4141
4142 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
4143
4144 * config/cris/cris.md: Use correct operand in a define_peephole2.
4145
4146 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
4147
4148 * config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.
4149
4150 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
4151
4152 * config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of
4153 this_insn if it is an INSN or JUMP_INSN.
4154 (force_offsettable): Look at base, not at addr.
4155 * config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL
4156 on things that aren't necessarily CONST_INTs.
4157
4158 2017-02-24 Uros Bizjak <ubizjak@gmail.com>
4159
4160 * doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
4161 -mfpmath=sse is the default also for x86-32 targets with SSE2
4162 instruction set when @option{-ffast-math} is enabled
4163
4164 2017-02-24 Jeff Law <law@redhat.com>
4165
4166 PR rtl-optimizatoin/79286
4167 * ira.c (update_equiv_regs): Drop may_trap_p exception to
4168 dominance test.
4169
4170 2017-02-24 Richard Biener <rguenther@suse.de>
4171
4172 PR tree-optimization/79389
4173 * gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
4174 debug insns.
4175
4176 2017-02-24 Aldy Hernandez <aldyh@redhat.com>
4177
4178 * tree-ssa-loop-niter.c (number_of_iterations_exit): Update
4179 function comment to reflect reality.
4180 (loop_exits_before_overflow): Fix typo in function description.
4181
4182 2017-02-24 Richard Biener <rguenther@suse.de>
4183
4184 PR tree-optimization/79389
4185 * gimple-ssa-split-paths.c (is_feasible_trace): Verify more
4186 properly that a threading opportunity exists. Detect conditional
4187 copy/constant propagation opportunities.
4188
4189 2017-02-23 Eric Botcazou <ebotcazou@adacore.com>
4190
4191 * config/visium/visium.md (type): Add trap.
4192 (b): New mode attribute.
4193 (*btst): Rename into...
4194 (*btst<mode>): ...this and adjust.
4195 (*cbranchsi4_btst_insn): Rename into...
4196 (*cbranch<mode>4_btst_insn): ...this and adjust.
4197 (trap): New define_insn.
4198
4199 2017-02-23 Jakub Jelinek <jakub@redhat.com>
4200
4201 PR tree-optimization/79389
4202 * ifcvt.c (struct noce_if_info): Add rev_cond field.
4203 (noce_reversed_cond_code): New function.
4204 (noce_emit_store_flag): Use rev_cond if non-NULL instead of
4205 reversed_comparison_code. Formatting fix.
4206 (noce_try_store_flag): Test rev_cond != NULL in addition to
4207 reversed_comparison_code.
4208 (noce_try_store_flag_constants): Likewise.
4209 (noce_try_store_flag_mask): Likewise.
4210 (noce_try_addcc): Use rev_cond if non-NULL instead of
4211 reversed_comparison_code.
4212 (noce_try_cmove_arith): Likewise. Formatting fixes.
4213 (noce_try_minmax, noce_try_abs): Clear rev_cond.
4214 (noce_find_if_block): Initialize rev_cond.
4215 (find_cond_trap): Call noce_get_condition with then_bb == trap_bb
4216 instead of false as last argument never attempt to reverse it
4217 afterwards.
4218
4219 2017-02-23 Bin Cheng <bin.cheng@arm.com>
4220
4221 PR tree-optimization/79663
4222 * tree-predcom.c (combine_chains): Process refs in reverse order
4223 only for ZERO length chains, and add explaining comment.
4224
4225 2017-02-23 Jeff Law <law@redhat.com>
4226
4227 PR tree-optimization/79578
4228 * tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF
4229 in call to operand_equal_p.
4230
4231 2017-01-23 Dominique d'Humieres <dominiq@lps.ens.fr>
4232
4233 PR target/71017
4234 * config/i386/cpuid.h: Fix another undefined behavior.
4235
4236 2017-02-23 Richard Biener <rguenther@suse.de>
4237
4238 PR tree-optimization/79683
4239 * tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite
4240 vector types for data-refs.
4241
4242 2017-02-23 Martin Liska <mliska@suse.cz>
4243
4244 * params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0.
4245
4246 2017-02-23 Jakub Jelinek <jakub@redhat.com>
4247
4248 PR middle-end/79665
4249 * internal-fn.c (get_range_pos_neg): Moved to ...
4250 * tree.c (get_range_pos_neg): ... here. No longer static.
4251 * tree.h (get_range_pos_neg): New prototype.
4252 * expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments
4253 are known to be in between 0 and signed maximum inclusive, try to
4254 expand both unsigned and signed divmod and use the cheaper one from
4255 those.
4256
4257 2017-02-22 Jeff Law <law@redhat.com>
4258
4259 PR tree-optimization/79578
4260 * tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p
4261 to compare base operands.
4262
4263 2017-02-22 Segher Boessenkool <segher@kernel.crashing.org>
4264
4265 PR target/79211
4266 * config/rs6000/rs6000.md (*fsel<SFDF:mode><SFDF2:mode>4): Use
4267 gpc_reg_operand instead of fpr_reg_operand.
4268
4269 2017-02-22 Sameera Deshpande <sameera.deshpande@imgtec.com>
4270
4271 * config/mips/mips.c (mips_return_in_memory): Force FP
4272 vector types to be returned in memory for o32 ABI.
4273
4274 2017-02-22 Jakub Jelinek <jakub@redhat.com>
4275
4276 * dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable
4277 instead of DW_TAG_member for static data member declarations and don't
4278 set no_linkage_name for static inline data members.
4279 (gen_member_die): For -gdwarf-5 don't change DW_TAG_variable
4280 to DW_TAG_member.
4281
4282 2017-02-22 Martin Liska <mliska@suse.cz>
4283
4284 * doc/invoke.texi: Replace inequality signs with square brackets
4285 for -Wnormalized.
4286
4287 2017-02-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4288
4289 PR tree-optimization/68644
4290 * gcc.dg/tree-ssa/ivopts-lt-2.c: Skip for powerpc*-*-*.
4291
4292 2017-02-22 Matthew Fortune <matthew.fortune@imgtec.com>
4293
4294 PR target/78660
4295 * lra-constraints.c (simplify_operand_subreg): Handle
4296 WORD_REGISTER_OPERATIONS targets.
4297
4298 2017-02-22 Jakub Jelinek <jakub@redhat.com>
4299
4300 PR target/70465
4301 * reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F))
4302 and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1)
4303 elimination by swapping fld*.
4304
4305 2017-02-22 Richard Biener <rguenther@suse.de>
4306
4307 PR tree-optimization/79673
4308 * tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to
4309 convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off
4310 irrelevant address-space qualifiers and avoiding a
4311 ADDR_SPACE_CONVERT_EXPR from fold_convert.
4312
4313 2017-02-22 Richard Biener <rguenther@suse.de>
4314
4315 PR tree-optimization/79666
4316 * tree-vrp.c (extract_range_from_binary_expr_1): Make sure
4317 to not symbolically negate if that may introduce undefined
4318 overflow.
4319
4320 2017-02-22 Martin Liska <mliska@suse.cz>
4321
4322 PR lto/79587
4323 * data-streamer-in.c (streamer_read_gcov_count): Remove assert.
4324 * data-streamer-out.c (streamer_write_gcov_count_stream):
4325 Likewise.
4326 * value-prof.c (stream_out_histogram_value): Make assert more
4327 precise based on type of counter.
4328
4329 2017-02-21 Uros Bizjak <ubizjak@gmail.com>
4330
4331 PR target/79593
4332 * config/i386/i386.md (standard_x87sse_constant_load splitter):
4333 Use nonimmediate_operand instead of memory_operand for operand 1.
4334 (float-extend standard_x87sse_constant_load splitter): Ditto.
4335
4336 2017-02-21 Jeff Law <law@redhat.com>
4337
4338 PR tree-optimization/79621
4339 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore
4340 blocks with edges to themselves.
4341
4342 2017-02-21 Jakub Jelinek <jakub@redhat.com>
4343
4344 PR target/79633
4345 * tree-chkp-opt.c (chkp_optimize_string_function_calls): Use
4346 is_gimple_call instead of comparing gimple_code with GIMPLE_CALL.
4347 Use gimple_call_builtin_p.
4348
4349 PR target/79570
4350 * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
4351 on temporarily removed DEBUG_INSNs.
4352
4353 PR tree-optimization/79649
4354 * tree-loop-distribution.c (classify_partition): Give up on
4355 non-generic address space loads/stores.
4356
4357 2017-02-21 Aldy Hernandez <aldyh@redhat.com>
4358
4359 * doc/loop.texi (Loop manipulation): Remove nonexistent
4360 tree_ssa_loop_version from the documentation.
4361 * cfgloopmanip.c (loop_version): Document CONDITION_BB argument.
4362
4363 2017-02-21 Jakub Jelinek <jakub@redhat.com>
4364
4365 PR target/79494
4366 * config/i386/i386.c (ix86_expand_split_stack_prologue): Call
4367 make_reg_eh_region_note_nothrow_nononlocal on call_insn.
4368 * config/rs6000/rs6000.c: Include except.h.
4369 (rs6000_expand_split_stack_prologue): Call
4370 make_reg_eh_region_note_nothrow_nononlocal on the call insn.
4371
4372 2017-02-21 Martin Jambor <mjambor@suse.cz>
4373
4374 PR lto/79579
4375 * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
4376 have been analyzed.
4377
4378 2017-02-21 Martin Jambor <mjambor@suse.cz>
4379
4380 * common.opt (-fipa-cp-alignment): Mark as ignored and preserved
4381 for backward compatibility only.
4382 * doc/invoke.texi (Option Summary): Remove all references to
4383 -fipa-cp-alignment.
4384
4385 2017-02-21 Matthew Fortune <matthew.fortune@imgtec.com>
4386
4387 PR target/78660
4388 Revert:
4389 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
4390
4391 * lra-constraints.c (curr_insn_transform): Handle
4392 WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
4393
4394 2017-02-21 Martin Liska <mliska@suse.cz>
4395
4396 * config/i386/i386.opt: Replace -masm-dialect with -masm.
4397
4398 2017-02-21 Thomas Schwinge <thomas@codesourcery.com>
4399
4400 PR translation/79638
4401 * config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".
4402
4403 2017-02-21 Eric Botcazou <ebotcazou@adacore.com>
4404
4405 PR ada/67205
4406 * config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
4407 (arm_function_ok_for_sibcall): Return false for an indirect call by
4408 descriptor if all the argument registers are used.
4409 (arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the
4410 alignment of the function.
4411
4412 2017-02-21 Jakub Jelinek <jakub@redhat.com>
4413
4414 PR tree-optimization/61441
4415 * simplify-rtx.c (simplify_const_unary_operation): For
4416 -fsignaling-nans and sNaN operand, return NULL_RTX rather than
4417 the sNaN unmodified.
4418
4419 2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
4420
4421 * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
4422 (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
4423 instead of SYSTEM_HEADER_DIR.
4424
4425 2017-02-20 Gerald Pfeifer <gerald@pfeifer.com>
4426 Martin Liška <mliska@suse.cz>
4427
4428 * doc/invoke.texi (use-after-scope-direct-emission-threshold):
4429 Fix typos and grammar, use active voice, and clarify.
4430
4431 2017-02-20 Marek Polacek <polacek@redhat.com>
4432
4433 PR middle-end/79537
4434 * gimplify.c (gimplify_expr): Handle unused *&&L;.
4435
4436 PR sanitizer/79558
4437 * ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
4438
4439 2017-02-20 Jakub Jelinek <jakub@redhat.com>
4440
4441 PR target/79568
4442 * config/i386/i386.c (ix86_expand_builtin): Handle
4443 OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
4444 ix86_builtins_isa[fcode].isa as a requirement of those
4445 flags and any other flag in the bitmask.
4446 (ix86_init_mmx_sse_builtins): Use 0 instead of
4447 ~OPTION_MASK_ISA_64BIT as mask.
4448 * config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
4449 __builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
4450 __builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
4451 __builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.
4452
4453 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
4454
4455 PR target/78012
4456 * lra-constraints.c (split_reg): Check requested split mode
4457 is supported by the register.
4458
4459 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
4460
4461 * lra-constraints.c (simplify_operand_subreg): Remove early
4462 return false.
4463
4464 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
4465
4466 PR target/78660
4467 * lra-constraints.c (curr_insn_transform): Tighten condition
4468 for converting SUBREG reloads from OP_OUT to OP_INOUT.
4469
4470 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
4471
4472 PR target/78660
4473 * lra-constraints.c (curr_insn_transform): Handle
4474 WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
4475
4476 2017-02-19 Uros Bizjak <ubizjak@gmail.com>
4477
4478 Revert:
4479 2016-05-30 Uros Bizjak <ubizjak@gmail.com>
4480
4481 * config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
4482
4483 2017-02-19 Jonathan Wakely <jwakely@redhat.com>
4484
4485 PR c++/69523
4486 * doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
4487 description.
4488
4489 2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4490
4491 * gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
4492 for FMA_EXPR.
4493
4494 2017-02-18 Jakub Jelinek <jakub@redhat.com>
4495
4496 * final.c (last_columnnum, override_columnnum): New variables.
4497 (final_start_function): Set last_columnnum, pass it to begin_prologue
4498 hook and pass 0 to dwarf2out_begin_prologue.
4499 (final_scan_insn): Update override_columnnum. Pass last_columnnum
4500 to source_line debug hook.
4501 (notice_source_line): Compute last_columnnum and for debug_column_info
4502 return true on column changes.
4503 * debug.h (struct gcc_debug_hooks): Add column argument to
4504 source_line and begin_prologue hooks.
4505 (debug_nothing_int_charstar_int_bool): Remove prototype.
4506 (debug_nothing_int_int_charstar,
4507 debug_nothing_int_int_charstar_int_bool): New prototypes.
4508 (dwarf2out_begin_prologue): Add column argument.
4509 * debug.c (do_nothing_debug_hooks): Adjust source_line and
4510 begin_prologue hooks.
4511 (debug_nothing_int_charstar_int_bool): Remove.
4512 (debug_nothing_int_int_charstar,
4513 debug_nothing_int_int_charstar_int_bool): New functions.
4514 * dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
4515 through to dwarf2out_source_line.
4516 (dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
4517 (dwarf2out_source_line): Add column argument, emit it if requested.
4518 * sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
4519 arguments.
4520 * xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
4521 * xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
4522 * vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
4523 through to dwarf2out_begin_prologue.
4524 (vmsdbgout_source_line): Add column argument, pass it through to
4525 dwarf2out_source_line.
4526 * dbxout.c (dbxout_begin_prologue): Add column argument, adjust
4527 dbxout_source_line caller.
4528 (dbxout_source_line): Add column argument.
4529
4530 * common.opt (gno-column-info, gcolumn-info): New options.
4531 * dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
4532 (check_die): Also test for multiple DW_AT_decl_column attributes.
4533 (add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
4534 DW_AT_decl_column if requested.
4535 (gen_subprogram_die): Compare and/or add also DW_AT_decl_column
4536 if requested.
4537 (gen_variable_die): Likewise.
4538 (add_call_src_coords_attributes): Add DW_AT_call_column if requested.
4539 * doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.
4540
4541 PR target/79569
4542 * config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
4543 * common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
4544 (ix86_handle_option): Handle OPT_m3dnowa.
4545 * doc/invoke.texi (-m3dnowa): Document.
4546 * doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
4547 -m3dnowa instead of -m3dnow -march=athlon.
4548
4549 PR target/79559
4550 * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
4551 instead of gcc_assert for K, r and R code checks. Formatting fixes.
4552
4553 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4554
4555 PR target/79261
4556 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
4557 support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
4558 * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
4559 generator for vsx_xxpermdi_<mode>_be.
4560 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
4561 force big-endian semantics.
4562 (vsx_xxpermdi_<mode>_be): New define_expand with same
4563 implementation as previous version of vsx_xxpermdi_<mode>.
4564
4565 2017-02-17 Jakub Jelinek <jakub@redhat.com>
4566
4567 PR tree-optimization/79327
4568 * gimple-ssa-sprintf.c (format_integer): Remove likely_adjust
4569 variable, its initialization and use.
4570
4571 2017-02-17 Julia Koval <julia.koval@intel.com>
4572
4573 * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
4574 (OPTION_MASK_ISA_PKU_UNSET): New.
4575 (ix86_handle_option): Handle -mrdpid.
4576 * config/i386/cpuid.h (bit_RDPID): New.
4577 * config/i386/driver-i386.c (host_detect_local_cpu):
4578 Detect RDPID feature.
4579 * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
4580 * config/i386/i386-c.c (ix86_target_macros_internal):
4581 Handle RDPID flag.
4582 * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
4583 (ix86_valid_target_attribute_inner_p): Add "rdpid".
4584 (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
4585 * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
4586 * config/i386/i386.md (define_insn "rdpid"): New.
4587 * config/i386/i386.opt Add -mrdpid.
4588 * config/i386/immintrin.h (_rdpid_u32): New.
4589
4590 2017-02-17 Vladimir Makarov <vmakarov@redhat.com>
4591
4592 PR rtl-optimization/79541
4593 * lra-constraints.c (curr_insn_transform): Remove wrong asm insn
4594 instead of transforming it into USE.
4595
4596 2017-02-17 Segher Boessenkool <segher@kernel.crashing.org>
4597
4598 * config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
4599 If HONOR_SNANS (SFmode) force the input to a register.
4600 (*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition.
4601 (*extendsfdf2_snan): New pattern, used when using SNaNs; it generates
4602 an frsp or similar insn.
4603
4604 2017-02-17 Martin Liska <mliska@suse.cz>
4605
4606 PR rtl-optimization/79577
4607 * params.def (selsched-max-sched-times): Increase minimum to 1.
4608
4609 2017-02-17 Martin Liska <mliska@suse.cz>
4610
4611 PR rtl-optimization/79574
4612 * gcse.c (want_to_gcse_p): Prevent integer overflow.
4613
4614 2017-02-17 Martin Liska <mliska@suse.cz>
4615
4616 PR tree-optimization/79529
4617 * tree-ssa-loop-unswitch.c (is_maybe_undefined): Use
4618 ssa_defined_default_def_p to handle cases which are implicitly
4619 defined.
4620 * tree-ssa.c (ssa_defined_default_def_p): New function.
4621 (ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases
4622 which are implicitly defined.
4623 * tree-ssa.h (ssa_defined_default_def_p): Declare.
4624
4625 2017-02-17 Richard Biener <rguenther@suse.de>
4626
4627 PR middle-end/79576
4628 * params.def (max-ssa-name-query-depth): Limit to 10.
4629
4630 2017-02-17 Richard Biener <rguenther@suse.de>
4631
4632 PR tree-optimization/79552
4633 * tree-ssa-structalias.c (visit_loadstore): Properly verify
4634 default defs.
4635
4636 2017-02-17 Richard Biener <rguenther@suse.de>
4637
4638 PR bootstrap/79567
4639 * genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2.
4640
4641 2017-02-17 Marek Polacek <polacek@redhat.com>
4642
4643 PR middle-end/79536
4644 * fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
4645 (fold_negate_expr): New wrapper.
4646
4647 2017-02-16 Sandra Loosemore <sandra@codesourcery.com>
4648
4649 * doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]:
4650 Correct terminology and de-emphasize pre-standard behavior.
4651
4652 2017-02-16 Alan Modra <amodra@gmail.com>
4653
4654 PR rtl-optimization/79286
4655 * ira.c (def_dominates_uses): New function.
4656 (update_equiv_regs): Don't create an equivalence for insns that
4657 may trap where the register def does not dominate the use.
4658
4659 2017-02-16 Vladimir Makarov <vmakarov@redhat.com>
4660
4661 PR rtl-optimization/78127
4662 * lra.c (lra): Call lra_eliminate before finish the loop after
4663 lra_constraint.
4664
4665 2017-02-16 Richard Biener <rguenther@suse.de>
4666
4667 * graphite.h: Do not include isl/isl_val_gmp.h, instead include
4668 isl/isl_val.h.
4669 * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
4670 (gcc_expression_from_isl_expr_int): Use generic isl_val interface.
4671 * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
4672 (isl_val_int_from_wi): New function.
4673 (extract_affine_gmp): Rename to ...
4674 (extract_affine_wi): ... this, take a widest_int.
4675 (extract_affine_int): Just wrap extract_affine_wi.
4676 (add_param_constraints): Use isl_val_int_from_wi.
4677 (add_loop_constraints): Likewise, and extract_affine_wi.
4678
4679 2017-02-15 Jeff Law <law@redhat.com>
4680
4681 PR middle-end/79521
4682 * ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling
4683 ira_init_register_move_cost_if_necessary.
4684
4685 2017-02-15 Martin Sebor <msebor@redhat.com>
4686
4687 PR middle-end/32003
4688 * doc/invoke.texi (-fdump-final-insns): Replace option accidentally
4689 removed in a prior commit.
4690
4691 2017-02-15 Bin Cheng <bin.cheng@arm.com>
4692
4693 PR tree-optimization/79347
4694 * tree-vect-loop-manip.c (vect_do_peeling): Maintain profile
4695 counters during peeling.
4696
4697 2017-02-15 Thomas Schwinge <thomas@codesourcery.com>
4698
4699 * Makefile.in (site.exp): Remove "set ISLVER".
4700
4701 2017-02-15 Jakub Jelinek <jakub@redhat.com>
4702
4703 PR target/79487
4704 * real.c (real_from_integer): Call real_convert even for decimal.
4705
4706 2017-02-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
4707
4708 PR target/79421
4709 * config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
4710
4711 2017-02-14 Andrew Pinski <apinski@cavium.com>
4712
4713 * config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C"
4714 cores and change the partno/implementer to be correct.
4715 (thunderx2t99p1): New core which replaces thunderx2t99 and still has
4716 the 'B" as the implementer.
4717 * config/aarch64/aarch64-tune.md: Regenerate.
4718
4719 2017-02-14 Carl Love <cel@us.ibm.com>
4720
4721 * config/rs6000/rs6000.c: Add case statement entry to make the
4722 xvcvuxdsp built-in argument unsigned.
4723 * config/rs6000/vsx.md: Fix the source and return operand types so they
4724 match the instruction definitions from the ISA document. Fix typo
4725 in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
4726 statement.
4727
4728 2017-02-14 Vladimir Makarov <vmakarov@redhat.com>
4729
4730 PR target/79282
4731 * lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
4732 member early_clobber_alts.
4733 * lra-lives.c (reg_early_clobber_p): New.
4734 (process_bb_lives): Use it.
4735 * lra.c (new_insn_reg): New arg early_clobber_alts. Use it.
4736 (debug_operand_data): Initialize early_clobber_alts.
4737 (setup_operand_alternative): Set up early_clobber_alts.
4738 (collect_non_operand_hard_regs): Ditto. Pass early clobber
4739 alternatives to new_insn_reg.
4740 (add_regs_to_insn_regno_info): Add arg early_clobber_alts. Use
4741 it.
4742 (lra_update_insn_regno_info): Pass the new arg.
4743
4744 2017-02-14 Jakub Jelinek <jakub@redhat.com>
4745
4746 PR middle-end/79505
4747 * omp-offload.c (free_oacc_loop): Release loop->ifns vector.
4748 (new_oacc_loop_raw): Don't clear already cleared fields.
4749
4750 PR target/79481
4751 * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
4752 _mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
4753 _mm512_prefetch_i64gather_ps): New inline functions and macros.
4754
4755 2017-02-14 Uros Bizjak <ubizjak@gmail.com>
4756
4757 PR target/79495
4758 * config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.
4759
4760 2017-02-14 H.J. Lu <hongjiu.lu@intel.com>
4761
4762 PR target/79498
4763 * config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
4764 the extra instruction to the right place to store 128-bit constant
4765 when needed.
4766
4767 2017-02-14 Martin Sebor <msebor@redhat.com>
4768
4769 PR middle-end/79448
4770 * gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX
4771 warning for strings of unknown length.
4772
4773 2017-02-13 Segher Boessenkool <segher@kernel.crashing.org>
4774
4775 * config.gcc (supported_defaults) [powerpc*-*-*]: Update.
4776
4777 2017-02-14 Jeff Law <law@redhat.com>
4778
4779 PR target/79404
4780 * ira-costs.c (scan_one_insn): Initialize register move costs
4781 for pseudos seen in USE/CLOBBER insns.
4782
4783 PR tree-optimization/79095
4784 * tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
4785 if the numerator has the range ~[0,0] make the resultant range ~[0,0].
4786 (extract_range_from_binary_expr): For MINUS_EXPR with no derived range,
4787 if the operands are known to be not equal, then the resulting range
4788 is ~[0,0].
4789 (intersect_ranges): If the new range is ~[0,0] and the old range is
4790 wide, then prefer ~[0,0].
4791 * tree-vrp.c (overflow_comparison_p_1): New function.
4792 (overflow_comparison_p): New function.
4793 * tree-vrp.c (register_edge_assert_for_2): Register additional asserts
4794 if NAME is used in an overflow test.
4795 (vrp_evaluate_conditional_warnv_with_ops): If the ops represent an
4796 overflow check that can be expressed as an equality test, then adjust
4797 ops to be that equality test.
4798
4799 2017-02-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4800
4801 * config/s390/s390-builtin-types.def: Remove flags argument.
4802 * config/s390/s390.c (s390_init_builtins): Likewise.
4803
4804 2017-02-14 Martin Liska <mliska@suse.cz>
4805
4806 * tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
4807 vector. Fix trailing white spaces.
4808
4809 2017-02-14 James Greenhalgh <james.greenhalgh@arm.com>
4810
4811 * config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
4812 HFmode.
4813
4814 2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4815
4816 PR rtl-optimization/68664
4817 * config/arm/arm.c (arm_sched_can_speculate_insn):
4818 New function. Declare prototype.
4819 (TARGET_SCHED_CAN_SPECULATE_INSN): Define.
4820
4821 2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4822
4823 PR rtl-optimization/68664
4824 * config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn):
4825 New function.
4826 (TARGET_SCHED_CAN_SPECULATE_INSN): Define.
4827
4828 2017-02-14 Amit Pawar <amit.pawar@amd.com>
4829
4830 * config/i386/i386.c (znver1_cost): Fix the alignment for function and
4831 max skip bytes for function, loop and jump.
4832
4833 2017-02-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4834
4835 * gimple-pretty-print.c (dump_unary_rhs): Adjust dump format for
4836 ABS_EXPR for gimple dump.
4837
4838 2017-02-14 Jakub Jelinek <jakub@redhat.com>
4839
4840 PR target/79462
4841 * config/sh/sh.c (expand_cbranchdi4): Don't clear operands[4].
4842
4843 PR tree-optimization/79408
4844 * tree-vrp.c (simplify_div_or_mod_using_ranges): Handle also the
4845 case when on TRUNC_MOD_EXPR op0 is INTEGER_CST.
4846 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
4847 also if rhs1 is INTEGER_CST.
4848
4849 2017-02-14 Richard Biener <rguenther@suse.de>
4850
4851 PR middle-end/79432
4852 * tree-into-ssa.c (insert_phi_nodes): When the function can
4853 have abnormal edges rewrite SSA names with broken use-def
4854 dominance out of SSA and register them for PHI insertion.
4855
4856 2017-02-13 Martin Sebor <msebor@redhat.com>
4857
4858 PR middle-end/79496
4859 * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid
4860 clearing info.nowrite flag when snprintf size argument is a range.
4861
4862 2017-02-13 Jakub Jelinek <jakub@redhat.com>
4863
4864 * cprop.c (cprop_jump): Add missing space in string literal.
4865 * tree-ssa-structalias.c (rewrite_constraints): Likewise.
4866 (get_constraint_for_component_ref): Likewise.
4867 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
4868 * tree-outof-ssa.c (insert_partition_copy_on_edge): Likewise.
4869 * lra-constraints.c (process_alt_operands): Likewise.
4870 * ipa-inline.c (inline_small_functions): Likewise.
4871 * tree-ssa-sccvn.c (visit_reference_op_store): Likewise.
4872 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
4873 * trans-mem.c (diagnose_tm_1_op): Likewise.
4874 * omp-grid.c (grid_find_single_omp_among_assignments): Likewise.
4875 (grid_parallel_clauses_gridifiable): Likewise.
4876
4877 * config/nvptx/mkoffload.c (process): Add space in between
4878 , and %d.
4879
4880 * config/i386/i386.h (REG_CLASS_NAMES): Add , in between
4881 "MOD4_SSE_REGS" and "ALL_REGS".
4882
4883 * spellcheck.c (test_data): Add , in between "foo" and "food".
4884
4885 2017-02-13 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
4886
4887 PR target/79449
4888 * config/rs6000/rs6000.c (expand_block_compare): Make sure runtime
4889 boundary crossing check and subsequent code generation agree.
4890
4891 2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4892
4893 * config/aarch64/aarch64.c (has_memory_op): Delete.
4894 (aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of
4895 has_memory_op.
4896
4897 2017-02-13 Jakub Jelinek <jakub@redhat.com>
4898
4899 PR rtl-optimization/79388
4900 PR rtl-optimization/79450
4901 * combine.c (distribute_notes): When removing TEM_INSN for which
4902 corresponding dest has last value recorded, invalidate that last
4903 value.
4904
4905 2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4906
4907 * config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead
4908 of explicit '@'. Add missing assembly comment marker on branch costs
4909 printout.
4910
4911 2017-02-13 Nathan Sidwell <nathan@acm.org>
4912
4913 * gengtype-lex.l (<in_struct>): Add '/'.
4914
4915 2017-02-13 Martin Liska <mliska@suse.cz>
4916
4917 PR c/79471
4918 * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC.
4919
4920 2017-02-13 Richard Biener <rguenther@suse.de>
4921
4922 * configure.ac (HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS):
4923 Remove.
4924 * configure: Re-generate.
4925 * config.in: Likewise.
4926 * graphite-dependences.c: Simplify as if
4927 HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS was defined.
4928 * graphite-isl-ast-to-gimple.c: Likewise.
4929 * graphite-optimize-isl.c: Likewise.
4930 * graphite-poly.c: Likewise.
4931 * graphite-sese-to-poly.c: Likewise.
4932 * graphite.h: Likewise.
4933 * toplev.c: Include isl/version.h and use isl_version () for
4934 printing the ISL version.
4935 * doc/install.texi: Update ISL requirement.
4936
4937 2017-02-12 Gerald Pfeifer <gerald@pfeifer.com>
4938
4939 * doc/standards.texi (Standards): Update reference to
4940 Objective-C 2.0.
4941
4942 2017-02-12 Gerald Pfeifer <gerald@pfeifer.com>
4943
4944 * doc/extend.texi (Named Address Spaces): sourceware.org now
4945 defaults to https.
4946 * doc/install.texi (Binaries): Ditto.
4947 (Specific): Ditto.
4948
4949 2017-02-11 Sandra Loosemore <sandra@codesourcery.com>
4950
4951 * doc/cpp.texi: Replace "stringify"/"stringification" with C
4952 standard terminology "stringize"/"stringizing" throughout.
4953 * doc/cppinternals.texi: Likewise.
4954
4955 2017-02-11 Sandra Loosemore <sandra@codesourcery.com>
4956
4957 * doc/extend.texi: Fix some spelling mistakes and typos.
4958 * doc/invoke.texi: Likewise.
4959
4960 2017-02-11 Jan Hubicka <hubicka@ucw.cz>
4961
4962 PR ipa/79224
4963 * params.def (inline-min-speedup) Change from 10 to 8.
4964
4965 2017-02-11 Jakub Jelinek <jakub@redhat.com>
4966
4967 * doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to
4968 4.5.
4969
4970 2017-02-11 Jan Hubicka <hubicka@ucw.cz>
4971
4972 PR ipa/79224
4973 * ipa-inline-analysis.c (get_minimal_bb): New function.
4974 (record_modified): Use it.
4975 (remap_edge_change_prob): Handle also ancestor functions.
4976
4977 2017-02-11 Gerald Pfeifer <gerald@pfeifer.com>
4978
4979 * doc/contrib.texi (Contributors): Remove broken link into
4980 the Mauve CVS repository.
4981
4982 2017-02-11 Jakub Jelinek <jakub@redhat.com>
4983
4984 PR middle-end/79454
4985 * internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise
4986 result computation whenever lhs doesn't have vector mode, not
4987 just when it has BLKmode.
4988
4989 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
4990
4991 * doc/makefile.texi (profiledbootstrap): Refer to the
4992 installation instructions only in textual form.
4993
4994 2017-02-10 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
4995
4996 PR target/79295
4997 * config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints.
4998
4999 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
5000
5001 * doc/install.texi (Specific): Use https for blackfin.uclinux.org.
5002 (Specific): Update mingw-w64 reference.
5003 (Binaries): Ditto.
5004 (Specific): Remove broken link to Renesas RX processor.
5005
5006 2017-02-10 Richard Biener <rguenther@suse.de>
5007
5008 * toplev.c (process_options): Do not mention obsolete graphite
5009 options when printing sorry message about missing graphite support.
5010 Mention -floop-nest-optimize.
5011
5012 2017-02-10 Christophe Lyon <christophe.lyon@linaro.org>
5013
5014 * config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm.
5015 (vtst_p16): Likewise.
5016 (vtstq_p8): Likewise.
5017 (vtstq_p16): Likewise.
5018 (vtst_p64): New.
5019 (vtstq_p64): Likewise.
5020 * config/arm/arm_neon.h (vgetq_lane_p64): New.
5021 (vset_lane_p64): New.
5022 (vsetq_lane_p64): New.
5023
5024 2017-02-10 Jakub Jelinek <jakub@redhat.com>
5025
5026 PR tree-optimization/79411
5027 * tree-ssa-reassoc.c (is_reassociable_op): Return false if
5028 stmt operands are SSA_NAMEs used in abnormal phis.
5029 (can_reassociate_p): Return false if op is SSA_NAME used in abnormal
5030 phis.
5031
5032 2017-02-09 Jan Hubicka <hubicka@ucw.cz>
5033
5034 PR ipa/70795
5035 * cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
5036 flag if needed.
5037
5038 2017-02-09 Jan Hubicka <hubicka@ucw.cz>
5039
5040 * tree-ssa-loop-unswitch.c (hoist_guard): Update profile.
5041
5042 2017-02-09 Jakub Jelinek <jakub@redhat.com>
5043
5044 * omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
5045 to avoid warning.
5046
5047 PR c/79413
5048 * gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants,
5049 not arbitrary TREE_CONSTANT.
5050
5051 PR c/79431
5052 * gimplify.c (gimplify_adjust_omp_clauses): Ignore
5053 "omp declare target link" attribute unless is_global_var.
5054 * omp-offload.c (find_link_var_op): Likewise.
5055
5056 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
5057 Chung-Lin Tang <cltang@codesourcery.com>
5058
5059 * gimplify.c (gimplify_scan_omp_clauses): No special handling for
5060 OMP_CLAUSE_TILE.
5061 (gimplify_adjust_omp_clauses): Don't delete TILE.
5062 (gimplify_omp_for): Deal with TILE.
5063 * internal-fn.c (expand_GOACC_TILE): New function.
5064 * internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
5065 (GOACC_TILE): New.
5066 * omp-expand.c (struct oacc_collapse): Add tile and outer fields.
5067 (expand_oacc_collapse_init): Add LOC paramter. Initialize tile
5068 element fields.
5069 (expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
5070 avoid DIV for outermost collapse var.
5071 (expand_oacc_for): Insert tile element loop as needed. Adjust.
5072 Remove out of date comments, fix whitespace.
5073 * omp-general.c (omp_extract_for_data): Deal with tiling.
5074 * omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
5075 adjust OLF_DIM_BASE value.
5076 (struct omp_for_data): Add tiling field.
5077 * omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
5078 (lower_oacc_head_mark): Add OLF_TILE as appropriate. Ensure 2 levels
5079 for auto loops. Remove default auto determining, moved to
5080 oacc_loop_fixed_partitions.
5081 * omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
5082 stmts, add e_mask field.
5083 (oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
5084 (oacc_thread_numbers): Use oacc_dim_call.
5085 (oacc_xform_tile): New.
5086 (new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
5087 (finish_oacc_loop): Adjust for ifns vector.
5088 (oacc_loop_discover_walk): Append loop abstraction sites to list,
5089 add case for GOACC_TILE fns.
5090 (oacc_loop_xform_loop): Delete.
5091 (oacc_loop_process): Iterate over call list directly, and add
5092 handling for GOACC_TILE fns.
5093 (oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
5094 dump partitioning.
5095 (oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
5096 vector partitioning to outer loops. Assign 2 partitions to loops
5097 when available. Add TILE handling.
5098 (oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
5099 (execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs.
5100 * tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
5101 * tree.c (omp_clause_num_ops): Adjust TILE ops.
5102 * tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.
5103
5104 2017-02-09 Gerald Pfeifer <gerald@pfeifer.com>
5105
5106 * configure.ac (ACX_BUGURL): Update.
5107 * configure: Regenerate.
5108
5109 2017-02-09 Richard Biener <rguenther@suse.de>
5110
5111 PR tree-optimization/69823
5112 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
5113 Properly enumerate all BBs in the region. Use auto_vec/auto_bitmap.
5114
5115 2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
5116
5117 * config/arc/arc-c.def: Add __NPS400__ definition.
5118 * config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here.
5119 (TARGET_NPS400): Define.
5120
5121 2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
5122
5123 * config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in
5124 file.
5125 (arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t
5126 pointer, arch_info.
5127 (arc_cpu_types): Fill the arch_info field with a pointer into the
5128 arc_arch_types table.
5129 (arc_selected_cpu): Declare.
5130 * config/arc/arc.c (arc_selected_cpu): Make global.
5131 (arc_selected_arch): Delete.
5132 (arc_base_cpu): Delete.
5133 (arc_override_options): Remove references to deleted variables,
5134 update access to arch information.
5135 (ARC_OPT): Update access to arch information.
5136 (ARC_OPTX): Likewise.
5137 * config/arc/arc.h (arc_base_cpu): Remove declaration.
5138 (TARGET_ARC600): Update access to arch information.
5139 (TARGET_ARC601): Likewise.
5140 (TARGET_ARC700): Likewise.
5141 (TARGET_EM): Likewise.
5142 (TARGET_HS): Likewise.
5143 * config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch
5144 information.
5145
5146 2017-02-08 Pat Haugen <pthaugen@us.ibm.com>
5147
5148 PR target/78604
5149 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert
5150 condition/operands for integer GE/LE/GEU/LEU operations.
5151
5152 2017-02-08 Segher Boessenkool <segher@kernel.crashing.org>
5153
5154 PR translation/79397
5155 * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
5156 of AltiVec.
5157
5158 2017-02-08 Martin Jambor <mjambor@suse.cz>
5159
5160 PR ipa/79375
5161 * ipa-prop.c (ipa_alloc_node_params): Make static, return bool
5162 whether allocation happened.
5163 (ipa_initialize_node_params): Do not call ipa_alloc_node_params if
5164 nothing was allocated.
5165
5166 2017-02-08 Jakub Jelinek <jakub@redhat.com>
5167
5168 PR tree-optimization/79408
5169 * tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not
5170 constant, but SSA_NAME with a known integer range, use the minimum
5171 of that range instead of op1 to determine if modulo can be replaced
5172 with its first operand.
5173
5174 2016-02-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5175
5176 * config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX.
5177
5178 2017-02-08 Richard Biener <rguenther@suse.de>
5179
5180 PR tree-optimization/71824
5181 * graphite-scop-detection.c (scop_detection::build_scop_breadth):
5182 Check all loops contained in the merged region.
5183
5184 2017-02-07 Andrew Pinski <apinski@cavium.com>
5185
5186 * config/aarch64/aarch64.md (popcount<mode>2): New pattern.
5187
5188 2017-02-07 Andrew Pinski <apinski@cavium.com>
5189
5190 * config/aarch64/aarch64-cores.def (thunderx): Disable LSE.
5191 (thunderxt88): Likewise.
5192 (thunderxt81): Disable LSE and change v8.1 to v8.
5193 (thunderxt83): Likewise.
5194
5195 2017-02-07 Jakub Jelinek <jakub@redhat.com>
5196 Richard Biener <rguenther@suse.de>
5197
5198 PR middle-end/79399
5199 * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
5200 type from int to size_t.
5201 * ira-costs.c (struct_costs_size): Change type from int to size_t.
5202
5203 2017-02-07 Jakub Jelinek <jakub@redhat.com>
5204
5205 PR rtl-optimization/79386
5206 * cprop.c (bypass_conditional_jumps): Initialize
5207 bypass_last_basic_block already before splitting bbs after
5208 unconditional traps...
5209 (bypass_conditional_jumps): ... rather than here.
5210
5211 PR target/79299
5212 * config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs.
5213 (*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2,
5214 *avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them,
5215 fix -masm=intel patterns.
5216
5217 2017-02-07 Richard Biener <rguenther@suse.de>
5218
5219 PR tree-optimization/79256
5220 PR middle-end/79278
5221 * builtins.c (get_object_alignment_2): Use min_align_of_type
5222 to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT
5223 and ADJUST_FIELD_ALIGN.
5224
5225 * doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional
5226 type parameter.
5227 * doc/tm.texi: Regenerate.
5228 * stor-layout.c (layout_decl): Adjust.
5229 (update_alignment_for_field): Likewise.
5230 (place_field): Likewise.
5231 (min_align_of_type): Likewise.
5232 * config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust.
5233 * config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise.
5234 * config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise.
5235 * config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise.
5236 * config/frv/frv.c (frv_adjust_field_align): Likewise.
5237 * config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise.
5238 * config/i386/i386.c (x86_field_alignment): Likewise.
5239 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
5240 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
5241 * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
5242 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
5243 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise.
5244 * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
5245 Likewise.
5246
5247 Revert
5248 2017-01-30 Richard Biener <rguenther@suse.de>
5249
5250 PR tree-optimization/79256
5251 * targhooks.c (default_builtin_vector_alignment_reachable): Honor
5252 BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
5253 alignment on TYPE.
5254
5255 2017-02-07 Toma Tabacu <toma.tabacu@imgtec.com>
5256
5257 * config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode
5258 argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw
5259 builtins to SImode and emit a zero-extend, if necessary.
5260
5261 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
5262
5263 * docs/invoke.texi (RISC-V Options): Alphabetize.
5264
5265 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
5266
5267 * doc/invoke.texi (RISC-V Options): Use two spaces to separate
5268 options.
5269
5270 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
5271
5272 * config/riscv/riscv.c: New file.
5273 * gcc/common/config/riscv/riscv-common.c: Likewise.
5274 * config.gcc: Likewise.
5275 * config/riscv/constraints.md: Likewise.
5276 * config/riscv/elf.h: Likewise.
5277 * config/riscv/generic.md: Likewise.
5278 * config/riscv/linux.h: Likewise.
5279 * config/riscv/multilib-generator: Likewise.
5280 * config/riscv/peephole.md: Likewise.
5281 * config/riscv/pic.md: Likewise.
5282 * config/riscv/predicates.md: Likewise.
5283 * config/riscv/riscv-builtins.c: Likewise.
5284 * config/riscv/riscv-c.c: Likewise.
5285 * config/riscv/riscv-ftypes.def: Likewise.
5286 * config/riscv/riscv-modes.def: Likewise.
5287 * config/riscv/riscv-opts.h: Likewise.
5288 * config/riscv/riscv-protos.h: Likewise.
5289 * config/riscv/riscv.h: Likewise.
5290 * config/riscv/riscv.md: Likewise.
5291 * config/riscv/riscv.opt: Likewise.
5292 * config/riscv/sync.md: Likewise.
5293 * config/riscv/t-elf-multilib: Likewise.
5294 * config/riscv/t-linux: Likewise.
5295 * config/riscv/t-linux-multilib: Likewise.
5296 * config/riscv/t-riscv: Likewise.
5297 * configure.ac: Likewise.
5298 * doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
5299 Waterman as RISC-V maintainers.
5300 * doc/install.texi: Add RISC-V entries.
5301 * doc/invoke.texi: Add RISC-V options section.
5302 * doc/md.texi: Add RISC-V constraints section.
5303 * configure: Regenerated.
5304
5305 2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
5306
5307 PR target/66144
5308 * config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
5309 false values to be constant vectors with all 0 or all 1 bits set.
5310 (vcondu<mode><mode>): Likewise.
5311 * config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
5312 predicate.
5313 (fpmask_comparison_operator): Update comment.
5314 (vecint_comparison_operator): New predicate.
5315 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
5316 vector conditionals when the true and false values are constant
5317 vectors with all 0 bits or all 1 bits set.
5318
5319 2017-02-06 Martin Sebor <msebor@redhat.com>
5320
5321 PR tree-optimization/79376
5322 * gimple-fold.c (get_range_strlen): Set the minimum length to zero.
5323
5324 2017-02-06 Uros Bizjak <ubizjak@gmail.com>
5325
5326 * config/i386/sse.md (vector modes -> vec_extract* splitter): Use
5327 explicit subreg RTX with operand 1. Use VECTOR_MODE_P predicate
5328 to simplify split condition.
5329
5330 2017-02-06 Jakub Jelinek <jakub@redhat.com>
5331
5332 * omp-expand.c (oxpand_omp_atomic_fetch_op,
5333 expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
5334 false.
5335
5336 2017-02-06 Segher Boessenkool <segher@kernel.crashing.org>
5337
5338 PR rtl-optimization/68664
5339 * target.def (can_speculate_insn): New hook.
5340 * doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
5341 * doc/tm.texi: Regenerate.
5342 * sched-rgn.c (can_schedule_ready_p): Use the new hook.
5343 * config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
5344 (rs6000_sched_can_speculate_insn): New function.
5345
5346 2017-02-06 Jakub Jelinek <jakub@redhat.com>
5347
5348 PR tree-optimization/79284
5349 * tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
5350 * tree-vect-stmts.c (vect_get_vec_def_for_operand,
5351 vectorizable_mask_load_store, vectorizable_operation,
5352 vect_is_simple_cond, get_same_sized_vectype): Use it instead
5353 of comparing TREE_CODE of a type against BOOLEAN_TYPE.
5354 * tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
5355 vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
5356 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
5357 * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
5358 Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
5359 is_gimple_assign (stmt). Replace another such test with
5360 is_gimple_assign (stmt).
5361
5362 2017-02-06 Georg-Johann Lay <avr@gjlay.de>
5363
5364 PR target/78883
5365 * config/avr/avr.c (rtl-iter.h): Include it.
5366 (TARGET_LEGITIMATE_COMBINED_INSN): New hook define...
5367 (avr_legitimate_combined_insn): ...and implementation.
5368
5369 2017-02-06 Dominik Vogt <vogt@linux.vnet.ibm.com>
5370
5371 * config/s390/predicates.md ("larl_operand"): Use macros from hwint.h.
5372 * config/s390/s390.c (s390_const_operand_ok)
5373 (s390_canonicalize_comparison, s390_extract_part)
5374 (s390_single_part, s390_contiguous_bitmask_nowrap_p)
5375 (s390_contiguous_bitmask_p, s390_rtx_costs)
5376 (legitimize_pic_address): Likewise.
5377 * config/s390/s390.md ("clzdi2", "clztidi2"): Likewise.
5378 * config/s390/vx-builtins.md ("vec_genbytemaskv16qi")
5379 ("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>")
5380 ("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT.
5381 * config/s390/vector.md ("vec_vfenes<mode>"): Likewise.
5382
5383 2017-02-06 Georg-Johann Lay <avr@gjlay.de>
5384
5385 * config/avr/avr.md (*addhi3_zero_extend): Add alternative where
5386 REGNO($0) == REGNO($1).
5387
5388 2017-02-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5389
5390 * config/s390/linux.h(SIZE_TYPE): Add comment.
5391
5392 2017-02-06 Julian Brown <julian@codesourcery.com>
5393 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
5394 Virendra Pathak <virendra.pathak@broadcom.com>
5395
5396 * config/aarch64/aarch64-cores.def: Change the scheduler
5397 to Thunderx2t99.
5398 * config/aarch64/aarch64.md: Include thunderx2t99.md.
5399 * config/aarch64/thunderx2t99.md: New file.
5400
5401 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
5402
5403 * doc/standards.texi (Go Language): Update link to language
5404 standard.
5405
5406 2017-02-05 Jan Hubicka <hubicka@ucw.cz>
5407
5408 * tree-eh.c (lower_resx): Sanitize profile.
5409 (cleanup_empty_eh_move_lp): Likewise.
5410
5411 2017-02-05 Jan Hubicka <hubicka@ucw.cz>
5412
5413 PR tree-ssa/79347
5414 * cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add
5415 ELSE_PROB.
5416 * cfgloopmanip.h (loop_version): Update prototype.
5417 * modulo-sched.c (sms_schedule): Update call of loop_version.
5418 * tree-if-conv.c(version_loop_for_if_conversion): Likewise.
5419 * tree-parloops.c (gen_parallel_loop): Likewise.
5420 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
5421 * tree-ssa-loop-split.c (split_loop): Likewise.
5422 * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise.
5423 * tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
5424
5425 2017-02-05 Martin Liska <mliska@suse.cz>
5426
5427 PR bootstrap/78985
5428 * config/s390/s390.c (s390_gimplify_va_arg): Initialize local
5429 variable to NULL.
5430 (print_operand_address): Initialize a struct to zero.
5431
5432 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
5433
5434 * doc/contrib.texi (Contributors): Refer to Hans Boehm's
5435 garbage collector only in textual form.
5436
5437 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
5438
5439 * doc/extend.texi (x86 specific memory model extensions for
5440 transactional memory): Simplify a phrase.
5441
5442 2017-02-05 Eric Botcazou <ebotcazou@adacore.com>
5443
5444 PR target/79353
5445 * config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with
5446 'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32.
5447 (atomic_storedi_1): Likewise.
5448
5449 2017-02-04 Jakub Jelinek <jakub@redhat.com>
5450
5451 PR tree-optimization/79338
5452 * tree-parloops.c (gather_scalar_reductions): Don't call
5453 vect_analyze_loop_form for loop->inner before destroying loop's
5454 loop_vinfo.
5455
5456 2017-02-03 Martin Sebor <msebor@redhat.com>
5457
5458 PR tree-optimization/79327
5459 * gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix
5460 when precision has resulted in leading zeros.
5461 (format_integer): Adjust the likely counter to assume an unknown
5462 argument that may be zero is non-zero.
5463
5464 2017-02-03 Jason Merrill <jason@redhat.com>
5465
5466 PR c++/78689
5467 * tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to
5468 avoid copying non-taken branch.
5469
5470 2017-02-03 Jakub Jelinek <jakub@redhat.com>
5471
5472 PR tree-optimization/79340
5473 * tree-vect-loop.c (vectorizable_reduction): Release
5474 vec_defs elements after safe_splicing them into other vectors.
5475 Formatting fixes.
5476
5477 PR tree-optimization/79327
5478 * gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning
5479 true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of
5480 dirtype.
5481 (format_integer): Use wide_int_to_tree instead of build_int_cst
5482 + to_?hwi. If argmin is NULL, just set argmin and argmax to
5483 TYPE_{MIN,MAX}_VALUE of argtype. Simplify and fix computation
5484 of shortest and longest sequence.
5485
5486 2017-02-03 Uros Bizjak <ubizjak@gmail.com>
5487
5488 * config/i386/i386.c (dimode_scalar_chain::convert_reg):
5489 Use pextrd for TARGET_SSE4_1 when creating scalar copy.
5490
5491 2017-02-03 Walter Lee <walt@tilera.com>
5492
5493 PR target/78862
5494 * config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
5495 after initial stackframe link reg save.
5496 * config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
5497
5498 2017-02-03 Jakub Jelinek <jakub@redhat.com>
5499
5500 PR target/79354
5501 * config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of
5502 wu for stxssp alternative.
5503
5504 2017-02-03 Martin Sebor <msebor@redhat.com>
5505
5506 PR tree-optimization/79352
5507 * gimple-fold.c (get_range_strlen): Add argument.
5508 (get_range_strlen): Change return type to bool.
5509 (get_maxval_strlen): Pass in a dummy argument.
5510 * gimple-fold.h (get_range_strlen): Change return type to bool.
5511 * gimple-ssa-sprintf.c (get_string_length): Set unlikely counter.
5512 * tree.h (array_at_struct_end_p): Add argument.
5513 * tree.c (array_at_struct_end_p): Handle it.
5514
5515 2017-02-03 Martin Liska <mliska@suse.cz>
5516
5517 PR lto/66295
5518 * multiple_target.c (create_dispatcher_calls): Redirect edge
5519 from a caller of a dispatcher.
5520 (expand_target_clones): Make the clones local.
5521 (ipa_target_clone): Do both target clones and resolvers.
5522 (ipa_dispatcher_calls): Remove the pass.
5523 (pass_dispatcher_calls::gate): Likewise.
5524 (make_pass_dispatcher_calls): Likewise.
5525 * passes.def (pass_target_clone): Put as very first IPA early
5526 pass.
5527
5528 2017-02-03 Martin Liska <mliska@suse.cz>
5529
5530 * symtab.c (symtab_node::binds_to_current_def_p): Bail out
5531 in case of a function with ifunc attribute.
5532
5533 2017-02-03 Martin Liska <mliska@suse.cz>
5534
5535 * cgraph.c (cgraph_node::dump): Dump function version info.
5536 * symtab.c (symtab_node::dump_base): Add missing new line.
5537
5538 2017-02-02 Jan Hubicka <hubicka@ucw.cz>
5539
5540 * tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function.
5541 (ifcombine_ifandif): Use it.
5542
5543 2017-02-03 Martin Liska <mliska@suse.cz>
5544
5545 * doc/invoke.texi: Document default value for
5546 use-after-scope-direct-emission-threshold.
5547
5548 2017-02-03 Martin Liska <mliska@suse.cz>
5549
5550 PR tree-optimization/79339
5551 * gimple-ssa-sprintf.c (format_floating_max): Call mpfr_clear.
5552 (format_floating): Likewise.
5553
5554 2017-02-03 Martin Liska <mliska@suse.cz>
5555
5556 PR ipa/79337
5557 * ipa-prop.c (ipa_node_params_t::insert): Remove current
5558 implementation.
5559 (ipa_node_params_t::remove): Likewise.
5560 * ipa-prop.h (ipa_node_params::ipa_node_params): Make default
5561 initialization from removed ipa_node_params_t::insert.
5562 (ipa_node_params::~ipa_node_params): Move from removed
5563 ipa_node_params_t::release.
5564 * symbol-summary.h (symbol_summary::m_released): New member.
5565 Do not release a summary twice. Do not allow to call finalizer
5566 for types of a summary that live in GGC memory.
5567
5568 2017-02-02 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
5569
5570 * config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and
5571 cmp_branch fusion.
5572
5573 2017-02-02 Martin Sebor <msebor@redhat.com>
5574
5575 PR middle-end/79275
5576 * gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero.
5577 (format_string): Tighten up the range of output for non-constant
5578 strings and correct the expected range for wide non-constant strings.
5579
5580 2017-02-02 Martin Sebor <msebor@redhat.com>
5581
5582 * doc/invoke.texi (-maccumulate-args): Fix bad grammar.
5583
5584 PR middle-end/32003
5585 * doc/invoke.texi (-fdump-tree-): Remove pass-specific options from
5586 index.
5587 (-fdump-tree-@var): Add to index and document how to come up
5588 with pass-specific option and dump file names.
5589 (-fdump-passes): Clarify where to look for output.
5590
5591 2017-02-02 Jan Hubicka <hubicka@ucw.cz>
5592
5593 PR middle-end/77445
5594 * tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump
5595 statistics of the analyzed path; allow threading for speed when
5596 any of BBs along the path are optimized for speed.
5597
5598 2017-02-02 Eric Botcazou <ebotcazou@adacore.com>
5599
5600 PR middle-end/78468
5601 * emit-rtl.c (init_emit): Add ??? comment for problematic alignment
5602 settings of the virtual registers.
5603
5604 Revert again
5605 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
5606
5607 * explow.c (get_dynamic_stack_size): Take known alignment of stack
5608 pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
5609 needed.
5610
5611 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5612
5613 * config/s390/vx-builtins.md ("vec_ceil", "vec_floor")
5614 ("vec_trunc", "vec_roundc", "vec_round"): Remove expanders.
5615
5616 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5617
5618 * config/s390/s390.md: Add missing comments with the expanded
5619 mnemonics.
5620 * config/s390/vector.md: Likewise.
5621 * config/s390/vx-builtins.md: Likewise.
5622
5623 2017-02-02 Jakub Jelinek <jakub@redhat.com>
5624
5625 PR target/79197
5626 * config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
5627 (fixuns_trunc<mode>di2): ... this, remove previous expander. Put all
5628 conditions on a single line.
5629
5630 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5631
5632 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
5633 __S390_VX__ to __VX__.
5634
5635 2017-02-01 Andrew Pinski <apinski@cavium.com>
5636
5637 * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass
5638 stmt_info to record_stmt_cost.
5639 (vect_get_known_peeling_cost): Pass stmt_info if known to
5640 record_stmt_cost.
5641 * config/aarch64/aarch64-protos.h (cpu_vector_cost): Split
5642 cpu_vector_cost field into
5643 scalar_int_stmt_cost and scalar_fp_stmt_cost. Split vec_stmt_cost
5644 field into vec_int_stmt_cost and vec_fp_stmt_cost.
5645 * config/aarch64/aarch64.c (generic_vector_cost): Update for the
5646 splitting of scalar_stmt_cost and vec_stmt_cost.
5647 (thunderx_vector_cost): Likewise.
5648 (cortexa57_vector_cost): LIkewise.
5649 (exynosm1_vector_cost): Likewise.
5650 (xgene1_vector_cost): Likewise.
5651 (thunderx2t99_vector_cost): Improve after the splitting of the two
5652 fields.
5653 (aarch64_builtin_vectorization_cost): Update for the splitting of
5654 scalar_stmt_cost and vec_stmt_cost.
5655
5656 2017-02-01 Torvald Riegel <triegel@redhat.com>
5657 Richard Henderson <rth@redhat.com>
5658
5659 * builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free"
5660 conditional on existance of a fast atomic load.
5661 * optabs-query.c (can_atomic_load_p): New function.
5662 * optabs-query.h (can_atomic_load_p): Declare it.
5663 * optabs.c (expand_atomic_exchange): Always delegate to libatomic if
5664 no fast atomic load is available for the particular size of access.
5665 (expand_atomic_compare_and_swap): Likewise.
5666 (expand_atomic_load): Likewise.
5667 (expand_atomic_store): Likewise.
5668 (expand_atomic_fetch_op): Likewise.
5669 * testsuite/lib/target-supports.exp
5670 (check_effective_target_sync_int_128): Remove x86 because it provides
5671 no fast atomic load.
5672 (check_effective_target_sync_int_128_runtime): Likewise.
5673
5674 2017-02-01 Richard Biener <rguenther@suse.de>
5675
5676 * graphite.c: Include tree-vectorizer.h for find_loop_location.
5677 (graphite_transform_loops): Provide opt-info for optimized nests.
5678 * tree-parloop.c (parallelize_loops): Provide opt-info for
5679 parallelized loops.
5680
5681 2017-02-01 Richard Biener <rguenther@suse.de>
5682
5683 PR middle-end/79315
5684 * tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it
5685 was not set before.
5686
5687 2017-02-01 Richard Biener <rguenther@suse.de>
5688
5689 PR tree-optimization/71824
5690 * graphite-scop-detection.c (scop_detection::build_scop_breadth):
5691 Verify the loops are valid in the merged SESE region.
5692 (scop_detection::can_represent_loop_1): Check analyzing the
5693 evolution of the number of iterations in the region succeeds.
5694
5695 2017-01-31 Ian Lance Taylor <iant@golang.org>
5696
5697 * config/i386/i386.c (ix86_expand_split_stack_prologue): Add
5698 REG_ARGS_SIZE note to 32-bit push insns and call insn.
5699
5700 2017-01-31 David Malcolm <dmalcolm@redhat.com>
5701
5702 PR preprocessor/79210
5703 * input.c (get_substring_ranges_for_loc): Replace line_width
5704 assertion with error-handling.
5705
5706 2017-01-31 Richard Biener <rguenther@suse.de>
5707
5708 PR tree-optimization/77318
5709 * graphite-sese-to-poly.c (extract_affine): Fix assert.
5710 (create_pw_aff_from_tree): Take loop parameter.
5711 (add_condition_to_pbb): Pass loop of the condition to
5712 create_pw_aff_from_tree.
5713
5714 2017-01-31 Jakub Jelinek <jakub@redhat.com>
5715
5716 * config/s390/s390.c (s390_asan_shadow_offset): New function.
5717 (TARGET_ASAN_SHADOW_OFFSET): Redefine.
5718
5719 2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com>
5720
5721 PR target/78597
5722 PR target/79038
5723 * config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete,
5724 no longer used.
5725 (convert_int_to_float128): Likewise.
5726 * config/rs6000/rs6000.c (convert_float128_to_int): Likewise.
5727 (convert_int_to_float128): Likewise.
5728 * config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise.
5729 (UNSPEC_IEEE128_CONVERT): Likewise.
5730 (floatsi<mode>2, FLOAT128 iterator): Bypass calling
5731 rs6000_expand_float128_convert if we have IEEE 128-bit hardware.
5732 Use local variables for IBM extended format.
5733 (fix_trunc<mode>si2, FLOAT128 iterator): Likewise.
5734 (fix_trunc<mode>si2_fprs): Likewise.
5735 (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
5736 (floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise.
5737 (fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support
5738 to know that we can now have integers of all sizes in vector
5739 registers.
5740 (fix<uns>_<mode>di2_hw): Likewise.
5741 (float<uns>_<mode>si2_hw): Likewise.
5742 (fix_<mode>si2_hw): Likewise.
5743 (fixuns_<mode>si2_hw): Likewise.
5744 (float<uns>_<mode>di2_hw): Likewise.
5745 (float_<mode>di2_hw): Likewise.
5746 (float_<mode>si2_hw): Likewise.
5747 (floatuns_<mode>di2_hw): Likewise.
5748 (floatuns_<mode>si2_hw): Likewise.
5749 (xscvqp<su>wz_<mode>): Delete, no longer used.
5750 (xscvqp<su>dz_<mode>): Likewise.
5751 (xscv<su>dqp_<mode>): Likewise.
5752 (ieee128_mfvsrd_64bit): Likewise.
5753 (ieee128_mfvsrd_32bit): Likewise.
5754 (ieee128_mfvsrwz): Likewise.
5755 (ieee128_mtvsrw): Likewise.
5756 (ieee128_mtvsrd_64bit): Likewise.
5757 (ieee128_mtvsrd_32bit): Likewise.
5758
5759 2017-01-31 Martin Liska <mliska@suse.cz>
5760
5761 PR ipa/79285
5762 * ipa-prop.c (ipa_free_all_node_params): Call release method
5763 instead of ~sumbol_summary to not to trigger double times
5764 dtor of hash_map.
5765
5766 2017-01-31 Aldy Hernandez <aldyh@redhat.com>
5767
5768 PR tree-optimization/71691
5769 * bitmap.h (class auto_bitmap): New.
5770 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call
5771 is_maybe_undefined instead of ssa_undefined_value_p.
5772
5773 2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5774
5775 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
5776 __S390_ARCH_LEVEL__ to __ARCH__.
5777
5778 2017-01-31 Jakub Jelinek <jakub@redhat.com>
5779
5780 PR tree-optimization/79267
5781 * value-prof.c (gimple_ic): Only drop lhs for noreturn calls
5782 if should_remove_lhs_p is true.
5783
5784 2017-01-30 Alexandre Oliva <aoliva@redhat.com>
5785
5786 PR debug/63238
5787 * dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment.
5788 (add_alignment_attribute): New.
5789 (base_type_die): Add alignment attribute.
5790 (subrange_type_die): Likewise.
5791 (modified_type_die): Likewise.
5792 (gen_array_type_die): Likewise.
5793 (gen_descr_array_type_die: Likewise.
5794 (gen_enumeration_type_die): Likewise.
5795 (gen_subprogram_die): Likewise.
5796 (gen_variable_die): Likewise.
5797 (gen_field_die): Likewise.
5798 (gen_ptr_to_mbr_type_die): Likewise.
5799 (gen_struct_or_union_type_die): Likewise.
5800 (gen_subroutine_type_die): Likewise.
5801 (gen_typedef_die): Likewise.
5802 (base_type_cmp): Compare alignment attribute.
5803
5804 2017-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
5805
5806 PR target/79170
5807 * config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
5808 (setb_unsigned) New pattern for setb with CCUNS.
5809 * config/rs6000/rs6000.c (expand_block_compare): Use a different
5810 subfc./subfe sequence to avoid overflow problems. Generate a
5811 shorter sequence with cmpld/setb for power9.
5812 * config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
5813 for generating subfc. instruction.
5814 (cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
5815 now uses this instruction.
5816
5817 2017-01-30 Ian Lance Taylor <iant@google.com>
5818
5819 PR debug/79289
5820 * dwarf2out.c (gen_type_die_with_usage): When picking a variant
5821 for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.
5822
5823 2017-01-30 Martin Sebor <msebor@redhat.com>
5824
5825 * gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision):
5826 Move constant to the right of a relational operator.
5827 (get_mpfr_format_length, format_character, format_string): Ditto.
5828 (should_warn_p, maybe_warn): Same.
5829
5830 * doc/invoke.texi (-Wformat-truncation=1): Fix typo.
5831
5832 2017-01-30 Maxim Ostapenko <m.ostapenko@samsung.com>
5833
5834 PR lto/79061
5835 * asan.c (get_translation_unit_decl): Remove function.
5836 (asan_add_global): Force has_dynamic_init to zero in LTO mode.
5837
5838 2017-01-30 Martin Liska <mliska@suse.cz>
5839
5840 PR gcov-profile/79259
5841 * opts.c (common_handle_option): Enable flag_ipa_bit_cp w/
5842 -fprofile-generate.
5843
5844 2017-01-30 Martin Liska <mliska@suse.cz>
5845
5846 PR bootstrap/78985
5847 * config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze):
5848 Initialize variables with NULL value.
5849
5850 2017-01-30 Richard Earnshaw <rearnsh@arm.com>
5851
5852 PR target/79260
5853 * config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to
5854 tm_p_file.
5855 * arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h.
5856
5857 2017-01-30 Richard Biener <rguenther@suse.de>
5858
5859 PR tree-optimization/79276
5860 * tree-vrp.c (process_assert_insertions): Properly adjust common
5861 when removing a duplicate.
5862
5863 * gcc.dg/torture/pr79276.c: New testcase.
5864
5865 2017-01-30 Richard Biener <rguenther@suse.de>
5866
5867 PR tree-optimization/79256
5868 * targhooks.c (default_builtin_vector_alignment_reachable): Honor
5869 BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
5870 alignment on TYPE.
5871 * tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
5872
5873 2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com>
5874
5875 PR target/79240
5876 * config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask")
5877 ("*r<noxa>sbg_<mode>_sll_bitmask")
5878 ("*extzv_<mode>_srl<clobbercc_or_nocc>")
5879 ("*extzv_<mode>_sll<clobbercc_or_nocc>"):
5880 Use contiguous_bitmask_nowrap_operand.
5881
5882 2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5883
5884 PR target/79268
5885 * config/rs6000/altivec.h (vec_xl): Revise #define.
5886 (vec_xst): Likewise.
5887
5888 2017-01-27 Uros Bizjak <ubizjak@gmail.com>
5889
5890 * config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
5891
5892 2017-01-27 Bernd Schmidt <bschmidt@redhat.com>
5893
5894 PR rtl-optimization/79194
5895 * cprop.c (one_cprop_pass): Move deletion of code after unconditional
5896 traps before call to bypass_conditional_jumps.
5897
5898 2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
5899
5900 PR tree-optimization/71374
5901 * lra-constraints.c (check_conflict_input_operands): New.
5902 (match_reload): Use it.
5903
5904 2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
5905
5906 PR target/79131
5907 * lra-assigns.c (find_hard_regno_for_1): Take endianess for into
5908 account to calculate conflict_set.
5909
5910 2017-01-27 Bin Cheng <bin.cheng@arm.com>
5911
5912 PR rtl-optimization/78559
5913 * combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for
5914 other_insn in combine.
5915
5916 2017-01-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
5917
5918 * builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use
5919 uint16_type_node for BT_UINT16.
5920
5921 2017-01-27 David Malcolm <dmalcolm@redhat.com>
5922
5923 * doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
5924 "RTL Tests" to menu.
5925 (GIMPLE Tests): New node.
5926 (RTL Tests): New node.
5927
5928 2017-01-27 Richard Biener <rguenther@suse.de>
5929
5930 PR tree-optimization/79245
5931 * tree-loop-distribution.c (distribute_loop): Apply cost
5932 modeling also to detected patterns.
5933
5934 2017-01-27 Richard Biener <rguenther@suse.de>
5935
5936 PR tree-optimization/71433
5937 * tree-vrp.c (register_new_assert_for): Revert earlier changes.
5938 (compare_assert_loc): New function.
5939 (process_assert_insertions): Sort and optimize assert locations
5940 to remove duplicates and push down identical assertions on
5941 edges to their destination block.
5942
5943 2017-01-27 Richard Biener <rguenther@suse.de>
5944
5945 PR tree-optimization/79244
5946 * tree-vrp.c (remove_range_assertions): Forcefully propagate
5947 out SSA names even if abnormal.
5948
5949 2017-01-27 Jakub Jelinek <jakub@redhat.com>
5950
5951 * realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
5952 * gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
5953 instead of MPFR_RNDN.
5954
5955 2017-01-27 Richard Earnshaw <rearnsha@arm.com>
5956
5957 PR target/79239
5958 * arm.c (arm_option_override): Don't call build_target_option_node
5959 until after doing all option overrides.
5960 (arm_valid_target_attribute_tree): Likewise.
5961
5962 2017-01-27 Martin Liska <mliska@suse.cz>
5963
5964 * doc/invoke.texi (-fprofile-arcs): Document profiling support
5965 for {cd}tors and C++ {cd}tors.
5966
5967 2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
5968
5969 * config/s390/s390.md ("*setmem_long_and")
5970 ("*setmem_long_and_31z"): Use zero_extend instead of and.
5971
5972 2017-01-26 Martin Sebor <msebor@redhat.com>
5973
5974 * gimple-ssa-sprintf.c (format_floating): Simplify the computation
5975 of precision.
5976
5977 2017-01-26 Martin Sebor <msebor@redhat.com>
5978
5979 * gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
5980 HAVE_DFmode before using XFmode or DFmode.
5981 (parse_directive): Avoid using the z length modifier to avoid
5982 the ISO C++98 does not support the ‘z’ gnu_printf length modifier.
5983
5984 PR middle-end/78703
5985 * gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
5986 to accept adjustment as an array.
5987 (get_int_range): New function.
5988 (struct directive): Make width and prec arrays.
5989 (directive::set_width, directive::set_precision): Call get_int_range.
5990 (format_integer, format_floating): Handle width and precision ranges.
5991 (format_string, parse_directive): Same.
5992
5993 2017-01-26 Jakub Jelinek <jakub@redhat.com>
5994
5995 PR debug/79129
5996 * dwarf2out.c (generate_skeleton_bottom_up): For children with
5997 comdat_type_p set, just clone them, but keep the children in the
5998 original DIE.
5999
6000 PR debug/78835
6001 * dwarf2out.c (prune_unused_types): Mark all functions with DIEs
6002 which have direct callers with -fvar-tracking-assignments enabled
6003 in the current TU.
6004 (resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
6005 inside of type units.
6006
6007 2017-01-26 Martin Sebor <msebor@redhat.com>
6008
6009 PR middle-end/78703
6010 * gimple-ssa-sprintf.c (struct result_range): Add likely and
6011 unlikely counters.
6012 (struct format_result): Replace number_chars, number_chars_min,
6013 and number_chars_max with a single member of struct result_range.
6014 Remove bounded.
6015 (format_result::operator+=): Adjust.
6016 (struct fmtresult): Remove bounded. Handle likely and unlikely
6017 counters.
6018 (fmtresult::adjust_for_width_or_precision): New function.
6019 (fmtresult:type_max_digits): New function.
6020 (bytes_remaining): Handle likely and unlikely counters.
6021 (min_bytes_remaining): Remove.
6022 (format_percent): Simplify.
6023 (format_integer, format_floating): Set likely and unlikely counters.
6024 (get_string_length, format_character, format_string): Same.
6025 (format_plain, should_warn_p): New function.
6026 (maybe_warn): Call should_warn_p. Update diagnostic messages
6027 and handle those for all directives, including plain strings.
6028 (format_directive): Handle likely and unlikely counters.
6029 Remove unnecessary quoting from diagnostics. Add an informational
6030 note.
6031 (add_bytes): Remove.
6032 (pass_sprintf_length::compute_format_length): Simplify.
6033 (try_substitute_return_value): Handle likely and unlikely counters.
6034
6035 2017-01-26 Carl Love <cel@us.ibm.com>
6036
6037 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove
6038 bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins
6039
6040 2017-01-26 Vladimir Makarov <vmakarov@redhat.com>
6041
6042 PR target/79131
6043 * lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take
6044 endianess for subregs into account.
6045 * lra-constraints.c (lra_constraints): Do risky transformations
6046 always on the first iteration.
6047 * lra-lives.c (check_pseudos_live_through_calls): Add arg
6048 last_call_used_reg_set.
6049 (process_bb_lives): Define and use last_call_used_reg_set.
6050 * lra.c (lra): Always continue after lra_constraints on the first
6051 iteration.
6052
6053 2017-01-26 Kirill Yukhin <kirill.yukhin@gmail.com>
6054
6055 * gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long
6056 constant.
6057 * gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
6058
6059 2017-01-26 Jakub Jelinek <jakub@redhat.com>
6060
6061 * config/i386/avx512fintrin.h (_ktest_mask16_u8,
6062 _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ...
6063 * config/i386/avx512dqintrin.h (_ktest_mask16_u8,
6064 _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here.
6065 * config/i386/i386-builtin.def (__builtin_ia32_ktestchi,
6066 __builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use
6067 OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F.
6068 * config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator.
6069 (kadd<mode>, ktest<mode>): Use it instead of SWI1248_AVX512BWDQ.
6070
6071 2017-01-26 Marek Polacek <polacek@redhat.com>
6072
6073 PR c/79199
6074 * fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL
6075 for the third operand.
6076
6077 2017-01-26 Jakub Jelinek <jakub@redhat.com>
6078
6079 PR middle-end/79236
6080 * omp-low.c (struct omp_context): Add simt_stmt field.
6081 (scan_omp_for): Return omp_context *.
6082 (scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD
6083 context to the _simt_ SIMD stmt.
6084 (lower_omp_for): For combined SIMD with sibling _simt_
6085 SIMD, make sure to use the same decls in _looptemp_
6086 clauses as in the sibling.
6087
6088 2017-01-26 David Sherwood <david.sherwood@arm.com>
6089
6090 PR middle-end/79212
6091 * gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in
6092 all contexts.
6093
6094 2017-01-26 Jakub Jelinek <jakub@redhat.com>
6095
6096 PR target/70465
6097 * reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1);
6098 emit fld b; fld a; if possible.
6099
6100 * brig-builtins.def: Update copyright years.
6101 * config/arm/arm_acle_builtins.def: Update copyright years.
6102
6103 2017-01-25 Michael Meissner <meissner@linux.vnet.ibm.com>
6104
6105 PR target/79179
6106 * config/rs6000/vsx.md (vsx_extract_<mode>_store): Use wY
6107 constraint instead of o for the stxsd instruction.
6108
6109 2017-01-25 Carl Love <cel@us.ibm.com>
6110
6111 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
6112 of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD.
6113
6114 2017-01-25 Jonathan Wakely <jwakely@redhat.com>
6115
6116 * doc/invoke.texi (C++ Dialect Options): Fix typo.
6117
6118 2017-01-25 Richard Biener <rguenther@suse.de>
6119
6120 PR tree-optimization/69264
6121 * target.def (vector_alignment_reachable): Improve documentation.
6122 * doc/tm.texi: Regenerate.
6123 * targhooks.c (default_builtin_vector_alignment_reachable): Simplify
6124 and add a comment.
6125 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert
6126 earlier changes with respect to TYPE_USER_ALIGN.
6127 (vector_alignment_reachable_p): Likewise. Improve dumping.
6128
6129 2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6130
6131 PR target/79145
6132 * config/arm/arm.md (xordi3): Force constant operand into a register
6133 for TARGET_IWMMXT.
6134
6135 2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6136
6137 * doc/invoke.texi (-fstore-merging): Correct default optimization
6138 levels at which it is enabled.
6139 (-O): Move -fstore-merging from list to...
6140 (-O2): ... Here.
6141
6142 2017-01-25 Richard Biener <rguenther@suse.de>
6143
6144 PR debug/78363
6145 * omp-expand.c: Include debug.h.
6146 (expand_omp_taskreg): Make sure to generate early debug before
6147 outlining anything from a function.
6148 (expand_omp_target): Likewise.
6149 (grid_expand_target_grid_body): Likewise.
6150
6151 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
6152
6153 PR lto/79061
6154 * asan.c (get_translation_unit_decl): New function.
6155 (asan_add_global): Extract modules file name from globals
6156 TRANSLATION_UNIT_DECL name.
6157
6158 2017-01-24 Eric Botcazou <ebotcazou@adacore.com>
6159
6160 PR target/77439
6161 * config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
6162 for long calls with APCS frame and VFP.
6163
6164 2017-01-24 David Malcolm <dmalcolm@redhat.com>
6165
6166 * cfg.c (original_copy_tables_initialized_p): New function.
6167 * cfg.h (original_copy_tables_initialized_p): New decl.
6168 * cfgrtl.c (relink_block_chain): Guard the call to
6169 free_original_copy_tables with a call to
6170 original_copy_tables_initialized_p.
6171 * cgraph.h (symtab_node::native_rtl_p): New decl.
6172 * cgraphunit.c (symtab_node::native_rtl_p): New function.
6173 (symtab_node::needed_p): Don't assert for early assembly output
6174 for __RTL functions.
6175 (cgraph_node::finalize_function): Set "force_output" for __RTL
6176 functions.
6177 (cgraph_node::analyze): Bail out early for __RTL functions.
6178 (analyze_functions): Update assertion to support __RTL functions.
6179 (cgraph_node::expand): Bail out early for __RTL functions.
6180 * final.c (rest_of_clean_state): Don't call delete_tree_ssa for
6181 __RTL functions.
6182 * function.h (struct function): Update comment for field
6183 "pass_startwith".
6184 * gimple-expr.c: Include "tree-pass.h".
6185 (gimple_has_body_p): Return false for __RTL functions.
6186 * Makefile.in (OBJS): Add run-rtl-passes.o.
6187 * pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New
6188 accessor.
6189 (gcc::pass_manager::get_clean_slate): New accessor.
6190 * passes.c: Include "insn-addr.h".
6191 (should_skip_pass_p): Add logging. Update logic for running
6192 "expand" to be compatible with both __GIMPLE and __RTL. Guard
6193 property-provider override so it is only done for gimple passes.
6194 Don't skip dfinit.
6195 (skip_pass): New function.
6196 (execute_one_pass): Call skip_pass when skipping passes.
6197 * read-md.c (md_reader::read_char): Support filtering
6198 the input to a subset of line numbers.
6199 (md_reader::md_reader): Initialize fields
6200 m_first_line and m_last_line.
6201 (md_reader::read_file_fragment): New function.
6202 * read-md.h (md_reader::read_file_fragment): New decl.
6203 (md_reader::m_first_line): New field.
6204 (md_reader::m_last_line): New field.
6205 * read-rtl-function.c (function_reader::create_function): Only
6206 create cfun if it doesn't already exist. Set PROP_rtl on cfun's
6207 curr_properties. Set DECL_INITIAL to a dummy block.
6208 (read_rtl_function_body_from_file_range): New function.
6209 * read-rtl-function.h (read_rtl_function_body_from_file_range):
6210 New decl.
6211 * run-rtl-passes.c: New file.
6212 * run-rtl-passes.h: New file.
6213
6214 2017-01-24 Jeff Law <law@redhat.com>
6215
6216 * config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase
6217 buffer size.
6218
6219 2017-01-24 Bin Cheng <bin.cheng@arm.com>
6220
6221 PR tree-optimization/79159
6222 * tree-ssa-loop-niter.c (get_cst_init_from_scev): New function.
6223 (record_nonwrapping_iv): Improve boundary using above function if no
6224 value range information.
6225
6226 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
6227 Martin Jambor <mjambor@suse.cz>
6228
6229 * brig-builtins.def: New file.
6230 * builtins.def (DEF_HSAIL_BUILTIN): New macro.
6231 (DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
6232 (DEF_HSAIL_SAT_BUILTIN): Likewise.
6233 (DEF_HSAIL_INTR_BUILTIN): Likewise.
6234 (DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
6235 * builtin-types.def (BT_INT8): New.
6236 (BT_INT16): Likewise.
6237 (BT_UINT8): Likewise.
6238 (BT_UINT16): Likewise.
6239 (BT_FN_ULONG): Likewise.
6240 (BT_FN_UINT_INT): Likewise.
6241 (BT_FN_UINT_ULONG): Likewise.
6242 (BT_FN_UINT_LONG): Likewise.
6243 (BT_FN_UINT_PTR): Likewise.
6244 (BT_FN_ULONG_PTR): Likewise.
6245 (BT_FN_INT8_FLOAT): Likewise.
6246 (BT_FN_INT16_FLOAT): Likewise.
6247 (BT_FN_UINT32_FLOAT): Likewise.
6248 (BT_FN_UINT16_FLOAT): Likewise.
6249 (BT_FN_UINT8_FLOAT): Likewise.
6250 (BT_FN_UINT64_FLOAT): Likewise.
6251 (BT_FN_UINT16_UINT32): Likewise.
6252 (BT_FN_UINT32_UINT16): Likewise.
6253 (BT_FN_UINT16_UINT16_UINT16): Likewise.
6254 (BT_FN_INT_PTR_INT): Likewise.
6255 (BT_FN_UINT_PTR_UINT): Likewise.
6256 (BT_FN_LONG_PTR_LONG): Likewise.
6257 (BT_FN_ULONG_PTR_ULONG): Likewise.
6258 (BT_FN_VOID_UINT64_UINT64): Likewise.
6259 (BT_FN_UINT8_UINT8_UINT8): Likewise.
6260 (BT_FN_INT8_INT8_INT8): Likewise.
6261 (BT_FN_INT16_INT16_INT16): Likewise.
6262 (BT_FN_INT_INT_INT): Likewise.
6263 (BT_FN_UINT_FLOAT_UINT): Likewise.
6264 (BT_FN_FLOAT_UINT_UINT): Likewise.
6265 (BT_FN_ULONG_UINT_UINT): Likewise.
6266 (BT_FN_ULONG_UINT_PTR): Likewise.
6267 (BT_FN_ULONG_ULONG_ULONG): Likewise.
6268 (BT_FN_UINT_UINT_UINT): Likewise.
6269 (BT_FN_VOID_UINT_PTR): Likewise.
6270 (BT_FN_UINT_UINT_PTR: Likewise.
6271 (BT_FN_UINT32_UINT64_PTR): Likewise.
6272 (BT_FN_INT_INT_UINT_UINT): Likewise.
6273 (BT_FN_UINT_UINT_UINT_UINT): Likewise.
6274 (BT_FN_UINT_UINT_UINT_PTR): Likewise.
6275 (BT_FN_UINT_ULONG_ULONG_UINT): Likewise.
6276 (BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise.
6277 (BT_FN_LONG_LONG_UINT_UINT): Likewise.
6278 (BT_FN_ULONG_ULONG_UINT_UINT): Likewise.
6279 (BT_FN_VOID_UINT32_UINT64_PTR): Likewise.
6280 (BT_FN_VOID_UINT32_UINT32_PTR): Likewise.
6281 (BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise.
6282 (BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise.
6283 (BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise.
6284 * doc/frontends.texi: List BRIG FE.
6285 * doc/install.texi (Testing): Add BRIG tesring requirements.
6286 * doc/invoke.texi (Overall Options): Mention BRIG.
6287 * doc/standards.texi (Standards): Doucment BRIG HSA version.
6288
6289 2017-01-24 Richard Biener <rguenther@suse.de>
6290
6291 PR translation/79208
6292 * ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic.
6293
6294 2017-01-24 Martin Jambor <mjambor@suse.cz>
6295
6296 PR bootstrap/79198
6297 * ipa-prop.c (ipa_free_all_node_params): Call summary destructor.
6298 * ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts
6299 and known_contexts.
6300
6301 2017-01-24 Aldy Hernandez <aldyh@redhat.com>
6302
6303 PR middle-end/79123
6304 * gimple-ssa-warn-alloca.c (alloca_call_type): Make sure
6305 casts from signed to unsigned really don't have a range.
6306
6307 2017-01-24 Markus Trippelsdorf <markus@trippelsdorf.de>
6308
6309 * gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
6310 GMP_RNDx for compatiblity.
6311
6312 2017-01-24 Martin Liska <mliska@suse.cz>
6313
6314 PR bootstrap/79132
6315 * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert
6316 that would prevent us to call alloca with -1 as argument.
6317
6318 2017-01-24 Jakub Jelinek <jakub@redhat.com>
6319
6320 * dwarf2out.c (output_compilation_unit_header, output_file_names):
6321 Avoid -Wformat-security warning.
6322
6323 2017-01-23 Andrew Pinski <apinski@cavium.com>
6324
6325 * config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve
6326 cost table.
6327
6328 2017-01-23 Martin Sebor <msebor@redhat.com>
6329
6330 PR middle-end/78703
6331 * gimple-ssa-sprintf.c (warn_level): New global.
6332 (format_integer): Use it here and throughout the rest of the file.
6333 Use the same switch to compute sign as base.
6334 (maybe_warn): New function.
6335 (format_directive): Factor out warnings into maybe_warn.
6336 Add debugging output. Use warn_level.
6337 (add_bytes): Use warn_level.
6338 (pass_sprintf_length::compute_format_length): Add debugging output.
6339 (try_substitute_return_value): Same.
6340 (pass_sprintf_length::handle_gimple_call): Set and use warn_level.
6341
6342 PR middle-end/78703
6343 * gimple-ssa-sprintf.c (struct format_result): Remove constant member.
6344 (struct fmtresult, format_integer, format_floating): Adjust.
6345 (fmtresult::fmtresult): Set max correctly in two argument ctor.
6346 (get_string_length, format_string,format_directive): Same.
6347 (pass_sprintf_length::compute_format_length): Same.
6348 (try_substitute_return_value): Simplify slightly.
6349
6350 PR middle-end/78703
6351 * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
6352 (fmtresult::operator+=): Outlined.
6353 (struct fmtresult): Add ctors.
6354 (struct conversion_spec): Rename...
6355 (struct directive): ...to this. Add and remove data members.
6356 (directive::set_width, directive::set_precision): New functions.
6357 (format_percent): Use fmtresult ctor.
6358 (get_width_and_precision): Remove.
6359 (format_integer): Make naming changes. Avoid computing width and
6360 precision.
6361 (format_floating): Same. Adjust indentation.
6362 (format_character, format_none): New functions.
6363 (format_string): Moved character handling to format_character.
6364 (format_directive): Remove arguments, change return type.
6365 (parse_directive): New function.
6366 (pass_sprintf_length::compute_format_length): Move directive
6367 parsing to parse_directive.
6368
6369 2017-01-23 Jakub Jelinek <jakub@redhat.com>
6370
6371 * tree.h (assign_assembler_name_if_neeeded): Rename to ...
6372 (assign_assembler_name_if_needed): ... this.
6373 * tree.c (assign_assembler_name_if_neeeded): Rename to ...
6374 (assign_assembler_name_if_needed): ... this.
6375 (free_lang_data_in_cgraph): Adjust callers.
6376 * cgraphunit.c (cgraph_node::analyze): Likewise.
6377 * omp-expand.c (expand_omp_taskreg, expand_omp_target):
6378 Likewise.
6379
6380 2017-01-23 Richard Biener <rguenther@suse.de>
6381
6382 PR tree-optimization/79088
6383 PR tree-optimization/79188
6384 * tree-ssa-threadupdate.c (mark_threaded_blocks): Move code
6385 resetting loop bounds after last path deletion. Reset loop
6386 bounds of the target loop, make code match the comments.
6387 * tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute):
6388 Make sure loops need no fixups.
6389
6390 2017-01-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
6391
6392 * config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert
6393 exponent support with double type for first argument.
6394 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed
6395 type returned by __builtin_vec_extract_sig,
6396 __builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp
6397 functions from "vector int" to "vector unsigned int" or from
6398 "vector long long int" to "vector unsigned long long int".
6399 Changed type returned by __builtin_vec_extract_exp,
6400 __builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp
6401 functions from "vector int" to "vector unsigned int" or from
6402 "vector long long int" to "vector unsigned long long int".
6403 Changed return type of __builtin_vec_test_data_class,
6404 __builtin_vec_test_data_class_sp, and
6405 __builtin_vec_test_data_class_dp from "vector int" to
6406 "vector bool int" or from "vector long long int" to "vector bool
6407 long long int" and changed second argument type from "unsigned
6408 int" to "int". Added new overloaded function forms "vector float
6409 __builtin_vec_insert_exp (vector float, vector unsigned int)" and
6410 "vector float __builtin_vec_insert_exp_sp (vector float, vector
6411 unsigned int)" and "vector double __builtin_vec_insert_exp (vector
6412 double, vector unsigned long long int)" and "vector double
6413 __builtin_vec_insert_exp_dp (vector double, vector unsigned long
6414 long int)". Changed return type of
6415 __builtin_scalar_test_data_class and
6416 __builtin_scalar_test_data_class_sp and
6417 __builtin_scalar_test_data_class_dp from "unsigned int" to "bool
6418 int" and changed second argument from "unsigned int" to "int".
6419 Changed type returned by __builtin_scalar_test_neg,
6420 __builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp
6421 from "int" to "bool int". Added new overloaded function form
6422 "double __builtin_scalar_insert_exp (double, unsigned long long int)".
6423 * config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert
6424 exponent double-precision with floating point first argument.
6425 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
6426 documentation of scalar_test_data_class, scalar_test_neg,
6427 scalar_extract_sig, scalar_extract_exp, scalar_insert_exp,
6428 vector_extract_exp, vec_extract_sig, vec_insert_exp, and
6429 vec_test_data_class built-in functions to reflect refinements in
6430 their type signatures.
6431
6432 2017-01-23 Andreas Tobler <andreast@gcc.gnu.org>
6433
6434 * config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase
6435 size of buf.
6436 (aarch64_elf_asm_destructor): Likewise.
6437
6438 2017-01-23 Bernd Schmidt <bschmidt@redhat.com>
6439
6440 PR rtl-optimization/78634
6441 * config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function.
6442 (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define.
6443 * ifcvt.c (noce_try_cmove): Add missing cost check.
6444
6445 PR rtl-optimization/71724
6446 * combine.c (if_then_else_cond): Look for situations where it is
6447 beneficial to undo the work of one of the recursive calls.
6448
6449 2017-01-23 Bin Cheng <bin.cheng@arm.com>
6450
6451 PR tree-optimization/70754
6452 * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
6453 (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert
6454 combined stmt before it if not NULL.
6455 (combine_chains): Process refs reversely and compute dominance point
6456 for root ref.
6457
6458 2017-01-23 Martin Liska <mliska@suse.cz>
6459
6460 PR tree-optimization/79196
6461 * tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ...
6462 (fold_strstr_to_strncmp): ... this. Fold the pattern to strncmp
6463 instead of memcmp.
6464 (strlen_optimize_stmt): Call the renamed function.
6465
6466 2017-01-23 Michael Matz <matz@suse.de>
6467
6468 PR tree-optimization/78384
6469 * tree-ssa-loop-split.c (patch_loop_exit): Use correct edge.
6470
6471 2017-01-23 Richard Biener <rguenther@suse.de>
6472
6473 PR tree-optimization/79186
6474 * tree-vrp.c (register_new_assert_for): Make sure we've seen
6475 both incoming edges before moving an assert.
6476
6477 2017-01-23 Martin Jambor <mjambor@suse.cz>
6478
6479 * ipa-prop.c (load_from_param_1): Removed.
6480 (load_from_unmodified_param): Bits from load_from_param_1 put back
6481 here.
6482 (load_from_param): Removed.
6483 (compute_complex_assign_jump_func): Removed stmt2 and just replaced it
6484 with stmt. Reverted back to use of load_from_unmodified_param.
6485
6486 2017-01-23 Martin Jambor <mjambor@suse.cz>
6487
6488 PR ipa/79108
6489 * ipa-prop.h (ipa_param_descriptor): Anotate with with GTY(()).
6490 (ipa_node_params): Annotate with GTY((for_user)). Make descriptors
6491 field a pointer to garbage collected vector, mark lattices and
6492 ipcp_orig_node with GTY((skip)).
6493 (ipa_get_param_count): Adjust to descriptors being a pointer.
6494 (ipa_get_param): Likewise.
6495 (ipa_get_type): Likewise.
6496 (ipa_get_param_move_cost): Likewise.
6497 (ipa_set_param_used): Likewise.
6498 (ipa_get_controlled_uses): Likewise.
6499 (ipa_set_controlled_uses): Likewise.
6500 (ipa_is_param_used): Likewise.
6501 (ipa_node_params_t): Move into garbage collector. New methods insert
6502 and remove.
6503 (ipa_node_params_sum): Annotate wth GTY(()).
6504 (ipa_check_create_node_params): Adjust to ipa_node_params_sum being
6505 garbage collected.
6506 (ipa_load_from_parm_agg): Adjust declaration.
6507 * ipa-icf.c (param_used_p): Adjust to descriptors being a pointer.
6508 * ipa-profile.c (ipa_profile): Likewise.
6509 * ipa-prop.c (ipa_get_param_decl_index_1): Likewise.
6510 (ipa_populate_param_decls): Make descriptors parameter garbage
6511 collected.
6512 (ipa_dump_param): Adjust to descriptors being a pointer.
6513 (ipa_alloc_node_params): Likewise.
6514 (ipa_initialize_node_params): Likewise.
6515 (load_from_param_1): Make descriptors parameter garbage collected.
6516 (load_from_unmodified_param): Likewise.
6517 (load_from_param): Likewise.
6518 (ipa_load_from_parm_agg): Likewise.
6519 (ipa_node_params::~ipa_node_params): Removed.
6520 (ipa_free_all_node_params): Remove call to delete operator.
6521 (ipa_node_params_t::insert): New.
6522 (ipa_node_params_t::remove): Likewise.
6523 (ipa_node_params_t::duplicate): Adjust to descriptors being a pointer,
6524 copy known_csts and known_contexts vectors.
6525 (ipa_read_node_info): Adjust to descriptors being a pointer.
6526 (ipcp_modif_dom_walker): Make m_descriptors field garbage
6527 collected.
6528 (ipcp_transform_function): Make descriptors variable garbage
6529 collected.
6530
6531 2017-01-23 Andrew Senkevich <andrew.senkevich@intel.com>
6532
6533 * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.
6534 * config/i386/avx512dqintrin.h: Ditto.
6535 * config/i386/avx512fintrin.h: Ditto.
6536 * gcc/config/i386/i386.c: Handle new builtins.
6537 * config/i386/i386-builtin.def: Add new builtins.
6538 * config/i386/sse.md (ktest<mode>, kortest<mode>): New.
6539 (UNSPEC_KORTEST, UNSPEC_KTEST): New.
6540
6541 2017-01-23 Jakub Jelinek <jakub@redhat.com>
6542 Martin Liska <mliska@suse.cz>
6543
6544 * asan.h: Define ASAN_USE_AFTER_SCOPE_ATTRIBUTE.
6545 * asan.c (asan_expand_poison_ifn): Support stores and use
6546 appropriate ASAN report function.
6547 * internal-fn.c (expand_ASAN_POISON_USE): New function.
6548 * internal-fn.def (ASAN_POISON_USE): Declare.
6549 * tree-into-ssa.c (maybe_add_asan_poison_write): New function.
6550 (maybe_register_def): Create ASAN_POISON_USE when sanitizing.
6551 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove
6552 ASAN_POISON calls w/o LHS.
6553 * tree-ssa.c (execute_update_addresses_taken): Create clobber
6554 for ASAN_MARK (UNPOISON, &x, ...) in order to prevent usage of a LHS
6555 from ASAN_MARK (POISON, &x, ...) coming to a PHI node.
6556 * gimplify.c (asan_poison_variables): Add attribute
6557 use_after_scope_memory to variables that really needs to live
6558 in memory.
6559 * tree-ssa.c (is_asan_mark_p): Do not rewrite into SSA when
6560 having the attribute.
6561
6562 2017-01-23 Martin Liska <mliska@suse.cz>
6563
6564 * asan.c (create_asan_shadow_var): New function.
6565 (asan_expand_poison_ifn): Likewise.
6566 * asan.h (asan_expand_poison_ifn): New declaration.
6567 * internal-fn.c (expand_ASAN_POISON): Likewise.
6568 * internal-fn.def (ASAN_POISON): New builtin.
6569 * sanopt.c (pass_sanopt::execute): Expand
6570 asan_expand_poison_ifn.
6571 * tree-inline.c (copy_decl_for_dup_finish): Make function
6572 external.
6573 * tree-inline.h (copy_decl_for_dup_finish): Likewise.
6574 * tree-ssa.c (is_asan_mark_p): New function.
6575 (execute_update_addresses_taken): Rewrite local variables
6576 (identified just by use-after-scope as addressable) into SSA.
6577
6578 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
6579
6580 * doc/install.texi (Specific): opensource.apple.com uses https
6581 now. Remove trailing slash.
6582
6583 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
6584
6585 * README.Portability: Remove note on an Irix compatibility issue.
6586
6587 2017-01-22 Dimitry Andric <dim@FreeBSD.org>
6588
6589 * gcov.c (INCLUDE_ALGORITHM): Define.
6590 (INCLUDE_VECTOR): Define.
6591 No longer include <vector> and <algorithm> directly.
6592
6593 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
6594
6595 * doc/extend.texi (Thread-Local): Change www.akkadia.org reference
6596 to https.
6597 * doc/invoke.texi (Code Gen Options): Ditto.
6598
6599 2017-01-21 Jan Hubicka <hubicka@ucw.cz>
6600
6601 PR lto/78407
6602 * cfg.c (update_bb_profile_for_threading): Fix updating of probablity.
6603
6604 2017-01-21 Bernd Schmidt <bschmidt@redhat.com>
6605
6606 rtl-optimization/79125
6607 * cprop.c (local_cprop_pass): Handle cases where we make an
6608 unconditional trap.
6609
6610 2017-01-20 Segher Boessenkool <segher@kernel.crashing.org>
6611
6612 PR target/61729
6613 PR target/77850
6614 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
6615 read from, for big endian.
6616
6617 2017-01-20 Jiong Wang <jiong.wang@arm.com>
6618
6619 * config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
6620 register pauth builtins for LP64 only.
6621
6622 2017-01-20 Marek Polacek <polacek@redhat.com>
6623
6624 PR c/79152
6625 * gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive
6626 non-case labels.
6627
6628 2017-01-20 Alexander Monakov <amonakov@ispras.ru>
6629
6630 * omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless
6631 of safelen status.
6632 * omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev.
6633 * passes.c (dump_properties): Handle PROP_gimple_lomp_dev.
6634 * tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev.
6635
6636 2017-01-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6637
6638 PR target/71270
6639 * config/arm/arm.c (neon_valid_immediate): Reject vector constants
6640 in big-endian mode when they are not a single duplicated value.
6641
6642 2017-01-20 Richard Biener <rguenther@suse.de>
6643
6644 * BASE-VER: Bump to 7.0.1.
6645
6646 2017-01-20 Alexander Monakov <amonakov@ispras.ru>
6647
6648 * omp-low.c (omplow_simd_context): New struct. Use it...
6649 (lower_rec_simd_input_clauses): ...here and...
6650 (lower_rec_input_clauses): ...here to hold common data. Adjust all
6651 references to idx, lane, max_vf, is_simt.
6652
6653 2017-01-20 Graham Markall <graham.markall@embecosm.com>
6654
6655 * config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when
6656 mcpu=nps400.
6657
6658 2017-01-20 Martin Jambor <mjambor@suse.cz>
6659
6660 * hsa.h: Renaed to hsa-common.h. Adjusted a comment.
6661 * hsa.c: Renaed to hsa-common.c. Change include of gt-hsa.h to
6662 gt-hsa-common.h.
6663 * Makefile.in (OBJS): Rename hsa.o to hsa-common.o.
6664 (GTFILES): Rename hsa.c to hsa-common.c.
6665 * hsa-brig.c: Change include of hsa.h to hsa-common.h.
6666 * hsa-dump.c: Likewise.
6667 * hsa-gen.c: Likewise.
6668 * hsa-regalloc.c: Likewise.
6669 * ipa-hsa.c: Likewise.
6670 * omp-expand.c: Likewise.
6671 * omp-low.c: Likewise.
6672 * toplev.c: Likewise.
6673
6674 2017-01-20 Marek Polacek <polacek@redhat.com>
6675
6676 PR c/64279
6677 * doc/invoke.texi: Document -Wduplicated-branches.
6678 * fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR,
6679 COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR,
6680 POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT,
6681 STATEMENT_LIST, and RETURN_EXPR. For non-pure non-const functions
6682 return 0 only when not OEP_LEXICOGRAPHIC.
6683 (fold_build_cleanup_point_expr): Use the expression
6684 location when building CLEANUP_POINT_EXPR.
6685 * tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC.
6686 * tree.c (add_expr): Handle error_mark_node.
6687
6688 2017-01-20 Martin Liska <mliska@suse.cz>
6689
6690 PR lto/69188
6691 * tree-profile.c (init_ic_make_global_vars): Do not call
6692 finalize_decl.
6693 (gimple_init_gcov_profiler): Likewise.
6694
6695 2017-01-20 Martin Liska <mliska@suse.cz>
6696
6697 PR ipa/71190
6698 * cgraph.h (maybe_create_reference): Remove argument and
6699 update comment.
6700 * cgraphclones.c (cgraph_node::create_virtual_clone): Remove one
6701 argument.
6702 * ipa-cp.c (create_specialized_node): Likewise.
6703 * symtab.c (symtab_node::maybe_create_reference): Handle
6704 VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type.
6705
6706 2017-01-20 Martin Liska <mliska@suse.cz>
6707
6708 * read-rtl-function.c (function_reader::create_function): Use
6709 build_decl instread of build_decl_stat.
6710
6711 2017-01-20 Andrew Senkevich <andrew.senkevich@intel.com>
6712
6713 * config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics.
6714 * config/i386/avx512dqintrin.h: Ditto.
6715 * config/i386/avx512fintrin.h: Ditto.
6716 * config/i386/i386-builtin-types.def: Add new types.
6717 * gcc/config/i386/i386.c: Handle new types.
6718 * config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi)
6719 (__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi)
6720 (__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi)
6721 (__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi)
6722 (__builtin_ia32_kshiftridi): New.
6723 * config/i386/sse.md (k<code><mode>): Rename *k<code><mode>.
6724
6725 2017-01-19 Segher Boessenkool <segher@kernel.crashing.org>
6726
6727 PR target/78875
6728 PR target/79140
6729 * config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally
6730 define to rs6000_init_stack_protect_guard.
6731 (rs6000_init_stack_protect_guard): New function.
6732
6733 2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
6734 Yunqiang Su <yunqiang.su@imgtec.com>
6735
6736 * config.gcc (supported_defaults): Add madd4.
6737 (with_madd4): Add validation.
6738 (all_defaults): Add madd4.
6739 * config/mips/mips.opt (mmadd4): New option.
6740 * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
6741 mmadd4.
6742 (TARGET_CPU_CPP_BUILTINS): Add builtin_define for
6743 __mips_no_madd4.
6744 (ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
6745 (ISA_HAS_FUSED_MADD4): Likewise.
6746 * gcc/doc/invoke.texi (-mmadd4): Document the new option.
6747 * gcc/doc/install.texi (--with-madd4): Document the new option.
6748
6749 2017-01-19 Jiong Wang <jiong.wang@arm.com>
6750
6751 * config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New
6752 entries for AARCH64_PAUTH_BUILTIN_XPACLRI,
6753 AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716.
6754 (aarch64_init_pauth_hint_builtins): New.
6755 (aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins.
6756 (aarch64_expand_builtin): Expand new builtins.
6757
6758 2017-01-19 Jiong Wang <jiong.wang@arm.com>
6759
6760 * reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note.
6761 * combine-stack-adj.c (no_unhandled_cfa): Handle
6762 REG_CFA_TOGGLE_RA_MANGLE.
6763 * dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE.
6764 * config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF
6765 info for return address signing.
6766 (aarch64_expand_epilogue): Likewise.
6767
6768 2017-01-19 Jiong Wang <jiong.wang@arm.com>
6769
6770 * config/aarch64/aarch64-opts.h (aarch64_function_type): New enum.
6771 * config/aarch64/aarch64-protos.h
6772 (aarch64_return_address_signing_enabled): New declaration.
6773 * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
6774 New function.
6775 (aarch64_expand_prologue): Sign return address before it's pushed onto
6776 stack.
6777 (aarch64_expand_epilogue): Authenticate return address fetched from
6778 stack.
6779 (aarch64_override_options): Sanity check for ILP32 and ISA level.
6780 (aarch64_attributes): New function attributes for "sign-return-address".
6781 * config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP,
6782 UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs.
6783 ("*do_return"): Generate combined instructions according to key index.
6784 ("<pauth_mnem_prefix>sp", "<pauth_mnem_prefix1716", "xpaclri"): New.
6785 * config/aarch64/iterators.md (PAUTH_LR_SP, PAUTH_17_16): New integer
6786 iterators.
6787 (pauth_mnem_prefix, pauth_hint_num_a): New integer attributes.
6788 * config/aarch64/aarch64.opt (msign-return-address=): New.
6789 * doc/extend.texi (AArch64 Function Attributes): Documents
6790 "sign-return-address=".
6791 * doc/invoke.texi (AArch64 Options): Documents "-msign-return-address=".
6792
6793 2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
6794
6795 * doc/invoke.texi: Add missing -mlxc1-sxc1 options to
6796 overall option summary.
6797
6798 2017-01-19 Jiong Wang <jiong.wang@arm.com>
6799
6800 * config/aarch64/aarch64-arches.def: New entry for "armv8.3-a".
6801 * config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3,
6802 AARCH64_ISA_V8_3, TARGET_ARMV8_3): New.
6803 * doc/invoke.texi (AArch64 Options): Document "armv8.3-a".
6804
6805 2017-01-19 Michael Meissner <meissner@linux.vnet.ibm.com>
6806
6807 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable
6808 -mpower9-minmax by default for -mcpu=power9.
6809 (ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE
6810 128-bit floating point.
6811
6812 2017-01-20 Alan Modra <amodra@gmail.com>
6813
6814 * config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if
6815 optimizing for size.
6816
6817 2017-01-20 Alan Modra <amodra@gmail.com>
6818
6819 PR target/79144
6820 * config/rs6000/rs6000.c (expand_strn_compare): Get the asm name
6821 for strcmp and strncmp from corresponding builtin decl.
6822
6823 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
6824
6825 * config.gcc (x86_64-*-rtems*): Use i386/rtemself.h
6826 instead of i386/rtems-64.h.
6827 * config/i386/rtems-64.h: Remove.
6828
6829 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
6830
6831 PR target/78478
6832 Revert:
6833 2013-11-05 Uros Bizjak <ubizjak@gmail.com>
6834
6835 * config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.
6836
6837 2017-01-19 Tamar Christina <tamar.christina@arm.com>
6838
6839 * config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
6840 Change int to HOST_WIDE_INT.
6841 * config/aarch64/aarch64-protos.h
6842 (aarch64_simd_gen_const_vector_dup): Likewise.
6843 * config/aarch64/aarch64-simd.md: Add copysign<mode>3.
6844
6845 2017-01-19 David Malcolm <dmalcolm@redhat.com>
6846
6847 * langhooks-def.h (lhd_type_for_size): New decl.
6848 (LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size.
6849 * langhooks.c (lhd_type_for_size): New function, taken from
6850 lto_type_for_size.
6851
6852 2017-01-19 Pat Haugen <pthaugen@us.ibm.com>
6853
6854 * config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add
6855 define_bypass for CR latency.
6856 (power9-cracked-alu): Update bypass latency and remove power9-branch.
6857 (power9-alu2): Add define_bypass for CR latency.
6858 (power9-cmp): New.
6859 (power9-mul): Update insn latency.
6860 (power9-mul-compare): Update insn latency, bypass latency and remove
6861 power9-branch.
6862
6863 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6864
6865 * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
6866 Delete.
6867 * config/aarch64/aarch64.md
6868 (aarch64_reload_movcp<GPF_TF:mode><P:mode>): Delete reference to
6869 aarch64_nopcrelative_literal_loads.
6870 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
6871
6872 2017-01-19 Chenghua Xu <paul.hua.gm@gmail.com>
6873
6874 * config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
6875 TARGET_LOONGSON_3A.
6876 (ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.
6877
6878 2017-01-19 Doug Gilmore <doug.gilmore@imgtec.com>
6879
6880 PR target/78176
6881 * config.gcc (supported_defaults): Add lxc1-sxc1.
6882 (with_lxc1_sxc1): Add validation.
6883 (all_defaults): Add lxc1-sxc1.
6884 * config/mips/mips.opt (mlxc1-sxc1): New option.
6885 * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
6886 mlxc1-sxc1.
6887 (TARGET_CPU_CPP_BUILTINS): Add builtin_define for
6888 __mips_no_lxc1_sxc1.
6889 (ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1.
6890 * gcc/doc/invoke.texi (-mlxc1-sxc1): Document the new option.
6891 * doc/install.texi (--with-lxc1-sxc1): Document the new option.
6892
6893 2017-01-19 Richard Biener <rguenther@suse.de>
6894
6895 PR tree-optimization/72488
6896 * tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
6897 sure to restore SSA info.
6898 * tree-ssa.c (verify_ssa): Verify SSA info is not shared.
6899
6900 2017-01-19 Richard Earnshaw <rearnsha@arm.com>
6901
6902 PR rtl-optimization/79121
6903 * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
6904 of the inner type when shifting an extended value.
6905
6906 2017-01-17 Jan Hubicka <hubicka@ucw.cz>
6907
6908 PR lto/78407
6909 * symtab.c (symtab_node::equal_address_to): Fix comparing of
6910 interposable aliases.
6911
6912 2017-01-18 Peter Bergner <bergner@vnet.ibm.com>
6913
6914 PR target/78516
6915 * config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints.
6916 Use the evmergelohi instruction.
6917 (mov_si<mode>_e500_subreg4_2_le): Likewise.
6918 (mov_sitf_e500_subreg8_2_be): Likewise.
6919 (mov_sitf_e500_subreg12_2_le): Likewise.
6920 (mov_si<mode>_e500_subreg0_2_le): Fix constraints.
6921 (mov_si<mode>_e500_subreg4_2_be): Likewise.
6922 (mov_sitf_e500_subreg8_2_le): Likewise.
6923 (mov_sitf_e500_subreg12_2_be): Likewise.
6924
6925 2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6926
6927 * config/rs6000/altivec.md (altivec_vbpermq): Change "type"
6928 attribute from vecsimple to vecperm.
6929 (altivec_vbpermq2): Likewise.
6930
6931 2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6932
6933 PR target/79040
6934 * config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz.
6935
6936 2017-01-18 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
6937 * config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg.
6938 * config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand
6939 strcmp. Fix bug where comparison didn't stop with zero byte. Fix
6940 case where N arg is SIZE_MAX.
6941 * config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare.
6942 (cmpstrsi): Add pattern.
6943
6944 2017-01-18 Michael Meissner <meissner@linux.vnet.ibm.com>
6945
6946 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
6947 __builtin_vec_revb builtins.
6948 * config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
6949 built-in functions to support generation of the ISA 3.0 XXBR<x>
6950 vector byte reverse instructions.
6951 (P9V_BUILTIN_XXBRQ_V1TI): Likewise.
6952 (P9V_BUILTIN_XXBRD_V2DI): Likewise.
6953 (P9V_BUILTIN_XXBRD_V2DF): Likewise.
6954 (P9V_BUILTIN_XXBGW_V4SI): Likewise.
6955 (P9V_BUILTIN_XXBGW_V4SF): Likewise.
6956 (P9V_BUILTIN_XXBGH_V8HI): Likewise.
6957 (P9V_BUILTIN_VEC_REVB): Likewise.
6958 * config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
6959 generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
6960 (p9_xxbrq_v16qi): Likewise.
6961 (p9_xxbrd_<mode>, VSX_D iterator): Likewise.
6962 (p9_xxbrw_<mode>, VSX_W iterator): Likewise.
6963 (p9_xxbrh_v8hi): Likewise.
6964 * config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
6965 * doc/extend.texi (RS/6000 Altivec Built-ins): Document the
6966 vec_revb built-in functions.
6967
6968 2017-01-18 Uros Bizjak <ubizjak@gmail.com>
6969
6970 PR rtl-optimization/78952
6971 * config/i386/i386.md (any_extract): New code iterator.
6972 (*insvqi_2): Use any_extract for source operand.
6973 (*insvqi_3): Use any_shiftrt for source operand.
6974
6975 2017-01-18 Wilco Dijkstra <wdijkstr@arm.com>
6976
6977 * config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
6978 New function.
6979 (TARGET_SCHED_ADJUST_PRIORITY): Define target hook.
6980
6981 2017-01-18 Matthias Klose <doko@ubuntu.com>
6982
6983 * doc/install.texi: Allow default for --with-target-bdw-gc-include.
6984
6985 2016-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6986
6987 * config/rs6000/altivec.h (vec_bperm): Change #define.
6988 * config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
6989 (altivec_vbpermq2): New define_insn.
6990 (altivec_vbpermd): Likewise.
6991 * config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
6992 function interface.
6993 (VBPERMD): Likewise.
6994 (VBPERM): New polymorphic function interface.
6995 * config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
6996 Add entries for P9V_BUILTIN_VEC_VBPERM.
6997 * doc/extend.texi: Add interfaces for vec_bperm.
6998
6999 2017-01-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7000
7001 * config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
7002 first letter of error messages.
7003 (s390_resolve_overloaded_builtin): Likewise.
7004 * config/s390/s390.c (s390_expand_builtin): Likewise.
7005 (s390_invalid_arg_for_unprototyped_fn): Likewise.
7006 (s390_valid_target_attribute_inner_p): Likewise.
7007 * config/s390/s390.md ("tabort"): Likewise.
7008
7009 2017-01-18 Toma Tabacu <toma.tabacu@imgtec.com>
7010
7011 * config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
7012 (ISA_AVOID_DIV_HILO): New macro.
7013 (ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
7014 (ISA_HAS_DDIV): Likewise.
7015
7016 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
7017
7018 * doc/invoke.texi (fabi-version): Correct number of occurrences.
7019
7020 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
7021
7022 * doc/invoke.texi (fabi-version): Spelling fix.
7023
7024 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
7025
7026 PR c++/70182
7027 * doc/invoke.texi (fabi-version): Mention mangling fix for
7028 operator names.
7029
7030 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
7031
7032 PR c++/77489
7033 * doc/invoke.texi (fabi-version): Document discriminator mangling.
7034
7035 2017-01-17 Segher Boessenkool <segher@kernel.crashing.org>
7036
7037 PR target/78875
7038 * config/rs6000/rs6000-opts.h (stack_protector_guard): New enum.
7039 * config/rs6000/rs6000.c (rs6000_option_override_internal): Handle
7040 the new options.
7041 * config/rs6000/rs6000.md (stack_protect_set): Handle the new more
7042 flexible settings.
7043 (stack_protect_test): Ditto.
7044 * config/rs6000/rs6000.opt (mstack-protector-guard=,
7045 mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
7046 options.
7047 * doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]:
7048 Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
7049 -mstack-protector-guard-offset=.
7050 (RS/6000 and PowerPC Options): Ditto.
7051
7052 2017-01-17 Uros Bizjak <ubizjak@gmail.com>
7053
7054 * config/i386/i386.h (MASK_CLASS_P): New define.
7055 * config/i386/i386.c (inline_secondary_memory_needed): Ensure that
7056 there are no registers from different register sets also when
7057 mask registers are used. Update function comment.
7058 * config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative
7059 to (*k/*r) and (*k/*km) alternatives.
7060
7061 2017-01-17 Wilco Dijkstra <wdijkstr@arm.com>
7062
7063 * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
7064 * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
7065 (EH_RETURN_HANDLER_RTX): New define.
7066 * config/aarch64/aarch64.c (aarch64_frame_pointer_required):
7067 Force frame pointer in EH return functions.
7068 (aarch64_expand_epilogue): Add barrier for eh_return.
7069 (aarch64_final_eh_return_addr): Remove.
7070 (aarch64_eh_return_handler_rtx): New function.
7071 * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
7072 Remove.
7073 (aarch64_eh_return_handler_rtx): New prototype.
7074
7075 2017-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7076
7077 * config/rs6000/altivec.h (vec_rlmi): New #define.
7078 (vec_vrlnm): Likewise.
7079 (vec_rlnm): Likewise.
7080 * config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value.
7081 (UNSPEC_VRLNM): Likewise.
7082 (VIlong): New mode iterator.
7083 (altivec_vrl<VI_char>mi): New define_insn.
7084 (altivec_vrl<VI_char>nm): Likewise.
7085 * config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic
7086 function entry.
7087 (VRLDNM): Likewise.
7088 (RLNM): New polymorphic function entry.
7089 (VRLWMI): New monomorphic function entry.
7090 (VRLDMI): Likewise.
7091 (RLMI): New polymorphic function entry.
7092 * config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add
7093 new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM.
7094 * doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and
7095 vec_vrlnm.
7096
7097 2017-01-17 Jakub Jelinek <jakub@redhat.com>
7098
7099 PR debug/78839
7100 * dwarf2out.c (field_byte_offset): Restore the
7101 PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
7102 and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold.
7103 (analyze_variants_discr, gen_variant_part): Use fold_build2 instead
7104 of build2 + fold.
7105
7106 2017-01-17 Eric Botcazou <ebotcazou@adacore.com>
7107
7108 PR ada/67205
7109 * config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define
7110
7111 2017-01-17 Jakub Jelinek <jakub@redhat.com>
7112
7113 PR debug/71669
7114 * dwarf2out.c (add_data_member_location_attribute): For constant
7115 offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute
7116 instead of DW_AT_data_member_location, DW_AT_bit_offset and
7117 DW_AT_byte_size attributes.
7118
7119 2017-01-17 Eric Botcazou <ebotcazou@adacore.com>
7120
7121 * config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference
7122 after forcing to constant memory when the code model is medium.
7123
7124 2017-01-17 Julia Koval <julia.koval@intel.com>
7125
7126 PR target/76731
7127 * config/i386/avx512fintrin.h
7128 (_mm512_i32gather_ps): Change __addr type to void const*.
7129 (_mm512_mask_i32gather_ps): Ditto.
7130 (_mm512_i32gather_pd): Ditto.
7131 (_mm512_mask_i32gather_pd): Ditto.
7132 (_mm512_i64gather_ps): Ditto.
7133 (_mm512_mask_i64gather_ps): Ditto.
7134 (_mm512_i64gather_pd): Ditto.
7135 (_mm512_mask_i64gather_pd): Ditto.
7136 (_mm512_i32gather_epi32): Ditto.
7137 (_mm512_mask_i32gather_epi32): Ditto.
7138 (_mm512_i32gather_epi64): Ditto.
7139 (_mm512_mask_i32gather_epi64): Ditto.
7140 (_mm512_i64gather_epi32): Ditto.
7141 (_mm512_mask_i64gather_epi32): Ditto.
7142 (_mm512_i64gather_epi64): Ditto.
7143 (_mm512_mask_i64gather_epi64): Ditto.
7144 (_mm512_i32scatter_ps): Change __addr type to void*.
7145 (_mm512_mask_i32scatter_ps): Ditto.
7146 (_mm512_i32scatter_pd): Ditto.
7147 (_mm512_mask_i32scatter_pd): Ditto.
7148 (_mm512_i64scatter_ps): Ditto.
7149 (_mm512_mask_i64scatter_ps): Ditto.
7150 (_mm512_i64scatter_pd): Ditto.
7151 (_mm512_mask_i64scatter_pd): Ditto.
7152 (_mm512_i32scatter_epi32): Ditto.
7153 (_mm512_mask_i32scatter_epi32): Ditto.
7154 (_mm512_i32scatter_epi64): Ditto.
7155 (_mm512_mask_i32scatter_epi64): Ditto.
7156 (_mm512_i64scatter_epi32): Ditto.
7157 (_mm512_mask_i64scatter_epi32): Ditto.
7158 (_mm512_i64scatter_epi64): Ditto.
7159 (_mm512_mask_i64scatter_epi64): Ditto.
7160 * config/i386/avx512pfintrin.h
7161 (_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*.
7162 (_mm512_mask_prefetch_i32gather_ps): Ditto.
7163 (_mm512_mask_prefetch_i64gather_pd): Ditto.
7164 (_mm512_mask_prefetch_i64gather_ps): Ditto.
7165 (_mm512_prefetch_i32scatter_pd): Change __addr type to void*.
7166 (_mm512_prefetch_i32scatter_ps): Ditto.
7167 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
7168 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
7169 (_mm512_prefetch_i64scatter_pd): Ditto.
7170 (_mm512_prefetch_i64scatter_ps): Ditto.
7171 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
7172 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
7173 * config/i386/avx512vlintrin.h
7174 (_mm256_mmask_i32gather_ps): Change __addr type to void const*.
7175 (_mm_mmask_i32gather_ps): Ditto.
7176 (_mm256_mmask_i32gather_pd): Ditto.
7177 (_mm_mmask_i32gather_pd): Ditto.
7178 (_mm256_mmask_i64gather_ps): Ditto.
7179 (_mm_mmask_i64gather_ps): Ditto.
7180 (_mm256_mmask_i64gather_pd): Ditto.
7181 (_mm_mmask_i64gather_pd): Ditto.
7182 (_mm256_mmask_i32gather_epi32): Ditto.
7183 (_mm_mmask_i32gather_epi32): Ditto.
7184 (_mm256_mmask_i32gather_epi64): Ditto.
7185 (_mm_mmask_i32gather_epi64): Ditto.
7186 (_mm256_mmask_i64gather_epi32): Ditto.
7187 (_mm_mmask_i64gather_epi32): Ditto.
7188 (_mm256_mmask_i64gather_epi64): Ditto.
7189 (_mm_mmask_i64gather_epi64): Ditto.
7190 (_mm256_i32scatter_ps): Change __addr type to void*.
7191 (_mm256_mask_i32scatter_ps): Ditto.
7192 (_mm_i32scatter_ps): Ditto.
7193 (_mm_mask_i32scatter_ps): Ditto.
7194 (_mm256_i32scatter_pd): Ditto.
7195 (_mm256_mask_i32scatter_pd): Ditto.
7196 (_mm_i32scatter_pd): Ditto.
7197 (_mm_mask_i32scatter_pd): Ditto.
7198 (_mm256_i64scatter_ps): Ditto.
7199 (_mm256_mask_i64scatter_ps): Ditto.
7200 (_mm_i64scatter_ps): Ditto.
7201 (_mm_mask_i64scatter_ps): Ditto.
7202 (_mm256_i64scatter_pd): Ditto.
7203 (_mm256_mask_i64scatter_pd): Ditto.
7204 (_mm_i64scatter_pd): Ditto.
7205 (_mm_mask_i64scatter_pd): Ditto.
7206 (_mm256_i32scatter_epi32): Ditto.
7207 (_mm256_mask_i32scatter_epi32): Ditto.
7208 (_mm_i32scatter_epi32): Ditto.
7209 (_mm_mask_i32scatter_epi32): Ditto.
7210 (_mm256_i32scatter_epi64): Ditto.
7211 (_mm256_mask_i32scatter_epi64): Ditto.
7212 (_mm_i32scatter_epi64): Ditto.
7213 (_mm_mask_i32scatter_epi64): Ditto.
7214 (_mm256_i64scatter_epi32): Ditto.
7215 (_mm256_mask_i64scatter_epi32): Ditto.
7216 (_mm_i64scatter_epi32): Ditto.
7217 (_mm_mask_i64scatter_epi32): Ditto.
7218 (_mm256_i64scatter_epi64): Ditto.
7219 (_mm256_mask_i64scatter_epi64): Ditto.
7220 (_mm_i64scatter_epi64): Ditto.
7221 (_mm_mask_i64scatter_epi64): Ditto.
7222 * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
7223 (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
7224 (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
7225 (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
7226 (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
7227 (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
7228 (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
7229 (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
7230 (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
7231 (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
7232 (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
7233 (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
7234 (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
7235 (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
7236 (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
7237 (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
7238 (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
7239 (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
7240 (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
7241 (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
7242 (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
7243 (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
7244 (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
7245 (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
7246 (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
7247 (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
7248 (VOID_QI_V8DI_PCINT_INT_INT): Remove.
7249 (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT)
7250 (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
7251 (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
7252 (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
7253 (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
7254 (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
7255 (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
7256 (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
7257 (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
7258 (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
7259 (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
7260 (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
7261 (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
7262 (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
7263 (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
7264 (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
7265 (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
7266 (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
7267 (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
7268 (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
7269 (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
7270 (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
7271 (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
7272 (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
7273 (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
7274 (VOID_QI_V8DI_PCVOID_INT_INT): Add.
7275 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
7276 definitions accordingly.
7277
7278 2017-01-17 Kito Cheng <kito.cheng@gmail.com>
7279 Kuan-Lin Chen <kuanlinchentw@gmail.com>
7280
7281 PR target/79079
7282 * internal-fn.c (expand_mul_overflow): Use convert_modes instead of
7283 gen_lowpart.
7284
7285 2017-01-17 Vladimir Makarov <vmakarov@redhat.com>
7286
7287 PR target/79058
7288 * ira-conflicts.c (ira_build_conflicts): Update total conflict
7289 hard regs for inner regno.
7290
7291 2017-01-17 Martin Liska <mliska@suse.cz>
7292
7293 PR ipa/71207
7294 * ipa-polymorphic-call.c (contains_type_p): Fix wrong
7295 assumption and add comment.
7296
7297 2017-01-17 Nathan Sidwell <nathan@acm.org>
7298
7299 * ipa-visibility.c (localize_node): New function, broken out of ...
7300 (function_and_variable_visibility): ... here. Call it.
7301
7302 2017-01-17 Jan Hubicka <hubicka@ucw.cz>
7303
7304 PR middle-end/77445
7305 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
7306 correctly set frequency of oudgoing edge.
7307 (duplicate_thread_path): Fix profile updating.
7308
7309 2017-01-17 Jakub Jelinek <jakub@redhat.com>
7310
7311 PR other/79046
7312 * configure.ac: Add GCC_BASE_VER.
7313 * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
7314 version from BASE-VER file.
7315 (CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
7316 (gcc.o): Depend on $(BASEVER).
7317 * common.opt (dumpfullversion): New option.
7318 * gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
7319 * doc/invoke.texi: Document -dumpfullversion.
7320 * doc/install.texi: Document --with-gcc-major-version-only.
7321 * configure: Regenerated.
7322
7323 2017-01-17 Richard Biener <rguenther@suse.de>
7324
7325 PR tree-optimization/71433
7326 * tree-vrp.c (register_new_assert_for): Merge same asserts
7327 on all incoming edges.
7328 (process_assert_insertions_for): Handle insertions at the
7329 beginning of BBs.
7330
7331 2017-01-17 Gerald Pfeifer <gerald@pfeifer.com>
7332
7333 * config/i386/cygwin.h (LIBGCJ_SONAME): Remove.
7334 * config/i386/mingw32.h (LIBGCJ_SONAME): Remove.
7335
7336 2017-01-17 Kaz Kojima <kkojima@gcc.gnu.org>
7337
7338 PR target/78633
7339 * config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid
7340 RTL sharing.
7341
7342 2017-01-17 Alan Modra <amodra@gmail.com>
7343
7344 PR target/79066
7345 * config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic.
7346 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow
7347 symbolic stack limit when pic.
7348
7349 2017-01-16 Martin Sebor <msebor@redhat.com>
7350
7351 PR tree-optimization/78608
7352 * gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN.
7353
7354 2017-01-16 Jeff Law <law@redhat.com>
7355
7356 Revert:
7357 2016-12-02 Tadek Kijkowski <tkijkowski@gmail.com>
7358 * Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
7359 for several include directories that may be relative to sysroot.
7360 * config/i386/x-mingw32 (gplus_includedir): Define.
7361 (gplus_tool_includedir, gplus_backward_include_dir): Likewise.
7362 (native_system_includedir): Likewise.
7363 * config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
7364 override if TARGET_SYSTEM_ROOT is defined.
7365 (NATIVE_SYSTEM_HEADER_DIR): Likewise.
7366
7367 PR tree-optimization/79090
7368 PR tree-optimization/33562
7369 PR tree-optimization/61912
7370 PR tree-optimization/77485
7371 * tree-ssa-dse.c (compute_trims): Accept STMT argument. Dump STMT
7372 and computed trims into the dump file.
7373
7374 2017-01-17 Uros Bizjak <ubizjak@gmail.com>
7375
7376 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove.
7377
7378 2017-01-16 Jakub Jelinek <jakub@redhat.com>
7379
7380 PR c/79089
7381 * gimplify.c (gimplify_init_constructor): If want_value and
7382 object == lhs, unshare lhs to avoid invalid tree sharing. Formatting
7383 fix.
7384
7385 PR target/79080
7386 * loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on
7387 sequence. Formatting fixes.
7388 (doloop_optimize): Formatting fixes.
7389
7390 PR driver/49726
7391 * gcc.c (debug_level_greater_than_spec_func): New function.
7392 (static_spec_functions): Add debug-level-gt spec function.
7393 (ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of
7394 !g0.
7395 * config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
7396 * config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
7397 * common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames,
7398 gpubnames, ggnu-pubnames, gno-record-gcc-switches,
7399 grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs,
7400 gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag.
7401
7402 2017-01-16 Uros Bizjak <ubizjak@gmail.com>
7403
7404 * config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and
7405 QImode fixups to general and mask registers only.
7406
7407 2017-01-16 Carl Love <cel@us.ibm.com>
7408
7409 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support
7410 for built-in functions
7411 vector signed char vec_nabs (vector signed char)
7412 vector signed short vec_nabs (vector signed short)
7413 vector signed int vec_nabs (vector signed int)
7414 vector signed long long vec_nabs (vector signed long long)
7415 vector float vec_nabs (vector float)
7416 vector double vec_nabs (vector double)
7417 * config/rs6000/rs6000-builtin.def: Add definitions for NABS functions
7418 and NABS overload.
7419 * config/rs6000/altivec.md: New define_expand nabs<mode>2 types
7420 * config/rs6000/altivec.h: New define for vec_nabs built-in function.
7421 * doc/extend.texi: Update the documentation file for the new built-in
7422 functions.
7423
7424 2017-01-16 Martin Sebor <msebor@redhat.com>
7425
7426 * gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning
7427 message.
7428
7429 2017-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7430
7431 * config/rs6000/rs6000.c (rtx_is_swappable_p): Change
7432 UNSPEC_VSX__XXSPLTD to require special splat handling.
7433
7434 2017-01-16 David Malcolm <dmalcolm@redhat.com>
7435
7436 PR bootstrap/78616
7437 * system.h: Poison strndup.
7438
7439 2017-01-16 Alan Modra <amodra@gmail.com>
7440
7441 PR target/79098
7442 * config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't
7443 use a switch.
7444
7445 2017-01-16 Georg-Johann Lay <avr@gjlay.de>
7446
7447 * config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4.
7448
7449 2017-01-15 Uros Bizjak <ubizjak@gmail.com>
7450
7451 * config/i386/i386.c (ix86_legitimate_combined_insn): Do not
7452 call recog here. Assert that INSN_CODE (insn) is non-negative.
7453
7454 2017-01-15 Segher Boessenkool <segher@kernel.crashing.org>
7455
7456 PR target/72749
7457 * cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the
7458 fallthrough.
7459 * haifa-sched.c (dump_insn_stream): Don't crash if there is a label
7460 in the currently scheduled RTL fragment.
7461
7462 2017-01-15 Segher Boessenkool <segher@kernel.crashing.org>
7463
7464 PR rtl-optimization/78751
7465 * ifcvt.c (find_cond_trap): If we generated a non-existing insn,
7466 give up.
7467
7468 2017-01-14 Jeff Law <law@redhat.com>
7469
7470 PR tree-optimization/79090
7471 * tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and
7472 variable length stores.
7473 (compute_trims): Delete dead assignment to *trim_tail.
7474 (dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with
7475 zero length.
7476
7477 2017-01-14 Bernd Schmidt <bschmidt@redhat.com>
7478
7479 PR rtl-optimization/78626
7480 PR rtl-optimization/78727
7481 * cprop.c (one_cprop_pass): Collect unconditional traps in the middle
7482 of a block, and split such blocks after everything else is finished.
7483
7484 2017-01-14 Alan Modra <amodra@gmail.com>
7485
7486 PR target/72749
7487 * combine.c (recog_for_combine_1): Set INSN_CODE before calling
7488 target legitimate_combined_insn.
7489 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define.
7490 (rs6000_legitimate_combined_insn): New function.
7491 * config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove
7492 all uses.
7493 (ctr<mode>_internal3): Rename from *ctr<mode>_internal5.
7494 (ctr<mode>_internal4): Rename from *ctr<mode>_internal6.
7495 (ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name.
7496
7497 2017-01-14 Gerald Pfeifer <gerald@pfeifer.com>
7498
7499 * doc/frontends.texi (G++ and GCC): Remove references to Java.
7500
7501 2017-01-13 Jeff Law <law@redhat.com>
7502
7503 PR tree-optimization/33562
7504 PR tree-optimization/61912
7505 PR tree-optimization/77485
7506 * tree-ssa-dse.c (delete_dead_call): Accept gsi rather than
7507 a statement.
7508 (delete_dead_assignment): Likewise.
7509 (dse_dom_walker::dse_optimize_stmt): Pass in the gsi rather than
7510 statement to delete_dead_call and delete_dead_assignment.
7511
7512 2017-01-13 David Malcolm <dmalcolm@redhat.com>
7513
7514 PR c/78304
7515 * substring-locations.c (format_warning_va): Strengthen case 1 so
7516 that both endpoints of the substring must be within the format
7517 range for just the substring to be printed.
7518
7519 2017-01-13 Uros Bizjak <ubizjak@gmail.com>
7520
7521 * config/i386/i386.opt (msgx): Use ix86_isa_flags2 variable.
7522 * config/i386/i386.c (ix86_target_string): Add missing options
7523 to isa_opts and reorder options by implied ISAs. Rename isa_opts2 to
7524 isa2_opts, ix86_flag_opts to flag2_opts, ix86_target_other to
7525 flags_other and ix86_target_other to flags2_other. Display unknown
7526 isa2 options.
7527 (ix86_valid_target_attribute_inner_p): Add missing options and
7528 reorder options by implied ISAs, as in ix86_target_string.
7529
7530 2017-01-13 Richard Sandiford <richard.sandiford@arm.com>
7531
7532 * hash-table.h (hash_table::too_empty_p): New function.
7533 (hash_table::expand): Use it.
7534 (hash_table::traverse): Likewise.
7535 (hash_table::empty_slot): Use sizeof (value_type) instead of
7536 sizeof (PTR) to convert bytes to elements. Shrink the table
7537 if the current size is excessive for the current number of
7538 elements.
7539
7540 2017-01-13 Richard Sandiford <richard.sandiford@arm.com>
7541
7542 * ira-costs.c (record_reg_classes): Break from the inner loop
7543 early once alt_fail is known to be true. Update outer loop
7544 handling accordingly.
7545
7546 2017-01-13 Jeff Law <law@redhat.com>
7547
7548 * tree-ssa-dse.c (decrement_count): New function.
7549 (increment_start_addr, maybe_trim_memstar_call): Likewise.
7550 (dse_dom_walker::optimize_stmt): Call maybe_trim_memstar_call directly
7551 when we know the partially dead statement is a mem* function.
7552
7553 PR tree-optimization/61912
7554 PR tree-optimization/77485
7555 * tree-ssa-dse.c: Include expr.h.
7556 (maybe_trim_constructor_store): New function.
7557 (maybe_trim_partially_dead_store): Call maybe_trim_constructor_store.
7558
7559 PR tree-optimization/33562
7560 PR tree-optimization/61912
7561 PR tree-optimization/77485
7562 * doc/invoke.texi: Document new dse-max-object-size param.
7563 * params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM.
7564 * tree-ssa-dse.c: Include params.h.
7565 (dse_store_status): New enum.
7566 (initialize_ao_ref_for_dse): New, partially extracted from
7567 dse_optimize_stmt.
7568 (valid_ao_ref_for_dse, normalize_ref): New.
7569 (setup_live_bytes_from_ref, compute_trims): Likewise.
7570 (clear_bytes_written_by, maybe_trim_complex_store): Likewise.
7571 (maybe_trim_partially_dead_store): Likewise.
7572 (maybe_trim_complex_store): Likewise.
7573 (dse_classify_store): Renamed from dse_possibly_dead_store_p.
7574 Track what bytes live from the original store. Return tri-state
7575 for dead, partially dead or live.
7576 (dse_dom_walker): Add constructor, destructor and new private members.
7577 (delete_dead_call, delete_dead_assignment): New extracted from
7578 dse_optimize_stmt.
7579 (dse_optimize_stmt): Make a member of dse_dom_walker.
7580 Use initialize_ao_ref_for_dse.
7581
7582 PR tree-optimization/33562
7583 PR tree-optimization/61912
7584 PR tree-optimization/77485
7585 * sbitmap.h (bitmap_count_bits): Prototype.
7586 (bitmap_clear_range, bitmap_set_range): Likewise.
7587 * sbitmap.c (bitmap_clear_range): New function.
7588 (bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise.
7589
7590 2017-01-13 Martin Liska <mliska@suse.cz>
7591
7592 PR ipa/79043
7593 * function.c (set_cfun): Add new argument force.
7594 * function.h (set_cfun): Likewise.
7595 * ipa-inline-transform.c (inline_call): Use the function when
7596 strict alising from is dropped for function we inline to.
7597
7598 2017-01-13 Richard Biener <rguenther@suse.de>
7599
7600 * tree-pretty-print.c (dump_generic_node): Fix inverted condition
7601 for dumping GIMPLE INTEGER_CSTs.
7602
7603 2017-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7604
7605 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__
7606 to 201112L since C++17.
7607
7608 2017-01-13 Maxim Ostapenko <m.ostapenko@samsung.com>
7609
7610 PR sanitizer/78887
7611 * asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators
7612 if -fsanitize=kernel-address is present.
7613
7614 2017-01-13 Richard Biener <rguenther@suse.de>
7615
7616 * tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs
7617 as _Literal ( type ) number in case usual suffixes do not
7618 preserve all information.
7619
7620 2017-01-13 Richard Biener <rguenther@suse.de>
7621
7622 PR tree-optimization/77283
7623 * gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h
7624 and ssa-iterators.h.
7625 (is_feasible_trace): Implement a cost model based on joiner
7626 PHI node uses.
7627
7628 2017-01-12 Michael Meissner <meissner@linux.vnet.ibm.com>
7629
7630 PR target/79004
7631 * config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting
7632 char or short to __float128/_Float128 directly.
7633
7634 2017-01-12 Martin Sebor <msebor@redhat.com>
7635
7636 to -Wformat-overflow.
7637 * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
7638 (min_bytes_remaining): Same.
7639 (get_string_length): Same.
7640 (format_string): Same.
7641 (format_directive): Same.
7642 (add_bytes): Same.
7643 (pass_sprintf_length::handle_gimple_call): Same.
7644
7645 2017-01-12 Jakub Jelinek <jakub@redhat.com>
7646
7647 * gimple-ssa-sprintf.c (try_substitute_return_value): Remove
7648 info.nowrite calls with no lhs that can't throw. Return bool
7649 whether gsi_remove has been called or not.
7650 (pass_sprintf_length::handle_gimple_call): Return bool whether
7651 try_substitute_return_value called gsi_remove. Formatting fix.
7652 (pass_sprintf_length::execute): Don't use gsi_remove if
7653 handle_gimple_call returned true.
7654
7655 PR bootstrap/79069
7656 * cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't
7657 be removed due to side-effects, don't remove following barrier nor
7658 turn the successor edge into fallthru edge.
7659
7660 2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7661
7662 PR target/79044
7663 * config/rs6000/rs6000.c (insn_is_swappable_p): Mark
7664 element-reversing loads and stores as not swappable.
7665
7666 2017-01-12 Nathan Sidwell <nathan@acm.org>
7667 Nicolai Stange <nicstange@gmail.com>
7668
7669 * combine.c (try_combine): Don't ignore result of overlap checking
7670 loop. Combine overlap & asm check into single loop.
7671
7672 2017-01-12 Richard Biener <rguenther@suse.de>
7673
7674 * tree-pretty-print.c (dump_generic_node): Provide -gimple
7675 variant for MEM_REF. Sanitize INTEGER_CST for -gimple.
7676
7677 2017-01-12 Richard Biener <rguenther@suse.de>
7678
7679 * tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION
7680 and TS_TARGET_OPTION directly derive from TS_BASE.
7681 * tree-core.h (tree_optimization_option): Derive from tree_base.
7682 (tree_target_option): Likewise.
7683
7684 2017-01-11 Uros Bizjak <ubizjak@gmail.com>
7685
7686 * config/i386/i386.c (memory_address_length): Increase len
7687 only when rip_relative_addr_p returns false.
7688
7689 2017-01-11 Julia Koval <julia.koval@intel.com>
7690
7691 * common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New.
7692 (OPTION_MASK_ISA_SGX_SET): New.
7693 (ix86_handle_option): Handle OPT_msgx.
7694 * config.gcc: Added sgxintrin.h.
7695 * config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx.
7696 * config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__.
7697 * config/i386/i386.c (ix86_target_string): Add -msgx.
7698 (PTA_SGX): New.
7699 (ix86_option_override_internal): Handle new options.
7700 (ix86_valid_target_attribute_inner_p): Add sgx.
7701 * config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New.
7702 * config/i386/i386.opt: Add msgx.
7703 * config/i386/sgxintrin.h: New file.
7704 * config/i386/x86intrin.h: Add sgxintrin.h.
7705
7706 2017-01-11 Jakub Jelinek <jakub@redhat.com>
7707
7708 PR c++/71537
7709 * fold-const.c (maybe_nonzero_address): Return 1 for function
7710 local objects.
7711 (tree_single_nonzero_warnv_p): Don't handle function local objects
7712 here.
7713
7714 PR c++/72813
7715 * gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps
7716 of c-header.
7717
7718 2017-01-11 David Malcolm <dmalcolm@redhat.com>
7719
7720 PR driver/78877
7721 * opts.c: Include "spellcheck.h"
7722 (struct string_fragment): New struct.
7723 (struct edit_distance_traits<const string_fragment &>): New
7724 struct.
7725 (get_closest_sanitizer_option): New function.
7726 (parse_sanitizer_options): Offer suggestions for unrecognized arguments.
7727
7728 2017-01-11 Jakub Jelinek <jakub@redhat.com>
7729
7730 * dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease
7731 by 12.
7732 (DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always
7733 DWARF_COMPILE_UNIT_HEADER_SIZE plus 12.
7734 (DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define.
7735 (calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE
7736 for initial die_offset if dwarf_split_debug_info.
7737 (output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for
7738 initial next_die_offset if dwo_id is non-NULL. Don't emit padding
7739 fields.
7740 (output_skeleton_debug_sections): Formatting fix. Use
7741 DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of
7742 DWARF_COMPILE_UNIT_HEADER_SIZE. Don't emit padding.
7743
7744 2017-01-11 Wilco Dijkstra <wdijkstr@arm.com>
7745
7746 * config/arm/cortex-a53.md: Add bypasses for
7747 cortex_a53_r2f_cvt.
7748 (cortex_a53_r2f): Only use for transfers.
7749 (cortex_a53_f2r): Likewise.
7750 (cortex_a53_r2f_cvt): Add reservation for conversions.
7751 (cortex_a53_f2r_cvt): Likewise.
7752
7753 2017-01-11 Tamar Christina <tamar.christina@arm.com>
7754
7755 * config/arm/arm_neon.h: Add __artificial__ and gnu_inline
7756 to all inlined functions, change static to extern.
7757
7758 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org>
7759
7760 PR target/78253
7761 * config/arm/arm.c (legitimize_pic_address): Handle reference to
7762 weak symbol.
7763 (arm_assemble_integer): Likewise.
7764
7765 2017-01-11 Richard Earnshaw <rearnsha@arm.com>
7766
7767 * config.gcc: Use new awk script to check CPU, FPU and architecture
7768 parameters for --with-... options.
7769 * config/arm/parsecpu.awk: New file
7770 * config/arm/arm-cpus.in: New file.
7771 * config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def
7772 files.
7773 * config/arm/arm.c: Include arm-cpu-data.h instead of processing .def
7774 files.
7775 * config/arm/t-arm: Update dependency rules.
7776 * common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead
7777 of processing .def files.
7778 * config/arm/genopt.sh: Deleted.
7779 * config/arm/gentune.sh: Deleted.
7780 * config/arm/arm-cores.def: Deleted.
7781 * config/arm/arm-arches.def: Deleted.
7782 * config/arm/arm-fpus.def: Deleted.
7783 * config/arm/arm-tune.md: Regenerated.
7784 * config/arm/arm-tables.opt: Regenerated.
7785 * config/arm/arm-cpu.h: New generated file.
7786 * config/arm/arm-cpu-data.h: New generated file.
7787 * config/arm/arm-cpu-cdata.h: New generated file.
7788
7789 2017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com>
7790
7791 PR lto/79042
7792 * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
7793 bit.
7794 (input_varpool_node): Unpack dynamically_initialized bit.
7795
7796 2017-01-11 Eric Botcazou <ebotcazou@adacore.com>
7797
7798 PR rtl-optimization/79032
7799 * lra-constraints.c (simplify_operand_subreg): In the MEM case, test
7800 the alignment of the adjusted memory reference against that of MODE,
7801 instead of the alignment of the original memory reference.
7802
7803 2017-01-11 Martin Jambor <mjambor@suse.cz>
7804
7805 * hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
7806 test.
7807 * ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
7808 decorated functions.
7809
7810 2017-01-11 Richard Biener <rguenther@suse.de>
7811
7812 * tree-vrp.c (evrp_dom_walker::before_dom_children): Also
7813 set range/nonnull info for PHI results. Do not set it on
7814 stmts marked for removal.
7815
7816 2017-01-10 Eric Botcazou <ebotcazou@adacore.com>
7817
7818 * expr.c (store_field): In the bitfield case, fetch the return value
7819 from the registers before applying a single big-endian adjustment.
7820 Always do a final load for a BLKmode value not larger than a word.
7821
7822 2017-01-10 David Malcolm <dmalcolm@redhat.com>
7823
7824 PR c++/77949
7825 * input.c (selftest::test_accessing_ordinary_linemaps): Verify
7826 that we correctly handle column numbers greater than
7827 LINE_MAP_MAX_COLUMN_NUMBER.
7828
7829 2017-01-10 Martin Sebor <msebor@redhat.com>
7830
7831 PR middle-end/78245
7832 * gimple-ssa-sprintf.c (get_destination_size): Call
7833 {init,fini}object_sizes.
7834 * tree-object-size.c (addr_object_size): Adjust.
7835 (pass_through_call): Adjust.
7836 (pass_object_sizes::execute): Adjust.
7837 * tree-object-size.h (fini_object_sizes): Declare.
7838
7839 2017-01-10 Martin Sebor <msebor@redhat.com>
7840
7841 PR tree-optimization/78775
7842 * builtins.c (get_size_range): Move...
7843 * calls.c: ...to here.
7844 (alloc_max_size): Accept zero argument.
7845 (operand_signed_p): Remove.
7846 (maybe_warn_alloc_args_overflow): Call get_size_range.
7847 * calls.h (get_size_range): Declare.
7848
7849 2017-01-10 Joe Seymour <joe.s@somniumtech.com>
7850
7851 * config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data
7852 from TI's devices.csv file as of September 2016.
7853 * config/msp430/msp430.c (msp430_mcu_data): Likewise.
7854
7855 2017-01-10 Sandra Loosemore <sandra@codesourcery.com>
7856
7857 * doc/extend.texi: Tweak formatting to fix overfull hbox warnings.
7858 * doc/invoke.texi: Likewise.
7859 * doc/md.texi: Likewise.
7860 * doc/objc.texi: Likewise.
7861
7862 2017-01-10 Joshua Conner <joshconner@google.com>
7863
7864 * config/arm/fuchsia-elf.h: New file.
7865 * config/fuchsia.h: New file.
7866 * config.gcc (*-*-fuchsia*): Set native_system_header_dir.
7867 (aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to
7868 targets.
7869 * config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts.
7870
7871 2016-01-10 Richard Biener <rguenther@suse.de>
7872
7873 PR tree-optimization/79034
7874 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
7875 Propagate out degenerate PHIs in the joiner.
7876
7877 2017-01-10 Martin Liska <mliska@suse.cz>
7878
7879 * ipa-icf.c (sort_sem_items_by_decl_uid): New function.
7880 (sort_congruence_classes_by_decl_uid): Likewise.
7881 (sort_congruence_class_groups_by_decl_uid): Likewise.
7882 (sem_item_optimizer::merge_classes): Sort class, groups in these
7883 classes and members in the groups by DECL_UID of declarations.
7884 This would make merge operations stable.
7885
7886 2017-01-10 Martin Liska <mliska@suse.cz>
7887
7888 * ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove
7889 usage of m_classes_vec.
7890 (sem_item_optimizer::~sem_item_optimizer): Likewise.
7891 (sem_item_optimizer::get_group_by_hash): Likewise.
7892 (sem_item_optimizer::subdivide_classes_by_equality): Likewise.
7893 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise.
7894 (sem_item_optimizer::verify_classes): Likewise.
7895 (sem_item_optimizer::process_cong_reduction): Likewise.
7896 (sem_item_optimizer::dump_cong_classes): Likewise.
7897 (sem_item_optimizer::merge_classes): Likewise.
7898 * ipa-icf.h (congruence_class_hash): Rename from
7899 congruence_class_group_hash. Remove declaration of m_classes_vec.
7900
7901 2017-01-10 Andrew Senkevich <andrew.senkevich@intel.com>
7902
7903 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
7904 OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
7905 * config.gcc: Add avx512vpopcntdqintrin.h.
7906 * config/i386/avx512vpopcntdqintrin.h: New.
7907 * config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
7908 * config/i386/i386-builtin-types.def: Add new types.
7909 * config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
7910 __builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
7911 __builtin_ia32_vpopcountq_v8di_mask): New.
7912 * config/i386/i386-c.c (ix86_target_macros_internal): Define
7913 __AVX512VPOPCNTDQ__.
7914 * config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
7915 (PTA_AVX512VPOPCNTDQ): Define.
7916 * config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
7917 TARGET_AVX512VPOPCNTDQ_P): Define.
7918 * config/i386/i386.opt: Add mavx512vpopcntdq.
7919 * config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
7920 * config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.
7921
7922 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
7923
7924 PR middle-end/77484
7925 * predict.def (PRED_CALL): Set to 67.
7926
7927 2017-01-09 Eric Botcazou <ebotcazou@adacore.com>
7928
7929 * expr.c (store_field): In the bitfield case, if the value comes from
7930 a function call and is of an aggregate type returned in registers, do
7931 not modify the field mode; extract the value in all cases if the mode
7932 is BLKmode and the size is not larger than a word.
7933
7934 2017-01-09 Dominique d'Humieres <dominiq@lps.ens.fr>
7935
7936 PR target/71017
7937 * config/i386/cpuid.h: Fix undefined behavior.
7938
7939 2017-01-04 Jeff Law <law@redhat.com>
7940
7941 PR tree-optimization/79007
7942 PR tree-optimization/67955
7943 * tree-ssa-alias.c (same_addr_size_stores_p): Only need to be
7944 conservative for pt.null when flag_non_call_exceptions is on.
7945
7946 2017-01-09 Jakub Jelinek <jakub@redhat.com>
7947
7948 PR translation/79019
7949 PR translation/79020
7950 * params.def (PARAM_INLINE_MIN_SPEEDUP,
7951 PARAM_IPA_CP_SINGLE_CALL_PENALTY,
7952 PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos
7953 in descriptions.
7954 * config/avr/avr.opt (maccumulate-args): Likewise.
7955 * config/msp430/msp430.opt (mwarn-mcu): Likewise.
7956 * common.opt (freport-bug): Likewise.
7957 * cif-code.def (CIF_FINAL_ERROR): Likewise.
7958 * doc/invoke.texi (ipa-cp-single-call-penalty): Likewise.
7959 * config/s390/s390.c (s390_invalid_binary_op): Fix spelling in
7960 translatable string.
7961 * config/i386/i386.c (function_value_32): Likewise.
7962 * config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise.
7963 * config/msp430/msp430.c (msp430_option_override, msp430_attr):
7964 Likewise.
7965 * config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise.
7966 * common/config/msp430/msp430-common.c (msp430_handle_option):
7967 Likewise.
7968 * symtab.c (symtab_node::verify_base): Likewise.
7969 * opts.c (set_debug_level): Likewise.
7970 * tree.c (verify_type_variant): Likewise. Fix typo in comment.
7971 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
7972 missing whitespace to translatable strings.
7973 * config/avr/avr.md (bswapsi2): Fix typo in comment.
7974 * config/sh/superh.h: Likewise.
7975 * config/i386/xopintrin.h: Likewise.
7976 * config/i386/znver1.md: Likewise.
7977 * config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise.
7978 * ipa-inline-analysis.c (compute_inline_parameters): Likewise.
7979 * double-int.h (struct double_int): Likewise.
7980 * double-int.c (div_and_round_double): Likewise.
7981 * wide-int.cc: Likewise.
7982 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
7983 * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
7984 * cfgcleanup.c (crossjumps_occured): Renamed to ...
7985 (crossjumps_occurred): ... this.
7986 (try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg):
7987 Adjust all uses.
7988
7989 PR tree-optimization/78899
7990 * tree-if-conv.c (version_loop_for_if_conversion): Instead of
7991 returning bool return struct loop *, NULL for failure and the new
7992 loop on success.
7993 (versionable_outer_loop_p): Don't version outer loop if it has
7994 dont_vectorized bit set.
7995 (tree_if_conversion): When versioning outer loop, ensure
7996 tree_if_conversion is performed also on the inner loop of the
7997 non-vectorizable outer loop copy.
7998 * tree-vectorizer.c (set_uid_loop_bbs): Formatting fix. Fold
7999 LOOP_VECTORIZED in inner loop of the scalar outer loop and
8000 prevent vectorization of it.
8001 (vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure
8002 the outer loop vectorization of the non-scalar version is attempted
8003 before vectorization of the inner loop in scalar version. If
8004 outer LOOP_VECTORIZED guarded loop is not vectorized, prevent
8005 vectorization of its inner loop.
8006 * tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop
8007 has 2 inner loops, rename also on edges from bb whose single pred
8008 is outer_loop->header. Fix typo in function comment.
8009
8010 2017-01-09 Martin Sebor <msebor@redhat.com>
8011
8012 PR bootstrap/79033
8013 * asan.c (asan_emit_stack_protection): Increase local buffer size
8014 to avoid snprintf truncation warning.
8015
8016 2017-01-09 Andrew Pinski <apinski@cavium.com>
8017
8018 * config/aarch64/aarch64-cores.def: Add thunderx2t99. Change vulcan
8019 to reference thunderx2t99 for the tuning structure
8020 * config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs):
8021 Rename to ...
8022 (thunderx2t99_extra_costs): This.
8023 * config/aarch64/aarch64-tune.md: Regenerate.
8024 * config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ...
8025 (vulcan_addrcost_table): This.
8026 (vulcan_regmove_cost): Rename to ...
8027 (thunderx2t99_regmove_cost): This.
8028 (vulcan_vector_cost): Rename to ...
8029 (thunderx2t99_vector_cost): this.
8030 (vulcan_branch_cost): Rename to ...
8031 (thunderx2t99_branch_cost): This.
8032 (vulcan_tunings): Rename to ...
8033 (thunderx2t99_tunings): This and s/vulcan/thunderx2t99 .
8034 * doc/invoke.texi (AARCH64/mtune): Add thunderx2t99.
8035
8036 2017-01-09 Martin Jambor <mjambor@suse.cz>
8037
8038 PR ipa/78365
8039 PR ipa/78599
8040 * ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr.
8041 * ipa-cp.c (ipa_vr_operation_and_type_effects): New function.
8042 (propagate_vr_accross_jump_function): Use the above function for all
8043 value range computations for pass-through jump functions and type
8044 converasion from explicit value range values.
8045 (ipcp_propagate_stage): Do not attempt to deduce types of formal
8046 parameters from TYPE_ARG_TYPES.
8047 * ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace.
8048 (ipa_write_node_info): Stream type of the actual argument.
8049 (ipa_read_node_info): Likewise. Also remove trailing whitespace.
8050
8051 2017-01-09 Martin Liska <mliska@suse.cz>
8052
8053 PR pch/78970
8054 * gcc.c (driver_handle_option): Handle OPT_E and set have_E.
8055 (lookup_compiler): Do not show error message with have_E.
8056
8057 2017-01-09 Jakub Jelinek <jakub@redhat.com>
8058
8059 PR tree-optimization/78938
8060 * tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR
8061 where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use
8062 BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of
8063 {EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR. Formatting
8064 fixes.
8065
8066 2017-01-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8067
8068 * tree-ssa-address.c (gen_addr_rtx): Don't handle index if it
8069 is const0_rtx.
8070
8071 2017-01-09 Richard Biener <rguenther@suse.de>
8072
8073 PR tree-optimization/78997
8074 * tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA
8075 name condition properly.
8076
8077 2017-01-09 Richard Biener <rguenther@suse.de>
8078
8079 PR debug/79000
8080 * dwarf2out.c (is_cxx): New overload with context.
8081 (is_naming_typedef_decl): Use it.
8082
8083 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
8084
8085 * invoke.texi (Option Summary): Correct spacing in option lists
8086 and add line breaks to fix over-long lines.
8087
8088 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
8089
8090 PR middle-end/17660
8091
8092 * extend.texi (Common Variable Attributes): Add xref to GCC
8093 Internals manual to explain mode attribute keywords.
8094
8095 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
8096
8097 PR other/16519
8098 * doc/invoke.texi (Option Summary): Move -pthread to Linker Options
8099 and Preprocessor Options.
8100 (Options for Linking): Document -pthread here....
8101 (RS/6000 and PowerPC Options): ...not here.
8102 (Solaris 2 Options): ...or here.
8103 * doc/cppopts.texi: Document -pthread.
8104
8105 2017-01-08 Martin Sebor <msebor@redhat.com>
8106
8107 PR middle-end/77708
8108 * doc/invoke.texi (Warning Options): Document -Wformat-truncation.
8109 * gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt):
8110 New member functions.
8111 (format_directive): Used them.
8112 (add_bytes): Same.
8113 (pass_sprintf_length::handle_gimple_call): Same.
8114 * graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size
8115 to avoid truncation for any argument.
8116 (extract_affine_mul): Same.
8117 * tree.c (get_file_function_name): Same.
8118
8119 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
8120
8121 PR middle-end/77484
8122 * predict.def (PRED_INDIR_CALL): Set to 86.
8123
8124 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
8125
8126 PR preprocessor/54124
8127 * doc/cppopts.texi: Reformat -d subtable to list the full name
8128 of the options. Add cross-reference to the docs for the general
8129 compiler -d options.
8130 * doc/invoke.texi (Developer Options): Add cross-reference to the
8131 preprocessor-specific -d option documentation.
8132
8133 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
8134
8135 PR preprocessor/13498
8136 * doc/cpp.texi (Search Path): Rewrite to remove obsolete and
8137 redudant material, and reflect new command-line options.
8138 (System Headers): Likewise.
8139
8140 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
8141
8142 * doc/cppdiropts.texi: Merge documentation of -I, -iquote,
8143 -isystem, and -idirafter. Copy-edit.
8144 * doc/cppopts.texi: Copy-edit. Remove contradiction about
8145 default for -ftrack-macro-expansion. Delete obsolete and
8146 badly-formatted implementation details about -fdebug-cpp output.
8147 * doc/cppwarnopts.texi: Copy-edit.
8148
8149 2017-01-07 David Malcolm <dmalcolm@redhat.com>
8150
8151 PR c++/72803
8152 * input.c (selftest::test_accessing_ordinary_linemaps): Verify
8153 that the transition from a max line width >= 1<<10 to narrower
8154 lines works correctly.
8155
8156 2017-01-07 Alexandre Oliva <aoliva@redhat.com>
8157
8158 * doc/options.texi (PerFunction): New.
8159 * opt-functions.awk (switch_flags): Map both Optimization and
8160 PerFunction to CL_OPTIMIZATION.
8161 * opth-gen.awk: Test for PerFunction flag along with
8162 Optimization.
8163 * optc-save-gen.awk: Likewise. Introduce var_opt_hash and set
8164 it only when the latter is present. Skip those that don't in
8165 the hash function generator.
8166 * common.opt (fvar-tracking): Mark as PerFunction instead of
8167 Optimization.
8168 (fvar-tracking-assignments): Likewise.
8169 (fvar-tracking-assignments-toggle): Likewise.
8170 (fvar-tracking-uninit): Likewise.
8171
8172 2017-01-07 Jakub Jelinek <jakub@redhat.com>
8173
8174 PR translation/79018
8175 * params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between
8176 the and store.
8177
8178 2017-01-06 Mikael Pettersson <mikpelinux@gmail.com>
8179
8180 PR target/57583
8181 * config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option.
8182 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle
8183 TARGET_LONG_JUMP_TABLE_OFFSETS.
8184 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
8185 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
8186 * config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise.
8187 (ASM_OUTPUT_ADDR_DIFF_ELF): Likewise.
8188 * config/m68k/m68k.md (tablejump expander): Likewise.
8189 (*tablejump_pcrel_hi): Renamed from unnamed insn, reject
8190 TARGET_LONG_JUMP_TABLE_OFFSETS.
8191 (*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS.
8192 * doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets.
8193
8194 2017-01-06 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
8195 David Holsgrove <david.holsgrove@xilinx.com>
8196
8197 * common/config/microblaze/microblaze-common.c
8198 (TARGET_EXCEPT_UNWIND_INFO): Remove.
8199 * config/microblaze/microblaze-protos.h (microblaze_eh_return):
8200 New prototype.
8201 * config/microblaze/microblaze.c (microblaze_must_save_register)
8202 (microblaze_expand_epilogue, microblaze_return_addr): Handle
8203 calls_eh_return.
8204 (microblaze_eh_return): New function.
8205 * config/microblaze/microblaze.h (RETURN_ADDR_OFFSET)
8206 (EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM)
8207 (EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros.
8208 * config/microblaze/microblaze.md (eh_return): New pattern.
8209
8210 2017-01-06 Jakub Jelinek <jakub@redhat.com>
8211
8212 * system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP,
8213 GCC_DIAGNOSTIC_STRINGIFY): Define.
8214
8215 * read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare warning.
8216
8217 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
8218
8219 * config/arm/arm.md (<mcrr>): New.
8220 (<mrrc>): New.
8221 * config/arm/arm.c (arm_arch5te): New.
8222 (arm_option_override): Set arm_arch5te.
8223 (arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc
8224 and mrrc2.
8225 * config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to...
8226 (arm_mcrr_qualifiers): ... this. New.
8227 (MRRC_QUALIFIERS): Define to...
8228 (arm_mrrc_qualifiers): ... this. New.
8229 * config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc,
8230 __arm_mrrc2): New.
8231 * config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New.
8232 * config/arm/iterators.md (MCRRI, mcrr, MCRR): New.
8233 (MRRCI, mrrc, MRRC): New.
8234 * config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC,
8235 VUNSPEC_MRRC2): New.
8236
8237 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
8238
8239 * config/arm/arm.md (<mcr>): New.
8240 (<mrc>): New.
8241 * config/arm/arm.c (arm_coproc_builtin_available): Add
8242 support for mcr, mrc, mcr2 and mrc2.
8243 * config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to...
8244 (arm_mcr_qualifiers): ... this. New.
8245 (MRC_QUALIFIERS): Define to ...
8246 (arm_mrc_qualifiers): ... this. New.
8247 (MCR_QUALIFIERS): Define to ...
8248 (arm_mcr_qualifiers): ... this. New.
8249 * config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2,
8250 __arm_mrc2): New.
8251 * config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New.
8252 * config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New.
8253 * config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC,
8254 VUNSPEC_MRC2): New.
8255
8256 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
8257
8258 * config/arm/arm.md (*ldc): New.
8259 (*stc): New.
8260 (<ldc>): New.
8261 (<stc>): New.
8262 * config/arm/arm.c (arm_coproc_builtin_available): Add
8263 support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l.
8264 (arm_coproc_ldc_stc_legitimate_address): New.
8265 * config/arm/arm-builtins.c (arm_type_qualifiers): Add
8266 'qualifier_const_pointer'.
8267 (LDC_QUALIFIERS): Define to...
8268 (arm_ldc_qualifiers): ... this. New.
8269 (STC_QUALIFIERS): Define to...
8270 (arm_stc_qualifiers): ... this. New.
8271 * config/arm/arm-protos.h
8272 (arm_coproc_ldc_stc_legitimate_address): New.
8273 * config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc,
8274 __arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New.
8275 * config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc,
8276 stc2, stcl, stc2l): New.
8277 * config/arm/constraints.md (Uz): New.
8278 * config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New.
8279 * config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL,
8280 VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL,
8281 VUNSPEC_STC2L): New.
8282
8283 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
8284
8285 * config/arm/arm.md (<cdp>): New.
8286 * config/arm/arm.c (neon_const_bounds): Rename this ...
8287 (arm_const_bounds): ... this.
8288 (arm_coproc_builtin_available): New.
8289 * config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase.
8290 (arm_type_qualifiers): Add 'qualifier_unsigned_immediate'.
8291 (CDP_QUALIFIERS): Define to...
8292 (arm_cdp_qualifiers): ... this. New.
8293 (void_UP): Define.
8294 (arm_expand_builtin_args): Add case for 6 arguments.
8295 * config/arm/arm-protos.h (neon_const_bounds): Rename this ...
8296 (arm_const_bounds): ... this.
8297 (arm_coproc_builtin_available): New.
8298 * config/arm/arm_acle.h (__arm_cdp): New.
8299 (__arm_cdp2): New.
8300 * config/arm/arm_acle_builtins.def (cdp): New.
8301 (cdp2): New.
8302 * config/arm/iterators.md (CDPI,CDP,cdp): New.
8303 * config/arm/neon.md: Rename all 'neon_const_bounds' to
8304 'arm_const_bounds'.
8305 * config/arm/types.md (coproc): New.
8306 * config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New.
8307 * gcc/doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics.
8308 * gcc/doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok,
8309 arm_coproc3_ok, arm_coproc4_ok): Document new effective targets.
8310
8311 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
8312
8313 * config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New.
8314 (UBINOP_QUALIFIERS): New.
8315 (si_UP): Define.
8316 (acle_builtin_data): New. Change comment.
8317 (arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H,
8318 ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH,
8319 ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include
8320 arm_acle_builtins.def.
8321 (ARM_BUILTIN_ACLE_PATTERN_START): Define.
8322 (arm_init_acle_builtins): New.
8323 (CRC32_BUILTIN): Remove.
8324 (bdesc_2arg): Remove entries for crc32b, crc32h, crc32w,
8325 crc32cb, crc32ch and crc32cw.
8326 (arm_init_crc32_builtins): Remove.
8327 (arm_init_builtins): Use arm_init_acle_builtins rather
8328 than arm_init_crc32_builtins.
8329 (arm_expand_acle_builtin): New.
8330 (arm_expand_builtin): Use 'arm_expand_acle_builtin'.
8331 * config/arm/arm_acle_builtins.def: New.
8332
8333 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
8334
8335 * config/arm/arm-builtins.c (neon_builtin_datum): Rename to ..
8336 (arm_builtin_datum): ... this.
8337 (arm_init_neon_builtin): Rename to ...
8338 (arm_init_builtin): ... this. Add a new parameters PREFIX
8339 and USE_SIG_IN_NAME.
8340 (arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with
8341 'arm_init_builtin'. Replace type 'neon_builtin_datum' with
8342 'arm_builtin_datum'.
8343 (arm_init_vfp_builtins): Likewise.
8344 (builtin_arg): Rename enum's replacing 'NEON_ARG' with
8345 'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY.
8346 (arm_expand_neon_args): Rename to ...
8347 (arm_expand_builtin_args): ... this. Rename builtin_arg
8348 enum values and differentiate between ARG_BUILTIN_MEMORY
8349 and ARG_BUILTIN_NEON_MEMORY.
8350 (arm_expand_neon_builtin_1): Rename to ...
8351 (arm_expand_builtin_1): ... this. Rename builtin_arg enum
8352 values, arm_expand_builtin_args and add bool parameter NEON.
8353 (arm_expand_neon_builtin): Use arm_expand_builtin_1.
8354 (arm_expand_vfp_builtin): Likewise.
8355 (NEON_MAX_BUILTIN_ARGS): Remove, it was unused.
8356
8357 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
8358
8359 PR middle-end/77484
8360 * predict.def (PRED_POLYMORPHIC_CALL): Set to 59.
8361 * predict.c (tree_estimate_probability_bb): Reverse direction of
8362 polymorphic call predictor.
8363
8364 2017-01-06 David Malcolm <dmalcolm@redhat.com>
8365
8366 * passes.c (execute_one_pass): Split out pass-skipping logic into...
8367 (determine_pass_name_match): ...this new function and...
8368 (should_skip_pass_p): ...this new function.
8369
8370 2017-01-06 Nathan Sidwell <nathan@acm.org>
8371
8372 * ipa-visibility.c (function_and_variable_visibility): Reformat
8373 comments and long lines. Remove extrneous if.
8374 * symtab.c (symtab_node::make_decl_local): Fix code format.
8375 (symtab_node::set_section_for_node): Fix comment typo.
8376
8377 2017-01-06 Martin Liska <mliska@suse.cz>
8378
8379 PR bootstrap/79003
8380 * lra-constraints.c: Rename invariant to lra_invariant.
8381 * predict.c (set_even_probabilities): Initialize e to NULL.
8382
8383 2017-01-05 Martin Sebor <msebor@redhat.com>
8384
8385 PR tree-optimization/78910
8386 * gimple-ssa-sprintf.c (tree_digits): Add an argument.
8387 (format_integer): Correct off-by-one error in the handling
8388 of precision with negative numbers in signed conversions..
8389
8390 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
8391
8392 * doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry.
8393
8394 2017-01-05 Jakub Jelinek <jakub@redhat.com>
8395
8396 PR tree-optimization/71016
8397 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to
8398 factor_out_conditional_conversion. Formatting fix.
8399 (factor_out_conditional_conversion): Add cond_stmt argument.
8400 If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of
8401 cond_stmt and if arg0_def_stmt is not the only stmt in its bb.
8402 Formatting fix.
8403
8404 2017-01-05 David Malcolm <dmalcolm@redhat.com>
8405
8406 * Makefile.in (OBJS): Add read-md.o, read-rtl.o,
8407 read-rtl-function.o, and selftest-rtl.o.
8408 * config/aarch64/aarch64.c: Include selftest.h and selftest-rtl.h.
8409 (selftest::aarch64_test_loading_full_dump): New function.
8410 (selftest::aarch64_run_selftests): New function.
8411 (TARGET_RUN_TARGET_SELFTESTS): Wire it up to
8412 selftest::aarch64_run_selftests.
8413 * config/i386/i386.c
8414 (selftest::ix86_test_loading_dump_fragment_1): New function.
8415 (selftest::ix86_test_loading_call_insn): New function.
8416 (selftest::ix86_test_loading_full_dump): New function.
8417 (selftest::ix86_test_loading_unspec): New function.
8418 (selftest::ix86_run_selftests): Call the new functions.
8419 * emit-rtl.c (maybe_set_max_label_num): New function.
8420 * emit-rtl.h (maybe_set_max_label_num): New decl.
8421 * function.c (instantiate_decls): Guard call to
8422 instantiate_decls_1 with if (DECL_INITIAL (fndecl)).
8423 * function-tests.c (selftest::verify_three_block_rtl_cfg): Remove
8424 "static".
8425 * gensupport.c (gen_reader::gen_reader): Pass "false"
8426 for new "compact" param of rtx_reader.
8427 * print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)"
8428 rather than an empty string for NULL strings.
8429 * read-md.c: Potentially include config.h rather than bconfig.h.
8430 Wrap include of errors.h with #ifdef GENERATOR_FILE.
8431 (have_error): New global, copied from errors.c.
8432 (md_reader::read_name): Rename to...
8433 (md_reader::read_name_1): ...this, adding "out_loc" param,
8434 and converting "missing name or number" to returning false, rather
8435 than failing.
8436 (md_reader::read_name): Reimplement in terms of read_name_1.
8437 (md_reader::read_name_or_nil): New function.
8438 (md_reader::read_string): Handle "(nil)" by returning NULL.
8439 (md_reader::md_reader): Add new param "compact".
8440 (md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE.
8441 (md_reader::read_file): New method.
8442 * read-md.h (md_reader::md_reader): Add new param "compact".
8443 (md_reader::read_file): New method.
8444 (md_reader::is_compact): New accessor.
8445 (md_reader::read_name): Convert return type from void to file_location.
8446 (md_reader::read_name_or_nil): New decl.
8447 (md_reader::read_name_1): New decl.
8448 (md_reader::m_compact): New field.
8449 (noop_reader::noop_reader): Pass "false" for new "compact" param
8450 of rtx_reader.
8451 (rtx_reader::rtx_reader): Add new "compact" param.
8452 (rtx_reader::read_rtx_operand): Make virtual and convert return
8453 type from void to rtx.
8454 (rtx_reader::read_until): New decl.
8455 (rtx_reader::handle_any_trailing_information): New virtual function.
8456 (rtx_reader::postprocess): New virtual function.
8457 (rtx_reader::finalize_string): New virtual function.
8458 (rtx_reader::m_in_call_function_usage): New field.
8459 (rtx_reader::m_reuse_rtx_by_id): New field.
8460 * read-rtl-function.c: New file.
8461 * selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function.
8462 * selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro.
8463 (selftest::verify_three_block_rtl_cfg): New decl.
8464 * read-rtl-function.h: New file.
8465 * read-rtl.c: Potentially include config.h rather than bconfig.h.
8466 For host, include function.h, memmodel.h, and emit-rtl.h.
8467 (one_time_initialization): New function.
8468 (struct compact_insn_name): New struct.
8469 (compact_insn_names): New array.
8470 (find_code): Handle insn codes in compact dumps.
8471 (apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE.
8472 (bind_subst_iter_and_attr): Likewise.
8473 (add_condition_to_string): Likewise.
8474 (add_condition_to_rtx): Likewise.
8475 (apply_attribute_uses): Likewise.
8476 (add_current_iterators): Likewise.
8477 (apply_iterators): Likewise.
8478 (initialize_iterators): Guard usage of apply_subst_iterator with
8479 #ifdef GENERATOR_FILE.
8480 (read_conditions): Wrap with #ifdef GENERATOR_FILE.
8481 (md_reader::read_mapping): Likewise.
8482 (add_define_attr_for_define_subst): Likewise.
8483 (add_define_subst_attr): Likewise.
8484 (read_subst_mapping): Likewise.
8485 (check_code_iterator): Likewise.
8486 (rtx_reader::read_rtx): Likewise. Move one-time initialization
8487 logic to...
8488 (one_time_initialization): New function.
8489 (rtx_reader::read_until): New method.
8490 (read_flags): New function.
8491 (parse_reg_note_name): New function.
8492 (rtx_reader::read_rtx_code): Initialize "iterator" to NULL.
8493 Handle reuse_rtx ids.
8494 Wrap iterator lookup within #ifdef GENERATOR_FILE.
8495 Add parsing support for RTL dumps, mirroring the special-cases in
8496 print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID
8497 values, and calling handle_any_trailing_information.
8498 (rtx_reader::read_rtx_operand): Convert return type from void
8499 to rtx, returning return_rtx. Handle case 'e'. Call
8500 finalize_string on XSTR and XTMPL fields.
8501 (rtx_reader::read_nested_rtx): Handle dumps in which trailing
8502 "(nil)" values were omitted. Call the postprocess vfunc on the
8503 return_rtx.
8504 (rtx_reader::rtx_reader): Add new "compact" param and pass to base
8505 class ctor. Initialize m_in_call_function_usage. Call
8506 one_time_initialization.
8507 * rtl-tests.c (selftest::test_uncond_jump): Call
8508 set_new_first_and_last_insn.
8509 * rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE.
8510 * selftest-rtl.c: New file.
8511 * selftest-rtl.h (class selftest::rtl_dump_test): New class.
8512 (selftest::get_insn_by_uid): New decl.
8513 * selftest-run-tests.c (selftest::run_tests): Call
8514 read_rtl_function_c_tests.
8515 * selftest.h (selftest::read_rtl_function_c_tests): New decl.
8516 * tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function
8517 dumps.
8518
8519 2017-01-05 Uros Bizjak <ubizjak@gmail.com>
8520
8521 * config/i386/i386.md (*testqi_ext_3): No need to handle memory
8522 operands in a special way. Assert that pos+len <= mode precision.
8523
8524 2017-01-05 Jakub Jelinek <jakub@redhat.com>
8525
8526 * common.opt (fvect-cost-model): Remove RejectNegative flag, use
8527 3 argument Alias with unlimited for the negative form.
8528 (fno-vect-cost-model): Removed.
8529
8530 2017-01-05 Martin Liska <mliska@suse.cz>
8531
8532 * hsa-gen.c (gen_hsa_divmod): New function.
8533 (gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD.
8534
8535 2017-01-05 Martin Liska <mliska@suse.cz>
8536
8537 PR pch/78970
8538 * gcc.c (lookup_compiler): Reject '-' filename for a precompiled
8539 header.
8540
8541 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8542
8543 * config/s390/s390.c (s390_expand_setmem): Unroll the loop for
8544 small constant length operands.
8545
8546 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8547
8548 * config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes
8549 between loop iterations.
8550
8551 2017-01-05 Martin Liska <mliska@suse.cz>
8552
8553 PR sanitizer/78815
8554 * gimplify.c (gimplify_decl_expr): Compare to
8555 asan_poisoned_variables instread of checking flags.
8556 (gimplify_target_expr): Likewise.
8557 (gimplify_expr): Likewise.
8558 (gimplify_function_tree): Conditionally initialize
8559 asan_poisoned_variables.
8560
8561 2017-01-04 Jeff Law <law@redhat.com>
8562
8563 PR tree-optimizatin/78812
8564 * rtl.h (contains_mem_rtx_p): Prototype.
8565 * ifcvt.c (containts_mem_rtx_p): Move from here to...
8566 * rtlanal.c (contains_mem_rtx_p): Here and remove static linkage.
8567 * gcse.c (prune_expressions): Use contains_mem_rtx_p to discover
8568 and prune MEMs that are not at the toplevel of a SET_SRC rtx. Look
8569 through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs.
8570
8571 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
8572
8573 * input.c (assert_char_at_range): Default-initialize actual_range.
8574
8575 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
8576
8577 * df-scan.c (df_ref_create_structure): Make regno unsigned,
8578 to match the caller.
8579
8580 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
8581
8582 * cfgexpand.c (expand_gimple_basic_block): Disregard debug
8583 insns after final jump in test to emit dummy move.
8584
8585 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
8586
8587 * gimple-iterator.h (gsi_one_nondebug_before_end_p): New.
8588 * tree-eh.c (cleanup_empty_eh): Skip more debug stmts.
8589
8590 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
8591
8592 * multiple_target.c (create_dispatcher_calls): Init e_next.
8593 * tree-ssa-loop-split.c (split_loop): Init border.
8594 * tree-vect-loop.c (vect_determine_vectorization_factor): Init
8595 scalar_type.
8596
8597 2017-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
8598
8599 PR target/71977
8600 PR target/70568
8601 PR target/78823
8602 * config/rs6000/predicates.md (sf_subreg_operand): New predicate.
8603 (altivec_register_operand): Do not return true if the operand
8604 contains a SUBREG mixing SImode and SFmode.
8605 (vsx_register_operand): Likewise.
8606 (vsx_reg_sfsubreg_ok): New predicate.
8607 (vfloat_operand): Do not return true if the operand contains a
8608 SUBREG mixing SImode and SFmode.
8609 (vint_operand): Likewise.
8610 (vlogical_operand): Likewise.
8611 (gpc_reg_operand): Likewise.
8612 (int_reg_operand): Likewise.
8613 * config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration.
8614 * config/rs6000/rs6000.c (valid_sf_si_move): New function to
8615 determine if a MOVSI or MOVSF operation contains SUBREGs that mix
8616 SImode and SFmode.
8617 (rs6000_emit_move_si_sf_subreg): New helper function.
8618 (rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily
8619 fixup SUBREGs involving SImode and SFmode.
8620 * config/rs6000/vsx.md (SFBOOL_*): New constants that are operand
8621 numbers for the new peephole2 optimization.
8622 (peephole2 for SFmode unions): New peephole2 to optimize cases in
8623 the GLIBC math library that do AND/IOR/XOR operations on single
8624 precision floating point.
8625 * config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal
8626 target macros to say whether we need to avoid SUBREGs mixing
8627 SImode and SFmode.
8628 (TARGET_ALLOW_SF_SUBREG): Likewise.
8629 * config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs.
8630 (UNSPEC_SI_FROM_SF): Likewise.
8631 (iorxor): Change spacing.
8632 (and_ior_xor): New iterator for AND, IOR, and XOR.
8633 (movsi_from_sf): New insns for SImode/SFmode SUBREG support.
8634 (movdi_from_sf_zero_ext): Likewise.
8635 (mov<mode>_hardfloat, FMOVE32 iterator): Use register_operand
8636 instead of gpc_reg_operand. Add SImode/SFmode SUBREG support.
8637 (movsf_from_si): New insn for SImode/SFmode SUBREG support.
8638 (fma<mode>4): Use gpc_reg_operand instead of register_operand.
8639 (fms<mode>4): Likewise.
8640 (fnma<mode>4): Likewise.
8641 (fnms<mode>4): Likewise.
8642 (nfma<mode>4): Likewise.
8643 (nfms<mode>4): Likewise.
8644
8645 2017-01-04 Marek Polacek <polacek@redhat.com>
8646
8647 PR c++/64767
8648 * doc/invoke.texi: Document -Wpointer-compare.
8649
8650 2017-01-04 Jakub Jelinek <jakub@redhat.com>
8651
8652 * optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without
8653 RejectNegative.
8654
8655 * dwarf2out.c (output_loc_list): Don't throw away 64K+ location
8656 descriptions for -gdwarf-5 and emit them as uleb128 instead of
8657 2-byte data.
8658
8659 2017-01-04 Kelvin Nilsen <kelvin@gcc.gnu.org>
8660
8661 PR target/78056
8662 * doc/sourcebuild.texi (PowerPC-specific attributes): Add
8663 documentation of the powerpc_popcntb_ok attribute.
8664 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
8665 code to issue warning messages if a requested CPU configuration is
8666 not supported by the binary (assembler and loader) toolchain.
8667 (spe_init_builtins): Add two assertions to prevent ICE if attempt is
8668 made to define a built-in function that has been disabled.
8669 (paired_init_builtins): Add assertion to prevent ICE if attempt is
8670 made to define a built-in function that has been disabled.
8671 (altivec_init_builtins): Add comment explaining why definition
8672 of the DST built-in functions is not preceded by an assertion
8673 check. Add assertions to prevent ICE if attempts are made to
8674 define an altivec predicate or an abs* built-in function that has
8675 been disabled.
8676 (htm_init_builtins): Add comment explaining why definition of the
8677 htm built-in functions is not preceded by an assertion check.
8678
8679 2017-01-04 Jeff Law <law@redhat.com>
8680
8681 PR tree-optimizatin/67955
8682 * tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first.
8683 Allow any SSA_VAR_P as the base objects. Use integer_zerop. Verify
8684 the points-to solution does not include pt_null. Use DECL_PT_UID
8685 unconditionally.
8686
8687 2017-01-04 Uros Bizjak <ubizjak@gmail.com>
8688
8689 * config/i386/i386.md (HI/SImode test with imm to QImode splitters):
8690 Use gen_int_mode instead of gen_lopwart for const_int operands.
8691
8692 2017-01-04 Jakub Jelinek <jakub@redhat.com>
8693
8694 PR tree-optimization/71563
8695 * match.pd: Simplify X << Y into X if Y is known to be 0 or
8696 out of range value - has low bits known to be zero.
8697
8698 2017-01-04 Alan Modra <amodra@gmail.com>
8699
8700 * Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
8701 * configure: Regenerate.
8702 * config.in: Regenerate.
8703
8704 2017-01-04 Jakub Jelinek <jakub@redhat.com>
8705
8706 PR bootstrap/77569
8707 * input.c (ebcdic_execution_charset::on_error): Don't use strstr for
8708 a substring of the message, but strcmp with the whole message. Ifdef
8709 ENABLE_NLS, translate the message first using dgettext.
8710
8711 2017-01-03 Jeff Law <law@redhat.com>
8712
8713 PR tree-optimizatin/78856
8714 * tree-ssa-threadupdate.c: Include tree-vectorizer.h.
8715 (mark_threaded_blocks): Remove code to truncate thread paths that
8716 cross multiple loop headers. Instead invalidate the cached loop
8717 iteration information and handle case of a thread path walking
8718 into an irreducible region.
8719
8720 2017-01-03 Michael Meissner <meissner@linux.vnet.ibm.com>
8721
8722 PR target/78900
8723 * config/rs6000/rs6000.c (rs6000_split_signbit): Change some
8724 assertions. Add support for doing the signbit if the IEEE 128-bit
8725 floating point value is in a GPR.
8726 * config/rs6000/rs6000.md (Fsignbit): Delete.
8727 (signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
8728 Update the length attribute if the value is in a GPR.
8729 (signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
8730 the sign or zero extension instruction, since the value is always 0/1.
8731 (signbit<mode>2_dm2): Delete using <Fsignbit>.
8732
8733 PR target/78953
8734 * config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
8735 extracting SImode to a GPR register so that we can generate a
8736 store, limit the vector to be in a traditional Altivec register
8737 for the vextuwrx instruction.
8738
8739 2017-01-03 Ian Lance Taylor <iant@google.com>
8740
8741 * godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE.
8742
8743 2017-01-03 Martin Sebor <msebor@redhat.com>
8744
8745 PR tree-optimization/78696
8746 * gimple-ssa-sprintf.c (format_floating): Correct handling of
8747 precision. Use MPFR for %f for greater fidelity. Correct handling
8748 of %g.
8749 (pass_sprintf_length::compute_format_length): Set width and precision
8750 specified by asrerisk to void_node for vararg functions.
8751 (try_substitute_return_value): Adjust dump output.
8752
8753 2017-01-03 David Edelsohn <dje.gcc@gmail.com>
8754
8755 * doc/invoke.texi (RS6000 options): LRA is enabled by default.
8756
8757 2017-01-03 Eric Botcazou <ebotcazou@adacore.com>
8758
8759 * doc/invoke.texi (SPARC options): Document -mlra as the default.
8760 * config/sparc/sparc.c (sparc_option_override): Force LRA unless
8761 -mlra/-mno-lra was passed to the compiler.
8762
8763 2017-01-03 James Cowgill <James.Cowgill@imgtec.com>
8764
8765 PR rtl-optimization/65618
8766 * emit-rtl.c (try_split): Move initialization of "before" and
8767 "after" to just before the call to emit_insn_after_setloc.
8768
8769 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
8770
8771 * doc/md.texi (Standard Names): Remove reference to Java frontend.
8772
8773 2017-01-03 Pierre-Marie de Rodat <derodat@adacore.com>
8774
8775 * dwarf2out.c (gen_enumeration_type_die): When
8776 -gno-strict-dwarf, add a DW_AT_encoding attribute.
8777
8778 2017-01-03 Jakub Jelinek <jakub@redhat.com>
8779
8780 PR tree-optimization/78965
8781 * gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
8782 Change first argument from const call_info & to call_info &. For %n
8783 set info.nowrite to false.
8784
8785 PR middle-end/78901
8786 * gimple-ssa-sprintf.c (try_substitute_return_value): Don't change
8787 possibly throwing calls.
8788
8789 * genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME
8790 and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs
8791 and fns handling, rather than in a separate case SSA_NAME.
8792
8793 2017-01-02 Jeff Law <law@redhat.com>
8794
8795 * config/darwin-driver.c (darwin_driver_init): Const-correctness
8796 fixes for first_period and second_period variables.
8797
8798 2017-01-02 Uros Bizjak <ubizjak@gmail.com>
8799
8800 PR target/78967
8801 * config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
8802 (*insvqi_1): New insn pattern.
8803 (*insvqi_1_mem_rex64): Ditto.
8804 (*insvqi_2): Ditto.
8805 (*insvqi_3): Rename from *insvqi.
8806
8807 (*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.
8808
8809 2017-01-02 Gerald Pfeifer <gerald@pfeifer.com>
8810
8811 * doc/cfg.texi (Edges): Remove reference to Java.
8812 (Maintaining the CFG): Ditto.
8813
8814 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
8815
8816 PR middle-end/77674
8817 * symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
8818 transparent aliases.
8819
8820 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
8821
8822 PR middle-end/77484
8823 * predict.def (PRED_CALL): Update hitrate.
8824 (PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
8825 * predict.c (tree_estimate_probability_bb): Split CALL predictor
8826 into direct/indirect/polymorphic variants.
8827
8828 2017-01-01 Jakub Jelinek <jakub@redhat.com>
8829
8830 Update copyright years.
8831
8832 * gcc.c (process_command): Update copyright notice dates.
8833 * gcov-dump.c (print_version): Ditto.
8834 * gcov.c (print_version): Ditto.
8835 * gcov-tool.c (print_version): Ditto.
8836 * gengtype.c (create_file): Ditto.
8837 * doc/cpp.texi: Bump @copying's copyright year.
8838 * doc/cppinternals.texi: Ditto.
8839 * doc/gcc.texi: Ditto.
8840 * doc/gccint.texi: Ditto.
8841 * doc/gcov.texi: Ditto.
8842 * doc/install.texi: Ditto.
8843 * doc/invoke.texi: Ditto.
8844 \f
8845 Copyright (C) 2017 Free Software Foundation, Inc.
8846
8847 Copying and distribution of this file, with or without modification,
8848 are permitted in any medium without royalty provided the copyright
8849 notice and this notice are preserved.