Document -fipa-vrp
[gcc.git] / gcc / ChangeLog
1 2017-03-17 Martin Jambor <mjambor@suse.cz>
2
3 * doc/invoke.texi (Option Options): Include -fipa-vrp in the list.
4 (List of -O2 options): Likewise.
5 (-fipa-bit-cp): Replace "ipa" with "interprocedural."
6 (-fipa-vrp) New.
7
8 2017-03-17 Tom de Vries <tom@codesourcery.com>
9
10 * gcov-dump.c (print_usage): Print bug_report_url.
11
12 2017-03-17 Richard Biener <rguenther@suse.de>
13
14 PR middle-end/80050
15 * genmatch.c (parser::next): Remove pointless check for CPP_EOF.
16 (parser::peek): Likewise.
17
18 2017-03-17 Richard Biener <rguenther@suse.de>
19
20 PR tree-optimization/80048
21 * sese.c (free_sese_info): Properly release rename_map and
22 copied_bb_map elements.
23
24 2017-03-16 Alexandre Oliva <aoliva@redhat.com>
25
26 * gimple-ssa-store-merging.c (struct imm_store_chain_info):
27 Add linked-list forward and backlinks. Insert on
28 construction, remove on destruction.
29 (class pass_store_merging): Add m_stores_head field.
30 (pass_store_merging::terminate_and_process_all_chains):
31 Iterate over m_stores_head list.
32 (pass_store_merging::terminate_all_aliasing_chains):
33 Likewise.
34 (pass_store_merging::execute): Check for debug stmts first.
35 Push new chains onto the m_stores_head stack.
36
37 2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com>
38
39 PR target/71294
40 * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
41 SPLAT operation on ISA 2.07 64-bit systems that have direct move,
42 but no MTVSRDD support, by doing MTVSRD and XXPERMDI.
43
44 2017-03-16 Jeff Law <law@redhat.com>
45
46 PR tree-optimization/71437
47 * tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
48 member function. Implementation moved into after_dom_children
49 member function and into the threader's thread_outgoing_edges
50 function.
51 (dom_opt_dom_walker::after_dom_children): Simplify by moving
52 some code into new thread_outgoing_edges.
53 * tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
54 definition. Simplify marker handling (do it here). Assume we always
55 have the available expression and the const/copies tables.
56 (thread_outgoing_edges): New function extracted from tree-ssa-dom.c
57 and tree-vrp.c
58 * tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
59 * tree-vrp.c (equiv_stack): No longer file scoped.
60 (vrp_dom_walker): New class.
61 (vrp_dom_walker::before_dom_children): New member function.
62 (vrp_dom_walker::after_dom_children): Likewise.
63 (identify_jump_threads): Setup domwalker. Use it rather than
64 walking edges in a random order by hand. Simplify setup/finalization.
65 (finalize_jump_threads): Remove.
66 (vrp_finalize): Do not call identify_jump_threads here.
67 (execute_vrp): Do it here instead and call thread_through_all_blocks
68 here too.
69
70 PR tree-optimization/71437
71 * tree-ssa-dom.c (pfn_simplify): Add basic_block argument. All
72 callers changed.
73 (simplify_stmt_for_jump_threading): Add basic_block argument. All
74 callers changed.
75 (lhs_of_dominating_assert): Moved from here into tree-vrp.c.
76 (dom_opt_dom_walker::thread_across_edge): Remove
77 handle_dominating_asserts argument. All callers changed.
78 (record_temporary_equivalences_from_stmts_at_dest): Corresponding
79 changes. Remove calls to lhs_of_dominating_assert. Other
80 uses of handle_dominating_asserts turn into unconditional code
81 (simplify_control_stmt_condition_1): Likewise.
82 (simplify_control_stmt_condition): Likewise.
83 (thread_through_normal_block, thread_across_edge): Likewise.
84 * tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
85 * tree-vrp.c (lhs_of_dominating_assert): Move here. Return original
86 object if it is not an SSA_NAME.
87 (simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
88 before calling into the VRP specific simplifiers.
89 (identify_jump_threads): Remove handle_dominating_asserts
90 argument.
91
92 2017-03-16 Jakub Jelinek <jakub@redhat.com>
93
94 PR fortran/79886
95 * tree-diagnostic.c (default_tree_printer): No longer static.
96 * tree-diagnostic.h (default_tree_printer): New prototype.
97
98 2017-03-16 Tamar Christina <tamar.christina@arm.com>
99
100 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
101 Change ins into fmov.
102
103 2017-03-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
104
105 * config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
106 * config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
107 Use h_con constraint for operand 1.
108 (*aarch64_fnma4_elt_from_dup<mode>): Likewise.
109 (*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.
110
111 2017-03-15 Jeff Law <law@redhat.com>
112
113 PR tree-optimization/71437
114 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
115 (record_temporary_equivalences): Use it.
116
117 PR tree-optimization/71437
118 * tree-ssa-dom.c (struct cond_equivalence): Moved from here into
119 tree-ssa-scopedtables.
120 (lookup_avail_expr, build_and_record_new_cond): Likewise.
121 (record_conditions, record_cond, vuse_eq): Likewise.
122 (record_edge_info): Adjust to API tweak of record_conditions.
123 (simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
124 (record_temporary_equivalences, optimize_stmt): Likewise.
125 (eliminate_redundant_computations): Likewise.
126 (record_equivalences_from_stmt): Likewise.
127 * tree-ssa-scopedtables.c: Include options.h and params.h.
128 (vuse_eq): New function, moved from tree-ssa-dom.c
129 (build_and_record_new_cond): Likewise.
130 (record_conditions): Likewise. Accept vector of conditions rather
131 than edge_equivalence structure for first argument.
132 for the first argument.
133 (avail_exprs_stack::lookup_avail_expr): New member function, moved
134 from tree-ssa-dom.c.
135 (avail_exprs_stack::record_cond): Likewise.
136 * tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
137 from tree-ssa-dom.c.
138 (avail_exprs_stack): Add new member functions lookup_avail_expr
139 and record_cond.
140 (record_conditions): Declare.
141
142 2017-03-15 Vladimir Makarov <vmakarov@redhat.com>
143
144 PR target/80017
145 * lra-constraints.c (process_alt_operands): Increase reject for
146 reloading an input/output operand.
147
148 2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com>
149
150 PR target/79038
151 * config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
152 insns to convert from signed/unsigned char/short to IEEE 128-bit
153 floating point.
154 (floatuns<QHI:mode><IEEE128:mode>2): Likewise.
155
156 2017-03-15 Uros Bizjak <ubizjak@gmail.com>
157
158 PR target/80019
159 * config/i386/i386.c (ix86_vector_duplicate_value): Create
160 subreg of inner mode for values already in registers.
161
162 2017-03-15 Bernd Schmidt <bschmidt@redhat.com>
163
164 * config/c6x/c6x.c (hwloop_optimize): Handle case where the old
165 iteration reg is used after the loop.
166
167 2017-03-14 Martin Sebor <msebor@redhat.com>
168
169 PR tree-optimization/79800
170 * gimple-ssa-sprintf.c (format_floating: Add argument. Handle
171 precision in negative-positive range.
172 (format_floating): Call non-const overload with adjusted precision.
173
174 2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
175
176 PR target/79947
177 * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
178 -mpowerpc-gfxopt.
179
180 2017-03-14 Martin Sebor <msebor@redhat.com>
181
182 PR middle-end/80020
183 * builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
184 * builtins.def (aligned_alloc): Use it.
185
186 PR c/79936
187 * Makefile.in (GTFILES): Add calls.c.
188 * calls.c: Include "gt-calls.h".
189
190 2017-03-14 Bernd Schmidt <bschmidt@redhat.com>
191
192 PR rtl-optimization/79728
193 * regs.h (struct target_regs): New field
194 x_contains_allocatable_regs_of_mode.
195 (contains_allocatable_regs_of_mode): New macro.
196 * reginfo.c (init_reg_sets_1): Initialize it, and change
197 contains_reg_of_mode so it includes global regs as well.
198 * reload.c (push_reload): Use contains_allocatable_regs_of_mode
199 rather than contains_regs_of_mode.
200
201 2017-03-14 Martin Liska <mliska@suse.cz>
202
203 * doc/invoke.texi: Document options that can't be combined with
204 -fcheck-pointer-bounds.
205
206 2017-03-14 Martin Liska <mliska@suse.cz>
207
208 PR middle-end/79831
209 * doc/invoke.texi (-Wchkp): Document the option.
210
211 2017-03-14 Martin Liska <mliska@suse.cz>
212
213 * Makefile.in: Install gcov-dump.
214
215 2017-03-14 Martin Liska <mliska@suse.cz>
216
217 * multiple_target.c (expand_target_clones): Bail out for
218 an invalid attribute.
219
220 2017-03-14 Richard Biener <rguenther@suse.de>
221
222 * alias.c (struct alias_set_entry): Pack properly.
223 * cfgloop.h (struct loop): Likewise.
224 * cse.c (struct set): Likewise.
225 * ipa-utils.c (struct searchc_env): Likewise.
226 * loop-invariant.c (struct invariant): Likewise.
227 * lra-remat.c (struct cand): Likewise.
228 * recog.c (struct change_t): Likewise.
229 * rtl.h (struct address_info): Likewise.
230 * symbol-summary.h (function_summary): Likewise.
231 * tree-loop-distribution.c (struct partition): Likewise.
232 * tree-object-size.c (struct object_size_info): Likewise.
233 * tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
234 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
235 * tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
236 * tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
237 * tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
238 * tree-vectorizer.h (struct _loop_vec_info): Likewise.
239 (struct _stmt_vec_info): Likewise.
240
241 2017-03-14 Martin Liska <mliska@suse.cz>
242
243 PR target/79892
244 * multiple_target.c (create_dispatcher_calls): Check that
245 a target can create a function dispatcher.
246
247 2017-03-14 Martin Liska <mliska@suse.cz>
248
249 PR lto/66295
250 * multiple_target.c (expand_target_clones): Drop local.local
251 flag for default implementation.
252
253 2017-03-14 Richard Biener <rguenther@suse.de>
254
255 PR tree-optimization/80030
256 * tree-vect-stmts.c (vectorizable_store): Plug memleak.
257
258 2017-03-13 Kito Cheng <kito.cheng@gmail.com>
259
260 * config/riscv/riscv.c (riscv_emit_float_compare>: Use
261 gcc_fallthrough() instead of __attribute__((fallthrough));
262
263 2017-03-13 Gerald Pfeifer <gerald@pfeifer.com>
264
265 * doc/gcc.texi: Remove "up" link to (DIR).
266 * doc/gccint.texi: Ditto.
267
268 2017-03-13 Gerald Pfeifer <gerald@pfeifer.com>
269
270 * doc/install.texi (Specific) <avr>: Remove reference to
271 binutils 2.13.
272
273 2017-03-13 Jeff Law <law@redhat.com>
274
275 * config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
276 attribute rather than comments.
277
278 * config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to
279 match_scratch operand is highest.
280
281 2017-03-13 Martin Liska <mliska@suse.cz>
282
283 PR middle-end/78339
284 * ipa-pure-const.c (warn_function_noreturn): If the declarations
285 is a CHKP clone, use original declaration.
286
287 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
288
289 * config/arc/arc.c (arc_init): Use multiplier whenever we have it.
290 (arc_conditional_register_usage): Use a different allocation order
291 when optimizing for size.
292 * common/config/arc/arc-common.c (arc_option_optimization_table):
293 Section anchors default on when optimizing for size.
294
295 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
296
297 * config/arc/arc.md (*tst_bitfield_tst): Fix pattern.
298
299 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
300
301 * config/arc/arc.c (arc_output_addsi): Emit code density adds.
302 * config/arc/arc.md (cpu_facility): Add cd variant.
303 (*movqi_insn): Add code density variant.
304 (*movhi_insn): Likewise.
305 (*movqi_insn): Likewise.
306 (*addsi3_mixed): Likewise.
307 (subsi3_insn): Likewise.
308
309 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
310
311 * config/arc/arc.md (movsi_cond_exec): Update constraint.
312
313 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
314
315 * config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
316 expressions with MINUS and UNARY ops.
317
318 2017-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
319
320 PR target/79911
321 * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3):
322 Rename to...
323 (vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch
324 between vec_select and vector argument.
325 (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to...
326 (vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise.
327 (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to...
328 (vec_sel_widen_usum_lo<mode><V_half>3): ... This.
329 (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to...
330 (vec_sel_widen_usum_hi<mode><V_half>3): ... This.
331
332 2017-03-13 Richard Biener <rguenther@suse.de>
333
334 PR other/79991
335 * params.def (vect-max-peeling-for-alignment): Fix typo.
336
337 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
338
339 * doc/install.texi (Specific) <mips-*-*>: Remove description of
340 issue that only occurred with binutils below 2.18.
341
342 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
343
344 * doc/install.texi (Specific) <cris-axis-elf>: No longer
345 refer to binutils 2.11/2.12 minimum.
346
347 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
348
349 * doc/install.texi (Specific) <powerpc-*-*>: Remove link to
350 ftp.kernel.org and simplify binutils requirement.
351
352 2017-03-11 Gerald Pfeifer <gerald@pfeifer.com>
353
354 * doc/invoke.texi (Warning Options): Fix spelling of link-time
355 optimization.
356 (Optimize Options): Ditto. Also remove redundancy.
357
358 2017-03-10 David Malcolm <dmalcolm@redhat.com>
359
360 PR translation/79848
361 * ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to
362 "%qs".
363 * ipa-pure-const.c (suggest_attribute): Likewise. Convert _
364 to G_ to avoid double translation.
365
366 2017-03-10 David Malcolm <dmalcolm@redhat.com>
367
368 PR translation/79923
369 * auto-profile.c (get_combined_location): Convert leading
370 character of diagnostics to lower case and remove trailing period.
371 (read_profile): Likewise for various diagnostics.
372 * config/arm/arm.c (arm_option_override): Remove trailing period
373 from various diagnostics.
374 * config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise.
375 (msp430_expand_delay_cycles): Likewise.
376
377 2017-03-10 David Malcolm <dmalcolm@redhat.com>
378
379 PR target/79925
380 * config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the
381 full command-line argument, rather than just "str".
382 (aarch64_validate_march): Likewise.
383 (aarch64_validate_mtune): Likewise.
384
385 2017-03-10 Bernd Schmidt <bschmidt@redhat.com>
386
387 PR rtl-optimization/78911
388 * lra-assigns.c (must_not_spill_p): New function.
389 (spill_for): Use it.
390
391 2017-03-10 Jakub Jelinek <jakub@redhat.com>
392
393 PR tree-optimization/79981
394 * tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of
395 ATOMIC_COMPARE_EXCHANGE ifn result.
396 (stmt_interesting_for_vrp, vrp_visit_stmt): Handle
397 IFN_ATOMIC_COMPARE_EXCHANGE.
398
399 2017-03-10 David Malcolm <dmalcolm@redhat.com>
400
401 PR driver/79875
402 * opts.c (parse_sanitizer_options): Add missing question mark to
403 "did you mean" message.
404
405 2017-03-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
406
407 * config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned
408 built-in.
409 (VMULEUH_UNS): Likewise.
410 (VMULOUB_UNS): Likewise.
411 (VMULOUH_UNS): Likewise.
412 * config/rs6000/rs6000.c (builtin_function_type): Remove
413 references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS.
414
415 2017-03-10 David Malcolm <dmalcolm@redhat.com>
416
417 PR bootstrap/79952
418 * read-rtl-function.c (function_reader::read_rtx_operand): Update
419 x with result of extra_parsing_for_operand_code_0.
420 (function_reader::extra_parsing_for_operand_code_0): Convert
421 return type from void to rtx, returning x. When reading
422 SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the
423 larger size containing struct block_symbol.
424
425 2017-03-10 Segher Boessenkool <segher@kernel.crashing.org>
426
427 * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
428 -mfloat128-hardware without -m64.
429
430 2017-03-10 Will Schmidt <will_schmidt@vnet.ibm.com>
431
432 PR target/79941
433 * config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB]
434 entries to the case statement that marks unsigned arguments to
435 overloaded functions.
436
437 2017-03-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
438
439 * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
440 two typographic errors in the handling of TARGET_UPPER_REGS_DI.
441
442 2017-03-10 Pat Haugen <pthaugen@us.ibm.com>
443
444 PR target/79907
445 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
446 TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
447
448 2017-03-10 Martin Liska <mliska@suse.cz>
449
450 PR target/65705
451 PR target/69804
452 * toplev.c (process_options): Enable MPX with LSAN and UBSAN.
453 * tree-chkp.c (chkp_walk_pointer_assignments): Verify that
454 FIELD != NULL.
455
456 2017-03-10 Olivier Hainque <hainque@adacore.com>
457
458 * tree-switch-conversion (array_value_type): Start by resetting
459 candidate type to it's main variant.
460
461 2017-03-10 Jakub Jelinek <jakub@redhat.com>
462
463 PR rtl-optimization/79909
464 * combine.c (try_combine): Use simplify_replace_rtx on individual
465 CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
466 of the whole CALL_INSN_FUNCTION_USAGE.
467
468 PR tree-optimization/79972
469 * gimple-ssa-warn-alloca.c (alloca_call_type): Only call
470 get_range_info on SSA_NAMEs. Formatting fixes.
471
472 2017-03-10 Richard Biener <rguenther@suse.de>
473 Jakub Jelinek <jakub@redhat.com>
474
475 PR tree-optimization/77975
476 * tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
477 edge to be constant.
478 (get_val_for): For constant x return it. Formatting fix.
479 (loop_niter_by_eval): Avoid pointless looping if the next iteration
480 would use the same bases as the current one.
481
482 2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
483
484 * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
485 instead of vec_select for V1TImode.
486 * conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
487 longer needed.
488 (VSX_LE_128): Add V1TI to this mode iterator.
489 (*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
490 (*vsx_le_perm_store_<mode>): Likewise.
491 (pre-reload splitter for VSX stores): Likewise.
492 (post-reload splitter for VSX stores): Likewise.
493 (*vsx_xxpermdi2_le_<mode>): Likewise.
494 (*vsx_lxvd2x2_le_<mode>): Likewise.
495 (*vsx_stxvd2x2_le_<mode>): Likewise.
496
497 2017-03-09 Michael Eager <eager@eagercon.com>
498
499 Correct failures with --enable-checking=yes,rtl.
500
501 * config/microblaze/microblaze.c (microblaze_expand_shift):
502 Replace GET_CODE test with CONST_INT_P and INTVAL test with
503 test for const0_rtx.
504 * config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone,
505 lshrsi3_byone): Replace INTVAL with test for const1_rtx.
506
507 2017-03-09 Richard Biener <rguenther@suse.de>
508
509 PR tree-optimization/79977
510 * graphite-scop-detection.c (scop_detection::merge_sese):
511 Handle the case of extra exits to blocks dominating the entry.
512
513 2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com>
514
515 * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
516 Document rdynamic.
517
518 2017-03-09 Vladimir Makarov <vmakarov@redhat.com>
519
520 PR rtl-optimization/79949
521 * lra-constraints.c (process_alt_operands): Check memory when
522 trying to predict a cycle. Print about the overall increase.
523
524 2017-03-09 Richard Biener <rguenther@suse.de>
525
526 PR middle-end/79971
527 * gimple-expr.c (useless_type_conversion_p): Preserve
528 TYPE_SATURATING for fixed-point types.
529
530 2017-03-09 Richard Biener <rguenther@suse.de>
531
532 PR ipa/79970
533 * ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
534 alignment of BLKmode params.
535
536 2017-03-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
537
538 PR target/79913
539 * config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator.
540 (VALL_NO_V2Q): Likewise.
541 (VDQF_DF): Delete.
542 * config/aarch64/aarch64-simd.md
543 (aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q
544 iterator.
545 (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use
546 VALL_NO_V2Q mode iterator.
547 (*aarch64_vgetfmulx<mode>): Use VDQF iterator.
548
549 2017-03-09 Martin Liska <mliska@suse.cz>
550
551 PR tree-optimization/79631
552 * tree-chkp-opt.c (chkp_is_constant_addr): Call
553 tree_int_cst_sign_bit just for INTEGER constants.
554
555 2017-03-09 Martin Liska <mliska@suse.cz>
556
557 PR target/65705
558 PR target/69804
559 * toplev.c (process_options): Disable -fcheck-pointer-bounds with
560 sanitizers.
561
562 2017-03-09 Marek Polacek <polacek@redhat.com>
563
564 PR c++/79672
565 * tree.c (inchash::add_expr): Handle TREE_VEC.
566
567 2017-03-09 Martin Liska <mliska@suse.cz>
568
569 PR ipa/79764
570 (chkp_narrow_size_and_offset): New function.
571 (chkp_parse_array_and_component_ref): Support BIT_FIELD_REF.
572 (void chkp_parse_bit_field_ref): New function.
573 (chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF.
574 (chkp_process_stmt): Use chkp_parse_bit_field_ref.
575
576 2017-03-09 Martin Liska <mliska@suse.cz>
577
578 PR ipa/79761
579 * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
580 (chkp_find_bounds_1): Remove gcc_unreachable.
581
582 2017-03-09 Jakub Jelinek <jakub@redhat.com>
583
584 PR sanitizer/79944
585 * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
586 BUILT_IN_SYNC*, determine the access type from the size suffix and
587 always build a MEM_REF with that type. Handle forgotten
588 BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.
589
590 PR target/79932
591 * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
592 _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
593 _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
594 _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
595 _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
596 _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
597 _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
598 _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
599 _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
600 _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
601 _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
602 _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
603 _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
604 _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
605 _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
606 _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
607 _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
608 _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
609 _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
610 _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
611 _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
612 _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
613 _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
614 _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
615 _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
616 _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
617 _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
618 _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
619 _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
620 _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
621 definitions outside of __OPTIMIZE__ guarded section.
622
623 PR target/79932
624 * config/i386/avx512bwintrin.h (_mm512_packs_epi32,
625 _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
626 _mm512_packus_epi32, _mm512_maskz_packus_epi32,
627 _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
628 guarded section.
629
630 2017-03-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
631
632 * config/s390/vx-builtins.md ("vfee<mode>", "vfeez<mode>")
633 ("vfenez<mode>"): Add missing constraints.
634
635 2017-03-08 Martin Sebor <msebor@redhat.com>
636
637 PR target/79928
638 * config/nds32/nds32.c (nds32_option_override):
639
640 2017-03-08 Jakub Jelinek <jakub@redhat.com>
641
642 PR c/79940
643 * gimplify.c (gimplify_omp_for): Replace index var in outer
644 taskloop statement with an artificial variable and add
645 OMP_CLAUSE_PRIVATE clause for it.
646
647 2017-03-08 Richard Biener <rguenther@suse.de>
648
649 PR tree-optimization/79955
650 * tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
651 for accesses that are completely outside of the variable.
652
653 2017-03-08 Andrew Haley <aph@redhat.com>
654
655 PR tree-optimization/79943
656 * tree-ssa-loop-split.c (compute_new_first_bound): When
657 calculating the new upper bound, (END-BEG) should be added, not
658 subtracted.
659
660 2017-03-08 Jakub Jelinek <jakub@redhat.com>
661
662 * config/avr/avr.md (setmemhi): Make sure match_dup
663 operand number comes before match_scratch.
664
665 2017-03-08 Richard Biener <rguenther@suse.de>
666
667 PR tree-optimization/79920
668 * tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline
669 with ncopies == 1 to ...
670 (vect_transform_slp_perm_load): ... here. Properly compute
671 all element loads by iterating VF times over the group. Do
672 not handle ncopies (computed in a broken way) in
673 vect_create_mask_and_perm.
674
675 2017-03-08 Jakub Jelinek <jakub@redhat.com>
676
677 PR sanitizer/79904
678 * internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1
679 is a uniform vector, use uniform_vector_p return value instead of
680 building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type.
681
682 2017-03-07 Marek Polacek <polacek@redhat.com>
683
684 PR middle-end/79809
685 * gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT.
686 (alloca_call_type): Likewise.
687
688 2017-03-07 Martin Liska <mliska@suse.cz>
689
690 * gcov.c (process_args): Put comment to correct location.
691
692 2017-03-07 Martin Liska <mliska@suse.cz>
693
694 PR middle-end/68270
695 * tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref.
696 Use array_at_struct_end_p instead of DECL_CHAIN (field).
697 (chkp_narrow_bounds_for_field): Likewise.
698 (chkp_parse_array_and_component_ref): Pass one more argument to
699 call.
700
701 2017-03-07 Richard Biener <rguenther@suse.de>
702
703 * tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
704 preheaders.
705
706 2017-03-07 Segher Boessenkool <segher@kernel.crashing.org>
707
708 * config/i386/i386.c (ix86_local_alignment): Align most aggregates
709 of 16 bytes and more to 16 bytes, not those of 16 bits and more.
710
711 2017-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
712
713 PR c/79855
714 * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop
715 to end of description.
716 (PARAM_MAX_STORES_TO_MERGE): Likewise.
717
718 2017-03-07 Jakub Jelinek <jakub@redhat.com>
719
720 PR rtl-optimization/79901
721 * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
722 ...
723 (*avx512f_<code><mode>3<mask_name>): ... this.
724 (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
725 iterator instead of VI8_AVX2_AVX512BW.
726
727 PR rtl-optimization/79901
728 * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
729 min/max expander, expand it using expand_vec_cond_expr.
730
731 PR sanitizer/79897
732 * ubsan.c (ubsan_encode_value): Call mark_addressable on the
733 temporary.
734
735 2017-03-06 Jakub Jelinek <jakub@redhat.com>
736
737 PR c++/79821
738 * dwarf2out.h (dw_vec_const): Change array type from unsigned char *
739 to void * for PCH reasons.
740 * dwarf2out.c (output_loc_operands, output_die): Cast
741 v.val_vec.array to unsigned char *.
742
743 2017-03-06 John David Anglin <danglin@gcc.gnu.org>
744
745 PR target/77850
746 * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
747 vector types.
748
749 2017-03-06 Vladimir Makarov <vmakarov@redhat.com>
750
751 PR rtl-optimization/79571
752 * lra-constraints.c (process_alt_operands): Calculate static
753 reject and subtract it from overall when only addresses will be
754 reloaded.
755
756 2017-03-06 Julia Koval <julia.koval@intel.com>
757
758 PR target/79793
759 * config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set
760 incoming stack boundary to 128 for 64-bit targets.
761
762 2017-03-06 Richard Biener <rguenther@suse.de>
763
764 PR tree-optimization/79894
765 * tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
766 to NULL after folding it.
767
768 2017-03-06 Richard Biener <rguenther@suse.de>
769
770 PR tree-optimization/79824
771 * tree-vect-stmts.c (get_group_load_store_type): Fix alignment
772 check disabling peeling for gaps.
773
774 2017-03-06 Toma Tabacu <toma.tabacu@imgtec.com>
775
776 * doc/sourcebuild.texi (Effective-Target Keywords, Environment
777 attributes): Document gettimeofday.
778
779 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
780
781 * config/s390/s390.c (s390_option_override_internal): Set
782 PARAM_MIN_VECT_LOOP_BOUND
783
784 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
785
786 * config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
787 * config/s390/s390.md: Likewise.
788
789 2017-03-06 Jakub Jelinek <jakub@redhat.com>
790
791 PR target/79812
792 * config/i386/sse.md (VI8F_256_512): Remove mode iterator.
793 (<avx2_avx512>_perm<mode>): Rename to ...
794 (avx2_perm<mode>): ... this. Use VI8F_256 iterator instead
795 of VI8F_256_512.
796 (<avx512>_perm<mode>_mask): Rename to ...
797 (avx512vl_perm<mode>_mask): ... this. Use VI8F_256 iterator instead
798 of VI8F_256_512.
799 (<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
800 (avx2_perm<mode>_1<mask_name): ... this. Use VI8F_256 iterator
801 instead of VI8F_256_512.
802 (avx512f_perm<mode>): New define_expand.
803 (avx512f_perm<mode>_mask): Likewise.
804 (avx512f_perm<mode>_1<mask_name>): New define_insn.
805 (<avx512>_vec_dup<mode>_1): Fix up vec_select mode.
806
807 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
808
809 * config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
810 msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
811 if_then_else.
812 (smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.
813
814 2017-03-06 Martin Liska <mliska@suse.cz>
815
816 PR sanitize/79783
817 * asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
818 when having a SSA NAME w/o VAR_DECL assigned to it.
819
820 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
821
822 * config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
823 msa_dpsub_<su>_d): Fix MODE for vec_select.
824
825 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
826
827 * config/mips/mips.c (mips_gen_const_int_vector): Change type of last
828 argument.
829 * config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
830
831 2017-03-06 Richard Biener <rguenther@suse.de>
832
833 * lto-streamer.c (lto_check_version): Use %qs in diagnostics.
834 * plugin.c (register_plugin_info): Likewise.
835 * tree-chkp.c (chkp_make_static_const_bounds): Likewise.
836
837 2017-03-05 Jakub Jelinek <jakub@redhat.com>
838
839 * config/i386/sse.md (sse_storehps, sse_storelps,
840 avx_<castmode><avxsizesuffix>_<castmode>,
841 avx512f_<castmode><avxsizesuffix>_<castmode>,
842 avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
843 in condition that at least one operand is not a MEM.
844
845 2017-03-03 Jakub Jelinek <jakub@redhat.com>
846
847 PR middle-end/79805
848 * internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET,
849 ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove
850 ECF_NOTHROW.
851 * gimple-fold.c (fold_builtin_atomic_compare_exchange): Set
852 gimple_call_nothrow_p flag based on whether original builtin can throw.
853 If it can, emit following stmts on the fallthrough edge.
854 * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except
855 don't create new bb if inserting just debug stmts on the edge, try to
856 insert them on the fallthru bb or just reset debug stmts.
857
858 2017-03-03 Segher Boesssenkool <segher@kernel.crashing.org>
859
860 PR target/43763
861 * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and
862 restore recog_data (including the operand rtxes inside it) around
863 the call to get_insn_template.
864
865 2017-03-03 Martin Sebor <msebor@redhat.com>
866
867 PR tree-optimization/79699
868 * context.c (context::~context): Free MPFR caches to avoid
869 a memory leak on program exit.
870
871 2017-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
872
873 * config/aarch64/aarch64.c (aarch64_float_const_representable_p):
874 Use wide_int::ulow () instead of .elt (0).
875
876 2017-03-03 Uros Bizjak <ubizjak@gmail.com>
877
878 * config/i386/i386.md (*pushtf): Change *roF constraint to *roC.
879 (*pushxf): Limit oF constraint to 32bit targets and add oC
880 constraint for 64bit targets.
881 (pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment.
882 (*pushdf): Change rmF constraint to rmC.
883
884 2017-03-03 Martin Liska <mliska@suse.cz>
885
886 * tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute):
887 Remove unused variable.
888
889 2017-03-03 Jakub Jelinek <jakub@redhat.com>
890
891 PR target/79807
892 * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
893 is a memory operand, increase num_memory.
894 (ix86_expand_args_builtin): Likewise.
895
896 2017-03-03 Jan Hubicka <jh@suse.cz>
897
898 PR lto/79760
899 * ipa-devirt.c (maybe_record_node): Properly handle
900 __cxa_pure_virtual visibility.
901
902 2017-03-03 Martin Liska <mliska@suse.cz>
903
904 PR tree-optimization/79803
905 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
906 assert.
907 (pass_loop_prefetch::execute): Disabled optimization if an
908 assumption about L1 cache size is not met.
909
910 2017-03-03 Martin Liska <mliska@suse.cz>
911
912 PR rtl-optimization/79574
913 * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
914 (hash_scan_set): Likewise.
915 (dump_hash_table): Likewise.
916 (hoist_code): Likewise.
917
918 2017-03-03 Richard Biener <rguenther@suse.de>
919
920 * fixed-value.c (fixed_from_string): Restore use of elt (1)
921 in place of uhigh ().
922 (fixed_convert_from_real): Likewise.
923
924 2017-03-03 Uros Bizjak <ubizjak@gmail.com>
925
926 PR target/79514
927 * config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.
928
929 2017-03-03 Richard Biener <rguenther@suse.de>
930
931 PR middle-end/79818
932 * match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing
933 TYPE_OVERFLOW_UNDEFINED check.
934
935 2017-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
936
937 * config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
938 numbers.
939 (vector_ae_<mode>_p): Likewise.
940 (vector_nez_<mode>_p): Likewise.
941 (vector_ne_v2di_p): Likewise.
942 (vector_ae_v2di_p): Likewise.
943 (vector_ne_<mode>_p): Likewise.
944 * config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
945 numbers.
946 (vsx_tsqrt<mode>2_fe): Likewise.
947
948 2017-03-02 Uros Bizjak <ubizjak@gmail.com>
949
950 PR target/79514
951 * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
952
953 2017-03-02 Jakub Jelinek <jakub@redhat.com>
954
955 PR rtl-optimization/79780
956 * cprop.c (one_cprop_pass): When second and further conditional trap
957 in a single basic block is turned into an unconditional trap, turn it
958 into a deleted note to avoid RTL verification failures.
959
960 2017-03-02 Richard Biener <rguenther@suse.de>
961
962 * fold-const.c (const_binop): Use ulow () instead of elt (0).
963
964 2017-03-02 Richard Biener <rguenther@suse.de>
965
966 PR tree-optimization/79345
967 PR c++/42000
968 * tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
969 param and abort the walk, returning -1 if it is hit.
970 (walk_aliased_vdefs): Take a limit param and pass it on.
971 * tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
972 defaulting to 0 and return a signed int.
973 * tree-ssa-uninit.c (struct check_defs_data): New struct.
974 (check_defs): New helper.
975 (warn_uninitialized_vars): Use walk_aliased_vdefs to warn
976 about uninitialized memory.
977 * fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
978 bogus uninitialized warning.
979 (fixed_convert_from_real): Likewise.
980
981 2017-03-02 Bin Cheng <bin.cheng@arm.com>
982
983 PR tree-optimization/66768
984 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
985 iv_use if base object can't be determined.
986
987 2017-03-02 Jakub Jelinek <jakub@redhat.com>
988
989 PR tree-optimization/79345
990 * gensupport.h (struct pattern_stats): Add min_scratch_opno field.
991 * gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it.
992 (get_pattern_stats): Initialize it.
993 * genemit.c (gen_expand): Verify match_scratch numbers come after
994 match_operand/match_dup numbers.
995 * config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and
996 match_scratch numbers.
997 * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>):
998 Likewise.
999 * config/s390/s390.md (trunctdsd2): Likewise.
1000
1001 2017-03-02 Richard Biener <rguenther@suse.de>
1002
1003 * wide-int.h (wide_int_storage::operator=): Implement in terms
1004 of wi::copy.
1005
1006 2017-03-02 Richard Biener <rguenther@suse.de>
1007
1008 PR tree-optimization/79777
1009 * tree-ssa-pre.c (eliminate_insert): Give up if we simplify
1010 the to insert expression to sth existing.
1011
1012 2017-03-01 Martin Sebor <msebor@redhat.com>
1013
1014 PR middle-end/79692
1015 * gimple-ssa-sprintf.c
1016 (directive::known_width_and_precision): New function.
1017 (format_integer): Use it.
1018 (get_mpfr_format_length): Consider the full range of precision
1019 when computing %g output with the # flag. Set the likely byte
1020 count to 3 rather than 1 when precision is indeterminate.
1021 (format_floating): Correct the lower bound of precision.
1022
1023 2017-03-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1024
1025 * doc/invoke.texi: Document default code model for 64-bit Linux.
1026
1027 2017-03-01 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
1028
1029 PR target/79752
1030 * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
1031 udiv rather than div since input pattern is unsigned.
1032
1033 2017-03-01 Uros Bizjak <ubizjak@gmail.com>
1034
1035 * config/i386/i386.c (print_reg): Warn for values of
1036 unsupported size in integer register.
1037
1038 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
1039
1040 PR target/79439
1041 * config/rs6000/predicates.md (current_file_function_operand): Do
1042 not allow self calls to be local if the function is replaceable.
1043
1044 2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
1045
1046 PR target/79395
1047 * config/rs6000/altivec.h (vec_ctz and others): Change the
1048 preprocessor macro that controls conditional compilation from
1049 _ARCH_PWR9 to __POWER9_VECTOR__.
1050 (vec_all_ne): Change parameterization of __altivec_scalar_pred
1051 macro expansion under preprocessor #ifdef __POWER9_VECTOR__
1052 control (instead of _ARCH_PWR9 control) so that template
1053 definition uses power9-specific function.
1054 (vec_any_eq): Likewise.
1055 (vec_all_ne): Change macro definition to use a power9-specific
1056 expansion under #ifdef __POWER9_VECTOR__ control (instead of
1057 _ARCH_PWR9 control).
1058 (vec_any_eq) Likewise.
1059 * config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2
1060 expansion for CMPNEF to remove support for xvcmpnesp instruction.
1061 (CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove
1062 support for xvcmpnedp instruction.
1063 (VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2
1064 macro expansion so that Power9 implementation of vec_all_ne does
1065 not use the AltiVec predicate framework.
1066 (VCMPNEH_P): Likewise.
1067 (VCMPNEW_P): Likewise.
1068 (VCMPNED_P): Likewise.
1069 (VCMPNEFP_P): Likewise.
1070 (VCMPNEDP_P): Likewise.
1071 (VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change
1072 implementation of vec_any_eq to not use AltiVec predicate
1073 framework.
1074 (VCMPAEH_P): Likewise.
1075 (VCMPAEW_P): Likewise.
1076 (VCMPAED_P): Likewise.
1077 (VCMPAEFP_P): Likewise.
1078 (VCMPAEDP_P): Likewise.
1079 (VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with
1080 BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does
1081 not use the AltiVec predicate framework.
1082 (VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation
1083 of vec_any_eq to not use AltiVec predicate framework.
1084 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
1085 support for predefined __POWER9_VECTOR__ macro to indicate that
1086 Power9 instruction selection is enabled.
1087 (altivec_overloaded_builtins): Remove extraneous
1088 ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded
1089 function argument types RS6000_BTI_bool_V16QI and
1090 RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE
1091 entry for overloaded function argument types RS6000_BTI_bool_V4SI
1092 andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove
1093 two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to
1094 P9V_BUILTIN_CMPNEF to force use of instructions not specific to
1095 Power9 for implementations of vec_cmpne. Change the signature for
1096 all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function
1097 (representing vec_all_ne) to remove the previously described first
1098 argument of type RS6000_BTI_INTSI, as this was an artifact of
1099 reliance on the AltiVec predicate framework, which is no longer
1100 used in the implementation of these functions. Add
1101 P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq
1102 function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries
1103 since, unlike the AltiVec predicate framework implementation, we
1104 do not share function descriptors between vec_alle and vec_anyeq.
1105 (altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the
1106 set of modes that receive special treatment even when
1107 TARGET_P9_VECTOR is true. The special treatment emits code that
1108 does not depend on Power9 instructions.
1109 * config/rs6000/vector.md (vector_ne_<mode>_p): Change this
1110 define_expand to not rely on AltiVec predicate framework.
1111 (vector_ae_<mode>p): New define_expand to represent vec_any_eq
1112 function.
1113 (vector_ne_v2di_p): Change this define_expand to not rely on
1114 AltiVec predicate framework.
1115 (vector_ae_v2di_p): New define_expand to represent vec_any_eq
1116 function.
1117 (vector_ne_<mode>_p): Change this define_expand to not rely on
1118 AltiVec predicate framework.
1119 (vector_ae_<mode>p): New define_expand to represent vec_any_eq
1120 function.
1121 * config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I
1122 (V16QI, V8HI, V4SI), correct a typo in the code emitted for this
1123 define_insn pattern.
1124 (*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this
1125 define_insn pattern because the xvcmpne<VSs>. instruction is not
1126 supported.
1127 (vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs>
1128 instruction is not supported.
1129
1130 2017-03-01 Jakub Jelinek <jakub@redhat.com>
1131
1132 * config/nvptx/nvptx.c: Include intl.h.
1133
1134 2017-03-01 Martin Jambor <mjambor@suse.cz>
1135
1136 PR lto/78140
1137 * ipa-prop.h (ipa_bits): Removed field known.
1138 (ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr
1139 to pointers. Adjusted their comments to warn about their sharing.
1140 (ipcp_transformation_summary): Change bits to a vector of pointers.
1141 (ipa_check_create_edge_args): Moved to ipa-prop.c, declare.
1142 (ipa_get_ipa_bits_for_value): Declare.
1143 * tree-vrp.h (value_range): Mark as GTY((for_user)).
1144 * ipa-prop.c (ipa_bit_ggc_hash_traits): New.
1145 (ipa_bits_hash_table): Likewise.
1146 (ipa_vr_ggc_hash_traits): Likewise.
1147 (ipa_vr_hash_table): Likewise.
1148 (ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr
1149 being pointers and vr_known being removed.
1150 (ipa_set_jf_unknown): Likewise.
1151 (ipa_get_ipa_bits_for_value): New function.
1152 (ipa_set_jfunc_bits): Likewise.
1153 (ipa_get_value_range): New overloaded functions.
1154 (ipa_set_jfunc_vr): Likewise.
1155 (ipa_compute_jump_functions_for_edge): Use the above functions to
1156 construct bits and vr parts of jump functions.
1157 (ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate
1158 ipa_bits_hash_table and ipa_vr_hash_table if they do not already
1159 exist.
1160 (ipcp_grow_transformations_if_necessary): Also allocate
1161 ipa_bits_hash_table and ipa_vr_hash_table if they do not already
1162 exist.
1163 (ipa_node_params_t::duplicate): Do not copy bits, just pointers to
1164 them. Fix too long lines.
1165 (ipa_write_jump_function): Adjust for bits and m_vr being pointers and
1166 vr_known being removed.
1167 (ipa_read_jump_function): Use new setter functions to construct bits
1168 and vr parts of jump functions or set them to NULL.
1169 (write_ipcp_transformation_info): Adjust for bits being pointers.
1170 (read_ipcp_transformation_info): Likewise.
1171 (ipcp_update_bits): Likewise. Fix excessively long lines a trailing
1172 space.
1173 Include gt-ipa-prop.h.
1174 * ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits
1175 being pointers.
1176 (ipcp_store_bits_results): Likewise.
1177 (propagate_vr_across_jump_function): Adjust for m_vr being a pointer.
1178 Do not write to existing jump functions but use a temporary instead.
1179
1180 2017-03-01 Jakub Jelinek <jakub@redhat.com>
1181
1182 PR c++/79681
1183 * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
1184 attempt to use its first operand as BIT_FIELD_REF base.
1185
1186 2017-03-01 Richard Biener <rguenther@suse.de>
1187
1188 PR middle-end/79721
1189 * tree-chrec.c (chrec_evaluate): Perform computation of Newtons
1190 interpolating formula in wrapping arithmetic.
1191 (chrec_apply): Convert chrec_evaluate return value to wanted type.
1192
1193 2017-03-01 Jakub Jelinek <jakub@redhat.com>
1194
1195 PR tree-optimization/79734
1196 * tree-vect-generic.c (expand_vector_condition): Optimize
1197 AVX512 vector boolean VEC_COND_EXPRs into bitwise operations.
1198 Handle VEC_COND_EXPR where comparison has different inner width from
1199 type's inner width.
1200
1201 2017-02-28 Sandra Loosemore <sandra@codesourcery.com>
1202
1203 * doc/invoke.texi (ARC Options): Copy-edit to fix punctuation,
1204 markup, and similar issues. Remove @opindex entries for things
1205 that aren't options. Add missing -mmpy-option entries.
1206
1207 2017-02-28 Jakub Jelinek <jakub@redhat.com>
1208
1209 PR tree-optimization/79737
1210 * gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is
1211 a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear
1212 tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1
1213 instead of byte_size. Formatting fix.
1214 (shift_bytes_in_array_right): Formatting fix.
1215
1216 2017-02-28 Eric Botcazou <ebotcazou@adacore.com>
1217
1218 PR target/79749
1219 * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
1220 condition on optimize for the leaf function test.
1221
1222 2017-02-28 Martin Liska <mliska@suse.cz>
1223
1224 PR lto/79625
1225 * read-rtl-function.c (function_reader::handle_unknown_directive):
1226 Bail out when one uses -flto.
1227
1228 2017-02-28 Martin Liska <mliska@suse.cz>
1229
1230 * common.opt: Replace space with tabular for options of <number>
1231 type.
1232 * config/i386/i386.opt: Show <number> value for
1233 -mlarge-data-threshold.
1234 * opts.c (print_filtered_help): Do not display number in hexadecimal
1235 format.
1236
1237 2017-02-28 Martin Liska <mliska@suse.cz>
1238
1239 * common.opt: Fix --help=option -Q for options which are of
1240 an enum type.
1241
1242 2017-02-28 Uros Bizjak <ubizjak@gmail.com>
1243
1244 * config/i386/i386.c (print_reg): Error out for values
1245 of 8-bit size in invalid integer register.
1246
1247 2017-02-28 Martin Sebor <msebor@redhat.com>
1248
1249 PR tree-optimization/79691
1250 * passes.def (pass_all_optimizations_g): Enable pass_sprintf_length.
1251
1252 2017-02-28 Jakub Jelinek <jakub@redhat.com>
1253
1254 PR target/79729
1255 * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
1256 gcc_unreachable with output_operand_lossage.
1257
1258 2017-02-28 Richard Biener <rguenther@suse.de>
1259
1260 PR tree-optimization/79740
1261 * tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant
1262 inserts.
1263 (visit_nary_op): Insert the nary into the hashtable if we
1264 pattern-matched sth.
1265 * tree-ssa-pre.c (eliminate_insert): Robustify.
1266
1267 2017-02-28 Richard Biener <rguenther@suse.de>
1268
1269 PR middle-end/79731
1270 * fold-const.c (decode_field_reference): Reject out-of-bound
1271 accesses.
1272
1273 2017-02-28 Jakub Jelinek <jakub@redhat.com>
1274
1275 * config/i386/i386.c: Include intl.h.
1276 (ix86_option_override_internal): Use cond ? G_("...") : G_("...")
1277 instead of just cond ? "..." : "...".
1278 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise.
1279 * coverage.c (read_counts_file): Likewise.
1280 * omp-offload.c: Include intl.h.
1281 (oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead
1282 of just cond ? "..." : "...".
1283 * gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead
1284 of just cond ? "..." : "...".
1285
1286 2017-02-28 Richard Earnshaw <rearnsha@arm.com>
1287
1288 PR target/79742
1289 * config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for'
1290 entry, if present.
1291 * config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct
1292 'tune for' CPU name.
1293 * config/arm/arm-cpu-data.h: Regenerated.
1294
1295 2017-02-28 Richard Biener <rguenther@suse.de>
1296
1297 PR tree-optimization/79732
1298 * tree-inline.c (expand_call_inline): Do not shadow var.
1299
1300 2017-02-28 Richard Biener <rguenther@suse.de>
1301
1302 PR tree-optimization/79723
1303 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve
1304 address-space properly.
1305
1306 2017-02-28 Thomas Schwinge <thomas@codesourcery.com>
1307
1308 * doc/optinfo.texi (Optimization groups): Fix option used for
1309 OPTGROUP_ALL.
1310 * doc/invoke.texi (-fopt-info): Document "omp".
1311 * dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
1312 (OPTGROUP_ALL): Add OPTGROUP_OMP.
1313 * hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
1314 * ipa-hsa.c (pass_data_ipa_hsa): Likewise.
1315 * omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.
1316
1317 * dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP. Adjust
1318 all users.
1319 * dumpfile.c (optgroup_options): Instead of "openmp", associate
1320 OPTGROUP_OMP with "omp".
1321
1322 2017-02-27 Pat Haugen <pthaugen@us.ibm.com>
1323
1324 PR target/79544
1325 * config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD
1326 for arithmetic shift of unsigned V2DI.
1327
1328 2017-02-27 Claudiu Zissulescu <claziss@synopsys.com>
1329
1330 * config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and
1331 arc/linux.h headers.
1332 * config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove.
1333 (LINK_SPEC): Likewise.
1334 (ARC_TLS_EXTRA_START_SPEC): Likewise.
1335 (EXTRA_SPECS): Likewise.
1336 (STARTFILE_SPEC): Likewise.
1337 (ENDFILE_SPEC): Likewise.
1338 (LIB_SPEC): Likewise.
1339 (TARGET_SDATA_DEFAULT): Likewise.
1340 (TARGET_MMEDIUM_CALLS_DEFAULT): Likewise.
1341 (MULTILIB_DEFAULTS): Likewise.
1342 (DWARF2_UNWIND_INFO): Likewise.
1343 * config/arc/big.h: New file.
1344 * config/arc/elf.h: Likewise.
1345 * config/arc/linux.h: Likewise.
1346 * config/arc/t-uClibc: Remove.
1347
1348 2017-02-27 Bin Cheng <bin.cheng@arm.com>
1349
1350 PR tree-optimization/77536
1351 * tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function.
1352 (tree_transform_and_unroll_loop): Use above function to compute the
1353 estimated niter of unrolled loop and use it when scaling profile.
1354 Also use count info rather than frequency if it's non-zero.
1355 * tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration.
1356 * tree-vect-loop.c (scale_profile_for_vect_loop): New function.
1357 (vect_transform_loop): Call above function.
1358
1359 2017-02-27 Richard Biener <rguenther@suse.de>
1360
1361 PR tree-optimization/45397
1362 * tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR.
1363 * tree-ssa-sccvn.c (valueized_wider_op): New helper.
1364 (visit_nary_op): Add pattern matching for CSEing sign-changed
1365 or truncated operations with wider ones.
1366
1367 2017-02-27 Richard Biener <rguenther@suse.de>
1368
1369 PR tree-optimization/79690
1370 * tree-vect-stmts.c (vectorizable_store): Use vector type
1371 built from the DR with address-space.
1372
1373 2017-02-26 Gerald Pfeifer <gerald@pfeifer.com>
1374
1375 * doc/invoke.texi (Optimize Options): Refine the description
1376 of asan-use-after-return.
1377
1378 2017-02-25 Alan Modra <amodra@gmail.com>
1379
1380 PR rtl-optimization/79584
1381 * lra-constraints.c (base_to_reg): Reload ad->base, the entire
1382 base, not ad->base_term, the reg within base. Remove assertion
1383 that ad->base == ad->base_term. Replace gen_int_mode using
1384 bogus mode with const0_rtx.
1385
1386 2017-02-25 Jakub Jelinek <jakub@redhat.com>
1387
1388 PR middle-end/79396
1389 * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
1390 FMA_EXPR like tcc_binary or tcc_unary.
1391
1392 * tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
1393
1394 PR debug/77589
1395 * dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value
1396 bitfield.
1397 (size_of_loc_descr): Handle DW_OP_GNU_variable_value.
1398 (output_loc_operands): Handle DW_OP_call_ref and
1399 DW_OP_GNU_variable_value.
1400 (struct variable_value_struct): New type.
1401 (struct variable_value_hasher): Likewise.
1402 (variable_value_hash): New variable.
1403 (string_types): Remove.
1404 (copy_loc_descr): New function.
1405 (add_loc_descr_to_each): Clarify comment. Use copy_loc_descr.
1406 (prepend_loc_descr_to_each): New function.
1407 (add_loc_list): Fix comment typo. Use prepend_loc_descr_to_each
1408 instead of add_loc_descr_to_each if the first argument is single
1409 location list and the second has multiple.
1410 (resolve_args_picking_1): Handle DW_OP_GNU_variable_value.
1411 (loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value
1412 when looking for variable value which doesn't have other location info.
1413 (loc_list_from_tree): Formatting fix.
1414 (gen_array_type_die): Simplify DW_AT_string_length handling.
1415 (adjust_string_types): Remove.
1416 (gen_subprogram_die): Don't call adjust_string_types nor test/set
1417 string_types. Call resolve_variable_values.
1418 (prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value.
1419 (resolve_addr_in_expr): Likewise. Add A argument.
1420 (copy_deref_exprloc): Remove deref argument. Adjust for the
1421 original expression being DW_OP_GNU_variable_value with optionally
1422 DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref
1423 optionally after it.
1424 (optimize_string_length): Rework for DW_OP_GNU_variable_value.
1425 (resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr
1426 callers. Set remove_AT_byte_size if removing DW_AT_string_length.
1427 (variable_value_hasher::hash, variable_value_hasher::equal): New
1428 methods.
1429 (resolve_variable_value_in_expr, resolve_variable_value,
1430 resolve_variable_values, note_variable_value_in_expr,
1431 note_variable_value): New functions.
1432 (dwarf2out_early_finish): Call note_variable_value on all toplevel
1433 DIEs.
1434
1435 2017-02-24 Jakub Jelinek <jakub@redhat.com>
1436
1437 PR c/79677
1438 * opts.h (handle_generated_option): Add GENERATED_P argument.
1439 * opts-common.c (handle_option): Adjust function comment.
1440 (handle_generated_option): Add GENERATED_P argument, pass it to
1441 handle_option.
1442 (control_warning_option): Pass false to handle_generated_option
1443 GENERATED_P.
1444 * opts.c (maybe_default_option): Pass true to handle_generated_option
1445 GENERATED_P.
1446 * optc-gen.awk: Likewise.
1447
1448 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
1449
1450 * config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of
1451 a REG, look at the REG it is a SUBREG of.
1452 (splitter for cmpeqsi_t): Ditto.
1453
1454 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
1455
1456 * config/pa/pa.c (pa_combine_instructions): Do not share RTL. Make
1457 the special USEs with the pattern of the insn, not the insn itself.
1458
1459 2017-02-24 Matthew Fortune <matthew.fortune@imgtec.com>
1460
1461 PR target/79473
1462 * doc/invoke.texi: Document -mload-store-pairs.
1463
1464 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
1465 Sandra Loosemore <sandra@codesourcery.com>
1466
1467 * config/nios2/nios2.c (nios2_simple_const_p): Returns false if the
1468 argument isn't a CONST_INT.
1469 (nios2_alternate_compare_const): Assert op is a CONST_INT.
1470 (nios2_valid_compare_const_p): Assert op is a CONST_INT.
1471 (nios2_validate_compare): Bypass alternate compare logic if *op2
1472 is not a CONST_INT.
1473 (ldstwm_operation_p): Return false if first_base is not a REG or
1474 if first_offset is not a CONST_INT.
1475
1476 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
1477
1478 * config/cris/cris.md: Use correct operand in a define_peephole2.
1479
1480 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
1481
1482 * config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.
1483
1484 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
1485
1486 * config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of
1487 this_insn if it is an INSN or JUMP_INSN.
1488 (force_offsettable): Look at base, not at addr.
1489 * config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL
1490 on things that aren't necessarily CONST_INTs.
1491
1492 2017-02-24 Uros Bizjak <ubizjak@gmail.com>
1493
1494 * doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
1495 -mfpmath=sse is the default also for x86-32 targets with SSE2
1496 instruction set when @option{-ffast-math} is enabled
1497
1498 2017-02-24 Jeff Law <law@redhat.com>
1499
1500 PR rtl-optimizatoin/79286
1501 * ira.c (update_equiv_regs): Drop may_trap_p exception to
1502 dominance test.
1503
1504 2017-02-24 Richard Biener <rguenther@suse.de>
1505
1506 PR tree-optimization/79389
1507 * gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
1508 debug insns.
1509
1510 2017-02-24 Aldy Hernandez <aldyh@redhat.com>
1511
1512 * tree-ssa-loop-niter.c (number_of_iterations_exit): Update
1513 function comment to reflect reality.
1514 (loop_exits_before_overflow): Fix typo in function description.
1515
1516 2017-02-24 Richard Biener <rguenther@suse.de>
1517
1518 PR tree-optimization/79389
1519 * gimple-ssa-split-paths.c (is_feasible_trace): Verify more
1520 properly that a threading opportunity exists. Detect conditional
1521 copy/constant propagation opportunities.
1522
1523 2017-02-23 Eric Botcazou <ebotcazou@adacore.com>
1524
1525 * config/visium/visium.md (type): Add trap.
1526 (b): New mode attribute.
1527 (*btst): Rename into...
1528 (*btst<mode>): ...this and adjust.
1529 (*cbranchsi4_btst_insn): Rename into...
1530 (*cbranch<mode>4_btst_insn): ...this and adjust.
1531 (trap): New define_insn.
1532
1533 2017-02-23 Jakub Jelinek <jakub@redhat.com>
1534
1535 PR tree-optimization/79389
1536 * ifcvt.c (struct noce_if_info): Add rev_cond field.
1537 (noce_reversed_cond_code): New function.
1538 (noce_emit_store_flag): Use rev_cond if non-NULL instead of
1539 reversed_comparison_code. Formatting fix.
1540 (noce_try_store_flag): Test rev_cond != NULL in addition to
1541 reversed_comparison_code.
1542 (noce_try_store_flag_constants): Likewise.
1543 (noce_try_store_flag_mask): Likewise.
1544 (noce_try_addcc): Use rev_cond if non-NULL instead of
1545 reversed_comparison_code.
1546 (noce_try_cmove_arith): Likewise. Formatting fixes.
1547 (noce_try_minmax, noce_try_abs): Clear rev_cond.
1548 (noce_find_if_block): Initialize rev_cond.
1549 (find_cond_trap): Call noce_get_condition with then_bb == trap_bb
1550 instead of false as last argument never attempt to reverse it
1551 afterwards.
1552
1553 2017-02-23 Bin Cheng <bin.cheng@arm.com>
1554
1555 PR tree-optimization/79663
1556 * tree-predcom.c (combine_chains): Process refs in reverse order
1557 only for ZERO length chains, and add explaining comment.
1558
1559 2017-02-23 Jeff Law <law@redhat.com>
1560
1561 PR tree-optimization/79578
1562 * tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF
1563 in call to operand_equal_p.
1564
1565 2017-01-23 Dominique d'Humieres <dominiq@lps.ens.fr>
1566
1567 PR target/71017
1568 * config/i386/cpuid.h: Fix another undefined behavior.
1569
1570 2017-02-23 Richard Biener <rguenther@suse.de>
1571
1572 PR tree-optimization/79683
1573 * tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite
1574 vector types for data-refs.
1575
1576 2017-02-23 Martin Liska <mliska@suse.cz>
1577
1578 * params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0.
1579
1580 2017-02-23 Jakub Jelinek <jakub@redhat.com>
1581
1582 PR middle-end/79665
1583 * internal-fn.c (get_range_pos_neg): Moved to ...
1584 * tree.c (get_range_pos_neg): ... here. No longer static.
1585 * tree.h (get_range_pos_neg): New prototype.
1586 * expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments
1587 are known to be in between 0 and signed maximum inclusive, try to
1588 expand both unsigned and signed divmod and use the cheaper one from
1589 those.
1590
1591 2017-02-22 Jeff Law <law@redhat.com>
1592
1593 PR tree-optimization/79578
1594 * tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p
1595 to compare base operands.
1596
1597 2017-02-22 Segher Boessenkool <segher@kernel.crashing.org>
1598
1599 PR target/79211
1600 * config/rs6000/rs6000.md (*fsel<SFDF:mode><SFDF2:mode>4): Use
1601 gpc_reg_operand instead of fpr_reg_operand.
1602
1603 2017-02-22 Sameera Deshpande <sameera.deshpande@imgtec.com>
1604
1605 * config/mips/mips.c (mips_return_in_memory): Force FP
1606 vector types to be returned in memory for o32 ABI.
1607
1608 2017-02-22 Jakub Jelinek <jakub@redhat.com>
1609
1610 * dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable
1611 instead of DW_TAG_member for static data member declarations and don't
1612 set no_linkage_name for static inline data members.
1613 (gen_member_die): For -gdwarf-5 don't change DW_TAG_variable
1614 to DW_TAG_member.
1615
1616 2017-02-22 Martin Liska <mliska@suse.cz>
1617
1618 * doc/invoke.texi: Replace inequality signs with square brackets
1619 for -Wnormalized.
1620
1621 2017-02-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1622
1623 PR tree-optimization/68644
1624 * gcc.dg/tree-ssa/ivopts-lt-2.c: Skip for powerpc*-*-*.
1625
1626 2017-02-22 Matthew Fortune <matthew.fortune@imgtec.com>
1627
1628 PR target/78660
1629 * lra-constraints.c (simplify_operand_subreg): Handle
1630 WORD_REGISTER_OPERATIONS targets.
1631
1632 2017-02-22 Jakub Jelinek <jakub@redhat.com>
1633
1634 PR target/70465
1635 * reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F))
1636 and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1)
1637 elimination by swapping fld*.
1638
1639 2017-02-22 Richard Biener <rguenther@suse.de>
1640
1641 PR tree-optimization/79673
1642 * tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to
1643 convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off
1644 irrelevant address-space qualifiers and avoiding a
1645 ADDR_SPACE_CONVERT_EXPR from fold_convert.
1646
1647 2017-02-22 Richard Biener <rguenther@suse.de>
1648
1649 PR tree-optimization/79666
1650 * tree-vrp.c (extract_range_from_binary_expr_1): Make sure
1651 to not symbolically negate if that may introduce undefined
1652 overflow.
1653
1654 2017-02-22 Martin Liska <mliska@suse.cz>
1655
1656 PR lto/79587
1657 * data-streamer-in.c (streamer_read_gcov_count): Remove assert.
1658 * data-streamer-out.c (streamer_write_gcov_count_stream):
1659 Likewise.
1660 * value-prof.c (stream_out_histogram_value): Make assert more
1661 precise based on type of counter.
1662
1663 2017-02-21 Uros Bizjak <ubizjak@gmail.com>
1664
1665 PR target/79593
1666 * config/i386/i386.md (standard_x87sse_constant_load splitter):
1667 Use nonimmediate_operand instead of memory_operand for operand 1.
1668 (float-extend standard_x87sse_constant_load splitter): Ditto.
1669
1670 2017-02-21 Jeff Law <law@redhat.com>
1671
1672 PR tree-optimization/79621
1673 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore
1674 blocks with edges to themselves.
1675
1676 2017-02-21 Jakub Jelinek <jakub@redhat.com>
1677
1678 PR target/79633
1679 * tree-chkp-opt.c (chkp_optimize_string_function_calls): Use
1680 is_gimple_call instead of comparing gimple_code with GIMPLE_CALL.
1681 Use gimple_call_builtin_p.
1682
1683 PR target/79570
1684 * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
1685 on temporarily removed DEBUG_INSNs.
1686
1687 PR tree-optimization/79649
1688 * tree-loop-distribution.c (classify_partition): Give up on
1689 non-generic address space loads/stores.
1690
1691 2017-02-21 Aldy Hernandez <aldyh@redhat.com>
1692
1693 * doc/loop.texi (Loop manipulation): Remove nonexistent
1694 tree_ssa_loop_version from the documentation.
1695 * cfgloopmanip.c (loop_version): Document CONDITION_BB argument.
1696
1697 2017-02-21 Jakub Jelinek <jakub@redhat.com>
1698
1699 PR target/79494
1700 * config/i386/i386.c (ix86_expand_split_stack_prologue): Call
1701 make_reg_eh_region_note_nothrow_nononlocal on call_insn.
1702 * config/rs6000/rs6000.c: Include except.h.
1703 (rs6000_expand_split_stack_prologue): Call
1704 make_reg_eh_region_note_nothrow_nononlocal on the call insn.
1705
1706 2017-02-21 Martin Jambor <mjambor@suse.cz>
1707
1708 PR lto/79579
1709 * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
1710 have been analyzed.
1711
1712 2017-02-21 Martin Jambor <mjambor@suse.cz>
1713
1714 * common.opt (-fipa-cp-alignment): Mark as ignored and preserved
1715 for backward compatibility only.
1716 * doc/invoke.texi (Option Summary): Remove all references to
1717 -fipa-cp-alignment.
1718
1719 2017-02-21 Matthew Fortune <matthew.fortune@imgtec.com>
1720
1721 PR target/78660
1722 Revert:
1723 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
1724
1725 * lra-constraints.c (curr_insn_transform): Handle
1726 WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
1727
1728 2017-02-21 Martin Liska <mliska@suse.cz>
1729
1730 * config/i386/i386.opt: Replace -masm-dialect with -masm.
1731
1732 2017-02-21 Thomas Schwinge <thomas@codesourcery.com>
1733
1734 PR translation/79638
1735 * config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".
1736
1737 2017-02-21 Eric Botcazou <ebotcazou@adacore.com>
1738
1739 PR ada/67205
1740 * config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
1741 (arm_function_ok_for_sibcall): Return false for an indirect call by
1742 descriptor if all the argument registers are used.
1743 (arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the
1744 alignment of the function.
1745
1746 2017-02-21 Jakub Jelinek <jakub@redhat.com>
1747
1748 PR tree-optimization/61441
1749 * simplify-rtx.c (simplify_const_unary_operation): For
1750 -fsignaling-nans and sNaN operand, return NULL_RTX rather than
1751 the sNaN unmodified.
1752
1753 2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
1754
1755 * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
1756 (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
1757 instead of SYSTEM_HEADER_DIR.
1758
1759 2017-02-20 Gerald Pfeifer <gerald@pfeifer.com>
1760 Martin Liška <mliska@suse.cz>
1761
1762 * doc/invoke.texi (use-after-scope-direct-emission-threshold):
1763 Fix typos and grammar, use active voice, and clarify.
1764
1765 2017-02-20 Marek Polacek <polacek@redhat.com>
1766
1767 PR middle-end/79537
1768 * gimplify.c (gimplify_expr): Handle unused *&&L;.
1769
1770 PR sanitizer/79558
1771 * ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
1772
1773 2017-02-20 Jakub Jelinek <jakub@redhat.com>
1774
1775 PR target/79568
1776 * config/i386/i386.c (ix86_expand_builtin): Handle
1777 OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
1778 ix86_builtins_isa[fcode].isa as a requirement of those
1779 flags and any other flag in the bitmask.
1780 (ix86_init_mmx_sse_builtins): Use 0 instead of
1781 ~OPTION_MASK_ISA_64BIT as mask.
1782 * config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
1783 __builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
1784 __builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
1785 __builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.
1786
1787 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
1788
1789 PR target/78012
1790 * lra-constraints.c (split_reg): Check requested split mode
1791 is supported by the register.
1792
1793 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
1794
1795 * lra-constraints.c (simplify_operand_subreg): Remove early
1796 return false.
1797
1798 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
1799
1800 PR target/78660
1801 * lra-constraints.c (curr_insn_transform): Tighten condition
1802 for converting SUBREG reloads from OP_OUT to OP_INOUT.
1803
1804 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
1805
1806 PR target/78660
1807 * lra-constraints.c (curr_insn_transform): Handle
1808 WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
1809
1810 2017-02-19 Uros Bizjak <ubizjak@gmail.com>
1811
1812 Revert:
1813 2016-05-30 Uros Bizjak <ubizjak@gmail.com>
1814
1815 * config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
1816
1817 2017-02-19 Jonathan Wakely <jwakely@redhat.com>
1818
1819 PR c++/69523
1820 * doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
1821 description.
1822
1823 2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1824
1825 * gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
1826 for FMA_EXPR.
1827
1828 2017-02-18 Jakub Jelinek <jakub@redhat.com>
1829
1830 * final.c (last_columnnum, override_columnnum): New variables.
1831 (final_start_function): Set last_columnnum, pass it to begin_prologue
1832 hook and pass 0 to dwarf2out_begin_prologue.
1833 (final_scan_insn): Update override_columnnum. Pass last_columnnum
1834 to source_line debug hook.
1835 (notice_source_line): Compute last_columnnum and for debug_column_info
1836 return true on column changes.
1837 * debug.h (struct gcc_debug_hooks): Add column argument to
1838 source_line and begin_prologue hooks.
1839 (debug_nothing_int_charstar_int_bool): Remove prototype.
1840 (debug_nothing_int_int_charstar,
1841 debug_nothing_int_int_charstar_int_bool): New prototypes.
1842 (dwarf2out_begin_prologue): Add column argument.
1843 * debug.c (do_nothing_debug_hooks): Adjust source_line and
1844 begin_prologue hooks.
1845 (debug_nothing_int_charstar_int_bool): Remove.
1846 (debug_nothing_int_int_charstar,
1847 debug_nothing_int_int_charstar_int_bool): New functions.
1848 * dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
1849 through to dwarf2out_source_line.
1850 (dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
1851 (dwarf2out_source_line): Add column argument, emit it if requested.
1852 * sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
1853 arguments.
1854 * xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
1855 * xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
1856 * vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
1857 through to dwarf2out_begin_prologue.
1858 (vmsdbgout_source_line): Add column argument, pass it through to
1859 dwarf2out_source_line.
1860 * dbxout.c (dbxout_begin_prologue): Add column argument, adjust
1861 dbxout_source_line caller.
1862 (dbxout_source_line): Add column argument.
1863
1864 * common.opt (gno-column-info, gcolumn-info): New options.
1865 * dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
1866 (check_die): Also test for multiple DW_AT_decl_column attributes.
1867 (add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
1868 DW_AT_decl_column if requested.
1869 (gen_subprogram_die): Compare and/or add also DW_AT_decl_column
1870 if requested.
1871 (gen_variable_die): Likewise.
1872 (add_call_src_coords_attributes): Add DW_AT_call_column if requested.
1873 * doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.
1874
1875 PR target/79569
1876 * config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
1877 * common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
1878 (ix86_handle_option): Handle OPT_m3dnowa.
1879 * doc/invoke.texi (-m3dnowa): Document.
1880 * doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
1881 -m3dnowa instead of -m3dnow -march=athlon.
1882
1883 PR target/79559
1884 * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
1885 instead of gcc_assert for K, r and R code checks. Formatting fixes.
1886
1887 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1888
1889 PR target/79261
1890 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
1891 support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
1892 * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
1893 generator for vsx_xxpermdi_<mode>_be.
1894 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
1895 force big-endian semantics.
1896 (vsx_xxpermdi_<mode>_be): New define_expand with same
1897 implementation as previous version of vsx_xxpermdi_<mode>.
1898
1899 2017-02-17 Jakub Jelinek <jakub@redhat.com>
1900
1901 PR tree-optimization/79327
1902 * gimple-ssa-sprintf.c (format_integer): Remove likely_adjust
1903 variable, its initialization and use.
1904
1905 2017-02-17 Julia Koval <julia.koval@intel.com>
1906
1907 * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
1908 (OPTION_MASK_ISA_PKU_UNSET): New.
1909 (ix86_handle_option): Handle -mrdpid.
1910 * config/i386/cpuid.h (bit_RDPID): New.
1911 * config/i386/driver-i386.c (host_detect_local_cpu):
1912 Detect RDPID feature.
1913 * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
1914 * config/i386/i386-c.c (ix86_target_macros_internal):
1915 Handle RDPID flag.
1916 * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
1917 (ix86_valid_target_attribute_inner_p): Add "rdpid".
1918 (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
1919 * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
1920 * config/i386/i386.md (define_insn "rdpid"): New.
1921 * config/i386/i386.opt Add -mrdpid.
1922 * config/i386/immintrin.h (_rdpid_u32): New.
1923
1924 2017-02-17 Vladimir Makarov <vmakarov@redhat.com>
1925
1926 PR rtl-optimization/79541
1927 * lra-constraints.c (curr_insn_transform): Remove wrong asm insn
1928 instead of transforming it into USE.
1929
1930 2017-02-17 Segher Boessenkool <segher@kernel.crashing.org>
1931
1932 * config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
1933 If HONOR_SNANS (SFmode) force the input to a register.
1934 (*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition.
1935 (*extendsfdf2_snan): New pattern, used when using SNaNs; it generates
1936 an frsp or similar insn.
1937
1938 2017-02-17 Martin Liska <mliska@suse.cz>
1939
1940 PR rtl-optimization/79577
1941 * params.def (selsched-max-sched-times): Increase minimum to 1.
1942
1943 2017-02-17 Martin Liska <mliska@suse.cz>
1944
1945 PR rtl-optimization/79574
1946 * gcse.c (want_to_gcse_p): Prevent integer overflow.
1947
1948 2017-02-17 Martin Liska <mliska@suse.cz>
1949
1950 PR tree-optimization/79529
1951 * tree-ssa-loop-unswitch.c (is_maybe_undefined): Use
1952 ssa_defined_default_def_p to handle cases which are implicitly
1953 defined.
1954 * tree-ssa.c (ssa_defined_default_def_p): New function.
1955 (ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases
1956 which are implicitly defined.
1957 * tree-ssa.h (ssa_defined_default_def_p): Declare.
1958
1959 2017-02-17 Richard Biener <rguenther@suse.de>
1960
1961 PR middle-end/79576
1962 * params.def (max-ssa-name-query-depth): Limit to 10.
1963
1964 2017-02-17 Richard Biener <rguenther@suse.de>
1965
1966 PR tree-optimization/79552
1967 * tree-ssa-structalias.c (visit_loadstore): Properly verify
1968 default defs.
1969
1970 2017-02-17 Richard Biener <rguenther@suse.de>
1971
1972 PR bootstrap/79567
1973 * genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2.
1974
1975 2017-02-17 Marek Polacek <polacek@redhat.com>
1976
1977 PR middle-end/79536
1978 * fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
1979 (fold_negate_expr): New wrapper.
1980
1981 2017-02-16 Sandra Loosemore <sandra@codesourcery.com>
1982
1983 * doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]:
1984 Correct terminology and de-emphasize pre-standard behavior.
1985
1986 2017-02-16 Alan Modra <amodra@gmail.com>
1987
1988 PR rtl-optimization/79286
1989 * ira.c (def_dominates_uses): New function.
1990 (update_equiv_regs): Don't create an equivalence for insns that
1991 may trap where the register def does not dominate the use.
1992
1993 2017-02-16 Vladimir Makarov <vmakarov@redhat.com>
1994
1995 PR rtl-optimization/78127
1996 * lra.c (lra): Call lra_eliminate before finish the loop after
1997 lra_constraint.
1998
1999 2017-02-16 Richard Biener <rguenther@suse.de>
2000
2001 * graphite.h: Do not include isl/isl_val_gmp.h, instead include
2002 isl/isl_val.h.
2003 * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
2004 (gcc_expression_from_isl_expr_int): Use generic isl_val interface.
2005 * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
2006 (isl_val_int_from_wi): New function.
2007 (extract_affine_gmp): Rename to ...
2008 (extract_affine_wi): ... this, take a widest_int.
2009 (extract_affine_int): Just wrap extract_affine_wi.
2010 (add_param_constraints): Use isl_val_int_from_wi.
2011 (add_loop_constraints): Likewise, and extract_affine_wi.
2012
2013 2017-02-15 Jeff Law <law@redhat.com>
2014
2015 PR middle-end/79521
2016 * ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling
2017 ira_init_register_move_cost_if_necessary.
2018
2019 2017-02-15 Martin Sebor <msebor@redhat.com>
2020
2021 PR middle-end/32003
2022 * doc/invoke.texi (-fdump-final-insns): Replace option accidentally
2023 removed in a prior commit.
2024
2025 2017-02-15 Bin Cheng <bin.cheng@arm.com>
2026
2027 PR tree-optimization/79347
2028 * tree-vect-loop-manip.c (vect_do_peeling): Maintain profile
2029 counters during peeling.
2030
2031 2017-02-15 Thomas Schwinge <thomas@codesourcery.com>
2032
2033 * Makefile.in (site.exp): Remove "set ISLVER".
2034
2035 2017-02-15 Jakub Jelinek <jakub@redhat.com>
2036
2037 PR target/79487
2038 * real.c (real_from_integer): Call real_convert even for decimal.
2039
2040 2017-02-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
2041
2042 PR target/79421
2043 * config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
2044
2045 2017-02-14 Andrew Pinski <apinski@cavium.com>
2046
2047 * config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C"
2048 cores and change the partno/implementer to be correct.
2049 (thunderx2t99p1): New core which replaces thunderx2t99 and still has
2050 the 'B" as the implementer.
2051 * config/aarch64/aarch64-tune.md: Regenerate.
2052
2053 2017-02-14 Carl Love <cel@us.ibm.com>
2054
2055 * config/rs6000/rs6000.c: Add case statement entry to make the
2056 xvcvuxdsp built-in argument unsigned.
2057 * config/rs6000/vsx.md: Fix the source and return operand types so they
2058 match the instruction definitions from the ISA document. Fix typo
2059 in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
2060 statement.
2061
2062 2017-02-14 Vladimir Makarov <vmakarov@redhat.com>
2063
2064 PR target/79282
2065 * lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
2066 member early_clobber_alts.
2067 * lra-lives.c (reg_early_clobber_p): New.
2068 (process_bb_lives): Use it.
2069 * lra.c (new_insn_reg): New arg early_clobber_alts. Use it.
2070 (debug_operand_data): Initialize early_clobber_alts.
2071 (setup_operand_alternative): Set up early_clobber_alts.
2072 (collect_non_operand_hard_regs): Ditto. Pass early clobber
2073 alternatives to new_insn_reg.
2074 (add_regs_to_insn_regno_info): Add arg early_clobber_alts. Use
2075 it.
2076 (lra_update_insn_regno_info): Pass the new arg.
2077
2078 2017-02-14 Jakub Jelinek <jakub@redhat.com>
2079
2080 PR middle-end/79505
2081 * omp-offload.c (free_oacc_loop): Release loop->ifns vector.
2082 (new_oacc_loop_raw): Don't clear already cleared fields.
2083
2084 PR target/79481
2085 * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
2086 _mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
2087 _mm512_prefetch_i64gather_ps): New inline functions and macros.
2088
2089 2017-02-14 Uros Bizjak <ubizjak@gmail.com>
2090
2091 PR target/79495
2092 * config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.
2093
2094 2017-02-14 H.J. Lu <hongjiu.lu@intel.com>
2095
2096 PR target/79498
2097 * config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
2098 the extra instruction to the right place to store 128-bit constant
2099 when needed.
2100
2101 2017-02-14 Martin Sebor <msebor@redhat.com>
2102
2103 PR middle-end/79448
2104 * gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX
2105 warning for strings of unknown length.
2106
2107 2017-02-13 Segher Boessenkool <segher@kernel.crashing.org>
2108
2109 * config.gcc (supported_defaults) [powerpc*-*-*]: Update.
2110
2111 2017-02-14 Jeff Law <law@redhat.com>
2112
2113 PR target/79404
2114 * ira-costs.c (scan_one_insn): Initialize register move costs
2115 for pseudos seen in USE/CLOBBER insns.
2116
2117 PR tree-optimization/79095
2118 * tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
2119 if the numerator has the range ~[0,0] make the resultant range ~[0,0].
2120 (extract_range_from_binary_expr): For MINUS_EXPR with no derived range,
2121 if the operands are known to be not equal, then the resulting range
2122 is ~[0,0].
2123 (intersect_ranges): If the new range is ~[0,0] and the old range is
2124 wide, then prefer ~[0,0].
2125 * tree-vrp.c (overflow_comparison_p_1): New function.
2126 (overflow_comparison_p): New function.
2127 * tree-vrp.c (register_edge_assert_for_2): Register additional asserts
2128 if NAME is used in an overflow test.
2129 (vrp_evaluate_conditional_warnv_with_ops): If the ops represent an
2130 overflow check that can be expressed as an equality test, then adjust
2131 ops to be that equality test.
2132
2133 2017-02-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2134
2135 * config/s390/s390-builtin-types.def: Remove flags argument.
2136 * config/s390/s390.c (s390_init_builtins): Likewise.
2137
2138 2017-02-14 Martin Liska <mliska@suse.cz>
2139
2140 * tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
2141 vector. Fix trailing white spaces.
2142
2143 2017-02-14 James Greenhalgh <james.greenhalgh@arm.com>
2144
2145 * config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
2146 HFmode.
2147
2148 2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2149
2150 PR rtl-optimization/68664
2151 * config/arm/arm.c (arm_sched_can_speculate_insn):
2152 New function. Declare prototype.
2153 (TARGET_SCHED_CAN_SPECULATE_INSN): Define.
2154
2155 2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2156
2157 PR rtl-optimization/68664
2158 * config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn):
2159 New function.
2160 (TARGET_SCHED_CAN_SPECULATE_INSN): Define.
2161
2162 2017-02-14 Amit Pawar <amit.pawar@amd.com>
2163
2164 * config/i386/i386.c (znver1_cost): Fix the alignment for function and
2165 max skip bytes for function, loop and jump.
2166
2167 2017-02-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2168
2169 * gimple-pretty-print.c (dump_unary_rhs): Adjust dump format for
2170 ABS_EXPR for gimple dump.
2171
2172 2017-02-14 Jakub Jelinek <jakub@redhat.com>
2173
2174 PR target/79462
2175 * config/sh/sh.c (expand_cbranchdi4): Don't clear operands[4].
2176
2177 PR tree-optimization/79408
2178 * tree-vrp.c (simplify_div_or_mod_using_ranges): Handle also the
2179 case when on TRUNC_MOD_EXPR op0 is INTEGER_CST.
2180 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
2181 also if rhs1 is INTEGER_CST.
2182
2183 2017-02-14 Richard Biener <rguenther@suse.de>
2184
2185 PR middle-end/79432
2186 * tree-into-ssa.c (insert_phi_nodes): When the function can
2187 have abnormal edges rewrite SSA names with broken use-def
2188 dominance out of SSA and register them for PHI insertion.
2189
2190 2017-02-13 Martin Sebor <msebor@redhat.com>
2191
2192 PR middle-end/79496
2193 * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid
2194 clearing info.nowrite flag when snprintf size argument is a range.
2195
2196 2017-02-13 Jakub Jelinek <jakub@redhat.com>
2197
2198 * cprop.c (cprop_jump): Add missing space in string literal.
2199 * tree-ssa-structalias.c (rewrite_constraints): Likewise.
2200 (get_constraint_for_component_ref): Likewise.
2201 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
2202 * tree-outof-ssa.c (insert_partition_copy_on_edge): Likewise.
2203 * lra-constraints.c (process_alt_operands): Likewise.
2204 * ipa-inline.c (inline_small_functions): Likewise.
2205 * tree-ssa-sccvn.c (visit_reference_op_store): Likewise.
2206 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
2207 * trans-mem.c (diagnose_tm_1_op): Likewise.
2208 * omp-grid.c (grid_find_single_omp_among_assignments): Likewise.
2209 (grid_parallel_clauses_gridifiable): Likewise.
2210
2211 * config/nvptx/mkoffload.c (process): Add space in between
2212 , and %d.
2213
2214 * config/i386/i386.h (REG_CLASS_NAMES): Add , in between
2215 "MOD4_SSE_REGS" and "ALL_REGS".
2216
2217 * spellcheck.c (test_data): Add , in between "foo" and "food".
2218
2219 2017-02-13 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
2220
2221 PR target/79449
2222 * config/rs6000/rs6000.c (expand_block_compare): Make sure runtime
2223 boundary crossing check and subsequent code generation agree.
2224
2225 2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2226
2227 * config/aarch64/aarch64.c (has_memory_op): Delete.
2228 (aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of
2229 has_memory_op.
2230
2231 2017-02-13 Jakub Jelinek <jakub@redhat.com>
2232
2233 PR rtl-optimization/79388
2234 PR rtl-optimization/79450
2235 * combine.c (distribute_notes): When removing TEM_INSN for which
2236 corresponding dest has last value recorded, invalidate that last
2237 value.
2238
2239 2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2240
2241 * config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead
2242 of explicit '@'. Add missing assembly comment marker on branch costs
2243 printout.
2244
2245 2017-02-13 Nathan Sidwell <nathan@acm.org>
2246
2247 * gengtype-lex.l (<in_struct>): Add '/'.
2248
2249 2017-02-13 Martin Liska <mliska@suse.cz>
2250
2251 PR c/79471
2252 * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC.
2253
2254 2017-02-13 Richard Biener <rguenther@suse.de>
2255
2256 * configure.ac (HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS):
2257 Remove.
2258 * configure: Re-generate.
2259 * config.in: Likewise.
2260 * graphite-dependences.c: Simplify as if
2261 HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS was defined.
2262 * graphite-isl-ast-to-gimple.c: Likewise.
2263 * graphite-optimize-isl.c: Likewise.
2264 * graphite-poly.c: Likewise.
2265 * graphite-sese-to-poly.c: Likewise.
2266 * graphite.h: Likewise.
2267 * toplev.c: Include isl/version.h and use isl_version () for
2268 printing the ISL version.
2269 * doc/install.texi: Update ISL requirement.
2270
2271 2017-02-12 Gerald Pfeifer <gerald@pfeifer.com>
2272
2273 * doc/standards.texi (Standards): Update reference to
2274 Objective-C 2.0.
2275
2276 2017-02-12 Gerald Pfeifer <gerald@pfeifer.com>
2277
2278 * doc/extend.texi (Named Address Spaces): sourceware.org now
2279 defaults to https.
2280 * doc/install.texi (Binaries): Ditto.
2281 (Specific): Ditto.
2282
2283 2017-02-11 Sandra Loosemore <sandra@codesourcery.com>
2284
2285 * doc/cpp.texi: Replace "stringify"/"stringification" with C
2286 standard terminology "stringize"/"stringizing" throughout.
2287 * doc/cppinternals.texi: Likewise.
2288
2289 2017-02-11 Sandra Loosemore <sandra@codesourcery.com>
2290
2291 * doc/extend.texi: Fix some spelling mistakes and typos.
2292 * doc/invoke.texi: Likewise.
2293
2294 2017-02-11 Jan Hubicka <hubicka@ucw.cz>
2295
2296 PR ipa/79224
2297 * params.def (inline-min-speedup) Change from 10 to 8.
2298
2299 2017-02-11 Jakub Jelinek <jakub@redhat.com>
2300
2301 * doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to
2302 4.5.
2303
2304 2017-02-11 Jan Hubicka <hubicka@ucw.cz>
2305
2306 PR ipa/79224
2307 * ipa-inline-analysis.c (get_minimal_bb): New function.
2308 (record_modified): Use it.
2309 (remap_edge_change_prob): Handle also ancestor functions.
2310
2311 2017-02-11 Gerald Pfeifer <gerald@pfeifer.com>
2312
2313 * doc/contrib.texi (Contributors): Remove broken link into
2314 the Mauve CVS repository.
2315
2316 2017-02-11 Jakub Jelinek <jakub@redhat.com>
2317
2318 PR middle-end/79454
2319 * internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise
2320 result computation whenever lhs doesn't have vector mode, not
2321 just when it has BLKmode.
2322
2323 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
2324
2325 * doc/makefile.texi (profiledbootstrap): Refer to the
2326 installation instructions only in textual form.
2327
2328 2017-02-10 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
2329
2330 PR target/79295
2331 * config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints.
2332
2333 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
2334
2335 * doc/install.texi (Specific): Use https for blackfin.uclinux.org.
2336 (Specific): Update mingw-w64 reference.
2337 (Binaries): Ditto.
2338 (Specific): Remove broken link to Renesas RX processor.
2339
2340 2017-02-10 Richard Biener <rguenther@suse.de>
2341
2342 * toplev.c (process_options): Do not mention obsolete graphite
2343 options when printing sorry message about missing graphite support.
2344 Mention -floop-nest-optimize.
2345
2346 2017-02-10 Christophe Lyon <christophe.lyon@linaro.org>
2347
2348 * config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm.
2349 (vtst_p16): Likewise.
2350 (vtstq_p8): Likewise.
2351 (vtstq_p16): Likewise.
2352 (vtst_p64): New.
2353 (vtstq_p64): Likewise.
2354 * config/arm/arm_neon.h (vgetq_lane_p64): New.
2355 (vset_lane_p64): New.
2356 (vsetq_lane_p64): New.
2357
2358 2017-02-10 Jakub Jelinek <jakub@redhat.com>
2359
2360 PR tree-optimization/79411
2361 * tree-ssa-reassoc.c (is_reassociable_op): Return false if
2362 stmt operands are SSA_NAMEs used in abnormal phis.
2363 (can_reassociate_p): Return false if op is SSA_NAME used in abnormal
2364 phis.
2365
2366 2017-02-09 Jan Hubicka <hubicka@ucw.cz>
2367
2368 PR ipa/70795
2369 * cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
2370 flag if needed.
2371
2372 2017-02-09 Jan Hubicka <hubicka@ucw.cz>
2373
2374 * tree-ssa-loop-unswitch.c (hoist_guard): Update profile.
2375
2376 2017-02-09 Jakub Jelinek <jakub@redhat.com>
2377
2378 * omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
2379 to avoid warning.
2380
2381 PR c/79413
2382 * gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants,
2383 not arbitrary TREE_CONSTANT.
2384
2385 PR c/79431
2386 * gimplify.c (gimplify_adjust_omp_clauses): Ignore
2387 "omp declare target link" attribute unless is_global_var.
2388 * omp-offload.c (find_link_var_op): Likewise.
2389
2390 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
2391 Chung-Lin Tang <cltang@codesourcery.com>
2392
2393 * gimplify.c (gimplify_scan_omp_clauses): No special handling for
2394 OMP_CLAUSE_TILE.
2395 (gimplify_adjust_omp_clauses): Don't delete TILE.
2396 (gimplify_omp_for): Deal with TILE.
2397 * internal-fn.c (expand_GOACC_TILE): New function.
2398 * internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
2399 (GOACC_TILE): New.
2400 * omp-expand.c (struct oacc_collapse): Add tile and outer fields.
2401 (expand_oacc_collapse_init): Add LOC paramter. Initialize tile
2402 element fields.
2403 (expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
2404 avoid DIV for outermost collapse var.
2405 (expand_oacc_for): Insert tile element loop as needed. Adjust.
2406 Remove out of date comments, fix whitespace.
2407 * omp-general.c (omp_extract_for_data): Deal with tiling.
2408 * omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
2409 adjust OLF_DIM_BASE value.
2410 (struct omp_for_data): Add tiling field.
2411 * omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
2412 (lower_oacc_head_mark): Add OLF_TILE as appropriate. Ensure 2 levels
2413 for auto loops. Remove default auto determining, moved to
2414 oacc_loop_fixed_partitions.
2415 * omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
2416 stmts, add e_mask field.
2417 (oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
2418 (oacc_thread_numbers): Use oacc_dim_call.
2419 (oacc_xform_tile): New.
2420 (new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
2421 (finish_oacc_loop): Adjust for ifns vector.
2422 (oacc_loop_discover_walk): Append loop abstraction sites to list,
2423 add case for GOACC_TILE fns.
2424 (oacc_loop_xform_loop): Delete.
2425 (oacc_loop_process): Iterate over call list directly, and add
2426 handling for GOACC_TILE fns.
2427 (oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
2428 dump partitioning.
2429 (oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
2430 vector partitioning to outer loops. Assign 2 partitions to loops
2431 when available. Add TILE handling.
2432 (oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
2433 (execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs.
2434 * tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
2435 * tree.c (omp_clause_num_ops): Adjust TILE ops.
2436 * tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.
2437
2438 2017-02-09 Gerald Pfeifer <gerald@pfeifer.com>
2439
2440 * configure.ac (ACX_BUGURL): Update.
2441 * configure: Regenerate.
2442
2443 2017-02-09 Richard Biener <rguenther@suse.de>
2444
2445 PR tree-optimization/69823
2446 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
2447 Properly enumerate all BBs in the region. Use auto_vec/auto_bitmap.
2448
2449 2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
2450
2451 * config/arc/arc-c.def: Add __NPS400__ definition.
2452 * config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here.
2453 (TARGET_NPS400): Define.
2454
2455 2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
2456
2457 * config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in
2458 file.
2459 (arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t
2460 pointer, arch_info.
2461 (arc_cpu_types): Fill the arch_info field with a pointer into the
2462 arc_arch_types table.
2463 (arc_selected_cpu): Declare.
2464 * config/arc/arc.c (arc_selected_cpu): Make global.
2465 (arc_selected_arch): Delete.
2466 (arc_base_cpu): Delete.
2467 (arc_override_options): Remove references to deleted variables,
2468 update access to arch information.
2469 (ARC_OPT): Update access to arch information.
2470 (ARC_OPTX): Likewise.
2471 * config/arc/arc.h (arc_base_cpu): Remove declaration.
2472 (TARGET_ARC600): Update access to arch information.
2473 (TARGET_ARC601): Likewise.
2474 (TARGET_ARC700): Likewise.
2475 (TARGET_EM): Likewise.
2476 (TARGET_HS): Likewise.
2477 * config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch
2478 information.
2479
2480 2017-02-08 Pat Haugen <pthaugen@us.ibm.com>
2481
2482 PR target/78604
2483 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert
2484 condition/operands for integer GE/LE/GEU/LEU operations.
2485
2486 2017-02-08 Segher Boessenkool <segher@kernel.crashing.org>
2487
2488 PR translation/79397
2489 * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
2490 of AltiVec.
2491
2492 2017-02-08 Martin Jambor <mjambor@suse.cz>
2493
2494 PR ipa/79375
2495 * ipa-prop.c (ipa_alloc_node_params): Make static, return bool
2496 whether allocation happened.
2497 (ipa_initialize_node_params): Do not call ipa_alloc_node_params if
2498 nothing was allocated.
2499
2500 2017-02-08 Jakub Jelinek <jakub@redhat.com>
2501
2502 PR tree-optimization/79408
2503 * tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not
2504 constant, but SSA_NAME with a known integer range, use the minimum
2505 of that range instead of op1 to determine if modulo can be replaced
2506 with its first operand.
2507
2508 2016-02-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2509
2510 * config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX.
2511
2512 2017-02-08 Richard Biener <rguenther@suse.de>
2513
2514 PR tree-optimization/71824
2515 * graphite-scop-detection.c (scop_detection::build_scop_breadth):
2516 Check all loops contained in the merged region.
2517
2518 2017-02-07 Andrew Pinski <apinski@cavium.com>
2519
2520 * config/aarch64/aarch64.md (popcount<mode>2): New pattern.
2521
2522 2017-02-07 Andrew Pinski <apinski@cavium.com>
2523
2524 * config/aarch64/aarch64-cores.def (thunderx): Disable LSE.
2525 (thunderxt88): Likewise.
2526 (thunderxt81): Disable LSE and change v8.1 to v8.
2527 (thunderxt83): Likewise.
2528
2529 2017-02-07 Jakub Jelinek <jakub@redhat.com>
2530 Richard Biener <rguenther@suse.de>
2531
2532 PR middle-end/79399
2533 * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
2534 type from int to size_t.
2535 * ira-costs.c (struct_costs_size): Change type from int to size_t.
2536
2537 2017-02-07 Jakub Jelinek <jakub@redhat.com>
2538
2539 PR rtl-optimization/79386
2540 * cprop.c (bypass_conditional_jumps): Initialize
2541 bypass_last_basic_block already before splitting bbs after
2542 unconditional traps...
2543 (bypass_conditional_jumps): ... rather than here.
2544
2545 PR target/79299
2546 * config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs.
2547 (*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2,
2548 *avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them,
2549 fix -masm=intel patterns.
2550
2551 2017-02-07 Richard Biener <rguenther@suse.de>
2552
2553 PR tree-optimization/79256
2554 PR middle-end/79278
2555 * builtins.c (get_object_alignment_2): Use min_align_of_type
2556 to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT
2557 and ADJUST_FIELD_ALIGN.
2558
2559 * doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional
2560 type parameter.
2561 * doc/tm.texi: Regenerate.
2562 * stor-layout.c (layout_decl): Adjust.
2563 (update_alignment_for_field): Likewise.
2564 (place_field): Likewise.
2565 (min_align_of_type): Likewise.
2566 * config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust.
2567 * config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise.
2568 * config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise.
2569 * config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise.
2570 * config/frv/frv.c (frv_adjust_field_align): Likewise.
2571 * config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise.
2572 * config/i386/i386.c (x86_field_alignment): Likewise.
2573 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
2574 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
2575 * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
2576 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
2577 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise.
2578 * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
2579 Likewise.
2580
2581 Revert
2582 2017-01-30 Richard Biener <rguenther@suse.de>
2583
2584 PR tree-optimization/79256
2585 * targhooks.c (default_builtin_vector_alignment_reachable): Honor
2586 BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
2587 alignment on TYPE.
2588
2589 2017-02-07 Toma Tabacu <toma.tabacu@imgtec.com>
2590
2591 * config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode
2592 argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw
2593 builtins to SImode and emit a zero-extend, if necessary.
2594
2595 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
2596
2597 * docs/invoke.texi (RISC-V Options): Alphabetize.
2598
2599 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
2600
2601 * doc/invoke.texi (RISC-V Options): Use two spaces to separate
2602 options.
2603
2604 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
2605
2606 * config/riscv/riscv.c: New file.
2607 * gcc/common/config/riscv/riscv-common.c: Likewise.
2608 * config.gcc: Likewise.
2609 * config/riscv/constraints.md: Likewise.
2610 * config/riscv/elf.h: Likewise.
2611 * config/riscv/generic.md: Likewise.
2612 * config/riscv/linux.h: Likewise.
2613 * config/riscv/multilib-generator: Likewise.
2614 * config/riscv/peephole.md: Likewise.
2615 * config/riscv/pic.md: Likewise.
2616 * config/riscv/predicates.md: Likewise.
2617 * config/riscv/riscv-builtins.c: Likewise.
2618 * config/riscv/riscv-c.c: Likewise.
2619 * config/riscv/riscv-ftypes.def: Likewise.
2620 * config/riscv/riscv-modes.def: Likewise.
2621 * config/riscv/riscv-opts.h: Likewise.
2622 * config/riscv/riscv-protos.h: Likewise.
2623 * config/riscv/riscv.h: Likewise.
2624 * config/riscv/riscv.md: Likewise.
2625 * config/riscv/riscv.opt: Likewise.
2626 * config/riscv/sync.md: Likewise.
2627 * config/riscv/t-elf-multilib: Likewise.
2628 * config/riscv/t-linux: Likewise.
2629 * config/riscv/t-linux-multilib: Likewise.
2630 * config/riscv/t-riscv: Likewise.
2631 * configure.ac: Likewise.
2632 * doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
2633 Waterman as RISC-V maintainers.
2634 * doc/install.texi: Add RISC-V entries.
2635 * doc/invoke.texi: Add RISC-V options section.
2636 * doc/md.texi: Add RISC-V constraints section.
2637 * configure: Regenerated.
2638
2639 2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
2640
2641 PR target/66144
2642 * config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
2643 false values to be constant vectors with all 0 or all 1 bits set.
2644 (vcondu<mode><mode>): Likewise.
2645 * config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
2646 predicate.
2647 (fpmask_comparison_operator): Update comment.
2648 (vecint_comparison_operator): New predicate.
2649 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
2650 vector conditionals when the true and false values are constant
2651 vectors with all 0 bits or all 1 bits set.
2652
2653 2017-02-06 Martin Sebor <msebor@redhat.com>
2654
2655 PR tree-optimization/79376
2656 * gimple-fold.c (get_range_strlen): Set the minimum length to zero.
2657
2658 2017-02-06 Uros Bizjak <ubizjak@gmail.com>
2659
2660 * config/i386/sse.md (vector modes -> vec_extract* splitter): Use
2661 explicit subreg RTX with operand 1. Use VECTOR_MODE_P predicate
2662 to simplify split condition.
2663
2664 2017-02-06 Jakub Jelinek <jakub@redhat.com>
2665
2666 * omp-expand.c (oxpand_omp_atomic_fetch_op,
2667 expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
2668 false.
2669
2670 2017-02-06 Segher Boessenkool <segher@kernel.crashing.org>
2671
2672 PR rtl-optimization/68664
2673 * target.def (can_speculate_insn): New hook.
2674 * doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
2675 * doc/tm.texi: Regenerate.
2676 * sched-rgn.c (can_schedule_ready_p): Use the new hook.
2677 * config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
2678 (rs6000_sched_can_speculate_insn): New function.
2679
2680 2017-02-06 Jakub Jelinek <jakub@redhat.com>
2681
2682 PR tree-optimization/79284
2683 * tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
2684 * tree-vect-stmts.c (vect_get_vec_def_for_operand,
2685 vectorizable_mask_load_store, vectorizable_operation,
2686 vect_is_simple_cond, get_same_sized_vectype): Use it instead
2687 of comparing TREE_CODE of a type against BOOLEAN_TYPE.
2688 * tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
2689 vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
2690 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
2691 * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
2692 Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
2693 is_gimple_assign (stmt). Replace another such test with
2694 is_gimple_assign (stmt).
2695
2696 2017-02-06 Georg-Johann Lay <avr@gjlay.de>
2697
2698 PR target/78883
2699 * config/avr/avr.c (rtl-iter.h): Include it.
2700 (TARGET_LEGITIMATE_COMBINED_INSN): New hook define...
2701 (avr_legitimate_combined_insn): ...and implementation.
2702
2703 2017-02-06 Dominik Vogt <vogt@linux.vnet.ibm.com>
2704
2705 * config/s390/predicates.md ("larl_operand"): Use macros from hwint.h.
2706 * config/s390/s390.c (s390_const_operand_ok)
2707 (s390_canonicalize_comparison, s390_extract_part)
2708 (s390_single_part, s390_contiguous_bitmask_nowrap_p)
2709 (s390_contiguous_bitmask_p, s390_rtx_costs)
2710 (legitimize_pic_address): Likewise.
2711 * config/s390/s390.md ("clzdi2", "clztidi2"): Likewise.
2712 * config/s390/vx-builtins.md ("vec_genbytemaskv16qi")
2713 ("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>")
2714 ("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT.
2715 * config/s390/vector.md ("vec_vfenes<mode>"): Likewise.
2716
2717 2017-02-06 Georg-Johann Lay <avr@gjlay.de>
2718
2719 * config/avr/avr.md (*addhi3_zero_extend): Add alternative where
2720 REGNO($0) == REGNO($1).
2721
2722 2017-02-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2723
2724 * config/s390/linux.h(SIZE_TYPE): Add comment.
2725
2726 2017-02-06 Julian Brown <julian@codesourcery.com>
2727 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
2728 Virendra Pathak <virendra.pathak@broadcom.com>
2729
2730 * config/aarch64/aarch64-cores.def: Change the scheduler
2731 to Thunderx2t99.
2732 * config/aarch64/aarch64.md: Include thunderx2t99.md.
2733 * config/aarch64/thunderx2t99.md: New file.
2734
2735 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
2736
2737 * doc/standards.texi (Go Language): Update link to language
2738 standard.
2739
2740 2017-02-05 Jan Hubicka <hubicka@ucw.cz>
2741
2742 * tree-eh.c (lower_resx): Sanitize profile.
2743 (cleanup_empty_eh_move_lp): Likewise.
2744
2745 2017-02-05 Jan Hubicka <hubicka@ucw.cz>
2746
2747 PR tree-ssa/79347
2748 * cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add
2749 ELSE_PROB.
2750 * cfgloopmanip.h (loop_version): Update prototype.
2751 * modulo-sched.c (sms_schedule): Update call of loop_version.
2752 * tree-if-conv.c(version_loop_for_if_conversion): Likewise.
2753 * tree-parloops.c (gen_parallel_loop): Likewise.
2754 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
2755 * tree-ssa-loop-split.c (split_loop): Likewise.
2756 * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise.
2757 * tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
2758
2759 2017-02-05 Martin Liska <mliska@suse.cz>
2760
2761 PR bootstrap/78985
2762 * config/s390/s390.c (s390_gimplify_va_arg): Initialize local
2763 variable to NULL.
2764 (print_operand_address): Initialize a struct to zero.
2765
2766 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
2767
2768 * doc/contrib.texi (Contributors): Refer to Hans Boehm's
2769 garbage collector only in textual form.
2770
2771 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
2772
2773 * doc/extend.texi (x86 specific memory model extensions for
2774 transactional memory): Simplify a phrase.
2775
2776 2017-02-05 Eric Botcazou <ebotcazou@adacore.com>
2777
2778 PR target/79353
2779 * config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with
2780 'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32.
2781 (atomic_storedi_1): Likewise.
2782
2783 2017-02-04 Jakub Jelinek <jakub@redhat.com>
2784
2785 PR tree-optimization/79338
2786 * tree-parloops.c (gather_scalar_reductions): Don't call
2787 vect_analyze_loop_form for loop->inner before destroying loop's
2788 loop_vinfo.
2789
2790 2017-02-03 Martin Sebor <msebor@redhat.com>
2791
2792 PR tree-optimization/79327
2793 * gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix
2794 when precision has resulted in leading zeros.
2795 (format_integer): Adjust the likely counter to assume an unknown
2796 argument that may be zero is non-zero.
2797
2798 2017-02-03 Jason Merrill <jason@redhat.com>
2799
2800 PR c++/78689
2801 * tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to
2802 avoid copying non-taken branch.
2803
2804 2017-02-03 Jakub Jelinek <jakub@redhat.com>
2805
2806 PR tree-optimization/79340
2807 * tree-vect-loop.c (vectorizable_reduction): Release
2808 vec_defs elements after safe_splicing them into other vectors.
2809 Formatting fixes.
2810
2811 PR tree-optimization/79327
2812 * gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning
2813 true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of
2814 dirtype.
2815 (format_integer): Use wide_int_to_tree instead of build_int_cst
2816 + to_?hwi. If argmin is NULL, just set argmin and argmax to
2817 TYPE_{MIN,MAX}_VALUE of argtype. Simplify and fix computation
2818 of shortest and longest sequence.
2819
2820 2017-02-03 Uros Bizjak <ubizjak@gmail.com>
2821
2822 * config/i386/i386.c (dimode_scalar_chain::convert_reg):
2823 Use pextrd for TARGET_SSE4_1 when creating scalar copy.
2824
2825 2017-02-03 Walter Lee <walt@tilera.com>
2826
2827 PR target/78862
2828 * config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
2829 after initial stackframe link reg save.
2830 * config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
2831
2832 2017-02-03 Jakub Jelinek <jakub@redhat.com>
2833
2834 PR target/79354
2835 * config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of
2836 wu for stxssp alternative.
2837
2838 2017-02-03 Martin Sebor <msebor@redhat.com>
2839
2840 PR tree-optimization/79352
2841 * gimple-fold.c (get_range_strlen): Add argument.
2842 (get_range_strlen): Change return type to bool.
2843 (get_maxval_strlen): Pass in a dummy argument.
2844 * gimple-fold.h (get_range_strlen): Change return type to bool.
2845 * gimple-ssa-sprintf.c (get_string_length): Set unlikely counter.
2846 * tree.h (array_at_struct_end_p): Add argument.
2847 * tree.c (array_at_struct_end_p): Handle it.
2848
2849 2017-02-03 Martin Liska <mliska@suse.cz>
2850
2851 PR lto/66295
2852 * multiple_target.c (create_dispatcher_calls): Redirect edge
2853 from a caller of a dispatcher.
2854 (expand_target_clones): Make the clones local.
2855 (ipa_target_clone): Do both target clones and resolvers.
2856 (ipa_dispatcher_calls): Remove the pass.
2857 (pass_dispatcher_calls::gate): Likewise.
2858 (make_pass_dispatcher_calls): Likewise.
2859 * passes.def (pass_target_clone): Put as very first IPA early
2860 pass.
2861
2862 2017-02-03 Martin Liska <mliska@suse.cz>
2863
2864 * symtab.c (symtab_node::binds_to_current_def_p): Bail out
2865 in case of a function with ifunc attribute.
2866
2867 2017-02-03 Martin Liska <mliska@suse.cz>
2868
2869 * cgraph.c (cgraph_node::dump): Dump function version info.
2870 * symtab.c (symtab_node::dump_base): Add missing new line.
2871
2872 2017-02-02 Jan Hubicka <hubicka@ucw.cz>
2873
2874 * tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function.
2875 (ifcombine_ifandif): Use it.
2876
2877 2017-02-03 Martin Liska <mliska@suse.cz>
2878
2879 * doc/invoke.texi: Document default value for
2880 use-after-scope-direct-emission-threshold.
2881
2882 2017-02-03 Martin Liska <mliska@suse.cz>
2883
2884 PR tree-optimization/79339
2885 * gimple-ssa-sprintf.c (format_floating_max): Call mpfr_clear.
2886 (format_floating): Likewise.
2887
2888 2017-02-03 Martin Liska <mliska@suse.cz>
2889
2890 PR ipa/79337
2891 * ipa-prop.c (ipa_node_params_t::insert): Remove current
2892 implementation.
2893 (ipa_node_params_t::remove): Likewise.
2894 * ipa-prop.h (ipa_node_params::ipa_node_params): Make default
2895 initialization from removed ipa_node_params_t::insert.
2896 (ipa_node_params::~ipa_node_params): Move from removed
2897 ipa_node_params_t::release.
2898 * symbol-summary.h (symbol_summary::m_released): New member.
2899 Do not release a summary twice. Do not allow to call finalizer
2900 for types of a summary that live in GGC memory.
2901
2902 2017-02-02 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
2903
2904 * config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and
2905 cmp_branch fusion.
2906
2907 2017-02-02 Martin Sebor <msebor@redhat.com>
2908
2909 PR middle-end/79275
2910 * gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero.
2911 (format_string): Tighten up the range of output for non-constant
2912 strings and correct the expected range for wide non-constant strings.
2913
2914 2017-02-02 Martin Sebor <msebor@redhat.com>
2915
2916 * doc/invoke.texi (-maccumulate-args): Fix bad grammar.
2917
2918 PR middle-end/32003
2919 * doc/invoke.texi (-fdump-tree-): Remove pass-specific options from
2920 index.
2921 (-fdump-tree-@var): Add to index and document how to come up
2922 with pass-specific option and dump file names.
2923 (-fdump-passes): Clarify where to look for output.
2924
2925 2017-02-02 Jan Hubicka <hubicka@ucw.cz>
2926
2927 PR middle-end/77445
2928 * tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump
2929 statistics of the analyzed path; allow threading for speed when
2930 any of BBs along the path are optimized for speed.
2931
2932 2017-02-02 Eric Botcazou <ebotcazou@adacore.com>
2933
2934 PR middle-end/78468
2935 * emit-rtl.c (init_emit): Add ??? comment for problematic alignment
2936 settings of the virtual registers.
2937
2938 Revert again
2939 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
2940
2941 * explow.c (get_dynamic_stack_size): Take known alignment of stack
2942 pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
2943 needed.
2944
2945 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2946
2947 * config/s390/vx-builtins.md ("vec_ceil", "vec_floor")
2948 ("vec_trunc", "vec_roundc", "vec_round"): Remove expanders.
2949
2950 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2951
2952 * config/s390/s390.md: Add missing comments with the expanded
2953 mnemonics.
2954 * config/s390/vector.md: Likewise.
2955 * config/s390/vx-builtins.md: Likewise.
2956
2957 2017-02-02 Jakub Jelinek <jakub@redhat.com>
2958
2959 PR target/79197
2960 * config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
2961 (fixuns_trunc<mode>di2): ... this, remove previous expander. Put all
2962 conditions on a single line.
2963
2964 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2965
2966 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
2967 __S390_VX__ to __VX__.
2968
2969 2017-02-01 Andrew Pinski <apinski@cavium.com>
2970
2971 * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass
2972 stmt_info to record_stmt_cost.
2973 (vect_get_known_peeling_cost): Pass stmt_info if known to
2974 record_stmt_cost.
2975 * config/aarch64/aarch64-protos.h (cpu_vector_cost): Split
2976 cpu_vector_cost field into
2977 scalar_int_stmt_cost and scalar_fp_stmt_cost. Split vec_stmt_cost
2978 field into vec_int_stmt_cost and vec_fp_stmt_cost.
2979 * config/aarch64/aarch64.c (generic_vector_cost): Update for the
2980 splitting of scalar_stmt_cost and vec_stmt_cost.
2981 (thunderx_vector_cost): Likewise.
2982 (cortexa57_vector_cost): LIkewise.
2983 (exynosm1_vector_cost): Likewise.
2984 (xgene1_vector_cost): Likewise.
2985 (thunderx2t99_vector_cost): Improve after the splitting of the two
2986 fields.
2987 (aarch64_builtin_vectorization_cost): Update for the splitting of
2988 scalar_stmt_cost and vec_stmt_cost.
2989
2990 2017-02-01 Torvald Riegel <triegel@redhat.com>
2991 Richard Henderson <rth@redhat.com>
2992
2993 * builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free"
2994 conditional on existance of a fast atomic load.
2995 * optabs-query.c (can_atomic_load_p): New function.
2996 * optabs-query.h (can_atomic_load_p): Declare it.
2997 * optabs.c (expand_atomic_exchange): Always delegate to libatomic if
2998 no fast atomic load is available for the particular size of access.
2999 (expand_atomic_compare_and_swap): Likewise.
3000 (expand_atomic_load): Likewise.
3001 (expand_atomic_store): Likewise.
3002 (expand_atomic_fetch_op): Likewise.
3003 * testsuite/lib/target-supports.exp
3004 (check_effective_target_sync_int_128): Remove x86 because it provides
3005 no fast atomic load.
3006 (check_effective_target_sync_int_128_runtime): Likewise.
3007
3008 2017-02-01 Richard Biener <rguenther@suse.de>
3009
3010 * graphite.c: Include tree-vectorizer.h for find_loop_location.
3011 (graphite_transform_loops): Provide opt-info for optimized nests.
3012 * tree-parloop.c (parallelize_loops): Provide opt-info for
3013 parallelized loops.
3014
3015 2017-02-01 Richard Biener <rguenther@suse.de>
3016
3017 PR middle-end/79315
3018 * tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it
3019 was not set before.
3020
3021 2017-02-01 Richard Biener <rguenther@suse.de>
3022
3023 PR tree-optimization/71824
3024 * graphite-scop-detection.c (scop_detection::build_scop_breadth):
3025 Verify the loops are valid in the merged SESE region.
3026 (scop_detection::can_represent_loop_1): Check analyzing the
3027 evolution of the number of iterations in the region succeeds.
3028
3029 2017-01-31 Ian Lance Taylor <iant@golang.org>
3030
3031 * config/i386/i386.c (ix86_expand_split_stack_prologue): Add
3032 REG_ARGS_SIZE note to 32-bit push insns and call insn.
3033
3034 2017-01-31 David Malcolm <dmalcolm@redhat.com>
3035
3036 PR preprocessor/79210
3037 * input.c (get_substring_ranges_for_loc): Replace line_width
3038 assertion with error-handling.
3039
3040 2017-01-31 Richard Biener <rguenther@suse.de>
3041
3042 PR tree-optimization/77318
3043 * graphite-sese-to-poly.c (extract_affine): Fix assert.
3044 (create_pw_aff_from_tree): Take loop parameter.
3045 (add_condition_to_pbb): Pass loop of the condition to
3046 create_pw_aff_from_tree.
3047
3048 2017-01-31 Jakub Jelinek <jakub@redhat.com>
3049
3050 * config/s390/s390.c (s390_asan_shadow_offset): New function.
3051 (TARGET_ASAN_SHADOW_OFFSET): Redefine.
3052
3053 2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com>
3054
3055 PR target/78597
3056 PR target/79038
3057 * config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete,
3058 no longer used.
3059 (convert_int_to_float128): Likewise.
3060 * config/rs6000/rs6000.c (convert_float128_to_int): Likewise.
3061 (convert_int_to_float128): Likewise.
3062 * config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise.
3063 (UNSPEC_IEEE128_CONVERT): Likewise.
3064 (floatsi<mode>2, FLOAT128 iterator): Bypass calling
3065 rs6000_expand_float128_convert if we have IEEE 128-bit hardware.
3066 Use local variables for IBM extended format.
3067 (fix_trunc<mode>si2, FLOAT128 iterator): Likewise.
3068 (fix_trunc<mode>si2_fprs): Likewise.
3069 (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
3070 (floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise.
3071 (fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support
3072 to know that we can now have integers of all sizes in vector
3073 registers.
3074 (fix<uns>_<mode>di2_hw): Likewise.
3075 (float<uns>_<mode>si2_hw): Likewise.
3076 (fix_<mode>si2_hw): Likewise.
3077 (fixuns_<mode>si2_hw): Likewise.
3078 (float<uns>_<mode>di2_hw): Likewise.
3079 (float_<mode>di2_hw): Likewise.
3080 (float_<mode>si2_hw): Likewise.
3081 (floatuns_<mode>di2_hw): Likewise.
3082 (floatuns_<mode>si2_hw): Likewise.
3083 (xscvqp<su>wz_<mode>): Delete, no longer used.
3084 (xscvqp<su>dz_<mode>): Likewise.
3085 (xscv<su>dqp_<mode>): Likewise.
3086 (ieee128_mfvsrd_64bit): Likewise.
3087 (ieee128_mfvsrd_32bit): Likewise.
3088 (ieee128_mfvsrwz): Likewise.
3089 (ieee128_mtvsrw): Likewise.
3090 (ieee128_mtvsrd_64bit): Likewise.
3091 (ieee128_mtvsrd_32bit): Likewise.
3092
3093 2017-01-31 Martin Liska <mliska@suse.cz>
3094
3095 PR ipa/79285
3096 * ipa-prop.c (ipa_free_all_node_params): Call release method
3097 instead of ~sumbol_summary to not to trigger double times
3098 dtor of hash_map.
3099
3100 2017-01-31 Aldy Hernandez <aldyh@redhat.com>
3101
3102 PR tree-optimization/71691
3103 * bitmap.h (class auto_bitmap): New.
3104 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call
3105 is_maybe_undefined instead of ssa_undefined_value_p.
3106
3107 2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3108
3109 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
3110 __S390_ARCH_LEVEL__ to __ARCH__.
3111
3112 2017-01-31 Jakub Jelinek <jakub@redhat.com>
3113
3114 PR tree-optimization/79267
3115 * value-prof.c (gimple_ic): Only drop lhs for noreturn calls
3116 if should_remove_lhs_p is true.
3117
3118 2017-01-30 Alexandre Oliva <aoliva@redhat.com>
3119
3120 PR debug/63238
3121 * dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment.
3122 (add_alignment_attribute): New.
3123 (base_type_die): Add alignment attribute.
3124 (subrange_type_die): Likewise.
3125 (modified_type_die): Likewise.
3126 (gen_array_type_die): Likewise.
3127 (gen_descr_array_type_die: Likewise.
3128 (gen_enumeration_type_die): Likewise.
3129 (gen_subprogram_die): Likewise.
3130 (gen_variable_die): Likewise.
3131 (gen_field_die): Likewise.
3132 (gen_ptr_to_mbr_type_die): Likewise.
3133 (gen_struct_or_union_type_die): Likewise.
3134 (gen_subroutine_type_die): Likewise.
3135 (gen_typedef_die): Likewise.
3136 (base_type_cmp): Compare alignment attribute.
3137
3138 2017-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
3139
3140 PR target/79170
3141 * config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
3142 (setb_unsigned) New pattern for setb with CCUNS.
3143 * config/rs6000/rs6000.c (expand_block_compare): Use a different
3144 subfc./subfe sequence to avoid overflow problems. Generate a
3145 shorter sequence with cmpld/setb for power9.
3146 * config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
3147 for generating subfc. instruction.
3148 (cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
3149 now uses this instruction.
3150
3151 2017-01-30 Ian Lance Taylor <iant@google.com>
3152
3153 PR debug/79289
3154 * dwarf2out.c (gen_type_die_with_usage): When picking a variant
3155 for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.
3156
3157 2017-01-30 Martin Sebor <msebor@redhat.com>
3158
3159 * gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision):
3160 Move constant to the right of a relational operator.
3161 (get_mpfr_format_length, format_character, format_string): Ditto.
3162 (should_warn_p, maybe_warn): Same.
3163
3164 * doc/invoke.texi (-Wformat-truncation=1): Fix typo.
3165
3166 2017-01-30 Maxim Ostapenko <m.ostapenko@samsung.com>
3167
3168 PR lto/79061
3169 * asan.c (get_translation_unit_decl): Remove function.
3170 (asan_add_global): Force has_dynamic_init to zero in LTO mode.
3171
3172 2017-01-30 Martin Liska <mliska@suse.cz>
3173
3174 PR gcov-profile/79259
3175 * opts.c (common_handle_option): Enable flag_ipa_bit_cp w/
3176 -fprofile-generate.
3177
3178 2017-01-30 Martin Liska <mliska@suse.cz>
3179
3180 PR bootstrap/78985
3181 * config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze):
3182 Initialize variables with NULL value.
3183
3184 2017-01-30 Richard Earnshaw <rearnsh@arm.com>
3185
3186 PR target/79260
3187 * config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to
3188 tm_p_file.
3189 * arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h.
3190
3191 2017-01-30 Richard Biener <rguenther@suse.de>
3192
3193 PR tree-optimization/79276
3194 * tree-vrp.c (process_assert_insertions): Properly adjust common
3195 when removing a duplicate.
3196
3197 * gcc.dg/torture/pr79276.c: New testcase.
3198
3199 2017-01-30 Richard Biener <rguenther@suse.de>
3200
3201 PR tree-optimization/79256
3202 * targhooks.c (default_builtin_vector_alignment_reachable): Honor
3203 BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
3204 alignment on TYPE.
3205 * tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
3206
3207 2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com>
3208
3209 PR target/79240
3210 * config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask")
3211 ("*r<noxa>sbg_<mode>_sll_bitmask")
3212 ("*extzv_<mode>_srl<clobbercc_or_nocc>")
3213 ("*extzv_<mode>_sll<clobbercc_or_nocc>"):
3214 Use contiguous_bitmask_nowrap_operand.
3215
3216 2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3217
3218 PR target/79268
3219 * config/rs6000/altivec.h (vec_xl): Revise #define.
3220 (vec_xst): Likewise.
3221
3222 2017-01-27 Uros Bizjak <ubizjak@gmail.com>
3223
3224 * config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
3225
3226 2017-01-27 Bernd Schmidt <bschmidt@redhat.com>
3227
3228 PR rtl-optimization/79194
3229 * cprop.c (one_cprop_pass): Move deletion of code after unconditional
3230 traps before call to bypass_conditional_jumps.
3231
3232 2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
3233
3234 PR tree-optimization/71374
3235 * lra-constraints.c (check_conflict_input_operands): New.
3236 (match_reload): Use it.
3237
3238 2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
3239
3240 PR target/79131
3241 * lra-assigns.c (find_hard_regno_for_1): Take endianess for into
3242 account to calculate conflict_set.
3243
3244 2017-01-27 Bin Cheng <bin.cheng@arm.com>
3245
3246 PR rtl-optimization/78559
3247 * combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for
3248 other_insn in combine.
3249
3250 2017-01-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
3251
3252 * builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use
3253 uint16_type_node for BT_UINT16.
3254
3255 2017-01-27 David Malcolm <dmalcolm@redhat.com>
3256
3257 * doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
3258 "RTL Tests" to menu.
3259 (GIMPLE Tests): New node.
3260 (RTL Tests): New node.
3261
3262 2017-01-27 Richard Biener <rguenther@suse.de>
3263
3264 PR tree-optimization/79245
3265 * tree-loop-distribution.c (distribute_loop): Apply cost
3266 modeling also to detected patterns.
3267
3268 2017-01-27 Richard Biener <rguenther@suse.de>
3269
3270 PR tree-optimization/71433
3271 * tree-vrp.c (register_new_assert_for): Revert earlier changes.
3272 (compare_assert_loc): New function.
3273 (process_assert_insertions): Sort and optimize assert locations
3274 to remove duplicates and push down identical assertions on
3275 edges to their destination block.
3276
3277 2017-01-27 Richard Biener <rguenther@suse.de>
3278
3279 PR tree-optimization/79244
3280 * tree-vrp.c (remove_range_assertions): Forcefully propagate
3281 out SSA names even if abnormal.
3282
3283 2017-01-27 Jakub Jelinek <jakub@redhat.com>
3284
3285 * realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
3286 * gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
3287 instead of MPFR_RNDN.
3288
3289 2017-01-27 Richard Earnshaw <rearnsha@arm.com>
3290
3291 PR target/79239
3292 * arm.c (arm_option_override): Don't call build_target_option_node
3293 until after doing all option overrides.
3294 (arm_valid_target_attribute_tree): Likewise.
3295
3296 2017-01-27 Martin Liska <mliska@suse.cz>
3297
3298 * doc/invoke.texi (-fprofile-arcs): Document profiling support
3299 for {cd}tors and C++ {cd}tors.
3300
3301 2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
3302
3303 * config/s390/s390.md ("*setmem_long_and")
3304 ("*setmem_long_and_31z"): Use zero_extend instead of and.
3305
3306 2017-01-26 Martin Sebor <msebor@redhat.com>
3307
3308 * gimple-ssa-sprintf.c (format_floating): Simplify the computation
3309 of precision.
3310
3311 2017-01-26 Martin Sebor <msebor@redhat.com>
3312
3313 * gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
3314 HAVE_DFmode before using XFmode or DFmode.
3315 (parse_directive): Avoid using the z length modifier to avoid
3316 the ISO C++98 does not support the ‘z’ gnu_printf length modifier.
3317
3318 PR middle-end/78703
3319 * gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
3320 to accept adjustment as an array.
3321 (get_int_range): New function.
3322 (struct directive): Make width and prec arrays.
3323 (directive::set_width, directive::set_precision): Call get_int_range.
3324 (format_integer, format_floating): Handle width and precision ranges.
3325 (format_string, parse_directive): Same.
3326
3327 2017-01-26 Jakub Jelinek <jakub@redhat.com>
3328
3329 PR debug/79129
3330 * dwarf2out.c (generate_skeleton_bottom_up): For children with
3331 comdat_type_p set, just clone them, but keep the children in the
3332 original DIE.
3333
3334 PR debug/78835
3335 * dwarf2out.c (prune_unused_types): Mark all functions with DIEs
3336 which have direct callers with -fvar-tracking-assignments enabled
3337 in the current TU.
3338 (resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
3339 inside of type units.
3340
3341 2017-01-26 Martin Sebor <msebor@redhat.com>
3342
3343 PR middle-end/78703
3344 * gimple-ssa-sprintf.c (struct result_range): Add likely and
3345 unlikely counters.
3346 (struct format_result): Replace number_chars, number_chars_min,
3347 and number_chars_max with a single member of struct result_range.
3348 Remove bounded.
3349 (format_result::operator+=): Adjust.
3350 (struct fmtresult): Remove bounded. Handle likely and unlikely
3351 counters.
3352 (fmtresult::adjust_for_width_or_precision): New function.
3353 (fmtresult:type_max_digits): New function.
3354 (bytes_remaining): Handle likely and unlikely counters.
3355 (min_bytes_remaining): Remove.
3356 (format_percent): Simplify.
3357 (format_integer, format_floating): Set likely and unlikely counters.
3358 (get_string_length, format_character, format_string): Same.
3359 (format_plain, should_warn_p): New function.
3360 (maybe_warn): Call should_warn_p. Update diagnostic messages
3361 and handle those for all directives, including plain strings.
3362 (format_directive): Handle likely and unlikely counters.
3363 Remove unnecessary quoting from diagnostics. Add an informational
3364 note.
3365 (add_bytes): Remove.
3366 (pass_sprintf_length::compute_format_length): Simplify.
3367 (try_substitute_return_value): Handle likely and unlikely counters.
3368
3369 2017-01-26 Carl Love <cel@us.ibm.com>
3370
3371 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove
3372 bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins
3373
3374 2017-01-26 Vladimir Makarov <vmakarov@redhat.com>
3375
3376 PR target/79131
3377 * lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take
3378 endianess for subregs into account.
3379 * lra-constraints.c (lra_constraints): Do risky transformations
3380 always on the first iteration.
3381 * lra-lives.c (check_pseudos_live_through_calls): Add arg
3382 last_call_used_reg_set.
3383 (process_bb_lives): Define and use last_call_used_reg_set.
3384 * lra.c (lra): Always continue after lra_constraints on the first
3385 iteration.
3386
3387 2017-01-26 Kirill Yukhin <kirill.yukhin@gmail.com>
3388
3389 * gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long
3390 constant.
3391 * gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
3392
3393 2017-01-26 Jakub Jelinek <jakub@redhat.com>
3394
3395 * config/i386/avx512fintrin.h (_ktest_mask16_u8,
3396 _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ...
3397 * config/i386/avx512dqintrin.h (_ktest_mask16_u8,
3398 _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here.
3399 * config/i386/i386-builtin.def (__builtin_ia32_ktestchi,
3400 __builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use
3401 OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F.
3402 * config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator.
3403 (kadd<mode>, ktest<mode>): Use it instead of SWI1248_AVX512BWDQ.
3404
3405 2017-01-26 Marek Polacek <polacek@redhat.com>
3406
3407 PR c/79199
3408 * fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL
3409 for the third operand.
3410
3411 2017-01-26 Jakub Jelinek <jakub@redhat.com>
3412
3413 PR middle-end/79236
3414 * omp-low.c (struct omp_context): Add simt_stmt field.
3415 (scan_omp_for): Return omp_context *.
3416 (scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD
3417 context to the _simt_ SIMD stmt.
3418 (lower_omp_for): For combined SIMD with sibling _simt_
3419 SIMD, make sure to use the same decls in _looptemp_
3420 clauses as in the sibling.
3421
3422 2017-01-26 David Sherwood <david.sherwood@arm.com>
3423
3424 PR middle-end/79212
3425 * gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in
3426 all contexts.
3427
3428 2017-01-26 Jakub Jelinek <jakub@redhat.com>
3429
3430 PR target/70465
3431 * reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1);
3432 emit fld b; fld a; if possible.
3433
3434 * brig-builtins.def: Update copyright years.
3435 * config/arm/arm_acle_builtins.def: Update copyright years.
3436
3437 2017-01-25 Michael Meissner <meissner@linux.vnet.ibm.com>
3438
3439 PR target/79179
3440 * config/rs6000/vsx.md (vsx_extract_<mode>_store): Use wY
3441 constraint instead of o for the stxsd instruction.
3442
3443 2017-01-25 Carl Love <cel@us.ibm.com>
3444
3445 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
3446 of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD.
3447
3448 2017-01-25 Jonathan Wakely <jwakely@redhat.com>
3449
3450 * doc/invoke.texi (C++ Dialect Options): Fix typo.
3451
3452 2017-01-25 Richard Biener <rguenther@suse.de>
3453
3454 PR tree-optimization/69264
3455 * target.def (vector_alignment_reachable): Improve documentation.
3456 * doc/tm.texi: Regenerate.
3457 * targhooks.c (default_builtin_vector_alignment_reachable): Simplify
3458 and add a comment.
3459 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert
3460 earlier changes with respect to TYPE_USER_ALIGN.
3461 (vector_alignment_reachable_p): Likewise. Improve dumping.
3462
3463 2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3464
3465 PR target/79145
3466 * config/arm/arm.md (xordi3): Force constant operand into a register
3467 for TARGET_IWMMXT.
3468
3469 2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3470
3471 * doc/invoke.texi (-fstore-merging): Correct default optimization
3472 levels at which it is enabled.
3473 (-O): Move -fstore-merging from list to...
3474 (-O2): ... Here.
3475
3476 2017-01-25 Richard Biener <rguenther@suse.de>
3477
3478 PR debug/78363
3479 * omp-expand.c: Include debug.h.
3480 (expand_omp_taskreg): Make sure to generate early debug before
3481 outlining anything from a function.
3482 (expand_omp_target): Likewise.
3483 (grid_expand_target_grid_body): Likewise.
3484
3485 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
3486
3487 PR lto/79061
3488 * asan.c (get_translation_unit_decl): New function.
3489 (asan_add_global): Extract modules file name from globals
3490 TRANSLATION_UNIT_DECL name.
3491
3492 2017-01-24 Eric Botcazou <ebotcazou@adacore.com>
3493
3494 PR target/77439
3495 * config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
3496 for long calls with APCS frame and VFP.
3497
3498 2017-01-24 David Malcolm <dmalcolm@redhat.com>
3499
3500 * cfg.c (original_copy_tables_initialized_p): New function.
3501 * cfg.h (original_copy_tables_initialized_p): New decl.
3502 * cfgrtl.c (relink_block_chain): Guard the call to
3503 free_original_copy_tables with a call to
3504 original_copy_tables_initialized_p.
3505 * cgraph.h (symtab_node::native_rtl_p): New decl.
3506 * cgraphunit.c (symtab_node::native_rtl_p): New function.
3507 (symtab_node::needed_p): Don't assert for early assembly output
3508 for __RTL functions.
3509 (cgraph_node::finalize_function): Set "force_output" for __RTL
3510 functions.
3511 (cgraph_node::analyze): Bail out early for __RTL functions.
3512 (analyze_functions): Update assertion to support __RTL functions.
3513 (cgraph_node::expand): Bail out early for __RTL functions.
3514 * final.c (rest_of_clean_state): Don't call delete_tree_ssa for
3515 __RTL functions.
3516 * function.h (struct function): Update comment for field
3517 "pass_startwith".
3518 * gimple-expr.c: Include "tree-pass.h".
3519 (gimple_has_body_p): Return false for __RTL functions.
3520 * Makefile.in (OBJS): Add run-rtl-passes.o.
3521 * pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New
3522 accessor.
3523 (gcc::pass_manager::get_clean_slate): New accessor.
3524 * passes.c: Include "insn-addr.h".
3525 (should_skip_pass_p): Add logging. Update logic for running
3526 "expand" to be compatible with both __GIMPLE and __RTL. Guard
3527 property-provider override so it is only done for gimple passes.
3528 Don't skip dfinit.
3529 (skip_pass): New function.
3530 (execute_one_pass): Call skip_pass when skipping passes.
3531 * read-md.c (md_reader::read_char): Support filtering
3532 the input to a subset of line numbers.
3533 (md_reader::md_reader): Initialize fields
3534 m_first_line and m_last_line.
3535 (md_reader::read_file_fragment): New function.
3536 * read-md.h (md_reader::read_file_fragment): New decl.
3537 (md_reader::m_first_line): New field.
3538 (md_reader::m_last_line): New field.
3539 * read-rtl-function.c (function_reader::create_function): Only
3540 create cfun if it doesn't already exist. Set PROP_rtl on cfun's
3541 curr_properties. Set DECL_INITIAL to a dummy block.
3542 (read_rtl_function_body_from_file_range): New function.
3543 * read-rtl-function.h (read_rtl_function_body_from_file_range):
3544 New decl.
3545 * run-rtl-passes.c: New file.
3546 * run-rtl-passes.h: New file.
3547
3548 2017-01-24 Jeff Law <law@redhat.com>
3549
3550 * config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase
3551 buffer size.
3552
3553 2017-01-24 Bin Cheng <bin.cheng@arm.com>
3554
3555 PR tree-optimization/79159
3556 * tree-ssa-loop-niter.c (get_cst_init_from_scev): New function.
3557 (record_nonwrapping_iv): Improve boundary using above function if no
3558 value range information.
3559
3560 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
3561 Martin Jambor <mjambor@suse.cz>
3562
3563 * brig-builtins.def: New file.
3564 * builtins.def (DEF_HSAIL_BUILTIN): New macro.
3565 (DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
3566 (DEF_HSAIL_SAT_BUILTIN): Likewise.
3567 (DEF_HSAIL_INTR_BUILTIN): Likewise.
3568 (DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
3569 * builtin-types.def (BT_INT8): New.
3570 (BT_INT16): Likewise.
3571 (BT_UINT8): Likewise.
3572 (BT_UINT16): Likewise.
3573 (BT_FN_ULONG): Likewise.
3574 (BT_FN_UINT_INT): Likewise.
3575 (BT_FN_UINT_ULONG): Likewise.
3576 (BT_FN_UINT_LONG): Likewise.
3577 (BT_FN_UINT_PTR): Likewise.
3578 (BT_FN_ULONG_PTR): Likewise.
3579 (BT_FN_INT8_FLOAT): Likewise.
3580 (BT_FN_INT16_FLOAT): Likewise.
3581 (BT_FN_UINT32_FLOAT): Likewise.
3582 (BT_FN_UINT16_FLOAT): Likewise.
3583 (BT_FN_UINT8_FLOAT): Likewise.
3584 (BT_FN_UINT64_FLOAT): Likewise.
3585 (BT_FN_UINT16_UINT32): Likewise.
3586 (BT_FN_UINT32_UINT16): Likewise.
3587 (BT_FN_UINT16_UINT16_UINT16): Likewise.
3588 (BT_FN_INT_PTR_INT): Likewise.
3589 (BT_FN_UINT_PTR_UINT): Likewise.
3590 (BT_FN_LONG_PTR_LONG): Likewise.
3591 (BT_FN_ULONG_PTR_ULONG): Likewise.
3592 (BT_FN_VOID_UINT64_UINT64): Likewise.
3593 (BT_FN_UINT8_UINT8_UINT8): Likewise.
3594 (BT_FN_INT8_INT8_INT8): Likewise.
3595 (BT_FN_INT16_INT16_INT16): Likewise.
3596 (BT_FN_INT_INT_INT): Likewise.
3597 (BT_FN_UINT_FLOAT_UINT): Likewise.
3598 (BT_FN_FLOAT_UINT_UINT): Likewise.
3599 (BT_FN_ULONG_UINT_UINT): Likewise.
3600 (BT_FN_ULONG_UINT_PTR): Likewise.
3601 (BT_FN_ULONG_ULONG_ULONG): Likewise.
3602 (BT_FN_UINT_UINT_UINT): Likewise.
3603 (BT_FN_VOID_UINT_PTR): Likewise.
3604 (BT_FN_UINT_UINT_PTR: Likewise.
3605 (BT_FN_UINT32_UINT64_PTR): Likewise.
3606 (BT_FN_INT_INT_UINT_UINT): Likewise.
3607 (BT_FN_UINT_UINT_UINT_UINT): Likewise.
3608 (BT_FN_UINT_UINT_UINT_PTR): Likewise.
3609 (BT_FN_UINT_ULONG_ULONG_UINT): Likewise.
3610 (BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise.
3611 (BT_FN_LONG_LONG_UINT_UINT): Likewise.
3612 (BT_FN_ULONG_ULONG_UINT_UINT): Likewise.
3613 (BT_FN_VOID_UINT32_UINT64_PTR): Likewise.
3614 (BT_FN_VOID_UINT32_UINT32_PTR): Likewise.
3615 (BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise.
3616 (BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise.
3617 (BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise.
3618 * doc/frontends.texi: List BRIG FE.
3619 * doc/install.texi (Testing): Add BRIG tesring requirements.
3620 * doc/invoke.texi (Overall Options): Mention BRIG.
3621 * doc/standards.texi (Standards): Doucment BRIG HSA version.
3622
3623 2017-01-24 Richard Biener <rguenther@suse.de>
3624
3625 PR translation/79208
3626 * ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic.
3627
3628 2017-01-24 Martin Jambor <mjambor@suse.cz>
3629
3630 PR bootstrap/79198
3631 * ipa-prop.c (ipa_free_all_node_params): Call summary destructor.
3632 * ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts
3633 and known_contexts.
3634
3635 2017-01-24 Aldy Hernandez <aldyh@redhat.com>
3636
3637 PR middle-end/79123
3638 * gimple-ssa-warn-alloca.c (alloca_call_type): Make sure
3639 casts from signed to unsigned really don't have a range.
3640
3641 2017-01-24 Markus Trippelsdorf <markus@trippelsdorf.de>
3642
3643 * gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
3644 GMP_RNDx for compatiblity.
3645
3646 2017-01-24 Martin Liska <mliska@suse.cz>
3647
3648 PR bootstrap/79132
3649 * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert
3650 that would prevent us to call alloca with -1 as argument.
3651
3652 2017-01-24 Jakub Jelinek <jakub@redhat.com>
3653
3654 * dwarf2out.c (output_compilation_unit_header, output_file_names):
3655 Avoid -Wformat-security warning.
3656
3657 2017-01-23 Andrew Pinski <apinski@cavium.com>
3658
3659 * config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve
3660 cost table.
3661
3662 2017-01-23 Martin Sebor <msebor@redhat.com>
3663
3664 PR middle-end/78703
3665 * gimple-ssa-sprintf.c (warn_level): New global.
3666 (format_integer): Use it here and throughout the rest of the file.
3667 Use the same switch to compute sign as base.
3668 (maybe_warn): New function.
3669 (format_directive): Factor out warnings into maybe_warn.
3670 Add debugging output. Use warn_level.
3671 (add_bytes): Use warn_level.
3672 (pass_sprintf_length::compute_format_length): Add debugging output.
3673 (try_substitute_return_value): Same.
3674 (pass_sprintf_length::handle_gimple_call): Set and use warn_level.
3675
3676 PR middle-end/78703
3677 * gimple-ssa-sprintf.c (struct format_result): Remove constant member.
3678 (struct fmtresult, format_integer, format_floating): Adjust.
3679 (fmtresult::fmtresult): Set max correctly in two argument ctor.
3680 (get_string_length, format_string,format_directive): Same.
3681 (pass_sprintf_length::compute_format_length): Same.
3682 (try_substitute_return_value): Simplify slightly.
3683
3684 PR middle-end/78703
3685 * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
3686 (fmtresult::operator+=): Outlined.
3687 (struct fmtresult): Add ctors.
3688 (struct conversion_spec): Rename...
3689 (struct directive): ...to this. Add and remove data members.
3690 (directive::set_width, directive::set_precision): New functions.
3691 (format_percent): Use fmtresult ctor.
3692 (get_width_and_precision): Remove.
3693 (format_integer): Make naming changes. Avoid computing width and
3694 precision.
3695 (format_floating): Same. Adjust indentation.
3696 (format_character, format_none): New functions.
3697 (format_string): Moved character handling to format_character.
3698 (format_directive): Remove arguments, change return type.
3699 (parse_directive): New function.
3700 (pass_sprintf_length::compute_format_length): Move directive
3701 parsing to parse_directive.
3702
3703 2017-01-23 Jakub Jelinek <jakub@redhat.com>
3704
3705 * tree.h (assign_assembler_name_if_neeeded): Rename to ...
3706 (assign_assembler_name_if_needed): ... this.
3707 * tree.c (assign_assembler_name_if_neeeded): Rename to ...
3708 (assign_assembler_name_if_needed): ... this.
3709 (free_lang_data_in_cgraph): Adjust callers.
3710 * cgraphunit.c (cgraph_node::analyze): Likewise.
3711 * omp-expand.c (expand_omp_taskreg, expand_omp_target):
3712 Likewise.
3713
3714 2017-01-23 Richard Biener <rguenther@suse.de>
3715
3716 PR tree-optimization/79088
3717 PR tree-optimization/79188
3718 * tree-ssa-threadupdate.c (mark_threaded_blocks): Move code
3719 resetting loop bounds after last path deletion. Reset loop
3720 bounds of the target loop, make code match the comments.
3721 * tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute):
3722 Make sure loops need no fixups.
3723
3724 2017-01-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
3725
3726 * config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert
3727 exponent support with double type for first argument.
3728 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed
3729 type returned by __builtin_vec_extract_sig,
3730 __builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp
3731 functions from "vector int" to "vector unsigned int" or from
3732 "vector long long int" to "vector unsigned long long int".
3733 Changed type returned by __builtin_vec_extract_exp,
3734 __builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp
3735 functions from "vector int" to "vector unsigned int" or from
3736 "vector long long int" to "vector unsigned long long int".
3737 Changed return type of __builtin_vec_test_data_class,
3738 __builtin_vec_test_data_class_sp, and
3739 __builtin_vec_test_data_class_dp from "vector int" to
3740 "vector bool int" or from "vector long long int" to "vector bool
3741 long long int" and changed second argument type from "unsigned
3742 int" to "int". Added new overloaded function forms "vector float
3743 __builtin_vec_insert_exp (vector float, vector unsigned int)" and
3744 "vector float __builtin_vec_insert_exp_sp (vector float, vector
3745 unsigned int)" and "vector double __builtin_vec_insert_exp (vector
3746 double, vector unsigned long long int)" and "vector double
3747 __builtin_vec_insert_exp_dp (vector double, vector unsigned long
3748 long int)". Changed return type of
3749 __builtin_scalar_test_data_class and
3750 __builtin_scalar_test_data_class_sp and
3751 __builtin_scalar_test_data_class_dp from "unsigned int" to "bool
3752 int" and changed second argument from "unsigned int" to "int".
3753 Changed type returned by __builtin_scalar_test_neg,
3754 __builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp
3755 from "int" to "bool int". Added new overloaded function form
3756 "double __builtin_scalar_insert_exp (double, unsigned long long int)".
3757 * config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert
3758 exponent double-precision with floating point first argument.
3759 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
3760 documentation of scalar_test_data_class, scalar_test_neg,
3761 scalar_extract_sig, scalar_extract_exp, scalar_insert_exp,
3762 vector_extract_exp, vec_extract_sig, vec_insert_exp, and
3763 vec_test_data_class built-in functions to reflect refinements in
3764 their type signatures.
3765
3766 2017-01-23 Andreas Tobler <andreast@gcc.gnu.org>
3767
3768 * config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase
3769 size of buf.
3770 (aarch64_elf_asm_destructor): Likewise.
3771
3772 2017-01-23 Bernd Schmidt <bschmidt@redhat.com>
3773
3774 PR rtl-optimization/78634
3775 * config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function.
3776 (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define.
3777 * ifcvt.c (noce_try_cmove): Add missing cost check.
3778
3779 PR rtl-optimization/71724
3780 * combine.c (if_then_else_cond): Look for situations where it is
3781 beneficial to undo the work of one of the recursive calls.
3782
3783 2017-01-23 Bin Cheng <bin.cheng@arm.com>
3784
3785 PR tree-optimization/70754
3786 * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
3787 (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert
3788 combined stmt before it if not NULL.
3789 (combine_chains): Process refs reversely and compute dominance point
3790 for root ref.
3791
3792 2017-01-23 Martin Liska <mliska@suse.cz>
3793
3794 PR tree-optimization/79196
3795 * tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ...
3796 (fold_strstr_to_strncmp): ... this. Fold the pattern to strncmp
3797 instead of memcmp.
3798 (strlen_optimize_stmt): Call the renamed function.
3799
3800 2017-01-23 Michael Matz <matz@suse.de>
3801
3802 PR tree-optimization/78384
3803 * tree-ssa-loop-split.c (patch_loop_exit): Use correct edge.
3804
3805 2017-01-23 Richard Biener <rguenther@suse.de>
3806
3807 PR tree-optimization/79186
3808 * tree-vrp.c (register_new_assert_for): Make sure we've seen
3809 both incoming edges before moving an assert.
3810
3811 2017-01-23 Martin Jambor <mjambor@suse.cz>
3812
3813 * ipa-prop.c (load_from_param_1): Removed.
3814 (load_from_unmodified_param): Bits from load_from_param_1 put back
3815 here.
3816 (load_from_param): Removed.
3817 (compute_complex_assign_jump_func): Removed stmt2 and just replaced it
3818 with stmt. Reverted back to use of load_from_unmodified_param.
3819
3820 2017-01-23 Martin Jambor <mjambor@suse.cz>
3821
3822 PR ipa/79108
3823 * ipa-prop.h (ipa_param_descriptor): Anotate with with GTY(()).
3824 (ipa_node_params): Annotate with GTY((for_user)). Make descriptors
3825 field a pointer to garbage collected vector, mark lattices and
3826 ipcp_orig_node with GTY((skip)).
3827 (ipa_get_param_count): Adjust to descriptors being a pointer.
3828 (ipa_get_param): Likewise.
3829 (ipa_get_type): Likewise.
3830 (ipa_get_param_move_cost): Likewise.
3831 (ipa_set_param_used): Likewise.
3832 (ipa_get_controlled_uses): Likewise.
3833 (ipa_set_controlled_uses): Likewise.
3834 (ipa_is_param_used): Likewise.
3835 (ipa_node_params_t): Move into garbage collector. New methods insert
3836 and remove.
3837 (ipa_node_params_sum): Annotate wth GTY(()).
3838 (ipa_check_create_node_params): Adjust to ipa_node_params_sum being
3839 garbage collected.
3840 (ipa_load_from_parm_agg): Adjust declaration.
3841 * ipa-icf.c (param_used_p): Adjust to descriptors being a pointer.
3842 * ipa-profile.c (ipa_profile): Likewise.
3843 * ipa-prop.c (ipa_get_param_decl_index_1): Likewise.
3844 (ipa_populate_param_decls): Make descriptors parameter garbage
3845 collected.
3846 (ipa_dump_param): Adjust to descriptors being a pointer.
3847 (ipa_alloc_node_params): Likewise.
3848 (ipa_initialize_node_params): Likewise.
3849 (load_from_param_1): Make descriptors parameter garbage collected.
3850 (load_from_unmodified_param): Likewise.
3851 (load_from_param): Likewise.
3852 (ipa_load_from_parm_agg): Likewise.
3853 (ipa_node_params::~ipa_node_params): Removed.
3854 (ipa_free_all_node_params): Remove call to delete operator.
3855 (ipa_node_params_t::insert): New.
3856 (ipa_node_params_t::remove): Likewise.
3857 (ipa_node_params_t::duplicate): Adjust to descriptors being a pointer,
3858 copy known_csts and known_contexts vectors.
3859 (ipa_read_node_info): Adjust to descriptors being a pointer.
3860 (ipcp_modif_dom_walker): Make m_descriptors field garbage
3861 collected.
3862 (ipcp_transform_function): Make descriptors variable garbage
3863 collected.
3864
3865 2017-01-23 Andrew Senkevich <andrew.senkevich@intel.com>
3866
3867 * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.
3868 * config/i386/avx512dqintrin.h: Ditto.
3869 * config/i386/avx512fintrin.h: Ditto.
3870 * gcc/config/i386/i386.c: Handle new builtins.
3871 * config/i386/i386-builtin.def: Add new builtins.
3872 * config/i386/sse.md (ktest<mode>, kortest<mode>): New.
3873 (UNSPEC_KORTEST, UNSPEC_KTEST): New.
3874
3875 2017-01-23 Jakub Jelinek <jakub@redhat.com>
3876 Martin Liska <mliska@suse.cz>
3877
3878 * asan.h: Define ASAN_USE_AFTER_SCOPE_ATTRIBUTE.
3879 * asan.c (asan_expand_poison_ifn): Support stores and use
3880 appropriate ASAN report function.
3881 * internal-fn.c (expand_ASAN_POISON_USE): New function.
3882 * internal-fn.def (ASAN_POISON_USE): Declare.
3883 * tree-into-ssa.c (maybe_add_asan_poison_write): New function.
3884 (maybe_register_def): Create ASAN_POISON_USE when sanitizing.
3885 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove
3886 ASAN_POISON calls w/o LHS.
3887 * tree-ssa.c (execute_update_addresses_taken): Create clobber
3888 for ASAN_MARK (UNPOISON, &x, ...) in order to prevent usage of a LHS
3889 from ASAN_MARK (POISON, &x, ...) coming to a PHI node.
3890 * gimplify.c (asan_poison_variables): Add attribute
3891 use_after_scope_memory to variables that really needs to live
3892 in memory.
3893 * tree-ssa.c (is_asan_mark_p): Do not rewrite into SSA when
3894 having the attribute.
3895
3896 2017-01-23 Martin Liska <mliska@suse.cz>
3897
3898 * asan.c (create_asan_shadow_var): New function.
3899 (asan_expand_poison_ifn): Likewise.
3900 * asan.h (asan_expand_poison_ifn): New declaration.
3901 * internal-fn.c (expand_ASAN_POISON): Likewise.
3902 * internal-fn.def (ASAN_POISON): New builtin.
3903 * sanopt.c (pass_sanopt::execute): Expand
3904 asan_expand_poison_ifn.
3905 * tree-inline.c (copy_decl_for_dup_finish): Make function
3906 external.
3907 * tree-inline.h (copy_decl_for_dup_finish): Likewise.
3908 * tree-ssa.c (is_asan_mark_p): New function.
3909 (execute_update_addresses_taken): Rewrite local variables
3910 (identified just by use-after-scope as addressable) into SSA.
3911
3912 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
3913
3914 * doc/install.texi (Specific): opensource.apple.com uses https
3915 now. Remove trailing slash.
3916
3917 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
3918
3919 * README.Portability: Remove note on an Irix compatibility issue.
3920
3921 2017-01-22 Dimitry Andric <dim@FreeBSD.org>
3922
3923 * gcov.c (INCLUDE_ALGORITHM): Define.
3924 (INCLUDE_VECTOR): Define.
3925 No longer include <vector> and <algorithm> directly.
3926
3927 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
3928
3929 * doc/extend.texi (Thread-Local): Change www.akkadia.org reference
3930 to https.
3931 * doc/invoke.texi (Code Gen Options): Ditto.
3932
3933 2017-01-21 Jan Hubicka <hubicka@ucw.cz>
3934
3935 PR lto/78407
3936 * cfg.c (update_bb_profile_for_threading): Fix updating of probablity.
3937
3938 2017-01-21 Bernd Schmidt <bschmidt@redhat.com>
3939
3940 rtl-optimization/79125
3941 * cprop.c (local_cprop_pass): Handle cases where we make an
3942 unconditional trap.
3943
3944 2017-01-20 Segher Boessenkool <segher@kernel.crashing.org>
3945
3946 PR target/61729
3947 PR target/77850
3948 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
3949 read from, for big endian.
3950
3951 2017-01-20 Jiong Wang <jiong.wang@arm.com>
3952
3953 * config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
3954 register pauth builtins for LP64 only.
3955
3956 2017-01-20 Marek Polacek <polacek@redhat.com>
3957
3958 PR c/79152
3959 * gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive
3960 non-case labels.
3961
3962 2017-01-20 Alexander Monakov <amonakov@ispras.ru>
3963
3964 * omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless
3965 of safelen status.
3966 * omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev.
3967 * passes.c (dump_properties): Handle PROP_gimple_lomp_dev.
3968 * tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev.
3969
3970 2017-01-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3971
3972 PR target/71270
3973 * config/arm/arm.c (neon_valid_immediate): Reject vector constants
3974 in big-endian mode when they are not a single duplicated value.
3975
3976 2017-01-20 Richard Biener <rguenther@suse.de>
3977
3978 * BASE-VER: Bump to 7.0.1.
3979
3980 2017-01-20 Alexander Monakov <amonakov@ispras.ru>
3981
3982 * omp-low.c (omplow_simd_context): New struct. Use it...
3983 (lower_rec_simd_input_clauses): ...here and...
3984 (lower_rec_input_clauses): ...here to hold common data. Adjust all
3985 references to idx, lane, max_vf, is_simt.
3986
3987 2017-01-20 Graham Markall <graham.markall@embecosm.com>
3988
3989 * config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when
3990 mcpu=nps400.
3991
3992 2017-01-20 Martin Jambor <mjambor@suse.cz>
3993
3994 * hsa.h: Renaed to hsa-common.h. Adjusted a comment.
3995 * hsa.c: Renaed to hsa-common.c. Change include of gt-hsa.h to
3996 gt-hsa-common.h.
3997 * Makefile.in (OBJS): Rename hsa.o to hsa-common.o.
3998 (GTFILES): Rename hsa.c to hsa-common.c.
3999 * hsa-brig.c: Change include of hsa.h to hsa-common.h.
4000 * hsa-dump.c: Likewise.
4001 * hsa-gen.c: Likewise.
4002 * hsa-regalloc.c: Likewise.
4003 * ipa-hsa.c: Likewise.
4004 * omp-expand.c: Likewise.
4005 * omp-low.c: Likewise.
4006 * toplev.c: Likewise.
4007
4008 2017-01-20 Marek Polacek <polacek@redhat.com>
4009
4010 PR c/64279
4011 * doc/invoke.texi: Document -Wduplicated-branches.
4012 * fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR,
4013 COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR,
4014 POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT,
4015 STATEMENT_LIST, and RETURN_EXPR. For non-pure non-const functions
4016 return 0 only when not OEP_LEXICOGRAPHIC.
4017 (fold_build_cleanup_point_expr): Use the expression
4018 location when building CLEANUP_POINT_EXPR.
4019 * tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC.
4020 * tree.c (add_expr): Handle error_mark_node.
4021
4022 2017-01-20 Martin Liska <mliska@suse.cz>
4023
4024 PR lto/69188
4025 * tree-profile.c (init_ic_make_global_vars): Do not call
4026 finalize_decl.
4027 (gimple_init_gcov_profiler): Likewise.
4028
4029 2017-01-20 Martin Liska <mliska@suse.cz>
4030
4031 PR ipa/71190
4032 * cgraph.h (maybe_create_reference): Remove argument and
4033 update comment.
4034 * cgraphclones.c (cgraph_node::create_virtual_clone): Remove one
4035 argument.
4036 * ipa-cp.c (create_specialized_node): Likewise.
4037 * symtab.c (symtab_node::maybe_create_reference): Handle
4038 VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type.
4039
4040 2017-01-20 Martin Liska <mliska@suse.cz>
4041
4042 * read-rtl-function.c (function_reader::create_function): Use
4043 build_decl instread of build_decl_stat.
4044
4045 2017-01-20 Andrew Senkevich <andrew.senkevich@intel.com>
4046
4047 * config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics.
4048 * config/i386/avx512dqintrin.h: Ditto.
4049 * config/i386/avx512fintrin.h: Ditto.
4050 * config/i386/i386-builtin-types.def: Add new types.
4051 * gcc/config/i386/i386.c: Handle new types.
4052 * config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi)
4053 (__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi)
4054 (__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi)
4055 (__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi)
4056 (__builtin_ia32_kshiftridi): New.
4057 * config/i386/sse.md (k<code><mode>): Rename *k<code><mode>.
4058
4059 2017-01-19 Segher Boessenkool <segher@kernel.crashing.org>
4060
4061 PR target/78875
4062 PR target/79140
4063 * config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally
4064 define to rs6000_init_stack_protect_guard.
4065 (rs6000_init_stack_protect_guard): New function.
4066
4067 2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
4068 Yunqiang Su <yunqiang.su@imgtec.com>
4069
4070 * config.gcc (supported_defaults): Add madd4.
4071 (with_madd4): Add validation.
4072 (all_defaults): Add madd4.
4073 * config/mips/mips.opt (mmadd4): New option.
4074 * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
4075 mmadd4.
4076 (TARGET_CPU_CPP_BUILTINS): Add builtin_define for
4077 __mips_no_madd4.
4078 (ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
4079 (ISA_HAS_FUSED_MADD4): Likewise.
4080 * gcc/doc/invoke.texi (-mmadd4): Document the new option.
4081 * gcc/doc/install.texi (--with-madd4): Document the new option.
4082
4083 2017-01-19 Jiong Wang <jiong.wang@arm.com>
4084
4085 * config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New
4086 entries for AARCH64_PAUTH_BUILTIN_XPACLRI,
4087 AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716.
4088 (aarch64_init_pauth_hint_builtins): New.
4089 (aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins.
4090 (aarch64_expand_builtin): Expand new builtins.
4091
4092 2017-01-19 Jiong Wang <jiong.wang@arm.com>
4093
4094 * reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note.
4095 * combine-stack-adj.c (no_unhandled_cfa): Handle
4096 REG_CFA_TOGGLE_RA_MANGLE.
4097 * dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE.
4098 * config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF
4099 info for return address signing.
4100 (aarch64_expand_epilogue): Likewise.
4101
4102 2017-01-19 Jiong Wang <jiong.wang@arm.com>
4103
4104 * config/aarch64/aarch64-opts.h (aarch64_function_type): New enum.
4105 * config/aarch64/aarch64-protos.h
4106 (aarch64_return_address_signing_enabled): New declaration.
4107 * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
4108 New function.
4109 (aarch64_expand_prologue): Sign return address before it's pushed onto
4110 stack.
4111 (aarch64_expand_epilogue): Authenticate return address fetched from
4112 stack.
4113 (aarch64_override_options): Sanity check for ILP32 and ISA level.
4114 (aarch64_attributes): New function attributes for "sign-return-address".
4115 * config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP,
4116 UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs.
4117 ("*do_return"): Generate combined instructions according to key index.
4118 ("<pauth_mnem_prefix>sp", "<pauth_mnem_prefix1716", "xpaclri"): New.
4119 * config/aarch64/iterators.md (PAUTH_LR_SP, PAUTH_17_16): New integer
4120 iterators.
4121 (pauth_mnem_prefix, pauth_hint_num_a): New integer attributes.
4122 * config/aarch64/aarch64.opt (msign-return-address=): New.
4123 * doc/extend.texi (AArch64 Function Attributes): Documents
4124 "sign-return-address=".
4125 * doc/invoke.texi (AArch64 Options): Documents "-msign-return-address=".
4126
4127 2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
4128
4129 * doc/invoke.texi: Add missing -mlxc1-sxc1 options to
4130 overall option summary.
4131
4132 2017-01-19 Jiong Wang <jiong.wang@arm.com>
4133
4134 * config/aarch64/aarch64-arches.def: New entry for "armv8.3-a".
4135 * config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3,
4136 AARCH64_ISA_V8_3, TARGET_ARMV8_3): New.
4137 * doc/invoke.texi (AArch64 Options): Document "armv8.3-a".
4138
4139 2017-01-19 Michael Meissner <meissner@linux.vnet.ibm.com>
4140
4141 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable
4142 -mpower9-minmax by default for -mcpu=power9.
4143 (ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE
4144 128-bit floating point.
4145
4146 2017-01-20 Alan Modra <amodra@gmail.com>
4147
4148 * config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if
4149 optimizing for size.
4150
4151 2017-01-20 Alan Modra <amodra@gmail.com>
4152
4153 PR target/79144
4154 * config/rs6000/rs6000.c (expand_strn_compare): Get the asm name
4155 for strcmp and strncmp from corresponding builtin decl.
4156
4157 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
4158
4159 * config.gcc (x86_64-*-rtems*): Use i386/rtemself.h
4160 instead of i386/rtems-64.h.
4161 * config/i386/rtems-64.h: Remove.
4162
4163 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
4164
4165 PR target/78478
4166 Revert:
4167 2013-11-05 Uros Bizjak <ubizjak@gmail.com>
4168
4169 * config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.
4170
4171 2017-01-19 Tamar Christina <tamar.christina@arm.com>
4172
4173 * config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
4174 Change int to HOST_WIDE_INT.
4175 * config/aarch64/aarch64-protos.h
4176 (aarch64_simd_gen_const_vector_dup): Likewise.
4177 * config/aarch64/aarch64-simd.md: Add copysign<mode>3.
4178
4179 2017-01-19 David Malcolm <dmalcolm@redhat.com>
4180
4181 * langhooks-def.h (lhd_type_for_size): New decl.
4182 (LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size.
4183 * langhooks.c (lhd_type_for_size): New function, taken from
4184 lto_type_for_size.
4185
4186 2017-01-19 Pat Haugen <pthaugen@us.ibm.com>
4187
4188 * config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add
4189 define_bypass for CR latency.
4190 (power9-cracked-alu): Update bypass latency and remove power9-branch.
4191 (power9-alu2): Add define_bypass for CR latency.
4192 (power9-cmp): New.
4193 (power9-mul): Update insn latency.
4194 (power9-mul-compare): Update insn latency, bypass latency and remove
4195 power9-branch.
4196
4197 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4198
4199 * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
4200 Delete.
4201 * config/aarch64/aarch64.md
4202 (aarch64_reload_movcp<GPF_TF:mode><P:mode>): Delete reference to
4203 aarch64_nopcrelative_literal_loads.
4204 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
4205
4206 2017-01-19 Chenghua Xu <paul.hua.gm@gmail.com>
4207
4208 * config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
4209 TARGET_LOONGSON_3A.
4210 (ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.
4211
4212 2017-01-19 Doug Gilmore <doug.gilmore@imgtec.com>
4213
4214 PR target/78176
4215 * config.gcc (supported_defaults): Add lxc1-sxc1.
4216 (with_lxc1_sxc1): Add validation.
4217 (all_defaults): Add lxc1-sxc1.
4218 * config/mips/mips.opt (mlxc1-sxc1): New option.
4219 * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
4220 mlxc1-sxc1.
4221 (TARGET_CPU_CPP_BUILTINS): Add builtin_define for
4222 __mips_no_lxc1_sxc1.
4223 (ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1.
4224 * gcc/doc/invoke.texi (-mlxc1-sxc1): Document the new option.
4225 * doc/install.texi (--with-lxc1-sxc1): Document the new option.
4226
4227 2017-01-19 Richard Biener <rguenther@suse.de>
4228
4229 PR tree-optimization/72488
4230 * tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
4231 sure to restore SSA info.
4232 * tree-ssa.c (verify_ssa): Verify SSA info is not shared.
4233
4234 2017-01-19 Richard Earnshaw <rearnsha@arm.com>
4235
4236 PR rtl-optimization/79121
4237 * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
4238 of the inner type when shifting an extended value.
4239
4240 2017-01-17 Jan Hubicka <hubicka@ucw.cz>
4241
4242 PR lto/78407
4243 * symtab.c (symtab_node::equal_address_to): Fix comparing of
4244 interposable aliases.
4245
4246 2017-01-18 Peter Bergner <bergner@vnet.ibm.com>
4247
4248 PR target/78516
4249 * config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints.
4250 Use the evmergelohi instruction.
4251 (mov_si<mode>_e500_subreg4_2_le): Likewise.
4252 (mov_sitf_e500_subreg8_2_be): Likewise.
4253 (mov_sitf_e500_subreg12_2_le): Likewise.
4254 (mov_si<mode>_e500_subreg0_2_le): Fix constraints.
4255 (mov_si<mode>_e500_subreg4_2_be): Likewise.
4256 (mov_sitf_e500_subreg8_2_le): Likewise.
4257 (mov_sitf_e500_subreg12_2_be): Likewise.
4258
4259 2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4260
4261 * config/rs6000/altivec.md (altivec_vbpermq): Change "type"
4262 attribute from vecsimple to vecperm.
4263 (altivec_vbpermq2): Likewise.
4264
4265 2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4266
4267 PR target/79040
4268 * config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz.
4269
4270 2017-01-18 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
4271 * config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg.
4272 * config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand
4273 strcmp. Fix bug where comparison didn't stop with zero byte. Fix
4274 case where N arg is SIZE_MAX.
4275 * config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare.
4276 (cmpstrsi): Add pattern.
4277
4278 2017-01-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4279
4280 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
4281 __builtin_vec_revb builtins.
4282 * config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
4283 built-in functions to support generation of the ISA 3.0 XXBR<x>
4284 vector byte reverse instructions.
4285 (P9V_BUILTIN_XXBRQ_V1TI): Likewise.
4286 (P9V_BUILTIN_XXBRD_V2DI): Likewise.
4287 (P9V_BUILTIN_XXBRD_V2DF): Likewise.
4288 (P9V_BUILTIN_XXBGW_V4SI): Likewise.
4289 (P9V_BUILTIN_XXBGW_V4SF): Likewise.
4290 (P9V_BUILTIN_XXBGH_V8HI): Likewise.
4291 (P9V_BUILTIN_VEC_REVB): Likewise.
4292 * config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
4293 generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
4294 (p9_xxbrq_v16qi): Likewise.
4295 (p9_xxbrd_<mode>, VSX_D iterator): Likewise.
4296 (p9_xxbrw_<mode>, VSX_W iterator): Likewise.
4297 (p9_xxbrh_v8hi): Likewise.
4298 * config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
4299 * doc/extend.texi (RS/6000 Altivec Built-ins): Document the
4300 vec_revb built-in functions.
4301
4302 2017-01-18 Uros Bizjak <ubizjak@gmail.com>
4303
4304 PR rtl-optimization/78952
4305 * config/i386/i386.md (any_extract): New code iterator.
4306 (*insvqi_2): Use any_extract for source operand.
4307 (*insvqi_3): Use any_shiftrt for source operand.
4308
4309 2017-01-18 Wilco Dijkstra <wdijkstr@arm.com>
4310
4311 * config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
4312 New function.
4313 (TARGET_SCHED_ADJUST_PRIORITY): Define target hook.
4314
4315 2017-01-18 Matthias Klose <doko@ubuntu.com>
4316
4317 * doc/install.texi: Allow default for --with-target-bdw-gc-include.
4318
4319 2016-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4320
4321 * config/rs6000/altivec.h (vec_bperm): Change #define.
4322 * config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
4323 (altivec_vbpermq2): New define_insn.
4324 (altivec_vbpermd): Likewise.
4325 * config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
4326 function interface.
4327 (VBPERMD): Likewise.
4328 (VBPERM): New polymorphic function interface.
4329 * config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
4330 Add entries for P9V_BUILTIN_VEC_VBPERM.
4331 * doc/extend.texi: Add interfaces for vec_bperm.
4332
4333 2017-01-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4334
4335 * config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
4336 first letter of error messages.
4337 (s390_resolve_overloaded_builtin): Likewise.
4338 * config/s390/s390.c (s390_expand_builtin): Likewise.
4339 (s390_invalid_arg_for_unprototyped_fn): Likewise.
4340 (s390_valid_target_attribute_inner_p): Likewise.
4341 * config/s390/s390.md ("tabort"): Likewise.
4342
4343 2017-01-18 Toma Tabacu <toma.tabacu@imgtec.com>
4344
4345 * config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
4346 (ISA_AVOID_DIV_HILO): New macro.
4347 (ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
4348 (ISA_HAS_DDIV): Likewise.
4349
4350 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
4351
4352 * doc/invoke.texi (fabi-version): Correct number of occurrences.
4353
4354 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
4355
4356 * doc/invoke.texi (fabi-version): Spelling fix.
4357
4358 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
4359
4360 PR c++/70182
4361 * doc/invoke.texi (fabi-version): Mention mangling fix for
4362 operator names.
4363
4364 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
4365
4366 PR c++/77489
4367 * doc/invoke.texi (fabi-version): Document discriminator mangling.
4368
4369 2017-01-17 Segher Boessenkool <segher@kernel.crashing.org>
4370
4371 PR target/78875
4372 * config/rs6000/rs6000-opts.h (stack_protector_guard): New enum.
4373 * config/rs6000/rs6000.c (rs6000_option_override_internal): Handle
4374 the new options.
4375 * config/rs6000/rs6000.md (stack_protect_set): Handle the new more
4376 flexible settings.
4377 (stack_protect_test): Ditto.
4378 * config/rs6000/rs6000.opt (mstack-protector-guard=,
4379 mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
4380 options.
4381 * doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]:
4382 Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
4383 -mstack-protector-guard-offset=.
4384 (RS/6000 and PowerPC Options): Ditto.
4385
4386 2017-01-17 Uros Bizjak <ubizjak@gmail.com>
4387
4388 * config/i386/i386.h (MASK_CLASS_P): New define.
4389 * config/i386/i386.c (inline_secondary_memory_needed): Ensure that
4390 there are no registers from different register sets also when
4391 mask registers are used. Update function comment.
4392 * config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative
4393 to (*k/*r) and (*k/*km) alternatives.
4394
4395 2017-01-17 Wilco Dijkstra <wdijkstr@arm.com>
4396
4397 * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
4398 * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
4399 (EH_RETURN_HANDLER_RTX): New define.
4400 * config/aarch64/aarch64.c (aarch64_frame_pointer_required):
4401 Force frame pointer in EH return functions.
4402 (aarch64_expand_epilogue): Add barrier for eh_return.
4403 (aarch64_final_eh_return_addr): Remove.
4404 (aarch64_eh_return_handler_rtx): New function.
4405 * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
4406 Remove.
4407 (aarch64_eh_return_handler_rtx): New prototype.
4408
4409 2017-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4410
4411 * config/rs6000/altivec.h (vec_rlmi): New #define.
4412 (vec_vrlnm): Likewise.
4413 (vec_rlnm): Likewise.
4414 * config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value.
4415 (UNSPEC_VRLNM): Likewise.
4416 (VIlong): New mode iterator.
4417 (altivec_vrl<VI_char>mi): New define_insn.
4418 (altivec_vrl<VI_char>nm): Likewise.
4419 * config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic
4420 function entry.
4421 (VRLDNM): Likewise.
4422 (RLNM): New polymorphic function entry.
4423 (VRLWMI): New monomorphic function entry.
4424 (VRLDMI): Likewise.
4425 (RLMI): New polymorphic function entry.
4426 * config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add
4427 new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM.
4428 * doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and
4429 vec_vrlnm.
4430
4431 2017-01-17 Jakub Jelinek <jakub@redhat.com>
4432
4433 PR debug/78839
4434 * dwarf2out.c (field_byte_offset): Restore the
4435 PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
4436 and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold.
4437 (analyze_variants_discr, gen_variant_part): Use fold_build2 instead
4438 of build2 + fold.
4439
4440 2017-01-17 Eric Botcazou <ebotcazou@adacore.com>
4441
4442 PR ada/67205
4443 * config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define
4444
4445 2017-01-17 Jakub Jelinek <jakub@redhat.com>
4446
4447 PR debug/71669
4448 * dwarf2out.c (add_data_member_location_attribute): For constant
4449 offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute
4450 instead of DW_AT_data_member_location, DW_AT_bit_offset and
4451 DW_AT_byte_size attributes.
4452
4453 2017-01-17 Eric Botcazou <ebotcazou@adacore.com>
4454
4455 * config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference
4456 after forcing to constant memory when the code model is medium.
4457
4458 2017-01-17 Julia Koval <julia.koval@intel.com>
4459
4460 PR target/76731
4461 * config/i386/avx512fintrin.h
4462 (_mm512_i32gather_ps): Change __addr type to void const*.
4463 (_mm512_mask_i32gather_ps): Ditto.
4464 (_mm512_i32gather_pd): Ditto.
4465 (_mm512_mask_i32gather_pd): Ditto.
4466 (_mm512_i64gather_ps): Ditto.
4467 (_mm512_mask_i64gather_ps): Ditto.
4468 (_mm512_i64gather_pd): Ditto.
4469 (_mm512_mask_i64gather_pd): Ditto.
4470 (_mm512_i32gather_epi32): Ditto.
4471 (_mm512_mask_i32gather_epi32): Ditto.
4472 (_mm512_i32gather_epi64): Ditto.
4473 (_mm512_mask_i32gather_epi64): Ditto.
4474 (_mm512_i64gather_epi32): Ditto.
4475 (_mm512_mask_i64gather_epi32): Ditto.
4476 (_mm512_i64gather_epi64): Ditto.
4477 (_mm512_mask_i64gather_epi64): Ditto.
4478 (_mm512_i32scatter_ps): Change __addr type to void*.
4479 (_mm512_mask_i32scatter_ps): Ditto.
4480 (_mm512_i32scatter_pd): Ditto.
4481 (_mm512_mask_i32scatter_pd): Ditto.
4482 (_mm512_i64scatter_ps): Ditto.
4483 (_mm512_mask_i64scatter_ps): Ditto.
4484 (_mm512_i64scatter_pd): Ditto.
4485 (_mm512_mask_i64scatter_pd): Ditto.
4486 (_mm512_i32scatter_epi32): Ditto.
4487 (_mm512_mask_i32scatter_epi32): Ditto.
4488 (_mm512_i32scatter_epi64): Ditto.
4489 (_mm512_mask_i32scatter_epi64): Ditto.
4490 (_mm512_i64scatter_epi32): Ditto.
4491 (_mm512_mask_i64scatter_epi32): Ditto.
4492 (_mm512_i64scatter_epi64): Ditto.
4493 (_mm512_mask_i64scatter_epi64): Ditto.
4494 * config/i386/avx512pfintrin.h
4495 (_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*.
4496 (_mm512_mask_prefetch_i32gather_ps): Ditto.
4497 (_mm512_mask_prefetch_i64gather_pd): Ditto.
4498 (_mm512_mask_prefetch_i64gather_ps): Ditto.
4499 (_mm512_prefetch_i32scatter_pd): Change __addr type to void*.
4500 (_mm512_prefetch_i32scatter_ps): Ditto.
4501 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
4502 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
4503 (_mm512_prefetch_i64scatter_pd): Ditto.
4504 (_mm512_prefetch_i64scatter_ps): Ditto.
4505 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
4506 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
4507 * config/i386/avx512vlintrin.h
4508 (_mm256_mmask_i32gather_ps): Change __addr type to void const*.
4509 (_mm_mmask_i32gather_ps): Ditto.
4510 (_mm256_mmask_i32gather_pd): Ditto.
4511 (_mm_mmask_i32gather_pd): Ditto.
4512 (_mm256_mmask_i64gather_ps): Ditto.
4513 (_mm_mmask_i64gather_ps): Ditto.
4514 (_mm256_mmask_i64gather_pd): Ditto.
4515 (_mm_mmask_i64gather_pd): Ditto.
4516 (_mm256_mmask_i32gather_epi32): Ditto.
4517 (_mm_mmask_i32gather_epi32): Ditto.
4518 (_mm256_mmask_i32gather_epi64): Ditto.
4519 (_mm_mmask_i32gather_epi64): Ditto.
4520 (_mm256_mmask_i64gather_epi32): Ditto.
4521 (_mm_mmask_i64gather_epi32): Ditto.
4522 (_mm256_mmask_i64gather_epi64): Ditto.
4523 (_mm_mmask_i64gather_epi64): Ditto.
4524 (_mm256_i32scatter_ps): Change __addr type to void*.
4525 (_mm256_mask_i32scatter_ps): Ditto.
4526 (_mm_i32scatter_ps): Ditto.
4527 (_mm_mask_i32scatter_ps): Ditto.
4528 (_mm256_i32scatter_pd): Ditto.
4529 (_mm256_mask_i32scatter_pd): Ditto.
4530 (_mm_i32scatter_pd): Ditto.
4531 (_mm_mask_i32scatter_pd): Ditto.
4532 (_mm256_i64scatter_ps): Ditto.
4533 (_mm256_mask_i64scatter_ps): Ditto.
4534 (_mm_i64scatter_ps): Ditto.
4535 (_mm_mask_i64scatter_ps): Ditto.
4536 (_mm256_i64scatter_pd): Ditto.
4537 (_mm256_mask_i64scatter_pd): Ditto.
4538 (_mm_i64scatter_pd): Ditto.
4539 (_mm_mask_i64scatter_pd): Ditto.
4540 (_mm256_i32scatter_epi32): Ditto.
4541 (_mm256_mask_i32scatter_epi32): Ditto.
4542 (_mm_i32scatter_epi32): Ditto.
4543 (_mm_mask_i32scatter_epi32): Ditto.
4544 (_mm256_i32scatter_epi64): Ditto.
4545 (_mm256_mask_i32scatter_epi64): Ditto.
4546 (_mm_i32scatter_epi64): Ditto.
4547 (_mm_mask_i32scatter_epi64): Ditto.
4548 (_mm256_i64scatter_epi32): Ditto.
4549 (_mm256_mask_i64scatter_epi32): Ditto.
4550 (_mm_i64scatter_epi32): Ditto.
4551 (_mm_mask_i64scatter_epi32): Ditto.
4552 (_mm256_i64scatter_epi64): Ditto.
4553 (_mm256_mask_i64scatter_epi64): Ditto.
4554 (_mm_i64scatter_epi64): Ditto.
4555 (_mm_mask_i64scatter_epi64): Ditto.
4556 * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
4557 (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
4558 (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
4559 (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
4560 (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
4561 (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
4562 (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
4563 (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
4564 (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
4565 (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
4566 (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
4567 (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
4568 (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
4569 (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
4570 (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
4571 (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
4572 (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
4573 (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
4574 (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
4575 (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
4576 (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
4577 (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
4578 (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
4579 (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
4580 (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
4581 (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
4582 (VOID_QI_V8DI_PCINT_INT_INT): Remove.
4583 (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT)
4584 (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
4585 (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
4586 (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
4587 (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
4588 (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
4589 (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
4590 (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
4591 (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
4592 (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
4593 (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
4594 (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
4595 (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
4596 (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
4597 (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
4598 (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
4599 (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
4600 (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
4601 (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
4602 (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
4603 (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
4604 (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
4605 (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
4606 (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
4607 (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
4608 (VOID_QI_V8DI_PCVOID_INT_INT): Add.
4609 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
4610 definitions accordingly.
4611
4612 2017-01-17 Kito Cheng <kito.cheng@gmail.com>
4613 Kuan-Lin Chen <kuanlinchentw@gmail.com>
4614
4615 PR target/79079
4616 * internal-fn.c (expand_mul_overflow): Use convert_modes instead of
4617 gen_lowpart.
4618
4619 2017-01-17 Vladimir Makarov <vmakarov@redhat.com>
4620
4621 PR target/79058
4622 * ira-conflicts.c (ira_build_conflicts): Update total conflict
4623 hard regs for inner regno.
4624
4625 2017-01-17 Martin Liska <mliska@suse.cz>
4626
4627 PR ipa/71207
4628 * ipa-polymorphic-call.c (contains_type_p): Fix wrong
4629 assumption and add comment.
4630
4631 2017-01-17 Nathan Sidwell <nathan@acm.org>
4632
4633 * ipa-visibility.c (localize_node): New function, broken out of ...
4634 (function_and_variable_visibility): ... here. Call it.
4635
4636 2017-01-17 Jan Hubicka <hubicka@ucw.cz>
4637
4638 PR middle-end/77445
4639 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
4640 correctly set frequency of oudgoing edge.
4641 (duplicate_thread_path): Fix profile updating.
4642
4643 2017-01-17 Jakub Jelinek <jakub@redhat.com>
4644
4645 PR other/79046
4646 * configure.ac: Add GCC_BASE_VER.
4647 * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
4648 version from BASE-VER file.
4649 (CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
4650 (gcc.o): Depend on $(BASEVER).
4651 * common.opt (dumpfullversion): New option.
4652 * gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
4653 * doc/invoke.texi: Document -dumpfullversion.
4654 * doc/install.texi: Document --with-gcc-major-version-only.
4655 * configure: Regenerated.
4656
4657 2017-01-17 Richard Biener <rguenther@suse.de>
4658
4659 PR tree-optimization/71433
4660 * tree-vrp.c (register_new_assert_for): Merge same asserts
4661 on all incoming edges.
4662 (process_assert_insertions_for): Handle insertions at the
4663 beginning of BBs.
4664
4665 2017-01-17 Gerald Pfeifer <gerald@pfeifer.com>
4666
4667 * config/i386/cygwin.h (LIBGCJ_SONAME): Remove.
4668 * config/i386/mingw32.h (LIBGCJ_SONAME): Remove.
4669
4670 2017-01-17 Kaz Kojima <kkojima@gcc.gnu.org>
4671
4672 PR target/78633
4673 * config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid
4674 RTL sharing.
4675
4676 2017-01-17 Alan Modra <amodra@gmail.com>
4677
4678 PR target/79066
4679 * config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic.
4680 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow
4681 symbolic stack limit when pic.
4682
4683 2017-01-16 Martin Sebor <msebor@redhat.com>
4684
4685 PR tree-optimization/78608
4686 * gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN.
4687
4688 2017-01-16 Jeff Law <law@redhat.com>
4689
4690 Revert:
4691 2016-12-02 Tadek Kijkowski <tkijkowski@gmail.com>
4692 * Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
4693 for several include directories that may be relative to sysroot.
4694 * config/i386/x-mingw32 (gplus_includedir): Define.
4695 (gplus_tool_includedir, gplus_backward_include_dir): Likewise.
4696 (native_system_includedir): Likewise.
4697 * config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
4698 override if TARGET_SYSTEM_ROOT is defined.
4699 (NATIVE_SYSTEM_HEADER_DIR): Likewise.
4700
4701 PR tree-optimization/79090
4702 PR tree-optimization/33562
4703 PR tree-optimization/61912
4704 PR tree-optimization/77485
4705 * tree-ssa-dse.c (compute_trims): Accept STMT argument. Dump STMT
4706 and computed trims into the dump file.
4707
4708 2017-01-17 Uros Bizjak <ubizjak@gmail.com>
4709
4710 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove.
4711
4712 2017-01-16 Jakub Jelinek <jakub@redhat.com>
4713
4714 PR c/79089
4715 * gimplify.c (gimplify_init_constructor): If want_value and
4716 object == lhs, unshare lhs to avoid invalid tree sharing. Formatting
4717 fix.
4718
4719 PR target/79080
4720 * loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on
4721 sequence. Formatting fixes.
4722 (doloop_optimize): Formatting fixes.
4723
4724 PR driver/49726
4725 * gcc.c (debug_level_greater_than_spec_func): New function.
4726 (static_spec_functions): Add debug-level-gt spec function.
4727 (ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of
4728 !g0.
4729 * config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
4730 * config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
4731 * common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames,
4732 gpubnames, ggnu-pubnames, gno-record-gcc-switches,
4733 grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs,
4734 gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag.
4735
4736 2017-01-16 Uros Bizjak <ubizjak@gmail.com>
4737
4738 * config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and
4739 QImode fixups to general and mask registers only.
4740
4741 2017-01-16 Carl Love <cel@us.ibm.com>
4742
4743 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support
4744 for built-in functions
4745 vector signed char vec_nabs (vector signed char)
4746 vector signed short vec_nabs (vector signed short)
4747 vector signed int vec_nabs (vector signed int)
4748 vector signed long long vec_nabs (vector signed long long)
4749 vector float vec_nabs (vector float)
4750 vector double vec_nabs (vector double)
4751 * config/rs6000/rs6000-builtin.def: Add definitions for NABS functions
4752 and NABS overload.
4753 * config/rs6000/altivec.md: New define_expand nabs<mode>2 types
4754 * config/rs6000/altivec.h: New define for vec_nabs built-in function.
4755 * doc/extend.texi: Update the documentation file for the new built-in
4756 functions.
4757
4758 2017-01-16 Martin Sebor <msebor@redhat.com>
4759
4760 * gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning
4761 message.
4762
4763 2017-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4764
4765 * config/rs6000/rs6000.c (rtx_is_swappable_p): Change
4766 UNSPEC_VSX__XXSPLTD to require special splat handling.
4767
4768 2017-01-16 David Malcolm <dmalcolm@redhat.com>
4769
4770 PR bootstrap/78616
4771 * system.h: Poison strndup.
4772
4773 2017-01-16 Alan Modra <amodra@gmail.com>
4774
4775 PR target/79098
4776 * config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't
4777 use a switch.
4778
4779 2017-01-16 Georg-Johann Lay <avr@gjlay.de>
4780
4781 * config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4.
4782
4783 2017-01-15 Uros Bizjak <ubizjak@gmail.com>
4784
4785 * config/i386/i386.c (ix86_legitimate_combined_insn): Do not
4786 call recog here. Assert that INSN_CODE (insn) is non-negative.
4787
4788 2017-01-15 Segher Boessenkool <segher@kernel.crashing.org>
4789
4790 PR target/72749
4791 * cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the
4792 fallthrough.
4793 * haifa-sched.c (dump_insn_stream): Don't crash if there is a label
4794 in the currently scheduled RTL fragment.
4795
4796 2017-01-15 Segher Boessenkool <segher@kernel.crashing.org>
4797
4798 PR rtl-optimization/78751
4799 * ifcvt.c (find_cond_trap): If we generated a non-existing insn,
4800 give up.
4801
4802 2017-01-14 Jeff Law <law@redhat.com>
4803
4804 PR tree-optimization/79090
4805 * tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and
4806 variable length stores.
4807 (compute_trims): Delete dead assignment to *trim_tail.
4808 (dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with
4809 zero length.
4810
4811 2017-01-14 Bernd Schmidt <bschmidt@redhat.com>
4812
4813 PR rtl-optimization/78626
4814 PR rtl-optimization/78727
4815 * cprop.c (one_cprop_pass): Collect unconditional traps in the middle
4816 of a block, and split such blocks after everything else is finished.
4817
4818 2017-01-14 Alan Modra <amodra@gmail.com>
4819
4820 PR target/72749
4821 * combine.c (recog_for_combine_1): Set INSN_CODE before calling
4822 target legitimate_combined_insn.
4823 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define.
4824 (rs6000_legitimate_combined_insn): New function.
4825 * config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove
4826 all uses.
4827 (ctr<mode>_internal3): Rename from *ctr<mode>_internal5.
4828 (ctr<mode>_internal4): Rename from *ctr<mode>_internal6.
4829 (ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name.
4830
4831 2017-01-14 Gerald Pfeifer <gerald@pfeifer.com>
4832
4833 * doc/frontends.texi (G++ and GCC): Remove references to Java.
4834
4835 2017-01-13 Jeff Law <law@redhat.com>
4836
4837 PR tree-optimization/33562
4838 PR tree-optimization/61912
4839 PR tree-optimization/77485
4840 * tree-ssa-dse.c (delete_dead_call): Accept gsi rather than
4841 a statement.
4842 (delete_dead_assignment): Likewise.
4843 (dse_dom_walker::dse_optimize_stmt): Pass in the gsi rather than
4844 statement to delete_dead_call and delete_dead_assignment.
4845
4846 2017-01-13 David Malcolm <dmalcolm@redhat.com>
4847
4848 PR c/78304
4849 * substring-locations.c (format_warning_va): Strengthen case 1 so
4850 that both endpoints of the substring must be within the format
4851 range for just the substring to be printed.
4852
4853 2017-01-13 Uros Bizjak <ubizjak@gmail.com>
4854
4855 * config/i386/i386.opt (msgx): Use ix86_isa_flags2 variable.
4856 * config/i386/i386.c (ix86_target_string): Add missing options
4857 to isa_opts and reorder options by implied ISAs. Rename isa_opts2 to
4858 isa2_opts, ix86_flag_opts to flag2_opts, ix86_target_other to
4859 flags_other and ix86_target_other to flags2_other. Display unknown
4860 isa2 options.
4861 (ix86_valid_target_attribute_inner_p): Add missing options and
4862 reorder options by implied ISAs, as in ix86_target_string.
4863
4864 2017-01-13 Richard Sandiford <richard.sandiford@arm.com>
4865
4866 * hash-table.h (hash_table::too_empty_p): New function.
4867 (hash_table::expand): Use it.
4868 (hash_table::traverse): Likewise.
4869 (hash_table::empty_slot): Use sizeof (value_type) instead of
4870 sizeof (PTR) to convert bytes to elements. Shrink the table
4871 if the current size is excessive for the current number of
4872 elements.
4873
4874 2017-01-13 Richard Sandiford <richard.sandiford@arm.com>
4875
4876 * ira-costs.c (record_reg_classes): Break from the inner loop
4877 early once alt_fail is known to be true. Update outer loop
4878 handling accordingly.
4879
4880 2017-01-13 Jeff Law <law@redhat.com>
4881
4882 * tree-ssa-dse.c (decrement_count): New function.
4883 (increment_start_addr, maybe_trim_memstar_call): Likewise.
4884 (dse_dom_walker::optimize_stmt): Call maybe_trim_memstar_call directly
4885 when we know the partially dead statement is a mem* function.
4886
4887 PR tree-optimization/61912
4888 PR tree-optimization/77485
4889 * tree-ssa-dse.c: Include expr.h.
4890 (maybe_trim_constructor_store): New function.
4891 (maybe_trim_partially_dead_store): Call maybe_trim_constructor_store.
4892
4893 PR tree-optimization/33562
4894 PR tree-optimization/61912
4895 PR tree-optimization/77485
4896 * doc/invoke.texi: Document new dse-max-object-size param.
4897 * params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM.
4898 * tree-ssa-dse.c: Include params.h.
4899 (dse_store_status): New enum.
4900 (initialize_ao_ref_for_dse): New, partially extracted from
4901 dse_optimize_stmt.
4902 (valid_ao_ref_for_dse, normalize_ref): New.
4903 (setup_live_bytes_from_ref, compute_trims): Likewise.
4904 (clear_bytes_written_by, maybe_trim_complex_store): Likewise.
4905 (maybe_trim_partially_dead_store): Likewise.
4906 (maybe_trim_complex_store): Likewise.
4907 (dse_classify_store): Renamed from dse_possibly_dead_store_p.
4908 Track what bytes live from the original store. Return tri-state
4909 for dead, partially dead or live.
4910 (dse_dom_walker): Add constructor, destructor and new private members.
4911 (delete_dead_call, delete_dead_assignment): New extracted from
4912 dse_optimize_stmt.
4913 (dse_optimize_stmt): Make a member of dse_dom_walker.
4914 Use initialize_ao_ref_for_dse.
4915
4916 PR tree-optimization/33562
4917 PR tree-optimization/61912
4918 PR tree-optimization/77485
4919 * sbitmap.h (bitmap_count_bits): Prototype.
4920 (bitmap_clear_range, bitmap_set_range): Likewise.
4921 * sbitmap.c (bitmap_clear_range): New function.
4922 (bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise.
4923
4924 2017-01-13 Martin Liska <mliska@suse.cz>
4925
4926 PR ipa/79043
4927 * function.c (set_cfun): Add new argument force.
4928 * function.h (set_cfun): Likewise.
4929 * ipa-inline-transform.c (inline_call): Use the function when
4930 strict alising from is dropped for function we inline to.
4931
4932 2017-01-13 Richard Biener <rguenther@suse.de>
4933
4934 * tree-pretty-print.c (dump_generic_node): Fix inverted condition
4935 for dumping GIMPLE INTEGER_CSTs.
4936
4937 2017-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4938
4939 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__
4940 to 201112L since C++17.
4941
4942 2017-01-13 Maxim Ostapenko <m.ostapenko@samsung.com>
4943
4944 PR sanitizer/78887
4945 * asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators
4946 if -fsanitize=kernel-address is present.
4947
4948 2017-01-13 Richard Biener <rguenther@suse.de>
4949
4950 * tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs
4951 as _Literal ( type ) number in case usual suffixes do not
4952 preserve all information.
4953
4954 2017-01-13 Richard Biener <rguenther@suse.de>
4955
4956 PR tree-optimization/77283
4957 * gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h
4958 and ssa-iterators.h.
4959 (is_feasible_trace): Implement a cost model based on joiner
4960 PHI node uses.
4961
4962 2017-01-12 Michael Meissner <meissner@linux.vnet.ibm.com>
4963
4964 PR target/79004
4965 * config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting
4966 char or short to __float128/_Float128 directly.
4967
4968 2017-01-12 Martin Sebor <msebor@redhat.com>
4969
4970 to -Wformat-overflow.
4971 * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
4972 (min_bytes_remaining): Same.
4973 (get_string_length): Same.
4974 (format_string): Same.
4975 (format_directive): Same.
4976 (add_bytes): Same.
4977 (pass_sprintf_length::handle_gimple_call): Same.
4978
4979 2017-01-12 Jakub Jelinek <jakub@redhat.com>
4980
4981 * gimple-ssa-sprintf.c (try_substitute_return_value): Remove
4982 info.nowrite calls with no lhs that can't throw. Return bool
4983 whether gsi_remove has been called or not.
4984 (pass_sprintf_length::handle_gimple_call): Return bool whether
4985 try_substitute_return_value called gsi_remove. Formatting fix.
4986 (pass_sprintf_length::execute): Don't use gsi_remove if
4987 handle_gimple_call returned true.
4988
4989 PR bootstrap/79069
4990 * cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't
4991 be removed due to side-effects, don't remove following barrier nor
4992 turn the successor edge into fallthru edge.
4993
4994 2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4995
4996 PR target/79044
4997 * config/rs6000/rs6000.c (insn_is_swappable_p): Mark
4998 element-reversing loads and stores as not swappable.
4999
5000 2017-01-12 Nathan Sidwell <nathan@acm.org>
5001 Nicolai Stange <nicstange@gmail.com>
5002
5003 * combine.c (try_combine): Don't ignore result of overlap checking
5004 loop. Combine overlap & asm check into single loop.
5005
5006 2017-01-12 Richard Biener <rguenther@suse.de>
5007
5008 * tree-pretty-print.c (dump_generic_node): Provide -gimple
5009 variant for MEM_REF. Sanitize INTEGER_CST for -gimple.
5010
5011 2017-01-12 Richard Biener <rguenther@suse.de>
5012
5013 * tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION
5014 and TS_TARGET_OPTION directly derive from TS_BASE.
5015 * tree-core.h (tree_optimization_option): Derive from tree_base.
5016 (tree_target_option): Likewise.
5017
5018 2017-01-11 Uros Bizjak <ubizjak@gmail.com>
5019
5020 * config/i386/i386.c (memory_address_length): Increase len
5021 only when rip_relative_addr_p returns false.
5022
5023 2017-01-11 Julia Koval <julia.koval@intel.com>
5024
5025 * common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New.
5026 (OPTION_MASK_ISA_SGX_SET): New.
5027 (ix86_handle_option): Handle OPT_msgx.
5028 * config.gcc: Added sgxintrin.h.
5029 * config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx.
5030 * config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__.
5031 * config/i386/i386.c (ix86_target_string): Add -msgx.
5032 (PTA_SGX): New.
5033 (ix86_option_override_internal): Handle new options.
5034 (ix86_valid_target_attribute_inner_p): Add sgx.
5035 * config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New.
5036 * config/i386/i386.opt: Add msgx.
5037 * config/i386/sgxintrin.h: New file.
5038 * config/i386/x86intrin.h: Add sgxintrin.h.
5039
5040 2017-01-11 Jakub Jelinek <jakub@redhat.com>
5041
5042 PR c++/71537
5043 * fold-const.c (maybe_nonzero_address): Return 1 for function
5044 local objects.
5045 (tree_single_nonzero_warnv_p): Don't handle function local objects
5046 here.
5047
5048 PR c++/72813
5049 * gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps
5050 of c-header.
5051
5052 2017-01-11 David Malcolm <dmalcolm@redhat.com>
5053
5054 PR driver/78877
5055 * opts.c: Include "spellcheck.h"
5056 (struct string_fragment): New struct.
5057 (struct edit_distance_traits<const string_fragment &>): New
5058 struct.
5059 (get_closest_sanitizer_option): New function.
5060 (parse_sanitizer_options): Offer suggestions for unrecognized arguments.
5061
5062 2017-01-11 Jakub Jelinek <jakub@redhat.com>
5063
5064 * dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease
5065 by 12.
5066 (DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always
5067 DWARF_COMPILE_UNIT_HEADER_SIZE plus 12.
5068 (DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define.
5069 (calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE
5070 for initial die_offset if dwarf_split_debug_info.
5071 (output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for
5072 initial next_die_offset if dwo_id is non-NULL. Don't emit padding
5073 fields.
5074 (output_skeleton_debug_sections): Formatting fix. Use
5075 DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of
5076 DWARF_COMPILE_UNIT_HEADER_SIZE. Don't emit padding.
5077
5078 2017-01-11 Wilco Dijkstra <wdijkstr@arm.com>
5079
5080 * config/arm/cortex-a53.md: Add bypasses for
5081 cortex_a53_r2f_cvt.
5082 (cortex_a53_r2f): Only use for transfers.
5083 (cortex_a53_f2r): Likewise.
5084 (cortex_a53_r2f_cvt): Add reservation for conversions.
5085 (cortex_a53_f2r_cvt): Likewise.
5086
5087 2017-01-11 Tamar Christina <tamar.christina@arm.com>
5088
5089 * config/arm/arm_neon.h: Add __artificial__ and gnu_inline
5090 to all inlined functions, change static to extern.
5091
5092 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org>
5093
5094 PR target/78253
5095 * config/arm/arm.c (legitimize_pic_address): Handle reference to
5096 weak symbol.
5097 (arm_assemble_integer): Likewise.
5098
5099 2017-01-11 Richard Earnshaw <rearnsha@arm.com>
5100
5101 * config.gcc: Use new awk script to check CPU, FPU and architecture
5102 parameters for --with-... options.
5103 * config/arm/parsecpu.awk: New file
5104 * config/arm/arm-cpus.in: New file.
5105 * config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def
5106 files.
5107 * config/arm/arm.c: Include arm-cpu-data.h instead of processing .def
5108 files.
5109 * config/arm/t-arm: Update dependency rules.
5110 * common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead
5111 of processing .def files.
5112 * config/arm/genopt.sh: Deleted.
5113 * config/arm/gentune.sh: Deleted.
5114 * config/arm/arm-cores.def: Deleted.
5115 * config/arm/arm-arches.def: Deleted.
5116 * config/arm/arm-fpus.def: Deleted.
5117 * config/arm/arm-tune.md: Regenerated.
5118 * config/arm/arm-tables.opt: Regenerated.
5119 * config/arm/arm-cpu.h: New generated file.
5120 * config/arm/arm-cpu-data.h: New generated file.
5121 * config/arm/arm-cpu-cdata.h: New generated file.
5122
5123 2017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com>
5124
5125 PR lto/79042
5126 * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
5127 bit.
5128 (input_varpool_node): Unpack dynamically_initialized bit.
5129
5130 2017-01-11 Eric Botcazou <ebotcazou@adacore.com>
5131
5132 PR rtl-optimization/79032
5133 * lra-constraints.c (simplify_operand_subreg): In the MEM case, test
5134 the alignment of the adjusted memory reference against that of MODE,
5135 instead of the alignment of the original memory reference.
5136
5137 2017-01-11 Martin Jambor <mjambor@suse.cz>
5138
5139 * hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
5140 test.
5141 * ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
5142 decorated functions.
5143
5144 2017-01-11 Richard Biener <rguenther@suse.de>
5145
5146 * tree-vrp.c (evrp_dom_walker::before_dom_children): Also
5147 set range/nonnull info for PHI results. Do not set it on
5148 stmts marked for removal.
5149
5150 2017-01-10 Eric Botcazou <ebotcazou@adacore.com>
5151
5152 * expr.c (store_field): In the bitfield case, fetch the return value
5153 from the registers before applying a single big-endian adjustment.
5154 Always do a final load for a BLKmode value not larger than a word.
5155
5156 2017-01-10 David Malcolm <dmalcolm@redhat.com>
5157
5158 PR c++/77949
5159 * input.c (selftest::test_accessing_ordinary_linemaps): Verify
5160 that we correctly handle column numbers greater than
5161 LINE_MAP_MAX_COLUMN_NUMBER.
5162
5163 2017-01-10 Martin Sebor <msebor@redhat.com>
5164
5165 PR middle-end/78245
5166 * gimple-ssa-sprintf.c (get_destination_size): Call
5167 {init,fini}object_sizes.
5168 * tree-object-size.c (addr_object_size): Adjust.
5169 (pass_through_call): Adjust.
5170 (pass_object_sizes::execute): Adjust.
5171 * tree-object-size.h (fini_object_sizes): Declare.
5172
5173 2017-01-10 Martin Sebor <msebor@redhat.com>
5174
5175 PR tree-optimization/78775
5176 * builtins.c (get_size_range): Move...
5177 * calls.c: ...to here.
5178 (alloc_max_size): Accept zero argument.
5179 (operand_signed_p): Remove.
5180 (maybe_warn_alloc_args_overflow): Call get_size_range.
5181 * calls.h (get_size_range): Declare.
5182
5183 2017-01-10 Joe Seymour <joe.s@somniumtech.com>
5184
5185 * config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data
5186 from TI's devices.csv file as of September 2016.
5187 * config/msp430/msp430.c (msp430_mcu_data): Likewise.
5188
5189 2017-01-10 Sandra Loosemore <sandra@codesourcery.com>
5190
5191 * doc/extend.texi: Tweak formatting to fix overfull hbox warnings.
5192 * doc/invoke.texi: Likewise.
5193 * doc/md.texi: Likewise.
5194 * doc/objc.texi: Likewise.
5195
5196 2017-01-10 Joshua Conner <joshconner@google.com>
5197
5198 * config/arm/fuchsia-elf.h: New file.
5199 * config/fuchsia.h: New file.
5200 * config.gcc (*-*-fuchsia*): Set native_system_header_dir.
5201 (aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to
5202 targets.
5203 * config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts.
5204
5205 2016-01-10 Richard Biener <rguenther@suse.de>
5206
5207 PR tree-optimization/79034
5208 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
5209 Propagate out degenerate PHIs in the joiner.
5210
5211 2017-01-10 Martin Liska <mliska@suse.cz>
5212
5213 * ipa-icf.c (sort_sem_items_by_decl_uid): New function.
5214 (sort_congruence_classes_by_decl_uid): Likewise.
5215 (sort_congruence_class_groups_by_decl_uid): Likewise.
5216 (sem_item_optimizer::merge_classes): Sort class, groups in these
5217 classes and members in the groups by DECL_UID of declarations.
5218 This would make merge operations stable.
5219
5220 2017-01-10 Martin Liska <mliska@suse.cz>
5221
5222 * ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove
5223 usage of m_classes_vec.
5224 (sem_item_optimizer::~sem_item_optimizer): Likewise.
5225 (sem_item_optimizer::get_group_by_hash): Likewise.
5226 (sem_item_optimizer::subdivide_classes_by_equality): Likewise.
5227 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise.
5228 (sem_item_optimizer::verify_classes): Likewise.
5229 (sem_item_optimizer::process_cong_reduction): Likewise.
5230 (sem_item_optimizer::dump_cong_classes): Likewise.
5231 (sem_item_optimizer::merge_classes): Likewise.
5232 * ipa-icf.h (congruence_class_hash): Rename from
5233 congruence_class_group_hash. Remove declaration of m_classes_vec.
5234
5235 2017-01-10 Andrew Senkevich <andrew.senkevich@intel.com>
5236
5237 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
5238 OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
5239 * config.gcc: Add avx512vpopcntdqintrin.h.
5240 * config/i386/avx512vpopcntdqintrin.h: New.
5241 * config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
5242 * config/i386/i386-builtin-types.def: Add new types.
5243 * config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
5244 __builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
5245 __builtin_ia32_vpopcountq_v8di_mask): New.
5246 * config/i386/i386-c.c (ix86_target_macros_internal): Define
5247 __AVX512VPOPCNTDQ__.
5248 * config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
5249 (PTA_AVX512VPOPCNTDQ): Define.
5250 * config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
5251 TARGET_AVX512VPOPCNTDQ_P): Define.
5252 * config/i386/i386.opt: Add mavx512vpopcntdq.
5253 * config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
5254 * config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.
5255
5256 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
5257
5258 PR middle-end/77484
5259 * predict.def (PRED_CALL): Set to 67.
5260
5261 2017-01-09 Eric Botcazou <ebotcazou@adacore.com>
5262
5263 * expr.c (store_field): In the bitfield case, if the value comes from
5264 a function call and is of an aggregate type returned in registers, do
5265 not modify the field mode; extract the value in all cases if the mode
5266 is BLKmode and the size is not larger than a word.
5267
5268 2017-01-09 Dominique d'Humieres <dominiq@lps.ens.fr>
5269
5270 PR target/71017
5271 * config/i386/cpuid.h: Fix undefined behavior.
5272
5273 2017-01-04 Jeff Law <law@redhat.com>
5274
5275 PR tree-optimization/79007
5276 PR tree-optimization/67955
5277 * tree-ssa-alias.c (same_addr_size_stores_p): Only need to be
5278 conservative for pt.null when flag_non_call_exceptions is on.
5279
5280 2017-01-09 Jakub Jelinek <jakub@redhat.com>
5281
5282 PR translation/79019
5283 PR translation/79020
5284 * params.def (PARAM_INLINE_MIN_SPEEDUP,
5285 PARAM_IPA_CP_SINGLE_CALL_PENALTY,
5286 PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos
5287 in descriptions.
5288 * config/avr/avr.opt (maccumulate-args): Likewise.
5289 * config/msp430/msp430.opt (mwarn-mcu): Likewise.
5290 * common.opt (freport-bug): Likewise.
5291 * cif-code.def (CIF_FINAL_ERROR): Likewise.
5292 * doc/invoke.texi (ipa-cp-single-call-penalty): Likewise.
5293 * config/s390/s390.c (s390_invalid_binary_op): Fix spelling in
5294 translatable string.
5295 * config/i386/i386.c (function_value_32): Likewise.
5296 * config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise.
5297 * config/msp430/msp430.c (msp430_option_override, msp430_attr):
5298 Likewise.
5299 * config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise.
5300 * common/config/msp430/msp430-common.c (msp430_handle_option):
5301 Likewise.
5302 * symtab.c (symtab_node::verify_base): Likewise.
5303 * opts.c (set_debug_level): Likewise.
5304 * tree.c (verify_type_variant): Likewise. Fix typo in comment.
5305 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
5306 missing whitespace to translatable strings.
5307 * config/avr/avr.md (bswapsi2): Fix typo in comment.
5308 * config/sh/superh.h: Likewise.
5309 * config/i386/xopintrin.h: Likewise.
5310 * config/i386/znver1.md: Likewise.
5311 * config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise.
5312 * ipa-inline-analysis.c (compute_inline_parameters): Likewise.
5313 * double-int.h (struct double_int): Likewise.
5314 * double-int.c (div_and_round_double): Likewise.
5315 * wide-int.cc: Likewise.
5316 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
5317 * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
5318 * cfgcleanup.c (crossjumps_occured): Renamed to ...
5319 (crossjumps_occurred): ... this.
5320 (try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg):
5321 Adjust all uses.
5322
5323 PR tree-optimization/78899
5324 * tree-if-conv.c (version_loop_for_if_conversion): Instead of
5325 returning bool return struct loop *, NULL for failure and the new
5326 loop on success.
5327 (versionable_outer_loop_p): Don't version outer loop if it has
5328 dont_vectorized bit set.
5329 (tree_if_conversion): When versioning outer loop, ensure
5330 tree_if_conversion is performed also on the inner loop of the
5331 non-vectorizable outer loop copy.
5332 * tree-vectorizer.c (set_uid_loop_bbs): Formatting fix. Fold
5333 LOOP_VECTORIZED in inner loop of the scalar outer loop and
5334 prevent vectorization of it.
5335 (vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure
5336 the outer loop vectorization of the non-scalar version is attempted
5337 before vectorization of the inner loop in scalar version. If
5338 outer LOOP_VECTORIZED guarded loop is not vectorized, prevent
5339 vectorization of its inner loop.
5340 * tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop
5341 has 2 inner loops, rename also on edges from bb whose single pred
5342 is outer_loop->header. Fix typo in function comment.
5343
5344 2017-01-09 Martin Sebor <msebor@redhat.com>
5345
5346 PR bootstrap/79033
5347 * asan.c (asan_emit_stack_protection): Increase local buffer size
5348 to avoid snprintf truncation warning.
5349
5350 2017-01-09 Andrew Pinski <apinski@cavium.com>
5351
5352 * config/aarch64/aarch64-cores.def: Add thunderx2t99. Change vulcan
5353 to reference thunderx2t99 for the tuning structure
5354 * config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs):
5355 Rename to ...
5356 (thunderx2t99_extra_costs): This.
5357 * config/aarch64/aarch64-tune.md: Regenerate.
5358 * config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ...
5359 (vulcan_addrcost_table): This.
5360 (vulcan_regmove_cost): Rename to ...
5361 (thunderx2t99_regmove_cost): This.
5362 (vulcan_vector_cost): Rename to ...
5363 (thunderx2t99_vector_cost): this.
5364 (vulcan_branch_cost): Rename to ...
5365 (thunderx2t99_branch_cost): This.
5366 (vulcan_tunings): Rename to ...
5367 (thunderx2t99_tunings): This and s/vulcan/thunderx2t99 .
5368 * doc/invoke.texi (AARCH64/mtune): Add thunderx2t99.
5369
5370 2017-01-09 Martin Jambor <mjambor@suse.cz>
5371
5372 PR ipa/78365
5373 PR ipa/78599
5374 * ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr.
5375 * ipa-cp.c (ipa_vr_operation_and_type_effects): New function.
5376 (propagate_vr_accross_jump_function): Use the above function for all
5377 value range computations for pass-through jump functions and type
5378 converasion from explicit value range values.
5379 (ipcp_propagate_stage): Do not attempt to deduce types of formal
5380 parameters from TYPE_ARG_TYPES.
5381 * ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace.
5382 (ipa_write_node_info): Stream type of the actual argument.
5383 (ipa_read_node_info): Likewise. Also remove trailing whitespace.
5384
5385 2017-01-09 Martin Liska <mliska@suse.cz>
5386
5387 PR pch/78970
5388 * gcc.c (driver_handle_option): Handle OPT_E and set have_E.
5389 (lookup_compiler): Do not show error message with have_E.
5390
5391 2017-01-09 Jakub Jelinek <jakub@redhat.com>
5392
5393 PR tree-optimization/78938
5394 * tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR
5395 where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use
5396 BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of
5397 {EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR. Formatting
5398 fixes.
5399
5400 2017-01-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5401
5402 * tree-ssa-address.c (gen_addr_rtx): Don't handle index if it
5403 is const0_rtx.
5404
5405 2017-01-09 Richard Biener <rguenther@suse.de>
5406
5407 PR tree-optimization/78997
5408 * tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA
5409 name condition properly.
5410
5411 2017-01-09 Richard Biener <rguenther@suse.de>
5412
5413 PR debug/79000
5414 * dwarf2out.c (is_cxx): New overload with context.
5415 (is_naming_typedef_decl): Use it.
5416
5417 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
5418
5419 * invoke.texi (Option Summary): Correct spacing in option lists
5420 and add line breaks to fix over-long lines.
5421
5422 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
5423
5424 PR middle-end/17660
5425
5426 * extend.texi (Common Variable Attributes): Add xref to GCC
5427 Internals manual to explain mode attribute keywords.
5428
5429 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
5430
5431 PR other/16519
5432 * doc/invoke.texi (Option Summary): Move -pthread to Linker Options
5433 and Preprocessor Options.
5434 (Options for Linking): Document -pthread here....
5435 (RS/6000 and PowerPC Options): ...not here.
5436 (Solaris 2 Options): ...or here.
5437 * doc/cppopts.texi: Document -pthread.
5438
5439 2017-01-08 Martin Sebor <msebor@redhat.com>
5440
5441 PR middle-end/77708
5442 * doc/invoke.texi (Warning Options): Document -Wformat-truncation.
5443 * gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt):
5444 New member functions.
5445 (format_directive): Used them.
5446 (add_bytes): Same.
5447 (pass_sprintf_length::handle_gimple_call): Same.
5448 * graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size
5449 to avoid truncation for any argument.
5450 (extract_affine_mul): Same.
5451 * tree.c (get_file_function_name): Same.
5452
5453 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
5454
5455 PR middle-end/77484
5456 * predict.def (PRED_INDIR_CALL): Set to 86.
5457
5458 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
5459
5460 PR preprocessor/54124
5461 * doc/cppopts.texi: Reformat -d subtable to list the full name
5462 of the options. Add cross-reference to the docs for the general
5463 compiler -d options.
5464 * doc/invoke.texi (Developer Options): Add cross-reference to the
5465 preprocessor-specific -d option documentation.
5466
5467 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
5468
5469 PR preprocessor/13498
5470 * doc/cpp.texi (Search Path): Rewrite to remove obsolete and
5471 redudant material, and reflect new command-line options.
5472 (System Headers): Likewise.
5473
5474 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
5475
5476 * doc/cppdiropts.texi: Merge documentation of -I, -iquote,
5477 -isystem, and -idirafter. Copy-edit.
5478 * doc/cppopts.texi: Copy-edit. Remove contradiction about
5479 default for -ftrack-macro-expansion. Delete obsolete and
5480 badly-formatted implementation details about -fdebug-cpp output.
5481 * doc/cppwarnopts.texi: Copy-edit.
5482
5483 2017-01-07 David Malcolm <dmalcolm@redhat.com>
5484
5485 PR c++/72803
5486 * input.c (selftest::test_accessing_ordinary_linemaps): Verify
5487 that the transition from a max line width >= 1<<10 to narrower
5488 lines works correctly.
5489
5490 2017-01-07 Alexandre Oliva <aoliva@redhat.com>
5491
5492 * doc/options.texi (PerFunction): New.
5493 * opt-functions.awk (switch_flags): Map both Optimization and
5494 PerFunction to CL_OPTIMIZATION.
5495 * opth-gen.awk: Test for PerFunction flag along with
5496 Optimization.
5497 * optc-save-gen.awk: Likewise. Introduce var_opt_hash and set
5498 it only when the latter is present. Skip those that don't in
5499 the hash function generator.
5500 * common.opt (fvar-tracking): Mark as PerFunction instead of
5501 Optimization.
5502 (fvar-tracking-assignments): Likewise.
5503 (fvar-tracking-assignments-toggle): Likewise.
5504 (fvar-tracking-uninit): Likewise.
5505
5506 2017-01-07 Jakub Jelinek <jakub@redhat.com>
5507
5508 PR translation/79018
5509 * params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between
5510 the and store.
5511
5512 2017-01-06 Mikael Pettersson <mikpelinux@gmail.com>
5513
5514 PR target/57583
5515 * config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option.
5516 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle
5517 TARGET_LONG_JUMP_TABLE_OFFSETS.
5518 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
5519 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
5520 * config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise.
5521 (ASM_OUTPUT_ADDR_DIFF_ELF): Likewise.
5522 * config/m68k/m68k.md (tablejump expander): Likewise.
5523 (*tablejump_pcrel_hi): Renamed from unnamed insn, reject
5524 TARGET_LONG_JUMP_TABLE_OFFSETS.
5525 (*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS.
5526 * doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets.
5527
5528 2017-01-06 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
5529 David Holsgrove <david.holsgrove@xilinx.com>
5530
5531 * common/config/microblaze/microblaze-common.c
5532 (TARGET_EXCEPT_UNWIND_INFO): Remove.
5533 * config/microblaze/microblaze-protos.h (microblaze_eh_return):
5534 New prototype.
5535 * config/microblaze/microblaze.c (microblaze_must_save_register)
5536 (microblaze_expand_epilogue, microblaze_return_addr): Handle
5537 calls_eh_return.
5538 (microblaze_eh_return): New function.
5539 * config/microblaze/microblaze.h (RETURN_ADDR_OFFSET)
5540 (EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM)
5541 (EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros.
5542 * config/microblaze/microblaze.md (eh_return): New pattern.
5543
5544 2017-01-06 Jakub Jelinek <jakub@redhat.com>
5545
5546 * system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP,
5547 GCC_DIAGNOSTIC_STRINGIFY): Define.
5548
5549 * read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare warning.
5550
5551 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
5552
5553 * config/arm/arm.md (<mcrr>): New.
5554 (<mrrc>): New.
5555 * config/arm/arm.c (arm_arch5te): New.
5556 (arm_option_override): Set arm_arch5te.
5557 (arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc
5558 and mrrc2.
5559 * config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to...
5560 (arm_mcrr_qualifiers): ... this. New.
5561 (MRRC_QUALIFIERS): Define to...
5562 (arm_mrrc_qualifiers): ... this. New.
5563 * config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc,
5564 __arm_mrrc2): New.
5565 * config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New.
5566 * config/arm/iterators.md (MCRRI, mcrr, MCRR): New.
5567 (MRRCI, mrrc, MRRC): New.
5568 * config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC,
5569 VUNSPEC_MRRC2): New.
5570
5571 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
5572
5573 * config/arm/arm.md (<mcr>): New.
5574 (<mrc>): New.
5575 * config/arm/arm.c (arm_coproc_builtin_available): Add
5576 support for mcr, mrc, mcr2 and mrc2.
5577 * config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to...
5578 (arm_mcr_qualifiers): ... this. New.
5579 (MRC_QUALIFIERS): Define to ...
5580 (arm_mrc_qualifiers): ... this. New.
5581 (MCR_QUALIFIERS): Define to ...
5582 (arm_mcr_qualifiers): ... this. New.
5583 * config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2,
5584 __arm_mrc2): New.
5585 * config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New.
5586 * config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New.
5587 * config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC,
5588 VUNSPEC_MRC2): New.
5589
5590 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
5591
5592 * config/arm/arm.md (*ldc): New.
5593 (*stc): New.
5594 (<ldc>): New.
5595 (<stc>): New.
5596 * config/arm/arm.c (arm_coproc_builtin_available): Add
5597 support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l.
5598 (arm_coproc_ldc_stc_legitimate_address): New.
5599 * config/arm/arm-builtins.c (arm_type_qualifiers): Add
5600 'qualifier_const_pointer'.
5601 (LDC_QUALIFIERS): Define to...
5602 (arm_ldc_qualifiers): ... this. New.
5603 (STC_QUALIFIERS): Define to...
5604 (arm_stc_qualifiers): ... this. New.
5605 * config/arm/arm-protos.h
5606 (arm_coproc_ldc_stc_legitimate_address): New.
5607 * config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc,
5608 __arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New.
5609 * config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc,
5610 stc2, stcl, stc2l): New.
5611 * config/arm/constraints.md (Uz): New.
5612 * config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New.
5613 * config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL,
5614 VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL,
5615 VUNSPEC_STC2L): New.
5616
5617 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
5618
5619 * config/arm/arm.md (<cdp>): New.
5620 * config/arm/arm.c (neon_const_bounds): Rename this ...
5621 (arm_const_bounds): ... this.
5622 (arm_coproc_builtin_available): New.
5623 * config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase.
5624 (arm_type_qualifiers): Add 'qualifier_unsigned_immediate'.
5625 (CDP_QUALIFIERS): Define to...
5626 (arm_cdp_qualifiers): ... this. New.
5627 (void_UP): Define.
5628 (arm_expand_builtin_args): Add case for 6 arguments.
5629 * config/arm/arm-protos.h (neon_const_bounds): Rename this ...
5630 (arm_const_bounds): ... this.
5631 (arm_coproc_builtin_available): New.
5632 * config/arm/arm_acle.h (__arm_cdp): New.
5633 (__arm_cdp2): New.
5634 * config/arm/arm_acle_builtins.def (cdp): New.
5635 (cdp2): New.
5636 * config/arm/iterators.md (CDPI,CDP,cdp): New.
5637 * config/arm/neon.md: Rename all 'neon_const_bounds' to
5638 'arm_const_bounds'.
5639 * config/arm/types.md (coproc): New.
5640 * config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New.
5641 * gcc/doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics.
5642 * gcc/doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok,
5643 arm_coproc3_ok, arm_coproc4_ok): Document new effective targets.
5644
5645 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
5646
5647 * config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New.
5648 (UBINOP_QUALIFIERS): New.
5649 (si_UP): Define.
5650 (acle_builtin_data): New. Change comment.
5651 (arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H,
5652 ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH,
5653 ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include
5654 arm_acle_builtins.def.
5655 (ARM_BUILTIN_ACLE_PATTERN_START): Define.
5656 (arm_init_acle_builtins): New.
5657 (CRC32_BUILTIN): Remove.
5658 (bdesc_2arg): Remove entries for crc32b, crc32h, crc32w,
5659 crc32cb, crc32ch and crc32cw.
5660 (arm_init_crc32_builtins): Remove.
5661 (arm_init_builtins): Use arm_init_acle_builtins rather
5662 than arm_init_crc32_builtins.
5663 (arm_expand_acle_builtin): New.
5664 (arm_expand_builtin): Use 'arm_expand_acle_builtin'.
5665 * config/arm/arm_acle_builtins.def: New.
5666
5667 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
5668
5669 * config/arm/arm-builtins.c (neon_builtin_datum): Rename to ..
5670 (arm_builtin_datum): ... this.
5671 (arm_init_neon_builtin): Rename to ...
5672 (arm_init_builtin): ... this. Add a new parameters PREFIX
5673 and USE_SIG_IN_NAME.
5674 (arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with
5675 'arm_init_builtin'. Replace type 'neon_builtin_datum' with
5676 'arm_builtin_datum'.
5677 (arm_init_vfp_builtins): Likewise.
5678 (builtin_arg): Rename enum's replacing 'NEON_ARG' with
5679 'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY.
5680 (arm_expand_neon_args): Rename to ...
5681 (arm_expand_builtin_args): ... this. Rename builtin_arg
5682 enum values and differentiate between ARG_BUILTIN_MEMORY
5683 and ARG_BUILTIN_NEON_MEMORY.
5684 (arm_expand_neon_builtin_1): Rename to ...
5685 (arm_expand_builtin_1): ... this. Rename builtin_arg enum
5686 values, arm_expand_builtin_args and add bool parameter NEON.
5687 (arm_expand_neon_builtin): Use arm_expand_builtin_1.
5688 (arm_expand_vfp_builtin): Likewise.
5689 (NEON_MAX_BUILTIN_ARGS): Remove, it was unused.
5690
5691 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
5692
5693 PR middle-end/77484
5694 * predict.def (PRED_POLYMORPHIC_CALL): Set to 59.
5695 * predict.c (tree_estimate_probability_bb): Reverse direction of
5696 polymorphic call predictor.
5697
5698 2017-01-06 David Malcolm <dmalcolm@redhat.com>
5699
5700 * passes.c (execute_one_pass): Split out pass-skipping logic into...
5701 (determine_pass_name_match): ...this new function and...
5702 (should_skip_pass_p): ...this new function.
5703
5704 2017-01-06 Nathan Sidwell <nathan@acm.org>
5705
5706 * ipa-visibility.c (function_and_variable_visibility): Reformat
5707 comments and long lines. Remove extrneous if.
5708 * symtab.c (symtab_node::make_decl_local): Fix code format.
5709 (symtab_node::set_section_for_node): Fix comment typo.
5710
5711 2017-01-06 Martin Liska <mliska@suse.cz>
5712
5713 PR bootstrap/79003
5714 * lra-constraints.c: Rename invariant to lra_invariant.
5715 * predict.c (set_even_probabilities): Initialize e to NULL.
5716
5717 2017-01-05 Martin Sebor <msebor@redhat.com>
5718
5719 PR tree-optimization/78910
5720 * gimple-ssa-sprintf.c (tree_digits): Add an argument.
5721 (format_integer): Correct off-by-one error in the handling
5722 of precision with negative numbers in signed conversions..
5723
5724 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
5725
5726 * doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry.
5727
5728 2017-01-05 Jakub Jelinek <jakub@redhat.com>
5729
5730 PR tree-optimization/71016
5731 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to
5732 factor_out_conditional_conversion. Formatting fix.
5733 (factor_out_conditional_conversion): Add cond_stmt argument.
5734 If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of
5735 cond_stmt and if arg0_def_stmt is not the only stmt in its bb.
5736 Formatting fix.
5737
5738 2017-01-05 David Malcolm <dmalcolm@redhat.com>
5739
5740 * Makefile.in (OBJS): Add read-md.o, read-rtl.o,
5741 read-rtl-function.o, and selftest-rtl.o.
5742 * config/aarch64/aarch64.c: Include selftest.h and selftest-rtl.h.
5743 (selftest::aarch64_test_loading_full_dump): New function.
5744 (selftest::aarch64_run_selftests): New function.
5745 (TARGET_RUN_TARGET_SELFTESTS): Wire it up to
5746 selftest::aarch64_run_selftests.
5747 * config/i386/i386.c
5748 (selftest::ix86_test_loading_dump_fragment_1): New function.
5749 (selftest::ix86_test_loading_call_insn): New function.
5750 (selftest::ix86_test_loading_full_dump): New function.
5751 (selftest::ix86_test_loading_unspec): New function.
5752 (selftest::ix86_run_selftests): Call the new functions.
5753 * emit-rtl.c (maybe_set_max_label_num): New function.
5754 * emit-rtl.h (maybe_set_max_label_num): New decl.
5755 * function.c (instantiate_decls): Guard call to
5756 instantiate_decls_1 with if (DECL_INITIAL (fndecl)).
5757 * function-tests.c (selftest::verify_three_block_rtl_cfg): Remove
5758 "static".
5759 * gensupport.c (gen_reader::gen_reader): Pass "false"
5760 for new "compact" param of rtx_reader.
5761 * print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)"
5762 rather than an empty string for NULL strings.
5763 * read-md.c: Potentially include config.h rather than bconfig.h.
5764 Wrap include of errors.h with #ifdef GENERATOR_FILE.
5765 (have_error): New global, copied from errors.c.
5766 (md_reader::read_name): Rename to...
5767 (md_reader::read_name_1): ...this, adding "out_loc" param,
5768 and converting "missing name or number" to returning false, rather
5769 than failing.
5770 (md_reader::read_name): Reimplement in terms of read_name_1.
5771 (md_reader::read_name_or_nil): New function.
5772 (md_reader::read_string): Handle "(nil)" by returning NULL.
5773 (md_reader::md_reader): Add new param "compact".
5774 (md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE.
5775 (md_reader::read_file): New method.
5776 * read-md.h (md_reader::md_reader): Add new param "compact".
5777 (md_reader::read_file): New method.
5778 (md_reader::is_compact): New accessor.
5779 (md_reader::read_name): Convert return type from void to file_location.
5780 (md_reader::read_name_or_nil): New decl.
5781 (md_reader::read_name_1): New decl.
5782 (md_reader::m_compact): New field.
5783 (noop_reader::noop_reader): Pass "false" for new "compact" param
5784 of rtx_reader.
5785 (rtx_reader::rtx_reader): Add new "compact" param.
5786 (rtx_reader::read_rtx_operand): Make virtual and convert return
5787 type from void to rtx.
5788 (rtx_reader::read_until): New decl.
5789 (rtx_reader::handle_any_trailing_information): New virtual function.
5790 (rtx_reader::postprocess): New virtual function.
5791 (rtx_reader::finalize_string): New virtual function.
5792 (rtx_reader::m_in_call_function_usage): New field.
5793 (rtx_reader::m_reuse_rtx_by_id): New field.
5794 * read-rtl-function.c: New file.
5795 * selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function.
5796 * selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro.
5797 (selftest::verify_three_block_rtl_cfg): New decl.
5798 * read-rtl-function.h: New file.
5799 * read-rtl.c: Potentially include config.h rather than bconfig.h.
5800 For host, include function.h, memmodel.h, and emit-rtl.h.
5801 (one_time_initialization): New function.
5802 (struct compact_insn_name): New struct.
5803 (compact_insn_names): New array.
5804 (find_code): Handle insn codes in compact dumps.
5805 (apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE.
5806 (bind_subst_iter_and_attr): Likewise.
5807 (add_condition_to_string): Likewise.
5808 (add_condition_to_rtx): Likewise.
5809 (apply_attribute_uses): Likewise.
5810 (add_current_iterators): Likewise.
5811 (apply_iterators): Likewise.
5812 (initialize_iterators): Guard usage of apply_subst_iterator with
5813 #ifdef GENERATOR_FILE.
5814 (read_conditions): Wrap with #ifdef GENERATOR_FILE.
5815 (md_reader::read_mapping): Likewise.
5816 (add_define_attr_for_define_subst): Likewise.
5817 (add_define_subst_attr): Likewise.
5818 (read_subst_mapping): Likewise.
5819 (check_code_iterator): Likewise.
5820 (rtx_reader::read_rtx): Likewise. Move one-time initialization
5821 logic to...
5822 (one_time_initialization): New function.
5823 (rtx_reader::read_until): New method.
5824 (read_flags): New function.
5825 (parse_reg_note_name): New function.
5826 (rtx_reader::read_rtx_code): Initialize "iterator" to NULL.
5827 Handle reuse_rtx ids.
5828 Wrap iterator lookup within #ifdef GENERATOR_FILE.
5829 Add parsing support for RTL dumps, mirroring the special-cases in
5830 print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID
5831 values, and calling handle_any_trailing_information.
5832 (rtx_reader::read_rtx_operand): Convert return type from void
5833 to rtx, returning return_rtx. Handle case 'e'. Call
5834 finalize_string on XSTR and XTMPL fields.
5835 (rtx_reader::read_nested_rtx): Handle dumps in which trailing
5836 "(nil)" values were omitted. Call the postprocess vfunc on the
5837 return_rtx.
5838 (rtx_reader::rtx_reader): Add new "compact" param and pass to base
5839 class ctor. Initialize m_in_call_function_usage. Call
5840 one_time_initialization.
5841 * rtl-tests.c (selftest::test_uncond_jump): Call
5842 set_new_first_and_last_insn.
5843 * rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE.
5844 * selftest-rtl.c: New file.
5845 * selftest-rtl.h (class selftest::rtl_dump_test): New class.
5846 (selftest::get_insn_by_uid): New decl.
5847 * selftest-run-tests.c (selftest::run_tests): Call
5848 read_rtl_function_c_tests.
5849 * selftest.h (selftest::read_rtl_function_c_tests): New decl.
5850 * tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function
5851 dumps.
5852
5853 2017-01-05 Uros Bizjak <ubizjak@gmail.com>
5854
5855 * config/i386/i386.md (*testqi_ext_3): No need to handle memory
5856 operands in a special way. Assert that pos+len <= mode precision.
5857
5858 2017-01-05 Jakub Jelinek <jakub@redhat.com>
5859
5860 * common.opt (fvect-cost-model): Remove RejectNegative flag, use
5861 3 argument Alias with unlimited for the negative form.
5862 (fno-vect-cost-model): Removed.
5863
5864 2017-01-05 Martin Liska <mliska@suse.cz>
5865
5866 * hsa-gen.c (gen_hsa_divmod): New function.
5867 (gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD.
5868
5869 2017-01-05 Martin Liska <mliska@suse.cz>
5870
5871 PR pch/78970
5872 * gcc.c (lookup_compiler): Reject '-' filename for a precompiled
5873 header.
5874
5875 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5876
5877 * config/s390/s390.c (s390_expand_setmem): Unroll the loop for
5878 small constant length operands.
5879
5880 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5881
5882 * config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes
5883 between loop iterations.
5884
5885 2017-01-05 Martin Liska <mliska@suse.cz>
5886
5887 PR sanitizer/78815
5888 * gimplify.c (gimplify_decl_expr): Compare to
5889 asan_poisoned_variables instread of checking flags.
5890 (gimplify_target_expr): Likewise.
5891 (gimplify_expr): Likewise.
5892 (gimplify_function_tree): Conditionally initialize
5893 asan_poisoned_variables.
5894
5895 2017-01-04 Jeff Law <law@redhat.com>
5896
5897 PR tree-optimizatin/78812
5898 * rtl.h (contains_mem_rtx_p): Prototype.
5899 * ifcvt.c (containts_mem_rtx_p): Move from here to...
5900 * rtlanal.c (contains_mem_rtx_p): Here and remove static linkage.
5901 * gcse.c (prune_expressions): Use contains_mem_rtx_p to discover
5902 and prune MEMs that are not at the toplevel of a SET_SRC rtx. Look
5903 through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs.
5904
5905 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
5906
5907 * input.c (assert_char_at_range): Default-initialize actual_range.
5908
5909 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
5910
5911 * df-scan.c (df_ref_create_structure): Make regno unsigned,
5912 to match the caller.
5913
5914 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
5915
5916 * cfgexpand.c (expand_gimple_basic_block): Disregard debug
5917 insns after final jump in test to emit dummy move.
5918
5919 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
5920
5921 * gimple-iterator.h (gsi_one_nondebug_before_end_p): New.
5922 * tree-eh.c (cleanup_empty_eh): Skip more debug stmts.
5923
5924 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
5925
5926 * multiple_target.c (create_dispatcher_calls): Init e_next.
5927 * tree-ssa-loop-split.c (split_loop): Init border.
5928 * tree-vect-loop.c (vect_determine_vectorization_factor): Init
5929 scalar_type.
5930
5931 2017-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
5932
5933 PR target/71977
5934 PR target/70568
5935 PR target/78823
5936 * config/rs6000/predicates.md (sf_subreg_operand): New predicate.
5937 (altivec_register_operand): Do not return true if the operand
5938 contains a SUBREG mixing SImode and SFmode.
5939 (vsx_register_operand): Likewise.
5940 (vsx_reg_sfsubreg_ok): New predicate.
5941 (vfloat_operand): Do not return true if the operand contains a
5942 SUBREG mixing SImode and SFmode.
5943 (vint_operand): Likewise.
5944 (vlogical_operand): Likewise.
5945 (gpc_reg_operand): Likewise.
5946 (int_reg_operand): Likewise.
5947 * config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration.
5948 * config/rs6000/rs6000.c (valid_sf_si_move): New function to
5949 determine if a MOVSI or MOVSF operation contains SUBREGs that mix
5950 SImode and SFmode.
5951 (rs6000_emit_move_si_sf_subreg): New helper function.
5952 (rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily
5953 fixup SUBREGs involving SImode and SFmode.
5954 * config/rs6000/vsx.md (SFBOOL_*): New constants that are operand
5955 numbers for the new peephole2 optimization.
5956 (peephole2 for SFmode unions): New peephole2 to optimize cases in
5957 the GLIBC math library that do AND/IOR/XOR operations on single
5958 precision floating point.
5959 * config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal
5960 target macros to say whether we need to avoid SUBREGs mixing
5961 SImode and SFmode.
5962 (TARGET_ALLOW_SF_SUBREG): Likewise.
5963 * config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs.
5964 (UNSPEC_SI_FROM_SF): Likewise.
5965 (iorxor): Change spacing.
5966 (and_ior_xor): New iterator for AND, IOR, and XOR.
5967 (movsi_from_sf): New insns for SImode/SFmode SUBREG support.
5968 (movdi_from_sf_zero_ext): Likewise.
5969 (mov<mode>_hardfloat, FMOVE32 iterator): Use register_operand
5970 instead of gpc_reg_operand. Add SImode/SFmode SUBREG support.
5971 (movsf_from_si): New insn for SImode/SFmode SUBREG support.
5972 (fma<mode>4): Use gpc_reg_operand instead of register_operand.
5973 (fms<mode>4): Likewise.
5974 (fnma<mode>4): Likewise.
5975 (fnms<mode>4): Likewise.
5976 (nfma<mode>4): Likewise.
5977 (nfms<mode>4): Likewise.
5978
5979 2017-01-04 Marek Polacek <polacek@redhat.com>
5980
5981 PR c++/64767
5982 * doc/invoke.texi: Document -Wpointer-compare.
5983
5984 2017-01-04 Jakub Jelinek <jakub@redhat.com>
5985
5986 * optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without
5987 RejectNegative.
5988
5989 * dwarf2out.c (output_loc_list): Don't throw away 64K+ location
5990 descriptions for -gdwarf-5 and emit them as uleb128 instead of
5991 2-byte data.
5992
5993 2017-01-04 Kelvin Nilsen <kelvin@gcc.gnu.org>
5994
5995 PR target/78056
5996 * doc/sourcebuild.texi (PowerPC-specific attributes): Add
5997 documentation of the powerpc_popcntb_ok attribute.
5998 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
5999 code to issue warning messages if a requested CPU configuration is
6000 not supported by the binary (assembler and loader) toolchain.
6001 (spe_init_builtins): Add two assertions to prevent ICE if attempt is
6002 made to define a built-in function that has been disabled.
6003 (paired_init_builtins): Add assertion to prevent ICE if attempt is
6004 made to define a built-in function that has been disabled.
6005 (altivec_init_builtins): Add comment explaining why definition
6006 of the DST built-in functions is not preceded by an assertion
6007 check. Add assertions to prevent ICE if attempts are made to
6008 define an altivec predicate or an abs* built-in function that has
6009 been disabled.
6010 (htm_init_builtins): Add comment explaining why definition of the
6011 htm built-in functions is not preceded by an assertion check.
6012
6013 2017-01-04 Jeff Law <law@redhat.com>
6014
6015 PR tree-optimizatin/67955
6016 * tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first.
6017 Allow any SSA_VAR_P as the base objects. Use integer_zerop. Verify
6018 the points-to solution does not include pt_null. Use DECL_PT_UID
6019 unconditionally.
6020
6021 2017-01-04 Uros Bizjak <ubizjak@gmail.com>
6022
6023 * config/i386/i386.md (HI/SImode test with imm to QImode splitters):
6024 Use gen_int_mode instead of gen_lopwart for const_int operands.
6025
6026 2017-01-04 Jakub Jelinek <jakub@redhat.com>
6027
6028 PR tree-optimization/71563
6029 * match.pd: Simplify X << Y into X if Y is known to be 0 or
6030 out of range value - has low bits known to be zero.
6031
6032 2017-01-04 Alan Modra <amodra@gmail.com>
6033
6034 * Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
6035 * configure: Regenerate.
6036 * config.in: Regenerate.
6037
6038 2017-01-04 Jakub Jelinek <jakub@redhat.com>
6039
6040 PR bootstrap/77569
6041 * input.c (ebcdic_execution_charset::on_error): Don't use strstr for
6042 a substring of the message, but strcmp with the whole message. Ifdef
6043 ENABLE_NLS, translate the message first using dgettext.
6044
6045 2017-01-03 Jeff Law <law@redhat.com>
6046
6047 PR tree-optimizatin/78856
6048 * tree-ssa-threadupdate.c: Include tree-vectorizer.h.
6049 (mark_threaded_blocks): Remove code to truncate thread paths that
6050 cross multiple loop headers. Instead invalidate the cached loop
6051 iteration information and handle case of a thread path walking
6052 into an irreducible region.
6053
6054 2017-01-03 Michael Meissner <meissner@linux.vnet.ibm.com>
6055
6056 PR target/78900
6057 * config/rs6000/rs6000.c (rs6000_split_signbit): Change some
6058 assertions. Add support for doing the signbit if the IEEE 128-bit
6059 floating point value is in a GPR.
6060 * config/rs6000/rs6000.md (Fsignbit): Delete.
6061 (signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
6062 Update the length attribute if the value is in a GPR.
6063 (signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
6064 the sign or zero extension instruction, since the value is always 0/1.
6065 (signbit<mode>2_dm2): Delete using <Fsignbit>.
6066
6067 PR target/78953
6068 * config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
6069 extracting SImode to a GPR register so that we can generate a
6070 store, limit the vector to be in a traditional Altivec register
6071 for the vextuwrx instruction.
6072
6073 2017-01-03 Ian Lance Taylor <iant@google.com>
6074
6075 * godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE.
6076
6077 2017-01-03 Martin Sebor <msebor@redhat.com>
6078
6079 PR tree-optimization/78696
6080 * gimple-ssa-sprintf.c (format_floating): Correct handling of
6081 precision. Use MPFR for %f for greater fidelity. Correct handling
6082 of %g.
6083 (pass_sprintf_length::compute_format_length): Set width and precision
6084 specified by asrerisk to void_node for vararg functions.
6085 (try_substitute_return_value): Adjust dump output.
6086
6087 2017-01-03 David Edelsohn <dje.gcc@gmail.com>
6088
6089 * doc/invoke.texi (RS6000 options): LRA is enabled by default.
6090
6091 2017-01-03 Eric Botcazou <ebotcazou@adacore.com>
6092
6093 * doc/invoke.texi (SPARC options): Document -mlra as the default.
6094 * config/sparc/sparc.c (sparc_option_override): Force LRA unless
6095 -mlra/-mno-lra was passed to the compiler.
6096
6097 2017-01-03 James Cowgill <James.Cowgill@imgtec.com>
6098
6099 PR rtl-optimization/65618
6100 * emit-rtl.c (try_split): Move initialization of "before" and
6101 "after" to just before the call to emit_insn_after_setloc.
6102
6103 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
6104
6105 * doc/md.texi (Standard Names): Remove reference to Java frontend.
6106
6107 2017-01-03 Pierre-Marie de Rodat <derodat@adacore.com>
6108
6109 * dwarf2out.c (gen_enumeration_type_die): When
6110 -gno-strict-dwarf, add a DW_AT_encoding attribute.
6111
6112 2017-01-03 Jakub Jelinek <jakub@redhat.com>
6113
6114 PR tree-optimization/78965
6115 * gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
6116 Change first argument from const call_info & to call_info &. For %n
6117 set info.nowrite to false.
6118
6119 PR middle-end/78901
6120 * gimple-ssa-sprintf.c (try_substitute_return_value): Don't change
6121 possibly throwing calls.
6122
6123 * genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME
6124 and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs
6125 and fns handling, rather than in a separate case SSA_NAME.
6126
6127 2017-01-02 Jeff Law <law@redhat.com>
6128
6129 * config/darwin-driver.c (darwin_driver_init): Const-correctness
6130 fixes for first_period and second_period variables.
6131
6132 2017-01-02 Uros Bizjak <ubizjak@gmail.com>
6133
6134 PR target/78967
6135 * config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
6136 (*insvqi_1): New insn pattern.
6137 (*insvqi_1_mem_rex64): Ditto.
6138 (*insvqi_2): Ditto.
6139 (*insvqi_3): Rename from *insvqi.
6140
6141 (*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.
6142
6143 2017-01-02 Gerald Pfeifer <gerald@pfeifer.com>
6144
6145 * doc/cfg.texi (Edges): Remove reference to Java.
6146 (Maintaining the CFG): Ditto.
6147
6148 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
6149
6150 PR middle-end/77674
6151 * symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
6152 transparent aliases.
6153
6154 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
6155
6156 PR middle-end/77484
6157 * predict.def (PRED_CALL): Update hitrate.
6158 (PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
6159 * predict.c (tree_estimate_probability_bb): Split CALL predictor
6160 into direct/indirect/polymorphic variants.
6161
6162 2017-01-01 Jakub Jelinek <jakub@redhat.com>
6163
6164 Update copyright years.
6165
6166 * gcc.c (process_command): Update copyright notice dates.
6167 * gcov-dump.c (print_version): Ditto.
6168 * gcov.c (print_version): Ditto.
6169 * gcov-tool.c (print_version): Ditto.
6170 * gengtype.c (create_file): Ditto.
6171 * doc/cpp.texi: Bump @copying's copyright year.
6172 * doc/cppinternals.texi: Ditto.
6173 * doc/gcc.texi: Ditto.
6174 * doc/gccint.texi: Ditto.
6175 * doc/gcov.texi: Ditto.
6176 * doc/install.texi: Ditto.
6177 * doc/invoke.texi: Ditto.
6178 \f
6179 Copyright (C) 2017 Free Software Foundation, Inc.
6180
6181 Copying and distribution of this file, with or without modification,
6182 are permitted in any medium without royalty provided the copyright
6183 notice and this notice are preserved.