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