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