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