tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also max_loop_iterations_int.
[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.