tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also max_loop_iterations_int.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2016-04-18  Jan Hubicka  <jh@suse.cz>
2
3         * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
4         max_loop_iterations_int.
5         (tree_unswitch_outer_loop): Likewise.
6
7 2016-04-20  Bin Cheng  <bin.cheng@arm.com>
8
9         PR tree-optimization/69489
10         * tree-if-conv.c (phi_convertible_by_degenerating_args): New.
11         (if_convertible_phi_p): Call phi_convertible_by_degenerating_args.
12         Revise dump message.
13         (if_convertible_bb_p): Remove check on edge count of basic block's
14         predecessors.
15
16 2016-04-20  Bin Cheng  <bin.cheng@arm.com>
17
18         PR tree-optimization/56625
19         PR tree-optimization/69489
20         * tree-data-ref.h (DR_INNERMOST): New macro.
21         * tree-if-conv.c (innermost_loop_behavior_hash): New class for
22         hashing struct innermost_loop_behavior.
23         (ref_DR_map): Remove.
24         (innermost_DR_map): New map.
25         (baseref_DR_map): Revise comment.
26         (hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR
27         to innermost_DR_map accroding to its innermost loop behavior.
28         (ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according
29         to its innermost loop behavior.
30         (if_convertible_loop_p_1): Remove intialization for ref_DR_map.
31         Add initialization for innermost_DR_map.  Record memory reference
32         in DR_BASE_ADDRESS if the reference is compound one or it doesn't
33         have innermost loop behavior.
34         (if_convertible_loop_p): Remove release for ref_DR_map.  Release
35         innermost_DR_map.
36
37 2016-04-20  Uros Bizjak  <ubizjak@gmail.com>
38
39         * config/i386/i386.md (*lea<mode>_general_1): Rename from
40         *lea_general_1.  Use explicit SWI12 mode interator.
41         (*lea<mode>_general_2): Rename from *lea_general_2.
42         Use explicit SWI12 mode interator.
43         (*lea<mode>_general_3): Rename from *lea_general_3.
44         Use explicit SWI12 mode interator.
45         (*lea<SWI12:mode>_general_4): Split from *lea_general_4.
46         Use explicit SWI12 mode interator.
47         (*lea<SWI48:mode>_general_4): Split from *lea_general_4.
48         Use explicit SWI48 mode interator.
49
50 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
51
52         * config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
53         Short-cut unaligned load and store cases.  Handle all integer
54         vector modes.
55         (ix86_expand_vector_move_misalign): Short-cut unaligned load
56         and store cases.  Call ix86_avx256_split_vector_move_misalign
57         directly without checking mode class.
58
59 2016-04-20  Andrew Pinski  <apinski@cavium.com>
60             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
61
62         PR target/64971
63         * config/aarch64/aarch64.md (sibcall): Force call
64         address to be DImode for ILP32.
65         (sibcall_value): Likewise.
66
67 2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>
68
69         * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
70
71 2016-04-20  Richard Biener  <rguenther@suse.de>
72
73         * gimple-match.h (maybe_build_generic_op): Adjust prototype.
74         * gimple-match-head.c (maybe_build_generic_op): Pass all ops
75         by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF.
76         (maybe_push_res_to_seq): Adjust.
77         * gimple-fold.c (maybe_build_generic_op): Likewise.
78
79 2016-04-20  Marek Polacek  <polacek@redhat.com>
80
81         * tree-if-conv.c (is_false_predicate): For NULL_TREE return false
82         rather than true.
83
84 2016-04-20  Ilya Enkovich  <ilya.enkovich@intel.com>
85
86         * config/i386/sse.md (vec_unpacks_lo_hi): Always
87         use kmovw to support AVX512F target.
88
89 2016-04-20  Bin Cheng  <bin.cheng@arm.com>
90
91         * tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.
92
93 2016-04-20  Marek Polacek  <polacek@redhat.com>
94
95         PR tree-optimization/70725
96         * tree-if-conv.c (is_false_predicate): New function.
97         (predicate_mem_writes): Use it.
98
99 2016-04-20  Richard Biener  <rguenther@suse.de>
100
101         PR tree-optimization/70726
102         * tree-vect-stmts.c (vectorizable_shift): Do not use scalar
103         shift amounts from a pattern stmt operand.
104
105 2016-04-20  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
106
107         PR target/70674
108         * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
109         stack_restore_from_fpr pattern when restoring r15.
110         (s390_optimize_prologue): Strip away the memory barrier in the
111         parallel when trying to get rid of restore insns.
112         * config/s390/s390.md ("stack_restore_from_fpr"): New insn
113         definition for loading the stack pointer from an FPR.  Compared to
114         the normal move insn this pattern includes a full memory barrier.
115
116 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
117
118         PR middle-end/70680
119         * gimplify.c (gimplify_omp_for): Call omp_notice_variable for
120         implicitly linear or lastprivate iterator on the outer context.
121
122 2016-04-19  H.J. Lu  <hongjiu.lu@intel.com>
123
124         * config/i386/i386.c (ix86_legitimate_combined_insn): Remove
125         alignment check.
126         * config/i386/i386.md (ssememalign): Removed.
127         * config/i386/sse.md: Remove ssememalign attribute from patterns.
128
129 2016-04-19  H.J. Lu  <hongjiu.lu@intel.com>
130
131         PR target/69201
132         * config/i386/avx512bwintrin.h (_mm512_mask_loadu_epi16): Pass
133         const short * to __builtin_ia32_loaddquhi512_mask.
134         (_mm512_maskz_loadu_epi16): Likewise.
135         (_mm512_mask_storeu_epi16): Pass short * to
136         __builtin_ia32_storedquhi512_mask.
137         (_mm512_mask_loadu_epi8): Pass const char * to
138         __builtin_ia32_loaddquqi512_mask.
139         (_mm512_maskz_loadu_epi8): Likewise.
140         (_mm512_mask_storeu_epi8): Pass char * to
141         __builtin_ia32_storedquqi512_mask.
142         * config/i386/avx512fintrin.h (_mm512_loadu_pd): Pass
143         const double * to __builtin_ia32_loadupd512_mask.
144         (_mm512_mask_loadu_pd): Likewise.
145         (_mm512_maskz_loadu_pd): Likewise.
146         (_mm512_storeu_pd): Pass double * to
147         __builtin_ia32_storeupd512_mask.
148         (_mm512_mask_storeu_pd): Likewise.
149         (_mm512_loadu_ps): Pass const float * to
150         __builtin_ia32_loadups512_mask.
151         (_mm512_mask_loadu_ps): Likewise.
152         (_mm512_maskz_loadu_ps): Likewise.
153         (_mm512_storeu_ps): Pass float * to
154         __builtin_ia32_storeups512_mask.
155         (_mm512_mask_storeu_ps): Likewise.
156         (_mm512_mask_loadu_epi64): Pass const long long * to
157         __builtin_ia32_loaddqudi512_mask.
158         (_mm512_maskz_loadu_epi64): Likewise.
159         (_mm512_mask_storeu_epi64): Pass long long *
160         to __builtin_ia32_storedqudi512_mask.
161         (_mm512_loadu_si512): Pass const int * to
162         __builtin_ia32_loaddqusi512_mask.
163         (_mm512_mask_loadu_epi32): Likewise.
164         (_mm512_maskz_loadu_epi32): Likewise.
165         (_mm512_storeu_si512): Pass int * to
166         __builtin_ia32_storedqusi512_mask.
167         (_mm512_mask_storeu_epi32): Likewise.
168         * config/i386/avx512vlbwintrin.h (_mm256_mask_storeu_epi8): Pass
169         char * to __builtin_ia32_storedquqi256_mask.
170         (_mm_mask_storeu_epi8): Likewise.
171         (_mm256_mask_loadu_epi16): Pass const short * to
172         __builtin_ia32_loaddquhi256_mask.
173         (_mm256_maskz_loadu_epi16): Likewise.
174         (_mm_mask_loadu_epi16): Pass const short * to
175         __builtin_ia32_loaddquhi128_mask.
176         (_mm_maskz_loadu_epi16): Likewise.
177         (_mm256_mask_loadu_epi8): Pass const char * to
178         __builtin_ia32_loaddquqi256_mask.
179         (_mm256_maskz_loadu_epi8): Likewise.
180         (_mm_mask_loadu_epi8): Pass const char * to
181         __builtin_ia32_loaddquqi128_mask.
182         (_mm_maskz_loadu_epi8): Likewise.
183         (_mm256_mask_storeu_epi16): Pass short * to.
184         __builtin_ia32_storedquhi256_mask.
185         (_mm_mask_storeu_epi16): Pass short * to.
186         __builtin_ia32_storedquhi128_mask.
187         * config/i386/avx512vlintrin.h (_mm256_mask_loadu_pd): Pass
188         const double * to __builtin_ia32_loadupd256_mask.
189         (_mm256_maskz_loadu_pd): Likewise.
190         (_mm_mask_loadu_pd): Pass onst double * to
191         __builtin_ia32_loadupd128_mask.
192         (_mm_maskz_loadu_pd): Likewise.
193         (_mm256_mask_storeu_pd): Pass double * to
194         __builtin_ia32_storeupd256_mask.
195         (_mm_mask_storeu_pd): Pass double * to
196         __builtin_ia32_storeupd128_mask.
197         (_mm256_mask_loadu_ps): Pass const float * to
198         __builtin_ia32_loadups256_mask.
199         (_mm256_maskz_loadu_ps): Likewise.
200         (_mm_mask_loadu_ps): Pass const float * to
201         __builtin_ia32_loadups128_mask.
202         (_mm_maskz_loadu_ps): Likewise.
203         (_mm256_mask_storeu_ps): Pass float * to
204         __builtin_ia32_storeups256_mask.
205         (_mm_mask_storeu_ps): ass float * to
206         __builtin_ia32_storeups128_mask.
207         (_mm256_mask_loadu_epi64): Pass const long long * to
208         __builtin_ia32_loaddqudi256_mask.
209         (_mm256_maskz_loadu_epi64): Likewise.
210         (_mm_mask_loadu_epi64): Pass const long long * to
211         __builtin_ia32_loaddqudi128_mask.
212         (_mm_maskz_loadu_epi64): Likewise.
213         (_mm256_mask_storeu_epi64): Pass long long * to
214         __builtin_ia32_storedqudi256_mask.
215         (_mm_mask_storeu_epi64): Pass long long * to
216         __builtin_ia32_storedqudi128_mask.
217         (_mm256_mask_loadu_epi32): Pass const int * to
218         __builtin_ia32_loaddqusi256_mask.
219         (_mm256_maskz_loadu_epi32): Likewise.
220         (_mm_mask_loadu_epi32): Pass const int * to
221         __builtin_ia32_loaddqusi128_mask.
222         (_mm_maskz_loadu_epi32): Likewise.
223         (_mm256_mask_storeu_epi32): Pass int * to
224         __builtin_ia32_storedqusi256_mask.
225         (_mm_mask_storeu_epi32): Pass int * to
226         __builtin_ia32_storedqusi128_mask.
227         * config/i386/i386-builtin-types.def (PCSHORT): New.
228         (PINT64): Likewise.
229         (V64QI_FTYPE_PCCHAR_V64QI_UDI): Likewise.
230         (V32HI_FTYPE_PCSHORT_V32HI_USI): Likewise.
231         (V32QI_FTYPE_PCCHAR_V32QI_USI): Likewise.
232         (V16SF_FTYPE_PCFLOAT_V16SF_UHI): Likewise.
233         (V8DF_FTYPE_PCDOUBLE_V8DF_UQI): Likewise.
234         (V16SI_FTYPE_PCINT_V16SI_UHI): Likewise.
235         (V16HI_FTYPE_PCSHORT_V16HI_UHI): Likewise.
236         (V16QI_FTYPE_PCCHAR_V16QI_UHI): Likewise.
237         (V8SF_FTYPE_PCFLOAT_V8SF_UQI): Likewise.
238         (V8DI_FTYPE_PCINT64_V8DI_UQI): Likewise.
239         (V8SI_FTYPE_PCINT_V8SI_UQI): Likewise.
240         (V8HI_FTYPE_PCSHORT_V8HI_UQI): Likewise.
241         (V4DF_FTYPE_PCDOUBLE_V4DF_UQI): Likewise.
242         (V4SF_FTYPE_PCFLOAT_V4SF_UQI): Likewise.
243         (V4DI_FTYPE_PCINT64_V4DI_UQI): Likewise.
244         (V4SI_FTYPE_PCINT_V4SI_UQI): Likewise.
245         (V2DF_FTYPE_PCDOUBLE_V2DF_UQI): Likewise.
246         (V2DI_FTYPE_PCINT64_V2DI_UQI): Likewise.
247         (VOID_FTYPE_PDOUBLE_V8DF_UQI): Likewise.
248         (VOID_FTYPE_PDOUBLE_V4DF_UQI): Likewise.
249         (VOID_FTYPE_PDOUBLE_V2DF_UQI): Likewise.
250         (VOID_FTYPE_PFLOAT_V16SF_UHI): Likewise.
251         (VOID_FTYPE_PFLOAT_V8SF_UQI): Likewise.
252         (VOID_FTYPE_PFLOAT_V4SF_UQI): Likewise.
253         (VOID_FTYPE_PINT64_V8DI_UQI): Likewise.
254         (VOID_FTYPE_PINT64_V4DI_UQI): Likewise.
255         (VOID_FTYPE_PINT64_V2DI_UQI): Likewise.
256         (VOID_FTYPE_PINT_V16SI_UHI): Likewise.
257         (VOID_FTYPE_PINT_V8SI_UHI): Likewise.
258         (VOID_FTYPE_PINT_V4SI_UHI): Likewise.
259         (VOID_FTYPE_PSHORT_V32HI_USI): Likewise.
260         (VOID_FTYPE_PSHORT_V16HI_UHI): Likewise.
261         (VOID_FTYPE_PSHORT_V8HI_UQI): Likewise.
262         (VOID_FTYPE_PCHAR_V64QI_UDI): Likewise.
263         (VOID_FTYPE_PCHAR_V32QI_USI): Likewise.
264         (VOID_FTYPE_PCHAR_V16QI_UHI): Likewise.
265         (V64QI_FTYPE_PCV64QI_V64QI_UDI): Removed.
266         (V32HI_FTYPE_PCV32HI_V32HI_USI): Likewise.
267         (V32QI_FTYPE_PCV32QI_V32QI_USI): Likewise.
268         (V16HI_FTYPE_PCV16HI_V16HI_UHI): Likewise.
269         (V16QI_FTYPE_PCV16QI_V16QI_UHI): Likewise.
270         (V8HI_FTYPE_PCV8HI_V8HI_UQI): Likewise.
271         (VOID_FTYPE_PV32HI_V32HI_USI): Likewise.
272         (VOID_FTYPE_PV16HI_V16HI_UHI): Likewise.
273         (VOID_FTYPE_PV8HI_V8HI_UQI): Likewise.
274         (VOID_FTYPE_PV64QI_V64QI_UDI): Likewise.
275         (VOID_FTYPE_PV32QI_V32QI_USI): Likewise.
276         (VOID_FTYPE_PV16QI_V16QI_UHI): Likewise.
277         * config/i386/i386.c (ix86_emit_save_reg_using_mov): Don't
278         use UNSPEC_STOREU.
279         (ix86_emit_restore_sse_regs_using_mov): Don't use UNSPEC_LOADU.
280         (ix86_avx256_split_vector_move_misalign): Don't use unaligned
281         load nor store.
282         (ix86_expand_vector_move_misalign): Likewise.
283         (bdesc_special_args): Use CODE_FOR_movvNXY_internal and pointer
284         to scalar function prototype for unaligned load/store builtins.
285         (ix86_expand_special_args_builtin): Updated.
286         * config/i386/sse.md (UNSPEC_LOADU): Removed.
287         (UNSPEC_STOREU): Likewise.
288         (VI_ULOADSTORE_BW_AVX512VL): Likewise.
289         (VI_ULOADSTORE_F_AVX512VL): Likewise.
290         (ssescalarsize): Handle V4TI, V2TI and V1TI.
291         (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
292         (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
293         (<sse>_storeu<ssemodesuffix><avxsizesuffix>): Likewise.
294         (<avx512>_storeu<ssemodesuffix><avxsizesuffix>_mask): Likewise.
295         (<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Likewise.
296         (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"): Likewise.
297         (sse2_avx_avx512f>_storedqu<mode>): Likewise.
298         (<avx512>_storedqu<mode>_mask): Likewise.
299         (*sse4_2_pcmpestr_unaligned): Likewise.
300         (*sse4_2_pcmpistr_unaligned): Likewise.
301         (*mov<mode>_internal): Renamed to ...
302         (mov<mode>_internal): This.  Remove check of AVX and IAMCU on
303         misaligned operand.  Replace vmovdqu64 with vmovdqu<ssescalarsize>.
304         (movsd/movhpd to movupd peephole): Don't use UNSPEC_LOADU.
305         (movlpd/movhpd to movupd peephole): Don't use UNSPEC_STOREU.
306
307 2016-04-19  Richard Biener  <rguenther@suse.de>
308
309         PR tree-optimization/70171
310         * tree-ssa-phiprop.c: Include stor-layout.h.
311         (phiprop_insert_phi): Handle the aggregate copy case.
312         (propagate_with_phi): Likewise.
313
314 2016-04-19  Uros Bizjak  <ubizjak@gmail.com>
315
316         * config/i386/i386.c (ix86_decompose_address): Use lowpart_subreg
317         instead of simplify_gen_subreg (... , 0).
318         (ix86_delegitimize_address): Ditto.
319         (ix86_split_divmod): Ditto.
320         (ix86_split_copysign_const): Ditto.
321         (ix86_split_copysign_var): Ditto.
322         (ix86_expand_args_builtin): Ditto.
323         (ix86_expand_round_builtin): Ditto.
324         (ix86_expand_special_args_builtin): Ditto.
325         * config/i386/i386.md (TARGET_USE_VECTOR_FP_CONVERTS splitters): Ditto.
326         (TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters and peephole2s): Ditto.
327         (udivmodqi4): Ditto.
328         (absneg splitters): Ditto.
329         (*jcc_bt<mode>_1): Ditto.
330
331 2016-04-19  Richard Biener  <rguenther@suse.de>
332
333         PR tree-optimization/70724
334         * tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
335         restoring out from ...
336         (free_scc_vn): ... here.
337         * tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
338         * tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
339         tail merging.
340         (pass_fre::execute): Restore SSA info.
341
342 2016-04-19  Richard Biener  <rguenther@suse.de>
343
344         * gimple-walk.h (struct walk_stmt_info): Add stmt member.
345         * gimple-walk.c (walk_gimple_op): Initialize it.
346         (walk_gimple_asm): Set wi->is_lhs before each callback invocation.
347         * tree-inline.c (remap_gimple_op_r): Set SSA_NAME_DEF_STMT when
348         remapping SSA names of defs.
349         (copy_bb): Remove walk over all SSA defs and SSA_NAME_DEF_STMT
350         adjustment.
351
352 2016-04-18  Vladimir Makarov  <vmakarov@redhat.com>
353
354         PR middle-end/70689
355         * lra-constraints.c (equiv_substition_p): New.
356         (process_alt_operands): Use it.
357         (swap_operands): Swap it.
358         (curr_insn_transform): Update it.
359
360 2016-04-18  Michael Matz  <matz@suse.de>
361
362         * tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
363         (SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
364         * tree-core.h (tree_type_common.align): Use bit-field.
365         (tree_type_common.spare): New.
366         (tree_decl_common.off_align): Make smaller.
367         (tree_decl_common.align): Use bit-field.
368
369         * expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
370         * omp-low.c (install_var_field): Use SET_DECL_ALIGN.
371         (scan_sharing_clauses): Ditto.
372         (finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
373         (omp_finish_file): Ditto.
374         * stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
375         (layout_decl): Ditto.
376         (relayout_decl): Ditto.
377         (finalize_record_size): Use SET_TYPE_ALIGN.
378         (finalize_type_size): Ditto.
379         (finish_builtin_struct): Ditto.
380         (layout_type): Ditto.
381         (initialize_sizetypes): Ditto.
382         * targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
383         * tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
384         (lookup_field_for_decl): Use SET_DECL_ALIGN.
385         (get_chain_field): Ditto.
386         (get_trampoline_type): Ditto.
387         (get_nl_goto_field): Ditto.
388         * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
389         SET_DECL_ALIGN.
390         (unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
391         * gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
392         * tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
393         (build_qualified_type): Use SET_TYPE_ALIGN.
394         (build_aligned_type, build_range_type_1): Ditto.
395         (build_atomic_base): Ditto.
396         (build_common_tree_nodes): Ditto.
397         * cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
398         (expand_one_stack_var_at): Ditto.
399         * coverage.c (build_var): Use SET_DECL_ALIGN.
400         * except.c (init_eh): Ditto.
401         * function.c (assign_parm_setup_block): Ditto.
402         * symtab.c (increase_alignment_1): Ditto.
403         * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
404         * tree-vect-stmts.c (ensure_base_align): Ditto.
405         * varasm.c (align_variable): Ditto.
406         (assemble_variable): Ditto.
407         (build_constant_desc): Ditto.
408         (output_constant_def_contents): Ditto.
409
410         * config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
411         * config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
412         * config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
413         * config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
414         * config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
415
416 2016-04-18  H.J. Lu  <hongjiu.lu@intel.com>
417
418         PR target/70708
419         * config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
420         replace %vmovsd with "%vmovq".
421         (vec_concatv2df): Likewise.
422
423 2016-04-18  Uros Bizjak  <ubizjak@gmail.com>
424
425         * config/i386/mmx.md (*vec_extractv2sf_0): Use gen_lowpart.
426         (*vec_extractv2si_0): Ditto.
427         * config/i386/sse.md (*vec_extractv4sf_0): Ditto.
428         (zero_extended_scalar_load_operand splitters): Ditto.
429         (vec_extract splitters): Ditto.
430         (*vec_extractv4si_0_zext): Ditto.
431         (avx_<castmode><avxsizesuffix>_<castmode>): Use gen_lowpart
432         and lowpart_subreg.
433         (avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
434         (avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
435         (*sse4_1_extractps): Use lowpart_subreg.
436
437 2016-04-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
438
439         * doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
440         gld requirements.
441         (Specific, *-*-solaris2*): Update Solaris 11 bundled gcc versions.
442         Mention Solaris 11 packaging changes.
443         Update gas and gld requirements.
444         Remove reference to pre-Solaris 10 bug.
445         (Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
446         systems and bugs.
447         (Specific, sparc64-*-solaris2*): Remove reference to bootstrap
448         with cc.
449
450 2016-04-17  Jan Hubicka  <jh@suse.cz>
451
452         * tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
453         max_loop_iterations_int.
454
455 2016-04-18  Richard Biener  <rguenther@suse.de>
456
457         PR tree-optimization/43434
458         * tree-ssa-structalias.c (struct vls_data): New.
459         (visit_loadstore): Handle all pointer-based accesses.
460         (compute_dependence_clique): Compute a bitmap of restrict tags
461         assigned bases and pass it to visit_loadstore.
462
463 2016-04-18  Matthew Wahab  <matthew.wahab@arm.com>
464
465         PR target/70711
466         * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
467         armv8.1-a and armv8.1-a+crc.
468
469 2016-04-18  Richard Biener  <rguenther@suse.de>
470
471         PR tree-optimization/70701
472         * tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
473         references after translating through a memcpy.
474
475 2016-04-18  Richard Biener  <rguenther@suse.de>
476
477         * tree-ssa-pre.c (postorder, postorder_num): Make locals ...
478         (compute_antic): ... here.  For partial antic use regular
479         postorder and scrap iteration.
480         (compute_partial_antic_aux): Remove unused return value.
481         (init_pre): Do not allocate postorder.
482         (fini_pre): Do not free postorder.
483
484 2016-04-18  Richard Biener  <rguenther@suse.de>
485
486         PR middle-end/37870
487         * expmed.c (extract_bit_field_1): Remove broken case
488         using a wider MODE_INT mode.
489
490 2016-04-18  Segher Boessenkool  <segher@kernel.crashing.org>
491
492         * has-brig.c (lendian16): Don't try to use __builtin_bswap16
493         unless compiling with at least GCC-4.8.
494
495 2016-04-17  Jan Hubicka  <jh@suse.cz>
496
497         PR bootstrap/70706
498         * graphite.c (graphite_finalize): Update call to
499         tree_estimate_probability.
500         * predict.h (tree_estimate_probability): Update prototype.
501
502 2016-04-17  Jan Hubicka  <jh@suse.cz>
503
504         * predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
505         (tree_estimate_probability): Likewise.
506         (pass_profile::execute): Update.
507         (report_predictor_hitrates): New function.
508         * profile.c (compute_branch_probabilities): Use it.
509         * predict.h (report_predictor_hitrates): Declare.
510
511 2016-04-17  Jan Hubicka  <jh@suse.cz>
512
513         PR ipa/70018
514         * cgraph.h (cgraph_node::set_const_flag,
515         cgraph_node::set_pure_flag): Update prototype to return bool;
516         update comment.
517         * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
518         of interposable symbol are interposable, too.
519         (cgraph_set_const_flag_1): Rename to ...
520         (set_const_flag_1): ... this one; change to self recursive function
521         instead of call_for_symbol_thunks_and_aliases. Handle correctly
522         clearnig the flag in all variants and also virtual thunks of const
523         functions are pure; track if any change was done.
524         (cgraph_node::set_const_flag): Update.
525         (struct set_pure_flag_info): New struct.
526         (cgraph_set_pure_flag_1): Rename to ...
527         (set_pure_flag_1): ... this one; take set_pure_flag_info parameter
528         rather than pointer encoded flags; track if any changes was done;
529         handle correctly clearning flag and setting flag of aliases already
530         declared const.
531         (cgraph_node::set_pure_flag): Update.
532         (cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.
533
534 2016-04-17  Tom de Vries  <tom@codesourcery.com>
535
536         PR other/70433
537         * pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape
538         backslash in label.
539
540 2016-04-17  Tom de Vries  <tom@codesourcery.com>
541
542         * pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
543         '{}<> ' as escape-for-record.
544
545 2016-04-17  Tom de Vries  <tom@codesourcery.com>
546
547         * pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
548         structure.
549
550 2016-04-17  Tom de Vries  <tom@codesourcery.com>
551
552         PR other/70185
553         * tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
554         * dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
555         * dumpfile.c (dump_files): Initialize graph_dump_initialized field.
556         * passes.c (finish_optimization_passes): Only call
557         finish_graph_dump_file if dfi->graph_dump_initialized.
558         (execute_function_dump, pass_init_dump_file): Use
559         dfi->graph_dump_initialized instead of pass->graph_dump_initialized.
560
561 2016-04-17  Tom de Vries  <tom@codesourcery.com>
562
563         PR tree-optimization/70256
564         * tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
565         (debug_varmap): New function.
566
567 2016-04-17  Tom de Vries  <tom@codesourcery.com>
568
569         PR other/70183
570         * passes.c (pass_manager::register_pass): Propagate pflags.
571
572 2016-04-17  Tom de Vries  <tom@codesourcery.com>
573
574         PR other/68875
575         * pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
576         * passes.c (pass_manager::pass_manager): Declare and init p_start in
577         INSERT_PASSES_AFTER.  Add pass parameter to TERMINATE_PASS_LIST, and
578         check if it's equal to p_start.
579         * passes.def: Add arguments to TERMINATE_PASS_LISTs.
580
581 2016-04-15  Jan Hubicka  <jh@suse.cz>
582
583         PR ipa/70018
584         * cgraph.c (cgraph_set_const_flag_1): Only set as pure if
585         function does not bind to current def.
586         * ipa-pure-const.c (worse_state): Add FROM and TO parameters;
587         handle conservatively calls to functions that does not need to bind
588         to current def.
589         (check_call): Update call of worse_state.
590         (ignore_edge_for_nothrow): Update.
591         (ignore_edge_for_pure_const): Likewise.
592         (propagate_pure_const): Update calls to worse_state.
593         (skip_function_for_local_pure_const): Reformat comments.
594
595 2016-04-15  Jan Hubicka  <jh@suse.cz>
596
597         PR ipa/70018
598         * cgraph.c (cgraph_node::get_availability): Add REF parameter.
599         (cgraph_node::function_symbol): Likewise.
600         (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
601         * cgraph.h (symtab_node::get_availabbility): Add REF parameter.
602         (symtab_node::ultimate_alias_target): Add REF parameter.
603         (symtab_node::binds_to_current_def_p): Declare.
604         (symtab_node;:ultimate_alias_target_1): Add REF parameter.
605         (cgraph_node::function_symbol): Likewise.
606         (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
607         (cgraph_node::get_availability): Likewise.
608         (cgraph_edge::binds_to_current_def_p): New inline function.
609         (varpool_node::get_availability): Add REF parameter.
610         (varpool_node::ultimate_alias_target): Likewise.
611         * symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
612         (symtab_node::binds_to_current_def_p): Likewise.
613         * varpool.c (varpool_node::get_availability): Likewise.
614
615 2016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
616
617         PR target/70662
618         * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
619         Fix mode size check.
620
621 2016-04-15  Jakub Jelinek  <jakub@redhat.com>
622
623         * BASE-VER: Set to 7.0.0.
624
625 2016-04-15  Alexander Monakov  <amonakov@ispras.ru>
626
627         * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
628
629 2016-04-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
630
631         * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
632         architecture revisions.
633
634 2016-04-15  Bernd Schmidt  <bschmidt@redhat.com>
635
636         * config/i386/i386-protos.h (ix86_using_red_zone): Declare.
637         * config/i386/i386.c (ix86_using_red_zone): No longer static.
638         * config/i386/i386.md (stack decrement to push peepholes): Guard
639         with !x86_using_red_zone ().
640
641 2016-04-15  Jakub Jelinek  <jakub@redhat.com>
642
643         PR c++/70675
644         * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
645         to dump_generic_node.
646         (NIY): Pass also flags to do_niy.
647
648 2016-04-15  Thomas Schwinge  <thomas@codesourcery.com>
649
650         * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
651         (simd_clone_vector_of_formal_parm_types)
652         (simd_clone_clauses_extract, simd_clone_compute_base_data_type)
653         (simd_clone_mangle, simd_clone_create)
654         (simd_clone_adjust_return_type, create_tmp_simd_array)
655         (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
656         (struct modify_stmt_info, ipa_simd_modify_stmt_ops)
657         (ipa_simd_modify_function_body, simd_clone_linear_addend)
658         (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
659         (pass_data_omp_simd_clone, class pass_omp_simd_clone)
660         (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move into...
661         * omp-simd-clone.c: ... this new file.
662         (simd_clone_vector_of_formal_parm_types): Make it static.
663         * Makefile.in (OBJS): Add omp-simd-clone.o.
664
665 2016-04-15  Kirill Yukhin  <kirill.yukhin@intel.com>
666
667         PR target/70662
668         * config/i386/sse.md: Use proper memory operand modifiers.
669
670
671 2016-04-15  Richard Biener  <rguenther@suse.de>
672         Alan Modra  <amodra@gmail.com>
673
674         PR tree-optimization/70130
675         * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
676         when alignment stays not the same and no not use the realign
677         scheme then.
678
679 2016-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
680
681         PR target/70669
682         * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
683         direct move handlers for KFmode. Change TFmode handlers test from
684         FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
685
686 2016-04-14  Jakub Jelinek  <jakub@redhat.com>
687
688         PR c++/70594
689         * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
690         * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
691         (inlined_polymorphic_ctor_dtor_block_p): Use it.
692         * tree-ssa-live.c (remove_unused_scope_block_p): When
693         in_ctor_dtor_block, avoid discarding not just BLOCKs with
694         BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
695         block_ultimate_origin is FUNCTION_DECL.
696         (remove_unused_locals): If current_function_decl is
697         polymorphic_ctor_dtor_p, pass initial true to
698         remove_unused_scope_block_p' is_ctor_dtor_block.
699
700 2016-04-14  Martin Sebor  <msebor@redhat.com>
701
702         PR c++/69517
703         PR c++/70019
704         PR c++/70588
705         * doc/extend.texi (Variable Length): Revert.
706
707 2016-04-14  Marek Polacek  <polacek@redhat.com>
708             Jan Hubicka  <hubicka@ucw.cz>
709
710         PR c++/70029
711         * tree.c (verify_type): Disable the canonical type of main variant
712         check.
713
714 2016-04-14  Jason Merrill  <jason@redhat.com>
715
716         * cfgexpand.c, expr.c: Revert previous change.
717
718 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
719
720         PR middle-end/70643
721         * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
722         when building a mem ref for the incoming reduction variable.
723
724 2016-04-14  Richard Biener  <rguenther@suse.de>
725
726         PR tree-optimization/70614
727         * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
728         loop if the evolution dropped to chrec_dont_know.
729         (interpret_condition_phi): Likewise.
730
731 2016-04-14  Richard Biener  <rguenther@suse.de>
732
733         PR tree-optimization/70623
734         * tree-ssa-pre.c (changed_blocks): Make global ...
735         (compute_antic): ... local here.  Move and fix worklist
736         handling here.  Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
737         (compute_antic_aux): Add dumping for MAX assumed succs.  Remove
738         worklist handling, dump when ANTIC_IN changed.
739         (compute_partial_antic_aux): Remove worklist handling.
740         (init_pre): Do not compute post dominators.  Add a comment about
741         the CFG order chosen.
742         (fini_pre): Do not free post dominators.
743
744 2016-04-13  Martin Sebor  <msebor@redhat.com>
745
746         PR c++/69517
747         PR c++/70019
748         PR c++/70588
749         * doc/extend.texi (Variable Length): Document C++ specifics.
750
751 2016-04-13  Jakub Jelinek  <jakub@redhat.com>
752
753         PR c++/70641
754         * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
755         on all recursive call stmts.  Return TODO_cleanup_cfg if any dead
756         eh edges have been purged.
757
758         PR c++/70594
759         * tree-sra.c (create_access_replacement,
760         get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
761         gets fancy name.
762         * tree-pretty-print.c (dump_fancy_name): New function.
763         (dump_decl_name, dump_generic_node): Use it.
764
765 2016-04-13  Jason Merrill  <jason@redhat.com>
766
767         * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
768         * expr.c (expand_expr_real_1): Likewise.
769
770 2016-04-13  Ilya Enkovich  <ilya.enkovich@intel.com>
771
772         * config/i386/i386.md (kunpckhi): Swap operands.
773         (kunpcksi): Likewise.
774         (kunpckdi): Likewise.
775         * config/i386/sse.md (vec_pack_trunc_qi): Likewise.
776         (vec_pack_trunc_<mode>): Likewise.
777
778 2016-04-13  Jakub Jelinek  <jakub@redhat.com>
779
780         PR debug/70628
781         * explow.c (convert_memory_address_addr_space_1): Formatting fix.
782
783         PR middle-end/70633
784         * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
785         gimplification turns some element into non-constant.
786
787         PR debug/70628
788         * rtl.h (convert_memory_address_addr_space_1): New prototype.
789         * explow.c (convert_memory_address_addr_space_1): No longer static,
790         add NO_EMIT argument and don't call convert_modes if true, pass
791         it down recursively, remove break after return.
792         (convert_memory_address_addr_space): Adjust caller.
793         * simplify-rtx.c (simplify_unary_operation_1): Call
794         convert_memory_address_addr_space_1 instead of convert_memory_address,
795         if it returns NULL, don't simplify.
796
797 2016-04-12  Eric Botcazou  <ebotcazou@adacore.com>
798
799         PR target/70630
800         * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
801
802 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
803
804         * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
805         Bump the upper SIMDLEN limits, so that if the return type or
806         characteristic type if the return type is void can be passed in
807         all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
808         allowed.
809
810 2016-04-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
811
812         PR target/70640
813         * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
814         Do not use "=" constraint on an input constraint.
815         (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
816         (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
817         (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
818         generates (neg (abs ...)) instead of (abs ...).
819
820 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
821
822         PR rtl-optimization/70596
823         * lra-spills.c (spill_pseudos): Don't delete debug insns, instead
824         just invalidate LRA data and reset them.  Adjust dump wording.
825
826 2016-04-12  Martin Liska  <mliska@suse.cz>
827
828         Revert
829         2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
830
831         * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
832         estimates here.
833         * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
834         max_loop_iterations_int.
835         (tree_unswitch_outer_loop): Likewise.
836         * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
837         * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
838
839 2016-04-12  Tom de Vries  <tom@codesourcery.com>
840
841         PR tree-optimization/68756
842         * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
843         instead of new_name.
844
845 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
846
847         PR tree-optimization/70602
848         * tree-sra.c (generate_subtree_copies): Don't write anything into
849         constant pool decls.
850
851         * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
852         regardless whether there are depend clauses or not.
853
854 2016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
855
856         PR target/70381
857         * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
858         target attribute and pragma from changing the -mfloat128
859         and -mfloat128-hardware options.
860
861         * doc/extend.texi (Additional Floating Types): Document PowerPC
862         __float128 restrictions.
863
864 2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
865
866         PR target/70133
867         * config/aarch64/driver-aarch64.c
868         (aarch64_get_extension_string_for_isa_flags): New.
869         (arch_extension): Rename to...
870         (aarch64_arch_extension): ...This.
871         (ext_to_feat_string): Rename to...
872         (aarch64_extensions): ...This.
873         (aarch64_core_data): Keep track of architecture extension flags.
874         (cpu_data): Rename to...
875         (aarch64_cpu_data): ...This.
876         (aarch64_arch_driver_info): Keep track of architecture extension
877         flags.
878         (get_arch_name_from_id): Rename to...
879         (get_arch_from_id): ...This, change return type.
880         (host_detect_local_cpu): Update and reformat for renames, handle
881         extensions through common infrastructure.
882
883 2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
884
885         PR target/70133
886         * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
887         track of a canonical flag name.
888         (all_extensions): Likewise.
889         (arch_to_arch_name): Also track extension flags enabled by the arch.
890         (all_architectures): Likewise.
891         (aarch64_parse_extension): Move to here.
892         (aarch64_get_extension_string_for_isa_flags): Take a new argument,
893         rework.
894         (aarch64_rewrite_selected_cpu): Update for above change.
895         * config/aarch64/aarch64-option-extensions.def: Rework the way flags
896         are handled, such that the single explicit value enabled by an
897         extension is kept seperate from the implicit values it also enables.
898         * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
899         to here.
900         (aarch64_parse_extension): New.
901         * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
902         here to config/aarch64/aarch64-protos.h.
903         (aarch64_parse_extension): Move from here to
904         common/config/aarch64/aarch64-common.c.
905         (aarch64_option_print): Update.
906         (aarch64_declare_function_name): Likewise.
907         (aarch64_start_file): Likewise.
908         * config/aarch64/driver-aarch64.c (arch_extension): Keep track of
909         the canonical flag for extensions.
910         * config.gcc (aarch64*-*-*): Extend regex for capturing extension
911         flags.
912
913 2016-04-11  James Greenhalgh  <james.greenhalgh@arm.com>
914
915         * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
916         AARCH64_FL_CRC.
917
918 2016-04-09  Tom de Vries  <tom@codesourcery.com>
919
920         PR tree-optimization/68953
921         * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
922         first to last subscript.
923
924 2016-04-09  Jakub Jelinek  <jakub@redhat.com>
925
926         PR tree-optimization/70586
927         * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
928         for any calls.
929
930 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
931
932         PR lto/70289
933         PR ipa/70348
934         PR tree-optimization/70373
935         PR middle-end/70533
936         PR middle-end/70534
937         PR middle-end/70535
938         * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
939         clauses for acc parallel reductions as necessary.  Error on those
940         that are private.
941         * omp-low.c (scan_sharing_clauses): Don't install variables which
942         are used in acc parallel reductions.
943         (lower_rec_input_clauses): Remove dead code.
944         (lower_oacc_reductions): Add support for reference reductions.
945         (lower_reduction_clauses): Remove dead code.
946         (lower_omp_target): Don't remap variables appearing in acc parallel
947         reductions.
948         * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
949
950 2016-04-08  Jakub Jelinek  <jakub@redhat.com>
951
952         PR middle-end/70593
953         * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
954         with multiple SSA_NAME defs, force the outputs other than first
955         to be live before calling live_track_process_def on each output.
956
957         PR rtl-optimization/70574
958         * fwprop.c (forward_propagate_and_simplify): Don't add
959         REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
960         (try_fwprop_subst): Don't add REG_EQUAL note if there are any
961         paradoxical subregs within *loc.
962
963 2016-04-08  Thomas Schwinge  <thomas@codesourcery.com>
964
965         * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
966         -ftree-parallelize-loops={0,1}.
967         * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
968         * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
969         * config/ia64/hpux.h (LIB_SPEC): Likewise.
970         * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
971         * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
972
973 2016-04-08  Maxim Ostapenko  <m.ostapenko@samsung.com>
974
975         PR sanitizer/70541
976         * asan.c (instrument_derefs): If we get unknown location, extract it
977         with EXPR_LOCATION.
978         (maybe_instrument_call): Instrument gimple_call's arguments if needed.
979
980 2016-04-08  Tom de Vries  <tom@codesourcery.com>
981
982         * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
983         implicit firstprivate clause.
984
985 2016-04-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
986
987         PR target/70566
988         * config/arm/thumb2.md (tst + branch-> lsls + branch
989         peephole below *orsi_not_shiftsi_si): Require that condition
990         register is dead after the peephole.
991         (second peephole after the above): Likewise.
992
993 2016-04-08  Alan Modra  <amodra@gmail.com>
994
995         PR target/70117
996         * builtins.c (fold_builtin_classify): For IBM extended precision,
997         look at just the high-order double to test for NaN.
998         (fold_builtin_interclass_mathfn): Similarly for Inf.  For isnormal
999         test just the high double for Inf but both doubles for subnormal
1000         limit.
1001
1002 2016-04-07  Jakub Jelinek  <jakub@redhat.com>
1003
1004         * cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
1005         * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
1006         node->simdclone->mask_mode != VOIDmode masks.
1007         (simd_clone_adjust_argument_types): Likewise.  Move sc var definition
1008         earlier, use it instead of node->simdclone.
1009         * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1010         Set clonei->mask_mode.
1011
1012 2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
1013
1014         PR c/70436
1015         * parser.c (cp_parser_iteration_statement): New parameter IF_P.
1016         Pass it through to cp_parser_already_scoped_statement.
1017         (cp_parser_already_scoped_statement): New parameter IF_P.  Pass
1018         it through to cp_parser_statement.
1019         (cp_parser_statement): Pass IF_P through to
1020         cp_parser_iteration_statement.
1021         (cp_parser_pragma): Adjust call to
1022         cp_parser_iteration_statement.
1023
1024 2016-04-06  Patrick Palka  <ppalka@gcc.gnu.org>
1025
1026         PR c/70436
1027         * gimplify.c (gimplify_omp_ordered): Add explicit braces to
1028         resolve a future -Wparentheses warning.
1029         * omp-low.c (scan_sharing_clauses): Likewise.
1030         * tree-parloops.c (eliminate_local_variables): Likewise.
1031
1032 2016-04-06  Vladimir Makarov  <vmakarov@redhat.com>
1033
1034         PR rtl-optimization/70398
1035         * lra-constraints.c (process_address_1): Check zero scale and code
1036         for reloading with zero scale.
1037
1038 2016-04-06  Uros Bizjak  <ubizjak@gmail.com>
1039
1040         * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
1041         (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
1042
1043 2016-04-06  Jakub Jelinek  <jakub@redhat.com>
1044
1045         * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1046         Add support for AVX512F clones, include them by default for
1047         exported OpenMP declare simd functions.  For AVX2 allow simdlen 32
1048         and use it if charasteric type is 8-bit, for AVX512F allow simdlen
1049         up to 128.
1050
1051         PR middle-end/70550
1052         * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
1053         * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
1054         firstprivate clauses.
1055         * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
1056         OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
1057         (lower_omp_target): Set TREE_NO_WARNING for
1058         non-addressable possibly uninitialized vars which are copied into
1059         addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
1060
1061 2016-04-05  John David Anglin  <danglin@gcc.gnu.org>
1062
1063         * config/pa/predicates.md (integer_store_memory_operand): Accept
1064         REG+D operands with a large offset when reload_in_progress is true.
1065         (floating_point_store_memory_operand): Likewise.
1066
1067 2016-04-05  Jakub Jelinek  <jakub@redhat.com>
1068
1069         PR c++/70336
1070         * match.pd (nested int casts): Limit to GIMPLE.
1071
1072 2016-04-05  Jan Hubicka  <hubicka@ucw.cz>
1073
1074         PR ipa/66223
1075         * ipa-devirt.c (maybe_record_node): Fix comment; use
1076         SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
1077
1078 2016-04-05  Jakub Jelinek  <jakub@redhat.com>
1079
1080         PR rtl-optimization/70542
1081         * ree.c (add_removable_extension): For VECTOR_MODE_P punt
1082         if there are any uses other than insn or debug insns.
1083
1084 2016-04-05  Marc Glisse  <marc.glisse@inria.fr>
1085             Jakub Jelinek  <jakub@redhat.com>
1086
1087         PR tree-optimization/70509
1088         * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
1089         Shift HOST_WIDE_INT_1U instead of 1.
1090
1091 2016-04-05  Zdenek Sojka  <zsojka@seznam.cz>
1092
1093         PR tree-optimization/70509
1094         * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
1095         of the vector base type for index.
1096
1097 2016-04-05  Uros Bizjak  <ubizjak@gmail.com>
1098
1099         PR target/70510
1100         * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
1101
1102 2016-04-05  Richard Biener  <rguenther@suse.de>
1103
1104         PR tree-optimization/70526
1105         * tree-sra.c (build_ref_for_offset): Use prev_base to
1106         extract the alias pointer type.
1107
1108 2016-04-05  Richard Biener  <rguenther@suse.de>
1109
1110         * dse.c (struct store_info): Remove alias_set member.
1111         (struct read_info_type): Likewise.
1112         (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
1113         spill_deleted, clear_alias_set_lookup): Remove.
1114         (get_group_info): Remove dead base == NULL_RTX case.
1115         (dse_step0): Remove initialization of removed variables.
1116         (delete_dead_store_insn): Reomve alias set dumping.
1117         (free_read_records): Remove alias_set handling.
1118         (canon_address): Remove alias_set_out parameter.
1119         (record_store): Remove spill_alias_set, it's always zero.
1120         (check_mem_read_rtx): Likewise.
1121         (dse_step2): Rename from ...
1122         (dse_step2_nospill): ... this.  Adjust.
1123         (scan_stores): Rename from ...
1124         (scan_stores_nospill): ... this.
1125         (scan_reads): Rename from ...
1126         (scan_reads_nospill): ... this.
1127         (scan_stores_spill, scan_reads_spill): Remove.
1128         (dse_step3_scan): Remove for_spills argument which is always false.
1129         (dse_step3): Likewise.
1130         (dse_step5): Rename from ...
1131         (dse_step5_nospill): ... this.  Remove alias_set handling.
1132         (rest_of_handle_dse): Adjust.
1133
1134 2016-04-05  Jakub Jelinek  <jakub@redhat.com>
1135
1136         PR target/70525
1137         * config/i386/sse.md (*andnot<mode>3): Simplify assertions.
1138         Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
1139         V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
1140         (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
1141
1142 2016-04-05  Richard Biener  <rguenther@suse.de>
1143
1144         PR middle-end/70499
1145         * gimplify-me.c (gimple_regimplify_operands): Do not rewrite
1146         non-register type temporaries into SSA.
1147
1148 2016-04-04  Jan Hubicka  <hubicka@ucw.cz>
1149
1150         PR ipa/66223
1151         * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
1152         calls when sanitizing.
1153         (possible_polymorphic_call_target_p): Fix formatting.
1154
1155 2016-04-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
1156             Jakub Jelinek <jakub@redhat.com>
1157
1158         PR middle-end/70457
1159         * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
1160         to ensure a call statement is compatible with a built-in's
1161         prototype.
1162         * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
1163         Likewise.
1164
1165 2016-04-04  Richard Biener  <rguenther@suse.de>
1166
1167         PR rtl-optimization/70484
1168         * rtl.h (canon_output_dependence): Declare.
1169         * alias.c (canon_output_dependence): New function.
1170         * dse.c (record_store): Use canon_output_dependence rather
1171         than canon_true_dependence.
1172
1173 2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
1174
1175         PR ipa/68881
1176         * cgraph.h (symtab_node::copy_visibility_from): New function.
1177         * symtab.c (symtab_node::copy_visibility_from): New function.
1178         * ipa-visibility.c (optimize_weakref): New function.
1179         (function_and_variable_visibility): Use it.
1180
1181 2016-04-04  Martin Liska  <mliska@suse.cz>
1182
1183         PR hsa/70402
1184         * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
1185         value that is really in range handled by SBR instruction.
1186         * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
1187         * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
1188         * hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
1189
1190 2016-04-03  Oleg Endo  <olegendo@gcc.gnu.org>
1191
1192         PR target/70416
1193         PR target/67391
1194         * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
1195         set, but not for SP_REG operands.
1196
1197 2016-04-02  Martin Sebor  <msebor@redhat.com>
1198
1199         PR c++/67376
1200         * fold-const.c (maybe_nonzero_address): New function.
1201         (fold_comparison): Call it.  Fold equality and relational
1202         expressions involving null pointers.
1203         (tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
1204
1205 2016-03-31  Evandro Menezes  <e.menezes@samsung.com>
1206
1207         Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
1208         the "Y" constraint (scalar FP 0.0 immediate).
1209
1210         * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
1211         Add the "const_double" to the list of operand constraints.
1212
1213 2016-04-01  Jakub Jelinek  <jakub@redhat.com>
1214
1215         PR rtl-optimization/70467
1216         * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
1217         If low word of the last operand is 0, just emit addition/subtraction
1218         for the high word.
1219
1220 2016-04-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
1221
1222         PR target/70404
1223         * config/s390/s390.c (s390_expand_insv): Check for everything
1224         constant instead of just VOIDmode stuff.
1225
1226 2016-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
1227
1228         PR target/70496
1229         * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
1230
1231 2016-04-01  Nathan Sidwell  <nathan@acm.org>
1232
1233         * tree.def (TRY_CATCH_EXPR): Correct documentation.
1234
1235 2016-03-31  Vladimir Makarov  <vmakarov@redhat.com>
1236
1237         PR rtl-optimization/70461
1238         * ira-color.c (allocno_copy_cost_saving): Use allocno class if it
1239         is necessary.
1240
1241 2016-03-31  Martin Liska  <mliska@suse.cz>
1242
1243         PR hsa/70399
1244         * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
1245         a tree value or an immediate integer value to a buffer
1246         that is eventually copied to a BRIG section.
1247         (emit_immediate_operand): Call the function here.
1248         * hsa-dump.c (dump_hsa_immed): Remove checking assert.
1249         * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
1250         of class' fields that are removed.
1251         (hsa_op_immed::~hsa_op_immed): Remove deinitialization.
1252         * hsa.h (class hsa_op_immed): Remove m_brig_repr and
1253         m_brig_repr_size fields.
1254
1255 2016-03-31  Martin Liska  <mliska@suse.cz>
1256
1257         PR hsa/70391
1258         * hsa-gen.c (hsa_function_representation::update_dominance): New
1259         function.
1260         (convert_addr_to_flat_segment): Likewise.
1261         (gen_hsa_memory_set): New alignment argument.
1262         (gen_hsa_ctor_assignment): Likewise.
1263         (gen_hsa_insns_for_single_assignment): Provide alignment
1264         to gen_hsa_ctor_assignment.
1265         (gen_hsa_insns_for_direct_call): Add new argument.
1266         (expand_lhs_of_string_op): New function.
1267         (expand_string_operation_builtin): Likewise.
1268         (expand_memory_copy): New function.
1269         (expand_memory_set): New function.
1270         (gen_hsa_insns_for_call): Use HOST_WIDE_INT.
1271         (convert_switch_statements): Change signature.
1272         (generate_hsa): Use a return value of the function.
1273         (pass_gen_hsail::execute): Do not call
1274         convert_switch_statements here.
1275         * hsa-regalloc.c (hsa_regalloc): Call update_dominance.
1276         * hsa.h (hsa_function_representation::m_modified_cfg): New flag.
1277         (hsa_function_representation::update_dominance): New function.
1278
1279 2016-03-31  Martin Liska  <mliska@suse.cz>
1280
1281         PR hsa/70391
1282         * hsa-brig.c (emit_directive_variable): Emit alignment
1283         according to hsa_symbol::m_align.
1284         * hsa-dump.c (hsa_byte_alignment): Move the function to another file.
1285         (dump_hsa_symbol): Dump alignment of HSA symbols.
1286         * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
1287         (gen_hsa_addr_with_align): New function.
1288         (hsa_bitmemref_alignment): Use newly added function.
1289         (gen_hsa_insns_for_load): Likewise.
1290         (gen_hsa_insns_for_store): Likewise.
1291         (gen_hsa_memory_copy): New argument added.
1292         (gen_hsa_insns_for_single_assignment): Respect
1293         alignment for assignments processed via gen_hsa_memory_copy.
1294         (gen_hsa_insns_for_direct_call): Likewise.
1295         (gen_hsa_insns_for_return): Likewise.
1296         (gen_function_def_parameters): Set default alignment.
1297         * hsa.c (hsa_object_alignment): New function.
1298         (hsa_byte_alignment): Pasted function.
1299         * hsa.h (hsa_symbol::m_align): New field.
1300
1301 2016-03-31  Bin Cheng  <bin.cheng@arm.com>
1302
1303         * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
1304         scratch field for goto case.
1305
1306 2016-03-31  James Greenhalgh  <james.greenhalgh@arm.com>
1307
1308         * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
1309
1310 2016-03-31  Ilya Enkovich  <enkovich.gnu@gmail.com>
1311
1312         PR target/70442
1313         * config/i386/i386.c (scalar_chain::convert_op): Fix description.
1314         (scalar_chain::convert_insn): Call convert_op for reg
1315         moves to handle undefined registers.
1316
1317 2016-03-31  Nathan Sidwell  <nathan@acm.org>
1318
1319         PR c++/70393
1320         * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
1321         Assert we don't want to move backwards.
1322
1323 2016-03-31  Kirill Yukhin  <kirill.yukhin@intel.com>
1324
1325         PR target/70453
1326         * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
1327
1328 2016-03-31  Jakub Jelinek  <jakub@redhat.com>
1329
1330         PR rtl-optimization/70460
1331         * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
1332         with operand from REG_LABEL_OPERAND, instead substitute
1333         SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
1334         Don't do anything for REG_NON_LOCAL_GOTO jumps.
1335
1336 2016-03-31  Martin Liska  <mliska@suse.cz>
1337
1338         * passes.c (execute_one_pass): Do not call
1339         todo_after for a discarded function.
1340
1341 2016-03-31  Bin Cheng  <bin.cheng@arm.com>
1342
1343         * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
1344         (no_cost, infinite_cost): Initialize the new field.
1345         (get_computation_cost_at): Record setup cost.
1346         (determine_use_iv_cost_address): Skip cost computation for sub
1347         uses if we can estimate it without losing accuracy.
1348
1349 2016-03-30  Jan Hubicka  <hubicka@ucw.cz>
1350
1351         * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
1352         estimates here.
1353         * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
1354         max_loop_iterations_int.
1355         (tree_unswitch_outer_loop): Likewise.
1356         * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
1357         * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
1358
1359 2016-03-30  Richard Biener  <rguenther@suse.de>
1360
1361         PR middle-end/70450
1362         * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
1363
1364 2016-03-30  Jakub Jelinek  <jakub@redhat.com>
1365
1366         PR target/70421
1367         * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
1368         in gen_blendm expander.
1369
1370 2016-03-30  Nick Clifton  <nickc@redhat.com>
1371
1372         PR target/62254
1373         * config/arm/arm.c (arm_reload_out_hi): Add code to handle the
1374         case where we are already provided with an SImode SUBREG.
1375
1376 2016-03-30  H.J. Lu  <hongjiu.lu@intel.com>
1377
1378         PR target/70439
1379         * config/i386/i386.c (ix86_expand_epilogue): Properly check
1380         conflict between DRAP register and __builtin_eh_return.
1381
1382 2016-03-30  Michael Matz  <matz@suse.de>
1383             Richard Biener  <rguenther@suse.de>
1384
1385         PR ipa/12392
1386         * ipa-polymorphic-call.c (struct type_change_info): Change
1387         speculative to an unsigned allowing to limit the work we do.
1388         (csftc_abort_walking_p): New inline function..
1389         (check_stmt_for_type_change): Limit the number of may-defs
1390         skipped for speculative devirtualization to
1391         max-speculative-devirt-maydefs.
1392         * params.def (max-speculative-devirt-maydefs): New param.
1393         * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
1394
1395 2016-03-30  Mike Stump  <mrs@gcc.gnu.org>
1396
1397         PR target/63890
1398         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
1399         and TARGET_MACHO.
1400
1401 2016-03-30  Patrick Palka  <ppalka@gcc.gnu.org>
1402
1403         PR tree-optimization/59124
1404         * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
1405         where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
1406
1407 2016-03-29  Jeff Law  <law@redhat.com>
1408
1409         * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
1410
1411 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
1412
1413         * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
1414         to HOST_WIDE_INT.
1415
1416 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
1417
1418         * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
1419         * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
1420         gcrt0.o if linking dynamically.
1421
1422 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
1423
1424         PR ipa/70283
1425         * ipa-devirt.c (methods_equal_p): New function.
1426         (compare_virtual_tables): Use it.
1427         * cgraph.h (symbol_table::symbol_suffix_separator): Declare.
1428         * cgraphclones.c (clone_function_name_1): Use
1429         symbol_table::symbol_suffix_separator.
1430         * coverage.c (build_var): Likewise.
1431         * symtab.c (symbol_table::symbol_suffix_separator): New.
1432
1433 2016-03-29  Jakub Jelinek  <jakub@redhat.com>
1434
1435         PR rtl-optimization/70429
1436         * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
1437         (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
1438         mode != result_mode.
1439
1440         PR c++/70353
1441         * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
1442
1443         PR tree-optimization/70405
1444         * ssa-iterators.h (num_imm_uses): Add missing braces.
1445
1446 2016-03-29  Vladimir Makarov  <vmakarov@redhat.com>
1447
1448         PR rtl-optimization/68695
1449         * ira-color.c (allocno_copy_cost_saving): New.
1450         (improve_allocation): Use it.
1451
1452 2016-03-29  Richard Henderson  <rth@redhat.com>
1453
1454         PR middle-end/70355
1455         * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
1456
1457 2016-03-29  Richard Biener  <rguenther@suse.de>
1458
1459         PR middle-end/70424
1460         * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
1461         use alignment returned by get_pointer_alignment_1 if it is
1462         bigger than BITS_PER_UNIT.
1463         * builtins.c (get_pointer_alignment_1): Do not return true
1464         for alignment extracted from SSA info.
1465
1466 2016-03-28  James Bowman  <james.bowman@ftdichip.com>
1467
1468         * config/ft32/ft32.opt (mnodiv): New.
1469         * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
1470         * doc/invoke.texi (FT32 Options -mnodiv): New.
1471
1472 2016-03-28  Kirill Yukhin  <kirill.yukhin@intel.com>
1473
1474         PR target/70406
1475         * config/i386/i386.md (define_split, andn): Fix modes.
1476
1477 2016-03-26  Richard Biener  <rguenther@suse.de>
1478             Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>
1479
1480         PR ipa/70366
1481         * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
1482         instead of
1483         TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
1484         as 2nd argument to cl_optimization_restore().
1485
1486 2016-03-25  Richard Henderson  <rth@redhat.com>
1487
1488         PR target/70120
1489         * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
1490         * config/aarch64/aarch64-protos.h: Declare it.
1491         * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
1492
1493 2016-03-25  Alan Modra  <amodra@gmail.com>
1494
1495         PR target/70052
1496         * config/rs6000/constraints.md (j): Simplify.
1497         * config/rs6000/predicates.md (easy_fp_constant): Exclude
1498         decimal float 0.D.
1499         * config/rs6000/rs6000.md (zero_fp): New mode_attr.
1500         (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
1501          mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
1502         in all constraint alternatives.
1503         (movtd_64bit_nodm): Delete "j" constraint alternative.
1504
1505 2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
1506
1507         * tree-ssa-propagate.c: Enhance docs for
1508         SSA_PROP_NOT_INTERESTING.
1509
1510 2016-03-24  Aldy Hernandez  <aldyh@redhat.com>
1511
1512         * doc/extend.texi: Fix typo in documentation to pure attribute.
1513
1514 2016-03-24  John David Anglin  <danglin@gcc.gnu.org>
1515
1516         PR target/70319
1517         * config/pa/pa.md (bswapdi2): Use a scratch register.
1518
1519 2016-03-24  Richard Henderson  <rth@redhat.com>
1520
1521         PR middle-end/69845
1522         * fold-const.c (extract_muldiv_1): Correct test for multiplication
1523         overflow.
1524
1525 2016-03-24  Uros Bizjak  <ubizjak@gmail.com>
1526
1527         * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
1528         using ix86_expand_binary_operator instead of gen_andsi3.
1529
1530 2016-03-24  Richard Biener  <rguenther@suse.de>
1531
1532         PR tree-optimization/70396
1533         * tree-vect-stmts.c (vectorizable_comparison): Use
1534         get_vectype_for_scalar_type.
1535
1536 2016-03-24  Richard Biener  <rguenther@suse.de>
1537
1538         PR middle-end/70370
1539         * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
1540         with register bases.
1541
1542 2016-03-24  Richard Biener  <rguenther@suse.de>
1543
1544         PR tree-optimization/70372
1545         * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
1546         build_all_ones_cst to also handle vector types correctly.
1547
1548 2016-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
1549
1550         PR target/70381
1551         * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
1552         -mfloat128 here.
1553
1554 2016-03-23  Marek Polacek  <polacek@redhat.com>
1555
1556         PR c++/69884
1557         * doc/invoke.texi: Document -Wignored-attributes.
1558
1559 2016-03-23  Bin Cheng  <bin.cheng@arm.com>
1560
1561         PR tree-optimization/69042
1562         * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
1563         parameter from 30 to 40.
1564
1565 2016-03-23  Bin Cheng  <bin.cheng@arm.com>
1566
1567         PR tree-optimization/69042
1568         * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
1569         for use with constant offset stripped in base.
1570
1571 2016-03-23  Richard Biener  <rguenther@suse.de>
1572
1573         PR middle-end/70251
1574         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
1575         mode compatibility check.
1576         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
1577
1578 2016-03-23  Jeff Law  <law@redhat.com>
1579
1580         PR tree-optimization/64058
1581         * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
1582         CONFLICT_COUNT.
1583         (struct ssa_conflicts): Move up earlier in the file.
1584         (conflicts_, var_map_): New static variables.
1585         (initialize_conflict_count): New function to initialize the
1586         CONFLICT_COUNT field for each conflict pair.
1587         (compare_pairs): Lazily initialize the conflict count and use it
1588         as the first tie-breaker.
1589         (sort_coalesce_list): Add new arguments conflicts, map.  Initialize
1590         and wipe conflicts_ and map_ around the call to qsort.  Remove
1591         special case for 2 coalesce pairs.
1592         * bitmap.c (bitmap_count_unique_bits): New function.
1593         (bitmap_count_bits_in_word): New function, extracted from
1594         bitmap_count_bits.
1595         (bitmap_count_bits): Use bitmap_count_bits_in_word.
1596         * bitmap.h (bitmap_count_unique_bits): Declare it.
1597
1598 2016-03-23  Ilya Enkovich  <enkovich.gnu@gmail.com>
1599
1600         PR target/69917
1601         * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
1602         transparent alias chain for decl assembler name.
1603         * config/sol2.c (solaris_assemble_visibility): Likewise.
1604
1605 2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1606
1607         * config/arm/arm1020e.md (1020call_op): Reduce reservation
1608         duration.
1609         (v10_fdivs): Likewise.
1610         (v10_fdivd): Likewise.
1611
1612 2016-03-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1613
1614         PR driver/70132
1615         * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
1616         to not call fclose twice on file.
1617
1618 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
1619
1620         PR tree-optimization/70354
1621         * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
1622         oprnd0 is wider than oprnd1 and there is a cast from the wider
1623         type to oprnd1, mask it with the mask of the narrower type.
1624
1625         PR target/70321
1626         * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
1627         Optimize TARGET_STV splitters, if high or low word of last argument
1628         is 0 or -1.
1629
1630 2016-03-22  Jeff Law  <law@redhat.com>
1631
1632         PR target/70232
1633         tree-ssa-threadbackward.c
1634         (fsm_find_control_statement_thread_paths): Correctly distinguish
1635         between old style jump threads vs FSM jump threads.
1636
1637 2016-03-22  Ilya Enkovich  <enkovich.gnu@gmail.com>
1638
1639         PR target/70302
1640         * config/i386/i386.c (scalar_chain::convert_op): Support
1641         uninitialized register usage case.
1642
1643 2016-03-22  Richard Biener  <rguenther@suse.de>
1644
1645         PR middle-end/70251
1646         * genmatch.c (gen_transform): Adjust last parameter to a three-state
1647         int...
1648         (capture::gen_transform): ... to change behavior when substituting
1649         a condition into cond or not-cond expr context.
1650         (dt_simplify::gen_1): Adjust.
1651         * gimple-match-head.c: Include gimplify.h for unshare_expr.
1652         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
1653         last change and instead change to
1654         A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
1655         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
1656
1657 2016-03-22  Anthony Green  <green@moxielogic.com>
1658
1659         * config/moxie/moxiebox.h (CC1_SPEC): Define.  Fix endianness
1660         issue for moxiebox targets.
1661         (CC1PLUS_SPEC): Ditto.
1662
1663 2016-03-22  Richard Biener  <rguenther@suse.de>
1664
1665         PR middle-end/70333
1666         * fold-const.c (extract_muldiv_1): Properly perform multiplication
1667         in the wide type.
1668
1669 2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
1670
1671         * config/i386/i386.c (def_builtin): Remove duplicated functionality.
1672
1673 2016-03-22  Kirill Yukhin  <kirill.yukhin@intel.com>
1674
1675         PR target/70325
1676         * config/i386/i386.c (def_builtin): Handle
1677         OPTION_MASK_ISA_AVX512VL to be and-ed with other
1678         bits.
1679         (const struct builtin_description bdesc_special_args[]):
1680         Remove duplicate ISA bits.
1681
1682 2016-03-22  Jakub Jelinek  <jakub@redhat.com>
1683
1684         PR target/70329
1685         * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
1686         d.perm[i] for i >= d.nelt.  If not full_interleave, compute d.perm[i]
1687         in a way that works also for AVX512BW.
1688
1689         PR target/70300
1690         * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
1691         instead of source if operands[1] is xmm16 and above and
1692         !TARGET_AVX512VL.  Use avx512f_vec_dupv16sf_1 instead of
1693         vec_interleave_lowv4sf if we need to unpack xmm16 and above.
1694
1695         PR c++/70295
1696         * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
1697         on assign if (*from_p) is a comparison, set it to
1698         TREE_NO_WARNING (*from_p).
1699
1700 2016-03-21  Jakub Jelinek  <jakub@redhat.com>
1701
1702         PR middle-end/70326
1703         * lra.c (restore_scratches): Ignore deleted insns.
1704
1705 2016-03-21  Marc Glisse  <marc.glisse@inria.fr>
1706             Jakub Jelinek  <jakub@redhat.com>
1707
1708         PR tree-optimization/70317
1709         * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
1710         to HONOR_NANS.
1711
1712 2016-03-21  Uros Bizjak  <ubizjak@gmail.com>
1713
1714         PR target/70327
1715         * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
1716         of ix86_expand_move.
1717         (movoi): Ditto.
1718         (movti): Use general_operand for operand 1 predicate.
1719
1720 2016-03-21  Martin Liska  <mliska@suse.cz>
1721
1722         * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
1723         insns.
1724         (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
1725
1726 2016-03-21  Martin Liska  <mliska@suse.cz>
1727
1728         PR ipa/70306
1729         * ipa-icf.c (sem_function::parse): Skip static
1730         constructors and destructors.
1731
1732 2016-03-21  Jakub Jelinek  <jakub@redhat.com>
1733
1734         PR target/70296
1735         * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
1736         function-like macro, peek following token(s) if it is followed
1737         by CPP_OPEN_PAREN token with optional padding in between, and
1738         if not, don't treat it like a macro.
1739
1740 2016-03-21  Thomas Schwinge  <thomas@codesourcery.com>
1741             Alexander Monakov  <amonakov@ispras.ru>
1742
1743         * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
1744         for the stabs debug format.
1745
1746 2016-03-21  Richard Biener  <rguenther@suse.de>
1747
1748         PR tree-optimization/70310
1749         * tree-vect-generic.c (expand_vector_condition): Fold the built
1750         condition.
1751
1752 2016-03-21  Kirill Yukhin  <kirill.yukhin@intel.com>
1753
1754         PR target/70293
1755         * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
1756         Block third alternative for AVX-512VL target,
1757
1758 2016-03-21  Martin Liska  <mliska@suse.cz>
1759
1760         PR hsa/70234
1761         * hsa-brig.c (emit_function_directives): Mark unemitted
1762         global variables for emission.
1763         * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
1764         (get_symbol_for_decl): Likewise.
1765         * hsa.h (struct hsa_symbol): New flag.
1766
1767 2016-03-21  Richard Biener  <rguenther@suse.de>
1768
1769         PR tree-optimization/70288
1770         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
1771         we do not estimate unsimplified all-constant conditionals or
1772         switches as optimized away.
1773
1774 2016-03-21  Andrey Belevantsev  <abel@ispras.ru>
1775
1776         PR rtl-optimization/69102
1777         * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
1778         when we have a readonly dependency context.
1779
1780 2016-03-18  Jeff Law  <law@redhat.com>
1781
1782         PR rtl-optimization/70263
1783         * ira.c (memref_used_between_p): Assert we found END in the insn chain.
1784         (update_equiv_regs): When trying to move a store to after the insn
1785         that sets the source of the store, make sure the store occurs after
1786         the insn that sets the source of the store.  When successful note
1787         the REG_EQUIV note created in the dump file.
1788
1789 2016-03-16  David Wohlferd  <dw@LimeGreenSocks.com>
1790             Bernd Schmidt  <bschmidt@redhat.com>
1791
1792         * doc/extend.texi: Document more potential problems with basic asms.
1793
1794 2016-03-18  Bernd Schmidt  <bschmidt@redhat.com>
1795
1796         PR rtl-optimization/70278
1797         * lra-constraints.c (split_reg): Handle the case where biggest_mode is
1798         VOIDmode.
1799
1800 2016-03-18  Jason Merrill  <jason@redhat.com>
1801
1802         * calls.c (load_register_parameters): Fix zero size sibcall logic.
1803
1804 2016-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
1805
1806         * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
1807         values to 128b regs.
1808
1809 2016-03-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
1810
1811         PR tree-optimization/70252
1812         * tree-vect-stmts.c (supportable_widening_operation): Check resulting
1813         boolean vector has a proper number of elements.
1814         (supportable_narrowing_operation): Likewise.
1815
1816 2016-03-18  Tom de Vries  <tom@codesourcery.com>
1817
1818         PR ipa/70269
1819         * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
1820
1821 2016-03-18  Jakub Jelinek  <jakub@redhat.com>
1822
1823         * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
1824         instead of replace_rtx for DEBUG_INSNs.
1825
1826 2016-03-18  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
1827
1828         * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
1829         load type reservations.
1830
1831 2016-03-17  John David Anglin  <danglin@gcc.gnu.org>
1832
1833         PR target/70188
1834         * config/pa/constraints.md: Revert 2015-02-13 change.  Use
1835         define_constraint for "Q" and "T" constraints.
1836
1837 2016-03-17  Evandro Menezes  <e.menezes@samsung.com>
1838
1839         Tweak the pipeline model for Exynos M1
1840
1841         * config/aarch64/aarch64.c (exynosm1_tunings):  Enable weak prefetching
1842         model.
1843
1844 2016-03-17  David Malcolm  <dmalcolm@redhat.com>
1845
1846         PR c/70264
1847         * diagnostic-show-locus.c (compatible_locations_p): Handle the case
1848         where one or both locations aren't within a line_map.
1849
1850 2016-03-17  H.J. Lu  <hongjiu.lu@intel.com>
1851
1852         PR driver/70192
1853         * opts.c (finish_options): Don't set flag_pie to the default if
1854         -fpic, -fPIC, -fno-pic or -fno-PIC is used.  Set flag_pic to 0
1855         if it is -1.
1856
1857 2016-03-17  Joern Rennecke  <joern.rennecke@embecosm.com>
1858
1859         * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
1860         true as ALL_REGS argument to replace_rtx.
1861
1862 2016-03-17  Richard Biener  <rguenther@suse.de>
1863
1864         PR debug/70271
1865         * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
1866         last.
1867
1868 2016-03-17  Jakub Jelinek  <jakub@redhat.com>
1869
1870         PR target/70245
1871         * rtl.h (replace_rtx): Add ALL_REGS argument.
1872         * rtlanal.c (replace_rtx): Likewise.  If true, use REGNO
1873         equality and assert mode is the same, instead of just rtx pointer
1874         equality.
1875         * config/i386/i386.md (mov + arithmetics with load peephole): Pass
1876         true as ALL_REGS argument to replace_rtx.
1877
1878 2016-03-17  Ilya Enkovich  <enkovich.gnu@gmail.com>
1879
1880         * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
1881         for boolean vector with vector mode only.
1882         (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
1883
1884 2016-03-17  Nick Clifton  <nickc@redhat.com>
1885
1886         PR target/70162
1887         * config/rx/rx.c (rx_print_integer): Print negative constants in
1888         decimal.
1889
1890 2016-03-17  Jakub Jelinek  <jakub@redhat.com>
1891
1892         PR target/70261
1893         * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
1894
1895 2016-03-16  Richard Henderson  <rth@redhat.com>
1896             Richard Biener  <rguenth@suse.de>
1897
1898         PR middle-end/70240
1899         PR middle-end/68215
1900         PR tree-opt/68714
1901         * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
1902         first operand as is_gimple_condexpr.
1903
1904         PR middle-end/70240
1905         PR middle-end/68215
1906         Revert r231575
1907         2015-12-11  Eric Botcazou  <ebotcazou@adacore.com>
1908         * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
1909         Do not gimplify the result.
1910         (do_unop): Adjust call to tree_vec_extract.
1911         (do_binop): Likewise.
1912         (do_compare): Likewise.
1913         (do_plus_minus): Likewise.
1914         (do_negate): Likewise.
1915         (expand_vector_condition): Likewise.
1916         (do_cond): Likewise.
1917
1918 2016-03-16  Richard Henderson  <rth@redhat.com>
1919
1920         PR target/70048
1921         * config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
1922         (aarch64_classify_address): Use it.
1923         (aarch64_legitimize_address): Force all subexpressions of PLUS
1924         into registers.  Simplify as (sfp+const)+reg or (reg+reg)+const.
1925
1926 2016-03-16  Jakub Jelinek  <jakub@redhat.com>
1927             Richard Biener  <rguenth@suse.de>
1928
1929         PR target/70245
1930         * rtlanal.c (replace_rtx): For REG, if from is a REG,
1931         return to even if only REGNO is equal, and assert
1932         mode is the same.
1933
1934 2016-03-11  Jeff Law  <law@redhat.com>
1935
1936         PR rtl-optimization/70224
1937         * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
1938
1939 2016-03-16  Richard Henderson  <rth@redhat.com>
1940
1941         PR middle-end/70199
1942         * function.h (struct function): Add has_forced_label_in_static.
1943         * gimplify.c (force_labels_r): Set it.
1944         * lto-streamer-in.c (input_struct_function_base): Read it.
1945         * lto-streamer-out.c (output_struct_function_base): Write it.
1946         * tree-inline.c (has_label_address_in_static_1): Remove.
1947         (copy_forbidden): Remove fndecl parameter; test
1948         has_forced_label_in_static.
1949         (inline_forbidden_p): Update call to copy_forbidden.
1950         (tree_versionable_function_p): Likewise.
1951         * ipa-chkp.c (chkp_instrumentable_p): Likewise.
1952         (chkp_versioning): Likewise.
1953         * tree-inline.h (copy_forbidden): Update decl.
1954
1955 2016-03-16  Marek Polacek  <polacek@redhat.com>
1956
1957         PR c/70093
1958         * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
1959         function being thunked if the result type doesn't have fixed size.
1960         * gimplify.c (gimplify_modify_expr): Also set LHS if the result type
1961         doesn't have fixed size.
1962
1963 2016-03-16  Bin Cheng  <bin.cheng@arm.com>
1964
1965         * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
1966         reporting malformed loop nest.
1967
1968 2016-03-16  Tom de Vries  <tom@codesourcery.com>
1969
1970         PR lto/70187
1971         * ipa-devirt.c (possible_polymorphic_call_targets): Move
1972         nodes.length () == 1 test to before first nodes[0] access.
1973
1974 2016-03-16  Tom de Vries  <tom@codesourcery.com>
1975
1976         PR tree-optimization/68715
1977         * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
1978         single_pred_p test.
1979
1980 2016-03-16  Tom de Vries  <tom@codesourcery.com>
1981
1982         PR tree-optimization/68809
1983         * graphite-scop-detection.c (same_close_phi_node): Test if result types
1984         are the same.
1985
1986 2016-03-16  Carlos O'Donell  <carlos@redhat.com>
1987             Sandra Loosemore  <sandra@codesourcery.com>
1988
1989         * doc/extend.texi (Common Function Attributes): Describe ifunc impact
1990         on leaf attribute. Mention ELF interposition problems.
1991
1992 2016-03-16  Alan Modra  <amodra@gmail.com>
1993
1994         PR rtl-optimization/69195
1995         PR rtl-optimization/47992
1996         * ira.c (indirect_jump_optimize): Ignore artificial defs.
1997         Add comments.
1998
1999 2016-03-15  Eric Botcazou  <ebotcazou@adacore.com>
2000
2001         PR bootstrap/69513
2002         * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
2003
2004 2016-03-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
2005
2006         * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
2007
2008 2016-03-15  Jakub Jelinek  <jakub@redhat.com>
2009
2010         PR rtl-optimization/70222
2011         * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
2012         optimization if mode is different from result_mode, queue up masking
2013         of the result in outer_op.  Formatting fix.
2014
2015         PR middle-end/70239
2016         * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
2017         of safe_grow.
2018
2019 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
2020
2021         PR rtl-optimization/69032
2022         * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
2023         looping backwards over basic block insns.
2024
2025 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
2026
2027         PR target/66660
2028         * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
2029         to non-speculative when propagating trap bits.
2030
2031 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
2032
2033         PR rtl-optimization/63384
2034         * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
2035         DEBUG_INSN_P insns.
2036
2037 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
2038
2039         PR target/64411
2040         * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
2041         factored out from ...
2042         (sched_analyze_insn): ... here.
2043         * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
2044         * sel-sched-ir.c (setup_id_implicit_regs): New function, use
2045         get_implicit_reg_pending_clobbers in it.
2046         (setup_id_reg_sets): Use setup_id_implicit_regs.
2047         (deps_init_id): Ditto.
2048
2049 2016-03-15  Tom de Vries  <tom@codesourcery.com>
2050
2051         PR ipa/70161
2052         * cgraph.c (cgraph_node::get_body): Save, reset and restore
2053         dump_file_name.
2054         * passes.c (execute_one_ipa_transform_pass): Add missing argument to
2055         execute_function_dump.
2056         (execute_one_pass): Don't dump function if it will be dumped after ipa
2057         transform.
2058
2059 2016-03-15  Segher Boessenkool  <segher@kernel.crashing.org>
2060
2061         * genrecog.c (match_pattern_2): If pred is NULL don't call
2062         safe_predicate_mode on it.
2063
2064 2016-03-14  Jakub Jelinek  <jakub@redhat.com>
2065
2066         PR middle-end/70219
2067         * lra-constraints.c (delete_move_and_clobber): Change assertion
2068         to also allow dregno == 0.
2069
2070 2016-03-14  Richard Henderson  <rth@redhat.com>
2071
2072         PR tree-opt/68714
2073         * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
2074         (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
2075         (reassociate_bb): Use optimize_vec_cond_expr; avoid
2076         optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
2077         on vectors.
2078
2079 2016-03-14  Bernd Schmidt  <bschmidt@redhat.com>
2080
2081         PR target/70083
2082         * lra-lives.c (process_bb_lives): Also update biggest mode for hard
2083         regs.
2084         (lra_create_live_ranges_1): initialize hard register biggest_mode to
2085         VOIDmode.
2086         * lra-constraints.c (split_reg): For hard regs, try to find the
2087         biggest single-register mode used in the function.
2088
2089 2016-03-14  Richard Biener  <rguenther@suse.de>
2090
2091         PR tree-optimization/56365
2092         * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
2093         constants to compare against.
2094
2095 2016-03-14  Segher Boessenkool  <segher@kernel.crashing.org>
2096
2097         PR target/70098
2098         * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
2099         *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
2100         (define_split for the GPR case): Use int_reg_operand instead of
2101         gpc_reg_operand for the output.
2102
2103 2016-03-14  Tom de Vries  <tom@codesourcery.com>
2104
2105         PR tree-optimization/70045
2106         * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
2107         create_empty_if_region_on_edge argument.
2108
2109 2016-03-13  Eric Botcazou  <ebotcazou@adacore.com>
2110
2111         * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
2112         (STACK_CHECK_PROTECT): Likewise.
2113         * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
2114         (STACK_CHECK_PROTECT): Likewise.
2115         * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
2116         (STACK_CHECK_PROTECT): Likewise.
2117         * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
2118         * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
2119         (STACK_CHECK_PROTECT): Likewise.
2120
2121 2016-03-12  Andrey Belevantsev  <abel@ispras.ru>
2122
2123         PR rtl-optimization/69307
2124         * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
2125         registers in modes that span more than one register.
2126
2127 2016-03-12  Vladimir Makarov  <vmakarov@redhat.com>
2128
2129         PR target/69614
2130         * lra-constraints.c (delete_move_and_clobber): New.
2131         (remove_inheritance_pseudos): Use it.
2132
2133 2016-03-12  Eric Botcazou  <ebotcazou@adacore.com>
2134
2135         PR ada/70017
2136         * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
2137         the libcall is LCT_THROW.
2138         * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
2139         for the checking routine.
2140
2141 2016-03-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
2142
2143         PR target/70131
2144         * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
2145         optimization if we have direct move.
2146         (roundu32<mode>2_fprs): Likewise.
2147
2148 2016-03-11  Bernd Schmidt  <bschmidt@redhat.com>
2149
2150         PR target/70123
2151         * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
2152         be rematerialized.
2153         (reg_overlap_for_remat_p): Renamed from input_regno_present_p.
2154         Arguments swapped.  All callers changed.  Take reg_renumber into
2155         account, and Calculate and compare register ranges for hard regs.
2156
2157 2016-03-11  Jeff Law  <law@redhat.com>
2158
2159         PR tree-optimization/70190
2160         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
2161         Handle cases where we can not extract the taken edge, even though we
2162         found a constant value.
2163
2164         PR tree-optimization/64058
2165         * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
2166         (num_coalesce_pairs): Move up earlier in file.
2167         (find_coalesce_pair): Initialize the INDEX field for each pair
2168         discovered.
2169         (compare_pairs): No longer sort on the elements in each pair.
2170         Instead break ties with the index of the coalesce pair.
2171
2172 2016-03-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2173
2174         PR target/70002
2175         * config/aarch64/aarch64-protos.h
2176         (aarch64_save_restore_target_globals): New prototype.
2177         * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
2178         Call the above when popping pragma.
2179         * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
2180         New function.
2181         (aarch64_set_current_function): Rewrite using the above.
2182
2183 2016-03-11  Jakub Jelinek  <jakub@redhat.com>
2184
2185         PR tree-optimization/70177
2186         * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
2187         (extract_ops_from_tree): ... this.  In the 2 argument
2188         overload remove _1 suffix.
2189         * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
2190         (extract_ops_from_tree): ... this.
2191         * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
2192         Adjust callers.
2193         * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
2194         * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
2195         extract_ops_from_tree instead of 2 operand one.
2196
2197 2016-03-11  Alan Lawrence  <alan.lawrence@arm.com>
2198
2199         PR tree-optimization/70013
2200         * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
2201         for constant-pool entries.
2202
2203 2016-03-11  Jakub Jelinek  <jakub@redhat.com>
2204
2205         PR rtl-optimization/70174
2206         * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
2207         followed by gen_lowpart on force_reg instead of just gen_lowpart.
2208
2209         PR tree-optimization/70169
2210         * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
2211         LABEL_DECL like VAR_DECL.  Emit nothing instead of gcc_unreachable
2212         for unknown codes.
2213
2214 2016-03-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
2215             Jakub Jelinek  <jakub@redhat.com>
2216
2217         PR target/70160
2218         * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
2219         of uninitialized values.
2220
2221 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2222
2223         * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
2224         define_expand.
2225         ("*trunctddd2"): New pattern definition.
2226         ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
2227         TD->DD truncation.
2228
2229 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2230
2231         * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
2232         definitions for BFP and DFP rounding modes.
2233         ("fixuns_truncdddi2", "fixuns_trunctddi2")
2234         ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
2235         ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
2236         ("fix_trunctf<mode>2"): Use the new constants instead of magic
2237         numbers.
2238
2239 2016-03-11  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2240
2241         * config/s390/constraints.md: Adjust comment.
2242         ("Y"): Adjust comment.  Rename s390_decompose_shift_count to
2243         s390_decompose_addrstyle_without_index.
2244         * config/s390/predicates.md (shift_count_or_setmem_operand):
2245         Rename to setmem_operand.
2246         * config/s390/s390-protos.h
2247         (s390_decompose_shift_count): Rename to
2248         s390_decompose_addrstyle_without_index.
2249         * config/s390/s390.c (s390_decompose_shift_count)
2250         (s390_mem_constraint, print_shift_count_operand)
2251         (print_operand_address, print_operand): Rename
2252         s390_decompose_shift_count to
2253         s390_decompose_addrstyle_without_index and rename
2254         print_shift_count_operand to print_addrstyle_operand troughout the
2255         file.
2256         * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
2257         ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
2258         Rename shift_count_or_setmem_operand to setmem_operand.
2259         * config/s390/vx-builtins.md ("vec_insert<mode>")
2260         ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
2261         nonmemory_operand.
2262
2263 2016-03-10  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
2264
2265         PR target/70168
2266         * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
2267         Handle overlapping retval and newval.
2268
2269 2016-03-10  Nick Clifton  <nickc@redhat.com>
2270
2271         PR target/7044
2272         * config/aarch64/aarch64.c
2273         (aarch64_override_options_after_change_1): When forcing
2274         flag_omit_frame_pointer to be true, use a special value that can
2275         be detected if this function is called again, thus preventing
2276         flag_omit_leaf_frame_pointer from being forced to be false.
2277
2278 2016-03-10  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2279
2280         * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
2281         Set x_flag_omit_leaf_frame_pointer when handling
2282         -momit-leaf-frame-pointer.
2283
2284 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
2285
2286         PR lto/69589
2287         * cgraph.c (cgraph_node::dump): Dump split_part and
2288         indirect_call_target.
2289         * cgraph.h (cgraph_node): Add indirect_call_target flag.
2290         * ipa.c (has_addr_references_p): Cleanup.
2291         (is_indirect_call_target_p): New.
2292         (walk_polymorphic_call_targets): Do not mark virtuals that may be
2293         called indirectly as local.
2294         (symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
2295
2296 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
2297
2298         PR ipa/69630
2299         * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
2300         on cxa_pure_virtual.
2301
2302 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
2303
2304         PR lto/69589
2305         * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
2306
2307 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
2308
2309         PR lto/69589
2310         * tree.c (need_assembler_name_p): Only record main variant type names.
2311
2312 2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
2313
2314         PR target/70113.
2315         * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
2316         Always define to 0 or 1.
2317         (TARGET_FIX_ERR_A53_843419): New macro.
2318         * config/aarch64/aarch64-elf-raw.h
2319         (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
2320         * config/aarch64/aarch64-linux.h: Likewise.
2321         * config/aarch64/aarch64.c
2322         (aarch64_override_options_after_change_1): Do not default
2323         aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
2324         843419 is on.
2325         (aarch64_attributes): Handle fix-cortex-a53-843419.
2326         (aarch64_can_inline_p): Likewise.
2327         * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
2328
2329 2016-03-10  Alan Lawrence  <alan.lawrence@arm.com>
2330         Jakub Jelinek <jakub@redhat.com>
2331
2332         * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
2333         * tree.c (array_at_struct_end_p): Do not limit to size of decl for
2334         DECL_COMMONS if flag_unconstrained_commons is set.
2335         * tree-dfa.c (get_ref_base_and_extent): Likewise.
2336         * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
2337         (funconstrained-commons): Document.
2338
2339 2016-03-10  Christophe Lyon  <christophe.lyon@linaro.org>
2340
2341         * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
2342         aarch64-fusion-pairs.def and aarch64-tuning-flags.def
2343
2344 2016-03-10  Ilya Enkovich  <enkovich.gnu@gmail.com>
2345
2346         * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
2347         has a proper number of elements.
2348
2349 2016-03-10  Alan Modra  <amodra@gmail.com>
2350
2351         PR rtl-optimization/69195
2352         PR rtl-optimization/47992
2353         * ira.c (recorded_label_ref): Delete.
2354         (update_equiv_regs): Return void.
2355         (indirect_jump_optimize): New function.
2356         (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
2357         before regstat_compute_ri.  Don't rebuild_jump_labels here.
2358         Delete update_regstat.
2359
2360 2016-03-10  Richard Biener  <rguenther@suse.de>
2361
2362         PR tree-optimization/70128
2363         * tree-ssa-structalias.c (set_uids_in_ptset): Set
2364         vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
2365
2366 2016-03-09  Jakub Jelinek  <jakub@redhat.com>
2367
2368         PR tree-optimization/70152
2369         * tree-sra.c (replace_removed_params_ssa_names): Copy over
2370         SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
2371
2372         PR target/70086
2373         * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
2374         instead of gen_sse2_loadlpd.
2375         * config/i386/sse.md (*vec_concatv2df): Rename to...
2376         (vec_concatv2df): ... this.
2377
2378         PR tree-optimization/70127
2379         * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
2380
2381 2016-03-09  David Malcolm  <dmalcolm@redhat.com>
2382
2383         PR c/68473
2384         PR c++/70105
2385         * diagnostic-show-locus.c (compatible_locations_p): New function.
2386         (layout::layout): Sanitize ranges using compatible_locations_p.
2387
2388 2016-03-09  David Malcolm  <dmalcolm@redhat.com>
2389
2390         PR c/68473
2391         PR c++/70105
2392         * diagnostic-show-locus.c (layout_range::layout_range): Replace
2393         location_range param with three const expanded_locations * and a
2394         bool.
2395         (layout::layout): Replace call to
2396         rich_location::lazily_expand_location with get_expanded_location.
2397         Extract the range and perform location expansion here, passing
2398         the results to the layout_range ctor.
2399         * diagnostic.c (source_range::debug): Delete.
2400         * diagnostic.h (diagnostic_expand_location): Reimplement in terms
2401         of rich_location::get_expanded_location.
2402         * gcc-rich-location.c (get_range_for_expr): Delete.
2403         (gcc_rich_location::add_expr): Reimplement to avoid the
2404         rich_location::add_range overload that took a location_range,
2405         passing a location_t instead.
2406
2407 2016-03-09  Richard Biener  <rguenther@suse.de>
2408         Jakub Jelinek  <jakub@redhat.com>
2409
2410         PR tree-optimization/70138
2411         * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
2412         Also skip vect_double_reduction_def.
2413
2414 2016-03-09  Jakub Jelinek  <jakub@redhat.com>
2415
2416         PR target/70049
2417         * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
2418         if the operand is "m".
2419
2420 2016-03-09  Nathan Sidwell  <nathan@acm.org>
2421
2422         * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
2423
2424 2016-03-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
2425
2426         * config/i386/i386.c (processor_target_table): Fix cost table
2427         intialization order for znver1.
2428
2429 2016-03-08  Jakub Jelinek  <jakub@redhat.com>
2430
2431         * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
2432         - becuase -> because.
2433         * ipa-reference.c (ignore_module_statics): Likewise.
2434         * cgraph.c (cgraph_node::get_body): Likewise.
2435         * ipa-inline.c (early_inliner): Likewise.
2436         * ipa-devirt.c (types_same_for_odr): Likewise.
2437         * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
2438         * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
2439
2440 2016-03-08  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2441
2442         * tree-ssa-math-opts.c: Fix typo in comment.
2443
2444 2016-03-08  Jakub Jelinek  <jakub@redhat.com>
2445
2446         PR target/70110
2447         * config/i386/i386.c (scalar_chain::make_vector_copies,
2448         scalar_chain::convert_reg): Call end_sequence in between
2449         get_insns and emit_conversion_insns rather than after both
2450         calls.
2451
2452 2016-03-07  Uros Bizjak  <ubizjak@gmail.com>
2453
2454         PR target/70064
2455         * config/i386/i386.h (machine_function): Add
2456         pc_thunk_call_expanded flag.
2457         (ix86_pc_thunk_call_expanded): New define.
2458         * config/i386/i386.md (set_got, set_got_labelled): New expanders.
2459         (*set_got): Rename insn pattern from set_got.
2460         (*set_got_labelled): Rename inst pattern from set_got_labelled.
2461         * config/i386/i386.c (ix86_compute_frame_layout): Use
2462         ix86_pc_thunk_call_expanded to prevent red-zone.
2463
2464 2016-03-07  Martin Jambor  <mjambor@suse.cz>
2465
2466         * hsa.h (hsa_get_ctor_statements): Declare.
2467         (hsa_get_dtor_statements): Likewise.
2468         (hsa_get_kernel_dispatch_type): Likewise.
2469         * hsa.c (hsa_get_ctor_statements): New function.
2470         (hsa_get_dtor_statements): Likewise.
2471         (hsa_get_kernel_dispatch_type): Likewise.
2472         * hsa-brig.c (hsa_cdtor_statements): Removed.
2473         (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
2474         hsa_get_dtor_statements.
2475         * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
2476         (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
2477
2478 2016-03-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2479
2480         * config/arm/arm-cores.def (cortex-r8): New.
2481         * config/arm/arm-tables.opt (cortex-r8): Regenerate.
2482         * config/arm/arm-tune.md: Likewise.
2483         * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
2484
2485 2016-03-07  Martin Sebor  <msebor@redhat.com>
2486
2487         PR rtl-optimization/19705
2488         * doc/invoke.texi (Options That Control Optimization): Clarify
2489         -fno-branch-count-reg.
2490
2491 2016-02-26  Richard Biener  <rguenther@suse.de>
2492             Jeff Law  <law@redhat.com>
2493
2494         PR tree-optimization/69740
2495         * cfghooks.c (remove_edge): Request loop fixups if we delete
2496         an edge that might turn an irreducible loop into a natural
2497         loop.
2498         * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
2499         Move after definition of loops_state_clear.
2500
2501 2016-03-07  Bin Cheng  <bin.cheng@arm.com>
2502
2503         PR rtl-optimization/69052
2504         * rtlanal.c (commutative_operand_precedence): Set higher precedence
2505         to CONST_WIDE_INT.
2506
2507 2016-03-07  Tom de Vries  <tom@codesourcery.com>
2508
2509         PR tree-optimization/70116
2510         * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
2511         is_tm_ending stmts and ubsan/asan internal functions.
2512         (find_duplicate): Use it.  Don't test is_tm_ending here.
2513
2514 2016-03-07  Richard Biener  <rguenther@suse.de>
2515
2516         PR tree-optimization/70115
2517         * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
2518         (propagate_constants_for_unrolling): Use replace_uses_by.
2519
2520 2016-03-07  Nathan Sidwell  <nathan@codesourcery.com>
2521
2522         PR middle-end/69916
2523         * omp-low.c (struct oacc_loop): Add ifns.
2524         (new_oacc_loop_raw): Initialize it.
2525         (finish_oacc_loop): Clear mask & flags if no ifns.
2526         (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
2527         (oacc_loop_xform_loop): Add ifns arg & adjust.
2528         (oacc_loop_process): Adjust oacc_loop_xform_loop call.
2529
2530 2016-03-07  Richard Henderson  <rth@redhat.com>
2531
2532         PR rtl-opt/70061
2533         * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
2534         (insert_value_copy_on_edge): Likewise.
2535
2536 2016-03-07  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2537
2538         * config/arm/arm_neon.h: Show error if using with soft-float ABI.
2539
2540 2016-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2541
2542         PR target/62281
2543         * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
2544
2545 2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
2546
2547         * config/i386/i386.c (znver1_cost): Fix Multiply cost.
2548
2549 2016-03-05  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>
2550
2551         Fix sseimul type attribute.
2552         * config/i386/znver1.md
2553         (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
2554         znver1_sseimul_avx256_load) : Fix the type attribute.
2555         (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
2556         pipe usage and latency.
2557
2558 2016-03-05  Jakub Jelinek  <jakub@redhat.com>
2559
2560         PR c++/70084
2561         * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
2562         of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
2563         to the right type.
2564
2565 2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
2566
2567         PR c/69973
2568         * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
2569
2570         PR rtl-optimization/69941
2571         * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
2572         the reg share its mode.
2573
2574 2016-03-04  Jeff Law  <law@redhat.com>
2575
2576         PR tree-optimization/69196
2577         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
2578         If the both SSA_NAMEs are anonymous, then consider them unassociated
2579         and include the PHI in the statement count.
2580
2581 2016-03-05  Tom de Vries  <tom@codesourcery.com>
2582
2583         * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
2584         construct in oacc routine.  Check for oacc region in oacc routine.
2585
2586 2016-03-04  Jakub Jelinek  <jakub@redhat.com>
2587
2588         PR target/70062
2589         * config/i386/i386.c (decide_alg): Add RECUR argument.  Revert
2590         2016-02-22 changes, instead don't recurse if RECUR is already true.
2591         Don't change *dynamic_check if RECUR.  Adjust recursive caller
2592         to pass true to the new argument.
2593         (ix86_expand_set_or_movmem): Adjust decide_alg caller.
2594
2595         PR target/70059
2596         * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
2597         <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
2598         fixes.
2599         (vec_set_hi_<mode><mask_name>): Likewise.  Swap VEC_CONCAT operands.
2600
2601 2016-03-04  Bernd Schmidt  <bschmidt@redhat.com>
2602
2603         PR rtl-optimization/57676
2604         * lra-assigns.c (lra_assign): Guard test for maximum iterations
2605         with flag_checking.
2606
2607 2016-03-04  Ilya Enkovich  <enkovich.gnu@gmail.com>
2608
2609         * tree-vect-patterns.c (search_type_for_mask): Handle
2610         comparison of booleans.
2611
2612 2016-03-04  Jakub Jelinek  <jakub@redhat.com>
2613
2614         * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
2615         Fix @xref usage.
2616
2617         PR debug/69947
2618         * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
2619         all other ops that have dw_val_class_die_ref operands,
2620         and DW_OP_GNU_entry_value.
2621
2622 2016-03-03  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
2623
2624         PR rtl-optimization/69904
2625         * config/arm/arm.c (arm_cannot_copy_insn_p):
2626         Return true for load-exclusive instructions.
2627
2628 2016-03-03  Jakub Jelinek  <jakub@redhat.com>
2629
2630         PR target/70021
2631         * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
2632         argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
2633         the pattern no matter if it is used just by non-pattern, pattern
2634         or mix thereof.
2635         (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
2636         * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
2637         oprnd1 def_stmt is in pattern, don't look through it.
2638
2639 2016-03-03  Marek Polacek  <polacek@redhat.com>
2640
2641         PR middle-end/70050
2642         * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
2643
2644 2016-03-03  Martin Liska  <mliska@suse.cz>
2645
2646         PR tree-optimization/70043
2647         * tree-vect-loop.c (optimize_mask_stores): Move iterator to
2648         previous statement if we see a debug statement.
2649
2650 2016-03-03  Richard Biener  <rguenther@suse.de>
2651
2652         PR tree-optimization/55936
2653         * tree-vrp.c (compare_name_with_value): Add use_equiv_p
2654         parameter and guard unsafe equivalence use.
2655         (vrp_evaluate_conditional_warnv_with_ops): Always use
2656         safe equivalences but not via the quadratic compare_names
2657         helper.
2658
2659 2016-03-03  Michael Collison  <michael.collison@linaro.org>
2660
2661         PR target/70014
2662         * config/arm/arm.md (*subsi3_carryin_const): Change predicate
2663         for operand 1 to s_register_operand. Change predicate for operand
2664         2 to arm_not_immediate_operand.
2665
2666 2016-03-02  H.J. Lu  <hongjiu.lu@intel.com>
2667
2668         * doc/tm.texi: Regenerated.
2669
2670 2016-03-02  Richard Henderson  <rth@redhat.com>
2671
2672         PR rtl-opt/67145
2673         * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
2674         simplification when all args are positive non-fixed registers.
2675
2676 2016-03-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
2677
2678         * target.def (lra_p): Specify that new ports should use LRA.
2679
2680 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
2681
2682         PR libgomp/69555
2683         * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
2684         gimplify_type_sizes the type they refer to.
2685         (omp_notice_variable): Handle reference vars to VLAs.
2686         * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
2687         reference to VLA decls in the second pass instead of first pass.
2688
2689 2016-03-02  Tom de Vries  <tom@codesourcery.com>
2690
2691         PR tree-optimization/68659
2692         * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
2693         new_expr == NULL_TREE.
2694         (get_new_name): Handle ADDR_EXPR.
2695
2696 2016-03-02  Bin Cheng  <bin.cheng@arm.com>
2697
2698         PR rtl-optimization/69052
2699         * loop-invariant.c (canonicalize_address): New function.
2700         (inv_can_prop_to_addr_use): Check validity of address expression
2701         which is canonicalized by above function.
2702
2703 2016-03-02  Alan Modra  <amodra@gmail.com>
2704
2705         PR ipa/69990
2706         * ipa-icf.c (sem_variable::merge): Do not merge an alias with
2707         larger alignment.
2708
2709 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
2710
2711         PR target/70028
2712         * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
2713         (*movhi_internal): Put mask moves from and to memory separately
2714         from moves from/to GPRs.
2715
2716 2016-03-02  Richard Biener  <rguenther@suse.de>
2717
2718         * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
2719         GENERIC expressions in GIMPLE.
2720
2721 2016-03-02  Richard Biener  <rguenther@suse.de>
2722
2723         * config/i386/i386.c (type_natural_mode): Fix typo.
2724
2725 2016-03-02  Nick Clifton  <nickc@redhat.com>
2726
2727         * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
2728
2729 2016-03-02  Richard Biener  <rguenther@suse.de>
2730             Uros Bizjak  <ubizjak@gmail.com>
2731
2732         PR target/67278
2733         * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
2734
2735 2016-03-02  Richard Biener  <rguenther@suse.de>
2736
2737         PR middle-end/67278
2738         * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
2739
2740 2016-03-02  Marek Polacek  <polacek@redhat.com>
2741
2742         PR c/67854
2743         * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
2744         "is promoted to" warning.
2745
2746 2016-03-01  DJ Delorie  <dj@redhat.com>
2747
2748         * config.gcc: Deprecate mep-*.
2749
2750 2016-03-01  Vladimir Makarov  <vmakarov@redhat.com>
2751
2752         PR middle-end/70025
2753         * lra-constraints.c (regno_val_use_in): New.
2754         (match_reload): Use it instead of regno_use_in.
2755
2756 2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
2757
2758         PR rtl-optimization/70007
2759         * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
2760         references present in REG_EQUAL notes attached to non-SET patterns.
2761
2762 2016-03-01  Jeff Law  <law@redhat.com>
2763
2764         PR tree-optimization/69196
2765         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
2766         Appropriately clamp the number of statements to copy when the
2767         thread path does not traverse a loop backedge.
2768
2769         PR tree-optimization/69196
2770         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
2771         Do count some PHIs in the thread path against the insn count.  Decrease
2772         final statement count by one as the control statement in the last
2773         block will get removed.  Remove special cased code for handling PHIs
2774         in the last block.
2775
2776 2016-03-01  Uros Bizjak  <ubizjak@gmail.com>
2777
2778         PR target/70027
2779         * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
2780         asm dialect alternatives to explicit GOTPCREL calls.
2781
2782 2016-03-01  Eric Botcazou  <ebotcazou@adacore.com>
2783
2784         PR ada/70017
2785         * ira.c (do_reload): Issue warning for generic stack checking here...
2786         * reload1.c (reload): ...instead of here and streamline it.
2787
2788 2016-03-01  Nick Clifton  <nickc@redhat.com>
2789
2790         * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
2791
2792 2016-03-01  Richard Biener  <rguenther@suse.de>
2793
2794         PR tree-optimization/69983
2795         * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
2796         types and fall back to operand_equal_p.
2797
2798 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2799
2800         Revert
2801         2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2802
2803         * config/s390/constraints.md ("jm8"): New constraint.
2804         * config/s390/predicates.md ("const_int_8bitset_operand"): New
2805         predicate.
2806         * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
2807         into ...
2808         ("*setmem_long<setmem_and>"): New pattern.
2809         ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
2810         into ...
2811         ("*setmem_long_31z<setmem_and>"): New pattern.
2812         * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
2813         New substitution rules with the required attributes.
2814
2815
2816 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2817
2818         Revert
2819         2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2820
2821         * gensupport.c (process_substs_on_one_elem): Split loop to
2822         complete mark_operands_used_in_match_dup on all expressions in the
2823         vector first.
2824         (adjust_operands_numbers): Inline into process_substs_on_one_elem
2825         and remove function.
2826
2827 2016-03-01  Richard Biener  <rguenther@suse.de>
2828
2829         PR middle-end/70022
2830         * fold-const.c (fold_indirect_ref_1): Fix range checking for
2831         vector BIT_FIELD_REF extract.
2832
2833 2016-03-01  Richard Biener  <rguenther@suse.de>
2834
2835         PR tree-optimization/69994
2836         * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
2837
2838 2016-03-01  Ilya Enkovich  <enkovich.gnu@gmail.com>
2839
2840         PR tree-optimization/69956
2841         * tree-vect-stmts.c (supportable_widening_operation): Support
2842         multi-step conversion of boolean vectors.
2843         (supportable_narrowing_operation): Likewise.
2844
2845 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2846
2847         * config/s390/s390.c (s390_decompose_address): Don't accept SImode
2848         anymore.
2849
2850 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2851
2852         * config/s390/subst.md (DSI_VI): New mode iterator.
2853         ("addr_style_op_subst"): Use DSI_VI instead of DSI.
2854         * config/s390/vector.md ("vec_set<mode>"): Move expander before
2855         the insn definition.
2856         ("*vec_set<mode>"): Change predicate and add alternative to
2857         support only either register or const_int operands as element
2858         selector.
2859         ("*vec_set<mode>_plus"): New pattern to support reg + const_int
2860         operands.
2861         ("vec_extract<mode>"): New expander.
2862         ("*vec_extract<mode>"): New insn definition supporting reg and
2863         const_int element selectors.
2864         ("*vec_extract<mode>_plus"): New insn definition supporting
2865         reg+const_int element selectors.
2866         ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
2867         following expander+insn definition.
2868         ("<vec_shifts_name><mode>3"): New expander.
2869         ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
2870
2871 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2872
2873         * config/s390/s390.md ("*tabort_1"): Change predicate to
2874         nonmemory_operand.  Add a second alternative to cover
2875         register as well as const int operands.
2876         ("*tabort_1_plus"): New pattern definition.
2877
2878 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2879
2880         * config/s390/s390.md ("*ashrdi3_cc_31")
2881         ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
2882         ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
2883         Merge insn definitions into ...
2884         ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
2885         New pattern definition.
2886         ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
2887         ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
2888         ("*ashr<mode>3_and"): Merge insn definitions into ...
2889         ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
2890         New pattern definition.
2891         * config/s390/subst.md ("addr_style_op_cc_subst")
2892         ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
2893         substitutions patterns plus attributes.
2894         Add ashiftrt to SUBST iterator.
2895
2896 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2897
2898         * config/s390/s390.md ("<shift><mode>3"): Change predicate of
2899         op2 to nonmemory_operand.
2900         ("*<shift>di3_31", "*<shift>di3_31_and"):
2901         Merge into single pattern definition ...
2902         ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
2903         ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
2904         pattern definition ...
2905         ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
2906         * config/s390/subst.md: Add ashift and lshiftrt to SUBST
2907         iterator.
2908
2909 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2910
2911         * config/s390/predicates.md (const_int_6bitset_operand): New
2912         predicate.
2913         * config/s390/s390.md: Include subst.md.
2914         ("rotl<mode>3"): New expander.
2915         ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
2916         ...
2917         ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
2918         * config/s390/subst.md: New file.
2919
2920 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2921
2922         * config/s390/s390.md ("op_type", "atype", "length" attributes):
2923         Remove RRR type.  It doesn't really exist.
2924         ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
2925         attributes.
2926         ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
2927         ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
2928         ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
2929         ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
2930         ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
2931         ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
2932         `enabled' attribute.
2933
2934 2016-03-01  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
2935
2936         * gensupport.c (process_substs_on_one_elem): Split loop to
2937         complete mark_operands_used_in_match_dup on all expressions in the
2938         vector first.
2939         (adjust_operands_numbers): Inline into process_substs_on_one_elem
2940         and remove function.
2941
2942 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
2943
2944         PR target/69706
2945         * config/sparc/sparc.c (NWORDS_UP): Rename to...
2946         (CEIL_NWORDS): ...this.  Use CEIL macro.
2947         (compute_fp_layout): Adjust to above renaming.
2948         (function_arg_union_value): Likewise.
2949         (sparc_arg_partial_bytes): Likewise.
2950         (sparc_function_arg_advance): Likewise.
2951
2952 2016-02-29  Jeff Law  <law@redhat.com>
2953
2954         PR tree-optimization/70005
2955         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
2956         where an object with a boolean range is compared against a value
2957         outside [0..1].
2958
2959         PR tree-optimization/69999
2960         * gimple-ssa-split-paths.c (split_paths): When duplicating a block
2961         with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
2962         loop cleanups.
2963
2964 2016-02-29  Richard Biener  <rguenther@suse.de>
2965
2966         PR tree-optimization/69994
2967         * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
2968         (get_unary_op): Look through nop conversions.
2969         (ops_equal_values_p): New function, look for equality diregarding
2970         nop conversions.
2971         (eliminate_plus_minus_pair): Use ops_equal_values_p
2972         (repropagate_negates): Do not use get_unary_op here.
2973
2974 2016-02-29  Martin Liska  <mliska@suse.cz>
2975
2976         * system.h: Poison ENABLE_CHECKING macro.
2977
2978 2016-02-29  Martin Liska  <mliska@suse.cz>
2979
2980         * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
2981         is presented in dump flags.
2982         * hsa-regalloc.c (linear_scan_regalloc): Likewise.
2983         (hsa_regalloc): Likewise.
2984
2985 2016-02-19  Richard Biener  <rguenther@suse.de>
2986
2987         PR tree-optimization/69980
2988         * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
2989         permutation of those we need to keep.
2990
2991 2016-02-29  Eric Botcazou  <ebotcazou@adacore.com>
2992
2993         PR target/69706
2994         * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
2995         (NWORDS_UP): ...this
2996         (init_cumulative_args): Minor tweaks.
2997         (sparc_promote_function_mode): Likewise.
2998         (scan_record_type): Delete.
2999         (traverse_record_type): New function template.
3000         (classify_data_t): New structure type.
3001         (classify_registers): New inline function.
3002         (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
3003         exhausted.  Instantiate traverse_record_type on classify_registers and
3004         deal with the case of a structure passed in slot #15 with no FP field
3005         in the first word.
3006         (assign_data_t): New structure type.
3007         (compute_int_layout): New static function.
3008         (compute_fp_layout): Likewise.
3009         (count_registers): New inline function.
3010         (assign_int_registers): New static function.
3011         (assign_fp_registers): Likewise.
3012         (assign_registers): New inline function.
3013         (function_arg_record_value_1): Delete.
3014         (function_arg_record_value_2): Likewise.
3015         (function_arg_record_value_3): Likewise.
3016         (function_arg_record_value): Adjust to above changes.  Instantiate
3017         traverse_record_type on count_registers to first count the number of
3018         registers to be used and then on assign_registers to assign them.
3019         (function_arg_union_value): Adjust to above renaming.
3020         (sparc_function_arg_1); Minor tweaks.  Remove commented out code.
3021         (sparc_arg_partial_bytes): Adjust to above renaming.  Deal with the
3022         case of a structure passed in slot #15
3023         (sparc_function_arg_advance): Likewise.
3024         (function_arg_padding): Minor tweak.
3025
3026 2016-02-29  Richard Biener  <rguenther@suse.de>
3027
3028         PR tree-optimization/69720
3029         * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
3030         the adjustment_def path for possibly vectorized defs.
3031         (vect_create_epilog_for_reduction): Handle vectorized initial
3032         defs properly.
3033
3034 2016-02-28  Eric Botcazou  <ebotcazou@adacore.com>
3035
3036         * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
3037
3038 2016-02-27  Jeff Law  <law@redhat.com>
3039
3040         Revert
3041         2016-02-26  Richard Biener  <rguenther@suse.de>
3042                     Jeff Law  <law@redhat.com>
3043
3044         PR tree-optimization/69740
3045         * cfghooks.c (remove_edge): Request loop fixups if we delete
3046         an edge that might turn an irreducible loop into a natural
3047         loop.
3048
3049 2016-02-27  Jakub Jelinek  <jakub@redhat.com>
3050
3051         PR rtl-optimization/69896
3052         * tree-vect-generic.c (get_compute_type): Avoid single element
3053         vector types.
3054
3055 2016-02-26  Evandro Menezes  <e.menezes@samsung.com>
3056
3057         Rename the AArch64 tuning option and related functions to enable the
3058         Newton series for the reciprocal square root to reflect its
3059         approximative characteristic.
3060
3061         * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
3062         function to "aarch64_emit_approx_rsqrt".
3063         * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
3064         AARCH64_EXTRA_TUNE_APPROX_RSQRT.
3065         * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
3066         (xgene1_tunings): Likewise.
3067         (use_rsqrt_p): Likewise.
3068         (aarch64_emit_swrsqrt): Use new function name.
3069         * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
3070         * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
3071         text explaining this option.
3072         * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
3073
3074 2016-02-26  Jakub Jelinek  <jakub@redhat.com>
3075
3076         PR target/69969
3077         * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3078         complain about -mallow-movmisalign without -mvsx if
3079         TARGET_ALLOW_MOVMISALIGN was not set explicitly.
3080
3081 2016-02-26  Joel Sherrill  <joel@rtems.org>
3082
3083         * config.gcc: Add x86_64-*-rtems*.
3084         * gcc/config/i386/rtems-64.h: New file.
3085
3086 2016-02-26  Joel Sherrill  <joel@rtems.org>
3087
3088         * config.gcc: Add aarch64-*-rtems*.
3089         * gcc/config/aarch64/rtems.h: New file.
3090
3091 2016-02-26  Segher Boessenkool  <segher@kernel.crashing.org>
3092
3093         PR target/69946
3094         * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
3095         shift amount using %h.  Add comment.
3096
3097 2016-02-26  Richard Biener  <rguenther@suse.de>
3098             Jeff Law  <law@redhat.com>
3099
3100         PR tree-optimization/69740
3101         * cfghooks.c (remove_edge): Request loop fixups if we delete
3102         an edge that might turn an irreducible loop into a natural
3103         loop.
3104
3105 2016-02-26  Martin Jambor  <mjambor@suse.cz>
3106
3107         PR middle-end/69920
3108         * tree-sra.c (sra_modify_assign): Do not remove loads of
3109         uninitialized aggregates to SSA_NAMEs.
3110
3111 2016-02-26  Richard Henderson  <rth@redhat.com>
3112
3113         PR target/69709
3114         * config/s390/s390.md (risbg and risbgn splitters): Allocate new
3115         pseudo in case the target rtx matches the source of the left
3116         shift.
3117
3118 2016-02-26  Martin Jambor  <mjambor@suse.cz>
3119
3120         PR hsa/69568
3121         * hsa.h (hsa_type_packed_p): Declare.
3122         * hsa.c (hsa_type_packed_p): New function.
3123         * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
3124         loads.
3125         (gen_hsa_insns_for_store): Use hsa_type_packed_p.
3126         * hsa-brig.c (emit_basic_insn): Likewise.
3127
3128 2016-02-26  Martin Jambor  <mjambor@suse.cz>
3129
3130         pr hsa/69674
3131         * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
3132         pointers.
3133         (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
3134
3135 2016-02-26  Martin Jambor  <mjambor@suse.cz>
3136
3137         * hsa.h (is_a_helper): New overload for hsa_op_immed for
3138         hsa_op_with_type operands.
3139         (hsa_unsigned_type_for_type): Declare.
3140         * hsa.c (hsa_unsigned_type_for_type): New function.
3141         * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
3142         (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
3143         the finalizer.  Do not emit extra move.
3144
3145 2016-02-26  Martin Jambor  <mjambor@suse.cz>
3146
3147         * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
3148         atomic operations in private segment.
3149
3150 2016-02-26  Martin Jambor  <mjambor@suse.cz>
3151
3152         * omp-low.c (grid_find_ungridifiable_statement): Store problematic
3153         statements to wi->info.  Also disallow omp simd constructs.
3154         (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
3155         for not gridifying.  Dump special string for omp_for.
3156
3157 2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3158
3159         PR target/69245
3160         * config/aarch64/aarch64.c (aarch64_set_current_function):
3161         Save/restore target globals when switching to
3162         target_option_default_node.
3163
3164 2016-02-26  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3165
3166         PR target/69613
3167         * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
3168         Return 0 if !SHIFT_COUNT_TRUNCATED.
3169
3170 2016-02-26  Jakub Jelinek  <jakub@redhat.com>
3171             Eric Botcazou  <ebotcazou@adacore.com>
3172
3173         PR rtl-optimization/69891
3174         * dse.c (scan_insn): If we can't figure out memset arguments
3175         or they are non-constant, call clear_rhs_from_active_local_stores.
3176
3177 2016-02-26  Martin Liska  <mliska@suse.cz>
3178
3179         * doc/extend.texi: Mention clog10, clog10f an clog10l
3180         in Builtins section.
3181
3182 2016-02-26  Martin Liska  <mliska@suse.cz>
3183
3184         * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
3185         CHECKING_P.
3186         (resolve_args_picking_1): Likewise.
3187         * dwarf2out.h (struct GTY): Likewise.
3188
3189 2016-02-26  Martin Liska  <mliska@suse.cz>
3190
3191         * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
3192         with flag_checking.
3193         * hsa-regalloc.c (linear_scan_regalloc): Likewise.
3194
3195 2016-02-26  Markus Trippelsdorf  <markus@trippelsdorf.de>
3196             Martin Liska  <mliska@suse.cz>
3197
3198         * doc/install.texi: Mention --enable-valgrind-annotations.
3199
3200 2016-02-26  Richard Biener  <rguenther@suse.de>
3201
3202         PR tree-optimization/69551
3203         * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
3204         looking through aliases adjust DECL_PT_UID to refer to the
3205         ultimate alias target.
3206
3207 2016-02-25  Martin Liska  <mliska@suse.cz>
3208
3209         PR middle-end/69919
3210         * alloc-pool.c (after_memory_report): New variable.
3211         * alloc-pool.h (base_pool_allocator ::release): Do not use
3212         the infrastructure if after_memory_report.
3213         * toplev.c (toplev::main): Mark after memory report.
3214
3215 2016-02-25  Richard Biener  <rguenther@suse.de>
3216
3217         PR tree-optimization/48795
3218         * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
3219
3220 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
3221
3222         PR driver/68463
3223         * config/gnu-user.h (CRTOFFLOADBEGIN): Define.  Add crtoffloadbegin.o if
3224         offloading is enabled and -fopenacc or -fopenmp is specified.
3225         (CRTOFFLOADEND): Likewise.
3226         (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
3227         (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
3228         * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
3229         (offload_objects_file_name): New static var.
3230         (tool_cleanup): Remove offload_objects_file_name file.
3231         (find_offloadbeginend): Replace with ...
3232         (find_crtoffloadtable): ... this.
3233         (run_gcc): Remove offload_argc and offload_argv.
3234         Get offload_objects_file_name from -foffload-objects=... option.
3235         Read names of object files with offload from this file, pass them to
3236         compile_images_for_offload_targets.  Don't call find_offloadbeginend and
3237         don't pass offloadbegin and offloadend to the linker.  Don't pass
3238         offload non-LTO files to the linker, because now they're not claimed.
3239
3240 2016-02-25  Jan Hubicka  <hubicka@ucw.cz>
3241
3242         PR ipa/69630
3243         * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
3244         on builtin_unreachable.
3245
3246 2016-02-25  Jakub Jelinek  <jakub@redhat.com>
3247
3248         PR rtl-optimization/69896
3249         * regcprop.c: Include cfgrtl.h.
3250         (copyprop_hardreg_forward_1): If noop_p insn uses narrower
3251         than remembered mode, either delete it (if noop_move_p), or
3252         treat like copy_p but not noop_p instruction.
3253
3254 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
3255
3256         PR debug/69705
3257         * dwarf2out.c (gen_variable_die): Work around buggy LTO
3258         - allow NULL decl for Fortran DW_TAG_common_block variables.
3259
3260 2016-02-24  Jason Merrill  <jason@redhat.com>
3261
3262         * common.opt (flifetime-dse): Add -flifetime-dse=1.
3263
3264 2016-02-24  Richard Biener  <rguenther@suse.de>
3265             Jakub Jelinek  <jakub@redhat.com>
3266
3267         PR middle-end/69760
3268         * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
3269         conditionally executed ops to well-defined overflow behavior.
3270
3271 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
3272
3273         PR middle-end/69915
3274         * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
3275         elements.
3276
3277 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3278
3279         PR rtl-optimization/69886
3280         * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
3281         argument.  Use it when checking validity of set instructions.
3282         (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
3283         (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
3284         callsite.
3285         * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
3286         * store-motion.c (find_moveable_store): Update
3287         can_assign_to_reg_without_clobbers_p callsite.
3288
3289 2016-02-24  Richard Biener  <rguenther@suse.de>
3290
3291         PR middle-end/68963
3292         * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
3293         bogus check.
3294         (record_nonwrapping_iv): Do not fall back to the low/high bound
3295         for non-constant IV bases if the stmt is not always executed.
3296
3297 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3298
3299         * config/arm/arm-cores.def (cortex-a32): New entry.
3300         * config/arm/arm-tables.opt: Regenerate.
3301         * config/arm/arm-tune.md: Regenerate.
3302         * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
3303         * config/arm/t-aprofile: Handle mcpu=cortex-a32.
3304         * doc/invoke.texi (ARM Options): Document cortex-a32 as value
3305         for -mcpu and -mtune.
3306
3307 2016-02-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3308
3309         PR target/69875
3310         * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
3311         * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
3312         * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
3313         (atomic_loaddi_1): Delete.
3314         (atomic_loaddi): Rewrite expander using the above changes.
3315
3316 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
3317
3318         PR c/69918
3319         * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
3320         2 to 3.
3321
3322 2016-02-24  Jakub Jelinek  <jakub@redhat.com>
3323             Richard Biener  <rguenth@suse.de>
3324
3325         PR middle-end/69909
3326         * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
3327         set_mem_attributes if tem is SSA_NAME which got expanded
3328         as a MEM.
3329
3330 2016-02-24  Richard Biener  <rguenther@suse.de>
3331
3332         PR tree-optimization/69907
3333         * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
3334         end of permutations for BB vectorization.
3335
3336 2016-02-24  Christian Bruel  <christian.bruel@st.com>
3337
3338         * config/arm/arm-c.c (arm_option_override): Initialize
3339         target_option_current_node.
3340         * config/arm/arm.c (arm_pragma_target_parse): Replace
3341         build_target_option_node call by target_option_current_node.
3342         Set target_option_current_node.
3343         Fix comments.
3344
3345 2016-02-23  David Edelsohn  <dje.gcc@gmail.com>
3346
3347         PR target/69810
3348         * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
3349         define_insn_and_split to define_insn.
3350         (zero_extendqi<mode>2_dot2): Same.
3351         (extendqi<mode>2_dot): Same.
3352         (extendqi<mode>2_dot2): Same.
3353
3354 2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
3355
3356         * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
3357         and add bypass for AES{D,E} and AESMC pairs.
3358         * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
3359         and AESMC pairs.
3360
3361 2016-02-23  Evandro Menezes  <e.menezes@samsung.com>
3362
3363         * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
3364         series for reciprocal square root in Exynos M1.
3365
3366 2016-02-23  Martin Sebor  <msebor@redhat.com>
3367
3368         PR c/69759
3369         * doc/extend.texi (Other Builtins): Document __builtin_alloca and
3370         __builtin_alloca_with_align.
3371
3372 2016-02-23  Richard Henderson  <rth@redhat.com>
3373
3374         * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
3375         (ix86_register_pragmas): Remove __seg_tls.
3376         * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
3377         * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
3378         (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
3379         (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
3380         (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
3381         * doc/extend.texi (__seg_tls): Remove item.
3382
3383 2016-02-23  Richard Biener  <rguenther@suse.de>
3384
3385         * alloc-pool.h (struct allocation_object): Make id member
3386         conditional on CHECKING_P again.
3387         (get_instance): Adjust.
3388         (base_pool_allocator): Likewise.
3389
3390 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
3391
3392         * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
3393         (parallelize_loops): In OpenACC kernels mode, set n_threads to
3394         zero.
3395         (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
3396         flag_openacc.
3397         * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
3398
3399 2016-02-23  Richard Biener  <rguenther@suse.de>
3400
3401         * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
3402         * bitmap.h (struct bitmap_usage): Likewise.
3403         (bitmap_move): Declare.
3404         * bitmap.c (register_overhead): Take size_t argument.
3405         (bitmap_move): New function.
3406         * df-problems.c (df_rd_transfer_function): Use bitmap_move
3407         to properly account overhead.
3408         * tree.c (free_node): Use tree_size.
3409
3410 2016-02-23  Jakub Jelinek  <jakub@redhat.com>
3411
3412         PR c++/69902
3413         * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
3414         when inverting comparison.
3415
3416         PR c/69900
3417         * common.opt (Wunreachable-code): Add Warning flag.
3418
3419 2016-02-23  Mark Wielaard  <mjw@redhat.com>
3420             Jakub Jelinek  <jakub@redhat.com>
3421
3422         PR c/69911
3423         * cgraphunit.c (check_global_declaration): Check main_input_filename
3424         and DECL_SOURCE_FILE are not NULL.
3425
3426 2016-02-23  Martin Jambor  <mjambor@suse.cz>
3427
3428         PR tree-optimization/69666
3429         * tree-sra.c (sra_modify_assign): Do not attempt to create
3430         default_def replacements for unscalarizable regions.
3431
3432 2016-02-20  Mark Wielaard  <mjw@redhat.com>
3433
3434         PR c/28901
3435         * cgraphunit.c (check_global_declaration): Check level of
3436         warn_unused_const_variable and main_input_filename.
3437         * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
3438         (-Wunused-variable): For C implies -Wunused-const-variable=1.
3439         (-Wunused-const-variable): Explain levels 1 and 2.
3440
3441 2016-02-22  Jakub Jelinek  <jakub@redhat.com>
3442
3443         PR target/69888
3444         * config/i386/i386.c (decide_alg): Ensure we don't recurse with
3445         identical arguments.  Formatting and spelling fixes.
3446
3447         PR target/69885
3448         * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
3449         be specified.
3450
3451         PR target/69894
3452         PR target/69895
3453         * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
3454         and m68k-devices.def.
3455         * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
3456         * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
3457
3458 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
3459
3460         * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
3461         and HImode registers.
3462
3463 2016-02-22  Richard Biener  <rguenther@suse.de>
3464
3465         PR tree-optimization/69882
3466         * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
3467         preserve permutations present because of gaps.
3468         (vect_supported_load_permutation_p): Always continue checking
3469         permutations after vect_attempt_slp_rearrange_stmts.
3470
3471 2016-02-22  Bin Cheng  <bin.cheng@arm.com>
3472
3473         * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
3474         min_profitable_estimate, rather than min_profitable_iters.
3475
3476 2016-02-22  Jakub Jelinek  <jakub@redhat.com>
3477
3478         PR target/69885
3479         * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
3480         SImode for last match_operand.
3481
3482 2016-02-22  Martin Liska  <mliska@suse.cz>
3483
3484         * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
3485         return bitsize - 1 as the return value.
3486
3487 2016-02-22  Oleg Endo  <olegendo@gcc.gnu.org>
3488
3489         PR target/69806
3490         PR target/54089
3491         * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
3492         Handle negative shift counts.
3493         * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
3494         force_reg on the shift constant.
3495         (lshrsi3): Likewise.  Expand into lshrsi3_n* instead of lshrsi3_d.
3496         (lshrsi3_d): Handle negative shift counts.
3497
3498 2016-02-22  Richard Biener  <rguenther@suse.de>
3499             Tom de Vries  <tom@codesourcery.com>
3500
3501         * graph.c: Include dumpfile.h.
3502         (print_graph_cfg): Split into three overloads.
3503         * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
3504
3505 2016-02-22  Tom de Vries  <tom@codesourcery.com>
3506
3507         * gdbhooks.py (class DumpFn): Add and instantiate, adding command
3508         dump-fn.
3509
3510 2016-02-22  Richard Biener  <rguenther@suse.de>
3511
3512         PR ipa/37448
3513         * ipa-inline-transform.c (inline_call): When not updating
3514         overall summaries adjust self size by the growth estimate.
3515         * ipa-inline.c (inline_to_all_callers_1): Add to the callers
3516         hash-set, do not update overall summaries here.  Renamed from ...
3517         (inline_to_all_callers): ... this which is now wrapping the
3518         above and performing delayed overall summary update.
3519         (early_inline_small_functions): Delay updating of the overall
3520         summary.
3521
3522 2016-02-21  Markus Trippelsdorf  <markus@trippelsdorf.de>
3523
3524         * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
3525         variable.
3526
3527 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
3528
3529         PR driver/69805
3530         * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
3531         :%* in %:gt() argument.
3532         (greater_than_spec_func): Adjust for expecting only numbers,
3533         if there are more than two numbers, compare the last two.
3534
3535 2016-02-19  Jonathan Wakely  <jwakely@redhat.com>
3536
3537         * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
3538         -Wnarrowing with -std.
3539
3540 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
3541
3542         PR c++/69851
3543         * expr.c (store_field): Don't use bit-field path if exp is
3544         COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
3545         different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
3546         and the assignment can be performed by bitwise copy.  Formatting
3547         fix.
3548
3549         PR middle-end/69838
3550         * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
3551         call copy_reg_eh_region_note_forward on before and/or after sequences
3552         and remove note from insn if it no longer can throw.
3553
3554         PR target/69820
3555         * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
3556         if TARGET_AVX512BW.
3557
3558 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3559
3560         * config/s390/vector.md: Add missing commutative operand markers
3561         to the patterns which qualify for one.
3562         * config/s390/vx-builtins.md: Likewise.
3563
3564 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3565
3566         * config/s390/vector.md (VI, VI_QHS): Add single element vector
3567         types to mode iterators.
3568         (vec_double): ... and mode attribute.
3569         * config/s390/vx-builtins.md (non_vec_int): Likewise.
3570
3571 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3572
3573         * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
3574         Change the predicate of op2 from nonimmediate to general and let
3575         reload fix it if necessary.
3576
3577 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3578
3579         * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
3580
3581 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3582
3583         * config/s390/s390.c (s390_expand_vcond): Use the compare operand
3584         mode.
3585
3586 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3587
3588         * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
3589         * config/s390/s390.c (s390_expand_vec_movstr): New function.
3590         * config/s390/s390.md ("movstr<P:mode>"): Call
3591         s390_expand_vec_movstr.
3592
3593 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3594
3595         * config/s390/s390.md: Add missing output modifier for operand 1
3596         to print it as address properly.
3597
3598 2016-02-19  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
3599
3600         * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
3601         * config/s390/2964.md: New file.
3602         * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
3603         of insn grouping attributes depending on the CPU level.
3604         (s390_get_unit_mask): New function.
3605         (s390_sched_score): Remove the OOO from the scheduling macros.
3606         Add loop to calculate a score for the instruction mix.
3607         (s390_sched_reorder): Likewise plus improve debug output.
3608         (s390_sched_variable_issue): Rename macros as above.  Calculate
3609         the unit distances after actually scheduling an insn.  Improve
3610         debug output.
3611         (s390_sched_init): Clear last_scheduled_unit_distance array.
3612         * config/s390/s390.md: Include 2964.md.
3613
3614 2016-02-18  Jakub Jelinek  <jakub@redhat.com>
3615
3616         PR target/69671
3617         * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
3618         *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
3619         *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
3620         *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
3621         *avx512f_<code>v8div16qi2_mask_1): New insns.
3622
3623 2016-02-18  Michael Meissner  <meissner@linux.vnet.ibm.com>
3624
3625         PR target/68404
3626         * config/rs6000/predicates.md (fusion_gpr_addis): Revert
3627         2016-02-09 change.
3628
3629         * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
3630         earlyclobber from target.  Use wF constraint for fused memory
3631         address.
3632         (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
3633
3634 2016-02-18  Jakub Jelinek  <jakub@redhat.com>
3635             Martin Liska  <mliska@suse.cz>
3636
3637         PR sanitizer/69863
3638         * cfgexpand.c (asan_sanitize_stack_p): New function.
3639         (partition_stack_vars): Use the function.
3640         (expand_stack_vars): Likewise.
3641         (defer_stack_allocation): Likewise.
3642         (expand_used_vars): Likewise.
3643
3644 2016-02-18  Richard Biener  <rguenther@suse.de>
3645
3646         PR middle-end/69553
3647         * fold-const.c (operand_equal_p): Properly compare offsets for
3648         IMAGPART_EXPR and ARRAY_REF.
3649
3650 2016-02-18  Nick Clifton  <nickc@redhat.com>
3651
3652         PR target/62254
3653         PR target/69610
3654         * config/arm/arm.c (arm_option_override_internal): Disable
3655         interworking if the target does not support thumb instructions.
3656         (arm_reload_in_hi): Handle the case where a register to register
3657         move needs reloading because there is no simple pattern to handle
3658         it.
3659         (arm_reload_out_hi): Likewise.
3660
3661 2016-02-18  Richard Biener  <rguenther@suse.de>
3662
3663         PR middle-end/69854
3664         * match.pd: Don't use fold_binary or fold_unary for folding
3665         constants.
3666
3667 2016-02-17  Jakub Jelinek  <jakub@redhat.com>
3668
3669         PR c++/69850
3670         * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
3671         on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
3672         * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
3673         warn on gimple_no_warning_p statements.
3674
3675 2016-02-17  Jonathan Wakely  <jwakely@redhat.com>
3676
3677         * doc/extend.texi (C++ Attributes): Correct description of
3678         warn_unused type attribute.
3679
3680 2016-02-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
3681
3682         * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
3683         correct instruction.
3684
3685 2016-02-17  Richard Biener  <rguenther@suse.de>
3686
3687         PR rtl-optimization/69609
3688         * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
3689         (find_traces_1_round): When ending a trace update cached priority
3690         of successors.
3691         (bb_to_key): Use cached priority when available.
3692         (copy_bb): Initialize cached priority.
3693         (reorder_basic_blocks_software_trace_cache): Likewise.
3694
3695 2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3696
3697         PR target/69161
3698         * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
3699         New predicate.
3700         (aarch64_comparison_operator): Break overly long line into two.
3701         (aarch64_comparison_operation): Likewise.
3702         * config/aarch64/aarch64.md (cstorecc4): Use
3703         aarch64_comparison_operator_mode instead of
3704         aarch64_comparison_operator.
3705         (cstore<mode>4): Likewise.
3706         (aarch64_cstore<mode>): Likewise.
3707         (*cstoresi_insn_uxtw): Likewise.
3708         (cstore<mode>_neg): Likewise.
3709         (*cstoresi_neg_uxtw): Likewise.
3710
3711 2016-02-17  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
3712
3713         PR target/69161
3714         * config/arm/predicates.md (arm_comparison_operator_mode):
3715         New predicate.
3716         * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
3717         instead of arm_comparison_operator.
3718         (*mov_negscc): Likewise.
3719         (*mov_notscc): Likewise.
3720         * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
3721         (*thumb2_mov_negscc): Likewise.
3722         (*thumb2_mov_negscc_strict_it): Likewise.
3723         (*thumb2_mov_notscc): Likewise.
3724         (*thumb2_mov_notscc_strict_it): Likewise.
3725
3726 2016-02-17  Wilco Dijkstra  <wdijkstr@arm.com>
3727
3728         * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
3729         Add missing return.
3730
3731 2016-02-17  Eric Botcazou  <ebotcazou@adacore.com>
3732
3733         * config/visium/visium.c (machine_libfunc_index): New enum.
3734         (machine_libfuncs): New structure.
3735         (visium_libfuncs): New static variable.
3736         (TARGET_INIT_LIBFUNCS): Define to...
3737         (visium_init_libfuncs): ...this.  New function.
3738         (expand_block_move_4): Use the appropriate libfunc.
3739         (expand_block_move_2): Likewise.
3740         (expand_block_move_1): Likewise.
3741         (expand_block_set_4): Likewise.
3742         (expand_block_set_2): Likewise.
3743         (expand_block_set_1): Likewise.
3744         (visium_trampoline_init): Likewise.
3745
3746 2016-02-17  Nick Clifton  <nickc@redhat.com>
3747
3748         * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
3749         TI's devices.csv file as of March 2016.
3750
3751 2016-02-16  Kelvin Nilsen  <kelvin@gcc.gnu.org>
3752
3753         PR Target/48344
3754         * opts-global.c (handle_common_deferred_options): Introduce and
3755         initialize two global variables to remember command-line options
3756         specifying a stack-limiting register.
3757         * opts.h: Add extern declarations of the two new global variables.
3758         * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
3759         variable based on the values of the two new global variables.
3760
3761 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
3762
3763         PR c/69835
3764         * common.opt (Wnonnull-compare): New warning.
3765         * doc/invoke.texi (-Wnonnull): Remove text about comparison
3766         of arguments against NULL.
3767         (-Wnonnull-compare): Document.
3768         * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
3769         * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
3770         * passes.def (pass_warn_nonnull_compare): Add.
3771         * gimple-ssa-nonnull-compare.c: New file.
3772
3773 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
3774
3775         * config/aarch64/aarch64.c (cortexa57_tunings): Remove
3776         AARCH64_EXTRA_TUNE_RECIP_SQRT.
3777
3778 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
3779
3780         * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
3781         reciprocal sqrt for -mlow-precision-recip-sqrt.
3782
3783 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
3784             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
3785
3786         * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
3787         always use lane loads to construct non-constant vectors.
3788
3789 2016-02-16  James Greenhalgh  <james.greenhalgh@arm.com>
3790
3791         * config/aarch64/aarch64.md
3792         (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
3793         constraints for operand 3.
3794         (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
3795
3796 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
3797             Richard Biener  <rguenther@suse.de>
3798
3799         PR tree-optimization/69820
3800         * tree-vect-patterns.c (type_conversion_p): Return false if
3801         *orig_type is unsigned single precision or boolean.
3802         (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
3803         Formatting fix.
3804
3805 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
3806
3807         PR rtl-optimization/69764
3808         PR rtl-optimization/69771
3809         * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
3810         op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
3811
3812 2016-02-16  Richard Biener  <rguenther@suse.de>
3813
3814         PR tree-optimization/69776
3815         * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
3816         sets from caller.
3817         (indirect_refs_may_alias_p): Likewise.
3818         (refs_may_alias_p_1): Pass alias sets as from ao_ref.
3819         * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
3820         according to tbaa_p.
3821         * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
3822         (optimize_stmt): For redundant store discovery do not allow tbaa.
3823
3824 2016-02-16  Bernd Schmidt  <bschmidt@redhat.com>
3825
3826         PR tree-optimization/69714
3827         * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
3828         Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
3829
3830 2016-02-16  Claudiu Zissulescu  <claziss@synopsys.com>
3831
3832         * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
3833         * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
3834         (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
3835         * config/arc/arc.c (arc_init): Check FPU options.
3836         (get_arc_condition_code): Handle new CC_FPU* modes.
3837         (arc_select_cc_mode): Likewise.
3838         (arc_conditional_register_usage): Allow 64 bit datum into even-odd
3839         register pair only. Allow access for ARCv2 accumulator.
3840         (gen_compare_reg): Whenever we have FPU support use FPU compare
3841         instructions.
3842         (arc_reorg): Don't generate brcc insns when FPU compare
3843         instructions are involved.
3844         * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
3845         (TARGET_OPTFPE): Add condition when ARC EM can use optimized
3846         floating point emulation.
3847         (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
3848         (REVERSE_CONDITION): Add new CC_FPU* modes.
3849         (TARGET_FP_SP_BASE): Define.
3850         (TARGET_FP_DP_BASE): Likewise.
3851         (TARGET_FP_SP_FUSED): Likewise.
3852         (TARGET_FP_DP_FUSED): Likewise.
3853         (TARGET_FP_SP_CONV): Likewise.
3854         (TARGET_FP_DP_CONV): Likewise.
3855         (TARGET_FP_SP_SQRT): Likewise.
3856         (TARGET_FP_DP_SQRT): Likewise.
3857         (TARGET_FP_DP_AX): Likewise.
3858         * config/arc/arc.md (ARCV2_ACC): New constant.
3859         (type): New fpu type attribute.
3860         (SDF): Conditional iterator.
3861         (cstore<mode>, cbranch<mode>): Change expand condition.
3862         (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
3863         handles FPU/FPX cases as well.
3864         * config/arc/arc.opt (mfpu): New option.
3865         * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
3866         Renamed.
3867         (adddf3, muldf3, subdf3): Removed.
3868         * config/arc/predicates.md (proper_comparison_operator): Recognize
3869         CC_FPU* modes.
3870         * config/arc/fpu.md: New file.
3871         * doc/invoke.texi (ARC Options): Document mfpu option.
3872
3873 2016-02-16  Richard Biener  <rguenther@suse.de>
3874
3875         PR rtl-optimization/69291
3876         * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
3877         noce_operand_ok check.
3878
3879 2016-02-16  Tom de Vries  <tom@codesourcery.com>
3880
3881         PR lto/67709
3882         * omp-low.c (simd_clone_create): Remove call to
3883         symtab->call_cgraph_insertion_hooks.
3884
3885 2016-02-16  Jakub Jelinek  <jakub@redhat.com>
3886
3887         PR tree-optimization/69802
3888         * tree-ssa-reassoc.c (update_range_test): If op is
3889         SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
3890         op == 1 test of precision 1 integral op, otherwise handle
3891         that case as op itself.  Fix up formatting.
3892         (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
3893         up formatting.
3894
3895 2016-02-16  Richard Biener  <rguenther@suse.de>
3896
3897         PR tree-optimization/69586
3898         * tree-vrp.c (register_edge_assert_for_2): Handle all integral
3899         types for conversion sources.
3900
3901 2016-02-16  Richard Biener  <rguenther@suse.de>
3902
3903         PR middle-end/69801
3904         * fold-const.c (operand_equal_p): For COND_EXPR zero operand
3905         mask OEP_ADDRESS_OF.
3906
3907 2016-02-16  Alan Modra  <amodra@gmail.com>
3908
3909         PR target/68973
3910         * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
3911         (p8_mtvsrd_df, p8_mtvsrd_sf): New.
3912         (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
3913         (p8_mtvsrwz): New.
3914         (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
3915         (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
3916         (p8_fmrgow_<mode>): Likewise.
3917         (reload_vsx_from_gpr<mode>): Make clobber IF.  Adjust for above
3918         changes.
3919         (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
3920         (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
3921         to use movdi_internal64.  Remove op0_di.
3922         * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
3923
3924 2016-02-15  Evandro Menezes  <e.menezes@samsung.com>
3925
3926         Add support for the FCCMP insn types
3927
3928         * config/aarch64/aarch64.md (fccmp): Change insn type.
3929         (fccmpe): Likewise.
3930         * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
3931         * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
3932         * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
3933         * config/arm/xgene1.md (xgene1_fcmp): Likewise.
3934         * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
3935         * config/arm/types.md (fccmps): Add new insn type.
3936         (fccmpd): Likewise.
3937
3938 2016-02-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
3939
3940         * alias.c (get_alias_set): Fix a typo in comment.
3941
3942 2016-02-15  Richard Biener  <rguenther@suse.de>
3943
3944         PR tree-optimization/69595
3945         * match.pd: Complete range test simplification to true.
3946
3947 2016-02-15  Bernd Schmidt  <bschmidt@redhat.com>
3948
3949         PR rtl-optimization/69648
3950         * lra-constraints.c (update_ebb_live_info): Don't remove sets of
3951         pic_offset_table_rtx.
3952
3953         PR rtl-optimization/69752
3954         * ira.c (update_equiv_regs): When looking for more than a single SET,
3955         also take other side effects into account.
3956
3957 2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
3958
3959         * config/s390/s390.c (s390_function_profiler): Add a new sequence
3960         for z900+ CPUs in 31-bit mode.
3961
3962 2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>
3963
3964         * common/config/s390/s390-common.c (s390_supports_split_stack):
3965         New function.
3966         (TARGET_SUPPORTS_SPLIT_STACK): New macro.
3967         * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
3968         * config/s390/s390.c (struct machine_function): New field
3969         split_stack_varargs_pointer.
3970         (s390_register_info): Mark r12 as clobbered if it'll be used as temp
3971         in s390_emit_prologue.
3972         (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
3973         vararg pointer.
3974         (morestack_ref): New global.
3975         (SPLIT_STACK_AVAILABLE): New macro.
3976         (s390_expand_split_stack_prologue): New function.
3977         (s390_live_on_entry): New function.
3978         (s390_va_start): Use split-stack vararg pointer if appropriate.
3979         (s390_asm_file_end): Emit the split-stack note sections.
3980         (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
3981         * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
3982         (UNSPECV_SPLIT_STACK_CALL): New unspec.
3983         (UNSPECV_SPLIT_STACK_DATA): New unspec.
3984         (split_stack_prologue): New expand.
3985         (split_stack_space_check): New expand.
3986         (split_stack_data): New insn.
3987         (split_stack_call): New expand.
3988         (split_stack_call_*): New insn.
3989         (split_stack_cond_call): New expand.
3990         (split_stack_cond_call_*): New insn.
3991
3992 2016-02-15  Richard Biener  <rguenther@suse.de>
3993
3994         PR tree-optimization/69783
3995         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
3996         Add trivially correct cases.
3997
3998 2016-02-15  Tom de Vries  <tom@codesourcery.com>
3999
4000         PR lto/69655
4001         * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
4002         do_force_output.
4003         * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
4004
4005 2016-02-15  Richard Biener  <rguenther@suse.de>
4006
4007         PR tree-optimization/69776
4008         * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
4009         * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
4010         indicate whether we can use TBAA to disambiguate against stores.
4011         Use alias-set zero if not.
4012         (visit_reference_op_store): Do not use TBAA when looking up
4013         redundant stores.
4014         * tree-ssa-pre.c (compute_avail): Use TBAA here.
4015         (eliminate_dom_walker::before_dom_children): But not when looking
4016         up redundant stores.
4017
4018 2016-02-14  John David Anglin  <danglin@gcc.gnu.org>
4019
4020         * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
4021
4022 2016-02-14  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
4023
4024         *  config/i386/znver1.md
4025         (znver1_pop, znver1_pop_mem,
4026         znver1_load_imov_double_store,
4027         znver1_load_imov_direct_store,
4028         znver1_load_imov_direct_load,
4029         znver1_load_imov_double_load): Add new.
4030         (znver1_insn, znver1_insn_load): Add icmov type.
4031         (znver1_sseavx_fma,
4032         znver1_sseavx_fma_load,
4033         znver1_avx256_fma,
4034         znver1_avx256_fma_load): Fix pipe usage.
4035
4036 2016-02-14  Alan Modra  <amodra@gmail.com>
4037
4038         PR target/68973
4039         * reloads.c (find_reloads_address_1): For pre/post-inc/dec
4040         with an invalid hard reg, reload just the reg not the entire
4041         pre/post-inc/dec address expression.
4042
4043 2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
4044
4045         PR target/67260
4046         * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
4047         fixed R1_REG scratch reg.
4048         (sibcall_value_pcrel_fdpic): Likewise.
4049
4050 2016-02-13  Oleg Endo  <olegendo@gcc.gnu.org>
4051
4052         PR target/67636
4053         PR target/64345
4054         * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
4055
4056 2016-02-12  Walter Lee  <walt@tilera.com>
4057
4058         * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
4059         * config/tilegx/t-tilegx: Likewise.
4060
4061 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
4062
4063         PR other/69554
4064         * diagnostic-show-locus.c (struct line_span): New struct.
4065         (layout::get_first_line): Delete.
4066         (layout::get_last_line): Delete.
4067         (layout::get_num_line_spans): New member function.
4068         (layout::get_line_span): Likewise.
4069         (layout::print_heading_for_line_span_index_p): Likewise.
4070         (layout::get_expanded_location): Likewise.
4071         (layout::calculate_line_spans): Likewise.
4072         (layout::m_first_line): Delete.
4073         (layout::m_last_line): Delete.
4074         (layout::m_line_spans): New field.
4075         (layout::layout): Update comment.  Replace m_first_line and
4076         m_last_line with m_line_spans, replacing their initialization
4077         with a call to calculate_line_spans.
4078         (diagnostic_show_locus): When printing source lines and
4079         annotations, rather than looping over a single span
4080         of lines, instead loop over each line_span within
4081         the layout, with an inner loop over the lines within them.
4082         Call the context's start_span callback when changing line spans.
4083         * diagnostic.c (diagnostic_initialize): Initialize start_span.
4084         (diagnostic_build_prefix): Break out the building of the location
4085         part of the string into...
4086         (diagnostic_get_location_text): ...this new function, rewriting
4087         it from nested ternary expressions to a sequence of "if"
4088         statements.
4089         (default_diagnostic_start_span_fn): New function.
4090         * diagnostic.h (diagnostic_start_span_fn): New typedef.
4091         (diagnostic_context::start_span): New field.
4092         (default_diagnostic_start_span_fn): New prototype.
4093
4094 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
4095
4096         PR driver/69779
4097         * gcc.c (driver::finalize): Fix cleanup of "specs".
4098
4099 2016-02-12  David Malcolm  <dmalcolm@redhat.com>
4100
4101         PR driver/69265
4102         PR driver/69453
4103         * gcc.c (driver::driver): Initialize m_option_suggestions.
4104         (driver::~driver): Clean up m_option_suggestions.
4105         (suggest_option): Convert to...
4106         (driver::suggest_option): ...this, and split out into
4107         driver::build_option_suggestions and find_closest_string.
4108         (driver::build_option_suggestions): New function, from
4109         first half of suggest_option.  Special-case
4110         OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
4111         the sanitizer_opts array.  For options of enum types, add the
4112         various enum values to the candidate strings.
4113         (driver::handle_unrecognized_options): Remove "const".
4114         * gcc.h (driver::handle_unrecognized_options): Likewise.
4115         (driver::build_option_suggestions): New decl.
4116         (driver::suggest_option): New decl.
4117         (driver::m_option_suggestions): New field.
4118         * opts-common.c (add_misspelling_candidates): New function.
4119         * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
4120         and make non-static.
4121         * opts.h (sanitizer_opts): New array decl.
4122         (add_misspelling_candidates): New function decl.
4123         * spellcheck.c (find_closest_string): New function.
4124         * spellcheck.h (find_closest_string): New function decl.
4125
4126 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
4127
4128         PR rtl-optimization/69764
4129         PR rtl-optimization/69771
4130         * optabs.c (expand_binop_directly): For shift_optab_p, force
4131         convert_modes with VOIDmode if xop1 has VOIDmode.
4132
4133 2016-02-12  Ilya Enkovich  <enkovich.gnu@gmail.com>
4134
4135         PR target/69729
4136         * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
4137         to correctly determine instrumentation thunks.
4138
4139 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
4140
4141         PR ipa/69241
4142         * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
4143         type by reference, force lhs on the call.
4144
4145         PR ipa/68672
4146         * ipa-split.c (split_function): Don't compute/use main_part_return_p.
4147         Compute retval and retbnd early in all cases if split_part_return_p
4148         and return_bb is not EXIT.  Remove all clobber stmts and reset
4149         all debug stmts that refer to SSA_NAMEs defined in split part,
4150         except if it is retval, in that case replace the old retval with the
4151         lhs of the call to the split part.
4152
4153 2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
4154
4155         revert:
4156         2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
4157
4158         PR middle-end/66726
4159         * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
4160         whose result is used in PHI.
4161         (maybe_optimize_range_tests): Likewise.
4162         (final_range_test_p): Likweise.
4163
4164 2016-02-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
4165
4166         PR middle-end/66726
4167         * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
4168         whose result is used in PHI.
4169         (maybe_optimize_range_tests): Likewise.
4170         (final_range_test_p): Likweise.
4171
4172 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
4173
4174         * cgraph.c: Spelling fixes - behaviour -> behavior and
4175         neighbour -> neighbor.
4176         * target.def: Likewise.
4177         * sel-sched.c: Likewise.
4178         * config/mips/mips.c: Likewise.
4179         * config/arc/arc.md: Likewise.
4180         * config/arm/cortex-a57.md: Likewise.
4181         * config/arm/arm.c: Likewise.
4182         * config/arm/neon.md: Likewise.
4183         * config/arm/arm-c.c: Likewise.
4184         * config/vms/vms-c.c: Likewise.
4185         * config/s390/s390.c: Likewise.
4186         * config/i386/znver1.md: Likewise.
4187         * config/i386/i386.c: Likewise.
4188         * config/ia64/hpux-unix2003.h: Likewise.
4189         * config/msp430/msp430.md: Likewise.
4190         * config/rx/rx.c: Likewise.
4191         * config/rx/rx.md: Likewise.
4192         * config/aarch64/aarch64-simd.md: Likewise.
4193         * config/aarch64/aarch64.c: Likewise.
4194         * config/nvptx/nvptx.c: Likewise.
4195         * config/bfin/bfin.c: Likewise.
4196         * config/cris/cris.opt: Likewise.
4197         * config/rs6000/rs6000.c: Likewise.
4198         * target.h: Likewise.
4199         * spellcheck.c: Likewise.
4200         * ira-build.c: Likewise.
4201         * tree-inline.c: Likewise.
4202         * builtins.c: Likewise.
4203         * lra-constraints.c: Likewise.
4204         * explow.c: Likewise.
4205         * hwint.h: Likewise.
4206         * targhooks.c: Likewise.
4207         * tree-vect-data-refs.c: Likewise.
4208         * expr.c: Likewise.
4209         * doc/tm.texi: Likewise.
4210         * doc/extend.texi: Likewise.
4211         * doc/install.texi: Likewise.
4212         * doc/md.texi: Likewise.
4213         * tree-ssa-tail-merge.c: Likewise.
4214         * sched-int.h: Likewise.
4215         * match.pd: Likewise.
4216         * sched-ebb.c: Likewise.
4217         * target.def (omit_struct_return_reg): Likewise.
4218         * gimple-ssa-isolate-paths.c: Likewise.
4219         (find_implicit_erroneous_behaviour): Renamed to...
4220         (find_implicit_erroneous_behavior): ... this.
4221         (find_explicit_erroneous_behaviour): Renamed to...
4222         (find_explicit_erroneous_behavior): ... this.
4223         (gimple_ssa_isolate_erroneous_paths): Adjust caller.
4224
4225 2016-02-11  Segher Boessenkool  <segher@kernel.crashing.org>
4226
4227         PR rtl-optimization/64682
4228         PR rtl-optimization/69567
4229         PR rtl-optimization/69737
4230         * combine.c (distribute_notes) <REG_DEAD>: If the register is set
4231         in I2 as well, just lose it.
4232
4233 2016-02-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4234
4235         * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
4236         New variable.
4237         (aarch64_last_printed_tune_string): Likewise.
4238         (aarch64_declare_function_name): Only output .arch assembler
4239         directive if it will be different from the previously output
4240         directive.  Same for .tune comment but only if -dA is set.
4241         (aarch64_start_file): New function.
4242         (TARGET_ASM_FILE_START): Define.
4243
4244 2016-02-11  David Malcolm  <dmalcolm@redhat.com>
4245
4246         PR plugins/69758
4247         * Makefile.in (PLUGIN_HEADERS): Add params.list.
4248
4249 2016-02-11  Jakub Jelinek  <jakub@redhat.com>
4250
4251         PR target/65313
4252         * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
4253         -Wmaybe-uninitialized warning.
4254
4255 2016-02-11  Oleg Endo  <olegendo@gcc.gnu.org>
4256
4257         PR target/69713
4258         * config/sh/sh.md (casesi_worker_0): Add T_REG use.
4259
4260 2016-02-11  Richard Biener  <rguenther@suse.de>
4261
4262         PR rtl-optimization/69291
4263         * ifcvt.c (noce_try_store_flag_constants): Do not allow
4264         subexpressions affected by changing the result.
4265
4266 2016-02-10  Vladimir Makarov  <vmakarov@redhat.com>
4267
4268         PR target/69148
4269         * lra-constraints.c (curr_insn_transform): Find in/out operands
4270         for secondary memory moves.  Update dups.
4271
4272 2016-02-10  Yuri Rumyantsev  <ysrumyan@gmail.com>
4273
4274         PR tree-optimization/69652
4275         * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
4276         to nested loop, did source re-formatting, skip debug statements,
4277         add check on statement with volatile operand, remove dead scalar
4278         statements.
4279
4280 2016-02-10  Jakub Jelinek  <jakub@redhat.com>
4281             Patrick Palka  <ppalka@gcc.gnu.org>
4282
4283         PR ipa/69241
4284         PR c++/69649
4285         * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
4286         calls if the return type is TREE_ADDRESSABLE.
4287         * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
4288         * ipa-split.c (split_function): Fix doubled "we" in comment.
4289         Use void return type for the split part even if
4290         !split_point->split_part_set_retval.
4291
4292 2016-02-10  Bin Cheng  <bin.cheng@arm.com>
4293
4294         PR tree-optimization/68021
4295         * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
4296         when computing the value of biv cand by itself.
4297
4298 2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
4299
4300         * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
4301         (cortexa57_tunings): Likewise.
4302         (cortexa72_tunings): Likewise.
4303         (arch_macro_fusion_pair_p): Add support for AES fusion.
4304         * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
4305         * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
4306         Allow virtual registers before reload so early scheduling works.
4307         * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
4308         correct latency and pipeline.
4309         (cortex_a57_crypto_complex): Likewise.
4310         (cortex_a57_crypto_xor): Likewise.
4311         (define_bypass): Add AES bypass.
4312
4313 2016-02-10  Richard Biener  <rguenther@suse.de>
4314
4315         PR tree-optimization/69726
4316         * passes.def: Add DCE pass before late uninit.
4317         * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
4318         really fixup if-conversions job.
4319
4320 2016-02-10  Wilco Dijkstra  <wdijkstr@arm.com>
4321
4322         * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
4323         (arm_cortex_a57_tune): Likewise.
4324         (aarch_macro_fusion_pair_p): Add support for AES fusion.
4325         * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
4326
4327 2016-02-10  Eric Botcazou  <ebotcazou@adacore.com>
4328
4329         * timevar.def (TV_PHASE_DBGINFO): Delete.
4330         (TV_PHASE_CHECK_DBGINFO): Likewise.
4331         * varpool.c (varpool_node::assemble_decl): Do not change timevar.
4332
4333 2016-02-10  Richard Biener  <rguenther@suse.de>
4334
4335         PR tree-optimization/69719
4336         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
4337         Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
4338
4339 2016-02-09  Andrew Pinski  <apinski@cavium.com>
4340
4341         PR tree-opt/69282
4342         * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
4343         get_vcond_mask_icode returns false.
4344
4345 2016-02-09  Michael Meissner  <meissner@linux.vnet.ibm.com>
4346
4347         PR target/68404
4348         * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
4349         an ADDIS that adds a pointer to a large constant that sets the
4350         upper16 bits with a load operation.
4351
4352 2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
4353
4354         PR target/68532
4355         * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
4356         order.
4357         * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
4358         endian.
4359         (vzipq_s16): Likewise.
4360         (vzipq_s32): Likewise.
4361         (vzipq_f32): Likewise.
4362         (vzipq_u8): Likewise.
4363         (vzipq_u16): Likewise.
4364         (vzipq_u32): Likewise.
4365         (vzipq_p8): Likewise.
4366         (vzipq_p16): Likewise.
4367
4368 2016-02-09  Charles Baylis  <charles.baylis@linaro.org>
4369
4370         PR target/68532
4371         * config/arm/arm.c (neon_endian_lane_map): New function.
4372         (neon_vector_pair_endian_lane_map): New function.
4373         (arm_evpc_neon_vuzp): Allow for big endian lane order.
4374         * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
4375         endian.
4376         (vuzpq_s16): Likewise.
4377         (vuzpq_s32): Likewise.
4378         (vuzpq_f32): Likewise.
4379         (vuzpq_u8): Likewise.
4380         (vuzpq_u16): Likewise.
4381         (vuzpq_u32): Likewise.
4382         (vuzpq_p8): Likewise.
4383         (vuzpq_p16): Likewise.
4384
4385 2016-02-11  Alexandre Oliva  <aoliva@redhat.com>
4386
4387         PR target/69634
4388         * regstat.c (regstat_bb_compute_calls_crossed): Disregard
4389         debug insns.
4390
4391 2016-02-09  Uros Bizjak  <ubizjak@gmail.com>
4392
4393         * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
4394         truncate const_int operand 1 to QImode.
4395
4396 2016-02-09  Eric Botcazou  <ebotcazou@adacore.com>
4397
4398         * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
4399         corresponding to an abnormal edge.
4400
4401 2016-02-09  Tom de Vries  <tom@codesourcery.com>
4402
4403         PR tree-optimization/69599
4404         * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
4405         function.
4406         (find_func_aliases_for_builtin_call, find_func_clobbers)
4407         (ipa_pta_execute):  Handle case that foo and foo._0 are not in same lto
4408         partition.
4409
4410 2016-02-09  Richard Biener  <rguenther@suse.de>
4411
4412         PR tree-optimization/69715
4413         * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
4414         LHS on calls as non-rewritable.
4415
4416 2016-02-09  Tom de Vries  <tom@codesourcery.com>
4417
4418         PR lto/69707
4419         * lto-wrapper.c (append_diag_options): New function.
4420         (compile_offload_image): Call append_diag_options.
4421
4422 2016-02-08  Sandra Loosemore  <sandra@codesourcery.com>
4423
4424         PR other/69722
4425         * doc/extend.texi (Flag Output Operands): Correct sectioning.
4426         Minor copy-edit to fix verb tenses.
4427
4428 2016-02-08  Jakub Jelinek  <jakub@redhat.com>
4429
4430         PR tree-optimization/69209
4431         * ipa-split.c (split_function): If split part is not
4432         returning retval, retval has gimple type but is not
4433         gimple value, force it into a SSA_NAME first.
4434
4435 2016-02-08  Nicklas Bo Jensen  <nbjensen@gmail.com>
4436
4437         * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
4438         outdated section.
4439
4440 2016-02-08  Jason Merrill  <jason@redhat.com>
4441
4442         PR c++/69631
4443         * convert.c (convert_to_integer_1): Check dofold on truncation
4444         distribution.
4445         (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
4446         (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
4447         Rename from *_nofold.
4448         * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
4449         (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
4450
4451 2016-02-08  Bernd Schmidt  <bschmidt@redhat.com>
4452
4453         PR target/60410
4454         * tree.c (build_common_tree_nodes): Remove short_double argument.
4455         All callers changed.
4456         * tree.h (build_common_tree_nodes): Adjust declaration.
4457         * doc/invoke.texi (-fshort-double): Remove documentation.
4458         * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
4459         MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
4460         * lto-wrapper.c (merge_and_complain, append_compiler_options)
4461         (append_linker_options): Don't handle OPT_fshort_double.
4462
4463         PR rtl-optimization/68730
4464         * lra-remat.c (insn_to_cand_activation): New static variable.
4465         (lra_remat): Allocate and free it.
4466         (create_cand): New arg activation. Initialize a field in
4467         insn_to_cand_activation if it is nonnull.
4468         (create_cands): Pass the activation insn to create_cand when making
4469         a candidate involving an output reload.  Reorganize code a little.
4470         (do_remat): Keep track of active status of candidates in a separate
4471         bitmap.
4472
4473 2016-02-08  Richard Biener  <rguenther@suse.de>
4474
4475         PR tree-optimization/69719
4476         * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
4477         Properly use absolute of the difference of the two offsets to
4478         compare or adjust the segment length.
4479
4480 2016-02-08  Richard Biener  <rguenther@suse.de>
4481             Jeff Law  <law@redhat.com>
4482
4483         PR target/68273
4484         * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
4485         types for anonymous SSA names.
4486
4487 2016-02-08   Richard Biener  <rguenther@suse.de>
4488
4489         PR rtl-optimization/69274
4490         * ira.c (ira_setup_alts): Do not change recog_data.operand order.
4491
4492 2016-02-08  Jeff Law  <law@redhat.com>
4493
4494         PR tree-optimization/65917
4495         * tree-ssa-dom.c (record_temporary_equivalences): Record both
4496         equivalences from if (x == y) style conditionals.
4497         (loop_depth_of_name): Remove.
4498         (record_equality): Remove loop depth check.
4499         * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
4500         (const_and_copies::record_const_or_copy_raw): New member function.
4501         * tree-ssa-scopedtables.c
4502         (const_and_copies::record_const_or_copy_raw): New, factored out of
4503         (const_and_copies::record_const_or_copy): Call new member function.
4504
4505 2016-02-05  Jeff Law  <law@redhat.com>
4506
4507         PR tree-optimization/68541
4508         * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
4509         (count_stmts_in_block): New function.
4510         (poor_ifcvt_candidate_code): Likewise.
4511         (is_feasible_trace): Add some heuristics to determine when path
4512         splitting is profitable.
4513         (find_block_to_duplicate_for_splitting_paths): Make sure the graph
4514         is a diamond with a single exit.
4515
4516 2016-02-05  Martin Sebor  <msebor@redhat.com>
4517
4518         PR c++/69662
4519         * doc/invoke.texi: Update -Wplacement-new to take an optional
4520         argument.
4521
4522 2016-02-06  Richard Henderson  <rth@redhat.com>
4523
4524         PR c/69643
4525         * tree.c (tree_nop_conversion_p): Do not strip casts into or
4526         out of non-standard address spaces.
4527
4528 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
4529
4530         PR rtl-optimization/69691
4531         * lra-eliminations.c (move_plus_up): Don't add the addend twice.
4532
4533 2016-02-05  Pat Haugen  <pthaugen@us.ibm.com>
4534
4535         * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
4536         * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
4537         (*ieee128_mfvsrd_64bit): Likewise.
4538         (*ieee128_mfvsrd_32bit): Likewise.
4539
4540 2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>
4541
4542         PR target/69369
4543         Revert r232560:
4544         2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
4545
4546         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
4547         instrumented_version.
4548
4549 2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>
4550
4551         * doc/invoke.texi (Optimize Options): In table of --param options
4552         rename second occurrence of tracer-min-branch-ratio to
4553         tracer-min-branch-probability, rename
4554         tracer-min-branch-ratio-feedback to
4555         tracer-min-branch-probability-feedback and clarify description,
4556         rename sched-spec-state-edge-prob-cutoff to
4557         sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
4558         to selsched-insns-to-rename, rename lto-minpartition to
4559         lto-min-partition, delete reorder-blocks-duplicate and
4560         reorder-blocks-duplicate-feedback.
4561
4562 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4563
4564         * config/s390/s390.c (s390_register_info_set_ranges): Remove
4565         superfluous loops.
4566
4567 2016-02-05  Dominik Vogt  <vogt@linux.vnet.ibm.com>
4568
4569         * doc/extend.texi: S/390: Correct some typos.
4570
4571 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4572
4573         * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
4574
4575 2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
4576
4577         PR target/69625
4578         * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
4579         (s390_register_info_gprtofpr): Use new macros above.
4580         (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
4581         its name.
4582         (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
4583         its name.  Adjust restore and save gpr ranges.
4584         (s390_register_info_set_ranges): New function.
4585         (s390_register_info): Use new macros above.  Call
4586         s390_register_info_set_ranges.
4587         (s390_optimize_register_info): Likewise.
4588         (s390_hard_regno_rename_ok): Use new macros.
4589         (s390_hard_regno_scratch_ok): Likewise.
4590         (s390_emit_epilogue): Likewise.
4591         (s390_can_use_return_insn): Likewise.
4592         (s390_optimize_prologue): Likewise.
4593         * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
4594
4595 2016-02-05  Jakub Jelinek  <jakub@redhat.com>
4596
4597         PR bootstrap/69677
4598         * config/i386/i386.c (convert_scalars_to_vector): Readd stack
4599         alignment fixes.
4600         (ix86_option_override_internal): Disable TARGET_STV even for
4601         -m{incoming,preferred}-stack-boundary=3.
4602
4603 2016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
4604
4605         * config.gcc: Mark deprecated rtems targets as obsolete.
4606
4607 2016-02-04  Segher Boessenkool  <segher@kernel.crashing.org>
4608
4609         PR rtl-optimization/64682
4610         PR rtl-optimization/69567
4611         * combine.c (distribute_notes) <REG_DEAD>: Place the death note
4612         before I2 only if the register is both used and set in I2.
4613
4614 2016-02-04  DJ Delorie  <dj@redhat.com>
4615
4616         * config/msp430/msp430.c (msp430_start_function): Add function type.
4617
4618 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
4619
4620         PR fortran/69368
4621         * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
4622
4623 2016-02-04  Uros Bizjak  <ubizjak@gmail.com>
4624
4625         PR rtl-optimization/69577
4626         Revert:
4627         2015-10-29  Richard Henderson  <rth@redhat.com>
4628
4629         PR target/68124
4630         PR rtl-opt/67609
4631         * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
4632         sse check to the exact conditions of PR 67609.
4633
4634 2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
4635
4636         PR target/69667
4637         * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
4638         instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
4639         not allowed into the traditional Altivec registers.
4640         (movtd_64bit_nodm): Likewise.
4641         (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
4642
4643 2016-02-04  David Malcolm  <dmalcolm@redhat.com>
4644
4645         * config/aarch64/cortex-a57-fma-steering.c
4646         (aarch64_register_fma_steering): Remove "static" from arguments
4647         to register_pass.
4648
4649 2016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>
4650
4651         PR target/69619
4652         * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
4653         twice when complex.
4654
4655 2016-02-04  Mike Frysinger  <vapier@gentoo.org>
4656
4657         * doc/invoke.texi: Delete -mno-fma4.
4658
4659 2016-02-04  Richard Sandiford  <richard.sandiford@arm.com>
4660
4661         PR rtl-optimization/69577
4662         * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
4663         (find_subregs_of_mode): Update accordingly.  Iterate over partial
4664         definitions.
4665
4666 2016-02-04  Alan Lawrence  <alan.lawrence@arm.com>
4667
4668         * config/arm/arm-protos.h (neon_reinterpret): Remove.
4669         * config/arm/arm.c (neon_reinterpret): Remove.
4670         * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
4671         vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
4672         vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
4673         vreinterpretti): Remove.
4674         * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
4675         neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
4676         neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
4677         neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
4678         neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
4679         neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
4680         * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
4681         vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
4682         vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
4683         vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
4684         vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
4685         vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
4686         vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
4687         vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
4688         vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
4689         vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
4690         vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
4691         vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
4692         vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
4693         vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
4694         vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
4695         vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
4696         vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
4697         vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
4698         vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
4699         vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
4700         vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
4701         vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
4702         vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
4703         vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
4704         vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
4705         vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
4706         vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
4707         vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
4708         vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
4709         vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
4710         vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
4711         vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
4712         vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
4713         vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
4714         vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
4715         vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
4716         vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
4717         vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
4718         vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
4719         vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
4720         vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
4721         vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
4722         vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
4723         vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
4724         vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
4725         vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
4726         vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
4727         vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
4728         vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
4729         vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
4730         vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
4731         vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
4732         vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
4733         vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
4734         vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
4735         vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
4736         vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
4737         vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
4738         vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
4739         vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
4740         vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
4741         vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
4742         vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
4743         vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
4744         vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
4745         vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
4746         vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
4747         vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
4748         vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
4749         vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
4750         vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
4751         vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
4752         vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
4753         vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
4754         vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
4755         vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
4756         vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
4757         vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
4758         vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
4759         vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
4760         vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
4761         vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
4762         vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
4763         vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
4764         vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
4765         vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
4766         vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
4767         vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
4768         vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
4769         vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
4770         vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
4771         vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
4772         vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
4773         vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
4774         vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
4775         vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
4776         vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
4777
4778 2016-02-04  Martin Liska  <mliska@suse.cz>
4779
4780         PR sanitizer/69276
4781         * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
4782         that are gimple_store_p.
4783         (maybe_instrument_call): Likewise.
4784
4785 2016-02-04  Bin Cheng  <bin.cheng@arm.com>
4786
4787         * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
4788         register scaling out of memory reference and comment why.
4789
4790 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4791
4792         PR target/65932
4793         PR target/67714
4794         * cse.c (cse_insn): Pass NULL to fold_rtx when initially
4795         folding the source of a SET.
4796
4797 2016-02-04  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
4798
4799         PR target/65932
4800         PR target/67714
4801         * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
4802         the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
4803
4804 2016-02-04  Jim Wilson  <jim.wilson@linaro.org>
4805
4806         PR target/65932
4807         PR target/67714
4808         * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
4809         HImode.
4810
4811 2016-02-04  Christian Bruel  <christian.bruel@st.com>
4812
4813         * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
4814         * config/arm/arm.c (arm_set_current_function): Likewise.
4815
4816 2016-02-04  Jakub Jelinek  <jakub@redhat.com>
4817             Ilya Enkovich  <enkovich.gnu@gmail.com>
4818             H.J. Lu  <hongjiu.lu@intel.com>
4819
4820         PR target/69454
4821         * config/i386/i386.c (convert_scalars_to_vector): Remove
4822         stack alignment fixes.
4823         (ix86_option_override_internal): Disable TARGET_STV if stack
4824         might not be aligned enough.
4825         (ix86_minimum_alignment): Assert that TARGET_STV is false.
4826
4827 2016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>
4828
4829         * gcc/config/i386/x86-tune.def: Disable default prefetching
4830         for -march=znver1.
4831
4832 2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
4833             Vladimir Makarov  <vmakarov@redhat.com>
4834
4835         PR target/69461
4836         * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
4837         in validating fused toc addresses.
4838
4839 2016-02-03  Jakub Jelinek  <jakub@redhat.com>
4840
4841         PR c/69627
4842         * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
4843         range->m_caret fields if range->m_show_caret_p is false.
4844
4845         PR target/69644
4846         * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
4847         Force oldval into register if it does not satisfy reg_or_short_operand
4848         predicate.  Fix up formatting.
4849
4850 2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
4851             Alexandre Oliva  <aoliva@redhat.com>
4852
4853         PR target/69461
4854         * lra-constraints.c (simplify_operand_subreg): Check additionally
4855         address validity after potential reloading.
4856         (process_address_1): Check insns validity.  In case of failure do
4857         nothing.
4858
4859 2016-02-03  Kirill Yukhin  <kirill.yukhin@intel.com>
4860
4861         PR target/69118
4862         * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
4863         Fix target.
4864
4865 2016-02-02  Jakub Jelinek  <jakub@redhat.com>
4866
4867         * wide-int.cc (canonize_uhwi): New function.
4868         (wi::divmod_internal): Use it.
4869
4870 2016-02-02  James Norris  <jnorris@codesourcery.com
4871
4872         * gimplify.c (omp_notice_variable): Add usage check.
4873
4874 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
4875
4876         * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
4877         like LE, GE, LT, GT when emitting relational operator.
4878
4879 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
4880
4881         * ira-costs.c (find_costs_and_classes): Add extra argument.
4882         * target.def (ira_change_pseudo_allocno_class): Add parameter.
4883         * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
4884         * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
4885         * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
4886         Add best_class parameter, and return it if not ALL_REGS.
4887         * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
4888         Add parameter.
4889         * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
4890         Update target hook.
4891
4892 2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>
4893
4894         * config/aarch64/aarch64.c
4895         (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
4896         (aarch64_ira_change_pseudo_allocno_class): New function.
4897
4898 2016-02-02  Uros Bizjak  <ubizjak@gmail.com>
4899
4900         PR target/67032
4901         * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
4902
4903 2016-02-02  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
4904
4905         * config/avr/avr.c (avr_option_override): Set
4906         PARAM_ALLOW_STORE_DATA_RACES to 1.
4907
4908 2016-02-02  Richard Biener  <rguenther@suse.de>
4909
4910         PR tree-optimization/69595
4911         * match.pd: Add range test simplifications to true/false.
4912
4913 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
4914
4915         * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
4916         * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
4917         instead.
4918
4919 2016-02-02  Richard Biener  <rguenther@suse.de>
4920
4921         PR tree-optimization/69606
4922         * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
4923         info on the result before moving a stmt.
4924
4925 2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>
4926
4927         PR middle-end/68542
4928         * config/i386/i386.c (ix86_expand_branch): Add support for conditional
4929         branch with vector comparison.
4930         * config/i386/sse.md (VI48_AVX): New mode iterator.
4931         (define_expand "cbranch<mode>4): Add support for conditional branch
4932         with vector comparison.
4933         * tree-vect-loop.c (optimize_mask_stores): New function.
4934         * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
4935         has_mask_store field of vect_info.
4936         * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
4937         vectorized loops having masked stores after vec_info destroy.
4938         * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
4939         correspondent macros.
4940         (optimize_mask_stores): Add prototype.
4941
4942 2016-02-02  Alan Modra  <amodra@gmail.com>
4943
4944         PR target/69548
4945         * config/rs6000/predicates.md (quad_int_reg_operand): Don't
4946         allow subregs.
4947
4948 2016-02-02  Alan Modra  <amodra@gmail.com>
4949
4950         PR target/68662
4951         * config/rs6000/rs6000.c (need_toc_init): New var, set it
4952         whenever toc_label_name used.
4953         (rs6000_file_start): Don't set up toc section here,
4954         (rs6000_output_function_epilogue): do so here instead,
4955         (rs6000_xcoff_file_start): and here.
4956         * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
4957         (load_toc_aix_di): Likewise.
4958
4959 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
4960
4961         PR rtl-optimization/69592
4962         * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
4963         (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
4964         (num_sign_bit_copies_binary_arith_p): New inline function.
4965         (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
4966
4967 2016-02-01  Jeff Law  <law@redhat.com>
4968
4969         PR tree-optimization/69580
4970         * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
4971         * tree-ssa-threadbackward.c
4972         (fsm_find_control_statement_thread_paths): Do not try to walk
4973         through large PHI nodes.
4974
4975 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
4976
4977         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
4978         when count is incremented above limit, don't analyze further
4979         insns afterwards.
4980
4981         * omp-low.c (oacc_parse_default_dims): Avoid
4982         -Wsign-compare warning, make sure value fits into int
4983         rather than just unsigned int.
4984
4985 2016-02-01  Bin Cheng  <bin.cheng@arm.com>
4986
4987         PR tree-optimization/67921
4988         * fold-const.c (split_tree): New parameters.  Convert pointer
4989         type variable part to proper type before negating.
4990         (fold_binary_loc): Pass new arguments to split_tree.
4991
4992 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
4993
4994         * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
4995         (nvptx_goacc_validate_dims): Extend to handle global defaults.
4996         * target.def (OACC_VALIDATE_DIMS): Extend documentation.
4997         * doc/tm.texti: Rebuilt.
4998         * doc/invoke.texi (fopenacc-dim): Document.
4999         * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
5000         (append_compiler_options): Likewise.
5001         * omp-low.c (oacc_default_dims, oacc_min_dims): New.
5002         (oacc_parse_default_dims): New.
5003         (oacc_validate_dims): Add USED arg.  Select non-unity default when
5004         possible.
5005         (oacc_loop_fixed_partitions): Return mask of used partitions.
5006         (oacc_loop_auto_partitions): Emit dump info.
5007         (oacc_loop_partition): Return mask of used partitions.
5008         (execute_oacc_device_lower): Parse default dimension arg.  Adjust
5009         loop partitioning and validation calls.
5010
5011 2016-02-01  Richard Biener  <rguenther@suse.de>
5012
5013         PR middle-end/69556
5014         * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
5015
5016 2016-02-01  Richard Biener  <rguenther@suse.de>
5017
5018         PR tree-optimization/69574
5019         * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
5020         of asserting return chrec_dont_know.
5021
5022 2016-02-01  Martin Liska  <mliska@suse.cz>
5023
5024         * mem-stats-traits.h: Add copyright header.
5025         * mem-stats.h: Likewise.
5026
5027 2016-02-01  Richard Biener  <rguenther@suse.de>
5028
5029         PR tree-optimization/69579
5030         * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
5031         Do not propagate through abnormal PHI results.
5032
5033 2016-02-01  Eric Botcazou  <ebotcazou@adacore.com>
5034
5035         * postreload.c (reload_cse_simplify): Remove dead code.
5036
5037 2016-02-01  Jakub Jelinek  <jakub@redhat.com>
5038
5039         PR rtl-optimization/69570
5040         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
5041         if there is more than one set, not if there is a single set.
5042
5043 2016-02-01  Richard Henderson  <rth@redhat.com>
5044
5045         PR rtl-opt/69535
5046         * combine.c (make_compound_operation): When looking through a
5047         subreg, make sure to re-extend to the width of the outer mode.
5048
5049 2016-01-30  Jakub Jelinek  <jakub@redhat.com>
5050
5051         PR tree-optimization/69546
5052         * wide-int.cc (wi::divmod_internal): For unsigned division
5053         where both operands fit into uhwi, if o1 is 1 and o0 has
5054         msb set, if divident_prec is larger than bits per hwi,
5055         clear another quotient word and return 2 instead of 1.
5056         Similarly for remainder with msb in HWI set, if dividend_prec
5057         is larger than bits per hwi.
5058
5059 2016-01-29  Martin Jambor  <mjambor@suse.cz>
5060
5061         * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
5062         Use short lowercase names.
5063         (get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
5064         MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
5065         acq_rel one.  Protect warning agains segfaults if
5066         get_memory_order_name returns NULL.
5067         (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
5068         with release semantics.  Do not warn if get_memory_order already did.
5069         (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
5070         semantics.  Fix check for relaxed or acquire semantics.  Do not warn
5071         if get_memory_order already did.
5072
5073 2016-01-29  Sebastian Pop  <s.pop@samsung.com>
5074
5075         * doc/install.texi: Document that isl-0.16 is supported.
5076
5077 2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>
5078
5079         PR target/69299
5080         * config/i386/constraints.md (Bm): Describe as special memory
5081         constraint.
5082         * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
5083         * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
5084         * genpreds.c (struct constraint_data): Add is_special_memory.
5085         (have_special_memory_constraints, special_memory_start): New
5086         static vars.
5087         (special_memory_end): Ditto.
5088         (add_constraint): Add new arg is_special_memory.  Add code to
5089         process its true value.  Update have_special_memory_constraints.
5090         (process_define_constraint): Pass the new arg.
5091         (process_define_register_constraint): Ditto.
5092         (choose_enum_order): Process special memory.
5093         (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
5094         function insn_extra_special_memory_constraint.
5095         (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
5096         * gensupport.c (process_rtx): Process
5097         DEFINE_SPECIAL_MEMORY_CONSTRAINT.
5098         * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
5099         * ira-lives.c (single_reg_class): Use
5100         insn_extra_special_memory_constraint.
5101         * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
5102         * lra-constraints.c (process_alt_operands): Ditto.
5103         (curr_insn_transform): Use insn_extra_special_memory_constraint.
5104         * recog.c (asm_operand_ok, preprocess_constraints): Process
5105         CT_SPECIAL_MEMORY.
5106         * reload.c (find_reloads): Ditto.
5107         * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
5108         * stmt.c (parse_input_constraint): Use
5109         insn_extra_special_memory_constraint.
5110
5111 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
5112
5113         PR target/69530
5114         * lra-splill.c (lra_final_code_change): Revert r229087 by
5115         removing all sub-registers.
5116
5117 2016-01-29  Steve Ellcey  <sellcey@imgtec.com>
5118
5119         PR target/65604
5120         * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
5121
5122 2016-01-29  Jakub Jelinek  <jakub@redhat.com>
5123
5124         PR target/69551
5125         * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
5126         SSE1, copy target into the temporary reg first before recursing
5127         on it.
5128
5129 2016-01-29  H.J. Lu  <hongjiu.lu@intel.com>
5130
5131         * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
5132         with vm.
5133
5134 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
5135
5136         * ginclude/stdarg.h: Test __cplusplus instead of
5137         __GXX_EXPERIMENTAL_CXX0X__.
5138
5139 2016-01-29  Richard Biener  <rguenther@suse.de>
5140
5141         PR tree-optimization/69547
5142         * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
5143         Do not mark clobbers necessary.
5144         (mark_all_reaching_defs_necessary_1): Likewise.
5145
5146 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5147
5148         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
5149         declaration name with %qs and print it in both error messages.
5150         Also fix indentation.
5151
5152 2016-01-29  Dominik Vogt  <vogt@linux.vnet.ibm.com>
5153
5154         PR other/69006
5155         * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
5156         trailing blank line from error message.
5157
5158 2016-01-29  Jonathan Wakely  <jwakely@redhat.com>
5159
5160         PR c++/69462
5161         * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
5162         for C++-11.
5163
5164 2016-01-29  Richard Biener  <rguenther@suse.de>
5165
5166         PR middle-end/69537
5167         * match.pd: Allow all integral types when simplifying a
5168         widening or sign-changing conversion.
5169
5170 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
5171
5172         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
5173         back to setting codegen_error to fail codegen.
5174
5175 2016-01-28  Uros Bizjak  <ubizjak@gmail.com>
5176
5177         PR target/69459
5178         * config/i386/constraints.md (C): Only accept constant zero operand.
5179         (BC): New constraint.
5180         * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
5181         instead of C constraint.
5182         * doc/md.texi (Machine Constraints): Update description
5183         of C constraint.
5184
5185 2016-01-28  Steve Ellcey  <sellcey@imgtec.com>
5186
5187         PR target/68400
5188         * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
5189
5190 2016-01-28  Jakub Jelinek  <jakub@redhat.com>
5191
5192         PR middle-end/69542
5193         * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
5194         non-debug insns.
5195
5196 2016-01-28  Pat Haugen  <pthaugen@us.ibm.com>
5197
5198         * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
5199         branches if using guessed profile.
5200
5201 2016-01-28  H.J. Lu  <hongjiu.lu@intel.com>
5202
5203         * graphite-optimize-isl.c (optimize_isl): Fix dump.
5204
5205 2016-01-28  Richard Henderson  <rth@redhat.com>
5206
5207         PR target/69305
5208         * config/aarch64/aarch64-modes.def (CC_Cmode): New
5209         * config/aarch64/aarch64-protos.h: Update.
5210         * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
5211         (aarch64_select_cc_mode): Add check for use of CC_Cmode.
5212         (aarch64_get_condition_code_1): Handle CC_Cmode.
5213         * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
5214         (*add<mode>3_compareC_cconly_imm): New.
5215         (*add<mode>3_compareC_cconly): New.
5216         (*add<mode>3_compareC_imm): New.
5217         (add<mode>3_compareC): New.
5218         (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
5219         to be first.  Use aarch64_carry_operation.
5220         (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
5221         (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
5222         (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
5223         (subti3): Use subdi3_compare1.
5224         (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
5225         (sub<mode>3_compare1): New.
5226         (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
5227         (*sub<mode>3_carryin): Use aarch64_borrow_operation.
5228         (*subsi3_carryin_uxtw): Likewise.
5229         (*ngc<mode>, *ngcsi_uxtw): Likewise.
5230         (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
5231         * config/aarch64/iterators.md (DWI): New.
5232         * config/aarch64/predicates.md (aarch64_carry_operation): New.
5233         (aarch64_borrow_operation): New.
5234
5235 2016-01-28  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
5236
5237         * graphite-optimize-isl.c (optimize_isl): Print a different debug
5238         message when isl does not return a valid schedule.
5239
5240 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
5241
5242         * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
5243         Remove comments from class declarations: they are already in the code
5244         close by the defs.
5245
5246 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
5247
5248         * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
5249         codegen_error_p.
5250         (ternary_op_to_tree): Same.
5251         (unary_op_to_tree): Same.
5252         (nary_op_to_tree): Same.
5253         (gcc_expression_from_isl_expr_op): Same.
5254         (gcc_expression_from_isl_expression): Same.
5255         (graphite_create_new_loop): Same.
5256         (graphite_create_new_loop_guard): Same.
5257         (build_iv_mapping): Same.
5258         (graphite_create_new_guard): Same.
5259         (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
5260         (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
5261
5262 2016-01-28  Sebastian Pop  <s.pop@samsung.com>
5263
5264         * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
5265         instead of setting codegen_error to fail codegen.
5266
5267 2016-01-28  Jason Merrill  <jason@redhat.com>
5268
5269         * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
5270
5271 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
5272
5273         * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
5274         Remove CONST_INT_P check in CCMP cost calculation.
5275
5276 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
5277
5278         * config/aarch64/aarch64.c (generic_vector_cost):
5279         Set vec_permute_cost.
5280         (cortexa57_vector_cost): Likewise.
5281         (exynosm1_vector_cost): Likewise.
5282         (xgene1_vector_cost): Likewise.
5283         (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
5284         * config/aarch64/aarch64-protos.h (cpu_vector_cost):
5285         Add vec_permute_cost entry.
5286
5287 2016-01-28  Wilco Dijkstra  <wdijkstr@arm.com>
5288
5289         * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
5290         immediate as %1.
5291         (add<mode>3_compare0): Likewise.
5292         (addsi3_compare0_uxtw): Likewise.
5293         (add<mode>3nr_compare0): Likewise.
5294         (compare_neg<mode>): Likewise.
5295         (<optab><mode>3): Likewise.
5296
5297 2016-01-28  Ilya Enkovich  <enkovich.gnu@gmail.com>
5298
5299         * tree-vect-stmts.c (vectorizable_comparison): Add
5300         NULL check for vectype.
5301
5302 2016-01-28  Richard Biener  <rguenther@suse.de>
5303
5304         PR tree-optimization/69466
5305         * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
5306         Account for PHIs we couldn't duplicate.
5307
5308 2016-01-28  Martin Liska  <mliska@suse.cz>
5309
5310         PR pch/68758
5311         * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
5312         instead of ENABLE_VALGRIND_CHECKING.
5313
5314 2016-01-27  Richard Henderson  <rth@redhat.com>
5315
5316         PR rtl-opt/69447
5317         * lra-remat.c (subreg_regs): New.
5318         (dump_candidates_and_remat_bb_data): Dump it.
5319         (operand_to_remat): Reject if operand in subreg_regs.
5320         (set_bb_regs): Collect subreg_regs.
5321         (lra_remat): Init and free subreg_regs.  Compute
5322         calculate_local_reg_remat_bb_data before create_cands.
5323
5324 2016-01-27  H.J. Lu  <hongjiu.lu@intel.com>
5325
5326         PR target/68986
5327         * config/i386/i386.c (ix86_update_stack_boundary): Don't
5328         change stack_alignment_needed for __tls_get_addr call.
5329
5330 2016-01-27  Segher Boessenkool  <segher@kernel.crashing.org>
5331
5332         * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
5333
5334 2016-01-27  Jeff Law  <law@redhat.com>
5335
5336         PR tree-optimization/68398
5337         PR tree-optimization/69196
5338         * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
5339         (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
5340         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
5341         Only count PHIs in the last block in the path.  The others will
5342         const/copy propagate away.  Add heuristic to allow more irreducible
5343         subloops to be created when it is likely profitable to do so.
5344
5345         * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
5346         Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
5347         check from within the loop.  Use gsi_next_nondebug rather than gsi_next.
5348
5349 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
5350
5351         PR lto/69254
5352         * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
5353         END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
5354         * asan.c (DEF_BUILTIN_STUB): Temporarily define.
5355         * tree-streamer-in.c: Include asan.h.
5356         (streamer_get_builtin_tree): For builtins in sanitizer
5357         range call initialize_sanitizer_builtins and retry.
5358
5359 2016-01-27  Ian Lance Taylor  <iant@google.com>
5360
5361         * common.opt (fkeep-gc-roots-live): New undocumented option.
5362         * tree-ssa-loop-ivopts.c (add_candidate_1): If
5363         -fkeep-gc-roots-live, skip pointers.
5364         (add_iv_candidate_for_biv): Handle add_candidate_1 returning
5365         NULL.
5366
5367 2016-01-27  Uros Bizjak  <ubizjak@gmail.com>
5368
5369         PR target/69512
5370         * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
5371         (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
5372
5373 2016-01-27  Thomas Klausner  <wiz@NetBSD.org>
5374
5375         PR target/68380
5376         * configure.ac: NetBSD provides SSP in its C library.
5377         * configure: Updated.
5378
5379 2016-01-27  Richard Biener  <rguenther@suse.de>
5380
5381         PR tree-optimization/69166
5382         * tree-vect-loop.c (vect_is_simple_reduction): Always check
5383         reduction code for commutativity / associativity.
5384
5385 2016-01-27  Martin Jambor  <mjambor@suse.cz>
5386
5387         PR tree-optimization/69355
5388         * tree-sra.c (analyze_access_subtree): Correct hole detection when
5389         total_scalarization fails.
5390
5391 2016-01-27  David Edelsohn  <dje.gcc@gmail.com>
5392
5393         * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
5394         power9.
5395
5396 2016-01-27  Christian Bruel  <christian.bruel@st.com>
5397
5398         PR target/69245
5399         * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
5400         Move arm_reset_previous_fndecl and set_target_option_current_node in
5401         the conditional part.  Call save_restore_target_globals.
5402         * config/arm/arm.c (arm_set_current_function):
5403         Refactor to better support #pragma target and attribute mix.
5404         Call save_restore_target_globals.
5405         * config/arm/arm-protos.h (save_restore_target_globals): New function.
5406
5407 2016-01-27  Martin Liska  <mliska@suse.cz>
5408
5409         * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
5410         reference for an HSA kernel and its host function.
5411
5412 2016-01-27  Jakub Jelinek  <jakub@redhat.com>
5413
5414         PR tree-optimization/69399
5415         * wide-int.h (wi::lrshift): For larger precisions, only
5416         use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
5417
5418 2016-01-27  Claudiu Zissulescu  <claziss@synopsys.com>
5419
5420         * config/arc/predicates.md (proper_comparison_operator): Reject
5421         constant-constant comparison.
5422
5423 2016-01-26  Tom de Vries  <tom@codesourcery.com>
5424
5425         PR tree-optimization/69110
5426         * tree-data-ref.c (initialize_data_dependence_relation): Handle
5427         DR_NUM_DIMENSIONS == 0.
5428
5429 2016-01-26  Abderrazek Zaafrani  <a.zaafrani@samsung.com>
5430             Sebastian Pop  <s.pop@samsung.com>
5431
5432         * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
5433         isl_ast_op_cond and isl_ast_op_select.
5434         (gcc_expression_from_isl_expr_op): Same.
5435
5436 2016-01-26  Jason Merrill  <jason@redhat.com>
5437
5438         PR c++/68782
5439         * tree.c (recompute_constructor_flags): Split out from
5440         build_constructor.
5441         (verify_constructor_flags): New.
5442         * tree.h: Declare them.
5443
5444 2016-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>
5445
5446         PR rtl-optimization/69217
5447         * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
5448         are no TYPE_FIELDS set for the record type.
5449
5450 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
5451
5452         PR target/68662
5453         * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
5454         toc_label_name unconditionally.
5455         (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
5456         SYMBOL_REF string.  Use toc_label_name instead of constructing
5457         LCTOC1.
5458         (rs6000_elf_declare_function_name): Use toc_label_name instead of
5459         constructing LCTOC1.
5460
5461 2016-01-26  Martin Sebor  <msebor@redhat.com>
5462
5463         PR other/69477
5464         * doc/extend.texi (Common Type Attributes): Move text that talks about
5465         attribute packed from attribute aligned to the section discussing
5466         the former attribute for clarity.
5467
5468 2016-01-26  Richard Henderson  <rth@redhat.com>
5469
5470         PR middle-end/60908
5471         * trans-mem.c (tm_region_init): Mark entry block as visited.
5472
5473 2016-01-26  David Malcolm  <dmalcolm@redhat.com>
5474
5475         PR other/69006
5476         * diagnostic-show-locus.c (layout::print_source_line): Replace
5477         call to pp_newline with call to layout::print_newline.
5478         (layout::print_annotation_line): Likewise.
5479         (layout::move_to_column): Likewise.
5480         (layout::print_any_fixits): After printing any fixits, print a
5481         trailing newline, if necessary.
5482         (layout::print_newline): New method, resetting any colorization
5483         before a newline.
5484         (diagnostic_show_locus): Move the pp_newline to before the
5485         early bailout.  Remove dummy block enclosing the layout instance.
5486         * diagnostic.c (default_diagnostic_finalizer): Replace invocation
5487         of pp_newline_and_flush with pp_flush.
5488         (diagnostic_append_note): Delete use of pp_newline.
5489         (diagnostic_append_note_at_rich_loc): Delete.
5490         * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
5491         * pretty-print.h (output_buffer_append_r): Reset buff->line_length
5492         when newline characters are added to the buffer.
5493
5494 2016-01-26  Michael Matz  <matz@suse.de>
5495
5496         * configure.ac (ac_cv_std_swap_in_utility): New test.
5497         * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
5498         * configure: Regenerate.
5499         * config.in: Regenerate.
5500
5501 2016-01-26  Claudiu Zissulescu  <claziss@synopsys.com>
5502
5503         * config/arc/arc.md (cstoresi4): Force operand into register.
5504         (arcset<code>): Fix predicate.
5505         (arcsetltu): Likewise.
5506         (arcsetgeu): Likewise.
5507         (arcsethi): Likewise.
5508         (arcsetls): Likewise.
5509
5510 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
5511
5512         PR tree-optimization/69483
5513         * gimple-fold.c (canonicalize_constructor_val): Return NULL
5514         if base has error_mark_node type.
5515
5516 2016-01-26  Christophe Lyon  <christophe.lyon@linaro.org>
5517
5518         PR target/68620
5519         * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
5520         * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
5521         New helper macros.
5522         (vget_lane_f16): Handle big-endian.
5523         (vgetq_lane_f16): Likewise.
5524         (vset_lane_f16): Likewise.
5525         (vsetq_lane_f16): Likewise.
5526         * config/arm/iterators.md (VQXMOV): Add V8HF.
5527         (VDQ): Add V4HF and V8HF.
5528         (V_reg): Handle V4HF and V8HF.
5529         (Is_float_mode): Likewise.
5530         * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
5531         neon_vdup_nv8hf): New patterns.
5532         (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
5533         Use VD_LANE iterator.
5534         (neon_vld1_dup<mode>): Use VQ2 iterator.
5535
5536 2016-01-26  Nathan Sidwell  <nathan@acm.org>
5537
5538         * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
5539         (set_oacc_fn_attrib): Add IS_KERNEL arg.
5540         * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
5541         (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
5542         (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
5543         (oacc_validate_dims): Add LEVEL arg, don't return level.
5544         (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
5545         oacc_validate_dims.
5546         (execute_oacc_device_lower): Adjust, add more dump output.
5547         * tree-ssa-loop.c (gate_oacc_kernels): Use
5548         oacc_fn_attrib_kernels_p.
5549         * tree-parloops.c (create_parallel_loop): Adjust
5550         set_oacc_fn_attrib call.
5551
5552 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
5553
5554         PR lto/69254
5555         * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
5556         (append_compiler_options): Handle -fcilkplus.
5557         (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
5558
5559 2016-01-26  Nick Clifton  <nickc@redhat.com>
5560
5561         PR target/66655
5562         * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
5563         been marked as DECL_ONE_ONLY but we do not the means to make it
5564         so, then do not allow it to bind locally.
5565
5566 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
5567
5568         PR lto/69254
5569         * opts.h (parse_sanitizer_options): New prototype.
5570         * opts.c (sanitizer_opts): New array.
5571         (parse_sanitizer_options): New function.
5572         (common_handle_option): Use parse_sanitizer_options.
5573
5574 2016-01-26  H.J. Lu  <hongjiu.lu@intel.com>
5575
5576         PR target/68986
5577         * config/i386/i386.c (ix86_compute_frame_layout): Move stack
5578         alignment adjustment to ...
5579         (ix86_update_stack_boundary): Here.  Don't over-align stack for
5580         __tls_get_addr.
5581         (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
5582         if __tls_get_addr is called.
5583
5584 2016-01-26  Christian Bruel  <christian.bruel@st.com>
5585
5586         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
5587
5588 2016-01-26  Eric Botcazou  <ebotcazou@adacore.com>
5589
5590         * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
5591
5592 2016-01-26  Richard Biener  <rguenther@suse.de>
5593
5594         PR middle-end/69467
5595         * match.pd: Guard X * CST CMP 0 pattern with single_use.
5596
5597 2016-01-26  Richard Biener  <rguenther@suse.de>
5598
5599         PR tree-optimization/69452
5600         * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
5601         (move_computations_dom_walker::before_dom_children): Rename
5602         to ...
5603         (move_computations_worker): This.
5604         (move_computations): Perform an RPO rather than a DOM walk.
5605
5606 2016-01-26  Jakub Jelinek  <jakub@redhat.com>
5607
5608         PR target/69442
5609         * combine.c (combine_instructions): For REG_EQUAL note with
5610         SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
5611         to the underlying register.
5612         * doc/rtl.texi (REG_EQUAL): Document the behavior of
5613         REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
5614
5615 2016-01-26  Roger Ferrer Ibáñez  <rofirrim@gmail.com>
5616
5617         PR target/67896
5618         * config/aarch64/aarch64-builtins.c
5619         (aarch64_init_simd_builtin_types): Do not set structural
5620         equality to __Poly{8,16,64,128}_t types.
5621
5622 2016-01-26  Richard Sandiford  <richard.sandiford@arm.com>
5623
5624         PR tree-optimization/69400
5625         * wide-int.cc (wi_pack): Take the precision as argument and
5626         perform canonicalization here rather than in the callers.
5627         Use the main loop to handle all full-width HWIs.  Add a
5628         zero HWI if in_len isn't a full result.
5629         (wi::divmod_internal): Update accordingly.
5630         (wi::mul_internal): Likewise.  Simplify.
5631
5632 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
5633             Sebastian Pop  <s.pop@samsung.com>
5634
5635         * graphite-poly.c (apply_poly_transforms): Simplify.
5636         (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
5637         (print_isl_map): Same.
5638         (print_isl_union_map): Same.
5639         (print_isl_schedule): New.
5640         (debug_isl_schedule): New.
5641         * graphite-dependences.c (scop_get_reads): Do not call
5642         isl_union_map_add_map that is undocumented isl functionality.
5643         (scop_get_must_writes): Same.
5644         (scop_get_may_writes): Same.
5645         (scop_get_original_schedule): Remove.
5646         (scop_get_dependences): Do not call isl_union_map_compute_flow that
5647         is deprecated in isl 0.15.  Instead, use isl_union_access_* interface.
5648         (compute_deps): Remove.
5649         * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
5650         (debug_schedule_ast): New.
5651         (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
5652         set_separate_option.
5653         (graphite_regenerate_ast_isl): Add dump.
5654         (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
5655         from scop->transformed_schedule.
5656         (graphite_regenerate_ast_isl): Add more dump.
5657         * graphite-optimize-isl.c (optimize_isl): Set
5658         scop->transformed_schedule.  Check whether schedules are equal.
5659         (apply_poly_transforms): Move here.
5660         * graphite-poly.c (apply_poly_transforms): ... from here.
5661         (free_poly_bb): Static.
5662         (free_scop): Static.
5663         (pbb_number_of_iterations_at_time): Remove.
5664         (print_isl_ast): New.
5665         (debug_isl_ast): New.
5666         (debug_scop_pbb): New.
5667         * graphite-scop-detection.c (print_edge): Move.
5668         (print_sese): Move.
5669         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
5670         (build_scop_scattering): Remove.
5671         (create_pw_aff_from_tree): Assert instead of bailing out.
5672         (add_condition_to_pbb): Remove unused code, do not fail.
5673         (add_conditions_to_domain): Same.
5674         (add_conditions_to_constraints): Remove.
5675         (build_scop_context): New.
5676         (add_iter_domain_dimension): New.
5677         (build_iteration_domains): Initialize pbb->iterators.
5678         Call add_conditions_to_domain.
5679         (nested_in): New.
5680         (loop_at): New.
5681         (index_outermost_in_loop): New.
5682         (index_pbb_in_loop): New.
5683         (outermost_pbb_in): New.
5684         (add_in_sequence): New.
5685         (add_outer_projection): New.
5686         (outer_projection_mupa): New.
5687         (add_loop_schedule): New.
5688         (build_schedule_pbb): New.
5689         (build_schedule_loop): New.
5690         (embed_in_surrounding_loops): New.
5691         (build_schedule_loop_nest): New.
5692         (build_original_schedule): New.
5693         (build_poly_scop): Call build_original_schedule.
5694         * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
5695         (free_poly_dr): Remove.
5696         (struct poly_bb): Add iterators.  Remove schedule, transformed, saved.
5697         (free_poly_bb): Remove.
5698         (debug_loop_vec): Remove.
5699         (print_isl_ast): Declare.
5700         (debug_isl_ast): Declare.
5701         (scop_do_interchange): Remove.
5702         (scop_do_strip_mine): Remove.
5703         (scop_do_block): Remove.
5704         (flatten_all_loops): Remove.
5705         (optimize_isl): Remove.
5706         (pbb_number_of_iterations_at_time): Remove.
5707         (debug_scop_pbb): Declare.
5708         (print_schedule_ast): Declare.
5709         (debug_schedule_ast): Declare.
5710         (struct scop): Remove schedule.  Add original_schedule,
5711         transformed_schedule.
5712         (free_gimple_poly_bb): Remove.
5713         (print_generated_program): Remove.
5714         (debug_generated_program): Remove.
5715         (unify_scattering_dimensions): Remove.
5716         * sese.c (print_edge): ... here.
5717         (print_sese): ... here.
5718         (debug_edge): ... here.
5719         (debug_sese): ... here.
5720         * sese.h (print_edge): Declare.
5721         (print_sese): Declare.
5722         (dump_edge): Declare.
5723         (dump_sese): Declare.
5724
5725 2016-01-25  Aditya Kumar  <aditya.k7@samsung.com>
5726             Sebastian Pop  <s.pop@samsung.com>
5727
5728         * Makefile.in: Set ISLVER in site.exp.
5729
5730 2016-01-25  Jakub Jelinek  <jakub@redhat.com>
5731
5732         * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
5733         DECL_VALUE_EXPR of new_var even for the non-array case.  Look
5734         through DECL_VALUE_EXPR for expansion.
5735
5736 2016-01-25  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5737
5738         * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
5739         the frame info after reload completed.
5740
5741 2016-01-25  Jeff Law  <law@redhat.com>
5742
5743         PR tree-optimization/69196
5744         PR tree-optimization/68398
5745         * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
5746         tree-ssa-threadupdate.c.
5747         (determine_bb_domination_status): Prototype
5748         * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
5749         (determine_bb_domination_status): No longer static.
5750         (valid_jump_thread_path): Remove code to detect characteristics
5751         of the jump thread path not associated with correctness.
5752         * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
5753         Correct test for thread path length.  Count PHIs for real operands as
5754         statements that need to be copied.  Do not count ASSERT_EXPRs.
5755         Look at all the blocks in the thread path.  Compute and selectively
5756         filter thread paths based on threading through the latch, threading
5757         a multiway branch or crossing a multiway branch.
5758
5759 2016-01-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5760
5761         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled):  Add
5762         decl with __attribute__ ((unused)) annotation.
5763
5764 2016-01-25  Ilya Enkovich  <enkovich.gnu@gmail.com>
5765
5766         PR target/69421
5767         * tree-vect-stmts.c (vectorizable_condition): Check vectype
5768         of operands is compatible with a statement vectype.
5769
5770 2016-01-25  Eric Botcazou  <ebotcazou@adacore.com>
5771
5772         * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
5773         improve wording for mixed storage order support.
5774
5775 2016-01-25  Bilyan Borisov  <bilyan.borisov@arm.com>
5776
5777         * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
5778         (vcvt_u64_f64): Likewise.
5779         (vcvta_s64_f64): Likewise.
5780         (vcvta_u64_f64): Likewise.
5781         (vcvtm_s64_f64): Likewise.
5782         (vcvtm_u64_f64): Likewise.
5783         (vcvtn_s64_f64): Likewise.
5784         (vcvtn_u64_f64): Likewise.
5785         (vcvtp_s64_f64): Likewise.
5786         (vcvtp_u64_f64): Likewise.
5787
5788 2016-01-25  Claudiu Zissulescu  <claziss@synopsys.com>
5789
5790         * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
5791         (arc_init): Check validity mll64 option.
5792         (arc_save_restore): Use double load/store instruction.
5793         (arc_expand_movmem): Likewise.
5794         (arc_split_move): Don't split if we have double load/store
5795         instructions. Returns a boolean.
5796         (arc_process_double_reg_moves): Change function to return boolean
5797         instead of a sequence of instructions.
5798         (arc_dwarf_register_span): New function.
5799         * config/arc/arc-protos.h (arc_split_move): Change prototype.
5800         * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
5801         * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
5802         (*movdf_insn): Likewise.
5803         * config/arc/arc.opt (mll64): New option.
5804         * config/arc/predicates.md (even_register_operand): New predicate.
5805         * doc/invoke.texi (ARC Options): Add mll64 documentation.
5806
5807 2016-01-25  Richard Biener  <rguenther@suse.de>
5808
5809         PR lto/69393
5810         * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
5811         * tree-streamer-out.c (pack_ts_base_value_fields): Stream
5812         DECL_NAMELESS.
5813         * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
5814
5815 2016-01-25  Richard Biener  <rguenther@suse.de>
5816
5817         PR tree-optimization/69376
5818         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
5819         flag.
5820         (VN_INFO_ANTI_RANGE_P): New inline.
5821         (VN_INFO_RANGE_TYPE): Likewise.
5822         * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
5823         SSA_NAME_ANTI_RANGE_P.
5824         (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
5825         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5826         Properly query VN_INFO_RANGE_TYPE.
5827
5828 2016-01-25  Nick Clifton  <nickc@redhat.com>
5829
5830         PR target/66655
5831         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
5832
5833 2016-01-23  Tom de Vries  <tom@codesourcery.com>
5834
5835         PR tree-optimization/69426
5836         * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
5837         removed clobber.
5838
5839 2016-01-23  Jakub Jelinek  <jakub@redhat.com>
5840
5841         * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
5842         "the the" with "the" in the comments.
5843         * ipa-devirt.c (build_type_inheritance_graph,
5844         update_type_inheritance_graph): Likewise.
5845         * tree.c (build_function_type_list_1): Likewise.
5846         * cfgloopmanip.c (scale_loop_profile): Likewise.
5847         * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
5848         * gimple-ssa-split-paths.c
5849         (find_block_to_duplicate_for_splitting_paths): Likewise.
5850         * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
5851         * expr.c (convert_move): Likewise.
5852         * var-tracking.c (vt_stack_adjustments): Likewise.
5853         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
5854         * tree-vrp.c (test_for_singularity): Likewise.
5855
5856         * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
5857         directly instead of building a temporary tree.
5858
5859         PR bootstrap/69434
5860         * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
5861         remove <algorithm> include.
5862
5863 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
5864
5865         PR target/69432
5866         * config/i386/i386.c: Include dojump.h.
5867         (expand_small_movmem_or_setmem,
5868         expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
5869         fixes.
5870         (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
5871         if dynamic_check != -1.
5872
5873 2016-01-21  Jeff Law  <law@redhat.com>
5874
5875         PR middle-end/69347
5876         * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
5877         record_temporary_equivalences.  Rewritten to avoid unnecessary calls
5878         into dominated_by_p.
5879         (cprop_into_successor_phis): Avoid unnecessary tests.
5880
5881 2016-01-22  Richard Henderson  <rth@redhat.com>
5882
5883         PR target/69416
5884         * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
5885         (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
5886
5887 2016-01-22  Michael Matz  <matz@suse.de>
5888
5889         * system.h (string, algorithm): Include only conditionally.
5890         (new): Include always under C++.
5891         * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
5892         * final.c (toplevel): Ditto.
5893         * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
5894         * genconditions.c (write_header): Make gencondmd.c define
5895         INCLUDE_STRING.
5896         * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
5897
5898         * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
5899         * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
5900
5901 2016-01-22  Christian Bruel  <christian.bruel@st.com>
5902
5903         PR target/68674
5904         * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
5905
5906 2016-01-22  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
5907
5908         PR target/69403
5909         * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
5910         define_insn_and_split.  Ensure operands[1] and operands[0] do not
5911         get assigned the same register.
5912
5913 2016-01-22  Kugan Vivekanandarajah  <kuganv@linaro.org>
5914
5915         * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
5916
5917 2016-01-22  Christian Bruel  <christian.bruel@st.com>
5918
5919         * config/arm/arm-c.c (arm_pragma_target_parse):
5920         Remove warn_builtin_macro_redefined overwrite.
5921
5922 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
5923
5924         * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
5925         flag_non_call_exceptions compatibility.
5926
5927 2016-01-22  Jakub Jelinek  <jakub@redhat.com>
5928
5929         PR debug/66668
5930         * dwarf2out.c (add_child_die_after): New function.
5931         (dwarf_qual_info_t): New type.
5932         (dwarf_qual_info): New variable.
5933         (qualified_die_p): New function.
5934         (modified_type_die): For -fdebug-types-section, ensure
5935         canonical order of qualifiers.  Put qualified DIEs adjacent
5936         to the corresponding non-qualified type DIE and search there
5937         for existing qualified DIEs.
5938
5939 2016-01-22  Eric Botcazou  <ebotcazou@adacore.com>
5940
5941         * doc/extend.texi (scalar_storage_order type attribute): Document
5942         restriction on type punning and aliasing, and remove future tense.
5943
5944 2016-01-21  Roman Zhuykov  <zhroma@ispras.ru>
5945
5946         PR target/69252
5947         * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
5948         first stage.
5949
5950 2016-01-21  Jeff Law  <law@redhat.com>
5951
5952         PR middle-end/69347
5953         * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
5954         useless call to record_temporary_equivalences.
5955         * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
5956         allocate 10 slots in the bb_path vector and let it grow as needed.
5957         (fsm_find_control_statement_thread_paths): Similarly for the next_path
5958         vector.
5959
5960 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
5961
5962         * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
5963         Detangle.
5964         * configure: Regenerate.
5965
5966 2016-01-21  Pat Haugen  <pthaugen@us.ibm.com>
5967
5968         * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
5969         * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
5970
5971 2016-01-21  Bernd Schmidt  <bschmidt@redhat.com>
5972
5973         PR middle-end/66178
5974         * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
5975         drop EXPAND_INITIALIZER.
5976         * rtl.h (contains_symbolic_reference_p): Declare.
5977         * rtlanal.c (contains_symbolic_reference_p): New function.
5978         * simplify-rtx.c (simplify_binary_operation_1): Don't turn
5979         a subtraction into a NOT if symbolic constants are involved.
5980
5981 2016-01-21  Anton Blanchard  <anton@samba.org>
5982             Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
5983
5984         PR target/63354
5985         * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
5986         #define.
5987         * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
5988         function.
5989
5990 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
5991
5992         * config/microblaze/microblaze.c
5993         (get_branch_target): New.
5994         (insert_wic_for_ilb_runout): New.
5995         (insert_wic): New.
5996         (microblaze_machine_dependent_reorg): New.
5997         (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
5998         * config/microblaze/microblaze.md
5999         (UNSPEC_IPREFETCH): Define.
6000         (iprefetch): New pattern
6001         * config/microblaze/microblaze.opt
6002         (mxl-prefetch): New flag.
6003
6004 2016-01-21  Ajit Agarwal  <ajitkum@xilinx.com>
6005
6006         * config/microblaze/microblaze.h
6007         (FIXED_REGISTERS): Update in macro.
6008         (CALL_USED_REGISTERS): Update in macro.
6009
6010 2016-01-21  Yuri Rumyantsev  <ysrumyan@gmail.com>
6011
6012         PR rtl-optimization/68920
6013         * ifcvt.c (cond_move_process_if_block): Limit number of conditional
6014         moves.
6015
6016 2016-01-21  Vladimir Makarov  <vmakarov@redhat.com>
6017
6018         PR rtl-optimization/68990
6019         * lra-coalesce.c (lra_coalesce): Invalidate value for the result
6020         pseudo instead of inheritance ones.
6021
6022 2016-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
6023             Nick Clifton  <nickc@redhat.com>
6024
6025         PR target/69129
6026         PR target/69012
6027         * config/mips/mips.c (mips_compute_frame_info): Initialise
6028         args_size and hard_frame_pointer_offset fields of the frame
6029         structure before calling mips_global_pointer.
6030
6031 2016-01-21  David Edelsohn  <dje.gcc@gmail.com>
6032
6033         * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
6034         label reference.
6035         * configure: Regenerate.
6036
6037 2016-01-21  Richard Biener  <rguenther@suse.de>
6038
6039         * graphite-optimize-isl.c (get_schedule_map): Fix typo.
6040
6041 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
6042
6043         * config/s390/s390.c (s390_asm_declare_function_size): Add code
6044         to actually emit the .size directive.
6045
6046 2016-01-21   Stefan Sørensen  <stefan.sorensen@spectralink.com>
6047              Jakub Jelinek  <jakub@redhat.com>
6048
6049         PR target/69187
6050         PR target/65624
6051         * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
6052         args array size by one to avoid buffer overflow.
6053
6054 2016-01-21  Marcin Kościelnicki  <koriakin@0x04.net>
6055
6056         * config/s390/s390.md (pool_section_start): Use switch_to_section
6057         to select proper read-only data section instead of hardcoding
6058         .rodata.
6059         (pool_section_end): Use switch_to_section to match the above.
6060
6061 2016-01-21  Richard Biener  <rguenther@suse.de>
6062
6063         PR tree-optimization/69378
6064         * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
6065         (set_ssa_val_to): Use it for dominance checks taking into
6066         account not executable edges.
6067
6068 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
6069
6070         PR c++/69355
6071         * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
6072         for bitsize instead of GET_MODE_PRECISION (mode).
6073
6074 2016-01-20  Martin Sebor  <msebor@redhat.com>
6075
6076         PR c/52291
6077         * extend.texi (__sync Builtins): Clarify the semantics of
6078         __sync_fetch_and_OP built-ins on pointers.
6079         (__atomic Builtins): Same.
6080
6081 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6082             Sebastian Pop  <s.pop@samsung.com>
6083
6084         * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
6085         (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
6086         (is_valid_rename): Same.
6087         (translate_isl_ast_to_gimple::get_rename): Same.
6088         (translate_isl_ast_to_gimple::rename_all_uses): Same.
6089         (translate_isl_ast_to_gimple::rename_uses): Same.
6090         (get_new_name): Check for close_phi nodes.
6091         (copy_loop_phi_args): Use phi_node_kind.
6092         (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
6093         (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
6094
6095 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6096             Sebastian Pop  <s.pop@samsung.com>
6097
6098         Revert commit r229783.
6099         * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
6100         Remove use of parameter_rename_map.
6101         (copy_def): Remove.
6102         (copy_internal_parameters): Remove.
6103         (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
6104         * sese.c (new_sese_info): Do not initialize parameter_rename_map.
6105         (free_sese_info): Do not free parameter_rename_map.
6106         (set_rename): Do not use parameter_rename_map.
6107         (rename_uses): Update call to set_rename.
6108         (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
6109         * sese.h (parameter_rename_map_t): Remove.
6110         (struct sese_info_t): Remove field parameter_rename_map.
6111
6112 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6113             Sebastian Pop  <s.pop@samsung.com>
6114
6115         * graphite-isl-ast-to-gimple.c: Fix comment.
6116         * graphite-scop-detection.c (defined_in_loop_p): New.
6117         (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
6118         names defined in loop.
6119
6120 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6121             Sebastian Pop  <s.pop@samsung.com>
6122
6123         * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
6124         Discard unstructured if-then-else regions.
6125
6126 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6127             Sebastian Pop  <s.pop@samsung.com>
6128
6129         * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
6130         (cleanup_loop_iter_dom): Remove.
6131         (build_loop_iteration_domains): Remove.
6132         (build_scop_context): Remove.
6133         (build_scop_iteration_domain): Remove.
6134         (add_loop_constraints): New.
6135         (build_iteration_domains): New.
6136         (build_poly_scop): Call build_iteration_domains.
6137
6138 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6139             Sebastian Pop  <s.pop@samsung.com>
6140
6141         * graphite-scop-detection.c
6142         (scop_detection::harmful_loop_in_region): Free dom and loops.
6143         (scop_detection::loop_body_is_valid_scop): Free bbs.
6144
6145 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6146             Sebastian Pop  <s.pop@samsung.com>
6147
6148         * graphite-scop-detection.c (record_loop_in_sese): New.
6149         (gather_bbs::before_dom_children): Call record_loop_in_sese.
6150         (build_scops): Remove call to build_sese_loop_nests.
6151         * sese.c (sese_record_loop): Remove.
6152         (build_sese_loop_nests): Remove.
6153         (new_sese_info): Remove region->loops.
6154         (free_sese_info): Same.
6155         * sese.h (sese_contains_loop): Same.
6156         (build_sese_loop_nests): Remove.
6157         (sese_contains_loop): Remove.
6158
6159 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6160             Sebastian Pop  <s.pop@samsung.com>
6161
6162         * graphite-scop-detection.c (loop_is_valid_scop): Renamed
6163         loop_is_valid_in_scop.
6164         (scop_detection::harmful_stmt_in_region): Renamed
6165         harmful_loop_in_region.
6166         Call loop_is_valid_in_scop.
6167
6168 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6169             Sebastian Pop  <s.pop@samsung.com>
6170
6171         * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
6172         isl_ast_node_mark.
6173
6174 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6175             Sebastian Pop  <s.pop@samsung.com>
6176
6177         * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
6178         * graphite.h (struct poly_bb): Remove field is_reduction.
6179         (PBB_IS_REDUCTION): Remove.
6180
6181 2016-01-21  Aditya Kumar  <aditya.k7@samsung.com>
6182             Sebastian Pop  <s.pop@samsung.com>
6183
6184         * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
6185         (add_pdr_constraints): Same.
6186         (scop_get_reads): Same.
6187         (scop_get_must_writes): Same.
6188         (scop_get_may_writes): Same.
6189         (scop_get_original_schedule): Same.
6190         (extend_schedule): Same.
6191         (apply_schedule_on_deps): Same.
6192         (carries_deps): Same.
6193         (compute_deps): Same.
6194         (scop_get_dependences): Same.
6195         * graphite-isl-ast-to-gimple.c
6196         (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
6197         * graphite-optimize-isl.c (get_schedule_for_band): Same.
6198         (get_schedule_for_band_list): Same.
6199         (get_schedule_map): Same.
6200         (apply_schedule_map_to_scop): Same.
6201         * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
6202         (build_loop_iteration_domains): Same.
6203         (add_condition_to_pbb): Same.
6204         (add_param_constraints): Same.
6205         (pdr_add_memory_accesses): Same.
6206         (pdr_add_data_dimensions): Same.
6207
6208 2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
6209
6210         * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
6211         requirements.
6212
6213 2016-01-20  Sandra Loosemore  <sandra@codesourcery.com>
6214
6215         * common.opt (feliminate-dwarf2-dups): Replace references to
6216         "DWARF 2" with just "DWARF".
6217         * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
6218         * doc/extend.texi: Likewise.
6219         * doc/cpp.texi: Likewise.
6220         * doc/invoke.texi: Likewise.
6221         (Option Summary): Add -gdwarf to list of Debugging Options.
6222         (Debugging Options): Document -gdwarf.
6223         * doc/contrib.texi: Spell "DWARF" like that.
6224
6225 2016-01-21  Jakub Jelinek  <jakub@redhat.com>
6226
6227         * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
6228         warning.  Fix up formatting.
6229
6230         PR middle-end/67653
6231         * gimplify.c (gimplify_asm_expr): Warn if it is too late to
6232         attempt to mark memory input operand addressable and
6233         call prepare_gimple_addressable in that case.  Don't adjust
6234         input_location for diagnostics, use error_at instead.
6235
6236 2016-01-20  Peter Bergner  <bergner@vnet.ibm.com>
6237
6238         * config/rs6000/ppc-auxv.h: New file.
6239         * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
6240         (cpu_is): Likewise.
6241         (cpu_supports): Likewise.
6242         * config/rs6000/rs6000.c: include "ppc-auxv.h".
6243         (cpu_is_info): New variable.
6244         (cpu_supports_info): Likewise.
6245         (tcb_verification_symbol): Likewise.
6246         (cpu_builtin_p): Likewise.
6247         (cpu_expand_builtin): New function.
6248         (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
6249         (rs6000_init_builtins): Likewise.
6250         (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
6251         * config/rs6000/rs6000.h (TLS_REGNUM): New define.
6252         * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
6253         * configure: Regenerate.
6254         * config.in: Likewise.
6255         * doc/extend.texi (PowerPC Built-in Functions): Document
6256         __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
6257
6258 2016-01-20  David Edelsohn  <dje.gcc@gmail.com>
6259
6260         PR target/68609
6261         * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
6262         domain check.
6263         * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
6264         for V4SFmode.
6265
6266 2016-01-20  Richard Henderson  <rth@redhat.com>
6267
6268         PR bootstrap/69343
6269         PR bootstrap/69339
6270         PR tree-opt/68964
6271         Revert:
6272         * tree.c (tm_define_builtin): New.
6273         (find_tm_vector_type): New.
6274         (build_tm_vector_builtins): New.
6275         (build_common_builtin_nodes): Call it.
6276
6277 2016-01-20  Christophe Lyon  <christophe.lyon@linaro.org>
6278
6279         * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
6280         (arm_fp_ok): Likewise.
6281         (arm_fp): Likewise.
6282         (arm_crypto): Likewise.
6283
6284 2016-01-20  Ilya Enkovich  <enkovich.gnu@gmail.com>
6285             Richard Biener  <rguenther@suse.de>
6286
6287         PR tree-optimization/69328
6288         * tree-vect-stmts.c (vect_is_simple_cond): Check compared
6289         vectors have same number of elements.
6290         (vectorizable_condition): Fix masked version recognition.
6291
6292 2016-01-20  Richard Biener  <rguenther@suse.de>
6293
6294         PR tree-optimization/69345
6295         * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
6296         (VN_INFO_PTR_INFO): Likewise.
6297         * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
6298         info when it is equal between non-dominating SSA names.
6299         * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
6300         Make sure to look at original SSA infos.
6301
6302 2016-01-20  Jeff Law  <law@redhat.com>
6303
6304         PR target/25114
6305         * config/m68k/predicates.md (pow2_m1_operand): New predicate
6306         extracted from ...
6307         (reg_or_pow2_m1_operand): Call pow2_m1_operand.
6308         (pc_or_label_operand): New predicate.
6309         * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
6310         tests for small integers that are 2^n - 1.
6311
6312 2016-01-20  Jonathan Wakely  <jwakely@redhat.com>
6313
6314         * doc/invoke.texi (Options Summary): Add '.' after @xref.
6315
6316 2016-01-19  Jeff Law  <law@redhat.com>
6317
6318         PR middle-end/69347
6319         * tree-ssa-threadbackwards.c
6320         (fsm_find_control_statement_thread_paths): Do not try to lookup
6321         FSM paths for SSA_NAMEs appearing in abnormal PHIs.
6322
6323 2016-01-20  Kugan Vivekanandarajah  <kuganv@linaro.org>
6324
6325         * doc/lto.texi: Remove text that says only Gold has linker plugin
6326         support.
6327
6328 2016-01-19  Eric Botcazou  <ebotcazou@adacore.com>
6329
6330         * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
6331         (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
6332         the DIE accordingly.
6333         (modified_type_die): Add REVERSE parameter and pass it recursively,
6334         as well as to base_type_die.  Adjust presence check accordingly.
6335         (base_type_for_mode): Adjust call to modified_type_die.
6336         (add_type_attribute): Add REVERSE parameter and pass it to
6337         modified_type_die.
6338         (generic_parameter_die): Adjust call to add_type_attribute.
6339         (add_scalar_info): Likewise.
6340         (add_subscript_info): Likewise.
6341         (gen_array_type_die): Likewise.
6342         (gen_descr_array_type_die): Likewise.
6343         (gen_entry_point_die): Likewise.
6344         (gen_enumeration_type_die): Likewise.
6345         (gen_formal_parameter_die): Likewise.
6346         (gen_subprogram_die): Likewise.
6347         (gen_variable_die ): Likewise.
6348         (gen_const_die): Likewise.
6349         (gen_field_die): Likewise.
6350         (gen_pointer_type_die): Likewise.
6351         (gen_reference_type_die): Likewise.
6352         (gen_ptr_to_mbr_type_die): Likewise.
6353         (gen_inheritance_die): Likewise.
6354         (gen_subroutine_type_die): Likewise.
6355         (gen_typedef_die): Likewise.
6356         (force_type_die): Adjust call to modified_type_die.
6357
6358 2016-01-19  Sandra Loosemore  <sandra@codesourcery.com>
6359
6360         * doc/standards.texi: Copy-editing for grammar, markup, and sentence
6361         flow throughout the file.  Fix broken link to Objective-C 2.0
6362         documentation.
6363         * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
6364         errors.
6365
6366 2016-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
6367
6368         * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
6369
6370 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
6371
6372         PR ipa/66223
6373         * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
6374         (maybe_record_node): Record cxa_pure_virtual as the only possible
6375         target if there are not ohter candidates.
6376         (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
6377
6378 2016-01-19  Richard Biener  <rguenther@suse.de>
6379
6380         * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
6381         (get_memory_order): Likewise.
6382
6383 2016-01-19  Kirill Yukhin  <kirill.yukhin@intel.com>
6384
6385         * tree-vect-stmts.c (vectorizable_store): Check
6386         rhs vectype.
6387
6388 2016-01-19  David Malcolm  <dmalcolm@redhat.com>
6389
6390         PR jit/68446
6391         * gcc.c (driver::decode_argv): Add call to
6392         init_opts_obstack before init_options_struct.
6393         * opts.c (init_opts_obstack): Remove idempotency.
6394         (init_options_struct): Replace call to init_opts_obstack
6395         with a gcc_assert to verify that it has already been called.
6396         * toplev.c (toplev::main): Add call to init_opts_obstack before
6397         calls to init_options_struct.
6398         (toplev::finalize): Move cleanup of opts_obstack next to
6399         cleanup of save_decoded_options, clearing the latter, and
6400         save_decoded_options_count.
6401
6402 2016-01-19  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6403
6404         PR target/69135
6405         * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
6406         attribute to unconditional.  Remove %? from output template.
6407
6408 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
6409             Jiong Wang  <jiong.wang@arm.com>
6410
6411         * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
6412         generated from different expand order.
6413
6414 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
6415
6416         * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
6417         Add support for CCMP costing.
6418
6419 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
6420
6421         * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
6422         * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
6423         (fccmpe<mode>): Likewise.
6424         (fcmp): Rename to fcmp and globalize pattern.
6425         (fcmpe): Likewise.
6426         * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
6427         (aarch64_gen_ccmp_next): Add FP support.
6428
6429 2015-01-19  Wilco Dijkstra  <wdijkstr@arm.com>
6430
6431         * target.def (gen_ccmp_first): Update documentation.
6432         (gen_ccmp_next): Likewise.
6433         * doc/tm.texi (gen_ccmp_first): Update documentation.
6434         (gen_ccmp_next): Likewise.
6435         * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
6436         expand_ccmp_expr_1.  Improve comments.
6437         * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
6438         (ccmp_ior<mode>): Remove pattern.
6439         (cmp<mode>): Remove expand.
6440         (cmp): Globalize pattern.
6441         (cstorecc4): Use cc_register.
6442         (mov<mode>cc): Remove ccmp_cc_register check.
6443         * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
6444         Simplify after removal of CC_DNE/* modes.
6445         (aarch64_ccmp_mode_to_code): Remove.
6446         (aarch64_print_operand): Remove 'K' case.  Merge 'm' and 'M' cases.
6447         In 'k' case use integer as condition.
6448         (aarch64_nzcv_codes): Remove inverted cases.
6449         (aarch64_code_to_ccmode): Remove.
6450         (aarch64_gen_ccmp_first): Use cmp pattern directly.  Return the correct
6451         comparison with CC register to be used in folowing CCMP/branch/CSEL.
6452         (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
6453         pattern.  Return the comparison with CC register.  Invert conditions
6454         when bitcode is OR.
6455         * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
6456         * config/aarch64/predicates.md (ccmp_cc_register): Remove.
6457
6458 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
6459
6460         * cgraphunit.c (cgraph_node::reset): Clear thunk info and
6461         instrumented_version.
6462
6463 2016-01-19  Richard Biener  <rguenther@suse.de>
6464
6465         PR tree-optimization/69336
6466         * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
6467         handled components with get_ref_base_and_extent.
6468         (equal_mem_array_ref_p): Adjust.
6469
6470 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
6471
6472         PR debug/65779
6473         * shrink-wrap.c: Include valtrack.h.
6474         (move_insn_for_shrink_wrap): Add DEBUG argument.  If
6475         MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
6476         in between insn and where it will be moved to.  Call
6477         dead_debug_insert_temp.
6478         (prepare_shrink_wrap): Adjust caller.  Call dead_debug_local_init
6479         first and dead_debug_local_finish at the end.
6480         For uses and defs bitmap, handle all regs in between REGNO and
6481         END_REGNO, not just the first one.
6482
6483 2016-01-19  Richard Biener  <rguenther@suse.de>
6484
6485         PR tree-optimization/69352
6486         * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
6487         (equal_mem_array_ref_p): Constrain size and max size properly.
6488         Compare the reverse flag.
6489
6490 2016-01-19  Bernd Schmidt  <bschmidt@redhat.com>
6491
6492         * ira.c (ira): Update regstat data if we deleted insns.
6493
6494 2016-01-19  Jakub Jelinek  <jakub@redhat.com>
6495
6496         PR rtl-optimization/68955
6497         PR rtl-optimization/64557
6498         * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
6499         here.  Fix up formatting.
6500         * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
6501
6502 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
6503
6504         PR lto/69133
6505         * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
6506         assume that the node has body.
6507         * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
6508         check.
6509
6510 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
6511
6512         * lto-streamer-out.c (lto_output): Do not stream instrumentation
6513         thunks.
6514
6515 2016-01-19  Jan Hubicka  <hubicka@ucw.cz>
6516
6517         * symtab.c (symtab_node::asm_name): Do not call printable name directly.
6518         (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
6519
6520 2016-01-19  Martin Jambor  <mjambor@suse.cz>
6521             Martin Liska  <mliska@suse.cz>
6522             Michael Matz  <matz@suse.de>
6523
6524         * Makefile.in (OBJS): Add new source files.
6525         (GTFILES): Add hsa.c.
6526         * common.opt (disable_hsa): New variable.
6527         (-Whsa): New warning.
6528         * config.in (ENABLE_HSA): New.
6529         * configure.ac: Treat hsa differently from other accelerators.
6530         (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
6531         $enable_offloading.
6532         (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
6533         * doc/install.texi (Configuration): Document --with-hsa-runtime,
6534         --with-hsa-runtime-include, --with-hsa-runtime-lib and
6535         --with-hsa-kmt-lib.
6536         * doc/invoke.texi (-Whsa): Document.
6537         (hsa-gen-debug-stores): Likewise.
6538         * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
6539         to invoke offload compiler for hsa acclerator.
6540         * opts.c (common_handle_option): Determine whether HSA offloading
6541         should be performed.
6542         * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
6543         * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
6544         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
6545         (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
6546         * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
6547         * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
6548         GF_OMP_FOR_KIND_GRID_LOOP.
6549         (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
6550         (pp_gimple_stmt_1): Likewise.
6551         * gimple-walk.c (walk_gimple_stmt): Likewise.
6552         * gimple.c (gimple_build_omp_grid_body): New function.
6553         (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
6554         * gimple.def (GIMPLE_OMP_GRID_BODY): New.
6555         * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
6556         GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
6557         GF_OMP_TEAMS_GRID_PHONY.
6558         (gimple_statement_omp_single_layout): Updated comments.
6559         (gimple_build_omp_grid_body): New function.
6560         (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
6561         (gimple_omp_for_grid_phony): New function.
6562         (gimple_omp_for_set_grid_phony): Likewise.
6563         (gimple_omp_parallel_grid_phony): Likewise.
6564         (gimple_omp_parallel_set_grid_phony): Likewise.
6565         (gimple_omp_teams_grid_phony): Likewise.
6566         (gimple_omp_teams_set_grid_phony): Likewise.
6567         (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
6568         * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
6569         (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
6570         (BUILT_IN_GOMP_TARGET): Updated type.
6571         * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
6572         (adjust_for_condition): New function.
6573         (get_omp_for_step_from_incr): Likewise.
6574         (extract_omp_for_data): Moved parts to adjust_for_condition and
6575         get_omp_for_step_from_incr.
6576         (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
6577         (fixup_child_record_type): Bail out if receiver_decl is NULL.
6578         (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
6579         (scan_omp_parallel): Do not create child functions for phony
6580         constructs.
6581         (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
6582         (scan_omp_1_op): Checking assert we are not remapping to
6583         ERROR_MARK.  Also also handle GIMPLE_OMP_GRID_BODY.
6584         (parallel_needs_hsa_kernel_p): New function.
6585         (expand_parallel_call): Register apprpriate parallel child
6586         functions as HSA kernels.
6587         (grid_launch_attributes_trees): New type.
6588         (grid_attr_trees): New variable.
6589         (grid_create_kernel_launch_attr_types): New function.
6590         (grid_insert_store_range_dim): Likewise.
6591         (grid_get_kernel_launch_attributes): Likewise.
6592         (get_target_argument_identifier_1): Likewise.
6593         (get_target_argument_identifier): Likewise.
6594         (get_target_argument_value): Likewise.
6595         (push_target_argument_according_to_value): Likewise.
6596         (get_target_arguments): Likewise.
6597         (expand_omp_target): Call get_target_arguments instead of looking
6598         up for teams and thread limit.
6599         (grid_expand_omp_for_loop): New function.
6600         (grid_arg_decl_map): New type.
6601         (grid_remap_kernel_arg_accesses): New function.
6602         (grid_expand_target_kernel_body): New function.
6603         (expand_omp): Call it.
6604         (lower_omp_for): Do not emit phony constructs.
6605         (lower_omp_taskreg): Do not emit phony constructs but create for them
6606         a temporary variable receiver_decl.
6607         (lower_omp_taskreg): Do not emit phony constructs.
6608         (lower_omp_teams): Likewise.
6609         (lower_omp_grid_body): New function.
6610         (lower_omp_1): Call it.
6611         (grid_reg_assignment_to_local_var_p): New function.
6612         (grid_seq_only_contains_local_assignments): Likewise.
6613         (grid_find_single_omp_among_assignments_1): Likewise.
6614         (grid_find_single_omp_among_assignments): Likewise.
6615         (grid_find_ungridifiable_statement): Likewise.
6616         (grid_target_follows_gridifiable_pattern): Likewise.
6617         (grid_remap_prebody_decls): Likewise.
6618         (grid_copy_leading_local_assignments): Likewise.
6619         (grid_process_kernel_body_copy): Likewise.
6620         (grid_attempt_target_gridification): Likewise.
6621         (grid_gridify_all_targets_stmt): Likewise.
6622         (grid_gridify_all_targets): Likewise.
6623         (execute_lower_omp): Call grid_gridify_all_targets.
6624         (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
6625         * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
6626         (tree_omp_clause): Added union field dimension.
6627         * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
6628         * tree.c (omp_clause_num_ops): Added number of arguments of
6629         OMP_CLAUSE__GRIDDIM_.
6630         (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
6631         (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
6632         * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
6633         (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
6634         (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
6635         (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
6636         * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
6637         * tree-pass.h (make_pass_gen_hsail): Declare.
6638         (make_pass_ipa_hsa): Likewise.
6639         * ipa-hsa.c: New file.
6640         * lto-section-in.c (lto_section_name): Add hsa section name.
6641         * lto-streamer.h (lto_section_type): Add hsa section.
6642         * timevar.def (TV_IPA_HSA): New.
6643         * hsa-brig-format.h: New file.
6644         * hsa-brig.c: New file.
6645         * hsa-dump.c: Likewise.
6646         * hsa-gen.c: Likewise.
6647         * hsa.c: Likewise.
6648         * hsa.h: Likewise.
6649         * toplev.c (compile_file): Call hsa_output_brig.
6650         * hsa-regalloc.c: New file.
6651
6652 2016-01-18  Jeff Law  <law@redhat.com>
6653
6654         PR tree-optimization/69320
6655         * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
6656         ranged object, do nothing if the RHS constant is not [0..1].
6657         (optimize_stmt): Comparing a boolean ranged object against a
6658         constant outside [0..1] results in a compile-time constant.
6659
6660         * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
6661         test.
6662
6663 2016-01-18  Sandra Loosemore  <sandra@codesourcery.com>
6664
6665         * doc/invoke.texi (Invoking GCC): Add new section to menu.
6666         (Option Summary): Update to reflect new section and moved options.
6667         (C++ Dialect Options): Move -fstats to new section.
6668         (Debugging Options): Move all dump, statistics, and other GCC
6669         developer options to new section.  Rewrite section introduction
6670         and re-order remaining options to put the more basic ones first.
6671         (Optimization Options): Move -fira-verbose and -flto-report* to
6672         new section.
6673         (Developer Options): New section incorporating moved options.
6674         * doc/cppopts.texi (-dM): Update cross-reference.
6675
6676 2016-01-18  Richard Henderson  <rth@redhat.com>
6677
6678         PR target/69176
6679         * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
6680         operands to pseudo only if CSE is expected.  Split long immediate
6681         operands only after reload, and for the stack pointer.
6682         (*add<GPI>3_pluslong): Remove.
6683         (*addsi3_aarch64, *adddi3_aarch64): Merge into...
6684         (*add<GPI>3_aarch64): ... here.  Add r/rk/Upl alternative.
6685         (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
6686         (*add<GPI>3 peepholes): New.
6687         (*add<GPI>3 splitters): New.
6688         * config/aarch64/constraints.md (Upl): New.
6689         * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
6690
6691 2016-01-18  Richard Biener  <rguenther@suse.de>
6692
6693         PR tree-optimization/69297
6694         * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
6695         stmt at most once.
6696         (vect_bb_vectorization_profitable_p): Clear visited flag again.
6697
6698 2016-01-18  Yuri Rumyantsev  <ysrumyan@gmail.com>
6699
6700         PR middle-end/68542
6701         * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
6702         of mixind vector and scalar types.
6703         (fold_relational_const): Add handling of vector
6704         comparison with boolean result.
6705         * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
6706         comparison of vector operands with boolean result for EQ/NE only.
6707         (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
6708         (verify_gimple_cond): Likewise.
6709         * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
6710         valid type of VAL.
6711
6712 2016-01-18  Joseph Myers  <joseph@codesourcery.com>
6713
6714         * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
6715         !TARGET_OCTEON.
6716
6717 2016-01-18  Richard Biener  <rguenther@suse.de>
6718
6719         PR middle-end/69308
6720         * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
6721
6722 2016-01-18  Tom de Vries  <tom@codesourcery.com>
6723
6724         * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
6725
6726 2016-01-18  Tom de Vries  <tom@codesourcery.com>
6727
6728         * omp-low.c (set_oacc_fn_attrib): Make extern.
6729         * omp-low.h (set_oacc_fn_attrib): Declare.
6730         * tree-parloops.c (struct reduction_info): Add reduc_addr field.
6731         (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
6732         (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
6733         Add and handle function parameter oacc_kernels_p.
6734         (find_reduc_addr, get_omp_data_i_param): New function.
6735         (ref_conflicts_with_region, oacc_entry_exit_ok_1)
6736         (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
6737         (parallelize_loops): Add and handle function parameter oacc_kernels_p.
6738         Calculate dominance info.  Skip loops that are not in a kernels region
6739         in oacc_kernels_p mode.  Skip inner loops of parallelized loops.
6740         (pass_parallelize_loops::execute): Call parallelize_loops with
6741         oacc_kernels_p argument.
6742         (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
6743         New member function.
6744         (pass_parallelize_loops::bool oacc_kernels_p): New member var.
6745         * passes.def: Add argument to pass_parallelize_loops instantation.
6746
6747 2016-01-18  Tom de Vries  <tom@codesourcery.com>
6748
6749         * tree-parloops.c (pass_parallelize_loops::execute): Allow
6750         pass_parallelize_loops to be run outside the loop pipeline.
6751
6752 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
6753
6754         * tree-scalar-evolution.c (follow_copies_to_constant): New.
6755         (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
6756
6757 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
6758
6759         PR target/63679
6760         * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
6761         using get_ref_base_and_extent.
6762         (equal_mem_array_ref_p): New.
6763         (hashable_expr_equal_p): Add call to previous.
6764
6765 2016-01-18  Alan Lawrence  <alan.lawrence@arm.com>
6766
6767         PR target/63679
6768         * tree-sra.c (disqualified_constants, constant_decl_p): New.
6769         (sra_initialize): Allocate disqualified_constants.
6770         (sra_deinitialize): Free disqualified_constants.
6771         (disqualify_candidate): Update disqualified_constants when appropriate.
6772         (create_access): Scan for constant-pool entries as we go along.
6773         (scalarizable_type_p): Add check against type_contains_placeholder_p.
6774         (maybe_add_sra_candidate): Allow constant-pool entries.
6775         (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
6776         (initialize_constant_pool_replacements): New.
6777         (sra_modify_assign): Avoid mangling assignments created by previous,
6778         and don't generate writes into constant pool.
6779         (sra_modify_function_body): Call initialize_constant_pool_replacements.
6780
6781 2016-01-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
6782
6783         * config/i386/i386.c (scalar_to_vector_candidate_p): Support
6784         andnot instruction.
6785         (scalar_chain::convert_op): Likewise.
6786         * config/i386/i386.md (*andndi3_doubleword): New.
6787
6788 2016-01-18  Richard Biener  <rguenther@suse.de>
6789
6790         PR tree-optimization/69170
6791         * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
6792         building a vector from scalar results of a pattern stmt.
6793
6794 2016-01-18  Jakub Jelinek  <jakub@redhat.com>
6795
6796         * haifa-sched.c (autopref_multipass_init): Work around
6797         -Wmaybe-uninitialized warning.
6798
6799 2016-01-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>
6800
6801         * config/arm/arm.c (thumb1_reorg): Check that the comparison is
6802         against the constant 0.
6803
6804 2016-01-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
6805
6806         PR tree-optimization/68799
6807         * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
6808         look up phi candidates in the statement-candidate map.
6809         (phi_add_costs): Likewise.
6810         (record_phi_increments): Likewise.
6811         (phi_incr_cost): Likewise.
6812         (ncd_with_phi): Likewise.
6813         (all_phi_incrs_profitable): Likewise.
6814
6815 2016-01-17  Jakub Jelinek  <jakub@redhat.com>
6816
6817         * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
6818         -Wmaybe-uninitialized warning.
6819
6820 2016-01-16  Sandra Loosemore  <sandra@codesourcery.com>
6821
6822         * doc/invoke.texi (Invoking GCC): Add new section to menu.
6823         (Option Summary): Update to reflect new section and moved options.
6824         (C++ Dialect Options): Move -fvtable-verify and related options.
6825         (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
6826         and profiling-related options.
6827         (Optimization Options): Move profile generation options and
6828         -fstack-protector and related options.
6829         (Instrumentation Options): New section incorporating moved options.
6830         (Code Generation Options): Move -finstrument-functions and
6831         related options, -fstack-check, -fstack-limit*, and -fbounds-check.
6832
6833 2016-01-16  Tom de Vries  <tom@codesourcery.com>
6834
6835         * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
6836
6837 2016-01-16  Tom de Vries  <tom@codesourcery.com>
6838
6839         * omp-low.c (expand_omp_atomic_fetch_op):  Release defs of update stmt.
6840
6841 2016-01-16  Richard Sandiford  <richard.sandiford@arm.com>
6842
6843         * hash-table.h (hash_table::empty): Turn into an inline wrapper
6844         that checks whether the table is already empty.  Rename the
6845         original implementation to...
6846         (hash_table::empty_slot): ...this new private function.
6847
6848 2016-01-15  David Malcolm  <dmalcolm@redhat.com>
6849
6850         PR diagnostic/68899
6851         * diagnostic-show-locus.c (layout::print_source_line): Move x
6852         offset of line until after call to
6853         get_line_width_without_trailing_whitespace.
6854
6855 2016-01-15  Jeff Law  <law@redhat.com>
6856
6857         PR tree-optimization/69270
6858         * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
6859         tree-ssa-dom.c.  Improve test for [0..1] ranve from VRP.
6860         * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
6861         * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
6862         * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
6863         ssa_name_has_boolean_range and constant_boolean_node.
6864
6865 2016-01-15  Vladimir Makarov  <vmakarov@redhat.com>
6866
6867         PR rtl-optimization/69030
6868         * lra-spills.c (remove_pseudos): Check nrefs and make the function
6869         returning bool.
6870         (spill_pseudos): Delete debug insn for dead pseudo.
6871         (lra_spill): Initiate spill_hard_reg and slots memory separately.
6872
6873 2016-01-15  Jiong Wang  <jiong.wang@arm.com>
6874
6875         * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
6876         New.
6877         (TYPES_UNOPUS): Likewise.
6878         * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
6879         builtin type, from UNOP to UNOPUS.
6880         (lbtruncuv4sf): Likewise.
6881         (lbtruncuv2df): Likewise.
6882         (lrounduv2sf): Likewise.
6883         (lrounduv4sf): Likewise.
6884         (lrounduv2df): Likewise.
6885         (lroundusf): Likewise.
6886         (lroundusf): Likewise.
6887         (lceiluv2sf): Likewise.
6888         (lceiluv4sf): Likewise.
6889         (lceiluv2df): Likewise.
6890         (lceilusf): Likewise.
6891         (lceiludf): Likewise.
6892         (lflooruv2sf): Likewise.
6893         (lflooruv4sf): Likewise.
6894         (lflooruv2df): Likewise.
6895         (lfloorusf): Likewise.
6896         (lfloorudf): Likewise.
6897         (lfrintnuv2sf): Likewise.
6898         (lfrintnuv4sf): Likewise.
6899         (lfrintnuv2df): Likewise.
6900         (lfrintnusf): Likewise.
6901         (lfrintnudf): Likewise.
6902         * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
6903         conversion.
6904         (vcvtq_u32_f32): Likewise.
6905         (vcvtq_u64_f64): Likewise.
6906         (vcvta_u32_f32): Likewise.
6907         (vcvtaq_u32_f32): Likewise.
6908         (vcvtaq_u64_f64): Likewise.
6909         (vcvtm_u32_f32): Likewise.
6910         (vcvtmq_u32_f32): Likewise.
6911         (vcvtmq_u64_f64): Likewise.
6912         (vcvtn_u32_f32): Likwise.
6913         (vcvtnq_u32_f32): Likewise.
6914         (vcvtnq_u64_f64): Likewise.
6915         (vcvtp_u32_f32): Likewise.
6916         (vcvtpq_u32_f32): Likewise.
6917         (vcvtpq_u64_f64): Likewise.
6918         (vcvtmd_u64_f64): Likewise.
6919         (vcvtms_u32_f32): Likewise.
6920         (vcvtad_u64_f64): Likewise.
6921         (vcvtas_u32_f32): Likewise.
6922         (vcvtnd_u64_f64): Likewise.
6923         (vcvtns_u32_f32): Likewise.
6924         (vcvtpd_u64_f64): Likewise.
6925         (vcvtps_u32_f32): Likewise.
6926
6927 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6928
6929         * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
6930         CSEL of zero_extended registers.
6931
6932 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6933
6934         * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
6935         Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
6936
6937 2016-01-15  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
6938
6939         * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
6940         false when argument string is not found in the attributes table
6941         at all.
6942
6943 2016-01-15  David Edelsohn  <dje.gcc@gmail.com>
6944
6945         PR target/68609
6946         * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
6947         (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
6948         * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
6949         precision estimate.
6950
6951 2016-01-15  Richard Biener  <rguenther@suse.de>
6952
6953         PR tree-optimization/66856
6954         * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
6955         * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
6956         (vect_create_new_slp_node): Increment stmt reference count.
6957         (vect_get_and_check_slp_defs): Make sure stmts are nor already in
6958         an SLP tree before swapping operands.
6959         (vect_build_slp_tree): Likewise.
6960         (destroy_bb_vec_info): Free stmt info after SLP instances.
6961         * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
6962         * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
6963         (STMT_VINFO_NUM_SLP_USES): New macro.
6964
6965 2016-01-15  Richard Biener  <rguenther@suse.de>
6966
6967         PR debug/69137
6968         * dwarf2out.c (add_linkage_name_raw): New function split out from ...
6969         (add_linkage_name): ... here.
6970         (gen_typedef_die): Use add_linkage_name_raw instead of
6971         add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
6972         if necessary.
6973
6974 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
6975
6976         * gimplify.c (oacc_default_clause): Decode reference and pointer
6977         types for both kernels and parallel regions.
6978
6979 2016-01-15  Richard Sandiford  <richard.sandiford@arm.com>
6980
6981         PR middle-end/69246
6982         * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
6983
6984 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
6985
6986         * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
6987         (convert_scalars_to_vector): Likewise.
6988
6989 2016-01-15  Jonathan Wakely  <jwakely@redhat.com>
6990
6991         * doc/extend.texi (Type Traits): Fix grammar.
6992
6993 2016-01-15  Martin Jambor  <mjambor@suse.cz>
6994
6995         * tree-inline.c (remap_decl): Use existing dclarations if
6996         remapping a type and prevent_decl_creation_for_types.
6997         (replace_locals_stmt): Do an initial remapping of non-VLA typed
6998         decls first.  Do real remapping with
6999         prevent_decl_creation_for_types set.
7000         * tree-inline.h (copy_body_data): New field
7001         prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
7002         padding.
7003
7004 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
7005
7006         * config/s390/s390.opt (mmvcle): More verbose help text.
7007
7008 2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>
7009
7010         * config/s390/s390.opt: Add period to -mzvector option text.
7011
7012 2016-01-15  Richard Biener  <rguenther@suse.de>
7013
7014         PR tree-optimization/68961
7015         * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
7016         of invariants in stores again.
7017
7018 2016-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7019
7020         * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
7021
7022 2016-01-15  Ilya Enkovich  <enkovich.gnu@gmail.com>
7023
7024         * config/i386/i386.c (ix86_expand_branch): Don't split
7025         DI mode xor instruction to SI mode.
7026
7027 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
7028
7029         PR ipa/68148
7030         * ipa-icf.c (sem_function::merge): Virtual functions may become
7031         reachable even if they address is not taken and there are no
7032         idrect calls.
7033
7034 2016-01-15  Jan Hubicka  <hubicka@ucw.cz>
7035
7036         * lto-streamer-out.c (subtract_estimated_size): New function.
7037         (get_symbol_initial_value): Use it.
7038
7039 2016-01-15  Christian Bruel  <christian.bruel@st.com>
7040
7041         PR target/65837
7042         * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
7043         (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
7044         (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
7045         use add_builtin_function_ext_scope instead of add_builtin_function.
7046         (neon_set_p, neon_crypto_set_p): Remove.
7047         (arm_init_builtins): Always call arm_init_neon_builtins and
7048         arm_init_crypto_builtins.
7049         (arm_expand_builtin): Check that builtins are allowed for the arch.
7050         * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
7051         * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
7052         arm_init_neon_builtins call.
7053
7054 2016-01-15  Richard Biener  <rguenther@suse.de>
7055
7056         PR tree-optimization/69117
7057         * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
7058         * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
7059         of the leader conservatively.
7060         (free_scc_vn): Restore original SSA name infos.
7061
7062 2016-01-14  Jeff Law  <law@redhat.com>
7063
7064         PR tree-optimization/69270
7065         * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
7066         single bit of precision, verify it's also unsigned.
7067         (record_edge_info): Use constant_boolean_node rather than fold_convert
7068         to convert boolean_true/boolean_false to the right type.
7069
7070 2016-01-14  Richard Henderson  <rth@redhat.com>
7071
7072         PR rtl-opt/69014
7073         * loop-doloop.c (record_reg_sets): New.
7074         (doloop_optimize): Reject the transform if the sequence
7075         clobbers registers live at the end of the loop block.
7076         (doloop_optimize_loops): Enable df_live if needed.
7077
7078 2016-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
7079
7080         * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
7081         * gcc/config/rs6000/rs6000.c: Likewise.
7082         * gcc/config/rs6000/rs6000.h: Likewise.
7083         * gcc/config/rs6000/rs6000.md: Likewise.
7084         * gcc/doc/extend.texi: Likewsie.
7085
7086 2016-01-14  Jeff Law  <law@redhat.com>
7087
7088         * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
7089         typo.
7090
7091 2016-01-14  Richard Henderson  <rth@redhat.com>
7092
7093         PR c/69272
7094         PR tree-opt/68964
7095         * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
7096         * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
7097         instead of builtin_decl_declared_p to test for declaration.
7098
7099 2016-01-14  Nicklas Bo Jensen  <nbjensen@gmail.com>
7100
7101         * doc/loop.texi (Loop Analysis and Representation): Document
7102         loop_depth function.
7103
7104 2016-01-14  Tom de Vries  <tom@codesourcery.com>
7105
7106         PR tree-optimization/68773
7107         * omp-low.c (expand_omp_target): Don't set force_output.
7108         * varpool.c (varpool_node::get_create): Same.
7109         * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
7110         offload_funcs with force_output.
7111
7112 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
7113
7114         PR debug/69244
7115         * lra-eliminations.c (move_plus_up): Don't change anything if either
7116         the outer or inner subreg mode is not MODE_INT.
7117         * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
7118         integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
7119
7120 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
7121
7122         * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
7123         reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
7124         reduc_uplus_@var{m}): Remove.
7125         * expr.c (expand_expr_real_2): Remove expansion path for
7126         reduc_[us](min|max|plus) optabs.
7127         * optabs-tree.c (scalar_reduc_to_vector): Remove.
7128         * optabs-tree.h (scalar_reduc_to_vector): Remove.
7129         * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
7130         reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
7131         * tree-vect-loop.c (vectorizable_reduction): Remove test for
7132         reduc_[us](min|max|plus) optabs.
7133
7134 2016-01-14  Alan Lawrence  <alan.lawrence@arm.com>
7135
7136         * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
7137         (reduc_plus_scal_v2sf): New.
7138         (reduc_smax_v2sf): Rename to...
7139         (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
7140         (reduc_smin_v2sf): Rename to...
7141         (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
7142
7143 2016-01-14  Jan Hubicka  <hubicka@ucw.cz>
7144
7145         * alias.c (compare_base_symbol_refs): New function.
7146         (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
7147         it.
7148
7149 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
7150
7151         PR middle-end/68146
7152         PR tree-optimization/69155
7153         * tree-complex.c: Include cfganal.h.
7154         (phis_to_revisit): New variable.
7155         (extract_component): Add phiarg_p argument.  Assert that returned
7156         SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
7157         (update_phi_components): Partly rewrite to use loop over real/imag
7158         components instead of code duplication.  If extract_component returns
7159         SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
7160         create_tmp_reg into the PHI node instead, and mention the phi triplet
7161         in phis_to_revisit.
7162         (tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
7163         in phis_to_revisit at the end.
7164
7165 2016-01-14  Richard Biener  <rguenther@suse.de>
7166
7167         PR tree-optimization/68060
7168         * tree-vect-loop.c (vect_is_simple_reduction): Check the
7169         outer loop reduction is only used in the inner loop before
7170         detecting a double reduction.
7171
7172 2016-01-14  Jakub Jelinek  <jakub@redhat.com>
7173
7174         PR target/68269
7175         * combine.c (expand_field_assignment): Punt if compute_mode is
7176         unsupported scalar mode.
7177
7178 2016-01-14  Richard Biener  <rguenther@suse.de>
7179
7180         PR tree-optimization/66856
7181         * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
7182         SLP node only if it built successfully.
7183         (vect_analyze_slp_instance): Adjust.
7184
7185 2016-01-14  Jeff Law  <law@redhat.com>
7186
7187         PR tree-optimization/69270
7188         * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
7189         (record_edge_info): Use it.  Convert boolean_{true,false}_node
7190         to the type of op0.
7191
7192 2016-01-13  Jan Hubicka  <hubicka@ucw.cz>
7193
7194         PR ipa/66487
7195         * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
7196         use block_ultimate_origin
7197         (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
7198
7199 2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
7200
7201         * doc/invoke.texi (Submodel Options): Rename section to
7202         "Machine-Dependent Options" to better reflect its content.
7203         Rewrite introductory text to remove archaic CPU names.
7204         Update references.
7205
7206 2016-01-13  Sandra Loosemore  <sandra@codesourcery.com>
7207
7208         * doc/invoke.texi (Code Gen Options): Move section up in file,
7209         before target-specific options.  Update menu and option summary
7210         to reflect the new section ordering.
7211
7212 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
7213
7214         * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
7215         (C++ Dialect Options): Add cross-reference to -std option.
7216         * doc/standards.texi (C++ Language): Document C++14 support.
7217
7218 2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
7219
7220         * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
7221         for pack/unpack functions for __ibm128.
7222         (PACK_IF): Likewise.
7223         (UNPACK_IF): Likewise.
7224
7225         * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
7226         support for __ibm128 pack/unpack functions.
7227         (rs6000_invalid_builtin): Likewise.
7228         (rs6000_init_builtins): Likewise.
7229         (rs6000_opt_masks): Likewise.
7230
7231         * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
7232         (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
7233         functions
7234         (RS6000_BTM_COMMON): Likewise.
7235
7236         * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
7237         (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
7238         disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
7239         128-bit floating point.  Add support for the double values to be
7240         in Altivec registers for TF/IF packing and unpacking, but restrict
7241         TD packing sub-fields to be FPR registers.  Don't allow overlapped
7242         register support for packing.  Allow pack inputs to be memory
7243         locations.  Don't build generator functions for unpack<mode>_dm
7244         and unpack<mode>_nodm.
7245         (unpack<mode>_dm): Likewise.
7246         (unpack<mode>_nodm): Likewise.
7247         (pack<mode>): Likewise.
7248
7249         * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
7250         built-in functions to pack/unpack explicit __ibm128 values.
7251         (__builtin_unpack_ibm128): Likewise.
7252
7253         * doc/extend.texi (PowerPC Built-in Functions): Document
7254         __builtin_pack_ibm128 and __builtin_unpack_ibm128.
7255
7256 2016-01-13  Bernd Schmidt  <bschmidt@redhat.com>
7257
7258         PR c/66208
7259         * c-common.c (check_function_nonnull): Remove unnecessary declaration.
7260         Add new arg loc and pass it down as context.
7261         (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
7262         to the location to use for the warning.
7263         (check_function_arguments): New arg loc.  All callers changed.  Pass
7264         it to check_function_nonnull.
7265         * c-common.h (check_function_arguments): Adjust declaration.
7266
7267 2016-01-13  Jakub Jelinek  <jakub@redhat.com>
7268
7269         PR tree-optimization/69156
7270         * gimple.c (validate_type): Removed.
7271         (gimple_builtin_call_types_compatible_p): Use
7272         useless_type_conversion_p instead of validate_type.
7273         * value-prof.c (gimple_stringop_fixed_value): Fold
7274         icall_size to correct type.
7275
7276 2016-01-13  Jonathan Wakely  <jwakely@redhat.com>
7277
7278         * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
7279         effects.
7280
7281 2016-01-13  Richard Henderson  <rth@redhat.com>
7282
7283         PR tree-opt/68964
7284         * target.def (builtin_tm_load, builtin_tm_store): Remove.
7285         * config/i386/i386.c (ix86_builtin_tm_load): Remove.
7286         (ix86_builtin_tm_store): Remove.
7287         (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
7288         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
7289         * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
7290         (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
7291         * doc/tm.texi: Rebuild.
7292
7293         * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
7294         (BUILT_IN_TM_MEMCPY_RTWN): New.
7295         * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
7296         fallback from vector to integer helpers.
7297         (build_tm_load): Handle vector types directly, instead of
7298         via target hook.
7299         (build_tm_store): Likewise.
7300         (expand_assign_tm): Prepare for register types not handled by
7301         the above.  Copy them to memory and use memcpy.
7302         * tree.c (tm_define_builtin): New.
7303         (find_tm_vector_type): New.
7304         (build_tm_vector_builtins): New.
7305         (build_common_builtin_nodes): Call it.
7306
7307 2016-01-13  Uros Bizjak  <ubizjak@gmail.com>
7308
7309         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
7310         TARGET_SSE_MATH without TARGET_SSE2.  Rewrite.
7311
7312 2016-01-13  Tom de Vries  <tom@codesourcery.com>
7313
7314         PR tree-optimization/69169
7315         * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
7316         handled_struct_type param.
7317         (create_variable_info_for, intra_create_variable_infos): Call
7318         create_variable_info_for_1 with extra arg.
7319
7320 2016-01-13  Yvan Roux  <yvan.roux@linaro.org>
7321
7322         * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
7323         and "armv8.1-a+crc" entries.
7324
7325 2016-01-13  Alexander Fomin  <alexander.fomin@intel.com>
7326
7327         PR target/69228
7328         * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
7329         Change first operand predicate from register_or_constm1_operand
7330         to register_operand.
7331         (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
7332         (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
7333         (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
7334         (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
7335         (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
7336         (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
7337         (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
7338         * config/i386/i386.c (ix86_expand_builtin): Remove first operand
7339         comparison with constm1_rtx from vec_prefetch_gen part.
7340
7341 2016-01-13  Richard Biener  <rguenther@suse.de>
7342
7343         PR tree-optimization/69013
7344         * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
7345         Exchange assert for a test.
7346
7347 2016-01-13  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
7348
7349         PR target/69247
7350         * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
7351
7352 2016-01-13  Richard Biener  <rguenther@suse.de>
7353
7354         PR tree-optimization/69242
7355         * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
7356         assert with a check.
7357
7358 2016-01-13  Richard Biener  <rguenther@suse.de>
7359
7360         PR tree-optimization/69186
7361         * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
7362         Properly guard vect_update_misalignment_for_peel call.
7363
7364 2016-01-12  Jeff Law  <law@redhat.com>
7365
7366         PR tree-optimization/pr67755
7367         * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
7368         "need_profile_correction".
7369         (thread_block_1): Initialize new field to false by default.  If we
7370         have multiple thread paths through a common joiner to different
7371         final targets, then set new field to true.
7372         (compute_path_counts): Only do count adjustment when it's really
7373         needed.
7374
7375 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
7376
7377         * doc/invoke.texi (Spec Files): Move section down in file, past
7378         all command-line option descriptions.
7379
7380 2016-01-12  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
7381
7382         PR middle-end/54809
7383         * doc/gty.texi: Remove documentation of mark_hook.
7384         * gengtype.c (struct write_types_data): Remove code to support
7385         mark_hook attribute.
7386         (walk_type): Likewise.
7387         (write_func_for_structure): Likewise.
7388
7389 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
7390
7391         * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
7392         Directory Options, and -specs= to Overall Options.
7393         (Overall Options): Adjust similarly.  Reorder to group related
7394         options together.  Make -specs= cross-reference the spec file details.
7395         (Directory Options): Adjust similarly.
7396
7397 2016-01-12  Jeff Law  <law@redhat.com>
7398
7399         * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
7400
7401 2016-01-12  Olivier Hainque  <hainque@adacore.com>
7402
7403         * gcc.c (spec_undefvar_allowed): New global.
7404         (process_command): Set to true when running for --version or --help,
7405         alone or together.
7406         (getenv_spec_function): When the variable is not defined, use the
7407         variable name as the variable value if we're allowed not to issue
7408         a fatal error.
7409
7410 2016-01-12  Bin Cheng  <bin.cheng@arm.com>
7411
7412         PR tree-optimization/68911
7413         * tree-vrp.c (adjust_range_with_scev): Check overflow in range
7414         information computed for expression "init + nit * step".
7415
7416 2016-01-12  Sandra Loosemore  <sandra@codesourcery.com>
7417
7418         * doc/invoke.texi (Invoking GCC): Copy-edit.  Incorporate information
7419         about name of GCC executable.  Remove deleted node from menu.
7420         (Directory Options) <-B>: Remove cross-reference to deleted node.
7421         (Target Options): Delete section.
7422
7423 2016-01-12  Christian Bruel  <christian.bruel@st.com>
7424
7425         PR target/69180
7426         * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
7427         for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
7428
7429 2016-01-12  Jakub Jelinek  <jakub@redhat.com>
7430
7431         PR target/69198
7432         * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
7433         aligned_mem is properly set for AVX512-VL floating point masked
7434         stores.
7435
7436         PR target/69175
7437         * ifcvt.c (cond_exec_process_if_block): When removing the last
7438         insn from then_bb, remove also any possible barriers that follow it.
7439
7440 2016-01-12  H.J. Lu  <hongjiu.lu@intel.com>
7441
7442         PR target/68456
7443         PR target/69226
7444         * config/i386/iamcu.h (SIZE_TYPE): New macro.
7445         (PTRDIFF_TYPE): Likewise.
7446         (WCHAR_TYPE): Likewise.
7447         (WCHAR_TYPE_SIZE): Likewise.
7448         (STDINT_LONG32): Likewise.
7449
7450 2016-01-12  Richard Biener  <rguenther@suse.de>
7451
7452         PR tree-optimization/69053
7453         * tree-vect-loop.c (get_initial_def_for_reduction): Properly
7454         convert initial value for cond reductions.
7455
7456 2016-01-12  Richard Biener  <rguenther@suse.de>
7457
7458         PR tree-optimization/69007
7459         * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
7460         widen_sum after dot_prod and sad.
7461
7462 2016-01-12  Richard Biener  <rguenther@suse.de>
7463
7464         PR tree-optimization/69168
7465         * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
7466         pattern stmt SLP type.
7467         * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
7468         end up unused so cope with that case.
7469
7470 2016-01-12  Richard Biener  <rguenther@suse.de>
7471
7472         PR tree-optimization/69157
7473         * tree-vect-stmts.c (vectorizable_mask_load_store): Check
7474         stmts def type only during analyze phase.
7475         (vectorizable_call): Likewise.
7476         (vectorizable_simd_clone_call): Likewise.
7477         (vectorizable_conversion): Likewise.
7478         (vectorizable_assignment): Likewise.
7479         (vectorizable_shift): Likewise.
7480         (vectorizable_operation): Likewise.
7481         (vectorizable_store): Likewise.
7482         (vectorizable_load): Likewise.
7483
7484 2016-01-12  Richard Biener  <rguenther@suse.de>
7485
7486         PR tree-optimization/69174
7487         * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
7488         space.
7489         (vectorizable_load): Properly compute the number of loads needed
7490         for permuted strided SLP loads and do not spuriously assign
7491         to SLP_TREE_VEC_STMTS.
7492
7493 2016-01-12  Andris Pavenis  <andris.pavenis@iki.fi>
7494
7495         * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
7496         (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
7497         (MD_EXEC_PREFIX): Remove.
7498         (MD_STARTFILE_PREFIX) Removee.
7499         (FILE_NAME_ABSOLUTE_P): Remove.
7500         (CPP_SPEC): Do not read macros from sys/version.h.
7501         (LINK_COMMAND_SPEC): Remove.
7502         (LOCAL_INCLUDE_DIR): Remove.
7503         (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
7504         (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
7505         (POST_LINK_SPEC): Define to invoke stubify after linker
7506         (LIBSTDCXX): Remove define
7507         (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
7508         (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
7509         (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
7510         (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
7511         (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
7512         (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
7513         (i386_djgpp_asm_named_section): Add propotype of new procedure
7514
7515         * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
7516         (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
7517         (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
7518         in config/i386/djgpp.h).
7519         (STANDARD_STARTFILE_PREFIX_2): Define identical to
7520         STANDARD_STARTFILE_PREFIX_1.
7521         (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
7522         (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
7523         installation errors.
7524         (MAX_OFILE_ALIGNMENT): Define to 128.
7525         (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
7526
7527         * config/i386/djgpp.c: New file. Add implementation of
7528         i386_djgpp_asm_named_section.
7529
7530         * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
7531
7532         * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
7533         Add rule for building djgpp.o.
7534
7535 2016-01-11  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7536
7537         * config/rs6000/rs6000.c (v2df_reduction_p): New function.
7538         (rtx_is_swappable_p): Reductions are swappable.
7539         (insn_is_swappable_p): V2DF reductions are swappable.
7540
7541 2016-01-11  John David Anglin  <danglin@gcc.gnu.org>
7542
7543         * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
7544         reloads for other unsupported memory operands.
7545
7546 2016-01-12  Kugan Vivekanandarajah  <kuganv@linaro.org>
7547             Jim Wilson  <jim.wilson@linaro.org>
7548
7549         PR target/69194
7550         * config/arm/arm-builtins.c (arm_expand_neon_args): Call
7551         copy_to_mode_reg instead of force_reg.
7552
7553 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
7554
7555         PR target/69225
7556         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
7557         TARGET_80387 is true.
7558
7559 2016-01-11  Jakub Jelinek  <jakub@redhat.com>
7560
7561         PR target/69071
7562         * lra-eliminations.c (move_plus_up): Only move plus up
7563         if subreg of the constant can be simplified into constant
7564         and use the simplified subreg of the constant instead of
7565         the original constant.
7566
7567         * fold-const.c (fold_convertible_p): Don't return true
7568         for conversion of VECTOR_TYPE to same sized integral type.
7569         (fold_convert_loc): Fix up formatting.  Fold conversion of
7570         VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
7571         instead of NOP_EXPR.
7572
7573         PR tree-optimization/69214
7574         * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
7575         innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
7576         Formatting fix.
7577
7578         PR tree-optimization/69207
7579         * tree-vect-slp.c (vect_get_constant_vectors): For
7580         VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
7581         fold_convertible_p to vector_type's element type, and always
7582         use VCE for non-VECTOR_BOOLEAN_TYPE_P.
7583
7584 2016-01-11  Richard Biener  <rguenther@suse.de>
7585
7586         PR tree-optimization/69173
7587         * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
7588         fixup the cycle if all stmts are in a pattern.
7589
7590 2016-01-11  Uros Bizjak  <ubizjak@gmail.com>
7591
7592         PR middle-end/68999
7593         * alias.c (base_alias_check): Move check for addresses with
7594         alignment ANDs before the call for compare_base_decls.
7595         (memrefs_conflict_p): Return -1 for different decls
7596         that went through alignment adjustments.
7597
7598 2016-01-11  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7599
7600         PR rtl-optimization/68796
7601         * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
7602         * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
7603         and QImode comparisons against zero with CC_NZmode.
7604         * config/aarch64/iterators.md (short_mask): New mode_attr.
7605
7606 2016-01-11  H.J. Lu  <hongjiu.lu@intel.com>
7607
7608         * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
7609         (<avx512>_store<mode>_mask): Likewise.
7610
7611 2016-01-11  Bernd Schmidt  <bschmidt@redhat.com>
7612             Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
7613
7614         PR rtl-optimization/68841
7615         * ifcvt.c (struct noce_if_info): Add orig_x field.
7616         (bbs_ok_for_cmove_arith): Add to_rename parameter.
7617         Don't record conflicts on to_rename if it's present.
7618         Allow memory destinations in sets.
7619         (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
7620         blocks, passing orig_x to the checks.
7621         (noce_process_if_block): Set if_info->orig_x appropriately.
7622
7623 2016-01-11  Tom de Vries  <tom@codesourcery.com>
7624
7625         PR tree-optimization/69069
7626         * tree-parloops.c (create_parallel_loop): Add missing phi args.
7627
7628 2016-01-11  Yuri Rumyantsev  <ysrumyan@gmail.com>
7629
7630         PR rtl-optimization/68920
7631         * config/i386/i386.c (ix86_option_override_internal): Restrict number
7632         of conditional moves for  RTL if-conversion to 1 for
7633         TARGET_ONE_IF_CONV_INSN.
7634         * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
7635         * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
7636         * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
7637         parameter to restirct number of conditional moves for
7638         RTL if-conversion.
7639         * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
7640         * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
7641         conditionl moves.
7642
7643 2016-01-11  Alexandre Oliva  <aoliva@redhat.com>
7644
7645         PR bootstrap/69123
7646         * var-tracking.c (drop_overlapping_mem_locs): Operate on all
7647         onepart vars.  Fix typo in comment.  Fix reversed condition in
7648         unshare test.
7649         (dataflow_set_remove_mem_locs): Operate on all onepart vars.
7650
7651         PR bootstrap/69123
7652         * var-tracking.c (dump_onepart_variable_differences): New.
7653         (dataflow_set_different): If a detailed dump is requested,
7654         delay early returns and dump differences between onepart
7655         variables present before and after, and added variables.
7656
7657 2016-01-11  Ilya Enkovich  <enkovich.gnu@gmail.com>
7658
7659         PR target/69010
7660         * expr.c (expand_expr_real_1): For boolean vector constants
7661         with a scalar mode use const_scalar_mask_from_tree.
7662         (const_scalar_mask_from_tree): New.
7663         * optabs.c (expand_vec_cond_mask_expr): Use mask mode
7664         assigned to a mask type to handle constants.
7665
7666 2016-01-11  Martin Jambor  <mjambor@suse.cz>
7667
7668         PR ipa/69044
7669         * ipa-cp.c (estimate_local_effects): Do not clone for removal of
7670         useless parameters if we cannot change function signature.
7671
7672 2016-01-11  Martin Jambor  <mjambor@suse.cz>
7673
7674         PR ipa/66616
7675         * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
7676         flag.
7677
7678 2016-01-11  Tom de Vries  <tom@codesourcery.com>
7679
7680         PR tree-optimization/69109
7681         * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
7682         latch with phi.
7683
7684 2016-01-11  Tom de Vries  <tom@codesourcery.com>
7685
7686         PR tree-optimization/69108
7687         * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
7688         res is not used in a phi.
7689
7690 2016-01-11  Yury Gribov  <y.gribov@samsung.com>
7691
7692         PR 67425
7693         * common.opt (frandom-seed): Fix parameter name.
7694         * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
7695
7696 2016-01-11  Tom de Vries  <tom@codesourcery.com>
7697
7698         PR tree-optimization/69058
7699         * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
7700         not supported.
7701
7702 2016-01-11  Andrew Burgess  <andrew.burgess@embecosm.com>
7703
7704         * config/arc/arc.opt (mdiv-rem): Add period to the end.
7705         (mcode-density): Likewise.
7706
7707 2016-01-10  Tom de Vries  <tom@codesourcery.com>
7708
7709         PR tree-optimization/69062
7710         * tree-parloops.c (loop_has_phi_with_address_arg): New function.
7711         (parallelize_loops): Don't paralelize loop that has phi with address
7712         arg.
7713
7714 2016-01-10  Tom de Vries  <tom@codesourcery.com>
7715
7716         PR tree-optimization/69039
7717         * tree-parloops.c (try_create_reduction_list): Only allow single exit
7718         phi for reduction.
7719
7720 2016-01-09  John David Anglin  <danglin@gcc.gnu.org>
7721
7722         PR middle-end/68743
7723         * match.pd: Require target has function_c99_misc before doing
7724         truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
7725
7726 2016-01-09  Gerald Pfeifer  <gerald@pfeifer.com>
7727
7728         * configure.ac (isl_options_set_schedule_serialize_sccs): Also
7729         use GMPINC.
7730         * configure: Regenerate.
7731
7732 2016-01-09  Jakub Jelinek  <jakub@redhat.com>
7733
7734         PR middle-end/50865
7735         PR tree-optimization/69097
7736         * fold-const.h (expr_not_equal_to): New prototype.
7737         * fold-const.c: Include stringpool.h and tree-ssanames.h.
7738         (expr_not_equal_to): New function.
7739         * match.pd (X % -Y is the same as X % Y): Don't optimize
7740         unless X is known not to be equal to minimum or Y is known
7741         not to be equal to -1.
7742         * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
7743         fold TRUNC_MOD_EXPR if the second argument is not a power of two.
7744         (simplify_stmt_using_ranges): Adjust caller.
7745         (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
7746         substitute_and_fold.
7747
7748 2016-01-09  Jan Hubicka  <hubicka@ucw.cz>
7749
7750         * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
7751         w/o DECL_NAME.
7752
7753 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
7754
7755         PR tree-optimization/69167
7756         * gimple-fold.c (replace_stmt_with_simplification): Also punt if
7757         new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
7758         ops[0] comparison.
7759         * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
7760
7761 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
7762             Richard Biener  <rguenther@suse.de>
7763
7764         PR tree-optimization/68707
7765         * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
7766         instances that can be handled via vect_load_lanes.
7767
7768 2016-01-08  Uros Bizjak  <ubizjak@gmail.com>
7769
7770         * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
7771         if we can't determine address equivalence.
7772         * alias.c (compare_base_decl): Update for changed return value of
7773         symtab_node::equal_address_to.
7774
7775 2016-01-08  Jason Merrill  <jason@redhat.com>
7776
7777         PR c++/68983
7778         PR c++/67557
7779         * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
7780         * expr.c (store_field): Not here.
7781         * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
7782         call with TREE_ADDRESSABLE type.
7783         * tree-cfg.c (verify_gimple_call): Adjust.
7784
7785 2016-01-08  Olivier Hainque  <hainque@adacore.com>
7786
7787         * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
7788         libc_internal.
7789
7790 2016-01-08  Alan Lawrence  <alan.lawrence@arm.com>
7791
7792         * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
7793         (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
7794         (reduc_smin_v2sf): Rename to...
7795         (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
7796         (reduc_splus_v2sf): Rename to...
7797         (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
7798
7799 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
7800
7801         PR tree-optimization/69162
7802         * gimplify.c (gimplify_va_arg_expr): Encode original type of
7803         valist argument in another argument.
7804         (gimplify_modify_expr): Adjust for the above change.  Cleanup.
7805         * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
7806         to determine the va_list type, build a MEM_REF instead of
7807         build_fold_indirect_ref.
7808
7809         PR tree-optimization/69172
7810         * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
7811         gimple_build.
7812
7813 2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
7814
7815         PR tree-optimization/67781
7816         * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
7817         and cmpnop in two steps: first the ones not accessed in original
7818         gimple expression in a endian independent way and then the ones not
7819         accessed in the final result in an endian-specific way.
7820
7821 2016-01-08  Jakub Jelinek  <jakub@redhat.com>
7822
7823         PR tree-optimization/69083
7824         * tree-vect-slp.c (vect_get_constant_vectors): For
7825         VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
7826         element type.  If op is fold_convertible_p to vector_type's element
7827         type, use NOP_EXPR instead of VCE.
7828
7829 2016-01-08  Segher Boessenkool  <segher@kernel.crashing.org>
7830
7831         PR rtl-optimization/67778
7832         PR rtl-optimization/68634
7833         PR rtl-optimization/68909
7834         * shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
7835         block from the stack until done with it.  Remove a superfluous
7836         bitmap set.  Remove a superfluous bitmap test.
7837
7838 2016-01-07  Martin Sebor  <msebor@redhat.com>
7839
7840         PR c/68966
7841         * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
7842         constraint on the type of arguments.
7843
7844 2016-01-07  Andreas Tobler  <andreast@gcc.gnu.org>
7845
7846         * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
7847         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
7848         unaligned_access on the gcc_options set.
7849         * config/arm/arm.c (arm_option_override_internal): Use
7850         SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
7851
7852 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
7853
7854         PR target/69140
7855         * config/i386/i386.c (ix86_frame_pointer_required): Enable
7856         frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
7857
7858 2016-01-07  Uros Bizjak  <ubizjak@gmail.com>
7859
7860         Revert
7861         2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
7862
7863         PR target/69140
7864         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
7865         depending on frame_pointer_needed before remaining integer and SSE
7866         registers are saved.
7867
7868 2016-01-07  Sandra Loosemore  <sandra@codesourcery.com>
7869
7870         PR 1078
7871         * doc/extend.texi (Nvidia PDX Function Attributes): New section.
7872
7873 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
7874
7875         PR target/69171
7876         * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
7877         Use the "xBm" constraint.
7878         (float<sseintvecmodelower><mode>2<mask_name><round_name):
7879         Likewise.
7880         (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
7881         (sse_cvtsi2ssq<round_name>): Likewise.
7882         (sse_cvtss2si<round_name>): Likewise.
7883         (sse_cvtss2siq<round_name>): Likewise.
7884         (sse2_cvtsi2sdq<round_name>): Likewise.
7885         (sse2_cvtsd2si<round_name>): Likewise.
7886         (sse2_cvtsd2siq<round_name>): Likewise.
7887         * config/i386/subst.md (round_nimm_scalar_predicate): New
7888         predicate.
7889
7890 2015-12-15  Bernd Schmidt  <bschmidt@redhat.com>
7891
7892         PR middle-end/67639
7893         * varasm.c (make_decl_rtl): Mark invalid register vars as
7894         DECL_EXTERNAL.
7895
7896         PR rtl-optimization/66206
7897         * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
7898         All callers changed.
7899
7900 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
7901
7902         PR tree-optimization/69141
7903         * tree-ssa-pre.c: Include langhooks.h.
7904         (eliminate_dom_walker::before_dom_children): Use
7905         lang_hooks.decl_printable_name instead of
7906         cgraph_node::get ()->name ().
7907
7908         PR middle-end/68960
7909         * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
7910         it and DECL_ALIGN too.
7911
7912 2016-01-06  Robert Suchanek  <robert.suchanek@imgtec.com>
7913
7914         * config/mips/mips-ftypes.def: Sort to lexicographical order.
7915
7916 2016-01-06  Uros Bizjak  <ubizjak@gmail.com>
7917
7918         PR target/69140
7919         * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
7920         depending on frame_pointer_needed before remaining integer and SSE
7921         registers are saved.
7922
7923 2015-01-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
7924
7925         * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
7926         mode iterator with VSX_M2.
7927         (*p9_vecstore_<mode>): Likewise.
7928         (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
7929         (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
7930         (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
7931         (define_split for VSX_LE128 stores): Likewise.
7932         (define_peephole2 for TImode LE swaps): Likewise.
7933         (define_split for VSX_LE128 post-reload stores): Likewise.
7934
7935 2016-01-06  Marek Polacek  <polacek@redhat.com>
7936
7937         PR sanitizer/69099
7938         * convert.c (convert_to_integer_1): Adjust call to
7939         ubsan_instrument_float_cast.  Use NULL_TREE instead of NULL.
7940         * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter.  Use
7941         EXPR instead of ARG.
7942         * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
7943
7944 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
7945
7946         PR 1078
7947         * doc/extend.texi (RL78 Variable Attributes): New section.
7948
7949 2016-01-05  Marek Polacek  <polacek@redhat.com>
7950
7951         PR c/69104
7952         * builtins.c (get_memmodel): Use expansion point location rather than
7953         the input location.  Call warning_at rather than warning.
7954         (expand_builtin_atomic_compare_exchange): Likewise.
7955         (expand_builtin_atomic_load): Likewise.
7956         (expand_builtin_atomic_store): Likewise.
7957         (expand_builtin_atomic_clear): Likewise.
7958
7959 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
7960
7961         PR target/68991
7962         * config/i386/i386.c (ix86_expand_vector_logical_operator):
7963         Replace nonimmediate_operand with vector_operand.
7964         * config/i386/predicates.md (vector_operand): New predicate.
7965         (general_vector_operand): Replace nonimmediate_operand with
7966         vector_operand.
7967         * config/i386/sse.md: Replace nonimmediate_operand with
7968         vector_operand and m constraint with Bm constraint on SSE
7969         patterns with 16-byte memory operand.
7970         * config/i386/subst.md (round_nimm_predicate): Replace
7971         nonimmediate_operand with vector_operand.
7972         (round_saeonly_nimm_predicate): Likewise.
7973         (round_saeonly_nimm_scalar_predicate): New.
7974
7975 2016-01-05  H.J. Lu  <hongjiu.lu@intel.com>
7976
7977         PR target/68991
7978         * config/i386/constraints.md (Bm): New constraint.
7979         * config/i386/predicates.md (vector_memory_operand): New
7980         predicate.
7981         * config/i386/sse.md: Replace xm with xBm in plusminus and
7982         any_logic patterns.
7983
7984 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
7985
7986         PR 1078
7987         * doc/extend.texi (V850 Function Attributes): New section.
7988         (V850 Variable Attributes): New section.
7989
7990 2016-01-05  Sandra Loosemore  <sandra@codesourcery.com>
7991
7992         PR 1078
7993         * doc/extend.texi (MicroBlaze Function Attributes): Document
7994         interrupt_handler and fast_interrupt attributes.
7995
7996 2016-01-05  Sergei Trofimovich  <siarheit@google.com>
7997
7998         PR other/60465
7999         * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
8000         for local symbolic operands.
8001         * config/ia64/predicates.md (local_symbolic_operand64): New
8002         predicate.
8003
8004 2016-01-05  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
8005
8006         PR rtl-optimization/68651
8007         * combine.c (combine_simplify_rtx): Canonicalize x + x into
8008         x << 1.
8009
8010 2016-01-05  Nathan Sidwell  <nathan@acm.org>
8011
8012         * alias.c (compare_base_decls): Use symtab_node::get.
8013
8014 2016-01-05  Nick Clifton  <nickc@redhat.com>
8015
8016         PR target/68770
8017         * ira-costs.c (copy_cost): Initialise the t_icode field of the
8018         secondary_reload_info structure.
8019
8020         PR target/66655
8021         * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
8022         decls if weak support is available.
8023
8024 2016-01-04  Martin Sebor  <msebor@redhat.com>
8025
8026         * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
8027
8028 2016-01-04  Michael Meissner  <meissner@linux.vnet.ibm.com>
8029
8030         * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
8031         OPTION_MASK_P9_DFORM.
8032
8033         * config/rs6000/constraints.md (wo constraint): New constraint for
8034         ISA 3.0 (power9).
8035
8036         * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
8037         for wo constraint.
8038         (rs6000_init_hard_regno_mode_ok): Likewise.
8039
8040         * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
8041         wo constraint.
8042
8043         * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
8044         expanders not to have constraints.  Add support for ISA 3.0 xxperm
8045         instruction.  Add support for fusing xxlor with xxperm.
8046         (altivec_vperm_<mode>_internal): Likewise.
8047         (altivec_vperm_v8hiv16qi): Likewise.
8048         (altivec_vperm_<mode>v16q): Likewise.
8049         (altivec_vperm_<mode>_uns): Likewise.
8050         (vperm_v8hiv4si): Likewise.
8051         (vperm_v16qiv8hi): Likewise.
8052
8053         * doc/md.texi (RS/6000 constraints): Document wo constraint.
8054
8055 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
8056
8057         Update copyright years.
8058
8059         * gcc.c (process_command): Update copyright notice dates.
8060         * gcov-dump.c (print_version): Ditto.
8061         * gcov.c (print_version): Ditto.
8062         * gcov-tool.c (print_version): Ditto.
8063         * gengtype.c (create_file): Ditto.
8064         * doc/cpp.texi: Bump @copying's copyright year.
8065         * doc/cppinternals.texi: Ditto.
8066         * doc/gcc.texi: Ditto.
8067         * doc/gccint.texi: Ditto.
8068         * doc/gcov.texi: Ditto.
8069         * doc/install.texi: Ditto.
8070         * doc/invoke.texi: Ditto.
8071
8072 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8073
8074         * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
8075         modes larger than TImode as TImode if NEON is not enabled.
8076
8077 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8078
8079         PR target/69100
8080         * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
8081         mode for %f0-%f31 only if TARGET_FPU.
8082
8083 2016-01-04  Eric Botcazou  <ebotcazou@adacore.com>
8084
8085         PR target/69072
8086         * config/sparc/sparc.c (scan_record_type): Take into account subfields
8087         to compute the PACKED_P predicate.
8088         (function_arg_record_value): Minor tweaks.
8089
8090 2016-01-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
8091
8092         * doc/install.texi (--with-multilib-list): Describe the meaning of the
8093         option for arm*-*-* targets.
8094
8095 2016-01-03  Sandra Loosemore  <sandra@codesourcery.com>
8096
8097         * doc/extend.texi (Common Function Attributes): Move docs for
8098         MSP430-specific attributes to....
8099         (MSP430 Function Attributes): ...here.  Delete the redundant
8100         entries and copy-edit the remaining text.
8101         (MSP430 Variable Attributes): Use uniform format for index
8102         entries and add a cross-reference to the corresponding function
8103         attribute docs.
8104
8105 2016-01-03  Vladimír Čunát  <vcunat@gmail.com>
8106
8107         * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
8108         -finite-math typo.
8109         (x86 Options): Likewise.
8110
8111 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
8112
8113         PR 1078
8114
8115         * extend.texi (Common Function Attributes) <no_stack_limit>: New.
8116         * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
8117         to corresponding attribute.
8118
8119 2016-01-01  Sandra Loosemore  <sandra@codesourcery.com>
8120
8121         * doc/extend.texi (Common Function Attributes) <noplt>: Move
8122         to correct alphabetization of table.  Copy-edit and correct
8123         markup.
8124         <stack_protect>: Likewise.
8125         <target_clones>: Likewise.
8126         <simd>: Likewise.
8127         * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
8128         Correct punctuation.
8129         (Code Gen Options) <-fno-plt>: Copy-edit.
8130
8131 2016-01-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8132
8133         PR target/68917
8134         * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
8135         SI values.  Explicitly convert SI to DI and vice-versa.
8136
8137 2016-01-01  Jakub Jelinek  <jakub@redhat.com>
8138
8139         PR tree-optimization/69070
8140         * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
8141         REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
8142
8143         PR sanitizer/69055
8144         * ubsan.c (ubsan_instrument_float_cast): Call
8145         initialize_sanitizer_builtins.
8146
8147         PR target/69015
8148         * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
8149 \f
8150 Copyright (C) 2016 Free Software Foundation, Inc.
8151
8152 Copying and distribution of this file, with or without modification,
8153 are permitted in any medium without royalty provided the copyright
8154 notice and this notice are preserved.